Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica...

79
Fondamenti di robotica Cinematica differenziale e statica Prof. G. Magnani ([email protected]) Nota : Diversi disegni riportati in queste slide sono tratti dal testo: L.Sciavicco, B.Siciliano Robotica industriale – Modellistica e controllo di robot manipolatori (2a ed.) Mc Graw-Hill, 2000

Transcript of Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica...

Page 1: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica

Cinematica differenziale e statica

Prof. G. Magnani ([email protected])

Nota:Diversi disegni riportati in queste slide sono tratti dal testo:L.Sciavicco, B.SicilianoRobotica industriale –Modellistica e controllo di robot manipolatori(2a ed.) Mc Graw-Hill, 2000

Page 2: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [2]

Cinematica differenziale e statica

Parte I

Cinematica differenziale

Page 3: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [3]

Velocità di un puntoConsideriamo un punto P in moto rispetto ad un osservatore in O. Siano:

P la posizione all’istante t (ossia il vettore P−O)

P' la posizione all’istante t+Δt

ΔP = P'−P lo spostamento del punto nell’intervallo Δt

P

P'ΔP

O

Consideriamo il vettore ΔP/Δt e valutiamone il limite per Δt tendente a 0.

Otteniamo il vettore velocità del punto:

( ) ( )dt

tdt Pv =

Il vettore è diretto come la tangente alla traiettoria nel punto P.

Page 4: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [4]

Velocità di un punto in moto rotatorioSi supponga che il punto P sia in moto lungo una circonferenza. Sia Δϕ l’angolo che ne descrive il moto nel passaggio dal punto P a P'.

Sia r il versore di un asse ortogonale al piano della circonferenza, passante per il centro O ed uscente dal foglio.

Se l’angolo Δϕ è infinitesimo, risulta:

( )OPrP −×ϕΔ=Δ

Dividendo per Δt e prendendo il limite per Δt tendente a 0 si ha la velocità del punto:

P

P'

ΔP

O Δϕ

( )OPrv −×ϕ= &

N.B.: Prodotto vettoriale c=a×b Direzione: ortogonale al piano di a e bVerso: regola della mano destraModulo: |c|=|a| |b| sin(ϑ), ϑ: angolo tra a e b

Page 5: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [5]

Moto rotatorio intorno ad asse fissoSi abbia un corpo rigido in rotazione intorno ad un asse fisso. Sia r il versore dell’asse di rotazione e:

O un punto sull’asse

P un punto solidale con il corpo in moto

ϕ l’angolo formato rispetto ad un riferimento

La velocità del punto P si ottiene, qualunque sia O, come:

( )OPv −×= ω

con ω vettore velocità angolare, genericamente funzione del tempo.

Risulta inoltre:

PO

ϕ

r

rϕ= &ω

(la direzione ed il verso di ω sono quelli del versore r).

Page 6: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [6]

Moto rotatorio con punto fissoSi abbia un corpo rigido in rotazione con un punto O fisso (moto polare).

E’ noto che la rotazione di una terna solidale con il corpo rispetto ad una terna fissa con origine in O è sempre rappresentabile con una rotazione di un angolo ϕ intorno ad un asse r (rappresentazione asse-angolo).

La velocità di un punto P del corpo si ottiene allora come:

( )OPv −×= ω

con ω vettore velocità angolare, funzione del tempo, ma non del punto P (è la stessa per tutti i punti del corpo).

Risulta inoltre:rϕ= &ω

La direzione ed il verso di ω sono quelli del versore r, e cambiano ad ogni istante (r=r(t): asse di istantanea rotazione).

P

O

ϕ

r

Page 7: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [7]

Jacobiano geometricoLo Jacobiano geometrico di un manipolatore robotico esprime il legame tra le velocità dei giunti e la velocità dell’organo terminale (della terna utensile solidale con l’organo terminale).

Velocità della terna• velocità lineare dell’origine della terna (derivata temporale della posizione)• velocità angolare

Page 8: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [8]

Moto rototraslatorio – velocità angolareIl più generale moto di un corpo rigido è quello in cui la velocità di un generico punto P si possa esprimere come:

O è un punto prefissato solidale al corpo

( )OPvv −×+= ωo

ω è il vettore velocità angolare del corpo funzione del tempo:

non dipende né da P, né da O.

Se poi consideriamo una terna solidale con il corpo:

vo è la velocità (lineare) dell’origine O della terna rispetto ad un osservatore fisso

ω è definibile come velocità angolare della terna stessa

P

O

ϕ

r

P

O

ϕ

r

xy

z

Page 9: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [9]

Cinematica relativaConsideriamo un osservatore che diciamo “fisso” ed un secondo osservatore in moto rispetto al primo. Sia P un punto mobile: i due osservatori descriveranno il moto di P con leggi diverse.

Associamo a ciascun osservatore una terna. Siano:

V la velocità di P rispetto all’osservatore fisso

v la velocità di P rispetto all’osservatore mobile

Risulta (regola del parallelogramma delle velocità):

( )111 OPVV −×+= ωos

velocità di trascinamento (velocità che avrebbe P se si muovesse solidalmente con la terna mobile).

ω1 è la velocità angolare della terna mobile rispetto alla terna fissa.

O0

x0

y0

z0 x1

y1

z1

O1

P

sVvV +=con:

Page 10: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [10]

Cinematica relativaConsideriamo la trasformazione di coordinate di un punto P dalla terna 1 alla terna 0:

Derivando:

101

01

0 pRop +=

101

101

01

0 pRpRop &&&& ++=

velocità relativa

velocità di trascinamento10

10

1 pRr =101

01 pRo && +

101

