c01 – 2009.01.20 advanced robotics for autonomous manipulation

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: hogan

Post on 13-Feb-2016

58 views

Category:

Documents


3 download

DESCRIPTION

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

TRANSCRIPT

Page 1: C01  – 2009.01.20 Advanced  Robotics for Autonomous Manipulation

1

C01 – 2009.01.20Advanced 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: C01  – 2009.01.20 Advanced  Robotics for Autonomous Manipulation

C01: Geometry of robotics structures

2

Summary

1. Vectors (definitions and operations)2. Coordinate systems3. Rotation matrices4. Representation of rotation matrices5. Transformation matrices6. Geometry of robotics structures

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

ME696 - Advanced Robotics

Page 3: C01  – 2009.01.20 Advanced  Robotics for Autonomous Manipulation

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

Page 4: C01  – 2009.01.20 Advanced  Robotics for Autonomous Manipulation

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

Page 5: C01  – 2009.01.20 Advanced  Robotics for Autonomous Manipulation

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

Page 6: C01  – 2009.01.20 Advanced  Robotics for Autonomous Manipulation

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

Page 7: C01  – 2009.01.20 Advanced  Robotics for Autonomous Manipulation

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 ji j

a a a

a a

,.0

k i ji j

a a a

a a

,.0

Oa

< a >

i

j

k

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

Page 8: C01  – 2009.01.20 Advanced  Robotics for Autonomous Manipulation

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

ccc

v

1

2

3

3

b

hhh

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 cc cc c

v

00

0

3 2

3 1

2 1

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

Page 9: C01  – 2009.01.20 Advanced  Robotics for Autonomous Manipulation

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

Page 10: C01  – 2009.01.20 Advanced  Robotics for Autonomous Manipulation

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

Page 11: C01  – 2009.01.20 Advanced  Robotics for Autonomous Manipulation

Rotation matrices

11

Change of reference system for the cross-product operator

ME696 - Advanced Robotics – C01

a

c cc cc c

v

00

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

Page 12: C01  – 2009.01.20 Advanced  Robotics for Autonomous Manipulation

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

Page 13: C01  – 2009.01.20 Advanced  Robotics for Autonomous Manipulation

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

ev 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 sv 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

cs sinp

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

Page 14: C01  – 2009.01.20 Advanced  Robotics for Autonomous Manipulation

Representation of rotation matrices

14

Exponential representation

Special cases:

ME696 - Advanced Robotics – C01

ka

ia

ja

ib

jb

kb

ba OO

b

av

R sinsin

( , ) cos( ) ( )( ) cos( )

i

1 0 000

Rsin

sin( , )

cos( ) ( )

( ) cos( )j

00 1 0

0

Rsin

sin( , )cos( ) ( )( ) cos( )k

00

0 0 1

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

Page 15: C01  – 2009.01.20 Advanced  Robotics for Autonomous Manipulation

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

Page 16: C01  – 2009.01.20 Advanced  Robotics for Autonomous Manipulation

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

Page 17: C01  – 2009.01.20 Advanced  Robotics for Autonomous Manipulation

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

Page 18: C01  – 2009.01.20 Advanced  Robotics for Autonomous Manipulation

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

bb

b

b

Pxyz

b

b

b

b

P

xyz

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

Page 19: C01  – 2009.01.20 Advanced  Robotics for Autonomous Manipulation

Geometry of robotics structures

19

Multibody systems

ME696 - Advanced Robotics – C01

Link Giunto

i 1

i

i 1

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

Page 20: C01  – 2009.01.20 Advanced  Robotics for Autonomous Manipulation

Geometry of robotics structures

20

Denavit-Hartenberg

ME696 - Advanced Robotics – C01

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

Page 21: C01  – 2009.01.20 Advanced  Robotics for Autonomous Manipulation

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

Page 22: C01  – 2009.01.20 Advanced  Robotics for Autonomous Manipulation

Simulation EnvironmentRobotics 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

Page 23: C01  – 2009.01.20 Advanced  Robotics for Autonomous Manipulation

End of presentation