Mechatronics Dept.
, Dynamics & Control Group, 207701-Industrial Robot
Spatial descriptions and
transformations
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-1
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Outline
- Learn to represent position and orientation
- Be able to transform between coordinate
systems.
- Use frames and homogeneous coordinates
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-2
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
- Objectlocation in space specified by location of a selected point
on it and orientation of the object.
-A coordinate system
(frame) is attached rigidly
to the object. Then
proceed to describe the
position and orientation of
this frame with respect to
some reference coordinate
system.
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-3
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
COORDINATES ON ROBOT
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-4
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
ASSIGN COORDINATE ON THE ROBOT SYSTEMS
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-5
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-6
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Description of a position
Once a coordinate system is established, any point in the
universe can be located with a 3 1 position vector.
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-7
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Descriptions of positions
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-8
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Description of a orientation
2D case
What is the relation between OPA and OPB?
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-9
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Description of a orientation
3D case
What is the matrix descript the
relation between two frame?
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-10
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Example of description of a orientation
Inertial Measurement Unit in Aircraft
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-11
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Description of a orientation
- The complete location of the hand is
still not specified until its orientation
is also given.
- A coordinate system (B) has been
attached to the body in a known way.
A description of {B} relative to (A)
now suffices to give the orientation of
the body.
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-12
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Note: Rotation matrix are simply the projections of a frame onto
another frame.
Projections of {B}
onto {A}:
Projections of {A}
onto {B}:
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-13
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Example
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-14
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Note: In a rotation matrix, rows / columns are
orthogonal unit vectors.
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-15
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Example: Determine missing elements in the following rotation matrix.
From properties of rotation matrix:
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-16
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-17
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Finite and infinitesimal translations
Finite Δx,Δy,Δz or infinitesimal dx, dy, dz translations (linear displacements) always commute
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-18
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Finite rotations do not commute
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-19
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Description of a frame
A frame is a coordinate system where, in addition to the orientation,
we give a position vector which locates its origin relative to some other
embedding frame.
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-20
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Mappings from frame to frame
- It is concerned how to express the same quantity in terms of various
reference coordinate systems.
- Mappings involving translated frames
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-21
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Mappings involving rotated frames
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-22
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Rotation matrix
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-23
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Mappings involving general frames
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-24
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-25
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Generally, it is desired to think of a mapping from one frame to
another as an operator in matrix form.
A P A
R A
PBORG B P
B
1 0 0 0 1 1
(4 1) (4 4) (4 1)
The 4 x 4 matrix above is called a homogeneous transform.
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-26
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Operators: translation, rotation, & transformation
The same mathematical forms used to map points between frames can
also be interpreted as operators that translate points, rotate vectors,
or do both.
Translational operators
A translation moves a point in
space a finite distance along a
given vector direction.
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-27
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Operators: translation, rotation, & transformation
To write this translation operation as a matrix operator:
The DQ operator may be thought of as
a homogeneous transform of a special
simple form.
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-28
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Operators: translation, rotation, & transformation
Rotational operators
Another interpretation of a rotation matrix is as a rotational operator
that operates on a vector AP1 and changes that vector to a new vector,
AP , by means of a rotation, R.
2
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-29
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Operators: translation, rotation, & transformation
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-30
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Operators: translation, rotation, & transformation
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-31
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Operators: translation, rotation, & transformation
Transformation operators
A frame has another interpretation as a transformation operator.
In this interpretation, only one coordinate system is involved,
and so the symbol T is used without sub- or superscripts. The
operator T rotates and translates a vector AP1 to compute a new
vector AP2.
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-32
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Summary of interpretations
As a general tool to represent frames, a
homogeneous transform has been
introduced. That is a 4 x 4 matrix A
R A
PBORG
containing orientation and position B
information.
0 0 0 1
There are three interpretations of this
homogeneous transform:
• A description of a frame - describes the frame {B} relative to the
frame {A}:
• A transform mapping:
• A transform operator:
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-33
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Transformation arithmetic
Compound transformations
A
R CBR A B
R P A
P
CT
A B B CORG BORG
0 0 0 1
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-34
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Transformation arithmetic
Inverting a transform
A
R A
PBORG
BT
A B
0 0 0 1
We have:
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-35
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Transformation arithmetic
A
RT BART A PBORG
AT
B B
0 0 0 1
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-36
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Transformation arithmetic
Determine:
Solution:
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-37
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Transformation operators
A frame has another interpretation as a transformation
operator. In this interpretation, only one coordinate
system is involved, and so the symbol T is used without
sub- or superscripts. The operator T rotates and
translates a vector AP1 to compute a new vector AP2.
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-38
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Transform equations
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-39
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
More on representation of orientation
For a rotation matrix R
9 elements
6 constraints
R is conveniently specified with three parameters
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-40
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
More on representation of orientation
Example: Consider two rotations, one about X by 300, and one
about Z by 300.
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-41
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
More on representation of orientation
Note:
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-42
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Roll-Pitch-Yaw (X - Y - Z fixed angles)
Start with the frame {B} coincident with a known reference
frame {A}.
• Rotate {B} first about X̂ Aby an angle (roll)
• Then, rotate {B} about ŶA by an angle (pitch)
• Finally, rotate {B} about Ẑ A an angle (yaw)
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-43
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-44
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Roll-Pitch-Yaw (X - Y - Z fixed angles)
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-45
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Z-Y-X Euler angles
Start with the frame {B} coincident with a known reference
frame {A}.
Rotate {B} first about X̂ B by an angle
Then, rotate {B} about ŶB by an angle
Finally, rotate {B} about Ẑ B by an angle α
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-46
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Z-Y-X Euler angles
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-47
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Can you make the algebraic proof?
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-48
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Solution for / /
If
If
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-49
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Equivalent angle - axis
Start with the frame
{B} coincident with a
known frame {A}; then
rotate {B} about the
vector A K̂ by an angle
according to the
right-hand rule.
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-50
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Equivalent angle - axis
A frame {B} is described as
initially coincident with {A).
Then {B} is rotated about the
vector A Kˆ [0.7070 0.707 0.0]T
(passing through the point AP
= [1.0 2.0 3.0]) by an amount
= 300.
Give the frame
description of {B}.
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-51
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Equivalent angle - axis
Solution: define two new frames {A’} and {B’} so that their
origins are at AP = [1.0 2.0 3.0]T and
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-52
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Equivalent angle - axis
We have
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-53
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Axis/Angle Representation
Rotation about an arbitrary axis
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-54
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Axis/Angle Representation
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-55
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Axis/Angle Representation
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-56
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Line vector vs. Free vector
The term line vector refers to a vector that is dependent on its
line of action, along with direction and magnitude, for causing its
effects.
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-57
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
Line vector vs. Free vector
A free vector refers to a vector that may be positioned anywhere
in space without loss or change of meaning, provided that
magnitude and direction are preserved.
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-58
Mechatronics Dept., Dynamics & Control Group, 207701-Industrial Robot
A pure translation of 0.5m in the X direction is represented by
>> transl(0.5, 0.0, 0.0)
A rotation of 90 degrees about the Y axis by
>> r2t(roty(pi/2)) % {or use trot(pi/2)}
A rotation of -90 degrees about the Z axis by
>> r2t(rotz(-pi/2))
These may be concatenated by multiplication
>> t = transl(0.5, 0.0, 0.0) * r2t(roty(pi/2) )* r2t(rotz(-pi/2))
transform multiplication is in general not commutative
>> rotx(pi/2) * rotz(-pi/8)
>> rotz(-pi/8) * rotx(pi/2)
Transform Euler angles to roll/pitch/yaw angles
>> tr2rpy(t)
Homogenous transform for rotation about arbitrary vector
>> R=t2r(t)
>> tr2angvec(t)
Prepared by Q. C. Nguyen (PhD) & C.B. Pham (PhD) 3-59