01

01

101

101

01

0 pRropRpRop &&&&&& +×+=++= 01ω

kji,ωSecondo pedice per il vettore ω?

Page 11: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [11]

Jacobiano geometricoRitorniamo al manipolatore robotico ed analizziamo il moto della terna utensile (solidale con l’organo terminale).Come visto, possiamo definire la velocità lineare e la velocità angolare di tale terna: p e ω.

Obiettivo della cinematica differenziale è di esprimere queste velocità in funzione delle velocità delle variabili di giunto.

( )( )qqJ

qqJp&

&&

O

P

==

ω

.

In forma compatta possiamo scrivere:

( )qqJp

v &&

=⎥⎦

⎤⎢⎣

⎡=

ω

La matrice (6 n): ( ) ( )( )⎥⎦

⎤⎢⎣

⎡=

qJqJ

qJO

P

Prende il nome di Jacobiano geometrico del manipolatore.

Page 12: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [12]

Jacobiano geometrico

Come ottenere e ?

vettori colonna (3×1)

matrice (3 n) – n coordinate libere[ ]PnPP jjJ ...1=

Pij

matrice (3 n) – n coordinate libere[ ]OnOO jjJ ...1=

Oij

Pij Oij

Page 13: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [13]

Jacobiano geometrico

Equazione cinematica diretta ( )( )( )( )⎥

⎥⎥

⎢⎢⎢

⎡=

qqq

qP

z

y

x

PPP

( ) ( ) ( )⎥⎦

⎤⎢⎣

⎡=

1T0qpqR

qT

( )

( )

( )

( )⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢

∂∂

∂∂

=

qq

qq

qq

qJ

z

y

x

P

P

P

P

( )qqJqqPp &&& P=

∂∂

=( )

( )

( )

( )q

qq

qq

qq

qP d

P

P

P

d

z

y

x

⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢

∂∂

∂∂

=

Differenziando

dividendo per dt

da cui

Un modo per ottenere (per differenziazione) Pij

Page 14: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [14]

Jacobiano geometrico

è ottenibile da passando attraverso la sua derivata rispetto

al tempo

Evitiamo questo calcolo seguendo un approccio intuitivo.

L’approccio intuitivo fornisce anche

La è una funzione della velocità angolare ω

( )qR

( )qR&

OJ

Meno immediato ottenere Oij

PJ

Page 15: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [15]

Velocità lineare di un braccio

Derivando:

1,111

−−−− += i

iiiii rRpp

velocità dell’origine della terna i rispetto alla terna i−1, espressa in terna base

origine della terna i rispetto alla terna i−1, espressa nella terna i−1

(si omette l’indicazione esplicita del riferimento alla terna 0)

iiiiii

iiiii

iiiiii

,11,11

1,111

1,111

−−−−

−−−−

−−−−

×++=

=×++=

rvprRrRpp

ω

ω

&

&&&

Page 16: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [16]

Velocità angolare di un braccio

Partiamo dalla relazione: 11

−−= i

iii RRRVelocità angolare della terna i rispetto alla terna i−1, espressa nella terna i−1

Derivando:

( ) ( ) ( )( ) ( )( ) ( ) i

iiiiii

iii

Ti

iiiiii

ii

iiiiiiii

RRSRS

RRRSRRS

RSRRSRS

1,111

111

1,111

11,111

−−−−

−−−

−−−−

−−−−−

+=

=+=

=+=

ωω

ωω

ωωω

Pertanto:

iii

iiiiii

,11

1,111

−−

−−−−

+=

=+=

ωω

ωωω R

(si può dimostrare)

ovvero le velocità angolari si sommano.

Page 17: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [17]

Giunto prismatico e giunto rotoidale

• Giunto prismatico

Pertanto:1,1

,1

−−

=

=

iiii

ii

d zv &

iiιiiii

ii

d ,111

1

−−−

×++=

=

rzpp ω

ωω&&&

• Giunto rotoidale

Pertanto:iiiiii

iiii

,1,1,1

1,1

−−−

−−

×=

ϑ=

rvz

ω

ω &

iiiii

iiii

,11

11

−−

−−

×+=ϑ+=

rppz

ωωω&&

&

Page 18: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [18]

Calcolo dello Jacobiano - approccio intuitivo

Ritorniamo all’espressione dello Jacobiano partizionato in n colonne di 6 elementi, ciascuna delle quali, a sua volta, partizionata in due di 3:

⎥⎥⎥

⎢⎢⎢

⎡=

OnO

PnP

jj

jjJ

1

1

Lqi jPi: contributo del giunto i alla velocità lineare

qi jOi: contributo del giunto i alla velocità angolare

.

.

Possiamo calcolare separatamente le sottocolonne OiPi jj e perché il legame tra le velocità dei giunti e quelle della terna è lineare e quindi vale la sovrapposizione degli effetti.

Il contributo del giunto i-esimo alla velocità dell’end effector non dipende dal moto / non moto degli altri. Si può quindi calcolare muovendo il solo giunto i-esimo, con gli altri tutti fermi.I contributi dei singoli giunti si possono poi sommare

Page 19: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [19]

Calcolo dello Jacobiano - approccio intuitivo

.

ii dq =

n

sa

zi-1

z0

y0

x0

di

P

[ ]

iOi

Pii

qjj

&&

⎥⎦

⎤⎢⎣

⎡=⎥

⎤⎢⎣

⎡ωp

ijqq

j

i

≠=≠ 0

0&

&

[ ]

ii

i

d&&

⎥⎦

⎤⎢⎣

⎡=⎥

⎤⎢⎣

⎡ −

0zp 1

ω 01

== −

