Controllo di Manipolatori (Calcolo delle Traiettorie 2) Robotica Como...parabolici durante la fase...

23
Controllo di Manipolatori Controllo di Manipolatori (Calcolo delle Traiettorie 2) (Calcolo delle Traiettorie 2) Ph.D Ing. Folgheraiter Michele Ph.D Ing. Folgheraiter Michele Corso di Robotica Corso di Robotica Prof. Prof. Caglioti Caglioti Anno Anno Acc Acc . 2005/2006 . 2005/2006 2) Il sistema con tecniche euristiche calcola in automatico le velocità nei punti di via (magari facendo in modo che le accelerazioni siano continue) Scelta della velocità nei punti di via con metodo Euristico:

Transcript of Controllo di Manipolatori (Calcolo delle Traiettorie 2) Robotica Como...parabolici durante la fase...

Page 1: Controllo di Manipolatori (Calcolo delle Traiettorie 2) Robotica Como...parabolici durante la fase iniziale finale 6 DOF (1969) θ start goal t 4-Si hanno quindi tre tratti: uno lineare

1

Controllo di ManipolatoriControllo di Manipolatori(Calcolo delle Traiettorie 2)(Calcolo delle Traiettorie 2)

Ph.D Ing. Folgheraiter MichelePh.D Ing. Folgheraiter Michele

Corso di Robotica Corso di Robotica Prof.Prof. CagliotiCaglioti

Anno Anno AccAcc. 2005/2006. 2005/2006

2) Il sistema con tecniche euristiche calcola in automatico le velocità nei punti di via (magari facendo in modo che le accelerazioni siano continue)

Scelta della velocità nei punti di via con metodo Euristico:

Page 2: Controllo di Manipolatori (Calcolo delle Traiettorie 2) Robotica Como...parabolici durante la fase iniziale finale 6 DOF (1969) θ start goal t 4-Si hanno quindi tre tratti: uno lineare

2

Connettere due cubiche in un punto di via

(imponendo accelerazione continua nel punto di via)

Consideriamo 3 punti: fv ϑϑϑ →→0

θ(t) = a10 + a11 t+ a12 t2 + a13 t3 Traiettoria da θ0 a θvθ(t) = a20 + a21 t + a22 t2 + a23 t3 Traiettoria da θv a θf

Con t che va da zero a tf1 per la prima cubica, e da zero a tf2 per la seconda. Deve valere quindi:

θ0= a10θv= a10 + a11t f1 + a12t2

f1 + a13t3f1

θv= a20θf= a20 + a21t f2 + a22t2

f2 + a23t3f2

0= a11 0= a21 + 2 a22t f2 +3 a23t2

f2a21= a11 + 2 a12t f1+3 a13t2

f1

2 a22=2 a12+6 a13t f1

Angolo pari a θ0 per t=0 per la prima cubicaAngolo pari a θv per t=tf1 per la prima cubicaAngolo pari a θv per t=0 per la seconda cubicaAngolo pari a θf per t=tf2Velocità nulla per t=0Velocità nulla per t=tf2 Velocità uguale nel punto di via (prima cubica t=tf1seconda t=0)Accelerazione uguale nel punto di via (prima cubica t=t f1 seconda t=0)

Esempio) Connessione tra 4 cubiche:

Page 3: Controllo di Manipolatori (Calcolo delle Traiettorie 2) Robotica Como...parabolici durante la fase iniziale finale 6 DOF (1969) θ start goal t 4-Si hanno quindi tre tratti: uno lineare

3

Se si vogliono imporre anche dei vincoli sulle accelerazioni occorrono polinomi del 5° ordine.

- Si ottengono delle traiettorie più dolci, che sollecitano meno la struttura meccanica del robot.

- Il calcolo della traiettoria risulta essere piùcomplesso.

Utilizzo di funzioni Lineari con raccordi Parabolici

(Spazio dei Giunti)

- Questo metodo è stato sviluppato alla Standford University:

- Utilizza dei segmenti di retta per interpolare i punti.

- Questo tuttavia implica accelerazione infinita durante la fase iniziale e finale del moto.

Si utilizzano de raccordi parabolici durante la fase iniziale finale

6 DOF(1969)

θ

start

goal

t

