Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti...

51
Controllo dei Robot P. Lino Corso di Controllo dei Robot Cinematica differenziale Paolo Lino Dipartimento di Ing. Elettrica e dell’Informazione (DEI)

Transcript of Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti...

Page 1: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

Corso di Controllo dei Robot

Cinematica differenziale

Paolo LinoDipartimento di Ing. Elettrica e dell’Informazione (DEI)

Page 2: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

Cinematica differenziale

La cinematica differenziale caratterizza i legami tra levelocità dei giunti e le corrispondenti velocità lineare eangolare dell’organo terminale.

Tali legami sono espressi da una matrice di trasformazione,dipendente dalla configurazione del manipolatore,denominata Jacobiano geometrico.

Per altra via, se la postura dell’organo terminale è espressafacendo riferimento ad una rappresentazione in formaminima dello spazio operativo, è possibile calcolare loJacobiano direttamente, mediante operazione didifferenziazione della funzione cinematica diretta rispettoalla variabile di giunto; lo Jacobiano che ne viene fuori èdenominato Jacobiano analitico ed è in generale diverso daquello geometrico.

Page 3: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

Jacobiano geometricoEquazione cinematica diretta per manipolatore a n gradi di libertà:

10

)()()(

T

qpqRqT

qqJ

qqJp

o

p

)(

)(

velocità lineare dell’organo terminale

Jp rappresenta la matrice (3xn) relativa al contributo delle velocità dei giunti alla velocità

lineare dell’organo terminale, mentre Jo è la matrice (3xn) relativa al contributo delle

velocità dei giunti alla velocità angolare dell’organo terminale

qqJp

v

)(

o

p

J

JJ

equazione cinematica

differenziale del

manipolatore

Jacobiano geometrico

del manipolatore

velocità angolare dell’organo terminale

Page 4: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

(Alcune) Proprietà di una matrice anti-simmetrica

• La matrice S contiene solo 3 elementi

indipendenti𝑆 =

0 −𝑠3 𝑠2𝑠3 0 −𝑠1−𝑠2 𝑠1 0

• Per il generico vettore

𝜔 = 𝜔𝑥 𝜔𝑦 𝜔𝑧 𝑇 si definisce la matrice:𝑆 𝜔 =

0 −𝜔𝑧 𝜔𝑦

𝜔𝑧 0 −𝜔𝑥

−𝜔𝑦 𝜔𝑥 0

• Per ogni vettore 𝜔, 𝑝 ∈ ℝ3 vale la

relazione:

𝑆 𝜔 𝑝 = 𝜔 ∧ 𝑝

• Per ogni vettore 𝜔 ∈ ℝ3 , 𝑅 matrice

ortogonale, vale la relazione:𝑅𝑆 𝜔 𝑅𝑇 = 𝑆 𝑅𝜔

𝑅𝑆 𝜔 𝑅𝑇𝑏 = 𝑅 𝜔 ∧ 𝑅𝑇𝑏 = 𝑅𝜔 ∧ 𝑅𝑅𝑇𝑏 = 𝑅𝜔 ∧ 𝑏 = 𝑅𝑆 𝜔 𝑏𝐷𝑖𝑚.

Page 5: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

Derivata di una matrice di rotazione

Si supponga che la matrice di rotazione vari nel tempo, in altre parole R = R(t). Dalla

proprietà di ortogonalità di R si ha la relazione R(t)RT(t) = I che, derivata rispetto al

tempo, fornisce l’identità

0)()()()( tRtRtRtR TT

)()()( tRtRtS T

Poniamo :

Anti-simmetrica : 0)()( tStS T

Moltiplichiamo a destra ambo i membri dell’espressione di S(t) per R(t):

)()()()()( tRtRtRtRtS T )()()( tRtStR

𝑠𝑖𝑗 = −𝑠𝑗𝑖𝑠𝑖𝑖 = 0

Page 6: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

Interpretazione fisicaSi consideri un vettore 𝑝′ costante ed il vettore 𝑝 𝑡 = 𝑅 𝑡 𝑝′.

La derivata temporale di 𝑝 𝑡 risulta:

ptRtp )()( ptRtStp )()()(

Dalla meccanica classica risulta che la velocità di

un vettore applicato si esprime nella forma:

ptRttp )()()(

con (t) velocità angolare della terna R(t)

rispetto alla terna di riferimento.

Uguagliando le due espressioni si osserva che la matrice 𝑆 𝑡 esprime il prodotto

vettoriale tra il vettore velocità angolare (t) ed il vettore 𝑅 𝑡 𝑝′.

x

y

x’

y’

Pp

𝜔

Page 7: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

Velocità angolare

0)()(

)(0)(

)()(0

)(

00

00

00

0

tt

tt

tt

tS

xy

xz

yz

S(t) = S((t)).

ptRtSptRttp )()()()()(

𝑝 solidale a 𝑂𝑥’y’𝑂𝑥′𝑦′ruota con velocità angolare

𝜔 𝑡 = 𝜔𝑥 , 𝜔𝑦, 𝜔𝑧𝑇

x

y

x’

y’

Pp

𝜔

Page 8: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

EsempioConsideriamo la matrice di rotazione elementare intorno all’asse z:

100

0cossen

0sencos

)(

zR

Supponiamo che vari nel tempo. Calcolando la derivata rispetto al tempo di Rz((t)),

la matrice S(t) è data da:

000

00

00

100

0

0

000

0

0

)()()(

cs

sc

sc

cs

tRtRtS T

0

0

0

)(

xy

xz

yz

tS

Page 9: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

quindi il vettore velocità angolare della terna ruotata rispetto alla terna base vale:

0

0

)()()( tRtStR

000

0

0

000

0

0

100

00

00

)()(

sc

cs

cs

sc

tRtS

Page 10: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

Composizione di velocità

10

1

0

1

0 pRop

10

1

10

1

0

1

0 pRpRop

10

1

0

1

10

1

0

1

0 )( pRSpRop

10

1

0

1 pRr 0

1

0

1

10

1

0

1

0 rpRop

se p1 è costante nel tempo (fisso rispetto alla terna 1): 0

1

0

1

0

1

0 rop

𝑝 = 𝑅𝑧 𝛼 𝑝1

α

Ppy

pxx

y

x’

y’

p’yp’x

zz’

Page 11: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

Velocità di un braccio

1

,111

i

iiiii rRpp

1

,111

1

,111 )(

i

iiii

i

iiiii rRSrRpp

iiiiiii rvpp ,11,11

vi-1,i indica la velocità dell’origine della terna i

rispetto all’origine della terna i – 1, espressa nella

terna baseLa terna i è solidale al

braccio (conv. DH)

Velocità Traslazionale

0

1

0

1

10

1

0

1

0 rpRop

Page 12: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

Velocità angolare

1

1

i

iii RRR

1

1

1

1

i

ii

i

iii RRRRR

11

,11

1

11 )()()(

i

i

i

iii

i

iiiii RSRRRSRS

11

,111 )()()(

i

i

i

iiiiiii RSRRSRS

Derivando:

Page 13: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

Velocità angolarePer l’ortogonalità delle matrici di rotazione si può ancora scrivere

11

,111 )()()(

i

i

i

iiiiiii IRSRRSRS

1

11

1

,111 )()()(

i

ii

T

i

i

iiiiiii RRRSRRSRS

i

T

i

i

iiiiiii RRSRRSRS 1

1

,111 )()()(

Osserviamo che per le matrici di rotazione vale la relazione, RS()RT = S(R), quindi:

i

i

iiiiiii RRSRSRS )()()( 1

,111

1

,111

i

iiiii R iiii ,11

Page 14: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

Composizione di velocità

iiii

iiiiiii rvpp

,11

,11,11

Le relazioni trovate possono

essere particolareggiate per

giunti prismatici o rotoidali

Page 15: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

Giunto prismatico

i-1,i = 0

1,1 iiii zdv

1

,1111

ii

iiiiii rzdpp

Giunto rotoidale

11

,11,1,11

iiii

iiiiiiiii

z

rrpp

11

,1,111

iiii

iiiiiii

z

rpp

11

,11

iiii

iiiii

z

rpp

iiii

iiiiiii rvpp

,11

,11,11

Page 16: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

Calcolo dello Jacobiano

n

n

oo

pp

o

p

jj

jj

J

JJ

1

1

qqJ

qqJp

o

p

)(

)(

qqJ

p

)(

𝑝 = 𝑝 𝑞 𝑡 𝑝 =𝜕𝑝

𝜕𝑞 𝑞 =

𝑖=1

𝑛𝜕𝑝

𝜕𝑞𝑖 𝑞𝑖 =

𝑖=1

𝑛

𝑗𝑝𝑖 𝑞𝑖

n

oo

pp

q

q

q

jj

jjp

n

n

2

1

1

1

velocità lineare

velocità angolare 𝜔 =

𝑖=1

𝑛

𝜔𝑖−1,𝑖 =

𝑖=1

𝑛

𝑗𝑜𝑖 𝑞𝑖

(ciascun termine rappresenta il contributo del singolo giunto alla velocità dell’end effector)

Page 17: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

Calcolo dello Jacobiano

Giunto prismatico

1

1,1

,1

00

ip

o

ii

iiiipii

ioii

zj

j

dq

zdqjv

qj

i

i

i

Giunto rotoidale

)()(

11

1

11,1

1

,1,1,1

1,1

iip

io

ii

iiiipei

iiio

iiiiii

iiioii

ppzj

zj

q

ppzqjv

zqj

rv

zqj

i

i

i

ii

velocità lineare dell’organo terminale

quando gli altri giunti sono fermi

Page 18: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

Calcolo dello jacobiano

z

)(z

0

1-i

11-i

1

i

i

i

i

pp

z

Jo

JpJ

𝑧𝑖−1 è dato dalla terza colonna della matrice di rotazione 𝑅𝑖−10

, e quindi

01

2

11

0

11 )()( zqRqRz i

i

ii

z0 = [0, 0, 1]T Vettore di selezione

della terza colonna

giunto prismatico

giunto rotoidale

Page 19: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

0

1

1

0

1~)()(~ pqAqAp n

n

n

1

0

0

0

~0p

01

2

11

0

11~)()(~ pqAqAp i

i

ii

Si osserva che lo Jacobiano dipende dalla terna rispetto alla quale viene espressa la

velocità dell’organo terminale.

JRo

oRJ

p

Ro

oRpu

u

u

u

u

u

u

𝑝 è dato dai primi tre elementi della quarta colonna della matrice di trasformazione 𝑇𝑛0

𝑝𝑖−1 è dato dai primi tre elementi della quarta colonna della matrice di

trasformazione 𝑇𝑛−10

Page 20: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

Esempio: Manipolatore a tre bracci

1

2

3

1

11 )()(

i

ii

z

ppzqJ

con i = 1, 2, 3

210

221100)(

zzz

ppzppzppzqJ

y3x3

Page 21: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

1

0

0

0

1000

0100

0

0

~~)(~ 1233123211123123

123312211123123

0

2

3

1

2

0

10

0

3

ssscs

cccsc

pAAApqTp

0

123312211

123312211

sss

ccc

p

01

2

11

0

11~)()(~ pqAqAp i

i

ii

01

2

11

0

11 )()( zqRqRz i

i

ii

𝐴10 𝜃1 = 𝐴2

1 𝜃2 = 𝐴32 𝜃3 =

𝑐𝑖 −𝑠𝑖 0 ℓ𝑖𝑐𝑖𝑠𝑖 𝑐𝑖 0 ℓ𝑖𝑠𝑖0 0 1 00 0 0 1

Page 22: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

𝑝1 = 𝐴10 𝜃1 𝑝0 =

𝑐1 −𝑠1 0 ℓ1𝑐1𝑠1 𝑐1 0 ℓ1𝑠10 0 1 00 0 0 1

0001

=

ℓ1𝑐1ℓ1𝑠101

𝑝1 =ℓ1𝑐1ℓ1𝑠10

𝑝0 = 𝐴00 𝜃1 𝑝0 =

1 0 0 00 1 0 00 0 1 00 0 0 1

0001

=

0001

𝑝0 =000

𝑝2 = 𝐴10 𝜃1 𝐴2

1 𝜃2 𝑝0 =

𝑐12 −𝑠12 0 ℓ1𝑐1 + ℓ2𝑐12𝑠12 𝑐12 0 ℓ1𝑠1 + ℓ2𝑠120 0 1 00 0 0 1

0001

=

ℓ1𝑐1 + ℓ2𝑐12ℓ1𝑠1 + ℓ2𝑠12

01

𝑧0 =001

𝑧1 =001

𝑧2 =001

𝑝2 =ℓ1𝑐1 + ℓ2𝑐12ℓ1𝑠1 + ℓ2𝑠12

0

Page 23: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

Prodotto vettoriale tra due vettori 𝑃 ≡ 𝑃𝑥, 𝑃𝑦, 𝑃𝑧 e 𝑄 ≡ 𝑄𝑥 , 𝑄𝑦 , 𝑄𝑧

0

)( 123312211

123312211

00 ccc

sss

ppz

0

)( 1233122

1233122

11 cc

ss

ppz

0

)( 1233

1233

22 c

s

ppz

𝑃 ∧ 𝑄 =

𝑄𝑦𝑃𝑧 − 𝑄𝑧𝑃𝑦𝑄𝑧𝑃𝑥 − 𝑄𝑥𝑃𝑧𝑄𝑥𝑃𝑦 − 𝑄𝑦𝑃𝑥

Page 24: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

111

000

000

000)(

12331233122123312211

12331233122123312211

cccccc

ssssss

qJ

111

)( 12331233122123312211

12331233122123312211

cccccc

ssssss

qJ

Nel piano x-y :

Page 25: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

Jacobiano analitico

qqJqq

pp P

)(

qqJqq

)(

La derivata rispetto al tempo di non coincide, in generale, con il vettore velocità

angolare definito in precedenza

: rappresentazione minima dell’orientamento

qqJqqJ

qJpx A

P

)(

)(

)(

q

qkqJ A

)()(

p origine della terna utensile rispetto alla terna base

Page 26: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

Legame tra Jacobiano analitico e jacobiano geometrico

csscs

ssccscsscccs

sccssccssccc

RRRR zyzEUL

Velocità di rotazione in terna corrente di angoli di Eulero ZYZ

Page 27: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

1

0

0

0

0

z

y

x

00

0

c

s

z

y

x

c

ss

sc

z

y

x

0

0

)(

01

0

0

T

c

ssc

scs

Page 28: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

Singolarità di rappresentazione di

Il determinante della matrice T è pari a -s, il che significa che la relazione non è

invertibile per = 0, .

Ciò significa che, sebbene ogni velocità di rotazione della terna possa essere espressa

mediante un opportuno vettore di velocità angolare , esistono velocità angolari che

non possono essere espresse mediante , quando l’orientamento della terna utensile

impone s = 0.

In questa situazione, infatti, le velocità angolari che possono essere descritte da sono

vincolate ad avere componenti nelle direzioni ortogonali all’asse z tra di loro

dipendenti

Gli orientamenti che annullano il determinante della matrice di trasformazione sono

dette singolarità di rappresentazione di .

222 yx

Page 29: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

Significati fisici di e di

Da un punto di vista fisico il significato di è piùintuitivo di quello di

Tuttavia l’integrale di corrisponde a ed esprimequindi le variazioni impresse sugli angoli di Eulero perpassare da un orientamento ad un altro, mentrel’integrale di non ammette alcuna interpretazionefisica

Page 30: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

Legame tra Jacobiano analitico e jacobiano geometrico

xTxT

Iv A

)(0

0

qqJp

v

)(

qqJq

qJ

qJpx A

P

)(

)(

)(

J = TA()JA

Page 31: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

Singolarità Cinematiche Tutte quelle configurazioni, per le quali J diminuisce il

suo rango sono chiamate singolarità cinematiche.

La caratteristica delle singolarità è di notevole interesseper i seguenti motivi:

a) Le singolarità rappresentano configurazioni in corrispondenzadelle quali si ha una perdita di mobilità della struttura, ovveronon è possibile imporre all’organo terminale leggi di motoarbitrarie.