Oi

iPi

jj z

Giunto i prismatico

Confrontando con laRisulta

Page 20: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [20]

Calcolo dello Jacobiano - approccio intuitivo

.

iiq ϑ=a

zi-1

z0

y0

x0

[ ]

iOi

Pii

qjj

&&

⎥⎦

⎤⎢⎣

⎡=⎥

⎤⎢⎣

⎡ωp

ijqq

j

i

≠=≠ 0

0&

&

ii

nii

ii

niii ϑϑ

ϑ &&

&&⎥⎦

⎤⎢⎣

⎡ ×=⎥

⎤⎢⎣

⎡ ×=⎥

⎤⎢⎣

−−

−−

1

,11

1

,11

zrz

zrzp

ω

Giunto i rotoidale

1

,11

−−

=×=

iOi

niiPi

JJ

zrz

ri-1,n

P

Pi-1

Confrontando con

Risulta

Oi-1

Page 21: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [21]

Calcolo dello Jacobiano

• Velocità lineare

Giunto i prismatico:

11 −− =⇒= iPiiiPii dq zjzj &&

Giunto i rotoidale:

( )

( )11

11

,1,1

−−

−−

−−

−×=⇓

−×ϑ==×=

iiPi

iii

niiiPiiq

ppzj

ppzrj

&

& ω

Page 22: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [22]

Calcolo dello Jacobiano - approccio intuitivo

Possiamo esprimere lo Jacobiano geometrico per colonne:

( )⎪⎪⎪

⎪⎪⎪

⎥⎦

⎤⎢⎣

⎡ −×

⎥⎦

⎤⎢⎣

=⎥⎦

⎤⎢⎣

−−

rotoidale giunto

prismatico giunto

1

11

1

i

ii

i

Oi

Pi

zppz

z

jj 0

Gli elementi per il calcolo di queste colonne si ricavano da relazioni cinematiche dirette:

( ) ( )

( ) ( )

( ) ( ) 01211

011

01

101

01211

011

~~

~~

pAAp

pAAp

zRRz

−−−−

−−−−

=

=

=

iiii

nnn

iiii

qq

qq

qq

K

K

K dove:

⎥⎦

⎤⎢⎣

⎡=

⎥⎥⎥⎥

⎢⎢⎢⎢

=⎥⎥⎥

⎢⎢⎢

⎡=

1~,

1000

~,100

00p

ppz

(coordinate omogenee)

Page 23: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [23]

Calcolo dello Jacobiano

Dall’equazione cinematica diretta si estrae ( )( )( )( )⎥

⎥⎥

⎢⎢⎢

⎡=

qqq

qP

z

y

x

PPP

Per la sola parte relativa alla posizione, lo Jacobiano può essere ricavato per differenziazione. In casi semplici è un modo più diretto ed immediato e può essere conveniente

[ ]PnPP jjJ ...1=

( )

( )

( )

( )qq

qq

qq

qq

qP d

qP

qP

qP

qP

qP

qP

qP

qP

qP

d

P

P

P

d

n

zzz

n

yyy

n

xxx

z

y

x

⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢

∂∂

∂∂

∂∂

∂∂∂

∂∂

∂∂

=

⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢

∂∂

∂∂

=

...

...

...

21

21

21

( )qqJqqPp &&& P=

∂∂

=

Page 24: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [24]

Manipolatore planare a due link

⎥⎥⎥

⎢⎢⎢

⎡++

=0

12211

12211

sasacaca

p

⎥⎥⎥

⎢⎢⎢

⎡+

−−−=

⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢

∂∂∂

∂∂

=0000

12212211

12212211

21

21

cacacasasasa

PP

PP

yy

xx

P ϑϑ

ϑϑ

J

y0

x0

a1

a2

θ1

θ2

Esempio di calcolo dello Jacobiano nel secondo modo (modo differenziale),

Page 25: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [25]

Calcolo dello Jacobiano

Problema

Disegnare un meccanismo a tre gradi di libertà nello spazio 3D il cui Jacobiano JP (relativo alla sola velocità lineare) sia una matrice identità 3×3 per ogni configurazione del meccanismo

Page 26: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [26]

Manipolatore planare a tre bracci

( ) ( ) ( ) ( )⎥⎦

⎤⎢⎣

⎡ −×−×−×=

210

221100

zzzppzppzppz

qJ

⎥⎥⎥

⎢⎢⎢

⎡===

⎥⎥⎥

⎢⎢⎢

⎡++++

=

⎥⎥⎥

⎢⎢⎢

⎡++

=⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

⎡=

100

0

00000

210123312211

123312211

12211

12211

211

11

10

zzzp

ppp

sasasacacaca

sasacaca

saca

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

⎡+++

−−−−−−

=

11100000000012331233122123312211

12331233122123312211cacacacacacasasasasasasa

J

N.B.:

⎥⎥⎥

⎢⎢⎢

−−−

1221

3113

2332

babababababa

ba

Page 27: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [27]

Manipolatore antropomorfo

( ) ( ) ( ) ( )⎥⎦

⎤⎢⎣

⎡ −×−×−×=

210

221100

zzzppzppzppz

qJ

( )( )

⎥⎥⎥⎥

⎢⎢⎢⎢

++−−+−

==

10000 233222323

2332211231231

2332211231231

23

12

01

03 sasacs

cacascsscscacacssccc

AAAA

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡−

=

100000100000

11

11

01

cssc

A

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡−−

==

10000 2222

12212121

21212121

12

01

02 sacs

scacsscsccassccc

AAA

11 pz

22 pz

3p

Page 28: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [28]

Manipolatore antropomorfo

