csr09-controllo di robot antropomorfi [modalità compatibilità]€¦ · del robot è trattato come...
TRANSCRIPT
Cristian Secchi Pag. 1
CONTROLLO DI SISTEMI ROBOTICILaurea Specialistica in Ingegneria Meccatronica
CONTROLLO DI SISTEMI ROBOTICICONTROLLO DI SISTEMI ROBOTICICONTROLLO DI ROBOT ANTROPOMORFICONTROLLO DI ROBOT ANTROPOMORFI
Ing. Cristian SecchiTel. 0522 522235
e-mail: [email protected]://www.dismi.unimo.it/Members/csecchi
Richiami di cinematica e dinamica dei robotRichiami di cinematica e dinamica dei robot
jn
Ln-1
Ln
Un robot è una catena cinematica aperta
j0
j1
ji
Jn-1
L1
L2 Li-1 Li End - Effector
• Ogni link (Li) è collegato ad altri link tramite un giunto (Ji) che consente un certo movimento relativo tra i due link.
Controllo di Robot -- 2Cristian Secchi Controllo di Sistemi Robotici
• Solitamente ogni giunto è motorizzato ed è, quindi, possibile controllare la posizione di ogni giunto.
• Ad ogni giunto è associata una variabile qi che rappresenta la posizione relativa del giunto i-esimo rispetto a quello i-1-esimo
Cristian Secchi Pag. 2
Richiami di cinematica e dinamica dei robotRichiami di cinematica e dinamica dei robot
Si consideri un manipolatore con n gradi di libertà. Sarà adottata la seguente notazione:
Configurazione Wrench
Controllo di Robot -- 3Cristian Secchi Controllo di Sistemi Robotici
Vettore delle variabili di giunto
Configurazione dell’end-effector
Wrench applicato
all’end-effector
Twist dell’end-effector
Jacobiano del robot
Richiami di cinematica e dinamica dei robotRichiami di cinematica e dinamica dei robot
Problemi cinematici fondamentali e soluzioni
Cinematica
Cinematica Differenziale
Controllo di Robot -- 4Cristian Secchi Controllo di Sistemi Robotici
Statica
Cristian Secchi Pag. 3
Richiami di cinematica e dinamica dei robotRichiami di cinematica e dinamica dei robot
Ci sono varie metodologie per trovare queste relazioni, noi ci focalizzeremo sul modello di Eulero-Lagrange. Il generico modello dinamico di un robot è descritto dalla seguente equazione differenziale NON lineare.
• Si ottiene utilizzando il formalismo lagrangiano
• Generalizza le equazioni di Newton per una massa soggetta alla forza di
Controllo di Robot -- 5Cristian Secchi Controllo di Sistemi Robotici
• Generalizza le equazioni di Newton per una massa soggetta alla forza di gravità al caso di più masse interconnesse
• Descrive il comportamento di un sistema NON lineare
Richiami di cinematica e dinamica dei robotRichiami di cinematica e dinamica dei robot
M(q) Matrice d’inerzia. Tiene conto l’effetto delle massedei vari link. Dipende dalla configurazione.
Ti t l’ ff tt d li ff tti di i i i t d tti
C(q,q’)
Tiene conto l’effetto degli effetti dinamici introdotti dal moto relativo dei vari link (forze centrifughe, forze di Coriolis). Dipende sia dalla configurazione che dalla velocità
D Tiene conto degli attriti presenti nel robot come ad esempio l’attrito tra i vari giunti (ma non solo!)
Controllo di Robot -- 6Cristian Secchi Controllo di Sistemi Robotici
p g ( )
g(q) Tiene conto dell’effetto della gravità. Dipende dalla configurazione!
Cristian Secchi Pag. 4
Controllo di RobotControllo di Robot
Controllo di robot: Determinare le coppie con cui attuare i giunti per fare eseguire all’end-effector un compito desiderato
Le caratteristiche meccaniche di un manipolatore hanno un forte impattoLe caratteristiche meccaniche di un manipolatore hanno un forte impatto sul modo di controllare un robot. Per esempio, i problemi che si incontrano nel controllo di robot cartesiani sono fondamentalmente diversi da quelli che si incontrano nel controllo di robot antropomorfi.
Anche le caratteristiche del sistema di attuazione influenza il modo di controllare un robot. L’uso di motori CC con organi di trasmissione ad elevato rapporto di riduzione tende a disaccoppiare i giunti e ad
Controllo di Robot -- 7Cristian Secchi Controllo di Sistemi Robotici
pp pp gattenuare gli effetti delle non linearità; tuttavia la trasmissione può introdurre giochi, attriti ed altri effetti indesiderati. L’uso di motori direct drive, direttamente calettati sul giunto senza organi di trasmissione, elimina gli effetti dovuti alla trasmissione ma il peso delle non linearità non viene in alcun modo attenuato.
Controllo di RobotControllo di Robot
Principali problematiche di controllo
Controllo di posizione: Portare il robot in una posizione target (regolazione) o fargli seguire una certa traiettoria.
Può essere effettuato sia nello spazio di giunto che nello spazio operativo
Controllo di Robot -- 8Cristian Secchi Controllo di Sistemi Robotici
Controllo di interazione: Controllare il modo con cui il robot interagisce con l’ambiente esterno, sia strutturato che non strutturato
Cristian Secchi Pag. 5
Controllo di posizione Controllo di posizione -- spazio di giunto spazio di giunto
Vantaggio: Semplificazioni nella costruzione del controllore
Svantaggio: Necessità di portare i setpoint nell spazio di giunto
Esistono due principali filosofie di controllo nello spazio di giunto:
1. Controllo decentralizzato (o a giunto indipendente):Ogni singolo giunto è visto come un sistema SISO e viene controllato indipendentemente dal moto degli altri giunti. L’accoppiamento tra i link viene considerato un disturbo.
Controllo di Robot -- 9Cristian Secchi Controllo di Sistemi Robotici
2. Controllo centralizzato: Si tiene esplicitamente conto dell’accoppiamento tra i giunti e della dinamica non lineare del robot
Controllo a giunto indipendenteControllo a giunto indipendente
Le forze generalizzate τi applicate ai giunti sono generate da attuatori tramite opportuni organi di trasmissione.
qm q
Attuatore Riduttore Giuntoτm τ
Kr è una matrice diagonale (n × n) i cui elementi sulla diagonale
Controllo di Robot -- 10Cristian Secchi Controllo di Sistemi Robotici
elementi sulla diagonale sono molto maggiori di 1 in modo da amplificare la coppia trasmessa al giunto.
Cristian Secchi Pag. 6
Controllo a giunto indipendenteControllo a giunto indipendente
La matrice M(q) nel modello di un robot ha sulla diagonale i momenti di inerzia non dipendenti dalla configurazione e termini moltiplicati per funzioni dipendenti dalla configurazione. Si può sempre scrivere:
dove è una matrice diagonale costante i cui termini rappresentano le inerzie medie viste dai giunti.
Utilizzando le equazioni dinamiche del robot e le equazioni di riduzione, si ottiene:
dove
Controllo di Robot -- 11Cristian Secchi Controllo di Sistemi Robotici
è la matrice degli attriti viscosi riportata ai motori e
è il contributo non lineare dipendente dalla configurazione
Controllo a giunto indipendenteControllo a giunto indipendente
Sistema non lineare accoppiato
+ ++
d
Controllo di Robot -- 12Cristian Secchi Controllo di Sistemi Robotici
-+-
+
Sistema lineare disaccoppiato
Cristian Secchi Pag. 7
Controllo a giunto indipendenteControllo a giunto indipendente
Il sistema costituito dal manipolatore e dalla parte meccanica degli attuatori si può scomporre in due sottosistemi. Il primo ha ingresso τm e uscita qm ed è lineare e disaccoppiato, cioè ogni componente di τminfluenza solo la corrispondente componente di qm. L’altro ha come ingressi q e le sue derivate e come uscita d ed è non lineare e accoppiatoingressi qm e le sue derivate e come uscita d ed è non lineare e accoppiatopoiché tiene conto degli accoppiamenti non lineari del robot.
L’idea che sta alla base del controllo a giunto indipendente è quella di considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema SISO utilizzando tecniche di controllo lineare Il contributo d derivante dalla dinamica non lineare
Controllo di Robot -- 13Cristian Secchi Controllo di Sistemi Robotici
di controllo lineare. Il contributo d derivante dalla dinamica non lineare del robot è trattato come un disturbo e il controllo deve essere disegnato in modo da attenuarne l’effetto sulla dinamica del sistema. Questa strategia funziona bene se Kr>>I, cioè quando non c’è accoppiamento diretto tra motore e giunto.
Controllo a giunto indipendenteControllo a giunto indipendente
Prima di costruire il controllore, occorre modellare il sistema di attuazione. Verrà studiato il caso, molto comune in pratica, che il sistema di attuazione sia dato da un motore DC a magneti permanenti.
Circuito d’armaturaCircuito d armatura
vA, iA, LA e RA sono rispettivamente la tensione, la corrente, l’induttanza e la resistenza del circuito d’armatura. vM è la forza controelettromotrice
Dinamica meccanica del rotore
Controllo di Robot -- 14Cristian Secchi Controllo di Sistemi Robotici
Dinamica meccanica del rotore
I è l’inerzia dell’albero motore e b è il coefficiente d’attrito complessivo
Cristian Secchi Pag. 8
Controllo a giunto indipendenteControllo a giunto indipendente
Accoppiamento tra il dominio elettrico e quello meccanico
kt =kv se tutte le grandezze sono misurate nel SIsono misurate nel SI
E’ utile rappresentare il motore tramite una funzione di trasferimento. Passando alle trasformate di Laplace, è possibile scrivere
Controllo di Robot -- 15Cristian Secchi Controllo di Sistemi Robotici
Controllo a giunto indipendenteControllo a giunto indipendente
Da cui
+
-
Controllo di Robot -- 16Cristian Secchi Controllo di Sistemi Robotici
Cristian Secchi Pag. 9
Controllo a giunto indipendenteControllo a giunto indipendente
Complessivamente si ha che:
Solitamente b ≈ 0 e, quindi:
Il sistema ha due poli:
Controllo di Robot -- 17Cristian Secchi Controllo di Sistemi Robotici
Il sistema ha due poli:
Controllo a giunto indipendenteControllo a giunto indipendente
In pratica LA è abbastanza piccola da fare in modo che (RAI)2-4LAIktkv>0, cioè che G(s) abbia due poli reali. Facendo opportune approssimazioni, lecite grazie al fatto che LA è abbastanza piccola, si vede che:
p1 è detto polo elettromeccanico mentre p2 è detto polo elettrico
Controllo di Robot -- 18Cristian Secchi Controllo di Sistemi Robotici
Cristian Secchi Pag. 10
Controllo a giunto indipendenteControllo a giunto indipendente
Mettendo in evidenza le costanti di tempo, è possibile riscrivere G(s) come:
dovedove
costante di tempo meccanica costante di tempo elettrica
Solitamente Te ¿ Tm e quindi il polo elettrico può essere trascurato e, quindi, si può fare l’ulteriore semplificazione:
Controllo di Robot -- 19Cristian Secchi Controllo di Sistemi Robotici
quindi, si può fare l ulteriore semplificazione:
Controllo a giunto indipendenteControllo a giunto indipendente
Un giunto attuato di un robot antropomorfo è quindi modellato dal seguente schema a blocchi:
+ -D
+
- +
La funzione di trasferimento che lega la posizione alla tensione
Controllo di Robot -- 20Cristian Secchi Controllo di Sistemi Robotici
di alimentazione è data da:
dove km=1/kt è il guadagno velocità-tensione
Cristian Secchi Pag. 11
Controllo a giunto indipendenteControllo a giunto indipendente
Abbiamo costruito il modello del sistema da controllare. Per migliorare le prestazioni, verrà utilizzata la tecnica del controllo in cascata.
d
La tecnica è utilizzabile nel caso in cui:
1. La dinamica del processo da controllare sia scomponibile in due o più di i h di ti t
G1(s) G2(s)R(s)yd yu v+
-
Controllo di Robot -- 21Cristian Secchi Controllo di Sistemi Robotici
dinamiche distinte
2. La dinamica G1(s) è più veloce della dinamica G2(s)
3. C’è la possibilità di misurare la variabile v in ingresso a G2(s)
Controllo a giunto indipendenteControllo a giunto indipendente
Per la regolazione della variabile di uscita può convenire realizzare (al posto del classico schema di controllo in retroazione) uno schema di controllo caratterizzato dall’avere più anelli di controllo in retroazione in cascata, cioè uno interno all’altro.
G1(s) G2(s)R1(s)vd yu v+
-
d
R2(s)yd+
-
Controllo di Robot -- 22Cristian Secchi Controllo di Sistemi Robotici
Cristian Secchi Pag. 12
Controllo a giunto indipendenteControllo a giunto indipendente
Il controllo in cascata ha svariati vantaggi rispetto al controllo tradizionale:
1. Il disturbo d può essere compensato dal loop interno in maniera1. Il disturbo d può essere compensato dal loop interno in maniera abbastanza veloce da eliminarne il contributo sull’uscita
2. E’ possibile, grazie al loop interno, ottenere una dinamica più veloce tra vd e v rispetto a quella tra u e v
3. Maggiore robustezza del sistema interno (grazie al loop di retroazione)
Controllo di Robot -- 23Cristian Secchi Controllo di Sistemi Robotici
4. Possibilità di imporre una dinamica desiderata tra vd e v con conseguente semplificazione per il progetto di R2(s)
Controllo a giunto indipendenteControllo a giunto indipendente
La funzione di trasferimento del sistema con un solo anello di retroazione è data da:
Mentre quella del sistema con due anelli in cascata è data da:
Controllo di Robot -- 24Cristian Secchi Controllo di Sistemi Robotici
Il controllo in cascata consente di avere maggiori gradi di libertà per il disegno del controllore. Inoltre se R1(s)G1(s) >> 1 nella banda di interesse, è possibile considerare vd≈ v, semplificando notevolmente il disegno del controllore R2(s).
Cristian Secchi Pag. 13
Controllo a giunto indipendenteControllo a giunto indipendente
++
-D
Si consideri l’azionamento di un giunto del robot.
-
Al fine di avere un’efficiente riduzione degli effetti del disturbo D, occorre determinare l’azione di controllo in modo da avere:
Controllo di Robot -- 25Cristian Secchi Controllo di Sistemi Robotici
1. Un elevato valore del guadagno a monte del punto di applicazione del disturbo
2. La presenza di un’azione integrale al fine di annullare a regime l’effetto della componente gravitazionale sull’uscita.
Controllo a giunto indipendenteControllo a giunto indipendente
+-
D’
+-
+-
+-
-
Schema di controllo generale
Controllo di Robot -- 26Cristian Secchi Controllo di Sistemi Robotici
dove
Cristian Secchi Pag. 14
Controllo a giunto indipendenteControllo a giunto indipendente
Vi sono tre anelli di retroazione in cascata. In ciascun anello vi è un controllore, in particolare:
Controllore Tipo di Costante di Controllore Controllo trasduzione
CP(s)Controllre di
posizione KTP
CV(s)Controllore di
velocità KTV
CA(s)Controllore di Accelerazione KTA
Controllo di Robot -- 27Cristian Secchi Controllo di Sistemi Robotici
A( ) Accelerazione TA
L’azione di controllo dell’anello più interno deve contenere un’azione integrale (cioè un polo nell’ origine) per compensare l’effetto della gravità a regime.
Controllo a giunto indipendenteControllo a giunto indipendente
Consideriamo ora le possibili soluzione di controllo per un singolo giunto. Dapprima considereremo solo il loop di posizione e poi aggiungeremo man man gli altri loop per vedere i benefici introdotti dal controllo in cascata.
Indici di prestazione:
1) Tipo di risposta al riferimento
2) Fattore di attenuazione del disturbo
Controllo di Robot -- 28Cristian Secchi Controllo di Sistemi Robotici
Cristian Secchi Pag. 15
Controllo a giunto indipendenteControllo a giunto indipendente
Consideriamo il caso in cui sia presente solo l’anello di posizione, cioè:
+-
D’
+-
-
Controllo di Robot -- 29Cristian Secchi Controllo di Sistemi Robotici
Controllo a giunto indipendenteControllo a giunto indipendente
Analisi della risposta
Il sistema ha uno zero e tre poli. δ, ωn e τ dipendono dalle scelte fatte per
Controllo di Robot -- 30Cristian Secchi Controllo di Sistemi Robotici
p , n p pi parametri del controllore.
Si possono distinguere tre situazioni possibili, a seconda della relazione intercorrente tra TP e Tm. In ciascuna situazione, il luogo delle radici può essere utilizzato per studiare l’influenza del guadagno kmKPkTP sul comportamento del sistema chiuso in retroazione.
Cristian Secchi Pag. 16
Controllo a giunto indipendenteControllo a giunto indipendente
I° CASO: TP<Tm
Luogo delle radici Risposta al gradino
Controllo di Robot -- 31Cristian Secchi Controllo di Sistemi Robotici
Il sistema è instabile per ogni valore possibile del guadagno kmKPkTP
Controllo a giunto indipendenteControllo a giunto indipendente
II° CASO: TP>Tm δωn<1/TP<1/τ
Luogo delle radici Risposta al gradino
Controllo di Robot -- 32Cristian Secchi Controllo di Sistemi Robotici
Il sistema è stabile ma non si possono scegliere guadagni troppo elevati per evitare l’insorgere di oscillazioni troppo accentuate sull’uscita.
Cristian Secchi Pag. 17
Controllo a giunto indipendenteControllo a giunto indipendente
III° CASO: TP>>Tm δωn>1/τ ≈ 1/TP
Luogo delle radici Risposta al gradino
Controllo di Robot -- 33Cristian Secchi Controllo di Sistemi Robotici
Luogo delle radici Risposta al gradino
Lo zero in -1/T_P tende a cancellare il polo reale. A parità di guadagno si ottengono oscillazioni più smorzate.
Controllo a giunto indipendenteControllo a giunto indipendente
Le caratteristiche di reiezione al disturbo del sistema sono descritte dalla funzione di trasferimento che lega l’uscita al disturbo. Tale funzione è data da:
Analisi della reiezione dei disturbi
Lo zero nell’origine è dovuto
Si vede che per ridurre l’influenza del disturbo sull’uscita conviene scegliere KP elevati. Il fattore di riduzione del disturbo dovuto all’anello di posizione è dato da:
Lo zero nell origine è dovuto all’azione integrale del controllore e, quando Θ=const. Consente di annullare gli effetti della gravità
Controllo di Robot -- 34Cristian Secchi Controllo di Sistemi Robotici
Per ridurre al minimo l’influenza del disturbo occorre scegliere KP molto elevati. Tuttavia, ricordando l’analisi della risposta, non è consigliabile scegliere guadagni troppo elevati per evitare l’insorgere di un comportamento oscillatorio troppo accentuato. In pratica si scegli una soluzione di compromesso tra la reiezione dei disturbi e la qualità della risposta.
Cristian Secchi Pag. 18
Controllo a giunto indipendenteControllo a giunto indipendente
Consideriamo il caso in cui siano presenti l’anello di posizione e quello di velocità, cioè:
D’
+-
+-
-+
-
Controllo di Robot -- 35Cristian Secchi Controllo di Sistemi Robotici
Controllo a giunto indipendenteControllo a giunto indipendente
Analisi della risposta
Lo zero del controllore in s=-1/TV può essere scelto in modo da cancellare gli effetti del polo reale del motore in s=-1/Tm ponendo Tv=Tm. In tal caso la funzione di trasferimento complessiva è data da:
Controllo di Robot -- 36Cristian Secchi Controllo di Sistemi Robotici
Dove δ e ωn, che caratterizzano la posizione dei poli del sistema, dipendono dai parametri di controllo.
Cristian Secchi Pag. 19
Controllo a giunto indipendenteControllo a giunto indipendente
Scegliendo opportunamente KP e KV è possibile posizionare i poli del sistema in retroazione in qualsiasi configurazione e, quindi, è possibile imporre al sistema un comportamente dinamico veloce e smorzato a piacere. In particolare se δ e ωn sono i dati di specifica (cioè la posizione in cui si desidera posizionare i poli del sistema chiuso in retroazione) KPin cui si desidera posizionare i poli del sistema chiuso in retroazione), KPe KV si determinano da queste relazioni:
Controllo di Robot -- 37Cristian Secchi Controllo di Sistemi Robotici
Controllo a giunto indipendenteControllo a giunto indipendente
Le caratteristiche di reiezione al disturbo del sistema sono descritte dalla funzione di trasferimento che lega l’uscita al disturbo. Tale funzione è data da:
Analisi della reiezione dei disturbi
Il fattore di riduzione del disturbo dovuto agli anelli di controllo è dato da:
Controllo di Robot -- 38Cristian Secchi Controllo di Sistemi Robotici
La riduzione dell’effetto del disturbo è fissata una volta scelta la dinamica da imporre al sistema chiuso in retroazione. Il transitorio dovuto all’effetto del disturbo si esaurisce con la stessa dinamica del transitorio dell’uscita che è imponibile arbitrariamente
Cristian Secchi Pag. 20
Controllo a giunto indipendenteControllo a giunto indipendente
Consideriamo il caso in cui siano presenti l’anello di posizione e quello di velocità, cioè:
+-
D’
+-
+-
+-
-
Controllo di Robot -- 39Cristian Secchi Controllo di Sistemi Robotici
Controllo a giunto indipendenteControllo a giunto indipendente
Lo zero del controllore in s=-1/Ta può essere scelto in modo da cancellare gli effetti del polo reale del motore in s=-1/Tm ponendo Ta=Tm. In tal caso la funzione di trasferimento complessiva è data da:
Controllo di Robot -- 40Cristian Secchi Controllo di Sistemi Robotici
Dove δ e ωn, che caratterizzano la posizione dei poli del sistema, dipendono dai parametri di controllo.
Cristian Secchi Pag. 21
Controllo a giunto indipendenteControllo a giunto indipendente
La funzione di trasferimento che lega il disturbo all’uscita è data da:
Il fattore di reiezione dei disturbi è dato da:
Controllo di Robot -- 41Cristian Secchi Controllo di Sistemi Robotici
Grazie al terzo grado di libertà introdotto dall’anello di accelerazione, è possibile imporre arbitrariamente sia il comportamento dinamico della risposta che il fattore di reiezione dei disturbi.
Controllo a giunto indipendenteControllo a giunto indipendente
Siano le specifiche di controllo date da δ, ωn ( dinamica della risposta) e XR ( reiezione dei disturbi desiderata). I guadagni KP, KV e KA si determinano dalle seguenti relazioni:
Controllo di Robot -- 42Cristian Secchi Controllo di Sistemi Robotici
L’aggiunta dell’anello di accelerazione consent di imporre una dinamica arbitraria e un’arbitrario fattore di reiezione dei disturbi al sistema controllato.
Cristian Secchi Pag. 22
Controllo a giunto indipendenteControllo a giunto indipendente
Quando si considerano azionamenti in cui sono imposte traiettrie in posizione caratterizzate da velocità e/o accelerazioni elevate, le capacità di inseguimento dello schema di controllo in retroazione (anche con anelli di retroazione in cascata) sono inevitabilmente degradatedi retroazione in cascata) sono inevitabilmente degradate.
Una possibile soluzione è quella di inserire un’azione di compensazione in avanti sfruttando la conoscenza dei setpoint di posizione, velocità e accelerazione
Controllo di Robot -- 43Cristian Secchi Controllo di Sistemi Robotici
Nel caso del controllo a giunto indipendente si inserisce un’azione in avanti in ogni giunto controllato e, pertanto, si parla di compensazione in avanti decentralizzata
Controllo a giunto indipendenteControllo a giunto indipendente
Schemi di controllo in retroazione
Reiezione ai disturbi, robustezza rispetto alla variazione dei parametri, maggior banda passante
Schemi di controllo con azione in avanti (in catena aperta)
maggior banda passante
Non sono basate sulla retroazione di alcun segnale, azioni di controllo basate sulla conoscenza perfetta del modello del plant in teoria consentono
Controllo di Robot -- 44Cristian Secchi Controllo di Sistemi Robotici
plant, in teoria consentono l’inseguimento perfetto di un setpoint.
Cristian Secchi Pag. 23
Controllo a giunto indipendenteControllo a giunto indipendente
Siccome il modello del plant NON E’ MAI perfettamente noto, non è possibile utilizzare esclusivamente schemi di controllo con azione in avanti.
L’idea che sta alla base della compensa ione in a anti è q ella diL’idea che sta alla base della compensazione in avanti è quella di costruire uno schema di controllo ibrido, che contenga sia azioni in retroazione che azioni in avanti. In tal modo è possibile combinare i benefici del controllo in retroazione con quelli dell’azione in avanti.
Ca(s)
Controllo di Robot -- 45Cristian Secchi Controllo di Sistemi Robotici
G(s)R(s)yd y
-Cf(s)
a( )
+++ u
Controllo a giunto indipendenteControllo a giunto indipendente
Solitamente, le azioni in avanti vengono aggiunte a un sistema di controllo in retroazione per:
1. Filtrare opportumente i segnali di riferimento, modificando in tal modo l f i di t f i t t tt tt i ti hla funzione di trasferimento tra y e yd per ottenere caratteristiche statiche o dinamiche desiderate
2. Migliorare le prestazioni ottenibili in termini di inseguimento
3. Compensare disturbi noti (o misurabili) agenti sul sistema
Uno degli obiettivi principali di uno schema di controllo è quello di ottenere
Controllo di Robot -- 46Cristian Secchi Controllo di Sistemi Robotici
Uno degli obiettivi principali di uno schema di controllo è quello di ottenere un inseguimento perfetto, cioè y=yd. Negli schemi in retroazione questo non è sempre ottenibile in quando l’azione di controllo è basata sull’errore e=yd-y. L’utilizzo di un’azione in avanti, mette a disposizione del progettista di due garadi di libertà in più (Cf(s) eCa(s)) che consentono di ottenere migliori prestazioni per l’inseguimento perfetto.
Cristian Secchi Pag. 24
Controllo a giunto indipendenteControllo a giunto indipendente
Nel caso di controllo con compensazione in avanti si ha:
Imponendo la condizione di perfetto inseguimento del riferimento, Y(s)=Yd(s), si ottiene:
Controllo di Robot -- 47Cristian Secchi Controllo di Sistemi Robotici
Da cui seguie che, per avere un perfetto inseguimento, si deve porre:
Controllo a giunto indipendenteControllo a giunto indipendente
Quindi, noto il modello del plant G(s) e il riferimento Yd(s), per ottenere un perfetto inseguimento, è necessario “invertire” la dinamica del processo da controllare. L’azione di controllo U(s), deve contenere il termine G-1(s)Yd(s).
èQuesto tipo di azione di controllo non è sempre realizzabile. Infatti se:
1. G(s) ha degli zeri a parte reale positiva (sistemi a fase non minima)2. G(s) contiene dei ritardi significativi (termini del tipo e-Ts)3. G(s) non è un sistema proprio (cioè se npoli>nzeri)
L’azione in avanti non è realizzabile. Infatti nel primo caso si otterrebe un controllore instabile mentre nel secondo e nel terzo caso si otterrebero
Controllo di Robot -- 48Cristian Secchi Controllo di Sistemi Robotici
controllore instabile, mentre nel secondo e nel terzo caso, si otterrebero controllori non fisicamente irrealizzabili.
In questi casi si procede per via approssimata. Si costruisce Ca(s) in modo che esso sia uguale a G-1(s) nella banda di frequenze desiderata.
Cristian Secchi Pag. 25
Controllo a giunto indipendenteControllo a giunto indipendente
Nel caso di un azionamento elettrico, la funzione di trasferimento del plant è, in prima approssimazione, a meno di costanti, data da G(s)=1/s2. Pertanto l’azione in avanti, che deve contenere il termine G-1(s)=s2, è fisicamente irrealizzabile in quanto contiene un doppia derivazione sul segnale di posizione di riferimentosegnale di posizione di riferimento.
In realtà, questo non è un problema, in quanto, quando viene calcolato il riferimento di posizone, si calcolano anche i riferimenti di velocità, accelerazione, ecc. Si può evitare di derivare un segnale di riferimento, avendo già a disposizione i valori delle sue derivate fino a un certo ordine.
Nel caso ideale cioè se G-1(s) è realizzabile e perfettamente nota l’anello di
Controllo di Robot -- 49Cristian Secchi Controllo di Sistemi Robotici
Nel caso ideale, cioè se G 1(s) è realizzabile e perfettamente nota, l anello di retroazione e il regolatore R(s) sarebbero inutili per l’inseguimento del riferimento, essi contribuirebbero solamente all’attenuazione dei disturbi agenti sul sistema. In realtà il contributo della retroazione è fondamentale per compensare l’effetto della conoscenza imperfetta del modello, della non perfetta realizzabilità dell’azione in avanti e dei disturbi sul sistema.
Controllo a giunto indipendenteControllo a giunto indipendente
G(s)R(s)yd y
-Cf(s)
Ca(s)
+++ u
- +
Sia, ad esempio:
Controllo di Robot -- 50Cristian Secchi Controllo di Sistemi Robotici
L’azione in avanti non è fisicamente realizzabile in quanto dovrebbe essere:
Cristian Secchi Pag. 26
Controllo a giunto indipendenteControllo a giunto indipendente
Approssimiamo l’azione in avanti ideale con un’azione in avanti approssimata e poniamo:
In tal modo si ha inseguimento perfetto per yd=const.
Controllo di Robot -- 51Cristian Secchi Controllo di Sistemi Robotici
yd (tratteggiato) e y continuo errore di inseguimento
Controllo a giunto indipendenteControllo a giunto indipendente
yd (tratteggiato) e y continuo errore di inseguimento
Controllo di Robot -- 52Cristian Secchi Controllo di Sistemi Robotici
L’introduzione dell’azione in avanti, anche approssimata, migliora molto le prestazioni in termini di inseguimento,
Cristian Secchi Pag. 27
Controllo a giunto indipendenteControllo a giunto indipendente
L’azione in avanti ideale è data da Ca(s)=s+10 e, quindi, il contributo all’ingresso del plant dato dall’azione in avanti è dato da:
D t l i i d d h l lti li i l d i iDa questa relazione, ricordando che la moltiplicazione per s nel dominio di Laplace corrisponde alla derivata nel dominio nel tempo, si deduce che l’azione in avanti ideale, se è nota la velocità di riferimento, è implementabile con il seguente schema con ka,p=10 e ka,v=1
k
ka,v
++
Controllo di Robot -- 53Cristian Secchi Controllo di Sistemi Robotici
G(s)R(s)yd y
-+
++ u
ka,p
Controllo a giunto indipendenteControllo a giunto indipendente
yd (tratteggiato) e y continuo errore di inseguimento
Controllo di Robot -- 54Cristian Secchi Controllo di Sistemi Robotici
Siccome è stata implementata l’azione in avanti ideale, l’inseguimento è perfetto.
Cristian Secchi Pag. 28
Sistema di conversione MetanoControllo di un riduttore Elettronico di pressioneControllo di un riduttore Elettronico di pressione
Serbatoio di alimentazione
Riduttore di pressione
Commutatore
Controllo di Robot -- 55
FiltroRail iniettori
Centralina Elettronica Gas
Controllo di un riduttore Elettronico di pressioneControllo di un riduttore Elettronico di pressione
Riduttori di pressione meccanici:
• Regolazione effettuata mediante valvola,Regolazione effettuata mediante valvola, membrana (o pistone) e molla
• Sistemi robusti• Costituiti da uno o più stadi di riduzione
Limiti:
I ibilità di i l i i it i tt l l i l
Controllo di Robot -- 56Cristian Secchi Controllo di Sistemi Robotici
• Impossibilità di variare la pressione in uscita rispetto al valore nominale• Impossibilità di essere gestiti durante il loro funzionamento• Presenza di elementi sensibili alla temperatura (membrana)
Cristian Secchi Pag. 29
Controllo di un riduttore Elettronico di pressioneControllo di un riduttore Elettronico di pressione
• Regolazione elettronica della pressione durante il funzionamento
• Ottenere una pressione variabile ma controllata in uscita per eventualiinnovative strategie di iniezione
• Capacità di mantenere costante la pressione in uscita al variare dellaportata
• Possibilità di facile diagnosi con strategie di recovery in caso dimalfunzionamento
• Possibilità di essere gestito, integralmente al sistema di iniezione, dalla
Controllo di Robot -- 57Cristian Secchi Controllo di Sistemi Robotici
centralina del veicolo
• Possibilità di funzionamento con diversi carburanti
Attuatore:
InInElettrovalvola di comando
Schema di FunzionamentoSchema di Funzionamento
OutOut
Pistoncino mobile(regolatore pressione e portata)
Strategia dicontrollo:
Il sensore di pressione permette un controllo in feedback.
Controllo di Robot -- 58
controllo in feedback.
Il circuito di controllo confronta la pressione d’uscita (Pout) con quella obiettivo elaborando l’appropriato comando elettrico e quindi la giusta attuazione del regolatore affinchè si eguaglino le due pressioni.
Cristian Secchi Pag. 30
Struttura del ControlloStruttura del Controllo
Controllo di Robot -- 59Cristian Secchi Controllo di Sistemi Robotici
Realizzazione del Controllo
Schema di controllo generale:• La pressione misurata nelrail viene confrontata colvalore di pressionedesiderato Ptarget
• Si ricava l’errore dipressione ΔP su cui agisce il controllore
• Dal rail viene richiestauna portata di gas variabile nel tempo
• Il valore di pressione dialimentazione Pin viene
id
Controllo di Robot -- 60
considerato come disturbo Controllo PID
Cristian Secchi Pag. 31
Risultati ottenuti col controllo PID
Ottimizzando i coefficienti KP, KI e KD si ottiene:
• Il sistema si comporta bene in termini di oscillazione di pressione d’uscita, se simantenengono costanti la pressione di alimentazione e la portata di gas richiesta;
• Per variazioni di portata di gas richiesta al riduttore, il sistema non risultabb t f t i tt l ifi h i hi t i t i i di t bilitàabbastanza performante e non rispetta le specifiche richieste in termini di stabilità
della Pout.
Portata di gas richiesta al riduttore
Controllo di Robot -- 61
Pressione d’uscita(Pout)
Controllo con compensazione in avanti
Al controllo retroazionato viene aggiunta la compensazione in avanti:
Controllo di Robot -- 62
Il modello utilizzato per costruire l’azione in avanti è stato ottenuto mediante tecniche di identificazione e gain scheduling
Cristian Secchi Pag. 32
Risultati
Portata di gas richiesta al riduttore
Andamenti della pressione d’uscita al variare della portata di gas richiesta
Pin = 260 [bar]Ptarget = 3 [bar]
Pressione d’uscita(Pout)
Portata di gas
Controllo di Robot -- 63
Pin = 150 [bar]Ptarget = 3 [bar]
grichiesta al riduttore
Pressione d’uscita(Pout)
Risultati
Portata di gas richiesta al riduttore
Andamenti della pressione d’uscita al variare della portata di gas richiesta
Pin = 50 [bar]Ptarget = 3 [bar]
richiesta al riduttore
Pressione d’uscita(Pout)
Controllo di Robot -- 64
La risposta del sistema a sollecitazioni dinamiche (portata richiesta variabile) si mantiene sempre all’interno dei limiti imposti in tutte le condizioni di pressione d’ingresso e di portata di gas richiesti da specifica.
Cristian Secchi Pag. 33
Risultati
Andamenti della pressione d’uscita al variare della pressione desiderata
Simulazioni effettuate imponendo variazioni di pressione d’uscita Pout desiderata:d p ess o e d usc ta out des de ata
Portata richiesta = 20 [kg/h]Pin = 150 [bar]Pout = 3 5 [bar] in 300 [ms]
Controllo di Robot -- 65
Portata richiesta = 30 [kg/h]Pin = 100 [bar]Pout = 3 10 [bar] in 450 [ms]
Controllo a giunto indipendenteControllo a giunto indipendente
Consideriamo il caso del controllo di un giunto robotica con il solo anello di posizione.
In prima approssimazione, la relazione che lega l’accelerazione alla ètensione di alimentazione VA è data da:
E quella che lega la velocità a VA è data da:
Controllo di Robot -- 66Cristian Secchi Controllo di Sistemi Robotici
Pertanto, invertendo le relazioni approssimate, è possibile costruire lo schema di controllo complessivo.
Cristian Secchi Pag. 34
Controllo a giunto indipendenteControllo a giunto indipendente
+-
D’
+-
-
Controllo di Robot -- 67Cristian Secchi Controllo di Sistemi Robotici
Controllo a giunto indipendenteControllo a giunto indipendente
Svolgendo dei semplici calcoli, è possibile mostrare che l’inserimento delle azioni in avanti equivale a considerare lo schema di controllo con l’anello di posizione con un riferimento in ingresso pari a:
I valori di velocità e accelerazione che sono necessari per calcolare il
Controllo di Robot -- 68Cristian Secchi Controllo di Sistemi Robotici
I valori di velocità e accelerazione che sono necessari per calcolare il nuovo riferimento, possono essere facilmente calcolati se non già disponiile se la traiettoria desiderata è espressa in forma analitica.
Cristian Secchi Pag. 35
Controllo a giunto indipendenteControllo a giunto indipendente
Consideriamo il caso del controllo di un giunto robotica con l’anello di posizione e quello di velocità in cascata. Facendo ragionamenti del tutto analoghi a quelli precedenti, si ottiene che lo schema complessivo risulta.
+-
D’
+-
-+
-
Controllo di Robot -- 69Cristian Secchi Controllo di Sistemi Robotici
Controllo a giunto indipendenteControllo a giunto indipendente
Svolgendo dei semplici calcoli, è possibile mostrare che l’inserimento delle azioni in avanti equivale a considerare lo schema di controllo con un riferimento in ingresso pari a:
I valori di velocità e accelerazione che sono necessari per calcolare il
Controllo di Robot -- 70Cristian Secchi Controllo di Sistemi Robotici
I valori di velocità e accelerazione che sono necessari per calcolare il nuovo riferimento, possono essere facilmente calcolati se non già disponiilese la traiettoria desiderata è espressa in forma analitica.
Cristian Secchi Pag. 36
Controllo a giunto indipendenteControllo a giunto indipendente
D’
+-
D
+-
+-
+-
-
Controllo di Robot -- 71Cristian Secchi Controllo di Sistemi Robotici
Controllo a giunto indipendenteControllo a giunto indipendente
Svolgendo dei semplici calcoli, è possibile mostrare che l’inserimento delle azioni in avanti equivale a considerare lo schema di controllo con un riferimento in ingresso pari a:
I valori di velocità e accelerazione che sono necessari per calcolare il
Controllo di Robot -- 72Cristian Secchi Controllo di Sistemi Robotici
I valori di velocità e accelerazione che sono necessari per calcolare il nuovo riferimento, possono essere facilmente calcolati se non già disponiilese la traiettoria desiderata è espressa in forma analitica.
Cristian Secchi Pag. 37
Controllo a giunto indipendenteControllo a giunto indipendente
Si noti che man mano che crescono gli anelli di controllo, cala il grado di conoscenza del modello richiesto per l’implementazione dell’azione in avanti. In particolare:
A ll di i i T kAnello di posizione: Tm, km
Anelli di posizione e velocità: km
Anelli di posizione, velocità e accelerazione: km, ma con peso ridotto
Controllo di Robot -- 73Cristian Secchi Controllo di Sistemi Robotici
L’inserimento dei termini con l’azione in avanti migliora notevolmente le prestazioni in termini di inseguimento che sono tanto migliori quanto più è noto accuratamente il modello del sistema.
Controllo a giunto indipendenteControllo a giunto indipendente
E’ possibile individuare delle strutture di controllo equivalenti a quelle viste finora che invece di utilizzare la retroazione di variabili intermedie utilizzano la sola retroazione di posizione e regolatori con azioni standard(P, PI, PID, PID2).
Le due strutture alternative sono equivalenti in termini di reiezione dei disturbi e di inseguimenti della traiettoria, tuttavia l’eliminazione degli anelli interni, diminusce drasticamente la possibilità di agire sulla dinamica delle variabili interni (accelerazione, velocità) e rende meno intuitiva la scelta dei guadagni di controllo.
Controllo di Robot -- 74Cristian Secchi Controllo di Sistemi Robotici
Tuttavia, siccome il PID è il controllore più diffuso in ambito industriale, gli schemi con i regolatori standard sono di gran lunga i più diffusi nelle aziende.
Cristian Secchi Pag. 38
Controllo a giunto indipendenteControllo a giunto indipendente
Gli schemi di controllo illustrati finora consentono un inseguimento asintotico di ogni traiettoria fisicamente realizzabile nel caso in cui il disturbo agente sul giunto sia nullo.
La presenza inevitabile del disturbo provoca l’insorgere di un errore che deteriora le prestazioni in termini di inseguimento della traiettoria desiderata.
Finora abbiamo considerato il disturbo una grandezza esogena ignota
Controllo di Robot -- 75Cristian Secchi Controllo di Sistemi Robotici
Finora abbiamo considerato il disturbo una grandezza esogena ignota agente sull’azionamento e abbiamo cercato di diminuirne l’influenza sulla dinamica del giunto.
Controllo a giunto indipendenteControllo a giunto indipendente
In realtà le cose si possono migliorare perché il disturbo agente sull’azionamento ha un’espressione ben nota ed è calcolabile una volta noto il modello del manipolatore.
àSiano i setpoint di posizione, velocità e accelerazione per TUTTI i motori dei giunti (cioè i setpoint a valle dei riduttori). E’ allora possibile calcolare la seguente azione in avanti:
Cioè l’espressione analitica del disturbo utilizzando i valori di setpoint.
Controllo di Robot -- 76Cristian Secchi Controllo di Sistemi Robotici
p p
Questa azione in avanti tende a compensare l’effetto del disturbo sul giunto derivante dalla struttura meccanica del manipolatore. Una compensazione di questo tipo è detta compensazione in avanti a coppia precalcolata.
Cristian Secchi Pag. 39
Controllo a giunto indipendenteControllo a giunto indipendente
Azione
Azione in avanti
centralizzata
ControlloreDecentralizzato
Azionamento del giunto
+-
Azione in avanti
decentralizzata
-+ +
+
Controllo di Robot -- 77Cristian Secchi Controllo di Sistemi Robotici
Schema di controllo con compensazione in avanti a coppia precalcolata
Controllo a giunto indipendenteControllo a giunto indipendente
• Sebbene il termine di disturbo residuo dir=dd
i-d si annulli solo nel caso ideale di inseguimento perfetto, (q=qd) e di conoscenza perfetta del modello, in ogni caso dr rappresenta un disturbo di interazione ridotto rispetto a d; pertanto la tecnica di compensazione a coppia precalcolata riduce l’effetto del disturbo di accoppiamento e richiede al controllo minori sforzi di reiezione al disturbo e, quindi, minori costanti di guadagno
• Il calcolo dell’azione in avanti ddi è oneroso computazionalmente (è
un’azione di controllo centralizzata) e i tempi di calcolo potrebbero eccedere il periodo di campionamento in sistemi real-time.
• Per rendere realizzabile la compensazione del disturbo anche in sistemi i i d i d di i i l ibil
Controllo di Robot -- 78Cristian Secchi Controllo di Sistemi Robotici
caratterizzati da un periodo di campionamento piccolo, una possibile soluzione è quella di calcolare una compensazione parziale, cioè di calcolare solamente i termini più significativi del disturbo: i termini dovuti alle inerzie e i termini gravitazionali.
Cristian Secchi Pag. 40
Controllo CentralizzatoControllo Centralizzato
• Nel controllo a giunto indipendente ciascun giunto è considerato separatamente.
• In realtà un manipolatore non è un insieme di n sistemi disaccoppiati ma è un unico sistema multivariabile con n ingressi (le coppie ai giunti)coppie ai giunti).
• Gli algoritmi di controllo centralizzato considerano il robot nel suo insieme e sfruttano le caratteristiche, anche non lineari, del sistema per ottenere gli obiettivi desiderati
• L’approccio centralizzato è più rigoroso di quello decentralizzato e consente di disegnare leggi di controllo non lineari che consentono di ottenere la stabilità globale e l’inseguimento di setpoint desiderati
• Le performance che si ottengono con algoritmi di controllo
Controllo di Robot -- 79Cristian Secchi Controllo di Sistemi Robotici
centralizzato sono migliori di quelle che si ottengono con il controllo decentralizzato. Pertanto, il controllo centralizzato diventa indispensabile quando si ha a che fare con applicazione avanzate.
• L’algoritmo di compensazione in avanti a coppia precalcolata è un esempio particolare di controllo centralizzato.
Controllo CentralizzatoControllo Centralizzato
Per costruire la legge di controllo è necessario tenere conto del modello dinamico del manipolatore:
Il meccanismo di attuazione (motori DC) e riduzione è governato da:
Kt è la matrice delle costanti di coppiaKr è la matrice di riduzioneRa è la matrice di resistenze di armatura
Controllo di Robot -- 80Cristian Secchi Controllo di Sistemi Robotici
aKv è la matrice delle costanti di tensionGv è la matrice di guadagni degli amplificatorivc è il vettore delle tesioni di controllo dei servomotori
Cristian Secchi Pag. 41
Controllo CentralizzatoControllo Centralizzato
Attuatori ManipolatoreVA
IA
q
Applicando opportune sostituzioni, il modello del manipolatore con il sistema di attuazione è dato da:
Si considera tutto il sistema MIMO con n ingressi e n uscite
Controllo di Robot -- 81Cristian Secchi Controllo di Sistemi Robotici
dove
Controllo CentralizzatoControllo Centralizzato
• La struttura dinamica del sistema da controllare è la stessa• Il sistema complessivo risulta controllato in tensione
Manipolatore+
-
τuvc
Controllo di Robot -- 82Cristian Secchi Controllo di Sistemi Robotici
Le coppie date in ingresso ai giunti si ottengono sottraendo all’ingresso u il termine dovuto alla forza controelettromotrice.
Cristian Secchi Pag. 42
Controllo CentralizzatoControllo Centralizzato
Utilizzando un sistema controllato in tensione, le coppie fornite dipendono dalle matrici Kt, Kv e RA dei motori che sono influenzate dalle situazioni operative.
Per ridurre la sensibilità alle variazioni parametriche è conveniente considerare azionamenti caratterizzati dal controllo in coppia (corrente) piuttosto che dal controllo in tensione. In tal caso gli attuatori si comportano come generatori controllati di coppia:
Controllo di Robot -- 83Cristian Secchi Controllo di Sistemi Robotici
Viene pertanto imposta la corrente di armatura anziché la tensione di armatura tramite la matrice diagonale dei guadagni Gi.
Controllo CentralizzatoControllo Centralizzato
Effettuando opportune sostituzioni, il modello del manipolatore con il sistema di attuazione è dato da:
dove
Manipolatoreu=τvc
Controllo di Robot -- 84Cristian Secchi Controllo di Sistemi Robotici
Il sistema complessivo risulta controllato in coppia.
Negli schemi di controllo illustrati, si determina la legge di controllo u che assicura il soddisfacimento di opportune specifiche. La tensione da vc da applicare si può ottenere dividendo u per opportune costanti di guadagno.
Cristian Secchi Pag. 43
Controllo PD + Compensazione di gravitàControllo PD + Compensazione di gravità
• E’ un tipo molto semplice di controllo centralizzato
• Combina l’azione lineare del controllore PD con un termine di compensazione non lineare
• Risolve il problema della regolazione, cioè di portare il manipolatore in una configurazione che sia globalmente asintoticamente stabile
• E’ utile per compiti in cui è richiesto il posizionamento dell’end
Controllo di Robot -- 85Cristian Secchi Controllo di Sistemi Robotici
• E’ utile per compiti in cui è richiesto il posizionamento dell’end-effector in una ben precisa posizione (es.: pick & place)
Controllo PD + Compensazione di gravitàControllo PD + Compensazione di gravità
Si consideri una configurazione qd=(q1, … ,qn)T in cui si desidera portare il robot. In altri termini, il controllore deve garantire che il punto qd sia un punto di equilibrio asintoticamente stabile per il sistema descritto da
L’idea di base è quella di compensare tramite l’azione di controllo l’effetto
Controllo di Robot -- 86Cristian Secchi Controllo di Sistemi Robotici
q pdella gravità, che tende a portare il robot in una configurazione di minimo di energia potenziale gravitazionale, e poi di introdurre, sempre attraverso il controllore, un’azione che tenda a portare la configurazione del robot in qd.
Cristian Secchi Pag. 44
Controllo PD + Compensazione di gravitàControllo PD + Compensazione di gravità
Da un punto di vista energetico, l’idea è quella di fare un energy shaping, cioè di dare all’energia del sistema controllato la forma di interesse.
Il manipolatore se lasciato libero di evolvere tende a portarsi nellaIl manipolatore, se lasciato libero di evolvere, tende a portarsi nella configurazione di minimo di energia potenziale (gravitazionale). Si costruisce pertanto un’azione di controllo che imponga al sistema controllato un’energia potenziale “desiderata”, cioè con un minimo nella configurazione desiderata qd.
Si costruisce una legge di controllo che compensa il termine gravitazionale g(q) e lo sostituisce con un termine elastico:
Controllo di Robot -- 87Cristian Secchi Controllo di Sistemi Robotici
g g(q)
dove KP è una matrice definita positiva di guadagni, interpretabili come effetti elastici introdotti sui giunti
Controllo PD + Compensazione di gravitàControllo PD + Compensazione di gravità
Il comportamento dinamico del sistema controllato è dato da:
da cui segue
Il termine relativo al potenziale gravitazionale è stato sostituito da un termine associato a un potenziale.
Controllo di Robot -- 88Cristian Secchi Controllo di Sistemi Robotici
La configurazione qd è una configurazione di equilibrio per il manipolatore. Perché sia risolto il problema della regolazione, è necessario che qd sia asintoticamente stabile.
Cristian Secchi Pag. 45
Controllo PD + Compensazione di gravitàControllo PD + Compensazione di gravità
Si definisca la seguente variabile:
Considerando il cambio di variabile
Controllo di Robot -- 89Cristian Secchi Controllo di Sistemi Robotici
è possibile studiare l’asintotica stabilità di qd studiando l’asintotica stabilità dell’origine del sistema nelle nuove coordinate
Controllo PD + Compensazione di gravitàControllo PD + Compensazione di gravità
Si consideri la seguente funzione candidata di Lyapunov:
la funzione è composta da due termini:
L’energia cinetica del sistema
Controllo di Robot -- 90Cristian Secchi Controllo di Sistemi Robotici
L’energia potenziale elastica imposta al sistema tramite l’azione di controllo
Cristian Secchi Pag. 46
Controllo PD + Compensazione di gravitàControllo PD + Compensazione di gravità
Siccome M(q) e KP sono definite positive per ogni q, la funzione V è definita positiva. Consideriamo ora la sua derivata orbitale. Tenendo conto che
si ha che:
Controllo di Robot -- 91Cristian Secchi Controllo di Sistemi Robotici
ma:
Controllo PD + Compensazione di gravitàControllo PD + Compensazione di gravità
Per cui:
da cui
ma, per le proprietà del modello di Eulero-Lagrange
Controllo di Robot -- 92Cristian Secchi Controllo di Sistemi Robotici
pertanto
Cristian Secchi Pag. 47
Controllo PD + Compensazione di gravitàControllo PD + Compensazione di gravità
Siccome D è una matrice definita positiva, la derivata orbitale di V è definita negativa e, pertanto, in virtù del criterio di Lyapunov, la configurazione qd è una configurazione di equilibrio asintoticamente stabile per il sistema controllato. Siccome poi la funzione di Lyapunov è adialmente illimitata il p nto di eq ilib io è GASradialmente illimitata, il punto di equilibrio è GAS.
La velocità con cui il robot si porta nella configurazione desiderata è data dalla velocità con cui V va a 0 e, pertanto dalla matrice D. Per poter imporre una velocità arbitraria di convergenza a 0 di V è utile introdurre nell’azione di controllo un termine derivativo e, cioè, considerare
Controllo di Robot -- 93Cristian Secchi Controllo di Sistemi Robotici
dove KD è una matrice definita positiva che può essere interpretata come un attrito aggiuntivo introdotto dal controllo.
Controllo PD + Compensazione di gravitàControllo PD + Compensazione di gravità
In tal modo, considerando la stessa funzione di Lyapunov ed effettuando gli stessi passaggi, si ottiene:
scegliendo opportunamente la matrice KD è possibile imporre al robot di portarsi in qd con una velocità arbitraria.
Controllo di Robot -- 94Cristian Secchi Controllo di Sistemi Robotici
Cristian Secchi Pag. 48
Controllo PD + Compensazione di gravitàControllo PD + Compensazione di gravità
Schema di controllo
Manipolatore+ -+ u
A i di C t ll
Manipolatore- + +
Controllo di Robot -- 95Cristian Secchi Controllo di Sistemi Robotici
Azione di Controllo
Controllo PD + Compensazione di gravitàControllo PD + Compensazione di gravità
• La legge di controllo è non lineare nel termine gravitazionale e lineare di tipo PD La configurazione q è GAS er ogni K e K
Osservazioni
lineare di tipo PD. La configurazione qd è GAS er ogni KP e KDdefinite positive
• L’introduzione dell’azione derivativa (KD) è necessaria per sistemi caratterizzati da bassi coefficienti di attrito
• Il calcolo di g(q) deve essere perfetto altrimente la metodologia di ll di l i ll bili à
Controllo di Robot -- 96Cristian Secchi Controllo di Sistemi Robotici
controllo non consente di trarre nessuna conclusione sulla stabilità di qd
Cristian Secchi Pag. 49
Controllo di Robot Controllo di Robot -- EsempioEsempio
y1
x2y2
q2
mi = 1 Kgqi = variabile del giunto i-esimoIi = 1 Nsec^2/rad^2a = 1 m
x0
y0x1
q1
ai = 1 maCi = 0.5 mg = -9.8 m/sec^2τi = coppia agente sul giunto i
Controllo di Robot -- 97Cristian Secchi Controllo di Sistemi Robotici
Controllo di Robot Controllo di Robot -- EsempioEsempio
x1
y1
y2
q2
Configurazione di Partenza
q1=π/2 rad
x0
y0x2
q1
q1 /q2=-π/2 radx=1 my=1 m
Controllo di Robot -- 98Cristian Secchi Controllo di Sistemi Robotici
Cristian Secchi Pag. 50
Controllo di Robot Controllo di Robot -- EsempioEsempio
Posizione di pick: x = 1.71 m y = 0.71 m
y0
Posizione di place: x = 0 m y = 1.41 m
x0
Controllo di Robot -- 99Cristian Secchi Controllo di Sistemi Robotici
x0
y0
Controllo di Robot Controllo di Robot -- EsempioEsempio
Parametri del controllore:
• KPx=KPy= 60 N/my• KDx=KDy= 20 Nsec/m
Controllo di Robot -- 100Cristian Secchi Controllo di Sistemi Robotici
Cristian Secchi Pag. 51
Controllo di Robot Controllo di Robot -- EsempioEsempio
Controllo di Robot -- 101Cristian Secchi Controllo di Sistemi Robotici
Controllo di Robot Controllo di Robot -- EsempioEsempio
Controllo di Robot -- 102Cristian Secchi Controllo di Sistemi Robotici
Cristian Secchi Pag. 52
Controllo di Robot Controllo di Robot -- EsempioEsempio
Controllo di Robot -- 103Cristian Secchi Controllo di Sistemi Robotici
Controllo di Robot Controllo di Robot -- EsempioEsempio
Controllo di Robot -- 104Cristian Secchi Controllo di Sistemi Robotici
Cristian Secchi Pag. 53
Controllo a dinamica inversaControllo a dinamica inversa
• E’ una strategia di controllo centralizzata
• E’ utile per problemi di tracking di traiettoria
• Richiede una conoscenza accurata del modello del manipolatore
• Si basa sulla linearizzazione globale del sistema
Controllo di Robot -- 105Cristian Secchi Controllo di Sistemi Robotici
Controllo a dinamica inversaControllo a dinamica inversa
Il modello dinamico del manipolatore con il suo sistema di attuazione può essere riscritto come:
L’idea è quella di trovare un’azione di controllo che consenta di linearizzare globalmente il sistema cioè di trasformare un sistema non
Controllo di Robot -- 106Cristian Secchi Controllo di Sistemi Robotici
linearizzare globalmente il sistema, cioè di trasformare un sistema non lineare in un sistema lineare MIMO.
Ciò è possibile in quanto la matrice M(q) è sempre invertibile e si ottiene mediante una retroazione non lineare dello stato del sistema.
Cristian Secchi Pag. 54
Controllo a dinamica inversaControllo a dinamica inversa
Si consideri la seguente azione di controllo:
Dove y rappresenta un nuovo vettore di ingresso la cui struttura deve Dove y rappresenta un nuovo vettore di ingresso la cui struttura deve essere ancora determinata. Utilizzando l’ingresso proposto si ottiene:
Manipolatoreu
Controllo di Robot -- 107Cristian Secchi Controllo di Sistemi Robotici
Manipolatore+ +
Controllo a dinamica inversaControllo a dinamica inversa
L’azione di controllo proposta porta il sistema ad avere un comportamento descritto da
Dove y è il nuovo ingresso.
Il nuovo sistema è lineare e disaccoppiato rispetto a y, cioè la componente
Controllo di Robot -- 108Cristian Secchi Controllo di Sistemi Robotici
Il nuovo sistema è lineare e disaccoppiato rispetto a y, cioè la componente yi del nuovo vettore di ingresso influenza solo la componente qi delle variabili di giunto.
Cristian Secchi Pag. 55
Controllo a dinamica inversaControllo a dinamica inversa
Occorre determinare un ingresso y che renda il sistema asintoticamente stabile. Se si sceglie:
Si ottiene che:
che se le matrici K e K sono definite positive risulta asintoticamente
Controllo di Robot -- 109Cristian Secchi Controllo di Sistemi Robotici
che, se le matrici KP e KD sono definite positive, risulta asintoticamente stabile. Se il sistema viene lasciato libero di evolvere (r=0) esso tende a portarsi nella configurazione GAS q=0. Scegliendo opportunamente le matrici KP e KD è possibile assegnare una dinamica arbitraria al sistema, cioè è possibile assegnare arbitrariamente gli autovalori della matrice di stato che descrive il sistema lineare.
Controllo a dinamica inversaControllo a dinamica inversa
Sia qd(t) una traiettoria che si desidera il manipolatore segua. Imponendo:
Si ottiene che
dove
Pertanto, scegliendo KD e KP definite positive, la dinamica dell’errore di inseguimento è asintoticamente stabile e, pertanto, l’errore di inseguimento tende a 0 con una dinamica che può essere arbitrariamente
Controllo di Robot -- 110Cristian Secchi Controllo di Sistemi Robotici
g pimposta scegliendo opportunamente KP e KD.
Tramite il controllo a dinamica inversa si possono ottenere ottime prestazioni di tracking per ogni traiettoria desiderata.
Cristian Secchi Pag. 56
Controllo a dinamica inversaControllo a dinamica inversa
Manipolatore+ +u++
+
Controllo di Robot -- 111Cristian Secchi Controllo di Sistemi Robotici
Controllo a dinamica inversaControllo a dinamica inversa
• Si possono distiguere due anelli di retroazione: quello più interno è una retroazione non lineare dello stato che rende il sistema controllato lineare e disaccoppiato. L’anello più esterno è una retroazione lineare dello stato che stabilizza il sistema complessivo.
• Per implementare questa strategia di controllo è necessario il calcolo in tempo reale e la conoscenza perfetta di tutti i termini del modello dinamico del manipolatore. Questo può risultare problematico e rappresenta il punto debole del controllo a dinamica inversa.
Controllo di Robot -- 112Cristian Secchi Controllo di Sistemi Robotici
• Esistono tecniche di controllo che non hanno bisogno di una conoscenza precisa del modello del robot (controllo adattativo, controllo sliding mode, …)
Cristian Secchi Pag. 57
Controllo a dinamica inversaControllo a dinamica inversa
y
x2y2
q
mi = 1 Kgqi = variabile del giunto i-esimoIi = 1 Nsec^2/rad^2
Esempio
x0
y0x1
y1
q1
q2Ii 1 Nsec 2/rad 2ai = 1 maCi = 0.5 mg = -9.8 m/sec^2τi = coppia agente sul giunto i
Controllo di Robot -- 113Cristian Secchi Controllo di Sistemi Robotici
Controllo a dinamica inversaControllo a dinamica inversa
Posizioni dei giunti
Controllo di Robot -- 114Cristian Secchi Controllo di Sistemi Robotici
Coppie
Cristian Secchi Pag. 58
Controllo nello spazio operativoControllo nello spazio operativo
• Finora abbiamo supposto che la traiettoria di setpoint fosse data nello spazio di giunto e che fossero note le sue derivate.
• Spesso le specifiche di moto vengono prescritte nello spazio operativo e non nello spazio di giunto
• E’ necessario utilizzare algoritmi di cinematica inversa per ricavare i setpoint per gli schemi di controllo che agiscono sullo spazio di giunto
Cambio diCoordinate Controllore Manipolatore
-
Controllo di Robot -- 115Cristian Secchi Controllo di Sistemi Robotici
Il cambio di coordinate è oneroso computazionalmente, soprattutto se occorre ottenere anche setpoint di velocità e di accelerazione. Per questo, le attuali unità di governo dei robot ricavano i setpoit di posizione per i giunti mediante inversione cinematica e calcolano i setpoint di velocità e di accelerazione, se richiesti dal controllore, mediante algoritmi di derivazione numerica.
Controllo nello spazio operativoControllo nello spazio operativo
Un approccio alternativo consiste di considerare schemi di controllo costruiti direttamente nello spazio operativo. In questi schemi, le grandezze misurate ai giunti vengono trasformate, mediante la cinematica diretta, nella posizione nello spazio operativo. Si calcola poi l’errore di regolazione direttamente nello spazio operativo e lo si utilizza per generare le coppie dadirettamente nello spazio operativo e lo si utilizza per generare le coppie da dare ai giunti.
Controllore Manipolatore-
Controllo di Robot -- 116Cristian Secchi Controllo di Sistemi Robotici
Alto onere computazionale
Molto utili per certe applicazioni
Maggiori periodi di campionamento (quindi, degrado delle prestazioni)
Controllo di interazione
Cristian Secchi Pag. 59
Controllo nello spazio operativoControllo nello spazio operativo
Schema di principio 1
Controllore Manipolatore-
J-1(q) consente di ottenere l’errore nello spazio di giunto a partire dall’errore nello spazio operativo. L’azione di controllo è implementata nello spazio di giunto.
Controllo di Robot -- 117Cristian Secchi Controllo di Sistemi Robotici
Per utilizzare tale schema gli errori di regolazione devono essere “piccoli”.
Occorre fare attenzione a non avvicinarsi a configurazioni di singolarità
Controllo nello spazio operativoControllo nello spazio operativo
Schema di principio 2
Controllore Manipolatore-
L’azione di controllo è implementata direttamente nello spazio operativo, a partire dall’errore Δx. L’azione di controllo, un wrench da applicare all’end-effector, è convertito in un vettore di coppire tramite JT(q).
Controllo di Robot -- 118Cristian Secchi Controllo di Sistemi Robotici
Non ci sono problemi realizzativi quando ci si avvicina a configurazioni di singolarità.
Cristian Secchi Pag. 60
Controllo nello spazio operativoControllo nello spazio operativo
E’ possibile riformulare il controllo PD + compensazione di gravità nello spazio operativo. L’idea che sta dietro all’azione di controllo risulta molto intuitiva.
Problema: Progettare un Controllore nello spazio di lavoro che porti l’end-g p peffector ad una data configurazione.
Il controllore deve agire come il sistema molla-damper. La molla tira l’end-effector verso l’obiettivo e il damper smorza le oscillazioni portando il robot a fermarsi nell’obiettivo
Target
KP
KD
Controllo di Robot -- 119Cristian Secchi Controllo di Sistemi Robotici
nell obiettivo.
Azione Proporzionale all’errore di posizione
Azione proporzionale alla Derivata dell’errore
g
Controllo nello spazio operativoControllo nello spazio operativo
• Un controllore PD sarebbe sufficiente se non ci fosse la gravità• La forza di gravità “disturba” il robot tendendo a “tirarlo in basso”• Per poter usare il controllore PD occorre compensare l’effetto della
gravitàg
Manipolatore+
-
-++ +
u
Controllo di Robot -- 120Cristian Secchi Controllo di Sistemi Robotici
KP e KD definite positive
Cristian Secchi Pag. 61
Controllo nello spazio operativoControllo nello spazio operativo
Verifichiamo che l’azione di controllo rende GAS xd.
Si definisca la seguente variabile:
Considerando il cambio di variabile
Controllo di Robot -- 121Cristian Secchi Controllo di Sistemi Robotici
è possibile studiare l’asintotica stabilità di xd studiando l’asintotica stabilità dell’origine del sistema nelle nuove coordinate
Controllo nello spazio operativoControllo nello spazio operativo
Si consideri la seguente funzione candidata di Lyapunov:
la funzione è composta da due termini:
L’energia cinetica del sistema
Controllo di Robot -- 122Cristian Secchi Controllo di Sistemi Robotici
L’energia potenziale elastica imposta al sistema tramite l’azione di controllo
Cristian Secchi Pag. 62
Controllo nello spazio operativoControllo nello spazio operativo
Siccome M(q) e KP sono definite positive per ogni q, la funzione V è definita positiva. Consideriamo ora la sua derivata orbitale. Tenendo conto che
si ha che:
Controllo di Robot -- 123Cristian Secchi Controllo di Sistemi Robotici
ma:
Controllo nello spazio operativoControllo nello spazio operativo
Per cui:
da cui
ma, per le proprietà del modello di Eulero-Lagrange
t t
Controllo di Robot -- 124Cristian Secchi Controllo di Sistemi Robotici
pertanto
scegliendo opportunamente la matrice KD è possibile imporre al robot di portarsi in xd con una velocità arbitraria.
Cristian Secchi Pag. 63
Controllo nello spazio operativoControllo nello spazio operativo
Anche il controllo a dinamica inversa può essere riformulato nello spazio operativo.
Dove y rappresenta un nuovo vettore di ingresso la cui struttura deve essere ancora determinata. Il nuovo ingresso deve essere determinato in modo che l’end-effector segua la traiettoria di setpoint xd
Controllo di Robot -- 125Cristian Secchi Controllo di Sistemi Robotici
g p d
Controllo nello spazio operativoControllo nello spazio operativo
Derivando l’equazione costitutiva della cinematica differenziale diretta si ha:
Se si sceglie come ingresso, se J(q) è invertibile:g g , (q)
Si ottiene
Pertanto, scegliendo KD e KP definite positive, la dinamica dell’errore di
dove
Controllo di Robot -- 126Cristian Secchi Controllo di Sistemi Robotici
inseguimento è asintoticamente stabile e, pertanto, l’errore di inseguimento tende a 0 con una dinamica che può essere arbitrariamente imposta scegliendo opportunamente KP e KD.
Tramite il controllo a dinamica inversa si possono ottenere ottime prestazioni di tracking per ogni traiettoria desiderata.
Cristian Secchi Pag. 64
Controllo nello spazio operativoControllo nello spazio operativo
Manipolatore+ +u++
++
Controllo di Robot -- 127Cristian Secchi Controllo di Sistemi Robotici
Controllo nello spazio operativoControllo nello spazio operativo
• Si ottengono ottime prestazioni di inseguimento di traiettoria
• C’è il problema delle singolarità siccome nella legge di controllo compare l’inversa dello Jacobiano. Occorre pianificare le traiettorie e costruire l’azione di controllo in modo da tenere il manipolatore lontano dalle singolarità
Controllo di Robot -- 128Cristian Secchi Controllo di Sistemi Robotici
Cristian Secchi Pag. 65
CONTROLLO DI SISTEMI ROBOTICILaurea Specialistica in Ingegneria Meccatronica
CONTROLLO DI SISTEMI ROBOTICICONTROLLO DI SISTEMI ROBOTICICONTROLLO DI ROBOT ANTROPOMORFICONTROLLO DI ROBOT ANTROPOMORFI
Ing. Cristian SecchiTel. 0522 522235
e-mail: [email protected]://www.dismi.unimo.it/Members/csecchi