Cinematica Differenziale -...

20
Corso di Robotica Prof. Davide Brugali Università degli Studi di Bergamo Cinematica Differenziale

Transcript of Cinematica Differenziale -...

Page 1: Cinematica Differenziale - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/24_CinematicaDifferenziale.pdf · 2 Definizione La cinematica differenziale si occupa di relazionare

Corso di Robotica

Prof. Davide Brugali

Università degli Studi di Bergamo

Cinematica Differenziale

Page 2: Cinematica Differenziale - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/24_CinematicaDifferenziale.pdf · 2 Definizione La cinematica differenziale si occupa di relazionare

2

Definizione

La cinematica differenziale si occupa di relazionare

le velocità dei giunti con quella dell'end-effector.

La soluzione di questo problema viene di solito data

sotto forma di una matrice, detta Jacobiano del

manipolatore.

Corso di Robotica - UNIBG - Prof. Brugali

Page 3: Cinematica Differenziale - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/24_CinematicaDifferenziale.pdf · 2 Definizione La cinematica differenziale si occupa di relazionare

Jacobiano

θ1

θ2

a1

a2

(x,y)

21212111

21212111

coscos

sinsin

aay

aax

Derivando rispetto al tempo si ottiene:

21211

21211

sinsin

coscos

aay

aax

Robot RR

2

1

21221211

21221211

coscoscos

sinsinsin

aaa

aaa

y

x

In forma matriciale:

3

Page 4: Cinematica Differenziale - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/24_CinematicaDifferenziale.pdf · 2 Definizione La cinematica differenziale si occupa di relazionare

4

Jacobiano

2

1

J

y

xV

a1

a2

X

Y

1

2

2

1

21221211

21221211

coscoscos

sinsinsin

aaa

aaa

y

x

N.B. Lo Jacobiano viene calcolato

in funzione della posizione dei

giunti del robot e va ricalcolato

quando tale posizione cambia.

Corso di Robotica - UNIBG - Prof. Brugali

Page 5: Cinematica Differenziale - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/24_CinematicaDifferenziale.pdf · 2 Definizione La cinematica differenziale si occupa di relazionare

5

Jacobiano

HJ

6

5

4

3

2

1

Jz

y

x

654321

5

6

4

5

3

4

2

3

1

2

0

1

0

6 ,,,,, HHHHHHHHH

6

5

4

3

2

1

Jz

y

x

Moto differenziale

Una variazione angolare dei giunti del robot

causa una variazione di posizione e orientamento

dell’end-effector

Corso di Robotica - UNIBG - Prof. Brugali

Page 6: Cinematica Differenziale - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/24_CinematicaDifferenziale.pdf · 2 Definizione La cinematica differenziale si occupa di relazionare

6

Moto differenziale

In conclusione:

Data la cinematica di un robot (es. 6R)

Data una particolare configurazione dei giunti (1, 2, 3, 4, 5, 6)

È possibile calcolare lo Jacobiano J per tale configurazione (matrice 6x6)

Data una variazione differenziale dei giunti (1, 2, 3, 4, 5, 6)

È possibile calcolare la variazione differenziale corrispondente dell’end-effector (x, y, z, , , )

Corso di Robotica - UNIBG - Prof. Brugali

Page 7: Cinematica Differenziale - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/24_CinematicaDifferenziale.pdf · 2 Definizione La cinematica differenziale si occupa di relazionare

7

Moto differenziale

Sia dato lo Jacobiano J di un robot in una particolare configurazione dei

giunti.

Siano date inoltre le variazioni differenziali dei giunti D.

Si calcoli la matrice delle variazioni

100000

000100

002000

000010

000101

010002

J

2.0

0

0

1.0

1.0

0

D

z

y

x

DJD

2.0

1.0

0

1.0

1.0

0

2.0

0

0

1.0

1.0

0

100000

000100

002000

000010

000101

010002

Corso di Robotica - UNIBG - Prof. Brugali

Page 8: Cinematica Differenziale - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/24_CinematicaDifferenziale.pdf · 2 Definizione La cinematica differenziale si occupa di relazionare

8

Rotazione attorno ad un asse arbitrario (Roll/Pitch/Yaw)

Movimento differenziale

x

y

za

o

n

a’

o’

n’ Relazione tra la variazione di

posizione di un frame in movimento e

la variazione di posizione dei giunti di

un robot

Per piccole variazioni dei parametri di rotazione e di traslazione è possibile approssimare

0.,,

1cos

sin

2

ecc

Corso di Robotica - UNIBG - Prof. Brugali

Page 9: Cinematica Differenziale - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/24_CinematicaDifferenziale.pdf · 2 Definizione La cinematica differenziale si occupa di relazionare

9

Rotazione differenziale

100

01

01

,

zR

10

010

01

,

yR

10

10

001

,

xR

1

1

1

,,,,,,,

zyxxyzk RRRRRRR

E’ indifferente l’ordine di moltiplicazione delle matrici di rotazione

Se si cambia l’ordine di moltiplicazione delle matrici, cambia anche il

risultato.

Ma se si trascurano le componenti differenziali di ordine superiore, il

risultato rimane invariato.

Applicando le approssimazioni precedenti:

Corso di Robotica - UNIBG - Prof. Brugali

Page 10: Cinematica Differenziale - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/24_CinematicaDifferenziale.pdf · 2 Definizione La cinematica differenziale si occupa di relazionare

10

Trasformazione differenziale di un frame

1000

1

1

1

,,,,,dz

dy

dx

TRH dzdydxTR

Rotazione e traslazione

differenziali

oldTR HIHdH ,

