Controllo del moto nella robotica

In questo numero di Didattica nella Robotica consideriamo il problema del controllo del moto, che si pone come obiettivo di assicurare che il moto desiderato, prodotto dalla pianificazione delle traiettorie, possa essere effettivamente eseguito.

Particolare attenzione verrà dedicata alle tecniche di controllo nello spazio dei giunti, comunemente distinte in: schemi di controllo decentralizzato, quando il singolo giunto del manipolatore è controllato indipendentemente dagli altri, e schemi di controllo centralizzato, in cui vengono considerati gli effetti di interazione dinamica tra giunti. Verranno poi descritte brevemente alcune tecniche di controllo nello spazio operativo.

Il problema di controllo

Per poter controllare un manipolatore robotico possono essere utilizzate numerose tecniche di controllo. La tecnica utilizzata, così come la modalità in cui viene implementata, possono avere un’influenza significativa sulla prestazione del manipolatore e quindi sullo spettro delle possibili applicazioni. Al contempo, anche il progetto meccanico del manipolatore e il sistema di attuazione utilizzato hanno un impatto sul tipo di schema di controllo che può essere adottato. Ad esempio, se un manipolatore è attuato da motori elettrici con alti rapporti di riduzione, la presenza delle trasmissioni tende a semplificare il sistema dinamico rendendolo lineare e quindi a disaccoppiare tra di loro i giunti. Il prezzo da pagare tuttavia è l’insorgere di fenomeni indesiderati come attrito ai giunti, elasticità e giochi meccanici che possono limitare la prestazione del sistema di controllo. Viceversa, in un robot attuato con motori a presa diretta, cioè senza riduzioni, gli effetti negativi dovuti ad attrito, elasticità e giochi sono eliminati, ma il peso delle non linearità e dei termini di accoppiamento tra giunti diventa molto rilevante.

Indipendentemente dal tipo di manipolatore utilizzato, è importante notare che mentre il compito (task) che il robot dovrà eseguire è normalmente formulato nello spazio operativo, in termini di moto dell’organo terminale, le azioni di controllo sono invece applicate nello spazio dei giunti. E’ quindi naturale considerare due tipi di schemi di controllo: uno schema di controllo nello spazio dei giunti e uno nello spazio operativo. In entrambi gli schemi, la struttura del controllore è in anello chiuso per poter sfruttare i vantaggi forniti dalla retroazione (feedback) sia in termini di robustezza a possibili incertezze di modello, sia di riduzione degli effetti di disturbo.

Il problema di controllo nello spazio dei giunti è a sua volta articolato in due sotto-problemi. Prima di tutto è necessario risolvere la cinematica inversa del manipolatore in modo da trasformare le specifiche di moto dallo spazio operativo (xd) allo spazio dei giunti (qd). Lo schema di controllo è quindi progettato in modo da permettere che il moto della struttura meccanica (q)  possa seguire il moto desiderato (qd). Questa soluzione, comunemente adottata nei manipolatori industriali, presenta tuttavia lo svantaggio di controllare le variabili nello spazio operativo in anello-aperto. Come conseguenza qualsiasi incertezza nella struttura meccanica e qualsiasi imprecisione nella conoscenza della posa dell’organo terminale rispetto all’oggetto manipolato possono produrre errori di posizionamento.

Il problema di controllo nello spazio operativo richiede una complessità algoritmica notevolmente maggiore rispetto al controllo nello spazio dei giunti. In questo caso l’inversione cinematica è inserita all’interno del sistema in anello chiuso. Il vantaggio concettuale risiede nella possibilità di agire direttamente nelle variabili nello spazio operativo, al contempo è richiesta però una misura delle variabili nello spazio operativo, generalmente ottenuta in maniera indiretta mediante il calcolo della cinematica diretta a partire dalla misura delle variabili di giunto.

Nel seguito di questo numero dedicheremo particolare attenzione al controllo nello spazio dei giunti, distinguendo tra due possibili implementazioni: decentralizzata e centralizzata. Verranno infine introdotti i concetti fondamentali del controllo nello spazio operativo, che è alla base del controllo dell’interazione con l’ambiente, tema che verrà affrontato nel prossimo numero di Didattica della Robotica.

Controllo decentralizzato

