Modello dinamico dei robot:

Похожие документы
Modello dinamico dei robot: approccio Lagrangiano

Controllo di impedenza

Prova Scritta di Robotica II

Modello dinamico dei robot: approccio di Newton-Eulero

Cinematica differenziale inversa Statica

SISTEMI DI CONTROLLO CINEMATICA E DINAMICA DEI ROBOT

Controlli Automatici II. Controllo dei robot manipolatori

Controllo del robot Pendubot

Introduzione al controllo

università DEGLI STUDI DI NAPOLI FEDERICO II

Indice. Prefazione. Esercizi svolti 56

UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II

MODELLI MATEMATICI PER LA MECCANICA CORSO DI LAUREA IN INGEGNERIA AEROSPAZIALE

5a.Rotazione di un corpo rigido attorno ad un asse fisso

Programma di fisica. Classe 1^ sez. F A. S. 2015/2016. Docente: prof. ssa Laganà Filomena Donatella

Cinematica dei robot

Controllo nello spazio dei giunti. Compensazione in avanti a coppia precalcolata. Controllo nello spazio operativo

1 Cinematica del punto Componenti intrinseche di velocità e accelerazione Moto piano in coordinate polari... 4

Teoria dei Sistemi Dinamici

1 Cinematica del punto Componenti intrinseche di velocità e accelerazione Moto piano in coordinate polari... 5

DEDUZIONE DEL TEOREMA DELL'ENERGIA CINETICA DELL EQUAZIONE SIMBOLICA DELLA DINAMICA

Esercizio 1: Data la composizione di rotazioni. Rot(i, 180)Rot(j, 45)Rot(k, 90) Indicare con una tutte le descrizioni corrette:

CAPITOLO 5 PROCESSO DI IDENTIFICAZIONE E COMPENSAZIONE DELLA COPPIA GRAVITAZIONALE INTRODUZIONE

Controlli automatici per la meccatronica

Teoria dei Sistemi Dinamici

Liceo Scientifico Mariano IV d'arborea Oristano. Anno Scolastico Classe 1^B sportivo. Programma svolto di MATEMATICA

Modellistica dei Manipolatori Industriali 01BTT Esame del 23/11/2001 Soluzione

Esame 12/02/2004 Soluzione

LICEO SCIENTIFICO Galileo Galilei VERONA

Numero progressivo: 6 Turno: 1 Fila: 1 Posto: 1 Matricola: Cognome e nome: (dati nascosti per tutela privacy)

PIANO DI STUDIO D ISTITUTO

Modellistica dei Manipolatori Industriali 01BTT Esame del 18/02/2002 Soluzione

Programma dettagliato del corso di MECCANICA RAZIONALE Corso di Laurea in Ingegneria Civile

Corso di Robotica 1 Cinematica inversa

Laboratorio di Automatica Alcuni temi per tesi BIAR in Automazione e Robotica

approfondimento Cinematica ed energia di rotazione equilibrio statico di un corpo esteso conservazione del momento angolare

Programmazione modulare

Analisi e Controllo di un manipolatore S.C.A.R.A.

MECCANICA APPLICATA ALLE MACCHINE Allievi meccanici AA prova del Problema N.1. Problema N.2

Liceo Ginnasio Luigi Galvani Classe 3GHI (scientifica) PROGRAMMA di FISICA a.s. 2016/2017 Prof.ssa Paola Giacconi

Dinamica del Manipolatore (seconda parte)

SISTEMI ELEMENTARI. Prof. Laura Giarré Sistemi Elementari CA Prof.

Inversione della cinematica differenziale

Prova Scritta di Fisica Corso di Studi in Ingegneria Civile, Università della Calabria, 1 Luglio 2014

FISICA E LABORATORIO INDIRIZZO C.A.T. CLASSE PRIMA. OBIETTIVI U. D. n 1.2: La rappresentazione di dati e fenomeni

Fondamenti di Meccanica Esame del

Liceo Scientifico G.Galilei Piano di lavoro annuale a.s. 2016/2017 Classi 1^C - 1^E FISICA Prof.ssa Guerrini Claudia

UNIVERSITÀ DEGLI STUDI DI FIRENZE. Registro dell'insegnamento

RICHIAMI DELLA FISICA DI BASE. 2) I temi fondamentali della fisica classica e della fisica moderna.

Sistemi Dinamici. Corrado Santoro

Robotica: Errata corrige

