rigid body transformations
DESCRIPTION
Part of Upenn's Courseware on Advanced Robotics.TRANSCRIPT
Rigid Body Kinematics
University of Pennsylvania
2
Remark about Notation
Vectors x, y, a, … Ax u, v, p, q, …
Matrices A, B, C, … AAB
g, h, …
Potential for Confusion!
Rigid Body Kinematics
University of Pennsylvania
3
The 3vector a and its 3skew symmetric matrix counterpart a
For any vector b
ab = A b
3
2
1
12
13
23
2112
3113
2332
3
2
1
3
2
1
0
0
0
b
b
b
aa
aa
aa
baba
baba
baba
b
b
b
a
a
a
a
a = A
Rigid Body Kinematics
University of Pennsylvania
4
Rigid Body Transformation
Rigid Body Displacement
Rigid Body Motion
3: ROtg
O
R33: ROg t
Rigid Body Kinematics
University of Pennsylvania
5
Coordinate Transformations and Displacements
Transformations of points Transformation (g) of points induces an action (g*) on vectors
What are rigid body transformations? Displacements? g preserves lengths g* preserves cross products
p
qg (p)
g (q)
v
g* (v)
Rigid Body Kinematics
University of Pennsylvania
6
Rigid Body Transformations in R3
Can show that the most general coordinate transformation from {B} to {A} has the following form
position vector of P in {B} is transformed to position vector of P in {A}
description of {B} as seen from an observer in {A}
OAPBB
APA rrRr
x
y
z
ArP
O
BrP
ArO’
z'
y'
x'
{A}
O'
A
BP
Rotation of {B} with respect to
{A}
Translation of the origin of {B} with respect to origin of {A}
Rigid Body Kinematics
University of Pennsylvania
7
Rotational transformations in R3
Properties of rotation matrices Transpose is the inverse Determinant is +1
Rotations preserve cross products
R u R v = R (u v)
Rotation of skew symmetric matrices
For any rotation matrix R:
R w RT = (R w)
Rigid Body Kinematics
University of Pennsylvania
8
Example: Rotation Rotation about the x-axis through
cossin0
sincos0
001
,xRot
x
y
z
Displacement
x
y
z
Rigid Body Kinematics
University of Pennsylvania
9
Example: RotationRotation about the y-axis through
y
z
x
z'x'
cos0sin
010
sin0cos
,yRot
Rotation about the z-axis through
100
0cossin
0sincos
,zRot
y
z
x
y'
x'
Rigid Body Kinematics
University of Pennsylvania
10
Rigid Motion in R3
The same equation can have two interpretations: It transforms the position vector of any point in {B} to the position vector in {A} It transforms the position vector of any point in the first position/orientation (described
by {A}) to its new position vector in the second position orientation (described by{B}).
x
y
z
ArP’
O
ArO’
z'
y'
x'
{A}
O'
{B}
ArP P
P’
BrP’
x
y
z
ArP
O
BrP
ArO’
z'
y'
x'
{A}
O'
A
BP
OAPBB
APA rrRr OAPAB
APA rrRrCoordinate transformation from {B} to {A} Displacement of a body-fixed frame from {A} to {B}
Rigid Body Kinematics
University of Pennsylvania
11
Mobile Robots
x
y
100
cossin
sincos
y
x
gWRW
R
WAR
Rigid Body Kinematics
University of Pennsylvania
12
The Lie group SE(3)
IRRRRrR
0
rRAA TTRRSE ,,,
13 333
31
http://www.seas.upenn.edu/~meam520/notes02/RigidBodyMotion3.pdf
Rigid Body Kinematics
University of Pennsylvania
13
SE(3) is a Lie groupSE(3) satisfies the four axioms that must be satisfied by the elements of an algebraic group:
The set is closed under the binary operation. In other words, if A and B are any two matrices in SE(3), AB SE(3).
The binary operation is associative. In other words, if A, B, and C are any three matrices SE(3), then (AB) C = A (BC).
For every element A SE(3), there is an identity element given by the 44 identity matrix, ISE(3), such that AI = A.
For every element A SE(3), there is an identity inverse, A-1 SE(3), such that A A-1 = I.
SE(3) is a continuous group. the binary operation above is a continuous operation the product of any two
elements in SE(3) is a continuous function of the two elements the inverse of any element in SE(3) is a continuous function of that element.
In other words, SE(3) is a differentiable manifold. A group that is a differentiable manifold is called a Lie group[ Sophus Lie (1842-1899)].
Rigid Body Kinematics
University of Pennsylvania
14
Composition of DisplacementsDisplacement from {A} to {B}
Displacement from {B} to {C}
Displacement from {A} to {C}x
y
z
O
z'
y'
x'
{A}
O'
z''
x''
y''
O''
{B}
POSITION 1
POSITION 2
POSITION 3
{C}
,131
'
0
rRA
OAB
A
BA
,131
0
rRA
OBC
B
CB
1
11
1
0
rrRRR
0
rR
0
rR
0
rRA
OAOBB
AC
BB
A
OBC
BOAB
A
OAC
A
CA
Note XAY describes the displacement of the body-fixed frame from {X} to {Y} in reference frame {X}
Rigid Body Kinematics
University of Pennsylvania
15
Composition (continued)
x
y
z
O
z'
y'
x'
{A}
O'
z''
x''
y''
O''
{B}
POSITION 1
POSITION 2
POSITION 3
{C}
Note XAY describes the displacement of the body-fixed frame from {X} to {Y} in reference frame {X}
Composition of displacements Displacements are generally described
in a body-fixed frame Example: BAC is the displacement of a
rigid body from B to C relative to the axes of the “first frame” B.
Composition of transformations Same basic idea AAC = AAB BAC
Note that our description of transformations (e.g., BAC) is relative to the “first frame” (B, the frame with the leading superscript).
Rigid Body Kinematics
University of Pennsylvania
16
S u b g r o u p N o t a t i o n D e f i n i t i o n S i g n i f i c a n c e
T h e g r o u p o fr o t a t i o n s i n
t h r e ed i m e n s i o n s
S O ( 3 ) T h e s e t o f a l l p r o p e r o r t h o g o n a lm a t r i c e s .
S O R T T3 3 3 R R R R R R I,
A l l s p h e r i c a l d i s p l a c e m e n t s .O r t h e s e t o f a l l d i s p l a c e m e n t s
t h a t c a n b e g e n e r a t e d b y as p h e r i c a l j o i n t ( S - p a i r ) .
S p e c i a lE u c l i d e a n
g r o u p i n t w od i m e n s i o n s
S E ( 2 ) T h e s e t o f a l l 3 3 m a t r i c e s w i t h t h es t r u c t u r e :
c o s s i n
s i n c o s
r
rx
y
0 0 1
w h e r e , r x , a n d r y a r e r e a l n u m b e r s .
A l l p l a n a r d i s p l a c e m e n t s . O rt h e s e t o f d i s p l a c e m e n t s t h a tc a n b e g e n e r a t e d b y a p l a n a r
p a i r ( E - p a i r ) .
T h e g r o u p o fr o t a t i o n s i n
t w od i m e n s i o n s
S O ( 2 ) T h e s e t o f a l l 2 2 p r o p e r o r t h o g o n a lm a t r i c e s . T h e y h a v e t h e s t r u c t u r e :
c o s s i n
s i n c o s
,
w h e r e i s a r e a l n u m b e r .
A l l r o t a t i o n s i n t h e p l a n e , o rt h e s e t o f a l l d i s p l a c e m e n t s
t h a t c a n b e g e n e r a t e d b y as i n g l e r e v o l u t e j o i n t ( R - p a i r ) .
T h e g r o u p o ft r a n s l a t i o n s i nn d i m e n s i o n s .
T ( n ) T h e s e t o f a l l n 1 r e a l v e c t o r s w i t hv e c t o r a d d i t i o n a s t h e b i n a r y
o p e r a t i o n .
A l l t r a n s l a t i o n s i n nd i m e n s i o n s . n = 2 i n d i c a t e s
p l a n a r , n = 3 i n d i c a t e s s p a t i a ld i s p l a c e m e n t s .
T h e g r o u p o ft r a n s l a t i o n s i n
o n ed i m e n s i o n .
T ( 1 ) T h e s e t o f a l l r e a l n u m b e r s w i t ha d d i t i o n a s t h e b i n a r y o p e r a t i o n .
A l l t r a n s l a t i o n s p a r a l l e l t o o n ea x i s , o r t h e s e t o f a l l
d i s p l a c e m e n t s t h a t c a n b eg e n e r a t e d b y a s i n g l e
p r i s m a t i c j o i n t ( P - p a i r ) .
T h e g r o u p o fc y l i n d r i c a l
d i s p l a c e m e n t s
S O ( 2 ) T ( 1 ) T h e C a r t e s i a n p r o d u c t o f S O ( 2 ) a n dT ( 1 )
A l l r o t a t i o n s i n t h e p l a n e a n dt r a n s l a t i o n s a l o n g a n a x i s
p e r p e n d i c u l a r t o t h e p l a n e , o rt h e s e t o f a l l d i s p l a c e m e n t s
t h a t c a n b e g e n e r a t e d b y ac y l i n d r i c a l j o i n t ( C - p a i r ) .
T h e g r o u p o fs c r e w
d i s p l a c e m e n t s
H ( 1 ) A o n e - p a r a m e t e r s u b g r o u p o f S E ( 3 ) A l l d i s p l a c e m e n t s t h a t c a n b eg e n e r a t e d b y a h e l i c a l j o i n t
( H - p a i r ) .
Subgroups of SE(3)