Transcript
Page 1: C03 – 2009.02.05 Advanced Robotics for Autonomous Manipulation

1

C03 – 2009.02.05Advanced Robotics for Autonomous

ManipulationGiacomo MaraniAutonomous Systems Laboratory, University of Hawaii

Department of Mechanical Engineering ME 696 – Advanced Topics in Mechanical Engineering

http://www2.hawaii.edu/~marani

Page 2: C03 – 2009.02.05 Advanced Robotics for Autonomous Manipulation

Kinematics – Part A

2

Summary

1. Vectors derivatives2. Angular velocity3. Derivative for points4. Generalized velocity5. Derivative of orientation matrix6. Joint kinematics7. Simple kinematic joint8. Parameterization of simple kinematical joint9. Kinematic equation of simple joints10.Kinematics of robotics structures

Contents1. Vectors deriv.2. Angular velocity3. Derivative for P.4. Generalized Vel.5. Derivative for R6. Joint Kinematics7. Simple kin. Joint

ME696 - Advanced Robotics – C02

Page 3: C03 – 2009.02.05 Advanced Robotics for Autonomous Manipulation

Vector derivative

3

Vector Derivatives

Time derivative of geometrical vector , computed w.r.t. frame <a>:

(2.1)Same time derivative but in the different reference frame

<b>:

In general:

ME696 - Advanced Robotics – C02

ddt

x y zaa a a a a a i j k

ddt

x y zbb b b b b b i j k

Oa

< a >

i

i

j

j

k

k

< b >

Ob

dtd

dtd ba

Page 4: C03 – 2009.02.05 Advanced Robotics for Autonomous Manipulation

Vector derivative

4

Vector Derivatives

Proof:

(2.2)

Hence the result (very important):

ME696 - Advanced Robotics – C02

bzbdtad

bybdtad

bxbdtad

dtbd

bzbdtad

bybdtad

bxbdtad

bzbbybbxb

bzbbybbxbdtad

dtad

kji

kjikji

kji

ˆ

Oa

< a >

i

i

j

j

k

k

< b >

Ob

dtd

dtd ba

Page 5: C03 – 2009.02.05 Advanced Robotics for Autonomous Manipulation

Vector derivative

5

Vector Derivatives

If we project the (2.1) over the frame <b> we have:

FIRST derive THEN project (not allowed the reverse)Meaning: An observer integral with <a> sees the change of

the components over <b> of . These components change independently from the place of the observer.

This the definition of derivative of algebraic vector.

ME696 - Advanced Robotics – C02

bbaab

dtd

dtd

dtd

Oa

< a >

i

i

j

j

k

k

< b >

Ob

Page 6: C03 – 2009.02.05 Advanced Robotics for Autonomous Manipulation

Angular Velocity

6

Angular Velocity

Since the rotation matrix between <a> and <b> is time dependent, we can define Angular Velocity of the frame <a> w.r.t. the frame <b> the vector b/a which, at any instant, gives the following information:

1) Its versor indicates the axis around which, in the considered time instant, an observer integral with <a> may suppose that <b> is rotating;

2) The component (magnitude) along its versor indicates the effective instantaneous angular velocity (rad/sec.)

To the vector Angular Velocity we can associate the following differential form:

The above relationship does not coincide with any exact differential.

ME696 - Advanced Robotics – C02

ka

ia

ja

ib

jb

kbq

b a O Oa b

t

d dtb a b aq / /

Page 7: C03 – 2009.02.05 Advanced Robotics for Autonomous Manipulation

Angular Velocity

7

Angular Velocity

We want not to write in a different form the (2.2):

We need Poisson formulae:

Thus we have: (2.3)

If is constant: (rigid body)

ME696 - Advanced Robotics – C02

ka

ia

ja

ib

jb

kbq

b a O Oa b

t

bzbdtad

bybdtad

bxbdtad

dtbd

dtad

kji

babba

babba

babba

dtddtddtd

kk

jj

ii

/

/

/

ddt

ab a /

ddt

ddt

a bb a /

Page 8: C03 – 2009.02.05 Advanced Robotics for Autonomous Manipulation

Angular Velocity

8

Angular Velocity

Properties:1) b/a = - a/b 2) Given n frames, the angular velocity of <k> w.r.t. <h> if

given by adding the successive ang. Velocities encounteredalong any path.