Page 4: Controllo di Manipolatori (Calcolo delle Traiettorie 2) Robotica Como...parabolici durante la fase iniziale finale 6 DOF (1969) θ start goal t 4-Si hanno quindi tre tratti: uno lineare

4

-Si hanno quindi tre tratti: uno lineare e due parabolici

- Si possono avere differenti soluzioni ( a seconda di come scegliamo le accelerazioni iniziali e finali).

θ

Start t

goal

Raccordo 1

Raccordo 2

Tratto lineare

Moto

t

θ(t)

Velocità

t

θ’(t)

Accelerazione

t

θ’’(t)

0

0

0

t

θ(t)

t

θ’(t)

t

θ’’(t)

0

0

0

Accelerazione elevata Accelerazione moderata

hf 2tt =

Page 5: Controllo di Manipolatori (Calcolo delle Traiettorie 2) Robotica Como...parabolici durante la fase iniziale finale 6 DOF (1969) θ start goal t 4-Si hanno quindi tre tratti: uno lineare

5

2

- Il metodo è buono dal punto di vista computazionale (usa al massimo polinomi di 2° grado)

nullo è linerare trattoil allora )(4

se )(4

20

20

f

f

f

f

tt

θθθ

θθθ

−=

−≥ &&&&

Traiettorie nello Spazio Cartesiano

Problemi:

- Difficoltà nel calcolare la cinematica inversa in Real-time

- Alcuni punti della traiettoria possono trovarsi fuori dallo spazio di lavoro

- Possibile passaggio della traiettoria per punti singolari a velocità infinite.

Possibile metodologia

- Vogliamo una traiettoria rettilinea nello spazio cartesiano

- Possiamo generare delle traiettorie nello spazio dei giunti che interpolino la traiettoria lineare scelta nello spazio cartesiano .

Quanti punti di via inseriamo?

Page 6: Controllo di Manipolatori (Calcolo delle Traiettorie 2) Robotica Como...parabolici durante la fase iniziale finale 6 DOF (1969) θ start goal t 4-Si hanno quindi tre tratti: uno lineare

6

Algoritmo di Bounded Deviation Path

1. Calcola (cinematica inversa) la configurazione dei giunti di start e goal; calcola quindi la traiettoria nello spazio dei giunti fra start e goal;2. Calcola il punto di mezzo nello spazio dei giunti, e applicando la cinematica diretta trova la posizione cartesiana corrispondente;3. Se l’errore nel cammino geometrico è maggiore di quello permesso allora

a. metti un punto di via (knot) a metà del cammino cartesiano fra start e goal;b. dividi il cammino in due parti, da start a knot, da knot a goal;c. richiama ricorsivamente l’algoritmo sulle due metà del cammino;a.altrimenti termina;

4. Ritorna la sequenza dei knot points (punti di vincolo).

Oss:

-Questo metodo, nello spazio cartesiano genera una traiettoria che ondeggia attorno alla traiettoria rettilinea che volevamo approssimare.

Page 7: Controllo di Manipolatori (Calcolo delle Traiettorie 2) Robotica Como...parabolici durante la fase iniziale finale 6 DOF (1969) θ start goal t 4-Si hanno quindi tre tratti: uno lineare

7

Controllore Cinematico Cartesiano

Oss:

Se si movimentano degli oggetti diventa importante anche la dinamica; in questo caso è necessario considerare le accelerazioni, e quindi le forze d’inerzie e i momenti d’inerzia.

CinematicaInversa

J-1

controllore

θ forze / momenti

robot(sensori interni)

CinematicaDiretta

X

J X

.

.

(guadagno)θ . J = Jacobiano

J–1

= Jacobiano inverso

notare che il controllo èeseguito sulle variabilicartesiane su cui ècalcolato l’errore

errore

θ&θ

XX &,

Controllori per Robot Industriali

Il sistema di controllo di un robot è un dispositivo composto in genere da un sistema multi-processore, collegato in rete con altre risorse locali di controllo, monitoraggio e immagazzinamento dati.

Funzioni di base:

• Interazione con l'operatore• Immagazzinamento di dati• Calcolo delle traiettorie• Controllo in tempo reale del moto dei giunti• Monitoraggio sensori• Interazione con altri macchinari• Interazione con altre risorse computazionali

Page 8: Controllo di Manipolatori (Calcolo delle Traiettorie 2) Robotica Como...parabolici durante la fase iniziale finale 6 DOF (1969) θ start goal t 4-Si hanno quindi tre tratti: uno lineare

8

Controllo del moto dei giunti

Il controllore ha il compito di mantenere la risposta dinamica (velocitàesecuzione movimento) del manipolatore entro certi limiti, fissati da criteri di prestazione stabiliti a priori.

La soluzione a questo problema è complicata da:

• Forze inerziali

• Accoppiamento tra i vari giunti

• Forza di gravità

• Carico Variabile

Il problema della sintesi del sistema di controllo si risolve:

1) trovando il modello dinamico del manipolatore

