Site icon Meccanismo Complesso

Robot Dynamics – La dinamica in Robotica

La dinamica in robotica, in inglese definita come robot dynamics, studia le forze che agiscono su un meccanismo robotico e le accelerazioni che queste forze producono. Generalmente si considera il meccanismo robotico come un sistema rigido, in modo da applicare le leggi dinamiche dei corpi rigidi.

Introduzione alla Robot dynamics

Quando si ha a che fare con un meccanismo robotico, come per esempio un robot manipolatore, si deve tenere conto della sua funzionalità di base: il suo corretto posizionamento. Quando questo deve muoversi da una posizione di partenza ad una di arrivo, dovremo conoscere tutte le proprietà dinamiche del manipolatore, in modo da prevedere come le varie forze ed accelerazioni influiranno sul movimento.

Se per esempio, per produrre il movimento verranno applicate forze troppo piccole, potremo avere un movimento troppo lento, mentre se saranno troppo forti, rischieremo di far urtare il manipolatore con altri oggetti presenti nell’ambiente, oscillando eccessivamente rispetto alla posizione desiderata.

E’ per questo motivo che si sono definite delle equazioni dinamiche del moto in robotica. Ma la loro derivazione non è certamente un’operazione molto semplice da fare. In particolare la complessità aumenta con il crescere del numero di gradi di libertà del sistema robotico, e le molte non linearità presenti in tali sistemi.

Per tale scopo ci vengono in aiuto quindi delle tecniche basate sulla dinamica Lagrangiana. Queste tecniche ci permettono di ricavare in modo sistematico le equazioni del moto dei sistemi robotici.

Robot Dynamics

Le due principali problematiche nella dinamica robotica sono:

La Forward dynamics è nota anche come dinamica diretta, o semplicemente dinamica. Viene utilizzata principalmente per la simulazione.

La Inverse dynamics, o dinamica inversa, viene invece utilizzata per il controllo diretto sul moto e le forze coinvolte di un meccanismo robotico, o anche per lo studio della traiettoria, per l’ottimizzazione, per la progettazione dei meccanismi robotici.

Altre problematiche che concernono la robot dynamics sono:

Equazioni del moto

Le equazioni del moto per un sistema fisico descrivono il suo moto come una funzione del tempo e di parametri opzionali di controllo in ingresso (control inputs). Nella forma generale le equazioni del moto assumono la seguente forma generalizzata.

dove

Le equazioni del moto permettono di ottenere una mappatura tra lo spazio di controllo e i comandi inviati agli attuatori, e tra lo spazio degli stati ed il movimento del robot.

In robotica si introducono delle assunzioni:

Le equazioni del moto per i Manipolatori

I manipolatori sono un caso particolare dei sistemi articolati dove almeno uno dei link è fissato all’ambiente. Le equazioni del moto per un manipolatore si possono scrivere nel seguente modo:

dove i gradi di libertà del robot si possono scrivere:

e dove

Contrariamente alla forma generale , questa espressione è invariante nel tempo, infatti t non appare nella formula. In questo modo, conoscendo lo stato corrente  e la torsione applicata al giunto , si può calcolare direttamente le accelerazioni risultanti ai giunti . Questa operazione è nota come forward dynamics, cioè dinamica diretta.

Il sistema quindi non ha memoria. Indipendentemente da come si è giunti ad un particolare stato, partendo da quello stato si avrà sempre un’accelerazione uguale.

La matrice di inerzia M e il tensore di Coriolis

La matrice di inerzia M ed il tensore di Coriolis possono essere derivati dall’inerzia dei link e dal loro Jacobiano:

dove mi è la massa totale del link i, Ii è la sua matrice di inerzia, e Ji è il Jacobiano del frame attaccato al link i.

Torsione di gravità e forze esterne

Le forze esterne applicate al sistema possono essere espresse attraverso una formula simile:

dove fext,i denota la risultante delle forze esterne applicata al link i del robot e τext,i è il momento di queste forze. Insieme formano il la chiave inglese esterna applicata al link. Le coordinate della chiave inglese dovrebbe essere consistenti con la definizione delle nostre matrici Jacobiane. Assumendo che l’immagine delle nostre matrici Jacobiane sono espresse nel frame inerziale, allora le coordinate della chiave inglese dovrebbero essere espresse nel frame iniziale allo stesso modo.

Consideriamo la gravità come la nostra forza esterna. Assumendo che il frame attaccato al link i sia localizzata nel centro della massa del link, le torsioni del giunto causate dalla gravità si possono esprimere:

Per definizione, il Jacobiano Jcom del centro di massa è tale che

e quindi l’espressione precedente si può cambiare in:

Modelli dinamici

Le equazioni del moto dipendono dal modello dinamico (dynamic model) corrispondente al meccanismo robotico in studio. Il modello dinamico non è altro che una descrizione del meccaniscmo robotico in termini delle parti che lo compongono: link, joints e dei parametri che caratterizzano queste componenti.

In particolare un modello dinamico consiste:

Sono richiesti 10 parametri inerziali per definire l’inerzia di un singolo corpo rigido (massa, posizione del centro di massa, e 6 parametri inerziali di rotazione). Quindi ogni modello dinamico avrà ben 10 parametri inerziali per ogni componente (corpo rigido individuabile) del meccanismo robotico.

Comunque, quando i corpi sono connessi tra di loro per formare un meccanismo robotico, come per esempio un manipolatore, si eliminano alcuni gradi di libertà del sistema. Infatti alcuni di essi non avranno più effetto sul comportamento dinamico del sistema.