oldHdH Operatore differenziale

oldTRnew HHH , Movimento differenziale di un frame

Corso di Robotica - UNIBG - Prof. Brugali

Page 11: Cinematica Differenziale - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/24_CinematicaDifferenziale.pdf · 2 Definizione La cinematica differenziale si occupa di relazionare

11

Trasformazione differenziale di un frame

dHHH oldnew

Nuova formulazione

oldoldnew HHH

0000

0

0

0

dz

dy

dx

Si noti la

diagonale di zeri

Corso di Robotica - UNIBG - Prof. Brugali

Page 12: Cinematica Differenziale - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/24_CinematicaDifferenziale.pdf · 2 Definizione La cinematica differenziale si occupa di relazionare

12

Trasformazione differenziale di un frame

Sia dato il vettore D della trasformazione

differenziale del sistema di riferimento dell’end-

effector H rispetto al sistema di riferimento fisso

(base del robot).

Si calcoli l’operatore differenziale

0000

2.0001.0

0000

1.01.000

0

1.0

0

2.0

0

1.0

z

y

x

D

Corso di Robotica - UNIBG - Prof. Brugali

Page 13: Cinematica Differenziale - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/24_CinematicaDifferenziale.pdf · 2 Definizione La cinematica differenziale si occupa di relazionare

13

Trasformazione differenziale di un frame

Sia applichi l’operatore differenziale , calcolato

precedentemente, al sistema di riferimento dell’end-

effector H e se ne calcoli l’effetto.

0000

8.01.000

0000

4.001.00

dH

1000

3010

5001

10100

H

Corso di Robotica - UNIBG - Prof. Brugali

Page 14: Cinematica Differenziale - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/24_CinematicaDifferenziale.pdf · 2 Definizione La cinematica differenziale si occupa di relazionare

14

Trasformazione differenziale di un frame

Sia calcoli la matrice del sistema di riferimento

dell’end-effector H risultante dall’applicazione

dell’operatore differenziale

1000

2.21.010

5001

4.1011.00

dHHH oldnew

Corso di Robotica - UNIBG - Prof. Brugali

Page 15: Cinematica Differenziale - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/24_CinematicaDifferenziale.pdf · 2 Definizione La cinematica differenziale si occupa di relazionare

15

Relazione tra Δ e J

Sono date le matrici di rototraslazione tra il polso del robot e la base del

robot: 654321

5

6

4

5

3

4

2

3

1

2

0

1

0

6 ,,,,, HHHHHHHHH

Si calcola lo Jacobiano associato a H: J

E’ dato il vettore delle variazioni dei giunti:

654321

Si calcola con J il vettore delle variazioni di posizione e orientamento del polso

del robot: dzdydx

Si calcola l’operatore differenziale: Δ

Si calcola la nuova matrice di rototraslazione tra il polso del robot e la base del

robot:oldoldnew HHH

Corso di Robotica - UNIBG - Prof. Brugali

Page 16: Cinematica Differenziale - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/24_CinematicaDifferenziale.pdf · 2 Definizione La cinematica differenziale si occupa di relazionare

16

Relazione tra Δ e J

Si consideri un robot con 5 g.d.l. (2RP2R)

Siano dati:

la matrice H del sistema di riferimento dell’end

effector

il suo Jacobiano J

il vettore delle trasformazioni differenziali D

10001

01010

00040

00102

00003

J

1000

2010

3100

51.001

H

0

1.0

05.0

1.0

1.0

5

4

3

2

1

d

d

d

d

d

D

Corso di Robotica - UNIBG - Prof. Brugali

Page 17: Cinematica Differenziale - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/24_CinematicaDifferenziale.pdf · 2 Definizione La cinematica differenziale si occupa di relazionare

17

Relazione tra Δ e J

Si assume che il robot possa solo ruotare attorno agli assi x e y, poiché ha solo 5 gradi di libertà. Si può quindi calcolare la matrice D.

1.0

0

4.0

15.0

3.0

d

d

dz

dy

dx

DJD

0000

4.0001.0

15.0000

3.01.000

Corso di Robotica - UNIBG - Prof. Brugali

Page 18: Cinematica Differenziale - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/24_CinematicaDifferenziale.pdf · 2 Definizione La cinematica differenziale si occupa di relazionare

18

Relazione tra Δ e J

A partire dalla matrice D e dalla matrice H si può

calcolare la variazione differenziale dH.

0000

1.0001.0

15.0000

1.001.00

HdH

La nuova posizione dell’end-effector dopo il movimento

differenziale è dato dalla matrice Hnew.

1000

1.2001.0

85.2100

1.501.01

HdHH new

Corso di Robotica - UNIBG - Prof. Brugali

Page 19: Cinematica Differenziale - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/24_CinematicaDifferenziale.pdf · 2 Definizione La cinematica differenziale si occupa di relazionare

Jacobiano inverso

Se il numero di g.d.l. dell’end-

effector è uguale al numero di

giunti del robot (matrice J

quadrata), lo Jacobiano può

essere invertibile

Se J è invertibile: xJ 1

Nel caso del robot RR

θ1

θ2

a1

a2

(x,y)

Robot RR

19

19/53

Page 20: Cinematica Differenziale - robotics.unibg.itrobotics.unibg.it/teaching/robotics/pdf/24_CinematicaDifferenziale.pdf · 2 Definizione La cinematica differenziale si occupa di relazionare

20

Jacobiano inverso

221 sindet aaJ

k2 0det J

θ1

Θ2=0a1

a2(x,y)

singolarità

Robot RR

Corso di Robotica - UNIBG - Prof. Brugali