In this example:

ME696 - Advanced Robotics – C02

1 0,

11,

1 2,

2 1,

1 3,

2 2,

( , )/( , ) ( , )/( , ) ( , )/( , ) ( , )/( , )2 2 1 3 2 2 2 1 2 1 1 2 1 2 1 3

Page 9: C03 – 2009.02.05 Advanced Robotics for Autonomous Manipulation

Angular Velocity

9

Time derivative for points in space

We define:“velocity of P computed w.r.t. the frame <a>”:

“velocity of P computed w.r.t. the frame <b>”:

It is possible to proof that:

where vp/b is the velocity of the origin of the frame <b> w.r.t <a>

ME696 - Advanced Robotics – C02

ba R t

a

b

Ob

P

Oa

v i j kp aa

a a p a a p a a p a

ddt

P O x y z/ / / /

v p bb

b

ddt

P O/

v v vp a b a P b b a bP O/ / / /

Page 10: C03 – 2009.02.05 Advanced Robotics for Autonomous Manipulation

Angular Velocity

10

Time derivative for points in space

Proof:

We define vb/a the velocity of the origin on the frame <b> w.r.t. <a>:

Using the (2.3) with the opportune indexes we have:

ME696 - Advanced Robotics – C02

ba R t

a

b

Ob

P

Oa

v p aa

aa

b aa

b

ddt

P Oddt

O Oddt

P O/

v vp a b aa

b

ddt

P O/ /

v v vp a b a P b b a bP O/ / / /

Page 11: C03 – 2009.02.05 Advanced Robotics for Autonomous Manipulation

Angular Velocity

11

Generalized velocity

In order to completely describe the relative motion between 2 frames we organize the angular velocity and the velocity of the origin within a vector called Generalized Velocity :

We can project the G.V. in any frame:

This definition is valid forany point integral with the frame <b>:

where

ME696 - Advanced Robotics – C02

P

ba T t

O Ob a

b

a

//

/

Xvb a

b a

b a

00

0 /

/

/

Xvb a

b a

b a

//

/

XvP a

b a

P a

v vp a b a b a bP O/ / /

Page 12: C03 – 2009.02.05 Advanced Robotics for Autonomous Manipulation

Derivative of the Orientation matrix

12

Derivative of the orientation matrix

Problem: we want to compute the relationship between the derivative of the orientation matrix and the angular velocity:

Remember that:

Deriving w.r.t. time:

ME696 - Advanced Robotics – C02

abab

ab RfR /,

ka

ia

ja

ib

jb

kbq

b a O Oa b

t

ba a

ba

ba

bR i j k

ba a

ba

ba

b

aa

b

aa

b

aa

b

ab a b

ab a b

ab a b

ab a

ab

ab a

ab

ab a

ab

ab a

ab

ab

ab

Rddt

ddt

ddt

ddt

ddt

ddt

i j k

i j k

i j k

i j k

i j k

Page 13: C03 – 2009.02.05 Advanced Robotics for Autonomous Manipulation

Derivative of the Orientation matrix

13

Derivative of the orientation matrix

Finally: (2.4)Remembering the transformation of the cross-prod operator:

the previous equation becomes: (2.5)The (2.4) and (2.5) are very useful in computing the time

evolution of the orientation matrix:

ME696 - Advanced Robotics – C02

ka

ia

ja

ib

jb

kbq

b a O Oa b

t

ba a

b a baR R

ba

ba b

b aR R

aba b

ba TR Rv v

ba

ba

baR t dt R t R dt

Page 14: C03 – 2009.02.05 Advanced Robotics for Autonomous Manipulation

Kinematics of the joints

14

Group definitionA group is a set, G, together with an operation "•" that

combines any two elements a and b to form another element denoted a • b. The symbol "•" is a general placeholder for a concretely given operation, such as the addition. To qualify as a group, the set and operation, (G, •), must satisfy four requirements known as the group axioms:

1. Closure. For all a, b in G, the result of the operation a • b is also in G.

2. Associativity. For all a, b and c in G, the equation (a • b) • c = a • (b • c) holds.

3. Identity element. There exists an element e in G, such that for all elements a in G, the equation e • a = a • e = a holds.

4. Inverse element. For each a in G, there exists an element b in G such that a • b = b • a = e, where e is the identity element.

