Page 1
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: 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
End of presentation