b) Quando la struttura è in una configurazione singolare, possonoesistere infinite soluzioni al problema cinematico inverso

c) Nell’intorno di una singolarità, velocità ridotte nello spaziooperativo possono indurre velocità molto alte nello spazio deigiunti.

Page 32: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

Singolarità cinematiche

Singolarità ai confini dello spazio di lavoro raggiungibileche si presentano quando il manipolatore è tutto steso otutto ripiegato su se stesso. Queste singolarità possonoessere evitate.

Singolarità all’interno dello spazio di lavoro raggiungibileche sono generalmente causate dall’allineamento di dueo più assi di moto, in altre parole dall’assunzione diconfigurazioni particolari da parte dell’organo terminale.Queste costituiscono un problema serio in quanto,essendo all’interno dello spazio di lavoro, possonoessere interessate da traiettorie pianificate nello spaziooperativo.

Page 33: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

1

02

1

0

0

2

Esempio

12212211

12212211

cacaca

sasasaJ

det(J) = a1a2s2

Il determinante si annulla per 2 = 0, , mentre 1 è ininfluente ai fini delle

determinazioni di posizioni singolari.

Le due configurazioni trovate corrispondono ai casi in cui l’organo terminale del

manipolatore è situato al confine esterno (2 = 0, rappresentato in figura) o interno