The order in which the group operation is carried out can be significant. In other words, the result of combining element a with element b need not yield the same result as combining element b with element a; the equation a • b = b • a may not always be true.

ME696 - Advanced Robotics – C02

Page 15: C03 – 2009.02.05 Advanced Robotics for Autonomous Manipulation

Kinematics of the joints

15

Rotation Group

In mechanics and geometry, the rotation group is the group of all rotations about the origin of three-dimensional Euclidean space R3 under the operation of composition.

By definition, a rotation about the origin is a linear transformation that preserves length of vectors (it is an isometry) and preserves orientation (i.e. handedness) of space.

Composing two rotations results in another rotation; every rotation has a unique inverse rotation; and the identity map satisfies the definition of a rotation. Owing to the above properties, the set of all rotations is a group under composition. Moreover, the rotation group has a natural manifold structure for which the group operations are smooth; so it is in fact a Lie group.

ME696 - Advanced Robotics – C02

Page 16: C03 – 2009.02.05 Advanced Robotics for Autonomous Manipulation

Kinematics of the joints

16

Joint Kinematics

In general, the set of all the relative positions between two free bodies constitutes a group that may be represented by the matrix:

SO(3) is the Special Euclidian group.Kinematics in G can be represented as an object belonging to

its Lie algebra:

ME696 - Advanced Robotics – C02

P

ba T t

O Ob a

b

a

ba b

a

baT

R LR SO L

0 13 3G, ,

bb a b

aba b

a Tba

ba T

ba

ba T

bb a

bb a

X T TR L R L R R R L~

/

/ /

1

0 1 0 0 0 0

0 0 v

Page 17: C03 – 2009.02.05 Advanced Robotics for Autonomous Manipulation

Kinematics of the joints

17

Joint Kinematics

The joint can be characterized by a relationship that involves the generalized velocity of the frame <b> w.r.t. <a>:

(2.6)where q is the “configuration”. This means:

If the distribution q è integrable, the constraint is Holonomic.In case that the axis are integral with at least one body, the

matrix A is constant. Will name this kind of joints as Simple Kinematic Joints.

ME696 - Advanced Robotics – C02

P

ba T t

O Ob a

b

a

0~/ ab

b XA q

qAqX abb ker/

Page 18: C03 – 2009.02.05 Advanced Robotics for Autonomous Manipulation

Kinematics of the joints

18

Simple Kinematic Joint s

In this case, the solution of the (2.6) is given by:

where the column of H creates a base for the kernel of A and r is the number of degreesof freedom of the joint:

ME696 - Advanced Robotics – C02

P

ba T t

O Ob a

b

a

rab

b pHpX ,/

Ar kerdim

Page 19: C03 – 2009.02.05 Advanced Robotics for Autonomous Manipulation

Kinematics of the joints

19

Simple Kinematic Joint s

H is the Joint Matrix. Often p is known as quasivelocity.

Examples of joint matrices:

ME696 - Advanced Robotics – C02

P

ba T t

O Ob a

b

a

001000

000100

00100k

1 0 00 1 00 0 10 0 00 0 00 0 0

Giuntorotazionale

(asse z)

Giuntotraslazionale

(asse x)

Giuntoa vite

(asse z)

Giuntosferico

Page 20: C03 – 2009.02.05 Advanced Robotics for Autonomous Manipulation

Kinematics of the joints

20

Parameterization of Simple Kinematic Joint s

In general, the joint configuration is defined by the previous differential equation:

which can be re-written as:

We can now integrate the above equation, obtaining the evolution of the transformation matrix T.

ME696 - Advanced Robotics – C02

ba

ba b

b aT T X ~/

321

2

121 ,,,00

HH

HH

HwithpHpH

TT ab

ab

Page 21: C03 – 2009.02.05 Advanced Robotics for Autonomous Manipulation

Kinematics of the joints

21

Parameterization of Simple Kinematic Joint sExample:r=1

H1 is the direction of the rotation axis, hence:

H2 is the direction of the translation, so we have:

which, integrated, gives:

If H has more columns:

ME696 - Advanced Robotics – C02

hhh

1

2

R q e h q1

1 1 ,

L q e h dhq

1 20

1

1

baT q

R q L q1

1 1

0 1

dLdq

R q h1

1 2

T T q T q T qr rq 2 2 1 1

Page 22: C03 – 2009.02.05 Advanced Robotics for Autonomous Manipulation

