1 c01 – 2009.01.20 advanced robotics for autonomous manipulation department of mechanical...

23
1 C01 – 2009.01.20 Advanced Robotics for Autonomous Manipulation Giacomo Marani Autonomous Systems Laboratory, University of Hawaii Department of Mechanical Engineering ME 696 – Advanced Topics in Mechanical Engineering http://www2.hawaii.edu/~marani

Upload: julius-garrison

Post on 25-Dec-2015

220 views

Category:

Documents


0 download

TRANSCRIPT

1

C01 – 2009.01.20

Advanced Robotics for Autonomous ManipulationGiacomo Marani

Autonomous Systems Laboratory, University of Hawaii

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

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

C01: Geometry of robotics structures

2

Summary

1. Vectors (definitions and operations)

2. Coordinate systems

3. Rotation matrices

4. Representation of rotation matrices

5. Transformation matrices

6. Geometry of robotics structures

Contents1. Vectors2. Coordinate sys.3. Rotation Matrices4. Representation5. Transformation M.6. Geometry7. Example

ME696 - Advanced Robotics

Vectors: definitions

3

Point

Point in a Cartesian system:

Spherical reference system:

Line segment: a part of a line that is bounded by two distinct

end points.

Oriented line segment:

Given two oriented line segments [P-Q] and [P`-Q`], they are

equipollent if they have the same direction, length and

orientation.

Given an oriented segment [P-Q], a correspondent free vector

is the whole class of line segments equipollent to [P-Q].

Note the difference with the bound vector.

ME696 - Advanced Robotics – C01

321 ,, cccP

,,rP

i

j

k

p1

p3

P

Q

P`

Q`

Contents1. Vectors2. Coordinate sys.3. Rotation Matrices4. Representation5. Transformation M.6. Geometry7. Example

Vectors: operations

4

Dot (scalar) product

Properties:

Cross (vector) product

Properties:

ME696 - Advanced Robotics – C01

)cos(2 vvvv 121

v1

v2

v v v v21 2 1

v a b v a v b ( )

)sin(2 vvvv 121

v1

v1

v1 v2

v v v v1 2 2 1

v a b v a v b ( )

Contents1. Vectors2. Coordinate sys.3. Rotation Matrices4. Representation5. Transformation M.6. Geometry7. Example

Coordinate systems

5

Coordinate systems

In geometry and kinematics, coordinate systems are used not

only to describe the (linear) position of points, but also to

describe the angular position of axes, planes, and rigid

bodies. In the latter case, the orientation of a second

(typically referred to as "local") coordinate system, fixed to

the node, is defined based on the first (typically referred to as

"global" or "world" coordinate system).

ME696 - Advanced Robotics – C01

Oa

< a >< 0 >

k

i

ji

i

j

j

k

k

< b >

Ob

Contents1. Vectors2. Coordinate sys.3. Rotation Matrices4. Representation5. Transformation M.6. Geometry7. Example

Coordinate systems

6

Coordinate systems

< a > { Oa, ia, ja, ka }< b > { Ob, ib, jb, kb }

Any vector can be uniquely expressed w.r.t either <a> and <b>:

v = c1 ia + c2 ja + c3 ka

v = h1 ib + h2 jb + h3 kb

ME696 - Advanced Robotics – C01

Oa

< a >< 0 >

k

i

ji

i

j

j

k

k

< b >

Ob

Contents1. Vectors2. Coordinate sys.3. Rotation Matrices4. Representation5. Transformation M.6. Geometry7. Example

Coordinate systems

7

Orthogonal systems

The reference frame < a > { Oa, ia, ja, ka } is orthogonal with right-handed orientation if:

orthogonal with left-handed orientation:

If i , j , k are also of unit length the frame are orthonormal.

ME696 - Advanced Robotics – C01

k i j

i ja a a

a a

,

.0

k i j

i ja a a

a a

,

.0

Oa

< a >

i

j

k

Contents1. Vectors2. Coordinate sys.3. Rotation Matrices4. Representation5. Transformation M.6. Geometry7. Example

Algebraic vector

8

Algebraic vector

Given 2 free vectors v and w in an orthonormal-right-handed reference system we have:

Dot product:

Cross product: where:

ME696 - Advanced Robotics – C01

a

c

c

c

v

1

2

3

3

b

h

h

h

v

1

2

3

3

Oa

< a >

i

i

j

j

k

k

< b >

Ob

P

Q

v w v w a T a

a a a( )v w v w a

c c

c c

c c

v

0

0

0

3 2

3 1

2 1

Contents1. Vectors2. Coordinate sys.3. Rotation Matrices4. Representation5. Transformation M.6. Geometry7. Example

Rotation matrices

9

Position of reference systems

Given two orthonormal reference systems <a> and <b>, the Rotation Matrix of <b> with respect to <a> is defined by:

Properties:

ME696 - Advanced Robotics – C01

ba a

ba

ba

bR i j k 3 3

ab

T abi j 0 a

bT a

bi k 0 ab

T abj k 0

ab

T abi i 1 a

bT a

bj j 1 ab

T abk k 1

ba

ba TR R 1

det( )baR 1

Oa

< a >

i

i

j

j

k

k

< b >

Ob

Rba

Contents1. Vectors2. Coordinate sys.3. Rotation Matrices4. Representation5. Transformation M.6. Geometry7. Example

Rotation matrices

10

Change of reference system

Problem statement:Given a free vector v with known projection w.r.t. the frame <b>, we want to compute the projection w.r.t. the frame <a>:

Hence:

similarly:

ME696 - Advanced Robotics – C01

bbbbbbb zyx kjiv

ab

ab b

ab b

abx y zv i j k

aba bRv v b

ab aRv v

Oa

< a >

i

i

j

j

k

k

< b >

Ob

Rba

Contents1. Vectors2. Coordinate sys.3. Rotation Matrices4. Representation5. Transformation M.6. Geometry7. Example

Rotation matrices

11

Change of reference system for the cross-product operator

ME696 - Advanced Robotics – C01

a

c c

c c

c c

v

0

0

0

3 2

3 1

2 1

a a a( )v w v w

b b b( )v w v w

a bba b

ba b b

ba b

ba T aR R R Rv w v w v w v w

aba b

ba TR Rv v

Contents1. Vectors2. Coordinate sys.3. Rotation Matrices4. Representation5. Transformation M.6. Geometry7. Example

Rotation matrices

12

Concatenation of rotation matrices

Problem statement:

Given n reference systems, we want to compute the rotation matrix between 2 frames <h> and <k> such as:

Algorithm:1) Identify an oriented path from <k> to <h>2) Pre-multiply the vector kv with all the rotation matrices

encountered (if the arrow is not opposite the rotation matrix is transposed)

ME696 - Advanced Robotics – C01

?

< 0 >

< 1 >

< i >

< j >

< k >

< h >

hkh kRv v

hhj T

ji T

ki kR R Rv v k

hhj T

ji T

kiR R R R

Contents1. Vectors2. Coordinate sys.3. Rotation Matrices4. Representation5. Transformation M.6. Geometry7. Example

Representation of rotation matrices

13

Exponential representation

Problem statement:The frame <b>, initially coincident with <a>, is rotated of an angle theta around the axis specified by v.

Expanding the exponential we have:

ME696 - Advanced Robotics – C01

ka

ia

ja

ib

jb

kb

ba OO

b

av

ba R R e ( , )v v

e

v v p c v v p v s v v p v s

v v p v s v v p c v v p v s

v v p v s v v p v s v v p c

x x x y z x z y

x y z y y y z x

x z y y z x z z

v

c

s sin

p

cos( ), ( ),

cos( ).

1

R R( , ) ( , )v v

R R k( , ) ( , )v v 2

R k I( , )v v2