Транскрипт:

Corso di Robotica 2 Modello dinamico dei robot: analisi, estensioni, proprietà, identificazione, usi Prof. Alessandro De Luca A. De Luca

Analisi accoppiamenti inerziali robot cartesiano robot cartesiano diagonale robot PR " B = b 11 0 # 0 b 22 & " B = b 11 b 12 b 21 b # 22 & " b B(q) = 11 b 12 (q 2 ) # b 21 (q 2 ) b 22 & robot 3R articolato il modello dinamico risulta lineare se g 0 B costante c 0 " B(q) = # d = 0 in PR d 2 = 0 in 2R b 11 ( q 2,q 3 ) 0 0 0 b 22 (q 3 ) b 23 (q 3 ) 0 b 23 (q 3 ) b 33 & baricentro braccio 2 su asse giunto 2 A. De Luca 2

Analisi termine di gravità bilanciamento statico distribuzione masse e inerzie (inclusi i motori) compensazione meccanica sistemi articolati di molle catene cinematiche chiuse assenza di gravità applicazioni spaziali U costante (moto su piano orizzontale) g(q) " 0 A. De Luca 3

Robot con maglie chiuse Comau Smart NJ130 MIT Direct Drive Mark II e Mark III A. De Luca 4

Robot con maglie chiuse MIT Direct Drive Mark IV (five-bar linkage planare) UMinnesota Direct Drive Arm (five-bar linkage spaziale) A. De Luca 5

2 3 l l c3 y c4 l c2 l c1 q 1 Robot a parallelogramma cinematica e dinamica (planare) 4 q 2 1 x 5 l 5 q 2 - π " p EE = l 1c 1 # l 1 s 1 & + " l 5 cos(q 2 ()) # l 5 sin(q 2 ()) & = " l 1c 1 # l 1 s 1 & ( " l 5 c 2 # l 5 s 2 & POSIZIONI BARICENTRI baricentri: l ci arbitrarie parallelogramma: l 1 = l 3 l 2 = l 4 " p c1 = l c1c 1 " # l c1 s p c2 = l c2c 2 " 1 & # l c2 s p c3 = l 2c 2 2 & # l 2 s 2 & + " l c3c 1 " # l c3 s p c4 = l 1c 1 1 & # l 1 s 1 & ( " l c4c 2 # l c4 s 2 & A. De Luca 6 E-E CINEMATICA DIRETTA

Calcolo energia cinetica VELOCITA LINEARI E ANGOLARI # v c1 = "l s c1 1 & l c1 c ( # # q 1 v c3 = "l s c3 1 & 1 l c3 c ( # q 1 + "l s 2 2 & v 1 l 2 s ( c2 = "l s c2 2 & l c2 c ( q 2 2 2 # v c4 = "l s 1 1 & l 1 c ( # q 1 " "l s c4 2 & 1 l c4 c ( 2 q 2 " 1 = " 3 = q 1 " 2 = " 4 = q 2 q 2 T i T 1 = 1 2 m 2 1l c1 q 2 1 + 1 2 I 2 1,zz q 1 T 2 = 1 2 m 2 2l c2 q 2 2 + 1 2 I 2 2,zzq 2 ( q 2 ) T 3 = 1 2 I 3,zz q 2 1 + 1 2 m l 2 3 2q 2 2 + l 2 q 2 + 2l l c 2"1 q 1 c3 1 2 c3 ( q 2 ) T 4 = 1 2 I 4,zzq 2 2 + 1 2 m l 2 4 1q 2 1 + l 2 q 2 " 2l l c 2"1 q 1 c4 2 1 c4 A. De Luca 7

Matrice di inerzia T = 4 " i=1 T i = 1 2 q T B(q) q B(q) = I + m l 2 2 2 # 1,zz 1 c1 + I 3,zz + m 3 l c3 + m 4 l 1 ( 2 m 3 l 2 l c3 "m 4 l 1 l c4 )c 2"1 I 2,zz + m 2 l c2 symm 2 + I 4,zz + m 4 l c4 + m 3 l 2 2 & ( condizione strutturale nel progetto meccanico m 3 l 2 l c3 = m 4 l 1 l c4 (*) B(q) diagonale e costante termini centrifughi e di Coriolis nulli modello dinamico (a meno di g(q)) meccanicamente DISACCOPPIATO e LINEARE vantaggio per il progetto del controllore del moto! A. De Luca 8

