Manipolazione robotica avanzata con controllo dell'impedenza
Tadele Shiferaw, MathWorks
I manipolatori robotici continuano a essere utilizzati in diverse applicazioni, migliorando l'efficienza e la precisione in settori quali la produzione, l'assistenza sanitaria, l'agricoltura e la logistica. Per le applicazioni che richiedono un'interazione sicura ed efficace con un ambiente dinamico, è essenziale dotare i manipolatori di compliance, poiché ciò consente una maggiore adattabilità, precisione e sicurezza durante il funzionamento. Il controllo dell'impedenza è una metodologia avanzata che consente ai robot di emulare il comportamento conforme caratteristico della manipolazione umana. Questo articolo spiega la progettazione e l'implementazione della strategia di controllo di impedenza utilizzando la modellazione e la simulazione.
Informazioni sul controllo di impedenza
In sostanza, il controllo dell’impedenza è una strategia utilizzata nella robotica per regolare la forza di interazione tra un robot e il suo ambiente, regolando dinamicamente l’impedenza del robot, una misura di come risponde alle forze e agli spostamenti[1].
Consideriamo un robot semplificato con un solo grado di libertà (DOF). Il robot è definito come una massa nella posizione \( X_m \) e deve essere spostato nella posizione desiderata \( X_d \), cosa che può essere facilmente ottenuta utilizzando un classico controller Proporzionale-Derivativo (PD) con la seguente equazione matematica:
\( F_{controller} = k(X_d - X_m) - d {\dot{X_m}} \)
Osservando attentamente l’equazione, l’azione di controllo del controller PD può essere interpretata fisicamente come un sistema molla-smorzatore, dove il termine proporzionale rappresenta la molla e il termine derivativo rappresenta lo smorzatore. Si tratta di un semplice controllore di impedenza che non solo sposta la massa nella posizione desiderata, ma inietta anche un'impedenza desiderata nel sistema che può essere percepita durante qualsiasi interazione esterna con il sistema (Figura 1).
Figura 1. Un semplice sistema a un grado di libertà (DOF) controllato dall'impedenza.
Modellazione di un semplice sistema controllato dall'impedenza
Questo sistema semplificato a un grado di libertà (DOF) può essere facilmente modellato utilizzando Simscape™, un linguaggio di modellazione fisica che consente agli utenti di collegare i blocchi della libreria tramite un flusso bidirezionale di energia (Figura 2).
Ora, i parametri del controller descritti dalla costante di rigidità e dal coefficiente di smorzamento possono essere regolati per definire il comportamento di cedevolezza desiderato dell’intero sistema mentre segue la posizione desiderata. La differenza nel comportamento del movimento tra un sistema controllato dall'impedenza moderatamente conforme e uno altamente conforme è mostrata nella Figura 3.
Controllo dell'impedenza per manipolatori multi-DOF
Il concetto di controllore di impedenza trattato sopra può essere esteso anche a un manipolatore robotico con N-DOF, in cui una molla geometrica multidimensionale viene utilizzata per allineare la posa dell'end-effector del robot \( {H^0}_t \) a una posa desiderata \( {H^0}_d \) e lo smorzamento viene iniettato nel sistema tramite uno smorzatore nello spazio dei giunti su ciascun DOF (Figura 4).
Date le matrici di rigidezza simmetrica traslazionale, rotazionale e di accoppiamento \( K_t \), \( K_c \) e \( K_o \), una molla geometrica spaziale definita con una matrice \( K∈R^{6×6} \) esercita una forza su un manipolatore che è una funzione della posa relativa \( {H^d}_t \):
\( K = \begin{pmatrix} K_o & K_c \\ {K^T}_c & K_t \end{pmatrix} \)
La forza viene calcolata nelle coordinate del sistema di riferimento dell'effettore terminale come una chiave a sei vettori \( W^t=[m^t f^t] \) come segue[2]:
\( \widetilde{m^t} = -2as({G_o}{{R^d}_t}) - as ({G_o}{{R^t}_d}{\widetilde{{p^d}_t}}{\widetilde{{p^d}_t}}{{R^d}_t}) - 2as({G_c}{\widetilde{{p^d}_t}}{{R^d}_t}) \)
\( \widetilde{f^t} = -{{R^t}_d}as({G_o}{\widetilde{{p^d}_t}}){{R^d}_t} - as ({G_o}{{R^t}_d}{\widetilde{{p^d}_t}}{{R^d}_t}) - 2as({G_c}{{R^d}_t}) \)
dove:
- \( as(⋅) \) è un operatore che fornisce la parte antisimmetrica di una matrice quadrata
- \( G_t \), \( G_c \), e \( G_o \) sono matrici di co-rigidità della molla spaziale calcolate come \( G_x = \frac{1}{2}tr(K_x)I−K_x \)
- \( tr (.) \) è l'operatore di traccia del tensore
- ~ è un operatore tilde che cattura la forma matriciale del prodotto vettoriale di un vettore
Dopo la trasformazione delle coordinate della chiave \( W^t \) in un sistema di riferimento inerziale \( Ψ_0 \), le coppie articolari \( τ \) che possono emulare la chiave desiderata dell'end-effector sul manipolatore vengono calcolate tramite queste equazioni:
\( (W^o)^T = A{d^T}_{{H^t}_o} (W^t)^T \)
\( τ = {J^T}(q){W^o} \)
dove:
- \( Ad (⋅) \) è l'aggiunto della matrice omogenea
- \( J(q) \) è il Jacobiano del manipolatore robotico
Modellazione di un manipolatore robotico con controllo dell'impedenza
Per valutare l'algoritmo di controllo su un manipolatore robotico, è stato sviluppato un modello dinamico del manipolatore Kinova® Gen3 con sette gradi di libertà utilizzando Simscape Multibody™. Con il modello CAD del manipolatore disponibile in formato URDF, è possibile generare automaticamente un modello multibody dettagliato che può essere utilizzato per la simulazione dinamica utilizzando il comando:
smimport(kinovaGen3.urdf')
Il modello completo del sistema mostrato nella figura sottostante include il generatore di pose desiderato, gli ostacoli ambientali e le interazioni esterne per una valutazione ampia del controller con simulazione (Figura 5).
Robotics System Toolbox™ migliora ulteriormente il controller di impedenza per il manipolatore tramite un algoritmo di compensazione della gravità, che incrementa le prestazioni operative. Pertanto, l'output finale del controller, mostrato nella Figura 6, è una coppia nello spazio articolare che rappresenta la somma delle coppie provenienti dalla molla spaziale, dalla compensazione della gravità e dall'iniezione di smorzamento.
Risultati della simulazione
Una simulazione ha testato l'effetto di una forza esterna applicata nella direzione X al tempo \( t = 16 \) \(sec \) e di un ostacolo che si muove lungo l'asse x per interagire con il manipolatore a circa \( t = 30 \) \(sec \) (Figura 7). Come previsto, una forza esterna di \( F_{ext} = 40N \) applicata al manipolatore controllato dall'impedenza con una rigidità traslazionale cartesiana di \(K_t =400 \) \(N/m \) ha prodotto una deflessione di \( x_{def} = 0,1m \). Il sistema ha inoltre mostrato un comportamento stabile e realistico durante l'interazione con l'ostacolo in movimento, come si vede nell'animazione video generata dal Mechanics Explorer (Figura 8).
Figura 8. Un'animazione che mostra il movimento 3D del robot e l'interazione con un ostacolo.
Come confermato dai risultati della simulazione, il controller di impedenza cartesiana non solo introduce la compliance desiderata per consentire una capacità di interazione flessibile, ma evita anche la necessità di calcoli di cinematica inversa computazionalmente intensivi per il controllo del manipolatore. Si tratta anche di un approccio alla progettazione del controllo che è fisicamente spiegabile e intuitivo e richiede un controller di coppia a livello di giunto per l’implementazione.
Riferimenti
[1] Hogan, Neville. “Impedance Control: An Approach to Manipulation: Part I—Theory; Part II—Implementation; Part III—Applications.” Journal of Dynamic Systems, Measurement, and Control, vol. 107, no. 1, March 1985, pp. 1–24.
[2] Stramigioli, Stefano. Modeling and IPC control of Interactive Mechanical Systems — A Coordinate-Free Approach, Lecture Notes in Control and Information Sciences (Springer London, 2001).
Pubblicato nel 2025