Kinematics of the joints

22

Parameterization of Simple Kinematic Joint sSummaryr=1

h1 is the direction of the rotation axish2 is the direction of the translation, so we have:If h has more columns:

ME696 - Advanced Robotics – C02

hhh

1

2

10

1

111

02

1

qhqh

ab

dheeqT

T T q T q T qr rq 2 2 1 1

Page 23: C03 – 2009.02.05 Advanced Robotics for Autonomous Manipulation

Kinematics of the joints

23

Example: spherical jointExample:

ME696 - Advanced Robotics – C02

Hsp

1 0 00 1 00 0 10 0 00 0 00 0 0

p

ppp

x

y

z

bb a

x

y

zX H

ppp

/

p000

R q e q sin qsin q q

q

1 1

100

1 1

1 1

1 1 0 000

( ) cos( ) ( )( ) cos( )

L q1 1

000

R q eq sin q

sin q q

q

2 2

010

2 2

2 2

2 00 1 0

0( )

cos( ) ( )

( ) cos( )

L q2 2

000

R q eq sin q

sin q qq

3 3

001

3 3

3 3

3 00

0 0 1( )

cos( ) ( )( ) cos( )

L q3 3

000

ka

ia

ja

ib

jb

kb

Page 24: C03 – 2009.02.05 Advanced Robotics for Autonomous Manipulation

Kinematics of the joints

24

Example: spherical jointFinally:

ME696 - Advanced Robotics – C02

baT T q T q T q( )q 3 3 2 2 1 1

ka

ia

ja

ib

jb

kb

Page 25: C03 – 2009.02.05 Advanced Robotics for Autonomous Manipulation

Kinematics of the joints

25

Example: translational jointExample:

Find the transformation matrix parameterized by q1:

Solution:

ME696 - Advanced Robotics – C02

010000

tyH 1pp

0

0000

1

/

p

HX abb p

100010001

)(1

000

11

q

eqR

0

0

010

100010001

100

211

11

1 qddheqLqq

h

baT q

R q L q1

1 1

0 1

10000100

0100001

11

qqTa

b

Page 26: C03 – 2009.02.05 Advanced Robotics for Autonomous Manipulation

Kinematics of the joints

26

Example: ScrewExample:

Find the transformation matrix parameterized by q1:

Solution:

ME696 - Advanced Robotics – C02

001001

tyH 1pp

00

00

1

1

/ p

p

HX abb p

)cos()sin(0)sin()cos(0

001)(

11

11001

11

1

qqqqeqR

q

baT q

R q L q1

1 1

0 1

L q R d dq

sc sc

q q

10 0

1100

100

00

1 1

T q

qq sin q

sin q qsc ( )cos

cos1

1

1 1

1 1

1 0 00 00 00 0 0 1

Page 27: C03 – 2009.02.05 Advanced Robotics for Autonomous Manipulation

Kinematics of the joints

27

Kinematic equation of simple jointsProblem statement:Find a relationship between the quesivelocities (p) and the

derivative of the joint parameters (q).Consider a simple joint described by the matrix:

We can define Kinematic Equation the following relationship:

where the matrix Gamma is defined by the following recursive algorithm:

1) For j=1..r define the matrices Rj and Lj asfollows:

ME696 - Advanced Robotics – C02

H r

r

r

h hh h

11 1

21 2

6

q q p

R R Rj j j j j jq q R q q q I 1 1 1 1 0 ,

L L Lj j j j j j j jq q R q q q L q I 1 1 1 1 0 ,

Page 28: C03 – 2009.02.05 Advanced Robotics for Autonomous Manipulation

Kinematics of the joints

28

Kinematic equation of simple joints

1) For j=1..r define the matrices Rj and Lj as follows:

2) Build a matrix B as follows:

3) Finally compute Gamma as follows:

where B* is a right-inverse of B(q)

ME696 - Advanced Robotics – C02

R R Rj j j j j jq q R q q q I 1 1 1 1 0 ,

L L Lj j j j j j j jq q R q q q L q I 1 1 1 1 0 ,

B r

rq

b bb b

11 1

21 2

b h1 1iT

i R Ri-1 i-1

b h h2 1 2iT

i i R L Ri-1 i-1 i-1

q qB H*

Page 29: C03 – 2009.02.05 Advanced Robotics for Autonomous Manipulation