( ) ( ) ( ) ( )⎥⎦

⎤⎢⎣

⎡ −×−×−×=

210

221100

zzzppzppzppz

qJ

( )( )

⎥⎥⎥

⎢⎢⎢

⎡−==

⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

+++

=

⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

⎡==

0100

000

1

1

210

23322

233221

233221

22

212

212

210

cs

sasacacascacac

sacsacca

zzzp

ppp

( ) ( )( ) ( )

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

−−

+−+−+−+−+−

=

001000

11

11

23323322

2313233221233221

2313233221233221

ccsscacaca

ssasasascacacscasasaccacas

J

Page 29: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica -G. Magnani [29]

Manipolatore sferico

( ) ( ) ( )⎥⎦

⎤⎢⎣

⎡ −×−×=

010

21100

zzzppzppz

qJ

Page 30: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [30]

Manipolatore di Stanford

( ) ( ) ( )

( ) ( ) ( )⎥⎦⎤−×−×−×

⎢⎣⎡ −×−×=

543

554433

10

21100

zzzppzppzppz

zzzppzppzqJ 0

( )( )

( ) ⎥⎥

⎢⎢

−+++++−++−

=

⎥⎥

⎢⎢

⎡+−

===⎥⎥⎦

⎢⎢⎣

⎡==

52452632

2155142541621321

5412515421621321

32

21321

21321

54310000

sscccddcsscssccsscddcdssssssccscccddsdsc

dcdcdssdsdsc

p

ppppp

⎥⎥

⎢⎢

−++−+

=⎥⎥

⎢⎢

⎡+−−−

=⎥⎥

⎢⎢

⎡==

⎥⎥

⎢⎢

⎡−=

⎥⎥⎦

⎢⎢⎣

⎡=

52452

2155142541

5412515421

5

42

41421

41421

4

2

21

21

32

1

1

1001

00

sscccsscssccsscssssccsccc

ssccscscsscc

csssc

cs

zzzz

zz

Page 31: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [31]

Rappresentazione in una terna differente

L’espressione dello Jacobiano dipende dalla terna rispetto alla quale si esprime la velocità dell’organo terminale. Supponiamo di esprimere tale velocità in una nuova terna t:

Pertanto lo Jacobiano riferito alla nuova terna t è legato allo Jacobiano originario dalla relazione:

qJR00Rp

R00Rp

&&&

⎥⎥⎦

⎢⎢⎣

⎡=⎥

⎤⎢⎣

⎥⎥⎦

⎢⎢⎣

⎡=

⎥⎥⎦

⎢⎢⎣

⎡t

t

t

t

t

t

ωω

JR00RJ

⎥⎥⎦

⎢⎢⎣

⎡= t

tt

Nota. Secondo la definizione di velocità angolare, quando se ne considerano le componenti, sono in gioco tre terne: la terna di cui si assegna la velocità rispetto alla terna di riferimento e la terna rispetto alla quale si definiscono le componenti

Page 32: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [32]

Jacobiano analiticoConsideriamo l’equazione cinematica diretta di un manipolatore:

( ) ( )( )⎥⎦

⎤⎢⎣

⎡==

qqp

qkxφ

dove φ costituisce una rappresentazione minima dell’orientamento. Derivando rispetto al tempo otteniamo:

( ) ( )qqJqqqkx &&& A=

∂∂

=

( )qJ A è detto Jacobiano analitico del manipolatore

⎥⎥⎥

⎢⎢⎢

⎡++

=0

12211

12211sasacaca

x

⎥⎥⎥

⎢⎢⎢

⎡+

−−−=

0012212211

12212211cacacasasasa

AJ

Page 33: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [33]

Jacobiano analitico

( ) ( )( )⎥⎦

⎤⎢⎣

⎡=

φ qJqJ

qJ PA

( )( )( )( )

( )( ) qqJqJ

qqqqqqpp

x &&

&

&

&& ⎥

⎤⎢⎣

⎡=⎥

⎤⎢⎣

⎡∂∂∂∂

=⎥⎦

⎤⎢⎣

⎡=

φ

P

φφ

( )qJ AAnche è costituito di due parti

( )qJ AQual è il legame tra e ?( )qJ

La parte relativa alla velocità lineare è la stessa

( )qJOQual è il legame tra e ?( )qJΦ

Page 34: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [34]

Legame tra ω e φEsprimiamo l’orientamento con gli angoli di Eulero ZYZ, e consideriamo il vettore velocità angolare derivante da ciascuna rotazione elementare:

.

ψ⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

ωωω

ϑ

ϑϕ

ϑϕ

&

csssc

z

y

x

ϕ⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

ωωω

&

100

z

y

x

ϑ⎥⎥⎥

⎢⎢⎢

⎡−=

⎥⎥⎥

⎢⎢⎢

ωωω

ϕ

ϕ&

0cs

z

y

x

Componendo le rotazioni elementari:

( )φφφω && T=⎥⎥⎥

⎢⎢⎢

⎡ −=

ϑ

ϑϕ

ϑϕ

ϕ

ϕ

csssc

cs

0100

Page 35: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [35]

Legame tra ω e φ.

( )φφφω && T=⎥⎥⎥

⎢⎢⎢

⎡ −=

ϑ

ϑϕ

ϑϕ

ϕ

ϕ

csssc

cs

0100

Page 36: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [36]

Jacobiano analitico e Jacobiano geometrico

Esprimiamo la velocità (lineare ed angolare) della terna utensile in termini delle derivate di p e φ:

Esprimendo l’orientamento con gli angoli di Eulero ZYZ:

( ) ( ) ( ) qJTxTp

T00Ip

v &&&