(2 = ).

12121

12121

cacaa

sasaaJ

Page 34: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

Analisi della ridondanza

qqJv )(

• v è da intendersi come il vettore (rx1) delle velocità dell’organo terminale necessarie

per specificare il compito;

• J come la corrispondente matrice Jacobiana (rxn) estratta dallo Jacobiano

geometrico;

• 𝑞 è il vettore (nx1) delle velocità dei giunti.

Se r < n, il manipolatore risulta ridondante da un punto di vista cinematico ed esistono

(n-r) gradi di mobilità ridondanti.

Page 35: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

ee

L’immagine di J è il sottospazio R(J) in r che individua le velocità dell’organo

terminale che possono essere generate dalle velocità di giunto, nella configurazione

assegnata al manipolatore;

Il nullo di J è il sottospazio N(J) a cui appartengono le velocità di giunto che non

producono alcuna velocità all’organo terminale, nella configurazione assegnata al

manipolatore.

qqJv )(

Page 36: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

Se lo Jacobiano è a rango pieno, si ha:

dim(R(J)) = r dim(N(J)) = n – r

e l’immagine di J ricopre l’intero spazio

Al contrario, se lo Jacobiano degenera in una singolarità, la dimensione dell’immagine

diminuisce e, allo stesso tempo, la dimensione del nullo aumenta, in quanto vale la

relazione:

dim(R(J)) + dim(N(J)) = n (n è la dimensione dello spazio dei giunti)

indipendentemente dal rango della matrice J.

Manipolatore ridondante, quando N(J) 0

Sia 𝑞∗ soluzione della 𝜈 = 𝐽 𝑞 𝑞 e P matrice tale che 𝑅 𝑃 ≡ 𝑁 𝐽

Sia 𝑞𝑎 vettore arbitrario di velocità nello spazio dei giunti

𝑞 = 𝑞∗ + 𝑃 𝑞𝑎 𝐽 𝑞 = 𝐽 𝑞∗ + 𝐽𝑃 𝑞𝑎 = 𝐽 𝑞∗ = 𝜈

Page 37: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

qqJqqJ

qJpx A

P

)(

)(

)(

vqJq )(1

t

dqqtq0

)()0()(

Inversione della cinematica differenziale

Si intende determinare le velocità di giunto che permettono di ottenere le velocità

(lineare ed angolare) 𝑣 dell'organo terminale desiderate, a partire da una postura iniziale

Invertendo l'equazione cinematica differenziale (𝑱 quadrata e di rango pieno) è

possibile determinare una possibile traiettoria ai giunti 𝑞 𝑡 , 𝑞 𝑡 che riproduca la

traiettoria assegnata

Regola di integrazione di Eulero – Velocità dei giunti all’istante 𝑡𝑘+1=𝑡𝑘 + ∆𝑡

con 𝑞 𝑡𝑘 = 𝐽−1 𝑞 𝑡𝑘 𝑣 𝑡𝑘𝑞 𝑡𝑘+1 = 𝑞 𝑡𝑘 + 𝑞 𝑡𝑘 ∆𝑡

𝑣 = 𝐽 𝑞 𝑞

Page 38: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

Cinematica inversa dei manipolatori ridondanti

Se il manipolatore è ridondante (r < n), lo Jacobiano è una matrice

rettangolare bassa e si pone il problema significativo di trovare le soluzioni

(ne esisterà più di una) all’equazione 𝜈 = 𝐽 𝑞 𝑞.

qWqqg T 2

1)(

dove W è un’opportuna matrice (n x n) di peso, simmetrica e definita

positiva.

Minimizzare qqJv )(Con il vincolo

Un possibile metodo di soluzione è quello di formulare il problema d’ottimo

vincolato:

Page 39: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

Metodo dei moltiplicatori di Lagrange

)(2

1),( qJvqWqqg TT funzionale di costo modificato, con 𝜆

vettore incognito 𝑟x1 di moltiplicatori

Soluzione :

T

T

JWqq

qg 10),(

qJvqg

T

0

),(

𝑞 = 𝑊−1𝐽𝑇𝜆

𝑣 = 𝐽 𝑞

Sistema nelle due

incognite 𝑞 e 𝜆

Page 40: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

Sostituendo in 𝑞 = 𝑊−1𝐽𝑇𝜆

Caso particolare: la matrice di peso W coincide con la matrice identità I

Pseudo inversa destra

La soluzione ottenuta è quella che minimizza localmente la norma delle velocità ai giunti

𝑞 = 𝑊−1𝐽𝑇𝜆

𝑣 = 𝐽 𝑞𝑣 = 𝐽𝑊−1𝐽𝑇𝜆

𝜆 = 𝐽𝑊−1𝐽𝑇 −1𝑣 Se 𝐽 è di rango pieno

𝑞 = 𝑊−1𝐽𝑇 𝐽𝑊−1𝐽𝑇 −1𝑣

𝐽+ = 𝐽𝑇 𝐽𝐽𝑇 −1

𝑞 = 𝐽+𝑣

Page 41: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

Tutte (le infinite) soluzioni della cinematica differenziale inversa

𝑅 𝑃 ≡ 𝑁 𝐽 , quindi 𝑞𝑛 ∈ 𝑁 𝐽 , ovvero 𝐽 𝑞𝑛 = 0

𝐽 𝑞 = 𝐽 𝐽+ 𝑝 + 𝑞𝑛 = 𝐽𝐽+ 𝑝 + 𝐽 𝑞𝑛 = 𝑝

In generale, anche il vettore così ottenuto è una soluzione:

Sia 𝑞∗ = 𝐽+ 𝑝 soluzione dell’equazione 𝑣 = 𝐽 𝑞 che

minimizza 𝑞 per una assegnata 𝑣 ≡ 𝑝

𝑞∗ = 𝐽+ 𝑝 = 𝐽𝑇 𝐽𝐽𝑇 −1 𝑝

𝑞 = 𝑞∗ + 𝑃 𝑞𝑑 = 𝐽+ 𝑝 + 𝑞𝑛

con

Infatti:

Page 42: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

Scelta possibile:

con 𝑞𝑑 velocità di giunto qualsiasi

L’espressione è quella che ci assicura il minor discostamento

di 𝑞 da 𝑞𝑑, poiché è anche la soluzione di un problema

modificato di ottimizzazione vincolata (polarizzato su 𝑞𝑑)

𝑃 ≡ 𝐽∗ = 𝐼 − 𝐽+𝐽

Infatti, per qualsiasi 𝑞 vale 𝐽 𝐽∗ 𝑞 = 𝐽 𝐼 − 𝐽+𝐽 𝑞 = 0

𝑞 = 𝐽+ 𝑝 + 𝐼 − 𝐽+𝐽 𝑞𝑑

𝑞 = 𝑞∗ + 𝑃 𝑞𝑑 = 𝐽+ 𝑝 + 𝑞𝑛

min𝐻 =1

2 𝑞 − 𝑞𝑑 𝐽 𝑞 − 𝑣 = 0con vincolo

Tutte (le infinite) soluzioni della cinematica differenziale inversa

Page 43: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

velocità di giunto in corrispondenza della quale e solo in

corrispondenza della quale si ha una variazione di 𝑝

velocità di giunto in corrispondenza della quale non può

aversi variazione di 𝑝 moti interni che riconfigurano

manipolatore lasciando inalterata posizione ed orientamento

dell’organo terminale

𝑞 = 𝐽+ 𝑝 + 𝐼 − 𝐽+𝐽 𝑞𝑑

soluzione a norma

minima (unica)

soluzione dell’equazione

omogenea associata

𝐼 − 𝐽+𝐽 𝑞𝑑

𝐽+ 𝑝

Come scegliere 𝑞𝑑?

Page 44: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

Minimizzazione di obiettivi

Se riusciamo mediante 𝑞𝑑 ad imporre 𝐻 < 0potremmo avvicinarci ad un minimo assoluto per 𝐻

Sia 𝐻 𝑞 funzione obiettivo (secondario) derivabile

𝐻 𝑞 𝑡 definita positiva

𝐻 =𝜕𝐻

𝜕𝑞 𝑞 =

𝜕𝐻

𝜕𝑞𝐽+ 𝑝 +

𝜕𝐻

𝜕𝑞𝐼 − 𝐽+𝐽 𝑞𝑑

Page 45: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

𝐻 =𝜕𝐻

𝜕𝑞 𝑞 =

𝜕𝐻

𝜕𝑞𝐽+ 𝑝 +

𝜕𝐻

𝜕𝑞𝐼 − 𝐽+𝐽 𝑞𝑑

𝑞𝑑 = −𝐾𝜕𝐻

𝜕𝑞

𝑇

con 𝐾 > 0Scelta tipica:

𝐻 = −𝐾𝜕𝐻

𝜕𝑞𝐼 − 𝐽+𝐽

𝜕𝐻

𝜕𝑞

𝑇

+𝜕𝐻

𝜕𝑞𝐽+ 𝑝

Il primo addendo è sicuramente negativo, mentre sul

segno del secondo non si può dire niente

Page 46: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

Esempi di task

oqpqHop

)(min,

p: generico punto del manipolatore

0: punto su di un ostacolo

Massimizzando H si può riuscire ad aggirare un ostacolo.

2

12

1

n

i imiM

ii

qq

qq

nqH

q qiM im( ): rappresenta la massima (minima)

escursione per la rispettiva variabile giunto

e qi è il valore medio della corsa .

Minimizzando H si può riuscire a starelontano dai fine corsa.

)()(det)( qJqJqH TLa H così definita rappresenta una misuradella manipolabilità.

Massimizzando H si può riuscire a stare lontani dalle singolarità.

𝑞 = 𝐽+ 𝑝 + 𝐼 − 𝐽+𝐽 𝑞𝑑 = 𝐽+ 𝑝 − 𝐾 𝐼 − 𝐽+𝐽𝜕𝐻

𝜕𝑞

𝑇

Page 47: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

Inversione cinematica

xxe d

qqJxxxe Add )(

Deriva numerica:

E’ necessario, nella definizione di un algoritmo di inversione, far

dipendere 𝑞 da 𝑒 in modo tale che l’equazione differenziale precedente

produca un 𝑒(𝑡) convergente (asintoticamente) a zero

𝑞 𝑡𝑘+1 = 𝑞 𝑡𝑘 + 𝐽−1 𝑞 𝑡𝑘 𝑣 𝑡𝑘 ∆𝑡

𝑞 𝑡𝑘+1 ≠ 0

𝑡𝑘+1

𝑞 𝜉 𝑑𝜉 + 𝑞 0

Page 48: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

(Pseudo-)inversa dello Jacobiano

KexqJq dA )(1

0 Kee

0)()( qJJIKexqJq AAdA

qqJxe Ad )(

Per un manipolatore ridondante:

Page 49: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

Trasposta dello Jacobiano

KeeeV T

2

1)( 0)0(,00)( VeeV

qqKJexKexKexKeV A

T

d

TT

d

T )(

KeqJq T

A )(

KeqJqKJexKeV T

AA

T

d

T )()(

Per un riferimento costante ( 𝒙𝒅 = 𝟎) risulta definita negativa.

( 𝑽 < 𝟎; 𝑽 > 𝟎 sistema asintoticamente stabile)

Scegliamo le velocità dei giunti come:

Page 50: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

KeqJq T

A )(

Page 51: Corso di Controllo dei Robot Cinematica differenziale · velocità dei giunti e le corrispondenti velocità lineare e ... Derivata di una matrice di rotazione Si supponga che la matrice

Controllo dei Robot P. Lino

Trasposta dello Jacobiano

Richiede solo il computo di funzioni cinematiche dirette

Se il riferimento non è nullo la derivata della funzione diLyapunov può essere resa definita negativa tramite untermine dipendente dalla (pseudo)inversa dello jacobiano(perdo i vantaggi)

In ogni caso, anche utilizzando lo schema basato sulcalcolo della traposta, l’errore di inseguimento si puòmantenere limitato. Esso sarà tanto più piccolo quanto piùgrande è la norma della matrice dei guadagni K

Tuttavia l’implementazione a tempo discretodell’algoritmo impone limiti superiori della norma di K