La procedura di base, una volta identificato un modello cinematico ed effettuata una serie di misure del suo comportamento dinamico, sarà quindi quella di identificare i valori di un insieme di parametri inerziali di base che sono poi quelli osservabili sperimentalmente.

Esistono diverse metodologie su cui, dato un meccanismo robotico, si può derivare un modello dinamico. Tuttavia i pià noti sono:

Il metodo Lagrangiano è più semplice e sistematico, mentre il secondo è più efficiente soprattutto dal punto di vista del calcolo computazionale.

Metodo Lagrangiano

Il metodo di Lagrange si basa sul calcolo di una determinato valore, chiamato Lagrangiana, che è proprio del sistema meccanico da cui derivare il modello. Quello di Lagrange è un approccio energetico che permette di derivare le equazioni della dinamica in forma simbolica (o forma chiusa), cioè non numerica, facilitando così lo studio delle proprietà e l’analisi degli schemi di controllo.

La Lagrangiana è pari alla differenza tra l’energia cinetica T e l’energia potenziale U del sistema:

Questo particolare valore dipende sia da parametri dinamici (masse e momenti di inerzia dei link) sia da parametri geometrici (lunghezza dei link).

Si può dimostrare che esistono le seguenti equazioni di Lagrange

Dove con si indicano le forze generalizzate associate alle coordinate generalizzate .

La particolarità di questo metodo è che la grandezza lagrangiana è espressa in forma simbolica e può essere manipolata ed elaborata attraverso un approccio sistematico. Una volta ottenuta quindi l’espressione della Lagrangiana, si può derivare il modello dinamico corrispondente, grazie ad una serie di equazioni, chiamate di equazioni di Eulero-Lagrange, direttamente ricavabili da essa.

Per esempio per un manipolatore robotico l’energia cinetica è data da:

Dove B è la matrice di Inerzia. Mentre l’eneriga potenziale è data da:

Da cui si ottiene l’equazione Lagrangiana:

Derivando e apponendo le opportune operazioni si arriva alla forma matriciale:

Dove e sono le velocità e le accelerazioni dei giunti, è la matrice inerziale del manipolatore,  è un termine in velocità che descrive gli effetti centrifughi e di Coriolis, mentre è un termine gravitazionale dipendente solo dalla configurazione. Infine descrive l’effetto di eventuali forze e momenti esercitati dall’ambiente esterno sul robot.

Il modello dinamico del manipolatore, così come mostrato nell’equazione precedente, è stato formulato nello spazio dei giunti. Ciò nonostante è possibile ricavarne una formulazione anche nello spazio operativo.

E’ importante notare infine che nella derivazione del modello dinamico non si è tenuto conto del sistema di attuazione, costituito da motori e sistema di trasmissione. Il sistema di attuazione contribuisce agli effetti dinamici in vari modi: cambiando ad esempio i parametri di inerzie e masse dei link, e introducendo dinamiche proprie (elettromeccaniche) e possibili effetti non lineari come giochi, attriti ed elasticità. Tutti questi effetti possono comunque essere considerati introducendo opportune modifiche al modello dinamico. Sul manipolatore possono inoltre agire coppie di attrito viscoso e coppie di attrito statico.

Esistono metodi sistematici per ricavare i coefficienti della matrice d’inerzia e
quindi, per derivazione, quelli centrifughi e di Coriolis. Tuttavia la scrittura del modello dinamico basata sulle equazioni di Lagrange, pur dando luogo ad un modello in forma chiusa, facilmente interpretabile ed utilizzabile nella sintesi del controllore, costituisce un procedimento inefficiente dal punto di vista computazionale.

Metodo di Newton-Eulero

Una strada alternativa per la formulazione del modello dinamico è quella che va sotto il nome di metodo di Newton-Eulero.

Questo metodo si basa sull’utilizzo di due equazioni: l’equazione dinamica di Newton, secondo cui la somma delle forze agenti su un sistema meccanico è pari alla variazione della quantità di moto, e l’equazione dinamica di Eulero, secondo cui la somma dei momenti è pari alla variazione del momento della quantità di moto.

Il metodo di Newton-Eulero consiste quindi nello scrivere i bilanci di forze (equazioni di Newton) e di momenti (equazioni di Eulero) agenti su ciasun link, mettendo in evidenza le interazioni con i link contigui nella catena cinematica. In questo modo si ottiene un sistema di equazioni che possono essere risolte in modo ricorsivo, propagando le velocità e le accelerazioni dalla base verso l’organo terminale, e le forze e i momenti in senso opposto.

Si ottiene un sistema di equazioni che possono essere risolte in modo ricorsivo, propagando le velocità ed accelerazioni dalla base verso l’organo terminale, e le forze ed i momenti in senso opposto. La ricorsività rende l’algoritmo di Newton-Eulero computazionalmente efficiente.

Queste formule ricorsive possono essere valutate sia in modo simbolico che numerico, tuttavia è solo nella seconda modalità, quella numerica, che la ricorsività rende l’algoritmo di Newton-Eulero particolarmente efficiente da un punto di vista computazionale.

Lagrange vs. Newton-Eulero

Nonostante l’approccio Lagrangiano e quello di Newton-Eulero, risolto in forma simbolica, producano alla fine lo stesso modello matematico per la dinamica di un manipolatore, è possibile evidenziare alcune differenze tra queste due formulazioni.

Formulazione di Lagrange:

Formulazione di Newton-Eulero:

Algoritmi in Robot dynamics

Dal punto di vista pratico, al momento attuale si utilizzano principalmente 3 diversi algoritmi nella robot dynamics:

L’approfondimento sulle funzionalità di questi algoritmi e sulle loro specifiche verranno trattati in altri articoli.

References

Exit mobile version