&&AAA φφ

φφω==⎥

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡=⎥

⎤⎢⎣

⎡=

Ne consegue:

( ) AA JTJ φ=

( )( ) ( )( ) ϑ−== sA φφ TT detdet

Per ϑ=0, ϑ=π, la matrice è singolare: si parla in questo caso di singolarità di rappresentazione.

Page 37: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [37]

OsservazioniLe velocità angolari si sommano, posto che siano espresse nello stesso sistema di riferimento

0,1

03,2

02,1

01,0

0,0 ... nnn −++++= ωωωωω

Utensile (tool) fissato alla flangia terminale del robot

⎥⎦

⎤⎢⎣

⎡=

1

66

Ttool

tooldR

oT

tooltool rvv ,66,06,0,0 ×+= ω

6,0,0 ωω =tooltooltool

tool 6,0,0 ωω = 06,0

0,0 ωω =tool

come sopra

Tutti i vettori espressi nello sistema di riferimento

Page 38: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [38]

OsservazioniJacobiano per un punto arbitrario di un link

( ) ( ) ( )⎥⎦

⎤⎢⎣

⎡ −×−×=

00

10

1100

zzpOzpOz

qJ cc

Oc

p0

p1

Oc dev’essere calcolato

Page 39: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [39]

Singolarità cinematicheRiprendiamo la relazione che definisce lo Jacobiano geometrico:

( )qqJv &=

I valori di q per cui la matrice J diminuisce di rango (non è massimo) prendono il nome di singolarità cinematiche.

nnqJqJqJ &&& +++= ...2211v

Poiché v ha sei componenti, per poter attuare v arbitrari ci devono essere almeno 6 colonne di J linearmente indipendenti (dev’essere rango J = 6)

rango J ≤ min(6,n)

Manipolatore planare rango J ≤ 2 Manipolatore antropomorfo rango J ≤ 6

rango J(q) dipende da q

Page 40: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [40]

Singolarità cinematiche

In presenza di singolarità cinematiche si può avere:

1. Perdita di mobilità (non è possibile imporre leggi di moto arbitrarie) (movimenti in certe direzioni sono inattuabili).

2. Possibilità di infinite soluzioni al problema cinematico inverso3. Velocità elevate nello spazio dei giunti (nell’intorno di singolarità) per

velocità normali dell’end-effector (o nello spazio operativo)

Le singolarità possono essere:

1. Ai confini dello spazio di lavoro raggiungibile2. All’interno dello spazio di lavoro raggiungibile

Queste ultime sono più problematiche, perché ci si può incorrere con traiettorie pianificate nello spazio operativo.

Page 41: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [41]

Singolarità cinematiche: esempioConsideriamo un manipolatore planare a due bracci:

Si tratta di singolarità ai confini dello spazio di lavoro.

⎥⎦

⎤⎢⎣

⎡+

−−−=

12212211

12212211

cacacasasasa

J

Determiniamone le singolarità:

( )⎩⎨⎧

π=ϑ⇔==

00det 2221 saaJ

2112112 ssccs =−( ) βαβαβα sincoscossinsin −=−

Page 42: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [42]

Singolarità cinematiche: esempio

In queste configurazioni, le due colonne dello Jacobiano non sono indipendenti.

( )( ) ⎥

⎤⎢⎣

⎡+

−+−=

12121

12121

cacaasasaa

J02 =ϑ

( )( ) ⎥

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡+

−+−=

⎥⎥⎦

⎢⎢⎣

2

1

12121

12121

qq

cacaasasaa

PP

y

x

&

&

&

&

1

1

cs

PP

y

x −=&

&

Perdita di mobilità.

Page 43: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [43]

Disaccoppiamento di singolarità

Il problema si semplifica per un manipolatore con polso sferico

Si può suddividere la ricerca delle singolarità in due sottoproblemi:

1. Calcolo delle singolarità della struttura portante2. Calcolo delle singolarità del polso

Può essere difficile risolvere l’equazione det J(q)=0

Page 44: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [44]

Disaccoppiamento di singolaritàConsideriamo per semplicità il caso n = 6: struttura portante di 3-DOF e polso sferico di 3_DOF.Lo Jacobiano è 6×6 e una configurazione q è singolare se e solo se

Partizioniamo lo Jacobiano

⎥⎦

⎤⎢⎣

⎡=

2221

1211

JJJJ

J

( ) ( ) ( )[ ][ ]54322

55443312

zzzJppzppzppzJ

=−×−×−×=

( )( ) 0det =qJ

Poiché gli ultimi tre giunti sono tutti di rotazione:

Page 45: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [45]

Disaccoppiamento di singolarità

La cinematica di un robot può essere descritta scegliendo terne in modo largamente arbitrario. La convenzione di DH è solo un modo sistematico per sceglierle.Le singolarità sono configurazioni caratteristiche della struttura meccanica e non dipendono dalle scelte relative alle terne.Se il polso è sferico tutti gli assi di rotazione si intersecano nel centro del polso. Se scegliamo l’origine della terna associata al (solidale al) organo terminale con origine nel centro del polso si ha p = pW e quindi risulta

[ ]000=12J

( ) ( ) ( ) ( )( )⎩

⎨⎧

==

⇔==polso di àsingolarit0det

portante struttura di àsingolarit0det0detdetdet

22

112211 J

JJJJ

Ne consegue che:

Page 46: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [46]

Singolarità di polso

[ ]54322 zzzJ =

Lo Jacobiano è singolare se z3 è parallelo a z5 (ϑ5=0, ϑ5=π ):