2) usando il modello per sintetizzare la legge di controllo in conformità con le specifiche sulle prestazioni.

Page 9: Controllo di Manipolatori (Calcolo delle Traiettorie 2) Robotica Como...parabolici durante la fase iniziale finale 6 DOF (1969) θ start goal t 4-Si hanno quindi tre tratti: uno lineare

9

Solitamente nei sistemi industriali, il sistema di controllo tratta ogni giunto del braccio come un semplice servomeccanismoindipendente dagli altri.Questo approccio non è quello ottimale in quanto si trascura il moto e la configurazione istantanea dell’intero braccio.

•Basse velocità nei movimenti

•Riduzione dello smorzamento nei servomeccanismi (oscillazioni)

•Tempi di attuazione più lunghi in presenza di carichi variabili

Controllo dei giunti

Per il controllo ad anello chiuso:

- Ogni giunto è controllato indipendentemente

- Il controllore del giunto è un PID

Calco lo de l l et ra ie t to r ie

θ

fo rze /m o m e n t iX , X

r o b o t( sensor i in t e rn i )

.

θ

θ

.

..

...

Cont ro l lo rede l g iun to 1

Con t ro l lo rede l g iun to 2

Con t ro l lo rede l g iun to n

θ

θ

θ

.

. .

C ’è un control loreper ogni giunto levariabil i θ indicatesono dei vet tor i

Cin. inv.

J-1

Page 10: Controllo di Manipolatori (Calcolo delle Traiettorie 2) Robotica Como...parabolici durante la fase iniziale finale 6 DOF (1969) θ start goal t 4-Si hanno quindi tre tratti: uno lineare

10

Controllore del Braccio PUMA

Per il braccio della serie PUMA 560, il regolatore consiste in un calcolatore DEL e sei micro-controllori Rockwell ciascuno con equipaggiato di encoder, convertitore DAC e amplificatore di corrente.

6 GDL

Attraverso il terminale l’operatore può impartire comandi al braccio attraverso il linguaggio VAL.Una volta che il comando VAL è stato decodificato la CPU interna esegue delle routine memorizzate nella Eprom.

Page 11: Controllo di Manipolatori (Calcolo delle Traiettorie 2) Robotica Como...parabolici durante la fase iniziale finale 6 DOF (1969) θ start goal t 4-Si hanno quindi tre tratti: uno lineare

11

Compito delle routine interne è quello di:

• Eseguire le trasformazioni di coordinate, per esempio dato un punto dell’ambiente esterno vengono ricavate le coordinate del giunto o viceversa

• Pianificazione delle traiettorie interpolate dei giunti (ogni giunto aggiornato ogni 28ms)

• Accertamento che il comando è stato eseguito su ogni singolo giunto.

Ogni servomeccanismo è controllato attraverso un regolatore PID:• I guadagni dei PID sono costanti, questo risulta essere un

problema specialmente in condizioni di carico variabile, infattiil robot Puma a velocità ridotte risulta essere soggetto a forti vibrazioni.

Funzione di trasferimento del singolo GIUNTO

Solitamente nei manipolatori azionati elettricamente, ogni giunto èmosso da un motore a corrente continua a magneti permanenti.

Questo tipo di attuazione offre grossi rapporti momento/potenza e uniformità di funzionamento a basse velocità.

Lo schema elettromeccanico di un singolo giunto può essere rappresentato come figura:

uscita e ingresso di denti Numero:,

carico di alberoall' riferito car. inerzia di Momento:motore alberoall' riferito mot. inerzia di Momento:

viscosoattrito Coeff.:,caricomotore, angolare Posizione:,

