Cristian Secchi Pag. 1
Ing. Cristian Secchi Tel. 0522 522235
e-mail: [email protected] http://www.dismi.unimo.it/Members/csecchi
CONTROLLO DI ROBOT INDUSTRIALI Laurea Magistrale in Ingegneria Meccatronica
CONTROLLO DI SISTEMI ROBOTICI CONTROLLO DI ROBOT ANTROPOMORFI
Controllo di Robot -- 2 Cristian Secchi
Richiami di cinematica e dinamica dei robot
j0
j1
ji
Jn-1
jn
L1
L2 Li-1 Li
Ln-1
Ln
End - Effector
Un robot antropomorfo è una catena cinematica aperta
• Ogni link (Li) è collegato ad altri link tramite un giunto (Ji) che consente un certo movimento relativo tra i due link.
• 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
Controllo di Robot -- 3 Cristian Secchi
Richiami di cinematica e dinamica dei robot
Si consideri un manipolatore con n gradi di libertà. Sarà adottata la seguente notazione:
Vettore delle variabili di giunto
Configurazione dell’end-effector
Wrench applicato
all’end-effector
Twist dell’end-effector
Jacobiano del robot J(q)
Controllo di Robot -- 4 Cristian Secchi
Richiami di cinematica e dinamica dei robot
Problemi cinematici fondamentali e soluzioni
Cinematica
Cinematica Differenziale
Statica
Cristian Secchi Pag. 3
Controllo di Robot -- 5 Cristian Secchi
Richiami 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 gravità al caso di più masse interconnesse
• Descrive il comportamento di un sistema NON lineare
Controllo di Robot -- 6 Cristian Secchi
Richiami di cinematica e dinamica dei robot
M(q) Matrice d’inerzia. Tiene conto l’effetto delle masse dei vari link. Dipende dalla configurazione.
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!)
g(q) Tiene conto dell’effetto della gravità. Dipende dalla configurazione!
Cristian Secchi Pag. 4
Controllo di Robot -- 7 Cristian Secchi
Controllo 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 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 attenuare 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 Robot -- 8 Cristian Secchi
Controllo di Robot
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
Principali problematiche di controllo
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 Robot -- 9 Cristian Secchi
Controllo di posizione - 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.
2. Controllo centralizzato: Si tiene esplicitamente conto dell’accoppiamento tra i giunti e della dinamica non lineare del robot
Vantaggio: Semplificazioni nella costruzione del controllore Svantaggio: Necessità di portare i setpoint nell spazio di giunto
Controllo di Robot -- 10 Cristian Secchi
Controllo a giunto indipendente
Le forze generalizzate τi applicate ai giunti sono generate da attuatori tramite opportuni organi di trasmissione.
Attuatore Riduttore Giunto
qm
τm
q
τ
Kr è una matrice diagonale (n x n) i cui elementi sulla diagonale sono molto maggiori di 1 in modo da amplificare la coppia trasmessa al giunto.
Cristian Secchi Pag. 6
Controllo di Robot -- 11 Cristian Secchi
Controllo 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
è la matrice degli attriti viscosi riportata ai motori e
è il contributo non lineare dipendente dalla configurazione
Controllo di Robot -- 12 Cristian Secchi
Controllo a giunto indipendente
+ +
+
d
Sistema lineare disaccoppiato
Sistema non lineare accoppiato
- + -
+ ! !
Cristian Secchi Pag. 7
Controllo di Robot -- 13 Cristian Secchi
Controllo 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 τm influenza solo la corrispondente componente di qm. L’altro ha come ingressi qm e le sue derivate e come uscita d ed è non lineare e accoppiato poiché 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 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 e se le velocità non sono troppo elevate.
Controllo di Robot -- 14 Cristian Secchi
Controllo 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’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
I è l’inerzia dell’albero motore e b è il coefficiente d’attrito complessivo
Cristian Secchi Pag. 8
Controllo di Robot -- 15 Cristian Secchi
Controllo a giunto indipendente
Accoppiamento tra il dominio elettrico e quello meccanico
E’ utile rappresentare il motore tramite una funzione di trasferimento. Passando alle trasformate di Laplace, è possibile scrivere
!m (t) = ktiA (t)vm (t) = kt!m (t)
!"#
$#
VA (s) = RAIA (s)+ sLAIA (s)+VM (s)sI!m (s) =Cm " b!m (s)
Cm (s) = ktIA (s)Vm (s) = kt!m (s)
#
$
%%
&
%%
Controllo di Robot -- 16 Cristian Secchi
Controllo a giunto indipendente
Da cui
+
- kt
kt
Cristian Secchi Pag. 9
Controllo di Robot -- 17 Cristian Secchi
Controllo a giunto indipendente
Complessivamente si ha che:
Solitamente b ≈ 0 e, quindi:
Il sistema ha due poli:
Controllo di Robot -- 18 Cristian Secchi
Controllo a giunto indipendente
In pratica LA è abbastanza piccola da fare in modo che (RAI)2-4LAIktkt>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
p1 ! "kt2
RAIp2 ! "
RA
LA
Cristian Secchi Pag. 10
Controllo di Robot -- 19 Cristian Secchi
Controllo a giunto indipendente
Mettendo in evidenza le costanti di tempo, è possibile riscrivere G(s) come:
dove
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 -- 20 Cristian Secchi
Controllo 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 di alimentazione è data da:
dove km=1/kt è il guadagno velocità-tensione
kt
Cristian Secchi Pag. 11
Controllo di Robot -- 21 Cristian Secchi
Controllo a giunto indipendente
Abbiamo costruito il modello del sistema da controllare. Per migliorare le prestazioni, verrà utilizzata la tecnica del controllo in cascata.
La tecnica è utilizzabile nel caso in cui: 1. La dinamica del processo da controllare sia scomponibile in due o più 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)
d
G1(s) G2(s) R(s) yd y u v +
-
Controllo di Robot -- 22 Cristian Secchi
Controllo 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 y u v +
-
d
R2(s) yd +
-
Cristian Secchi Pag. 12
Controllo di Robot -- 23 Cristian Secchi
Controllo 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 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)
4. Possibilità di imporre una dinamica desiderata tra vd e v con conseguente semplificazione per il progetto di R2(s)
Controllo di Robot -- 24 Cristian Secchi
Controllo 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:
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 di Robot -- 25 Cristian Secchi
Controllo a giunto indipendente
+
- +
- D
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.
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:
kv
Controllo di Robot -- 26 Cristian Secchi
Controllo a giunto indipendente
+ -
D’
+ -
+ -
+ -
-
Schema di controllo generale
dove
CP(s) CV(s) CA(s)
kv
kTV
kTA
Cristian Secchi Pag. 14
Controllo di Robot -- 27 Cristian Secchi
Controllo a giunto indipendente
Vi sono tre anelli di retroazione in cascata. In ciascun anello vi è un controllore, in particolare:
Controllore Tipo di Controllo
Costante di trasduzione
CP(s) Controllre di
posizione KTP
CV(s) Controllore di
velocità KTV
CA(s) Controllore di Accelerazione KTA
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 di Robot -- 28 Cristian Secchi
Controllo 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
Cristian Secchi Pag. 15
Controllo di Robot -- 29 Cristian Secchi
Controllo a giunto indipendente
Consideriamo il caso in cui sia presente solo l’anello di posizione, cioè:
+ -
D’
+ -
-
kv
kTP
Controllo di Robot -- 30 Cristian Secchi
Controllo a giunto indipendente
Analisi della risposta
Il sistema ha uno zero e tre poli. δ, ωn e τ dipendono dalle scelte fatte per i 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.
G(s)
H(s)
Cristian Secchi Pag. 16
Controllo di Robot -- 31 Cristian Secchi
Controllo a giunto indipendente
I° CASO: TP<Tm
Luogo delle radici Risposta al gradino
Il sistema è instabile per ogni valore possibile del guadagno kmKPkTP
Controllo di Robot -- 32 Cristian Secchi
Controllo a giunto indipendente
II° CASO: TP>Tm à δωn<1/TP<1/τ
Luogo delle radici Risposta al gradino
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 di Robot -- 33 Cristian Secchi
Controllo a giunto indipendente
III° CASO: TP>>Tm à δωn>1/τ ≈ 1/TP
Luogo delle radici Risposta al gradino
Lo zero in -1/TP tende a cancellare il polo reale. A parità di guadagno si ottengono oscillazioni più smorzate.
Controllo di Robot -- 34 Cristian Secchi
Controllo 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:
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:
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.
Analisi della reiezione dei disturbi
Lo zero nell’origine è dovuto all’azione integrale del controllore e, quando Θ=const. Consente di annullare gli effetti della gravità
Cristian Secchi Pag. 18
Controllo di Robot -- 35 Cristian Secchi
Controllo a giunto indipendente
Consideriamo il caso in cui siano presenti l’anello di posizione e quello di velocità, cioè:
D’
+ -
+ -
- +
-
kv
kTV
kTP
KP
Controllo di Robot -- 36 Cristian Secchi
Controllo 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:
Dove δ e ωn, che caratterizzano la posizione dei poli del sistema, dipendono dai parametri di controllo.
G(s)
H(s)
Cristian Secchi Pag. 19
Controllo di Robot -- 37 Cristian Secchi
Controllo 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), KP e KV si determinano da queste relazioni:
Controllo di Robot -- 38 Cristian Secchi
Controllo 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:
Il fattore di riduzione del disturbo dovuto agli anelli di controllo è dato da:
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
Analisi della reiezione dei disturbi
Cristian Secchi Pag. 20
Controllo di Robot -- 39 Cristian Secchi
Controllo a giunto indipendente
Consideriamo il caso in cui siano presenti l’anello di posizione e quello di velocità, cioè:
+ -
D’
+ -
+ -
+ -
- CP(s) CV(s) CA(s)
kv
kTV
kTA
Controllo di Robot -- 40 Cristian Secchi
Controllo 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:
Dove δ e ωn, che caratterizzano la posizione dei poli del sistema, dipendono dai parametri di controllo.
G(s)
H(s)
Cristian Secchi Pag. 21
Controllo di Robot -- 41 Cristian Secchi
Controllo a giunto indipendente
La funzione di trasferimento che lega il disturbo all’uscita è data da:
Il fattore di reiezione dei disturbi è dato da:
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 di Robot -- 42 Cristian Secchi
Controllo 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:
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 di Robot -- 43 Cristian Secchi
Controllo 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 degradate.
Una possibile soluzione è quella di inserire un’azione di compensazione in avanti sfruttando la conoscenza dei setpoint di posizione, velocità e accelerazione
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 di Robot -- 44 Cristian Secchi
Controllo a giunto indipendente
Schemi di controllo in retroazione
Schemi di controllo con azione in avanti (in catena aperta)
Reiezione ai disturbi, robustezza rispetto alla variazione dei parametri, 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 l’inseguimento perfetto di un setpoint.
Cristian Secchi Pag. 23
Controllo di Robot -- 45 Cristian Secchi
Controllo 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 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.
G(s) R(s) yd y
- Cf(s)
Ca(s)
+ + + u
Controllo di Robot -- 46 Cristian Secchi
Controllo 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 la 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 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 di Robot -- 47 Cristian Secchi
Controllo 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:
Da cui seguie che, per avere un perfetto inseguimento, si deve porre:
Controllo di Robot -- 48 Cristian Secchi
Controllo 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 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 di Robot -- 49 Cristian Secchi
Controllo 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 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 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 di Robot -- 50 Cristian Secchi
Controllo a giunto indipendente
G(s) R(s) yd y
- Cf(s)
Ca(s)
+ + + u
Sia, ad esempio:
L’azione in avanti non è fisicamente realizzabile in quanto dovrebbe essere:
Cristian Secchi Pag. 26
Controllo di Robot -- 51 Cristian Secchi
Controllo 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.
yd (tratteggiato) e y continuo errore di inseguimento
Controllo di Robot -- 52 Cristian Secchi
Controllo a giunto indipendente
yd (tratteggiato) e y continuo errore di inseguimento
L’introduzione dell’azione in avanti, anche approssimata, migliora molto le prestazioni in termini di inseguimento,
Cristian Secchi Pag. 27
Controllo di Robot -- 53 Cristian Secchi
Controllo 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:
Da 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
G(s) R(s) yd y
- +
+ + u
ka,p
ka,v
+ +
Controllo di Robot -- 54 Cristian Secchi
Controllo a giunto indipendente
yd (tratteggiato) e y continuo errore di inseguimento
Siccome è stata implementata l’azione in avanti ideale, l’inseguimento è perfetto.
Cristian Secchi Pag. 28
Controllo di Robot -- 55
Sistema di conversione Metano
Serbatoio di alimentazione
Riduttore di pressione
Filtro Rail iniettori Centralina Elettronica Gas
Commutatore
Controllo di un riduttore Elettronico di pressione
Controllo di Robot -- 56
Controllo di un riduttore Elettronico di pressione
Cristian Secchi
Riduttori di pressione meccanici:
• Regolazione effettuata mediante valvola, membrana (o pistone) e molla
• Sistemi robusti • Costituiti da uno o più stadi di riduzione
Limiti:
• 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 Robot -- 57
Struttura del Controllo
Cristian Secchi
Controllo di Robot -- 58
Realizzazione del Controllo
Schema di controllo generale: • La pressione misurata nel rail viene confrontata col valore di pressione desiderato Ptarget
• Si ricava l’errore di pressione ΔP su cui agisce il controllore
• Dal rail viene richiesta una portata di gas variabile nel tempo
• Il valore di pressione di alimentazione Pin viene considerato come disturbo Controllo PID
Cristian Secchi Pag. 30
Controllo di Robot -- 59
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 si mantenengono costanti la pressione di alimentazione e la portata di gas richiesta;
• Per variazioni di portata di gas richiesta al riduttore, il sistema non risulta abbastanza performante e non rispetta le specifiche richieste in termini di stabilità della Pout.
Portata di gas richiesta al riduttore
Pressione d’uscita
(Pout)
Controllo di Robot -- 60
Controllo con compensazione in avanti
Al controllo retroazionato viene aggiunta la compensazione in avanti:
Il modello utilizzato per costruire l’azione in avanti è stato ottenuto mediante tecniche di identificazione e gain scheduling
Cristian Secchi Pag. 31
Controllo di Robot -- 61
Risultati
Pin = 260 [bar] Ptarget = 3 [bar]
Portata di gas richiesta al riduttore
Pressione d’uscita
(Pout)
Pin = 150 [bar] Ptarget = 3 [bar]
Portata di gas richiesta al riduttore
Pressione d’uscita
(Pout)
Andamenti della pressione d’uscita al variare della portata di gas richiesta
Controllo di Robot -- 62 Cristian Secchi
Controllo 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:
Pertanto, invertendo le relazioni approssimate, è possibile costruire lo schema di controllo complessivo.
Cristian Secchi Pag. 32
Controllo di Robot -- 63 Cristian Secchi
Controllo a giunto indipendente
+ -
D’
+ -
-
kv
kTP
Tmkm
!d
!!d
!!!d
Controllo di Robot -- 64 Cristian Secchi
Controllo 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 nuovo riferimento, possono essere facilmente calcolati se non già disponiile se la traiettoria desiderata è espressa in forma analitica.
Cristian Secchi Pag. 33
Controllo di Robot -- 65 Cristian Secchi
Controllo 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’
+ -
- +
-
kv
kTV
kTP
kTV
KP
!d
!!d
!!!d
Controllo di Robot -- 66 Cristian Secchi
Controllo 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 nuovo riferimento, possono essere facilmente calcolati se non già disponiilese la traiettoria desiderata è espressa in forma analitica.
Cristian Secchi Pag. 34
Controllo di Robot -- 67 Cristian Secchi
Controllo a giunto indipendente
+ -
D’
+ -
+ -
+ -
-
kTV
kTP
CP(s) CV(s) CA(s)
kv
kTV
!d
!!d
!!!d
Controllo di Robot -- 68 Cristian Secchi
Controllo 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 nuovo riferimento, possono essere facilmente calcolati se non già disponiilese la traiettoria desiderata è espressa in forma analitica.
Cristian Secchi Pag. 35
Controllo di Robot -- 69 Cristian Secchi
Controllo 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:
Anello di posizione: Tm, km
Anelli di posizione e velocità: km
Anelli di posizione, velocità e accelerazione: km, ma con peso ridotto
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 di Robot -- 70 Cristian Secchi
Controllo 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.
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. 36
Controllo di Robot -- 71 Cristian Secchi
Controllo 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 agente sull’azionamento e abbiamo cercato di diminuirne l’influenza sulla dinamica del giunto.
Controllo di Robot -- 72 Cristian Secchi
Controllo 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.
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. 37
Controllo di Robot -- 73 Cristian Secchi
Controllo a giunto indipendente
Schema di controllo con compensazione in avanti a coppia precalcolata
Controllore Decentralizzato
Azionamento del giunto
+ -
Azione in avanti
decentralizzata
Azione in avanti
centralizzata
- + +
+
qmd
!qmd!!qmd
Controllo di Robot -- 74 Cristian Secchi
Controllo 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 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. 38
Controllo di Robot -- 75 Cristian Secchi
Controllo Decentralizzato
• 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).
• Se le velocità di operazione sono molto elevate e/o se la costante di
riduzione Kr è vicina a 1 (motori direct drive) allora i termini nonlineari di accoppiamento influenzano in maniera massiva le prestazioni del sistema e, quindi, considerare le componenti di d come disturbi può introdurre errori notevoli nell’inseguimento di traiettorie desiderate.
Controllo di Robot -- 76
Controllo Centralizzato
• 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
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 oppure con traiettorie molto veloci da inseguire
• L’algoritmo di compensazione in avanti a coppia precalcolata è un
esempio particolare di controllo centralizzato.
Cristian Secchi
Cristian Secchi Pag. 39
Controllo di Robot -- 77 Cristian Secchi
Controllo 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 coppia Kr è la matrice di riduzione Ra è la matrice di resistenze di armatura Kv è la matrice delle costanti di tension Gv è la matrice di guadagni degli amplificatori vc è il vettore delle tesioni di controllo dei servomotori
Controllo di Robot -- 78 Cristian Secchi
Controllo Centralizzato
Applicando opportune sostituzioni, il modello del manipolatore con il sistema di attuazione è dato da:
dove
Attuatori Manipolatore VA
IA
q
Si considera tutto il sistema MIMO con n ingressi e n uscite
Cristian Secchi Pag. 40
Controllo di Robot -- 79 Cristian Secchi
Controllo Centralizzato
• La struttura dinamica del sistema da controllare è la stessa • Il sistema complessivo risulta controllato in tensione
Manipolatore +
-
τ u vc
Le coppie date in ingresso ai giunti si ottengono sottraendo all’ingresso u il termine dovuto alla forza controelettromotrice.
Controllo di Robot -- 80 Cristian Secchi
Controllo 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:
Viene pertanto imposta la corrente di armatura anziché la tensione di armatura tramite la matrice diagonale dei guadagni Gi.
Cristian Secchi Pag. 41
Controllo di Robot -- 81 Cristian Secchi
Controllo Centralizzato
Effettuando opportune sostituzioni, il modello del manipolatore con il sistema di attuazione è dato da:
dove
Manipolatore u=τ vc
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.
KrKtGi
Controllo di Robot -- 82 Cristian Secchi
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-effector in una ben precisa posizione (es.: pick & place)
Cristian Secchi Pag. 42
Controllo di Robot -- 83 Cristian Secchi
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 della 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.
Controllo di Robot -- 84 Cristian Secchi
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 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:
dove KP è una matrice definita positiva di guadagni, interpretabili come effetti elastici introdotti sui giunti
Cristian Secchi Pag. 43
Controllo di Robot -- 85 Cristian Secchi
Controllo PD + Compensazione di gravità
Il comportamento dinamico del sistema controllato è dato da:
da cui segue
La configurazione qd è una configurazione di equilibrio per il manipolatore. Perché sia risolto il problema della regolazione, è necessario che qd sia asintoticamente stabile.
Il termine relativo al potenziale gravitazionale è stato sostituito da un termine associato a un potenziale.
Controllo di Robot -- 86 Cristian Secchi
Controllo PD + Compensazione di gravità
Considerando il cambio di variabile
è possibile studiare l’asintotica stabilità di qd studiando l’asintotica stabilità dell’origine del sistema nelle nuove coordinate
Si definisca la seguente variabile:
Cristian Secchi Pag. 44
Controllo di Robot -- 87 Cristian Secchi
Controllo PD + Compensazione di gravità
Si consideri la seguente funzione candidata di Lyapunov:
la funzione è composta da due termini:
L’energia cinetica del sistema
L’energia potenziale elastica imposta al sistema tramite l’azione di controllo
Controllo di Robot -- 88 Cristian Secchi
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:
ma:
Cristian Secchi Pag. 45
Controllo di Robot -- 89 Cristian Secchi
Controllo PD + Compensazione di gravità
Per cui:
da cui
ma, per le proprietà del modello di Eulero-Lagrange
pertanto
Controllo di Robot -- 90 Cristian Secchi
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 è radialmente 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
dove KD è una matrice definita positiva che può essere interpretata come un attrito aggiuntivo introdotto dal controllo.
Cristian Secchi Pag. 46
Controllo di Robot -- 91 Cristian Secchi
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 -- 92 Cristian Secchi
Controllo PD + Compensazione di gravità
Schema di controllo
Azione di Controllo
Manipolatore +
-
- + + +
u
g(!)
!q
q
KD
KP
Cristian Secchi Pag. 47
Controllo di Robot -- 93 Cristian Secchi
Controllo PD + Compensazione di gravità
• La legge di controllo è non lineare nel termine gravitazionale e lineare di tipo PD. La configurazione qd è GAS er ogni KP e KD definite 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 controllo non consente di trarre nessuna conclusione sulla stabilità di qd
Osservazioni
Controllo di Robot -- 94 Cristian Secchi
Controllo di Robot - Esempio
x0
y0 x1
y1
x2 y2
q1
q2
mi = 1 Kg qi = variabile del giunto i-esimo Ii = 1 Nsec^2/rad^2 ai = 1 m aCi = 0.5 m g = -9.8 m/sec^2 τ i = coppia agente sul giunto i
Cristian Secchi Pag. 48
Controllo di Robot -- 95 Cristian Secchi
Controllo di Robot - Esempio
x0
y0
x1
y1
x2
y2
q1
q2
Configurazione di Partenza q1=π/2 rad q2=-π/2 rad x=1 m y=1 m
Controllo di Robot -- 96 Cristian Secchi
Controllo di Robot - Esempio
Posizione di pick: x = 1.71 m y = 0.71 m
Posizione di place: x = 0 m y = 1.41 m
x0
y0
x0
y0
Cristian Secchi Pag. 49
Controllo di Robot -- 97 Cristian Secchi
Controllo di Robot - Esempio
Parametri del controllore: • KPx=KPy= 60 N/m • KDx=KDy= 20 Nsec/m
Controllo di Robot -- 98 Cristian Secchi
Controllo di Robot - Esempio
Cristian Secchi Pag. 50
Controllo di Robot -- 99 Cristian Secchi
Controllo di Robot - Esempio
Controllo di Robot -- 100 Cristian Secchi
Controllo di Robot - Esempio
Cristian Secchi Pag. 51
Controllo di Robot -- 101 Cristian Secchi
Controllo di Robot - Esempio
Controllo di Robot -- 102 Cristian Secchi
Controllo 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
Cristian Secchi Pag. 52
Controllo di Robot -- 103 Cristian Secchi
Controllo 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 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.
Controllo di Robot -- 104 Cristian Secchi
Controllo a dinamica inversa
Si consideri la seguente azione di controllo:
Dove y rappresenta un nuovo vettore di ingresso la cui struttura deve essere ancora determinata. Utilizzando l’ingresso proposto si ottiene:
Manipolatore + + u M (!)
y
!q
qy !q q
Cristian Secchi Pag. 53
Controllo di Robot -- 105 Cristian Secchi
Controllo 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 yi del nuovo vettore di ingresso influenza solo la componente qi delle variabili di giunto.
Controllo di Robot -- 106 Cristian Secchi
Controllo a dinamica inversa
Occorre determinare un ingresso y che renda il sistema asintoticamente stabile. Se si sceglie:
Si ottiene che:
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.
Cristian Secchi Pag. 54
Controllo di Robot -- 107 Cristian Secchi
Controllo 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 imposta scegliendo opportunamente KP e KD.
Tramite il controllo a dinamica inversa si possono ottenere ottime prestazioni di tracking per ogni traiettoria desiderata.
Controllo di Robot -- 108 Cristian Secchi
Controllo a dinamica inversa
Manipolatore + + u + +
+
y
!q
qKD
KPqd
!qd!!qd
M (!)
Cristian Secchi Pag. 55
Controllo di Robot -- 109 Cristian Secchi
Controllo 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.
• Esistono tecniche di controllo che non hanno bisogno di una
conoscenza precisa del modello del robot (controllo adattativo, controllo sliding mode, …)
Controllo di Robot -- 110 Cristian Secchi
Controllo a dinamica inversa
x0
y0 x1
y1
x2 y2
q1
q2
mi = 1 Kg qi = variabile del giunto i-esimo Ii = 1 Nsec^2/rad^2 ai = 1 m aCi = 0.5 m g = -9.8 m/sec^2 τ i = coppia agente sul giunto i
Esempio
Cristian Secchi Pag. 56
Controllo di Robot -- 111 Cristian Secchi
Controllo a dinamica inversa
Posizioni dei giunti
Coppie
Controllo di Robot -- 112 Cristian Secchi
Controllo 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 di Coordinate Controllore Manipolatore
-
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 setpoint 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.
Cristian Secchi Pag. 57
Controllo di Robot -- 113 Cristian Secchi
Controllo 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 da dare ai giunti.
Controllore Manipolatore -
Alto onere computazionale
Molto utili per certe applicazioni
Maggiori periodi di campionamento (quindi, degrado delle prestazioni)
Controllo di interazione
Controllo di Robot -- 114 Cristian Secchi
Controllo 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.
Per utilizzare tale schema gli errori di regolazione devono essere “piccoli”.
Occorre fare attenzione a non avvicinarsi a configurazioni di singolarità
Cristian Secchi Pag. 58
Controllo di Robot -- 115 Cristian Secchi
Controllo 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).
Non ci sono problemi realizzativi quando ci si avvicina a configurazioni di singolarità.
Controllo di Robot -- 116 Cristian Secchi
Controllo 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-effector 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.
Azione Proporzionale all’errore di posizione
Azione proporzionale alla Derivata dell’errore
Target
KP
KD
Cristian Secchi Pag. 59
Controllo di Robot -- 117 Cristian Secchi
Controllo 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à
Manipolatore +
-
- + + +
u
KP e KD definite positive
J(q)!xKD
!q
qg(!)
KP
xd
x
x
Controllo di Robot -- 118 Cristian Secchi
Controllo nello spazio operativo
Verifichiamo che l’azione di controllo rende GAS xd.
Considerando il cambio di variabile
è possibile studiare l’asintotica stabilità di xd studiando l’asintotica stabilità dell’origine del sistema nelle nuove coordinate
Si definisca la seguente variabile:
Cristian Secchi Pag. 60
Controllo di Robot -- 119 Cristian Secchi
Controllo nello spazio operativo
Si consideri la seguente funzione candidata di Lyapunov:
la funzione è composta da due termini:
L’energia cinetica del sistema
L’energia potenziale elastica imposta al sistema tramite l’azione di controllo
Controllo di Robot -- 120 Cristian Secchi
Controllo 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:
ma:
Cristian Secchi Pag. 61
Controllo di Robot -- 121 Cristian Secchi
Controllo nello spazio operativo
Per cui:
da cui
ma, per le proprietà del modello di Eulero-Lagrange
pertanto
scegliendo opportunamente la matrice KD è possibile imporre al robot di portarsi in xd con una velocità arbitraria.
Controllo di Robot -- 122 Cristian Secchi
Controllo 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
Cristian Secchi Pag. 62
Controllo di Robot -- 123 Cristian Secchi
Controllo nello spazio operativo
Derivando l’equazione costitutiva della cinematica differenziale diretta si ha:
Se si sceglie come ingresso, se J(q) è invertibile:
Si ottiene
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 imposta scegliendo opportunamente KP e KD.
Tramite il controllo a dinamica inversa si possono ottenere ottime prestazioni di tracking per ogni traiettoria desiderata.
dove
Controllo di Robot -- 124 Cristian Secchi
Controllo nello spazio operativo
Manipolatore + + u + +
+ +
xd
!xd
!!xd
KD
KP
M (!)y
q
!q
x
!x
Cristian Secchi Pag. 63
Controllo di Robot -- 125 Cristian Secchi
Controllo 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à
Ing. Cristian Secchi Tel. 0522 522235
e-mail: [email protected] http://www.dismi.unimo.it/Members/csecchi
CONTROLLO DI ROBOT INDUSTRIALI Laurea Magistrale in Ingegneria Meccatronica
CONTROLLO DI ROBOT INDUSTRIALI CONTROLLO DI ROBOT ANTROPOMORFI