Rotazioni uguali e opposte di ϑ4 e ϑ6 non producono alcuna rotazione dell’organo terminale. Inoltre il polso non è in grado di effettuare rotazioni attorno all’asse ortogonale a z3 e z4.

È una singolarità difficile da individuare in una pianificazione del moto nello spazio operativo.

La cinematica inversa ha infinite soluzioni

Page 47: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [47]

Singolarità di polso

Page 48: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [48]

Singolarità di struttura portante

Manipolatore antropomorfo:

Singolarità di gomito

( ) ( )⎩⎨⎧

=+==

⇔=+−=spalla di àsingolarit0gomito di àsingolarit,0

0det23322

3323322332 caca

cacasaaP

πϑϑJ

[ ] ( )1

1111

)

−− −×=

i

iWii

zppz

J Una configurazione è singolare se e solo se le tre colonne non sono linearmente indipendenti:

Page 49: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [49]

Singolarità di struttura portante

Singolarità di gomito

Page 50: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [50]

Singolarità di struttura portanteManipolatore antropomorfo:

( ) ( )⎩⎨⎧

=+==

⇔=+−=spalla di àsingolarit0gomito di àsingolarit,0

0det23322

3323322332 caca

cacasaaP

πϑϑJ

Singolarità di spalla

( )( ) 0

0

233221

233221

=+==+=

cacaspcacacp

y

x

Dalla cinematica diretta:

Sono singolarità che si caratterizzano facilmente nello spazio operativo.

Infinite soluzioni alla cinematica inversa.

Page 51: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [51]

Singolarità di struttura portante

Singolarità di spalla

Nelle vicinanze:velocità nei giunti elevate per piccole velocità lineari

( )qqJp && PW =

( ) WP pqJq && 1−=

Page 52: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [52]

Inversione della cinematica differenziale

L’equazione cinematica differenziale è lineare per un dato valore di q:

( )qqJv &=

Se lo Jacobiano è quadrato e non singolare per un dato q si può trovare la velocità dei giunti necessaria per ottenere una data velocità dell’organo terminale

( ) vqJq 1−=&

Page 53: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [53]

Inversione cinematica

Data la velocità v nello spazio operativo e una condizione iniziale su q si può pensare di risolvere il problema della cinematica inversa invertendo la cinematica differenziale ed integrando. Se lo Jacobiano è quadrato (n = r, numero di coordinate dello spazio operativo necessarie per descrivere il compito):

( ) ( ) ( ) ( )00

1 qqqvqJq +σσ=⇒= ∫−t

dt &&

Discretizzando con una formula di integrazione numerica:

( ) ( ) ( ) tttt kkk Δ+=+ qqq &1

Page 54: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [54]

Algoritmi per l’inversione cinematica

( ) ( ) ( )( ) ( ) ttttt kkkk Δ+= −+ vqJqq 1

1

Utilizzando la velocità nello spazio operativo l’espressione ricorsiva diventa

Utilizzando direttamente questa formula si incorre in derive della soluzione.

Page 55: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [55]

Algoritmi per l’inversione cinematica

Supponiamo sia assegnato traiettoria desiderata nello spazio operativo (con rappresentazione minima dell’orientamento)

xxe −= d

Come fare in modo che l’errore nello spazio operativo converga a zero?

e la sua derivata:

( )qqJxxxe &&&&& Add −=−=.

( )tdx

( ) ( ) ( ) ( )00

1 qqqqJq +=⇒= ∫−t

dA dtX σσ&&&

Errore, nello spazio operativo, commesso dall’algoritmo di inversione cinematica:

Page 56: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [56]

Inversa dello Jacobiano

Se adottiamo la seguente legge di dipendenza:( )( )KexqJq += −

dA && 1

otteniamo:

0=+ Kee&

cui corrisponde lo schema:

( ) ( ) ( )( )exqJqJxqqJxxxe ΚdAAdAdd +−=−=−= − &&&&&&& 1

Page 57: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [57]

Inversa dello Jacobiano

Se 0=+ Kee&Prendendo la matrice K diagonale e definita positiva il sistema è asintoticamente stabile e l’errore decade a zero.La velocità di convergenza dipende dal modulo dei (autovalori di K).

Se xd = 0 il metodo corrisponde al metodo di Newton per la soluzione di sistemi non lineari.

.

iik

Page 58: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [58]

Esercizi ed esempi

Manipolatore antropomorfo con offset (es. Puma) – inversione cinematica (SHV)

Manipolatore cilindrico: calcolo jacobiano e singolarità

.

Page 59: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [59]

Trasposta dello JacobianoSoluzione alternativa ( )KeqJq T

A=&

Utilizzando il metodo di Lyapunov si può dimostrare (con xd costante) che l’errore e è limitato e decade a zero.Il vantaggio è che si usano solo funzioni cinematiche dirette

Corrisponde al metodo del gradiente per la soluzione di sistemi non lineari..

NO 2009/10

Page 60: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [60]

Trasposta dello Jacobiano

Condizione di stallo

( )qJTA

Esempio – manipolatore antropomorfo

L’evoluzione si arresta per e=0 e per e nello spazio nullo diche non è vuoto in generale: condizione di stallo – condizione di equilibrio con e≠0

diagonale K

Nullo di TPJ

NO 2009/10

Page 61: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [61]

Trasposta dello JacobianoCondizione di stallo

NO 2009/10

Page 62: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [62]

Cinematica differenziale e statica

Parte II

Statica

Page 63: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [63]

Sistemi di forze

Consideriamo un sistema di forze agenti su un corpo rigido.Ciascuna forza è rappresentabile da un vettore applicato in un punto.

Come si riduce questo sistema di forze? C’è un modo per ridurlo ad un sistema di forze più semplice?

