corso di robotica 2 - uniroma1.itdeluca/rob2/04_dinamicalagrangiana_2.pdf · corso di robotica 2...

14
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

Upload: others

Post on 23-Jul-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Corso di Robotica 2 - uniroma1.itdeluca/rob2/04_DinamicaLagrangiana_2.pdf · Corso di Robotica 2 Prof. Alessandro De Luca Modello dinamico dei robot: algoritmo di calcolo energia

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

Page 2: Corso di Robotica 2 - uniroma1.itdeluca/rob2/04_DinamicaLagrangiana_2.pdf · Corso di Robotica 2 Prof. Alessandro De Luca Modello dinamico dei robot: algoritmo di calcolo energia

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

Page 3: Corso di Robotica 2 - uniroma1.itdeluca/rob2/04_DinamicaLagrangiana_2.pdf · Corso di Robotica 2 Prof. Alessandro De Luca Modello dinamico dei robot: algoritmo di calcolo energia

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

Page 4: Corso di Robotica 2 - uniroma1.itdeluca/rob2/04_DinamicaLagrangiana_2.pdf · Corso di Robotica 2 Prof. Alessandro De Luca Modello dinamico dei robot: algoritmo di calcolo energia

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)

Page 5: Corso di Robotica 2 - uniroma1.itdeluca/rob2/04_DinamicaLagrangiana_2.pdf · Corso di Robotica 2 Prof. Alessandro De Luca Modello dinamico dei robot: algoritmo di calcolo energia

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

Page 6: Corso di Robotica 2 - uniroma1.itdeluca/rob2/04_DinamicaLagrangiana_2.pdf · Corso di Robotica 2 Prof. Alessandro De Luca Modello dinamico dei robot: algoritmo di calcolo energia

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

Page 7: Corso di Robotica 2 - uniroma1.itdeluca/rob2/04_DinamicaLagrangiana_2.pdf · Corso di Robotica 2 Prof. Alessandro De Luca Modello dinamico dei robot: algoritmo di calcolo energia

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

"

#

$ $ $

%

&

' ' '

Page 8: Corso di Robotica 2 - uniroma1.itdeluca/rob2/04_DinamicaLagrangiana_2.pdf · Corso di Robotica 2 Prof. Alessandro De Luca Modello dinamico dei robot: algoritmo di calcolo energia

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

Page 9: Corso di Robotica 2 - uniroma1.itdeluca/rob2/04_DinamicaLagrangiana_2.pdf · Corso di Robotica 2 Prof. Alessandro De Luca Modello dinamico dei robot: algoritmo di calcolo energia

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

"

#

$ $ $

%

&

' ' '

Page 10: Corso di Robotica 2 - uniroma1.itdeluca/rob2/04_DinamicaLagrangiana_2.pdf · Corso di Robotica 2 Prof. Alessandro De Luca Modello dinamico dei robot: algoritmo di calcolo energia

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

Page 11: Corso di Robotica 2 - uniroma1.itdeluca/rob2/04_DinamicaLagrangiana_2.pdf · Corso di Robotica 2 Prof. Alessandro De Luca Modello dinamico dei robot: algoritmo di calcolo energia

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

Page 12: Corso di Robotica 2 - uniroma1.itdeluca/rob2/04_DinamicaLagrangiana_2.pdf · Corso di Robotica 2 Prof. Alessandro De Luca Modello dinamico dei robot: algoritmo di calcolo energia

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

Page 13: Corso di Robotica 2 - uniroma1.itdeluca/rob2/04_DinamicaLagrangiana_2.pdf · Corso di Robotica 2 Prof. Alessandro De Luca Modello dinamico dei robot: algoritmo di calcolo energia

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

#

$ %

&

' (

Page 14: Corso di Robotica 2 - uniroma1.itdeluca/rob2/04_DinamicaLagrangiana_2.pdf · Corso di Robotica 2 Prof. Alessandro De Luca Modello dinamico dei robot: algoritmo di calcolo energia

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

.