Energia potenziale e termini di gravità U i dalle componenti y dei vettori p ci U 1 = m 1 g 0 l c1 s 1 U 2 = m 2 g 0 l c2 s 2 U 3 = m 3 g 0 ( l 2 s 2 + l c3 s 1 ) U = m g l 4 4 0( s " l s 1 1 c4 2) # g(q) = "U & ( " q T nel caso (*) U = 4 " i=1 A. De Luca 9 U i # = g 0( m 1 l c1 + m 3 l c3 + m 4 l 1 )c 1 & # ( = g 1(q 1 )& ( g 0 ( m 2 l c2 + m 3 l 2 )m 4 l c4 )c 2 g 2 (q 2 ) b 11 q 1 + g 1 (q 1 ) = u 1 b 22 q 2 + g 2 (q 2 ) = u 2 componenti disaccoppiate u i coppia (non conservativa) che compie lavoro su q i ulteriori condizioni strutturali nel progetto meccanico portano a g(q) 0

Aggiunta di termini dinamici fenomeni dissipativi per attrito ai giunti viscoso, secco, di primo distacco, di Coulomb effetti locali ai giunti di difficile modellizzazione in generale, tranne per inclusione degli attuatori elettrici (visti come corpi rigidi) u V,i = "F V,i q i u S,i = "F S,i sgn( q i ) motore i montato sul braccio i-1 (o precedente), in genere in asse con il giunto i massa motore (bilanciata sull asse) inclusa in quella del braccio inerzia (del rotore) da aggiungere nell energia cinetica trasmissione con riduttori (spesso con rapporto elevato) a volte più motori cooperano per muovere più giunti: matrice di trasmissione T con accoppiamenti (elementi fuori diagonale) A. De Luca 10

. θ m1 Dislocazione dei motori. θ mn motore 1 motore N SR w (world frame) giunto 2 braccio 1 braccio 2 SR 0 SR 1 SR N - 1 braccio N SR N braccio 0 (base) giunto 1 motore 2 braccio N - 1 giunto N.. θ mi = n ri q i A. De Luca 11. θ m2 τ i = n ri τ mi

Modello dinamico finale semplificazione: nella parte rotazionale dell energia cinetica, si considera solo la velocità di spinning del rotore T mi = 1 2 I mi 2 = 1 2 I n 2 mi riq 2 i = 1 2 B mi " mi q i 2 N T m = " T mi = 1 q 2 T B m q con tutti i termini aggiuntivi, il modello diventa i=1 diagonale ( B(q) + B m ) q + c(q, q ) + g(q) + F V q + F S sgn( q ) = " costante non fornisce contributi in c F v > 0, F S > 0 diagonali coppie motrici (a valle dei riduttori) A. De Luca 12

Parametrizzazione lineare della dinamica è sempre possibile riscrivere il modello dinamico nella forma matrice di regressione a = vettore dei coefficienti dinamici B(q) q + c(q, q ) + g(q) = Y(q, q, q ) a = u ESEMPIO 2R ( ) " s 2 ( q 2 ) # q 1 c 2 2 q 1 + q 2 q 2 2 + 2 q 1 2 0 c 2 q 1 + s 2 q 1 N p p 1 # q 2 c 1 c 12 & q ( 2 0 c 12 A. De Luca 13 a 1 a 2 a 3 a 4 a 5 & ( ( # ( = u 1 & ( u ( 2 ( N.B.: con attrito viscoso e secco, quattro coefficienti in più

Coefficienti dinamici del robot 2R a 1 = I 1,zz + m 1 d 2 1 + I 2,zz + m 2 d 2 2 2 + m 2 l 1 a 2 = m 2 l 1 d 2 2 a 3 = I 3,zz + m 2 d 2 a 4 = g 0 m 1 d 1 + m 2 l 1 a 5 = g 0 m 2 d 2 ( ) 10 parametri dinamici per ogni braccio (corpo rigido): m [1], r c [3], I [6] si combinano per fornire i coefficienti dinamici del robot: tutti e soli quelli rilevanti nel modello dinamico del robot N.B. se g 0 noto e l 1 noto (cinematica!), allora a 2 = l 1 m 2 d 2 = l 1 " a 2 a 5 = g 0 m 2 d 2 = g 0 " a 2 # " a 2 = m 2 d 2 è importante determinare una parametrizzazione minima per sono sufficienti 4 coefficienti! l identificazione sperimentale dei coefficienti dinamici il controllo adattativo del moto in presenza di incertezze parametriche A. De Luca 14

Identificazione dinamica per usare il modello, occorre conoscere i valori numerici dei coefficienti dinamici del robot al più, solo i principali parametri dinamici sono forniti dal costruttore stime approssimate sono deducibili con strumenti CAD i coefficienti di attrito sono (lentamente) variabili nel tempo lubrificazione dei giunti/trasmissioni in presenza di un payload (carico solidale all E-E) variano i 10 parametri dell ultimo braccio questo si riflette in variazioni di tutti (o quasi) i coefficienti dinamici necessari esperimenti preliminari di identificazione robot in movimento (aspetti dinamici, non statici o geometrici!) identificabili solo i coefficienti dinamici (ma non tutti i parametri..) A. De Luca 15

Esperimenti di identificazione 1. scegliere una traiettoria di moto eccitante esplora lo spazio di lavoro e coinvolge tutta la dinamica del robot periodica, con molteplici componenti frequenziali 2. eseguire il moto in modo approssimato con un controllore sfruttando l informazione disponibile sul modello.. in genere, u = K P (q d -q)+k D (q d -q) (PD, nessuna informazione). 3. misurare q (encoder) e, se disponibile, q in n c istanti accelerazione (oltre a velocità) ricavabile fuori linea mediante differenziazione numerica (possibile l uso di filtri non causali) 4. con tali misure/stime e i comandi applicati, valutare il regressore Y a sinistra e la parte destra nell espressione Y(q(t k ), q (t k ), q (t k )) a = u(t k ) k = 1,, n c A. De Luca 16

n c N Identificazione ai minimi quadrati costruire il sistema lineare di equazioni " Y(q(t 1 ), q (t 1 ), q (t 1 )) M Y(q(t nc ), q (t nc ), q # (t nc )) & a = " u(t 1 ) # u(t nc ) & traiettorie eccitanti e selezione del numero di campioni _ (n c N p) e loro posizione garantiscono rango(y) = p risolvere mediante pseudo-inversione della Y a = Y # u = ( Y T Y ) -1 Y T u _ Y a = u eventualmente si può pesare la pseudo-inversa, per tener conto di livelli differenti di rumore sulle misure A. De Luca 17

Dinamica inversa data una traiettoria desiderata di moto q d (t).. differenziabile due volte ( q d (t)) eventualmente ottenuta da una r d (t) cartesiana, mediante inversione cinematica (differenziale) la coppia motrice necessaria ad eseguirla è " d = ( B(q d ) + B m ) q d + c(q d, q d ) + g(q d ) + F V q d + F S sgn( q d ) questo calcolo algebrico (t) non è però efficiente con l approccio Lagrangiano termini simbolici molto lunghi in tempo reale, meglio il calcolo numerico con Newton-Eulero utile per il controllo (feedforward nominale) A. De Luca 18

modello dinamico Lagrangiano Equazioni di stato (Dinamica diretta) B(q) q + c(q, q ) + g(q) = u " definendo il vettore di variabili di stato x = x 1 x # 2 & = " q q # & (IR2N equazioni di stato N equazioni differenziali del 2 ordine x = " # x 1 x 2 & = " x 2 #(B (1 (x 1 ) c(x 1,x 2 ) + g(x 1 ) [ ] + " 0 & # B (1 (x 1 ) & u 2N equazioni differenziali del 1 ordine = f(x) + G(x)u 2N 1 2N N altra possibile scelta x = " q # B(q) q & momento generalizzato ~. x =... (esercizio) A. De Luca 19

Simulazione dinamica schema a blocchi Simulink c(q, q ) q, q qui, generico robot a 2 dof q 1 (0) q 1(0) comando d ingresso (ad anello aperto o in feedback) u + B -1 (q) q 1 q 1 " " q 2 q 2 " " q 1 q 2 g(q) q q q 2 (0) q 2 (0) inclusa inv(b) inizializzazione (coefficienti dinamici e stato iniziale) chiamate a funzioni Matlab per valutazione numerica termini modello scelta metodo di integrazione (e suoi parametri) A. De Luca 20

una realizzazione scorretta u 1 u 2 c 1 + g 1 q 1 (0) q 1 (0) _ 1 q 1 q " 1 " _ b 11 b 12 b 12 1 b 22 loop algebrico q 2 (0) q 2 (0) q 2 q 2 " " q 1 q 2 NO! viola il principio di causalità c 2 + g 2 occorre invertire l intera matrice di inerzia (non solo i suoi termini in diagonale) A. De Luca 21

Linearizzazione approssimata si può ricavare un modello dinamico lineare del robot, valido localmente intorno alla condizione operativa utile per l analisi e il progetto di controllori locali/lineari approssimazione mediante sviluppo di Taylor al primo ordine linearizzazione intorno ad uno stato di equilibrio (constante) o intorno ad una traiettoria di equilibrio (nominale, tempo variante) si può procedere lavorando sulle equazioni di stato, ma conviene direttamente usare il modello del secondo ordine il risultato è lo stesso, ma la derivazione è più facile... stato di equilibrio (q,q) = (q e,0) [ q e =0 ].. traiettoria di equilibrio (q,q) = (q d (t),q d (t)) g(q e ) = u e B(q d ) q d + c(q d, q d ) + g(q d ) = u d A. De Luca 22

Linearizzazione in un punto variazioni intorno ad uno stato di equilibrio q = q e + "q q = q e + " q = " q tenendo conto della dipendenza quadratica di c dalle velocità (termini ininfluenti intorno a velocità nulla) B( q e )" q + g(q e ) + # g "q + o "q, " q # q q=qe nello spazio di stato #"q& "x = " q ( " x = G(q e ) q = q e + " q = " q u = u e + "u ( ) = u e + "u infinitesimi di ordine superiore al primo # 0 I & -B -1 ( q e )G(q e ) 0 ( "x + # 0 B -1 q e ( ) & ("u = A "x + B "u A. De Luca 23

Linearizzazione lungo traiettoria variazioni intorno ad una traiettoria di equilibrio q = q d + "q q = q d + " q q = q d + " q u = u d + "u sviluppando i vari termini nel modello dinamico B( q d + "q)" q + c(q d + "q, q d + " q ) + g(q d + "q) = u d + "u B(q d + "q) # B(q d ) + N i=1 b i q e T i "q q=q d C 1 (q d, q d ) c(q d + "q, q d + " q ) # c(q d, q d ) + c "q + q q=q d q = q d g(q d + "q) # g(q d ) + G(q d )"q i-esima riga della matrice Identità A. De Luca 24 c q q=q d q = " q q d C 2 (q d, q d )

Linearizzazione lungo traiettoria (cont) semplificando con B( q d )" q + C 2 (q d, q d )" q + D(q d, q d, q d )"q = "u D(q d, q d, q d ) = G(q d ) + C 1 (q d, q d ) + nello spazio di stato N # i=1 " b i " q T q d e i q=q d " x = # 0 I & -B -1 ( q d )D(q d, q d, q d ) -B -1 ( q d )C 2 (q d, q d ) ( "x + # 0 B -1 q d = A t ( ) "x + B ( t) "u un sistema lineare, ma tempo variante!! ( ) & ( "u A. De Luca 25

q " IR N Trasformazione di coordinate B(q) q + c(q, q ) + g(q) = B(q) q + n(q, q ) = u q 1 se si vogliono utilizzare nuove coordinate generalizzate p p " IR N p = f(q) q = f "1 (p) p = "f(q) q "q = J(q) q q = J "1 (q) p p = J(q) q + J (q) q, u q = J T (q)u p [ ] q = J "1 (q) p " J (q)j "1 (q) p 1 B(q)J "1 (q) p " B(q)J "1 (q) J (q)j "1 (q) p + n(q, q ) = J T (q)u p J "T (q) # premoltiplicando tutta l equazione... A. De Luca 26

Trasformazione del modello ( ) = u p J " T (q)b(q)j "1 (q) p + J " T (q) n(q, q ) "B(q)J "1 (q) J (q)j "1 (q) p q " p queste sostituzioni q, q " p, p B p = J "T BJ "1 B p (p) p + c p (p, p ) + g p (p) = u p ( ) = J "T c " B p c p = J "T c " BJ "1 J J "1 p ( ) = S p p, p c p p, p per calcolo e analisi non sono necessarie simmetrica e definita positiva (fuori da singolarità) ( ) p g p = J "T g J J "1 p B p " 2S p antisimmetrica forze generalizzate non conservative che compiono lavoro sulle p dipendenza quadratica da ṗ se p = posa dell E-E, questo è il modello dinamico cartesiano del robot A. De Luca 27