Kinematics of the joints

29

Example: spherical jointExample:

[ sin(q1) sin(q2) cos(q1) sin(q2)] [1 --------------- ---------------] [ cos(q2) cos(q2) ] [ ] [0 cos(q1) -sin(q1) ] [ ] [ sin(q1) cos(q1) ] [0 ------- ------- ] [ cos(q2) cos(q2) ]

ME696 - Advanced Robotics – C02

000000000100010001

321 hhhH sp

ka

ia

ja

ib

jb

kb

pqq

q

3

2

1

ppp

p

3

2

1

qqq

q

Page 30: C03 – 2009.02.05 Advanced Robotics for Autonomous Manipulation

Kinematics of the joints

30

ME696 - Advanced Robotics – C02

Consider first a linear chain of k links e k joints, each one characterized by: ri DOF;

Joint matrix Hiri 6 ;

configuration vector qiri

quasivelocity vector piri

Let’s consider a point ci of a generic link i and its generalized velocity w.r.t. the main frame ii

/X 0 projected on

the same link frame; in relation with the generalized velocity of the origin Oi of the frame <i> we have:

i

c

ic

ic

ii

ii

ii

iO c

iO c

ii

ii

iO c

ic

i

i

i i i i i

i i i

( )

//

/

/

/ /

/

/

/

Xv v r

I 0r I v

r X

00

0

0

0 0

0

0

0

(2.1) where:

( )rI 0r I

, (2.2)

iO c i ii i

O cr .

Similarly, for the cross-prod preperties, we have: i

cT i

ci

O ci i i i ( )/ /

*X X r0 0 (2.3)

with:

( )rI r0 I

. (2.4)

Kinematics of robotics structures

Page 31: C03 – 2009.02.05 Advanced Robotics for Autonomous Manipulation

Kinematics of the joints

31

ME696 - Advanced Robotics – C02

It is then possible to express, recursively, the generalized velocity of the frame integral with the generic link i:

ii

ii

ii

iioj i

i i iH / /X

R 00 R

r X p01

1

11

11 0

(2.1)

where rioj 1 is the vector joining the origin of i 1 to the connection point of the joint i (fig. 2.1) and pi is the

associated quasivelocity vector. Note that the quantity Hi ip gives fornisce, in accordo alla 2.25, la velocità

generalizzata introdotta dal giunto espressa nella terna uscente1.

Fig. Error! No text of specified style in document..1

Introduceing the matrix

ii i

i

ii

1

1

1

q rR 00 R

r (2.2)

The 2.1 becomes:

ii i

i iioj i

i i iH / /X r X p0 1

11

11 0

q (2.3)

The 2.3 is sufficient to express, recursively, the generalized velocities /X i 0 of every frame in the robot.

1 Ad esempio, facendo riferimento alla figura 2.6, tale quantità rappresenta la velocità generalizzata della terna <b> rispetto alla <a> espressa nella terna <b>.

Oi-1 Ji-1 i-1roj

(i-1)-esimo link i-esimo link

Punto di connessione del giunto i-esimo

Kinematics of robotics structures

Page 32: C03 – 2009.02.05 Advanced Robotics for Autonomous Manipulation

Kinematics of the joints

32

ME696 - Advanced Robotics – C02

It is convenient to expand the recursive process into a global form. At this aim, let’s create the following vectors:

V

XX

X

p

pp

p

O

kk k

11 0

22 0

0

1

2

,

/

/

/

And the matrix:

H

H 0 00 H 0

0 0 H

1

2

k

(2.1)

Hence we have, from the 2.3: V H pO l (2.2)

where:

l

n n

ji

ii

jj i n j n

I 0 0I 0

0I

12

1 2

11 2 1 1

q

q q

q q q, , , (2.3)

The matrix l H is the Global Jacobian of the robot; its dimension is 6n n and may be partitioned into k

blocks such as:

V pO

kk

kk k

XX

X

J OJ O

J O

11 0

22 0

0

11 0 1

22 0 2

0

/

/

/

/

/

/

(2.4)

where the matrix ijJ P/0 is named jacobian ed è tale che:

iP

ijX J P

/ /0 0 p (2.5)

being P a generic point integral with the frame j .

Page 33: C03 – 2009.02.05 Advanced Robotics for Autonomous Manipulation

End of presentation


Top Related