Lo schema di controllo decentralizzato nello spazio dei giunti, noto anche come controllo indipendente ai giunti, è una soluzione largamente adottata nei controllori robotici industriali. La logica decentralizzata prevede che il calcolo dell’i-esima variabile di controllo si basi esclusivamente sulla misura della posizione dell’i-esimo giunto. Alla base di questo tipo di controllo risiede il modello decentralizzato della dinamica del robot secondo cui la matrice di inerzia può essere scomposta nella somma di un termine diagonale costante e di un termine residuo, trascurabile in presenza di rapporti di riduzione elevati. In questo modo la dinamica non-lineare e accoppiata del robot può essere approssimata con quella di un sistema lineare completamente disaccoppiato soggetto a un disturbo. Lo schema di controllo decentralizzato prevede quindi che ciascuna coordinata di giunto venga controllata in un anello di controllo singolo, ignorando gli effetti di accoppiamento dinamico indotti dalla meccanica del robot, che vengono trattati come disturbi. I singoli problemi di controllo sono assimilabili a quelli del controllo di servomeccanismi.
Il metodo si affida pesantemente all’effetto disaccoppiante degli alti rapporti di riduzione delle trasmissioni adottate nella robotica. Senza questo effetto, trascurare la variabilità dell’inerzia del carico e gli effetti di accoppiamento meccanico con gli altri giunti sarebbe poco giustificato.

Rimane quindi da analizzare come progettare un regolatore di un (singolo) giunto robotico. Ricordiamo che, supponendo di adottare un motore a corrente continua, una volta chiuso l’anello di controllo della corrente, ai fini del progetto del controllore nello spazio dei giunti possiamo assumere come variabile di controllo direttamente la coppia motrice.

Un primo modo di affrontare il problema di controllo del moto consiste nell’assumere l’insieme motore, riduttore e carico come un sistema complessivamente rigido. Il sistema rigido può essere controllato con un regolatore proporzionale-integrale (PI) sulla velocità, ed un controllore proporzionale sulla posizione. Lo schema prevede di disporre di due misure, di posizione e velocità, indipendenti. Tipicamente la misura di velocità è fornita da una dinamo tachimetrica. Si tratta di uno schema di controllo in cascata: si progetta dapprima l’anello interno di velocità su banda ampia, in modo da fornire anche una buona reiezione dei disturbi. L’anello esterno, di posizione, si progetta su una banda più ristretta. Per rendere la risposta al riferimento di posizione più pronta, è possibile inserire un contributo di feed-forward, noto come “anticipo di velocità.

Il modello rigido non mette in evidenza nessun significativo limite di banda. In linea di principio si potrebbe quindi rendere il sistema in anello chiuso arbitrariamente veloce. All’atto pratico tuttavia emergono chiaramente limitazioni, sotto forma di vibrazioni, rumore, saturazioni. Evidentemente il modello rigido non è in grado di spiegare bene come si comporta un servomeccanismo. Occorre complicare il modello. Un secondo modo di affrontare il problema di controllo consiste nell’assumere l’insieme motore, riduttore e carico come un accoppiamento elastico tra due corpi rigidi. Anche il sistema elastico può essere controllato con un regolatore proporzionale-integrale (PI) sulla velocità, ed un controllore proporzionale sulla posizione, tuttavia in questo caso all’aumentare della banda dell’anello di velocità degradano le prestazioni del sistema di controllo.

Controllo centralizzato

Si parla di controllo centralizzato ogni qualvolta il controllore, nel determinare la coppia che deve essere applicata a ciascun giunto, prende in considerazione misure e/o modelli di pertinenza anche degli altri giunti del manipolatore. In generale un controllo centralizzato richiede la conoscenza, almeno parziale, del modello matematico del robot. In assenza dell’effetto disaccoppiante indotto da rapporti di riduzione elevati (come per esempio nel caso di adozione di motori a presa diretta), l’uso di una strategia di controllo centralizzato può rivelarsi necessaria. Alcuni schemi di controllo centralizzato nello spazio dei giunti sono ad esempio:

  • Compensazione in avanti a coppia pre-calcolata: in cui un controllore decentralizzato in anello chiuso viene affiancato da un controllore che opera in anello aperto che serve a compensare parzialmente le non-linearità e i termini di accoppiamento;
  • PD con compensazione di gravità: in cui ad un controllore proporzionale-derivativo (PD) nello spazio dei giunti si aggiunge un termine di compensazione degli effetti gravitazionali;
  • Controllo a dinamica inversa: questo metodo prevede una cancellazione perfetta di tutti i termini del modello dinamico, il che può essere difficile da realizzare in pratica.

Controllo nello spazio operativo

Per controllo nello spazio operativo si intende una strategia di controllo in cui l’errore viene formato direttamente sulle coordinate dello spazio operativo. La traiettoria, generata nello spazio operativo, non è quindi soggetta all’inversione cinematica. D’altra parte le “misure” delle variabili nello spazio operativo sono in realtà di norma il risultato del calcolo della cinematica diretta sulle uniche misure disponibili, ovvero sulle misure delle coordinate di giunto. In analogia al controllo centralizzato nello spazio dei giunti, gli schemi di controllo nello spazio operativo più noti sono: il PD con compensazione di gravità e il controllo a dinamica inversa. (Matteo Parigi Polverini)

LASCIA UN COMMENTO

Please enter your comment!
Please enter your name here