Siamo interessati in particolare alla statica del corpo ovvero alle condizioni in base alle quali il sistema di forze, applicato al corpo rigido, lo lascia nella stessa condizione di quiete che aveva prima dell’applicazione delle forze (si dice in questo caso che il corpo è in equilibrio).

F1

F2

F3

P1

P2

P3

Fn

Pn

Page 64: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [64]

Postulati fondamentali

1. Non si altera l’equilibrio di un corpo sostituendo ad un insieme di forze applicate in un punto il risultante (cioè la forza rappresentata dal vettore somma vettoriale delle singole forze) applicato allo stesso punto, oppure se si sostituisce ad una forza applicata in un punto altre forze aventi per somma vettoriale la prima ed applicate nel punto.

2. Non si altera l’equilibrio di un corpo rigido se si trasporta il punto di applicazione di una forza lungo la sua retta di applicazione (postulato valido solo per i corpi rigidi).

Due sistemi di forze applicate al corpo rigido ottenuti passando dall’uno all’altro eseguendo, anche in sequenza, le suddette operazioni, si dicono equipollenti: il passaggio da un sistema all’altro non altera lo stato di equilibrio del corpo.

Page 65: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [65]

Riduzione dei sistemi di forze

Con semplici ragionamenti si conclude che:• un sistema di forze le cui rette di applicazione concorrono in un punto• un sistema di forze parallele a risultante non nullo• un sistema di forze piane a risultante non nullosono tutti equipollenti ad un’unica forza.

Con un ragionamento un po’ più complesso, si dimostra che un sistema generale di forze può sempre ridursi a due forze, una delle quali applicate in un punto prefissato.

F1

F2

A

B

Page 66: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [66]

Coppia

Consideriamo ora un sistema di forze a risultante nullo. Esso è equipollente a due forze opposte F e − F, applicate in due punti A e B. Se le due forze hanno la stessa retta di applicazione, possono sopprimersi, altrimenti, se le rette di applicazione sono parallele, costituiscono una coppia.

FA

B−F

bSono facilmente definibili il piano della coppia (piano cui appartengono le due rette d’applicazione), il braccio b (distanza tra le due rette) ed il verso.

Page 67: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [67]

Riduzione ad una forza e una coppia

Aggiungendo una coppia, è possibile spostare una forza da un punto di applicazione ad un altro.

Si abbia la forza F applicata nel punto A. Aggiungiamo le due forze opposte F e −F, applicate nel punto B. Si ottiene la forza Fapplicata nel punto B, e la coppia di forze F e −F, applicate in A e B.

FA

B−F

bF

Per quanto detto finora, si conclude che un generico sistema di forze agenti su un corpo rigido, è equipollente ad una forza, applicata in un punto prefissato, e ad una coppia.

Page 68: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [68]

Momento di una forza rispetto ad un polo

Sia F una forza applicata in un punto P. Il momento della forza rispetto al polo O è definito dal prodotto vettoriale:

Il modulo del vettore momento è dato dal prodotto del modulo di F per la distanza b del polo dalla retta di applicazione della forza.

Di fatto il momento non dipende dalla scelta di Psulla retta di applicazione della forza F.

Se invece del polo O si considera il polo O', si ottiene:

( ) ( ) FOPM ×−=O

Pb F

O

M(O)

( ) ( ) ( ) FOOMM ×′−+=′ OO

Page 69: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [69]

Momento di una forza rispetto ad un asse

Sia F una forza applicata in un punto P e consideriamo un asse caratterizzato dal versore a. Siano O e O' due punti sull’asse. Valutiamo la componente sull’asse del vettore momento, rispetto ai due poli:

Poiché O−O' e a sono paralleli, risulta:

Pertanto la componente secondo un asse del momento di una forza rispetto ad un polo costituito da un punto dell’asse è indipendente dalla posizione del punto stesso sull’asse.Questo giustifica il nome di momento della forza rispetto all’asse dato allo scalare:

( ) ( ) ( ) aFOOaMaM ⋅×′−+⋅=⋅′ OO

( ) ( ) aMaM ⋅=⋅′ OO

( ) aM ⋅= OaM

P

FO

a

O'

Page 70: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [70]

Momento di un sistema di forze

Consideriamo ora un sistema di forze F1, F2, … Fn, applicate rispettivamente nei punti P1, P2, … Pn. Dato un polo O, il momento del sistema di forze rispetto al polo è dato da:

Se in particolare tutte le forze sono applicate nel medesimo punto P:

essendo R il risultante delle forze (teorema di Varignon).Il momento del sistema di forze è quindi uguale al momento del risultante.

( ) ( ) ( ) ( ) ( )∑=

×−=+++=n

iiiOnOOO

121 FOPMMMM L

( ) ( ) ROPM ×−=O

Page 71: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [71]

Momento di una coppia

Se il sistema di forze è costituito da una coppia si ha:F

AB

−F

b

O ( ) ( ) ( ) ( )( ) FBA

FOBFOAM

×−=

−×−+×−=O

Il momento della coppia è quindi indipendente dal polo.

Potremo allora rappresentare una coppia con il suo vettore momento che avrà:• direzione ortogonale al piano della coppia• modulo pari al prodotto Fb, essendo b il braccio della coppia• verso congruente con il verso della coppia

In particolare quando si parla di coppia τ agente su un elemento in rotazione (per esempio un giunto) su cui sia stato fissato un asse, si intende lo scalare ottenuto proiettando il momento della coppia sull’asse.

Page 72: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [72]

Massima riduzione di un sistema di forze