motore dal erogata Coppia :

tromotricecontroelet Forza:e

armaturad' Grandezze:,,,

b

LM

L

M

LM

LM

aaaa

NN

JJ

ff

iRLV

ϑϑ

τ

Page 12: Controllo di Manipolatori (Calcolo delle Traiettorie 2) Robotica Como...parabolici durante la fase iniziale finale 6 DOF (1969) θ start goal t 4-Si hanno quindi tre tratti: uno lineare

12

Derivando rispetto il tempo:

La distanza lineare percorsa dagli ingranaggi è la stessa, e i raggi degli ingranaggi sono proporzionali al numero di denti:

Considerando la coppia dissipata sul carico e quella dissipata all’interno del motore possiamo dire che la coppia generata dal motore è:

Dove:

Per il principio di conservazione del lavoro: il lavoro eseguito dal carico riferito all’albero di carico deve essere uguale al lavoro fatto dal carico riferito all’albero motore (*):

Page 13: Controllo di Manipolatori (Calcolo delle Traiettorie 2) Robotica Como...parabolici durante la fase iniziale finale 6 DOF (1969) θ start goal t 4-Si hanno quindi tre tratti: uno lineare

13

Sostituendo in

si ottiene:

Quindi

Dove sono momento di inerzia e coefficiente di attrito viscoso effettivi (motore + carico) riferiti all’albero motore.

Sappiamo (elettrotecnica) che la coppia sviluppata dal motore e proporzionale alla corrente di armatura:

La parte elettrica del motore sarà descritta da:

Dove la forza contro-elettromotrice è proporzionale alla velocitàangolare del motore:

Trasformando secondo Laplace e risolvendo rispetto la corrente:

Page 14: Controllo di Manipolatori (Calcolo delle Traiettorie 2) Robotica Como...parabolici durante la fase iniziale finale 6 DOF (1969) θ start goal t 4-Si hanno quindi tre tratti: uno lineare

14

Trasformando secondo Laplace anche l’eq. di coppia effettiva:

La coppia generata dal motore (secondo le eq. della parte elettrica) trasformata:

Ma, queste due coppie devono coincidere, quindi:

La costante di tempo della parte elettrica del motore può esseretrascurata rispetto la costante di tempo meccanica, quindi possiamo trascurare l’induttanza La:

dove

Page 15: Controllo di Manipolatori (Calcolo delle Traiettorie 2) Robotica Como...parabolici durante la fase iniziale finale 6 DOF (1969) θ start goal t 4-Si hanno quindi tre tratti: uno lineare

15

Utilizzando il rapporto di riduzione dell’ingranaggio possiamo ottenere la funzione di trasferimento del manipolatore a singolo giunto che mette in relazione la tensione applicata al motore con lo spostamento angolare del giunto:

Regolatore di posizione per singolo GIUNTO

Lo scopo del regolatore è fare in modo che lo spostamento del giunto insegua uno spostamento desiderato. La tecnica di regolazione èfondata sull’errore di posizione angolare del giunto.

Si applica al motore una tensione direttamente proporzionale all’errore di posizione.

Dove Kp è il guadagno di reazione all’errore di posizione.

