corso di robotica 2 - uniroma1.itdeluca/rob2/04_dinamicalagrangiana_2.pdf · corso di robotica 2...
TRANSCRIPT
Corso di Robotica 2
Prof. Alessandro De Luca
Modello dinamico dei robot:algoritmo di calcolo energia cinetica
Robotica 2 A.A. 2008-2009 A. De Luca
Robotica 2 A.A. 2008-2009 A. De Luca 2
Elemento b11(q) dello Stanford arm
polso sferico
qui, scritto con i “raggi di girazione”:distanza da un asse alla quale porre la massa min modo che il suo momento di inerzia rispettoall’asse sia lo stesso dell’intero corpo di massa m
Robotica 2 A.A. 2008-2009 A. De Luca 3
Espressione di vci e ωi
vci e ωi si possono esprimere mediante le relazioni della cinematicadifferenziale (Jacobiani parziali)
è più conveniente però operare in modo ricorsivo, nel sistema diriferimento SRi solidale con il braccio i ( ivettorei )
soprattutto quando si fa uso di programmi di calcolo simbolicoper ricavare l’energia cinetica di un robot manipolatore con unnumero non modesto di giunti (≥4)
Moving Frames
Robotica 2 A.A. 2008-2009 A. De Luca 4
Recall: assegnazione terne D-H
asse giunto i-1 asse giunto i asse giunto i+1braccio i-1
braccio i
xi-1
Oi-1
xi
zi
Oi
ai
θi
αi
zi-1di
cθi -cαi sθi sαi sθi aicθi
sθi cαi cθi -sαi cθi aisθi
0 sαi cαi di
0 0 0 1
i-1Ai(qi) =
i-1Ri(qi)
Robotica 2 A.A. 2008-2009 A. De Luca 5
Algoritmo “Moving Frames”
!
vci
= vi+"
i#r
i,civelocità lineare baricentro del braccio i
velocità lineare diOi (origine di SRi)
posizionedel baricentrodel braccio irispetto ad Oi
!
i" i=
i#1RiT
(qi )i#1" i#1 + (1 #$ i ) ˙ q i
i#1zi#1[ ]=i#1RiT(qi )
i#1" i
!
i v i=i"1Ri
T(qi )
i"1vi"1 + # i˙ q i
i"1zi"1+ i"1$ i %
i"1ri"1,i[ ]
001
asse z di SRi-1
posto σi =0 giunto rotatorio
1 giunto prismatico
velocità angolaredel braccio i
Robotica 2 A.A. 2008-2009 A. De Luca 6
Esempio: modello dinamico robot 2R
q1
q2
x0
y0
| ℓ1 - d1| x1
x2
y1
y2
| ℓ 2 -
d 2|
!
g =
0
"9.81
0
#
$
% % %
&
'
( ( (
σi = 0(giunti rotanti)
!
i"1R
i=
ci"s
i0
si
ci
0
0 0 1
#
$
% % %
&
'
( ( (
!
iri,ci
=
"li+ d
i
0
0
#
$
% % %
&
'
( ( (
inizializzazione: i = 0
!
0"
0= 0
!
0v
0= 0
in moto in un piano verticale
baricentri sugli assi cinematici
Robotica 2 A.A. 2008-2009 A. De Luca 7
Primo passo (braccio 1)
!
1"1 =0R1
T(q1)
0"0 + ˙ q 1
0
0
1
#
$
% % %
&
'
( ( (
#
$
% % %
&
'
( ( (
=
0
0
˙ q 1
#
$
% % %
&
'
( ( (
i = 1
!
1 v1 =0R1
T(q1)
0 v0 +
0
0
˙ q 1
"
#
$ $ $
%
&
' ' ' (
l1c1
l1s1
0
"
#
$ $ $
%
&
' ' '
"
#
$ $ $
%
&
' ' ' =
0R1
T(q1)
0
0
˙ q 1
"
#
$ $ $
%
&
' ' ' ( 0R1
T(q1)
l1c1
l1s1
0
"
#
$ $ $
%
&
' ' '
!
=
0
0
˙ q 1
"
#
$ $ $
%
&
' ' ' (
l1
0
0
"
#
$ $ $
%
&
' ' '
=
0
l1˙ q 1
0
"
#
$ $ $
%
&
' ' '
!
1 vc1 =
0
l1˙ q 1
0
"
#
$ $ $
%
&
' ' '
+
0
0
˙ q 1
"
#
$ $ $
%
&
' ' ' (
)l1 + d1
0
0
"
#
$ $ $
%
&
' ' '
=
0
d1˙ q 1
0
"
#
$ $ $
%
&
' ' '
Robotica 2 A.A. 2008-2009 A. De Luca 8
Energia cinetica braccio 1
!
1"1 =
0
0
˙ q 1
#
$
% % %
&
'
( ( (
!
1 vc1 =
0
d1˙ q 1
0
"
#
$ $ $
%
&
' ' '
!
T1 =1
2m1d1
2˙ q 12
+1
2I1zz
˙ q 12
Robotica 2 A.A. 2008-2009 A. De Luca 9
Secondo passo (braccio 2)
!
2"2 =1R2
T(q2)
1"1 + ˙ q 2
0
0
1
#
$
% % %
&
'
( ( (
#
$
% % %
&
'
( ( (
=
0
0
˙ q 1 + ˙ q 2
#
$
% % %
&
'
( ( (
i = 2
!
2 v2 =1R2
T(q2)
1 v1 +
0
0
˙ q 1 + ˙ q 2
"
#
$ $ $
%
&
' ' ' (
l 2c2
l 2s2
0
"
#
$ $ $
%
&
' ' '
"
#
$ $ $
%
&
' ' '
=
l1s2˙ q 1
l1c2˙ q 1
0
"
#
$ $ $
%
&
' ' '
+
0
0
˙ q 1 + ˙ q 2
"
#
$ $ $
%
&
' ' ' (
l 2
0
0
"
#
$ $ $
%
&
' ' '
!
=
l1s2˙ q 1
l1c2˙ q 1 + l 2
˙ q 1 + ˙ q 2( )0
"
#
$ $ $
%
&
' ' '
Robotica 2 A.A. 2008-2009 A. De Luca 10
Energia cinetica braccio 2
i = 2
!
2 vc2 =2v2 +
0
0
˙ q 1 + ˙ q 2
"
#
$ $ $
%
&
' ' ' (
)l 2 + d2
0
0
"
#
$ $ $
%
&
' ' '
=
l1s2˙ q 1
l1c2˙ q 1 + d2
˙ q 1 + ˙ q 2( )0
"
#
$ $ $
%
&
' ' '
!
T2 =1
2m2 l1
2 ˙ q 12 + d2
2 ˙ q 1 + ˙ q 2( )2
+ 2l1d2c2˙ q 1 ˙ q 1 + ˙ q 2( )[ ]
+1
2I2zz
˙ q 1 + ˙ q 2( )2
Robotica 2 A.A. 2008-2009 A. De Luca 11
Matrice di inerzia
!
T = T1 + T2 =1
2˙ q 1 ˙ q 2( )
b11(q) b12(q)
b21(q) b22(q)
"
# $
%
& '
˙ q 1˙ q 2
"
# $
%
& ' X
!
b11(q) = I1zz + m1d12
+ I2zz + m2d22
+ m2l12
+ 2m2l1d2c2
= a1 + 2a2 cosq2
!
b12(q) =b21(q) = m2l1d2c2 + I2zz + m2d22
= a2 cosq2 + a3
!
b22
= I2zz
+ m2d
2
2= a
3
Robotica 2 A.A. 2008-2009 A. De Luca 12
Termini centrifughi e di Coriolis
!
C1 q( ) =1
2
" b1
" q
#
$ %
&
' ( +
" b1
" q
#
$ %
&
' (
T
)"B
" q1
#
$ % %
&
' ( (
=1
2
0 )2a2s2
0 )a2s2
#
$ %
&
' ( +
0 0
)2a2s2 )a2s2
#
$ %
&
' (
#
$ %
&
' (
=0 )a2s2
)a2s2 )a2s2
#
$ %
&
' (
!
C2 q( ) =1
2
" b2
" q+
" b2
" q
#
$ %
&
' (
T
)"B
" q2
#
$ % %
&
' ( (
=L =a2s2 0
0 0
#
$ %
&
' (
!
c1 q, ˙ q ( ) = "a2s2˙ q 2
2 + 2˙ q 1˙ q 2( )
!
c2 q, ˙ q ( ) = a2s2˙ q 1
2
Robotica 2 A.A. 2008-2009 A. De Luca 13
Termini di gravità
!
U1 = "m1gTr0,c1 = "m1 0 "g0 0( )
*
d1s1
*
#
$
% % %
&
'
( ( (
= m1g0d1s1
!
U2 = "m2gTr0,c2 = m2g0 l1s1 + d2s12( )
!
U = U1
+ U2
!
g(q) ="U
" q
T
=g0 m1d1c1 + m2l1c1 + m2d2c12( )
g0m2d2c12
#
$ %
&
' ( =
a4c1 + a5c12
a5c12
#
$ %
&
' (
Robotica 2 A.A. 2008-2009 A. De Luca 14
Modello dinamico robot 2R
!
a1 + 2a2c2( )˙ ̇ q 1 + a2c2 + a3( )˙ ̇ q 2 " a2s2˙ q 2
2 + 2˙ q 1˙ q 2( )+a4c1 + a5c12 = u1
!
a2c2 + a3( )˙ ̇ q 1 + a3˙ ̇ q 2 + a2s2
˙ q 12 + a5c12 = u2
Q1: è possibile avere a2 nullo? significato fisico? conseguenze?
Q2: è possibile avere anche a4 = a5 = 0? significato fisico?
Q3: verificare, a partire dalle espressioni dei coefficienti, che la matrice d’inerzia è sempre definita positiva e in particolare che gli elementi in diagonale sono sempre positivi (∀q)
Q4: fornire due diverse matrici S’ e S’’ che fattorizzano i termini quadratici nelle velocità e soddisfino o meno la antisimmetria di B-2S
.