Contents1. Vectors2. Coordinate sys.3. Rotation Matrices4. Representation5. Transformation M.6. Geometry7. Example

Representation of rotation matrices

14

Exponential representation

Special cases:

ME696 - Advanced Robotics – C01

ka

ia

ja

ib

jb

kb

ba OO

b

av

R sin

sin

( , ) cos( ) ( )

( ) cos( )

i

1 0 0

0

0

R

sin

sin

( , )

cos( ) ( )

( ) cos( )

j

0

0 1 0

0

R

sin

sin( , )

cos( ) ( )

( ) cos( )k

0

0

0 0 1

Contents1. Vectors2. Coordinate sys.3. Rotation Matrices4. Representation5. Transformation M.6. Geometry7. Example

Rotation matrices

15

Roll-Pitch –Yaw (Euler)

ME696 - Advanced Robotics – C01

j0

i0

z0k

a (yaw)

b (pitch)

g (roll)

k1 k0

j1

i1

i2

j2 j1

k2

j3k3

i3 i2

g

a

b

a

b1

b2

b

ba R R R R e e e k j i k j i, , ,a b g a b g

Contents1. Vectors2. Coordinate sys.3. Rotation Matrices4. Representation5. Transformation M.6. Geometry7. Example

Rotation matrices

16

Roll-Pitch –Yaw (Euler)

ME696 - Advanced Robotics – C01

ba R R R R e e e k j i k j i, , ,a b g a b g

ba R

Contents1. Vectors2. Coordinate sys.3. Rotation Matrices4. Representation5. Transformation M.6. Geometry7. Example

Transformation matrices

17

Change of reference system for points in space

Problem statement:Given a generic point P in the space, compute its coordinates w.r.t. the frames <a> and <b>

We have:

ME696 - Advanced Robotics – C01

k

i

ji

i

j

j

k

k

P

0

Oa a

a Pb P

b

Ob

a aaP P O ( )

b bbP P O ( )

a b aP P( )

a ab b

a bP O R P

Contents1. Vectors2. Coordinate sys.3. Rotation Matrices4. Representation5. Transformation M.6. Geometry7. Example

Transformation matrices

18

Change of reference system for points in space

Point P in <b>: Representation of P in homogeneous coordinates:

Transformation matrix:

ME696 - Advanced Robotics – C01

k

i

ji

i

j

j

k

k

P

0

Oa a

a Pb P

b

Ob

b

b

b

b

P

x

y

z

b

b

b

b

P

x

y

z

1

ba b

a abT

R O

0 0 0 1

a ab b

a bP O R P

aba bP T P

Contents1. Vectors2. Coordinate sys.3. Rotation Matrices4. Representation5. Transformation M.6. Geometry7. Example

Geometry of robotics structures

19

Multibody systems

ME696 - Advanced Robotics – C01

LinkGiunto

i 1

i

i 1

Contents1. Vectors2. Coordinate sys.3. Rotation Matrices4. Representation5. Transformation M.6. Geometry7. Example

Geometry of robotics structures

20

Denavit-Hartenberg

ME696 - Advanced Robotics – C01

Contents1. Vectors2. Coordinate sys.3. Rotation Matrices4. Representation5. Transformation M.6. Geometry7. Example

Geometry of robotics structures

21

Multibody systems

ME696 - Advanced Robotics – C01

1 0,

11,

1 2,

3 2,

31, 1 3,

2 1,

2 2, 2 3,

2 4,

2 5,

1 4,

1 5,

1 6,

Contents1. Vectors2. Coordinate sys.3. Rotation Matrices4. Representation5. Transformation M.6. Geometry7. Example

Simulation Environment

Robotics Developer Studio

22

RDS: Simple application example

5 Degrees of freedom linear chain.

Link 1

Link 2

Link 3

Joint 1

Joint 2

Joint 3

Link 5

Joint 5

r2oj

Contents1. Vectors2. Coordinate sys.3. Rotation Matrices4. Representation5. Transformation M.6. Geometry7. Example

End of presentation