You are on page 1of 59

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

You might also like