CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n...

63
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 j 0 j 1 j i J n-1 j n L 1 L 2 L i-1 L i L n-1 L n End - Effector Un robot antropomorfo è una catena cinematica aperta Ogni link (L i ) è collegato ad altri link tramite un giunto (J i ) 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

Transcript of CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n...

Page 1: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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

Page 2: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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

Page 3: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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!

Page 4: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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

Page 5: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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.

Page 6: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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

- + -

+ ! !

Page 7: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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

Page 8: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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

Page 9: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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

Page 10: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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

Page 11: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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 +

-

Page 12: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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).

Page 13: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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

Page 14: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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

Page 15: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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)

Page 16: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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.

Page 17: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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à

Page 18: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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)

Page 19: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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

Page 20: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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)

Page 21: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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.

Page 22: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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.

Page 23: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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.

Page 24: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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.

Page 25: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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:

Page 26: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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,

Page 27: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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.

Page 28: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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)

Page 29: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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

Page 30: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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

Page 31: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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.

Page 32: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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.

Page 33: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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.

Page 34: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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.

Page 35: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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.

Page 36: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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.

Page 37: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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.

Page 38: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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

Page 39: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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

Page 40: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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.

Page 41: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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)

Page 42: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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

Page 43: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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:

Page 44: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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:

Page 45: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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.

Page 46: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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

Page 47: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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

Page 48: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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

Page 49: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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

Page 50: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

Cristian Secchi Pag. 50

Controllo di Robot -- 99 Cristian Secchi

Controllo di Robot - Esempio

Controllo di Robot -- 100 Cristian Secchi

Controllo di Robot - Esempio

Page 51: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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

Page 52: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un 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

Page 53: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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.

Page 54: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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 (!)

Page 55: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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

Page 56: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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.

Page 57: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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à

Page 58: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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

Page 59: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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:

Page 60: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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:

Page 61: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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

Page 62: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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

Page 63: CRI09-Controllo di Robot Antropomorfi · 2011-11-21 · considerare il robot come formato da n sistemi indipendenti (gli n giunti) e di controllare ciascun giunto come un sistema

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