SC08-Cinematica e Dinamica dei Robot - Automazione@ingre · (posizione, velocità, accelerazione,...

25
Cristian Secchi Pag. 1 Ing. Cristian Secchi Tel. 0522 522235 e-mail: [email protected] www.dismi.unimo.it/Members/csecchi SISTEMI DI CONTROLLO Laurea Specialistica in Ingegneria Meccanica e del Veicolo SISTEMI DI CONTROLLO SISTEMI DI CONTROLLO CINEMATICA E DINAMICA DEI ROBOT CINEMATICA E DINAMICA DEI ROBOT Cristian Secchi Stabilità -- 2 Sistemi di Controllo Moto di un Corpo Rigido Moto di un Corpo Rigido Un robot è costituito da una serie di corpi rigidi (link) connessi tramite giunti che ne consentono il moto relativo. Problema Cinematico: Trovare la relazione tra le proprietà del moto (posizione, velocità, accelerazione, …) nello spazio di giunto Q e quelle nello spazio di lavoro W. Corpo Rigido: Insieme di particelle la cui distanza rimane costante nel tempo indipendentemente dal moto del sistema e dalle forze esercitate su di esso.

Transcript of SC08-Cinematica e Dinamica dei Robot - Automazione@ingre · (posizione, velocità, accelerazione,...

Cristian Secchi Pag. 1

Ing. Cristian SecchiTel. 0522 522235

e-mail: [email protected]/Members/csecchi

SISTEMI DI CONTROLLOLaurea Specialistica in Ingegneria Meccanica e del Veicolo

SISTEMI DI CONTROLLOSISTEMI DI CONTROLLOCINEMATICA E DINAMICA DEI ROBOTCINEMATICA E DINAMICA DEI ROBOT

Cristian Secchi Stabilità -- 2Sistemi di Controllo

Moto di un Corpo RigidoMoto di un Corpo Rigido

Un robot è costituito da una serie di corpi rigidi (link) connessi tramite giunti che ne consentono il moto relativo.

Problema Cinematico: Trovare la relazione tra le proprietà del moto (posizione, velocità, accelerazione, …) nello spazio di giunto Q e quelle nello spazio di lavoro W.

Corpo Rigido: Insieme di particelle la cui distanza rimane costante nel tempo indipendentemente dal moto del sistema e dalle forze esercitate su di esso.

Cristian Secchi Pag. 2

Cristian Secchi Stabilità -- 3Sistemi di Controllo

Moto di un Corpo Rigido Moto di un Corpo Rigido -- IpotesiIpotesi

• Il moto si svolge in uno spazio euclideo rappresentato da R3

• Su R3 è definito un prodotto scalare da cui deriviamo la norma associata:

• Il sistema di riferimento di base è inerziale

Cristian Secchi Stabilità -- 4Sistemi di Controllo

Moto di un Corpo Rigido Moto di un Corpo Rigido -- IpotesiIpotesi

• Proprietà del prodotto scalare

u

v

Se u e v hanno norma unitaria il loro prodotto scalare è il coseno dell’angolo formato dalle loro direzioni

θ

Cristian Secchi Pag. 3

Cristian Secchi Stabilità -- 5Sistemi di Controllo

Moto di un Corpo Rigido Moto di un Corpo Rigido -- IpotesiIpotesi

• Sfruttando l’ipotesi di rigidità, possiamo studiare il moto di un corpo rigido come il moto di un sistema di riferimento ad esso solidale.

• In R3 un corpo rigido ha 6 gradi di libertà• 3 per la posizione• 3 per l’orientamento

F0x0

F1

P

y0

z0

x1

y1

z1

Cristian Secchi Stabilità -- 6Sistemi di Controllo

Moto di un Corpo Rigido Moto di un Corpo Rigido -- NotazioneNotazione

F0y0

x0

z0

O0 F1y1

x1

z1

O1

Fissato un sistema di riferimento, ogni punto p ∈ R3 può essere rappresentato da un vettore.

x0

y0

z0 x1

y1

z1In grassetto i

versoridegli assi

Coordinate di prispetto a F0

Coordinate di prispetto a F1

p

Cristian Secchi Pag. 4

Cristian Secchi Stabilità -- 7Sistemi di Controllo

Moto di un Corpo Rigido Moto di un Corpo Rigido -- RotazioniRotazioni

F0

F1

p

x1

y1

x0

y0

O0= O1

Qual è la relazione tra 0p e 1p?z0

y1

z1

Usando le proprietà del prodotto scalare si vede che:

Cristian Secchi Stabilità -- 8Sistemi di Controllo

Moto di un Corpo Rigido Moto di un Corpo Rigido -- RotazioniRotazioni

NOTA: I versori hanno norma unitaria e, quindi, il prodotto scalare tra due versori non è altro che il coseno dell’angolo compreso tra essi.

Cristian Secchi Pag. 5

Cristian Secchi Stabilità -- 9Sistemi di Controllo

Moto di un Corpo Rigido Moto di un Corpo Rigido -- RotazioniRotazioni

F0

F1 x1

x0

y0y1

θ

p

Cristian Secchi Stabilità -- 10Sistemi di Controllo

Moto di un Corpo Rigido Moto di un Corpo Rigido -- RotazioniRotazioni

iRj Matrice di Rotazione

Rappresenta la configurazione di Fj rispetto a Fi ruotati l’uno rispetto all’altro.

Proprietà delle matrici di rotazione

Ogni rotazione è rappresentata da un elemento di SO(3) e ogni elemento di SO(3) rappresenta una rotazione

Cristian Secchi Pag. 6

Cristian Secchi Stabilità -- 11Sistemi di Controllo

Moto di un Corpo Rigido Moto di un Corpo Rigido -- RotazioniRotazioni

• L’inversa di una matrice di rotazione esiste sempre

L’inverso della configurazione di Fj rispetto a Fi è la configurazione di Fi rispetto a Fj

Cristian Secchi Stabilità -- 12Sistemi di Controllo

Moto di un Corpo Rigido Moto di un Corpo Rigido -- RotazioniRotazioni

F0

F1F2

p

Più rotazioni si compongono semplicemente moltiplicando le rispettive matrici di rotazione.

0R2 rappresenta la configurazione di F2 rispetto a F0

Cristian Secchi Pag. 7

Cristian Secchi Stabilità -- 13Sistemi di Controllo

Moto di un Corpo Rigido Moto di un Corpo Rigido –– TraslazioniTraslazioni

F0

F1

Due sistemi di riferimento sono traslati uno rispetto all’altro se le origini non coincidono ma gli assi hanno lo stesso orientamento

0O1

p

0O1=O1-O0

O1

O0

0p=p-O0=p-O1+O1-O0=1p+0O1

Qual è la relazione tra 0p e 1p?

Cristian Secchi Stabilità -- 14Sistemi di Controllo

Moto di un Corpo Rigido Moto di un Corpo Rigido -- RototraslazioniRototraslazioni

F0

0O1

p

0O1=O1-O0

O1

O0

E’ possibile esprimere mediante una matrice la configurazione relative di due sistemi di riferimento rototraslati l’uno rispetto all’altro?

Cristian Secchi Pag. 8

Cristian Secchi Stabilità -- 15Sistemi di Controllo

Moto di un Corpo Rigido Moto di un Corpo Rigido -- RototraslazioniRototraslazioni

Non è possibile esprimere una rototraslazione con una matrice 3 X 3.

Rappresentiamo un punto in R3 mediante un vettore di dimensione 4 usando le cosiddette coordinate omogenee

La quarta coordinata è sempre 1

Cristian Secchi Stabilità -- 16Sistemi di Controllo

Moto di un Corpo Rigido Moto di un Corpo Rigido -- RototraslazioniRototraslazioni

Dati due sistemi di riferimento F0 e F1 rototraslati l’uno rispetto all’altro, costruiamo la seguente Matrice di Trasformazione Omogenea

• E’ una matrice 4 X 4• Dipende dalla rotazione relativa tra i due sistemi di riferimento• Dipende dalla traslazione relativa dei due sistemi di riferimento • L’ultima riga è fissa, indipendente dalla configurazione relativa dei sistemi di riferimento

Cristian Secchi Pag. 9

Cristian Secchi Stabilità -- 17Sistemi di Controllo

Moto di un Corpo Rigido Moto di un Corpo Rigido -- RototraslazioniRototraslazioni

La matrice di trasformazione omogenea rappresenta l’effetto di una rototraslazione tra due sistemi di riferimento.

La matrice di trasformazione omogenea rappresenta la configurazione di due sistemi di riferimento rototraslati l’uno rispetto all’altro.

Cristian Secchi Stabilità -- 18Sistemi di Controllo

Moto di un Corpo Rigido Moto di un Corpo Rigido -- RototraslazioniRototraslazioni

• 1H0 = 0H1 rappresenta la configurazione del sistema di riferimento 0 rispetto al sistema di riferimento 1

• L’inversione di una matrice di trasformazione omogenea èun’operazione molto semplice e implica solo trasposizioni

Cristian Secchi Pag. 10

Cristian Secchi Stabilità -- 19Sistemi di Controllo

Moto di un Corpo Rigido Moto di un Corpo Rigido -- RototraslazioniRototraslazioni

F0F1

F2

p

Più rototraslazioni si compongono semplicemente moltiplicando le rispettive matrici di trasformazione omogenea.

p espresso in coordinate omogenee!!

Cristian Secchi Stabilità -- 20Sistemi di Controllo

Teorema di Teorema di ChaslesChasles

Il moto più generico che un corpo rigido può compiere è una rototraslazione. Qualsiasi movimento può essere espresso da una serie di rototraslazioni.

Le matrici di trasformazione omogenea ci consentono, quindi, di studiare qualsiasi moto di un corpo rigido.

Cristian Secchi Pag. 11

Cristian Secchi Stabilità -- 21Sistemi di Controllo

Moto di un Corpo Rigido Moto di un Corpo Rigido –– Twist e WrenchesTwist e Wrenches

F0 y0x0

z0

F1x1

y1z1

Siccome il moto più generico di un corpo rigido è una rototraslazione, possiamo intuitivamente dedurre che la velocità avrà un termine di traslazione e uno di rotazione. Analogamente la forza che potremo applicare avrà un termine traslazionale e uno rotazionale

v

ω

Una volta fissato un sistema di riferimento rispetto cui calcolare la velocità di un corpo rigido, è possibile rappresentare la velocità e la forza come un vettori.

Cristian Secchi Stabilità -- 22Sistemi di Controllo

Moto di un Corpo Rigido Moto di un Corpo Rigido –– Twist e WrenchesTwist e Wrenches

TWIST

WRENCH

Il twist esprime, rispetto al sistema di riferimento scelto, la velocità generalizzata del corpo rigido: v esprime la traslazione e ω la rotazione.Il wrench esprime, rispetto al sistema di riferimento scelto, la forza generalizzata applicata al corpo rigido: f esprime la forza e m il momento.

Cristian Secchi Pag. 12

Cristian Secchi Stabilità -- 23Sistemi di Controllo

Cinematica DirettaCinematica Diretta

F0

Fn

Problema: Trovare la configurazione del sistema di riferimento solidale con l’end-effector (Fn) rispetto al sistema di riferimento solidale con la base del robot (F0)

Cristian Secchi Stabilità -- 24Sistemi di Controllo

Cinematica DirettaCinematica Diretta

• Bisogna trovare 0Hn

• 0Hn dipenderà dalle n variabili di giunto q1, …, qn

• Calcolare 0Hn direttamente risulta molto difficoltoso

Scomponiamo il Problema in sottoproblemi più semplici

Cristian Secchi Pag. 13

Cristian Secchi Stabilità -- 25Sistemi di Controllo

Cinematica DirettaCinematica Diretta

F0

FnF1

F2 Fn-1

Considero un sistema di riferimento in corrispondenza di ogni giunto.

Ciascun iHi+1 dipende unicamente dalla variabile di giunto su cui è posto Fi ed è facile calcolarlo. Moltiplicando i vari termini trovati ottengo nH0

Cristian Secchi Stabilità -- 26Sistemi di Controllo

Esempio Esempio -- NotazioneNotazione

Rappresenteremo il robot come:

x0

y0x1

y1

x2y2

q1

q2

mi = massa link iqi = variabile del giunto i-esimoIi = momento di inerzia del link i-esimo attorno all’asse che passa per il centro di massaai = lunghezza del link i-esimoaCi = distanza tra il giunto i e il centro di massa del link i-esimog = forza di gravità lungo l’asse y0τi = coppia agente sul giunto i

Ci = cos(qi)Si = sin(qi)Cij = cos(qi+qj)Sij = sin(qi+qj)

Cristian Secchi Pag. 14

Cristian Secchi Stabilità -- 27Sistemi di Controllo

Cinematica Diretta Cinematica Diretta -- EsempioEsempio

Cristian Secchi Stabilità -- 28Sistemi di Controllo

Cinematica InversaCinematica Inversa

(q1,…,qn) 0Hn(q1,…,qn) Cinematica Diretta

(q1,…,qn) 0Hn(q1,…,qn) Cinematica Inversa

Problema: Trovare il valore delle variabili di giunto corrispondente a una data configurazione.

Il problema consiste nell’invertire una funzione NON LINEARE. Non esiste una soluzione chiusa ma esistono svariati approcci che risolvono casi di particolare interesse (es.: approccio di Pieper).

Cristian Secchi Pag. 15

Cristian Secchi Stabilità -- 29Sistemi di Controllo

Cinematica DifferenzialeCinematica Differenziale

F0

Fn

Problema: Trovare il twist del sistema di riferimento solidale all’end-effector rispetto a un sistema di riferimento solidale con la base del robot data la velocità nello spazio di giunto.

Cristian Secchi Stabilità -- 30Sistemi di Controllo

Cinematica DifferenzialeCinematica Differenziale

• Il twist dipende dalla velocità dei giunti

• Il twist dipende dalla posizione dei giunti

Il problema è di facile soluzione. E’ sempre possibile trovare un operatore che lega il twist alla velocità dei giunti.

Cristian Secchi Pag. 16

Cristian Secchi Stabilità -- 31Sistemi di Controllo

Cinematica DifferenzialeCinematica Differenziale

Jacobiano del robot

Lo jacobiano dipende dalla posizione del robot in modo non lineare.Il legame tra velocità nello spazio di giunto e twist è lineare.E’ sempre possibile trovare lo jacobiano di un robot ed esistono algoritmi per costruirlo.

Cristian Secchi Stabilità -- 32Sistemi di Controllo

Cinematica Differenziale Cinematica Differenziale -- EsempioEsempio

x0

y0x1

y1

x2y2

q1

q2

Come è logico aspettarsi, il sistema di riferimento solidale con l’end-effector trasla lungo gli assi x0 e y0 e ruota attorno all’asse z0 (perpendicolare al foglio)

Cristian Secchi Pag. 17

Cristian Secchi Stabilità -- 33Sistemi di Controllo

Cinematica Differenziale InversaCinematica Differenziale Inversa

F0

Fn

Problema: Dato il twist del sistema di riferimento solidale all’end-effector rispetto a un sistema di riferimento solidale con la base del robot trovare la velocità nello spazio di giunto.

Cristian Secchi Stabilità -- 34Sistemi di Controllo

Cinematica Differenziale InversaCinematica Differenziale Inversa

Sfortunatamente se lo Jacobiano non è quadrato oppure se det(J(q))=0 l’inversa non esiste. In questi casi è possibile ottenere una stima della velocità nello spazio di giunto mediante opportune tecniche (pseudoinversa di una matrice, ecc.).

Semplice soluzione

Cristian Secchi Pag. 18

Cristian Secchi Stabilità -- 35Sistemi di Controllo

StaticaStatica

F0

Fn

Problema: Dato un wrench applicato all’end-effector rispetto a un sistema di riferimento solidale con la base del robot trovare le coppie che applicate ai giunti producono lo stesso effetto.

Cristian Secchi Stabilità -- 36Sistemi di Controllo

StaticaStatica

Forze e coppie devono essere equivalenti e, quindi, devono produrre lo stesso lavoro.

Notando che:

e

Cristian Secchi Pag. 19

Cristian Secchi Stabilità -- 37Sistemi di Controllo

StaticaStatica

Ma

Da cui

Cristian Secchi Stabilità -- 38Sistemi di Controllo

Sommario Relazioni OttenuteSommario Relazioni Ottenute

Cinematica Diretta

Cinematica Differenziale

Statica

Cristian Secchi Pag. 20

Cristian Secchi Stabilità -- 39Sistemi di Controllo

DinamicaDinamica

• E’ lo studio dell’effetto che c’è tra le forze/coppie applicate sul robot e il moto risultante.

• Esistono vari approcci per trovare questa relazione • Eulero-Lagrange• Newton-Eulero• …

Il modello dinamico è necessario per progettare il controllore per il robot. E’ necessario sapere il moto provocato dall’applicazione di una certa coppia per poter fornire le coppie desiderate.

Cristian Secchi Stabilità -- 40Sistemi di Controllo

Dinamica Dinamica –– Modello di Eulero Modello di Eulero -- LagrangeLagrange

Si basa su considerazioni energetiche Dato un qualsiasi meccanismo, esistono delle variabili (q1(t),…,qn(t)) grazie alle quali è possibile calcolare l’energia cinetica K e quella potenziale P. Definendo:

L’equazione che esprime la relazione dinamica tra forze applicate e queste variabili è:

Cristian Secchi Pag. 21

Cristian Secchi Stabilità -- 41Sistemi di Controllo

Dinamica Dinamica –– Modello di Eulero Modello di Eulero -- LagrangeLagrange

In robotica le variabili rispetto a cui è possibile calcolare l’energia sono lo variabili di giunto qi e la forza è la coppia applicata ai vari giunti.

L’energia cinetica e potenziale di ciascun link si può calcolare in funzione di una sola variabile di giunto qi.Sommando i contributi di ogni link è possibile ottenere l’energia cinetica e potenziale complessiva del robot.

Cristian Secchi Stabilità -- 42Sistemi di Controllo

Dinamica Dinamica –– Modello di Eulero Modello di Eulero -- LagrangeLagrange

Dopo alcune manipolazioni matematiche si arriva al modello di Eulero-Lagrange di un robot:

M(q) Matrice d’inerzia. Tiene conto l’effetto delle massedei 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à

Cristian Secchi Pag. 22

Cristian Secchi Stabilità -- 43Sistemi di Controllo

Dinamica Dinamica –– Modello di Eulero Modello di Eulero -- LagrangeLagrange

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!

Il modello è fortemente non lineare e tecniche per l’analisi e il controllo di sistemi lineari (luogo delle radici, diagrammi di Bode,…) NON sono più valide.

Cristian Secchi Stabilità -- 44Sistemi di Controllo

Dinamica Dinamica –– Modello di Modello di EuleroEulero -- LagrangeLagrange

Il modello dinamico di Eulero-Lagrange gode di alcune proprietà notevoli:

M(q) è una matrice simmetrica e definita positiva ∀ q

M(q) è limitata superiormente e inferiormente ∀ q

La matrice è tale per cui:

Cristian Secchi Pag. 23

Cristian Secchi Stabilità -- 45Sistemi di Controllo

Dinamica Dinamica -- EsempioEsempio

x0

y0x1

y1

x2y2

q1

q2

= centro di massa del link

Utilizzando concetti di meccanica, possiamo calcolare energia cinetica e potenziale di ciascun link.

Cristian Secchi Stabilità -- 46Sistemi di Controllo

Dinamica EsempioDinamica Esempio

Definendo

E calcolando con le energie trovate, l’equazione di Lagrange:

Raccogliendo opportunamente si ottengono le equazioni dinamiche del robot:

Cristian Secchi Pag. 24

Cristian Secchi Stabilità -- 47Sistemi di Controllo

Dinamica EsempioDinamica Esempio

E’ Simmetrica!

Cristian Secchi Stabilità -- 48Sistemi di Controllo

Dinamica EsempioDinamica Esempio

Cristian Secchi Pag. 25

Ing. Cristian SecchiTel. 0522 522235

e-mail: [email protected]/Members/csecchi

SISTEMI DI CONTROLLOLaurea Specialistica in Ingegneria Meccanica e del Veicolo

SISTEMI DI CONTROLLOSISTEMI DI CONTROLLOCINEMATICA E DINAMICA DEI ROBOTCINEMATICA E DINAMICA DEI ROBOT