presentazione di powerpoint - ladispe.polito.it · (regola della mano destra) k. aa 2006/07 basilio...
TRANSCRIPT
Basilio Bona – DAUIN – Politecnico di TorinoAA 2006/07 001/1
RO
BO
TIC
A –
01
CFI
DV
02
CFI
CY
Cinematica
La cinematica riguarda lo studio delle 4 funzioni che legano le variabili “giunto” alle variabili “cartesiane”
– Cinematica diretta di posizione– Cinematica inversa di posizione– Cinematica diretta di velocità– Cinematica inversa di velocità
Variabili giunto: cosa sono?Posizione e velocità di cosa?Di solito del riferimento solidale con la punta operativa = velocità lineare dell’origine & velocitàangolare del “corpo rigido” associato al riferimento
Basilio Bona – DAUIN – Politecnico di TorinoAA 2006/07 001/2
RO
BO
TIC
A –
01
CFI
DV
02
CFI
CY
Il robot come sistema multi-corpo
BASE
PINZA PR
0R?
Ogni corpo rigido è caratterizzato da 6 parametri,cioè dal sistema di riferimento solidale ad esso
Quando si parla di cinematica della punta operativa si fa riferimento a rispetto a PR 0R
Basilio Bona – DAUIN – Politecnico di TorinoAA 2006/07 001/3
RO
BO
TIC
A –
01
CFI
DV
02
CFI
CY
Convenzione per definire i riferimenti
Su ogni braccio del robot si fissa un riferimento, utilizzando una convenzione, detta di Denavith-Hartenberg (DH)
Questa convenzione fornisce, per ogni riferimento, un numero di gradi di libertà rispetto al riferimento precedente, caratterizzato da soli 4 parametri, invece che i soliti 6.
I giunti possono essere rotoidali o prismatici; la convenzione funziona sempre
Dei 4 parametri, 2 sono associati a una traslazione, 2 a una rotazione
3 di questi 4 parametri dipendono esclusivamente dalla geometria del robot e sono quindi fissi nel tempo
Uno dipende dal moto relativo dei corpi ed è quindi una funzione del tempo: esso si indica con ( )iq t
variabile giunto
Basilio Bona – DAUIN – Politecnico di TorinoAA 2006/07 001/4
RO
BO
TIC
A –
01
CFI
DV
02
CFI
CY
Convenzioni di Denavit-Hartenberg (DH-1)
Abbiamo un sistema multicorpo con n corpi rigidi collegatiIl braccio può essere fatto come si vuole, non necessariamente simmetricoIl braccio è collegato a due giunti, uno a monte (verso la base) uno a valle (verso la punta)
Supponiamo di avere un braccio complesso e vogliamo fissare su di esso un sistema di riferimento
giunto a monte
giunto a valle
braccio
Basilio Bona – DAUIN – Politecnico di TorinoAA 2006/07 001/5
RO
BO
TIC
A –
01
CFI
DV
02
CFI
CY
Giunto 3
Giunto 1
Giunto 2
Giunto 4
Braccio 1
Braccio 2
Braccio 3Giunto 5
Giunto 6
Spalla
Polso
Un po’ di nomenclatura
Braccio 0 = base
ib = braccioig = giunto
Convenzioni di Denavit-Hartenberg (DH-2)
Basilio Bona – DAUIN – Politecnico di TorinoAA 2006/07 001/6
RO
BO
TIC
A –
01
CFI
DV
02
CFI
CY
asse di movimento
asse di movimento
asse di movimento
Parliamo di asse di movimentoper includere sia le rotazioni sia le traslazioni
Si ha la sequenza
0 1 1 2 2 3 Nb g b g b g b− − − − − −
la base la punta
Convenzioni di Denavit-Hartenberg (DH-3)
Basilio Bona – DAUIN – Politecnico di TorinoAA 2006/07 001/7
RO
BO
TIC
A –
01
CFI
DV
02
CFI
CY
Convenzioni di Denavit-Hartenberg (DH-4)
• L’origine del riferimento del braccio in esame si trova sempre sull’asse del giunto a valle (strano, ma vero)
• Origine sta nell’intersezione del segmento a minima distanza tra i due assi
• Il versore k è allineato al’asse del giunto a valle, mentre il suo verso indica il senso positivo del moto (regola della mano destra)
k
Basilio Bona – DAUIN – Politecnico di TorinoAA 2006/07 001/8
RO
BO
TIC
A –
01
CFI
DV
02
CFI
CY
asse di movimento
asse di movimento
asse di movimento
il riferimento braccio i-1 è dato
Convenzioni di Denavit-Hartenberg (DH-5)
Basilio Bona – DAUIN – Politecnico di TorinoAA 2006/07 001/9
RO
BO
TIC
A –
01
CFI
DV
02
CFI
CY
asse di movimento
asse di movimento
asse di movimento
sulla normale comune troviamoil segmento a minima distanza
Convenzioni di Denavit-Hartenberg (DH-6)
Basilio Bona – DAUIN – Politecnico di TorinoAA 2006/07 001/10
RO
BO
TIC
A –
01
CFI
DV
02
CFI
CY
asse di movimento
asse di movimento
asse di movimento
Eseguiamo “idealmente” una prima traslazioneche porta il riferimento al piede della normale comune
Convenzioni di Denavit-Hartenberg (DH-7)
Basilio Bona – DAUIN – Politecnico di TorinoAA 2006/07 001/11
RO
BO
TIC
A –
01
CFI
DV
02
CFI
CY
asse di movimento
asse di movimento
asse di movimento
Eseguiamo quindi una rotazione, che allinea il versore i lungo il segmento a minima distanza
Convenzioni di Denavit-Hartenberg (DH-8)
Basilio Bona – DAUIN – Politecnico di TorinoAA 2006/07 001/12
RO
BO
TIC
A –
01
CFI
DV
02
CFI
CY
asse di movimento
asse di movimento
asse di movimento
Eseguiamo ora una seconda traslazione,che porta l’origine nell’altro punto della normale comune
Convenzioni di Denavit-Hartenberg (DH-9)
Basilio Bona – DAUIN – Politecnico di TorinoAA 2006/07 001/13
RO
BO
TIC
A –
01
CFI
DV
02
CFI
CY
asse di movimento
asse di movimento
asse di movimento
E concludiamo effettuando la rotazioneche allinea il versore k con l’asse di movimento
Convenzioni di Denavit-Hartenberg (DH-10)
Basilio Bona – DAUIN – Politecnico di TorinoAA 2006/07 001/14
RO
BO
TIC
A –
01
CFI
DV
02
CFI
CY
Regole DH - 1
Basilio Bona – DAUIN – Politecnico di TorinoAA 2006/07 001/15
RO
BO
TIC
A –
01
CFI
DV
02
CFI
CY
Regole DH - 2
Basilio Bona – DAUIN – Politecnico di TorinoAA 2006/07 001/16
RO
BO
TIC
A –
01
CFI
DV
02
CFI
CY
Regole DH - 3
Basilio Bona – DAUIN – Politecnico di TorinoAA 2006/07 001/17
RO
BO
TIC
A –
01
CFI
DV
02
CFI
CY
Eccezioni: Base e punta
Sistema di riferimento base
versore k0 allineato con l’asse di movimento
Sistema di riferimento tool
versore in normale al versore asse kn-1
Basilio Bona – DAUIN – Politecnico di TorinoAA 2006/07 001/18
RO
BO
TIC
A –
01
CFI
DV
02
CFI
CY
Giunto prismatico Giunto rotoidale
, ,i i iaθ α
( )id t
, ,i i id a α
( )i tθ
definiscono la roto-traslazione
1i−R iR
dipendono dal tipo di giunto
ig
Parametri DH: sono 4 per ogni frame
variabili giunto
parametri geometrici“calibrazione”
Basilio Bona – DAUIN – Politecnico di TorinoAA 2006/07 001/19
RO
BO
TIC
A –
01
CFI
DV
02
CFI
CY ( , )
1
⎛ ⎞⎟⎜ ⎟⎜= = ⎟⎜ ⎟⎜ ⎟⎜⎝ ⎠
R tT T R t
0 T
1 , ,( , ) ( , ) ( , ) ( , )ii k iθ α− =T T I d T R 0 T I a T R 0
1
cos cos sin sin sin cos
sin cos cos sin cos sin
0 sin cos
0 0 0 1
i i i i i i i
i i i i i i iii
i i i
a
a
d
θ α θ α θ θ
θ α θ α θ θ
α α−
⎛ ⎞− ⎟⎜ ⎟⎜ ⎟⎜ ⎟−⎜ ⎟⎜ ⎟= ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎟⎜⎝ ⎠
T
Matrice omogenea di roto-traslazione di DH
Basilio Bona – DAUIN – Politecnico di TorinoAA 2006/07 001/20
RO
BO
TIC
A –
01
CFI
DV
02
CFI
CY
Questa colonna è immobile
Esempio: il robot PUMA - 1
Basilio Bona – DAUIN – Politecnico di TorinoAA 2006/07 001/21
RO
BO
TIC
A –
01
CFI
DV
02
CFI
CY
Esempio: il robot PUMA - 2
0R
0k
1k
1R
2k
2R
3k
3R
0R
0k
1k
1R
2k
2R
3k
3R
Basilio Bona – DAUIN – Politecnico di TorinoAA 2006/07 001/22
RO
BO
TIC
A –
01
CFI
DV
02
CFI
CY
Esempio: il robot PUMA - 3
Dall’alto
Dal fianco
Basilio Bona – DAUIN – Politecnico di TorinoAA 2006/07 001/23
RO
BO
TIC
A –
01
CFI
DV
02
CFI
CY
Cinematica - Procedura
1. Individuare bracci e giunti
2. Caratterizzarli con riferimenti e applicare convenzioni DH; definire i parametri geometrici; definire i parametri giunto
3. Calcolare la trasformazione omogenea base-punta
4. Estrarre da essa la cinematica diretta posizione
5. Cinematica inversa posizione; è più complicato
6. Cinematica diretta velocità: approccio analitico o geometrico
7. Cinematica inversa velocità: problema delle singolarità cinematiche
Basilio Bona – DAUIN – Politecnico di TorinoAA 2006/07 001/24
RO
BO
TIC
A –
01
CFI
DV
02
CFI
CY
Individuare bracci e giunti
Basilio Bona – DAUIN – Politecnico di TorinoAA 2006/07 001/25
RO
BO
TIC
A –
01
CFI
DV
02
CFI
CY
Applicare riferimenti e convenzioni DH
BASE
PINZA
PR
0R 0PT
T
0 00 ( ) ( )( )
1P P
Pq qq
⎛ ⎞⎟⎜= ⎟⎜ ⎟⎜⎝ ⎠R tT0
1( )q t
2( )q t
3( )q t
4( )q t
5( )q t
6( )q t
Basilio Bona – DAUIN – Politecnico di TorinoAA 2006/07 001/26
RO
BO
TIC
A –
01
CFI
DV
02
CFI
CY
Variabili giunto e cartesiane
1
2
3
4
5
6
( )( )( )
( ) ( )( )( )
q tq tq t
t q tq tq t
⎛ ⎞⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎟⎜ ⎟⎜= ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜⎝ ⎠
q
Variabili giunto
Cinematica diretta
( )( ) ( )t t=p f q
Variabili cartesiane
1
2
3
1
2
3
( )( )( )
( ) ( )( )( )
x tx tx t
t ttt
ααα
⎛ ⎞⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎟⎜ ⎟⎜= ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜⎝ ⎠
p
Cinematica inversa
( )1( ) ( )t t−=q f p
posizione
assetto
Basilio Bona – DAUIN – Politecnico di TorinoAA 2006/07 001/27
RO
BO
TIC
A –
01
CFI
DV
02
CFI
CY
posizione
Funzione cinematica diretta posizione - 1
( ) ( ) ( ) ( ) ( ) ( )0 0
0 0 1 2 3 4 5 61 1 2 2 3 3 4 4 5 5 6 6 1
P PP Pq q q q q q
⎛ ⎞⎟⎜ ⎟= = ⎜ ⎟⎜ ⎟⎜⎝ ⎠
R tT T T T T T T T 0 T
Funzione cinematica diretta di posizione e assettoCaso robot non ridondante 6 gdm
( )
( )
1 1
2 2
3 3
4 4
5 5
6 6
( ) ( )( ) ( )
( )( ) ( )( ) ( ( ))( ) ( )
( )( ) ( )( ) ( )
q t p tq t p t
tq t p tt tq t p t
tq t p tq t p t
⎛ ⎞ ⎛ ⎞⎟ ⎟⎜ ⎜⎟ ⎟⎜ ⎜⎟ ⎟⎜ ⎜⎟ ⎟ ⎛ ⎞⎜ ⎜⎟ ⎟ ⎟⎜⎜ ⎜⎟ ⎟ ⎟⎜⎟ ⎟⎜ ⎜ ⎟⎜⎟ ⎟⎜ ⎜ ⎟= ⇒ = =⎟ ⎟ ⎜⎜ ⎜ ⎟⎟ ⎟ ⎜ ⎟⎜ ⎜⎟ ⎟ ⎟⎜⎜ ⎜⎟ ⎟ ⎟⎜⎜ ⎜ ⎝ ⎠⎟ ⎟⎟ ⎟⎜ ⎜⎟ ⎟⎜ ⎜⎟ ⎟⎜ ⎜⎟ ⎟⎜ ⎜⎝ ⎠ ⎝ ⎠
x qq p q
qα
assetto
assetto posizione( )0 0 ( )P P t=R R q ( )0 0 ( )P P t=t t q
Basilio Bona – DAUIN – Politecnico di TorinoAA 2006/07 001/28
RO
BO
TIC
A –
01
CFI
DV
02
CFI
CY
0 00
1P P
P
⎛ ⎞⎟⎜ ⎟= ⎜ ⎟⎜ ⎟⎜⎝ ⎠
R tT 0 T
Funzione cinematica diretta posizione - 2
Cinematica diretta di posizionecartesiana: facile
11 02 2
3 3
P
txx tx t
⎛ ⎞⎛ ⎞ ⎟⎜⎟⎜ ⎟⎟ ⎜⎜ ⎟⎟ ⎜≡ ⇔ ≡⎜ ⎟⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟⎜ ⎟⎜⎝ ⎠ ⎝ ⎠x t
Cinematica diretta di assettoabbastanza facile
Basilio Bona – DAUIN – Politecnico di TorinoAA 2006/07 001/29
RO
BO
TIC
A –
01
CFI
DV
02
CFI
CY
Funzione cinematica diretta posizione - 3
( ) ( )( ) ( )t t⇒R q qα
occorre definire la rappresentazioneangolare che vogliamo utilizzare
( )( )tqα
angoli di euleroangoli RPYasse-angoloquaternionicoseni direttori=matrici di rotazioneparametri di eulero
Basilio Bona – DAUIN – Politecnico di TorinoAA 2006/07 001/30
RO
BO
TIC
A –
01
CFI
DV
02
CFI
CY
Necessarie per il controllo a partire dall spazio cartesiano: vogliamo un target in cartesiano, ma il controllo è sui motori
Funzione cinematica inversa posizione - 1
( )
( )
1
2
3
4
5
6
( )( )
( ) ( )( ( )) ( ) ( )
( ) ( )( )
q tq t
t q tt t q t
t q tq t
⎛ ⎞⎟⎜ ⎟⎜ ⎟⎜ ⎟⎛ ⎞ ⎜ ⎟⎟⎜ ⎜ ⎟⎟⎜ ⎟⎜⎟⎜ ⎟⎜⎟= ⇒ = ⎟⎜ ⎜⎟ ⎟⎜ ⎟ ⎜ ⎟⎟⎜ ⎜ ⎟⎟⎜ ⎜⎝ ⎠ ⎟⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜⎝ ⎠
x qp q q
qα
1( )q t
2( )q t
3( )q t
( )( )( )
( )
t
t
⎛ ⎞⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎟⎜⎝ ⎠
x q
qα
Basilio Bona – DAUIN – Politecnico di TorinoAA 2006/07 001/31
RO
BO
TIC
A –
01
CFI
DV
02
CFI
CY
Funzione cinematica inversa posizione - 2
1. Il problema si rivela complesso e senza una chiara ricetta per trovare la soluzione.
2. Se esiste un polso sferico allora siamo garantiti che la soluzione esiste, ma occorre trovarla ...
3. Le strade sono molteplici• Utilizzare la forza bruta o soluzioni trovate per altre
catene cinematiche simili • Utilizzare la cinematica inversa di velocità• Utilizzare programmi di calcolo simbolico (computer
algebra systems: Mathematica, Maple, Maxima, …, Lisp)
• Calcolare iterativamente approssimazioni numeriche all’equazione ( )
( )
( ){ }
1
1
1
( ) ( )
( ) ( ) 0
min ( ) ( )
t t
t t
t t
−
−
−
=
− =
−
q f p
q f p
q f p
Basilio Bona – DAUIN – Politecnico di TorinoAA 2006/07 001/32
RO
BO
TIC
A –
01
CFI
DV
02
CFI
CY
Funzione cinematica diretta velocità - 1
Funzione cinematica diretta di velocità lineare e angolareCaso robot non ridondante 6 gdm
( )
( )
1 1
2 2
3 3
4 4
5 5
6 6
( ) ( )( ) ( )
( ), ( )( ) ( )( ) ( )( ) ( )
( ), ( )( ) ( )( ) ( )
q t p tq t p t
t tq t p tt tq t p t
t tq t p tq t p t
⎛ ⎞ ⎛ ⎞⎟ ⎟⎜ ⎜⎟ ⎟⎜ ⎜⎟ ⎟⎜ ⎜⎟ ⎟ ⎛ ⎞⎜ ⎜⎟ ⎟ ⎟⎜⎜ ⎜⎟ ⎟ ⎟⎜⎟ ⎟⎜ ⎜ ⎟⎜⎟ ⎟⎜ ⎜ ⎟= ⇒ = =⎟ ⎟ ⎜⎜ ⎜ ⎟⎟ ⎟ ⎜ ⎟⎜ ⎜⎟ ⎟ ⎜⎜ ⎜⎟ ⎟ ⎜⎜ ⎜ ⎝ ⎠⎟ ⎟⎟ ⎟⎜ ⎜⎟ ⎟⎜ ⎜⎟ ⎟⎜ ⎜⎟ ⎟⎜ ⎜⎝ ⎠ ⎝ ⎠
x q qq p
q qα
( )
( )
( ), ( )
( ), ( )
t t
t t
⎛ ⎞⎟⎜ ⎟⎜ ⎟⎜ ⎟= ⎜ ⎟⎜ ⎟⎟ ⎟⎜⎟ ⎟⎜⎝ ⎠
v q q
q qω
velocità lineare
velocità angolare
Basilio Bona – DAUIN – Politecnico di TorinoAA 2006/07 001/33
RO
BO
TIC
A –
01
CFI
DV
02
CFI
CY
Funzione cinematica diretta velocità - 2
Cosa dice l’analisi matematica?
( )
( )
( )( ( ))
( )
ttt
tt
t
⎛ ⎞⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟= ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠
x qp q
qα
dd dd d
d
( ) ( )1
11
( ) ( ), , ( ), , ( )
( ) ( ) ( )
i i j n
i i ij n
j n
f t f q t q t q tt t
f f fq t q t q t
q q q
=
∂ ∂ ∂= + + + +
∂ ∂ ∂
q … …
… …
d d
d d
Basilio Bona – DAUIN – Politecnico di TorinoAA 2006/07 001/34
RO
BO
TIC
A –
01
CFI
DV
02
CFI
CY
Funzione cinematica diretta velocità - 3
( ) ( )
1
1
( )
( )( ) ( ) ( )
( )
i i iji fi
j n
n
q t
f f f q tf t t tt q q q
q t
⎛ ⎞⎟⎜ ⎟⎜ ⎟⎜ ⎟⎛ ⎞⎜ ⎟∂ ∂ ∂ ⎟⎜ ⎜ ⎟⎟= =⎟⎜ ⎜⎟ ⎟⎜ ⎜⎟⎜∂ ∂ ∂ ⎟⎜⎝ ⎠ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎟⎜⎝ ⎠
q J q q… … Td
d
( ) ( )
1 1 1
11
1
1
( )
( )( ) ( ) ( )
( )
j n
i i ij
j n
nm m m
j n
f f f
q q qq t
f f fq tt t t
q q qtq t
f f f
q q q
⎛ ⎞∂ ∂ ∂ ⎟⎜ ⎟⎜ ⎟⎜ ⎟∂ ∂ ∂⎜ ⎟ ⎛ ⎞⎜ ⎟⎜ ⎟⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎟⎜ ∂ ∂ ∂ ⎜ ⎟⎟⎜ ⎜ ⎟⎟= =⎜ ⎜ ⎟⎟⎜ ⎜ ⎟⎟∂ ∂ ∂⎜ ⎜ ⎟⎟⎜ ⎟⎜⎟⎜ ⎟⎟ ⎜ ⎟⎜⎝ ⎠⎜ ⎟⎟⎜∂ ∂ ∂ ⎟⎜ ⎟⎜ ⎟⎜ ⎟∂ ∂ ∂⎜⎝ ⎠
f q J q qd
d
JACOBIANO
Basilio Bona – DAUIN – Politecnico di TorinoAA 2006/07 001/35
RO
BO
TIC
A –
01
CFI
DV
02
CFI
CY
( )
( )
( )
( )
( )( )
( ), ( ) ( ), ( ) ( )( ) ( )
( )( ), ( ) ( ), ( )
L
A
t t t t tt t
tt t t t
⎛ ⎞ ⎛ ⎞⎟ ⎟⎜ ⎜ ⎛ ⎞⎟ ⎟⎜ ⎜⎟ ⎟ ⎟⎜⎜ ⎜⎟ ⎟ ⎟≡ ≡ = ⎜⎜ ⎜⎟ ⎟ ⎟⎜⎜ ⎜ ⎟⎜⎟ ⎟ ⎝ ⎠⎟ ⎟⎜ ⎜⎟ ⎟⎜ ⎜⎝ ⎠ ⎝ ⎠
x q q v q q J qp qJ q
q q q qα ω
Funzione cinematica diretta velocità - 4
( )( ) ( ) ( )t t t=p J q qQuindi
o anche JACOBIANO LINEARE
JACOBIANO ANGOLARE
Basilio Bona – DAUIN – Politecnico di TorinoAA 2006/07 001/36
RO
BO
TIC
A –
01
CFI
DV
02
CFI
CY
Funzione cinematica inversa velocità - 1
( )1( ) ( ) ( )t t t−=q J q p
solo se la matrice è quadrata (6 x 6)
la matrice è invertibile se ( )det ( ) 0t ≠J q
quando ( )det ( ) 0S t =J q
si dice che ho singolarità per ( )S tq
è una configurazione di singolarità( )S tq