Sappiamo che nel caso più generale possiamo ridurre un sistema qualsiasi di forze ad una forza applicata in un punto (il risultante) e ad una coppia. Ne consegue che potremo sempre rappresentare un sistema di forze con due vettori:

Teorema fondamentale: CNS perché due sistemi di forze applicate ad un corpo rigido siano equipollenti è che abbiano lo stesso risultante e lo stesso momento rispetto ad un polo.

• Un vettore forza applicata in un punto O (di fatto il risultante)• Un vettore momento (di fatto il momento della coppia, ovvero il momento del sistema originario di forze rispetto al polo O)

Page 73: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [73]

Condizioni di equilibrio

Corpo rigido liberoCNS perché un corpo rigido libero sia in equilibrio è che sia nullo il risultante delle forze esterne e nullo il momento del sistema costituito da tali forze, rispetto a qualunque polo:

0,0 == MR

Corpo rigido vincolatoCNS perché un corpo rigido vincolato sia in equilibrio è che sia nullo il risultante delle forze esterne (sia quelle attive che quelle di reazione vincolare) e nullo il momento del sistema costituito da tali forze, rispetto a qualunque polo:

0,0 =′+=′+ MMRR

R' e M': risultante e momento delle forze di reazione vincolare.

Page 74: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [74]

Sistemi di corpi

Si consideri un sistema di r corpi rigidi (quali, per esempio, i bracci di un robot). Se tutti i corpi sono liberi di muoversi nello spazio, il moto del sistema è ad ogni istante descrivibile per mezzo di 6r coordinate x.Supponiamo ora che che esistano delle limitazioni al moto dei corpi che costituiscono il sistema (quali quelle indotte dalla connessione di un braccio con il successivo tramite un giunto, che elimina cinque su sei gradi di mobilità relativi tra i due bracci).Diciamo che sul moto dei corpi esiste un vincolo, che esprimeremo con la relazione:

( ) 0=xh

Un vincolo rappresentato da un’equazione di questo tipo si dice olonomo(perché dipende solo dalle coordinate di posizione e non dalle velocità) e stazionario (perché non dipende dal tempo).

Page 75: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [75]

Coordinate libere( ) 0=xh

Se il vincolo h è costituito da s componenti scalari e tutte sono continue e differenziabili con continuità, è possibile, per mezzo del vincolo, eliminare scoordinate dalle equazioni del sistema.

Le rimanenti n=6r – s coordinate prendono il nome di coordinate libere, o lagrangiane, o generalizzate, e n è il numero di gradi di libertà del sistema meccanico.

Per esempio, in un robot a 6 giunti, delle 36 coordinate originarie, se ne eliminano 30 in virtù dei vincoli imposti dai 6 giunti e ne rimangono 6 che costituiscono le coordinate lagrangiane: tipicamente si scelgono le coordinate di giunto (l’angolo ϑ o la distanza d, rispettivamente per giunto rotazionale o prismatico).

Page 76: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [76]

Spostamento virtuale

Consideriamo ora un sistema di corpi rigidi soggetto a vincoli di mobilità, per il quale si possano esprimere le coordinate x in termini di un vettore λ di coordinate generalizzate: x=x(λ). Definiamo spostamento virtuale la quantità:

Definiamo lavoro elementare compiuto da un sistema di forze agenti su un corpo rigido e aventi risultante f e momento μQ rispetto ad un qualsiasi punto Qdel corpo, la quantità:

dtddW TQQ

T ωμ+= pfdove ω è la velocità angolare del corpo.

λλ

δ∂∂

=δxx

ovvero uno spostamento elementare conforme ai vincoli.

Page 77: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [77]

Principio dei lavori virtualiIn corrispondenza di uno spostamento virtuale, possiamo definire il lavoro virtuale, ovvero il lavoro elementare compiuto dalle forze agenti sul sistema di corpi per lo spostamento virtuale.Poiché le forze di reazione vincolare non producono lavoro, essendo ortogonali ai vincoli, e ipotizzando vincoli privi di attrito, il lavoro virtuale si riduce al lavoro δWa delle forze attive.Si può dimostrare che condizione per l’equilibrio del sistema di corpi rigidi è che il lavoro virtuale delle forze attive sia nullo per qualunque spostamento virtuale:

0λ =δ=δ TaW ζ

dove ζ è un vettore di forze generalizzate.

Page 78: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [78]

Statica del manipolatoreConsideriamo ora un manipolatore soggetto ad un insieme di forze all’organo terminale avente risultante f e momento, rispetto all’origine della terna utensile, μ.

( )γτ qJ T=

e detto τ [n×1] il vettore delle forze o coppie applicate ai singoli giunti, si ha

⎥⎦

⎤⎢⎣

⎡=

μγ

f

[ ]Tfff 321=f

[ ]T321 μμμ=μ

Posto

Page 79: Cinematica differenziale e statica - Intranet DEIBhome.deib.polimi.it/magnani/fdrobotica/cinematica differenziale e... · Fondamenti di robotica - Cinematica differenziale e statica-

Fondamenti di robotica - Cinematica differenziale e statica- G. Magnani [79]

Statica del manipolatoreCome si ricava? Si può ricavare utilizzando il principio dei lavori virtuali.

qδ=δ τTW τ

Per il principio dei lavori virtuali il manipolatore è in equilibrio statico se e solo se:

Il lavoro virtuale delle forze/coppie ai giunti è:

( ) ( ) ( ) qqJqqJqqJfpf δ=δ+δ=+δ=δ γT

OT

PTTT dtW γμωμ

Il lavoro virtuale delle forze all’organo terminale è:

γτ δ=δ WW e quindi: ( )γτ qJ T=

qδ=δ τTW τ