La funzione di trasferimento ad anello aperto del manipolatore a singolo giunto è rappresentata in figura:

)()( effeffm fsJst += ϑτ

Retroazione Intrinseca

Page 16: Controllo di Manipolatori (Calcolo delle Traiettorie 2) Robotica Como...parabolici durante la fase iniziale finale 6 DOF (1969) θ start goal t 4-Si hanno quindi tre tratti: uno lineare

16

Trasformando secondo Laplace la legge di controllo:

E sostituendo nella FDT del manipolatore a singolo giunto, si ottiene la FDT ad anello aperto che mette in relazioni lo spostamento con l’errore di posizione del giunto:

Adesso possiamo chiudere l’anello di controllo ottenendo lo schema:

E(s)

Page 17: Controllo di Manipolatori (Calcolo delle Traiettorie 2) Robotica Como...parabolici durante la fase iniziale finale 6 DOF (1969) θ start goal t 4-Si hanno quindi tre tratti: uno lineare

17

Come si può notare dalle equazione il sistema ad anello chiuso è del secondo ordine, ed è quindi stabile se tutti i suoi parametri sono positivi (fondamenti di automatica).

1. Per ridurre il tempo di risposta, e ridurre l’errore a regime èpossibile aumentare il guadagno proporzionale Kp (instabilità).

2. E possibile introdurre degli smorzamenti artificiali nel sistemaaggiungendo nel controllore anche una derivata dell’errore di posizione (PD).

Usando questa legge di controllo è necessario misurare oltre alla posizione del giunto anche la sua velocità.

La velocità desiderata si può ottenere dalle equazioni che descrivono le traiettorie nello spazio dei giunti (es quelle cubiche).

Ora nella FDT del sistema ad anello chiuso è presente anche uno zero. Al variare di questo zero (-Kv/Kp) varia l’overshoot e il tempo di assestamento del sistema.

Page 18: Controllo di Manipolatori (Calcolo delle Traiettorie 2) Robotica Como...parabolici durante la fase iniziale finale 6 DOF (1969) θ start goal t 4-Si hanno quindi tre tratti: uno lineare

18

Robot Industriali

(Breve Panoramica)

Il numero di robot venduti nel mondo è stimato a: 1.000.000. (N.B. ABB, ad oggi 2005, dice di averne venduti 120.000)

Page 19: Controllo di Manipolatori (Calcolo delle Traiettorie 2) Robotica Como...parabolici durante la fase iniziale finale 6 DOF (1969) θ start goal t 4-Si hanno quindi tre tratti: uno lineare

19

n Nel 2000, in Italia, le aree applicative predominanti sono risultate:

n manipolazione: ( asservimento macchine,

assemblaggio) (3066 robot, 61% unità)

n saldatura (1018 robot, 20% unità)

n misura (7%)

n altre (12%)

Robotica Industriale in Italia

Aziende produttrici

nel Mondo

ABB (Nata in Europa dalla fusione della svedese ASEA

e della svizzera BBC, leader nella Robotica)

FANUC (USA-Giapponese, 1986)

STÄUBLI (Europea, 1989, compera la Unimation)

ADEPT (1983, USA)

MOTOMAN (USA, 1989)

KUKA (Tedesca)

KAWASAKI (1969, Giapponese)

George Devol e Engelberger fondano nel 1956 la prima azienda di Robotica UNIMATION (USA)

Page 20: Controllo di Manipolatori (Calcolo delle Traiettorie 2) Robotica Como...parabolici durante la fase iniziale finale 6 DOF (1969) θ start goal t 4-Si hanno quindi tre tratti: uno lineare

20

1974100.000 Installazioni

Esempio Manipolatore ABB:

- E’ il robot più utilizzato al mondo (14000 installazioni)

Page 21: Controllo di Manipolatori (Calcolo delle Traiettorie 2) Robotica Como...parabolici durante la fase iniziale finale 6 DOF (1969) θ start goal t 4-Si hanno quindi tre tratti: uno lineare

21

Page 22: Controllo di Manipolatori (Calcolo delle Traiettorie 2) Robotica Como...parabolici durante la fase iniziale finale 6 DOF (1969) θ start goal t 4-Si hanno quindi tre tratti: uno lineare

22

Sicurezza nei Robot

I "sistemi di sicurezza" principali presenti in una cella robotica si suddividono in:

•barriere fisiche: reti, barre

•luci lampeggianti•sistemi elettronici: rilevano la presenza di

di un intruso nello spazio di lavoro del robot•segnali di pericolo •sistemi intelligenti: sono in grado di arrestare il robot o di alterare

automaticamente la traiettoria

Robot della Fanuc per assemblaggio e saldatura.

- Robot Antropomorfo su carrello automatizzato

Robots ABB, task coordinato - Controllo di forza sull’End-Effector

- Fase prototipale

Filmati

Page 23: Controllo di Manipolatori (Calcolo delle Traiettorie 2) Robotica Como...parabolici durante la fase iniziale finale 6 DOF (1969) θ start goal t 4-Si hanno quindi tre tratti: uno lineare

23

Piattaforme Multi-robot per Saldatura MotoMan

Piattaforma Multi-robot Verniciatura MotoMan

Sistemi di movimentazione MotoMan, Kawasaki

- Robot Cartesiani

Rifiniture Meccaniche

ABB