ME – 489:
Robotics and Automation
LECTURE 2: SPATIAL DESCRIPTION AND TRANSFORMATIONS
Point and Vector
A vector is a movement that you can make. like “2 steps north, 3 steps east”
A point is a position. it’s a place in the room. like “the south east corner” or “the
center”.
Notice that a vector doesn’t say where you start or end. Just how you should
move.
Some operations mix the two. You can take a point and add a vector (start in the
center of the room, go 2 steps north and 3 steps east). You can take two points
and talk about the vector between them (how do you need to talk to get between
the points).
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 2
Point and Vector
Vectors don't normally represent a position, rather they represent a direction and
magnitude.
So if you subtract a point from another point, you get a vector- subtraction gives
you a displacement vector
If you add a point and a vector, you get another point.
A point is just a vector with a known origin.
You can add 2 vectors and get a vector – resultant vector
https://graphics.cs.wisc.edu/WP/cs559-fall2014/2014/08/28/points-vectors-and-
coordinate-systems-why-are-points-and-vectors-different/
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 3
Representing Position and Orientation
How to describe a position in space?
How to describe an orientation in space?
Pose: Combination of position and orientation
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 4
Representing Position and Orientation
Convention: Attach coordinate frame to an object. It enables
us to describe the pose (position and orientation) of an object
with respect to reference coordinate frame. Each frame is
given a name.
Assumption: object is rigid
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 5
Representing Position and Orientation
How many dimensions are required to completely describe the pose of an
object?
Frame
Reference being described
coordinate
frame
Relative pose of frame {B} with respect to frame {A}
NOTE: If superscript is missing, we assume the change
is w.r.t world coordinate frame denoted as {O}.
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 6
Representing Position and Orientation
An important characteristic of relative poses is that they can be
combined/composed together.
*Pose of {C} relative to {A} can be obtained
by compounding the relative poses from {A}
to {B} and {B} to {C}. We use the operator ⊕
to indicate Composition of relative poses.
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 7
Representing Position and Orientation
An important characteristic of relative poses is that they can be combined/composed together
For this case the point P can be described by
Till now we have seen 2D coordinate frames. It is applicable to many robotic systems
especially mobile robots that operate in planar world. However for many other robots,
we require 3D coordinate frames.
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 8
Representing Position and Orientation
Spatial Relationships
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 9
Representing Position and Orientation
Algebraic Rules:
combination
Not commutative with exception
of their sum being zero
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 10
Representing Position and Orientation
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 11
Representing Position and Orientation
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 12
Representing Position and Orientation
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 13
Representing Position and Orientation
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 14
Representing Position and Orientation
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 15
Representing Position and Orientation
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 16
Representing Position and Orientation
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 17
Representing Position and Orientation
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 18
Representing Position and Orientation
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 19
Representing Position and Orientation
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 20
Representing Position and Orientation
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 21
Representing Position and Orientation
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 22
Representing Position and Orientation
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 23
Working in 2D
Describe frame
{B} with respect to
frame {A}
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 24
Working in 2D
We introduce another frame {V} whose
axis are parallel to frame {A} but origin
lies on frame {B}. Point P can be
expressed in terms of frame {V} as:
Eq 1
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 25
Working in 2D
Frame {B} can be described using its
orthogonal axes as:
We can represent point P wrt frame {B} as:
Eq 2
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 26
Working in 2D – Orthonormal Rotation Matrix
Equate equations 1 and 2, to see how points are transformed
when frame is rotated.
Rotation Matrix: transforms a
point P from one frame to the
other. It is denoted by VRB
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 27
Working in 2D – Orthonormal Rotation Matrix
Properties of rotation matrix
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 28
Example 2.1
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 29
Example 2.1
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 30
Example 2.1
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 31
Three-Angle Representations
Euler’s rotation theorem states that any rotation can be represented by not more
than three rotations about coordinate axes.
This means that in general an arbitrary rotation between frames can be
decomposed into a sequence of three rotation angles and associated rotation axes.
Euler’s rotation theorem requires successive rotation about three axes such that
no two successive rotations are about the same axis.
There are two classes of rotation sequence: Eulerian and Cardanian, named after
Euler and Cardano respectively
Euler: XYX, XZX, YXY, YZY, ZXZ, or ZYZ
Cardanian: XYZ, XZY, YZX, YXZ, ZXY, or ZYX
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 32
Three-Angle Representations
Euler-Angles: Most common sequence: ZYZ
Cardanian Angles: roll-pitch-yaw sequence as ZYX or XYZ depending on of it is a
mobile robot or a robotic arm.
Convention for vehicles (ships, aircraft and cars): x-axis points in the forward
direction and z-axis points either up or down.
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 33
Three-Angle Representations
It is intuitive to apply the rotations in following sequence (ZYX angle sequence):
1. yaw (direction of travel)
2. pitch (elevation of the front with respect to horizontal) and
3. roll (rotation about the forward axis of the vehicle)
Convention for robot gripper: the z-axis points forward and the x-axis is either
up or down. This leads to the XYZ angle sequence
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 34
Pose in 3D
Similar to 2D case
Transformation of frame {B} wrt frame {A}
If points are represented by homogeneous coordinate vectors
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 35
Operators: Translation, Rotation and
Transformation
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 36
Operators: Translation, Rotation and
Transformation
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 37
Operators: Translation, Rotation and
Transformation
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 38
Operators: Translation, Rotation and
Transformation
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 39
Operators: Translation, Rotation and
Transformation
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 40
Example 2.2
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 41
Example 2.2
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 42
Example 2.3
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 43
Example 2.3
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 44
Example 2.3
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 45
Any Questions?
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 46
Self Study
Introduction to Robotics (3rd Edition)
By John J. Craig
Topics 2.1 to 2.5
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 47
Quiz 1:
Describe as many uses of robots as you can.
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 48
That’s it for today.
See you next week!
13-Oct-2021 ME-489: ROBOTICS AND AUTOMATION 49