Controllo di Sistemi di Lavorazione Flessibili attraverso un Approccio Orientato agli Agenti
Controllo di Sistemi di Lavorazione Flessibili attraverso un Approccio Orientato agli Agenti

di Andrea Calabria e Fabio Codecà

In questa pagina si cercherà di indicare sommariamente ciò che si è compiuto nel nostro lavoro di tesi. L'obbiettivo è stato quello di analizzare una diversa tipologia di controllo di sistemi manifatturieri rispetto a quella tradizionalmente insegnata nel corso degli studi di Automazione Industriale, in particolare tralasciando la gestione dei sistemi di guida automatica dell'impianto e focalizzando la nostra attenzione sulle macchine e sulle ricette di prodotto.

Il nostro lavoro è iniziato con l'analisi della letteratura attualmente disponibile nell'ambito dei sistemi di controllo di sistemi FMS (Flexible Manufacturing System), cioè sistemi manufatturieri con una forte tendenza alla flessibilità, sia di prodotto, legata alla sua tipologia, che di impianto, legata alle risorse utilizzate nel processo produttivo. Da questa è emersa la tendenza dei ricercatori ad utilizzare concetti propri dell'intelligenza artificiale, che ha condotto i loro sforzi verso nuove strutture di controllo, tra cui spiccano quelle Agent-Based, che utilizzano il concetto di Agente.

Agente

Schema di controllo generale di un Agente


L'agente, come si vede in figura, è un'entità astratta creata intorno all'ambiente, per essa solo parzialmente visibile, che ha funzione di controllo su di questo, o meglio sulla porzione di cui ha visibilità; si osserva che la rappresentazione ricorda il modello tipico di retroazione usata per il controllo, che permette di avere un feedback sullo stato dell'environment a seguito delle operazioni eseguite su di esso, e poter correttamente evolvere sulla base di queste informazioni. Ciò che differenzia profondamente gli agenti da altre entità di controllo sono:
Incentrare l'attenzione sugli obbiettivi che l'impianto richiede, quali flessibilità, robustezza e adattabilità alle esigenze del mercato, ci ha permesso di individuare l'architettura che meglio si adatta ai casi manifatturieri, che è stata individuata in quella proposta da Heragu et al.. L'architettura da lui proposta è di tipo ibrida, con tre livelli gerarchici di agenti: quello inferiore, quello intermedio e quello superiore. In figura sono indicati i differenti agenti presenti nella struttura del controllo e in particolare i loro obbiettivi e il loro range di osservazione rispetto al sistema globale.

Agenti

Scope e Goal degli agenti dell'architettura

E' importante sottolineare che il sistema di controllo si basa su di un particolare protocollo di negoziazione, mostrato in figura, che permette agli agenti di individuare, comunicando tra loro, la soluzione migliore al problema lavorativo che devono affrontare, senza portare il sistema in situazioni di instabilità; funzionalità questa che viene svolta in particolare dall'agente cella.

Agenti

Protocollo di negoziazione degli agenti dell'architettura

Per poter fornire un insieme completo di strumenti necessari per modellizzare il sistema di controllo si è analizzata la metologia di identificazione degli agenti proposta da Bussman et al., che nel nostro caso permette di individuare gli agenti che compongono il livello più basso della struttura di controllo, e si sono proposti dei modelli ad oggetti per gli agenti che costituiscono l'architettura individuando appropriate soluzioni che permettano di conferire loro le caratteristiche tipiche di queste entità.

Punto d'arrivo del nostro lavoro è stato l'applicazione delle tecniche individuate ad un particolare sistema di controllo manifatturiero, analizzato durante il nostro corso di studi. Al fine di valutarne pregi e difetti è stato prima proposto il sistema di controllo sviluppato secondo un approccio tradizionale e quindi quello basato sull'approccio Agent-oriented, che in particolare è stato sviluppato utilizzando gli strumenti prima individuati.

Per quest'ultimo si sono dovute affrontare diverse problematiche che risultavano nuove in quest'ambito, soprattutto per quanto riguarda l'algoritmo di individuazione dei deadlock utilizzato all'interno dell'agente cella. Si è deciso di utilizzare un modello basato sul formalismo delle reti di Petri e più in particolare si è partiti dall'analisi della rete utilizzata nel supervisore della struttura centralizzata; da questa, osservando che i controlli relativi a risorse macchina e avanzamento delle ricette erano già effettutati dagli agenti pezzo e agenti macchina, si è giunti ad una rete molto più semplice in cui, come mostrato in figura, rimangono solamente i posti di controllo e le transizioni ad essi legati.

Agenti

Rete di Petri relativa al controllo anti-deadlock effettuato dall'agente cella

Infine si sono applicati i modelli ad oggetti degli agenti al caso specifico preso in esame, arrivando a definire i metodi e gli attributi più importanti per ogni classe, indicando per ognuno un particolare algoritmo evolutivo ed infine approfondendo il protocollo di negoziazione utilizzando a questo proposito il formalismo del sequence diagram definito dal linguaggio UML.

Traendo delle conclusioni si può dire che il vantaggio dell'utilizzo dell'approccio orientato agli agenti esprime le sue potenzialità in relazione alla flessibilità del sistema di controllo e la sua applicazione con l'architettura proposta da Heragu permette di mantenere lo stesso livello di stabilità e robustezza ritrovato nei sistemi di controllo ad approccio centralizzato. Nonostante ciò la semplicità dell'esempio preso in esame, in relazione agli impianti manifatturieri reali, non ci ha permesso di esaltarne a pieno le peculiarità; infatti il confronto che si può stabile tra questi due approcci sottolinea sì il miglioramento sopra citato, ma non lo enfatizza come auspicabile per un sistema più complesso.

Il lavoro sviluppato ha avuto l'ambizione di sintetizzare i concetti generici formulati in letteratura relativi all'approccio orientato agli agenti, sia dal punto di vista della ancora acerba teoria che da quello della metodologia della loro identificazione e della architettura del sistema di controllo. In più è stata presentata una modellizzazione degli agenti secondo un impostazione ad oggetti, che fosse comunque in grado di rappresentarli in modo coerente, utilizzando il linguaggio standard UML. La loro applicazione al caso d'esempio ci ha permesso di valutare alcune problematiche tipiche del problema del controllo e di proporne una nostra soluzione, soprattutto in riferimento al problema della rivelazione dei deadlock.

Concludiamo lasciando aperta una strada a lavori futuri quali per esempio la traduzione della progettazione sviluppata in UML in un linguaggio orientato agli oggetti, tra cui citiamo Java o C++.