INDIAN INSTITUTE OF TECHNOLOGY ROORKEE
MIN-502: Robotics & Control
Prof. S. P. Harsha
spharsha@me.iitr.ac.in
9917489849 (M)
2
Modeling of Robots: Coordinates Frames
• The manipulator consists of several links and joints
– Coordinated motion with constraints
• “The modeling of robot comprises of establishing a special
relationship between the manipulator and the manipulated
object”
– Vector and matrix algebra used in this regards
• The motion of each link can be described with respect to a
reference coordinate frame and hence it is convenient to have
a coordinate frame attached to the body of each link
3
Modeling of Robots: Coordinates Frames
• Description of object in space
• Position
• Orientation
4
Modeling of Robots: Coordinates Frames
5
Positions, orientations and frames
• The position of a point p relative to a coordinate system A
(Ap):
px ZA
A
p
A
p = py
p YA
z XA
6
Positions, orientations and frames
• The orientation of a body is described by a coordinate
system B attached to the body, relative to A (a known
coordinate system).
ZA ZB
XB YA
XA YB
7
Positions, orientations and frames
• A frame is a set of 4 vectors giving the position and
orientation.
• Example: frame B
B = A
R ,A
PB Borg
ZBZB
AAP
ZA P Borg
Borg
XX
BB
YBYB
YA
XA orientation
position
8
Coordinates Frames: Conventional 3D coordinate frame:
Space frame notation:
1 represents frame-1
In vector-matrix notation:
Direction cosines:
9
Mapping
• “Mappings refer to changing the description of a point in
space from one frame to another frame”
• Three possibilities:
1. Second frame is rotated w. r. t. the first ---- orientation
2. Second frame is translated from the first --- position
3. Second frame is rotated as well as translated w. r. t. the
first (combined) ---- position & orientation
10
1. Mapping Between Rotated Frames
• Consider the two frames: Frame -1 (x, y, z) and
Frame – 2 (u, v, w)
1. Mapping Between Rotated Frames
• The problem may be posed as: “The description of point
P in frame-2 is known and its description in frame-1 is to
be found”
• We need to find the projections of 2P in frame-1
1. Mapping Between Rotated Frames
• The above relationship can be expressed in matrix form
as:
1. Mapping Between Rotated Frames
• R is known as the rotation matrix or rotational
transformation matrix
• We can extend the discussion to:
1. Mapping Between Rotated Frames
• Relationships:
2. Mapping Between Translated Frames
• Consider the two coordinate frames:
2. Mapping Between Translated Frames
• We can have:
• Also,
• Thus,
2. Mapping Between Translated Frames
• Rotation and Translation are different mathematically
as well as qualitatively
• Rotation matrix is a 3 x 3, whereas translation is
represented by 3 x 1 vector
• “A powerful representation of translation is in a 4D
space of homogeneous coordinates”
2. Mapping Between Translated Frames
• In homogeneous coordinates, a point P is space w.r.t.
frame-1 is denoted as:
• σ is a non-zero positive scale factor
2. Mapping Between Translated Frames
• In homogeneous coordinates, vector-matrix notation
for translation can be expressed as:
3. Mapping Between Rotated and Translated Frames
• Consider the following two coordinate frames:
Intermediate reference frame 1’
3. Mapping Between Rotated and Translated Frames
• Now:
• Thus:
• Finally:
3. Mapping Between Rotated and Translated Frames
• In homogeneous coordinates:
Fundamental Rotation Matrices
Principal Axes Rotation:
• “Successive rotations are performed about
the principal axes of the fixed frame”
Fundamental Rotation Matrices
Principal Axes Rotation:
• “Successive rotations are performed about
the principal axes of the fixed frame”
Fundamental Rotation Matrices
• Principal Axes Rotation: Consider the following
rotation:
Rotation matrix 1R2 is
denoted by Rz(θ) or
R(z, θ) or Rz,θ
Fundamental Rotation Matrices
• Principal Axes Rotation:
• In simplified form:
• Similarly:
• In homogeneous transforms:
Fundamental Rotation Matrices
• Principal Axes Rotation:
• Rotation matrices can be multiplied together to
get sequence of finite rotations:
The order is left to right
The order is apparently important
Fundamental Rotation Matrices
• Fixed Angle Representation:
• Fixed frame is {1} or {x y z}
• Moving frame is {2} or {u v w}
• Consider the following rotations of moving frame about
the three axes of fixed frame:
Fundamental Rotation Matrices
• Fixed Angle Representation:
• Such a convention is known as fixed angle representation.
• The described rotations are described as XYZ-fixed angle
rotations. The overall rotation matrix:
Fundamental Rotation Matrices
• Fixed Angle Representation:
• The three rotations about the three fixed principal axes in
fixed angle rotation produce the motions which are also
known as roll, pitch and yaw motions
• The XYZ-fixed angle transformation is equivalent to roll-pitch-
yaw (RPY) transformation
Fundamental Rotation Matrices
• Euler Angle Representation:
• The moving frame, instead of rotating about the principal axes
of the fixed frame, can rotate about its own principal axes.
• Consider the following rotations:
• This convention for specifying the orientation is called WVU-
Euler angle representation
Fundamental Rotation Matrices
• Euler Angle Representation:
• Equivalent rotation matrix is computed by post multiplication
of matrices of elementary rotations as follows:
Fundamental Rotation Matrices
• Euler Angle Representation:
• Equivalent rotation matrix is computed by post multiplication
of matrices of elementary rotations as follows:
Fundamental Rotation Matrices
• Euler Angle Representation:
• Results are same as that obtained for fixed angle
representation, but the rotations were performed in opposite
order.
• Thus,
• The above relationship is ambiguous. We modify it to the
following:
Fundamental Rotation Matrices
• Problem:
Fundamental Rotation Matrices
• Problem:
• In the previous problem 1T2 was obtained, which
describes the position and orientation of frame
{2} relative to frame {1}. Using this matrix,
determine the description of frame {1} relative to
frame {2}
Fundamental Rotation Matrices
• Solution:
Fundamental Rotation Matrices
• Problem:
Fundamental Rotation Matrices
• Solution:
Fundamental Rotation Matrices
Problem:
1. A vector v=3i+2j+7k is rotated by 60 about the z-axes
of the reference frame. It is then rotated by 30 about
the x-axes of the reference frame. Find the rotation
transformation.
2. A vector v=3i+2j+7k is rotated by 60 about the z-axes
of the reference frame. It is then rotated by 30 about
the x-axes of the rotated frame. Find the rotation
transformation.
3. A vector P=3i-2j+5k is first rotated by 90° about the x-
axis, then by 90° about z-axis. Finally it is translated by
-3i+2j-5k. Determine the new position of vector P.
Problem:
4. Find the new location of point G, initially at G=[ 3 0 -1
1]T, if
– It is rotated by 180° about z-axis and then translated by 3 units
along the y-axis
– It is first translated by 3 units along the y-axis and then rotated
by 180° about z-axis
• Are the two locations same? Why?
5. A moving frame is rotated about x-axis of the fixed
coordinate frame by 30°. The coordinates of a point Q in
fixed coordinate frame are given by Q=[ 2 0 3]T
• What will be the coordinates of a point Q with respect
to the moving frame?
Kinematics in Robotic Manipulator
• To do what a manipulator does, requires control of position of
each link and joint of the manipulator to control both the
position and orientation of the tool.
• To program the tool motion and joint-link motions, a
mathematical model of the manipulator is required to refer to all
geometrical and/or time-based properties of the motion.
• Kinematic model describes the spatial position of joints and links,
and position and orientation of the end-effector
• The derivatives of kinematics deal with the mechanics of motion
without considering the forces that cause it. (Differential
Kinematics)
• The relationships between the motions and the forces and/or
torques that cause them is the dynamics problem
Kinematics in Robotic Manipulator
• Completely familiar with the Robot Anatomy
– Links
– Joints (1-DOF)
• Joints with more than 1-DOF are less common.
– A Joint m–DOF can be modeled as m joints with 1-DOF
each connected with (m-1) links of zero length.
• Most manipulators have open serial kinematic chain
• All joints are motorized
Mechanical Structure and Notations
• Joints may be Revolute (R) or Prismatic (P)
• Each joint has a joint axis
• By convention, z-axis of the co-ordinate frame is aligned with
the joint axis
Mechanical Structure and Notations
• Consider the following convention for numbering links and
joints:
• Thus, an n-DOF manipulator arm consists of (n+1) links
connected by n joints
Rotation Matrices in 3D
cosθ − sinθ 0
Rotation around the Z-Axis
R z = sinθ cosθ 0
0 0 1
cosθ 0 sinθ
R y = 0 1 0 Rotation around the Y-Axis
− sinθ 0 cosθ
𝟏 𝟎 𝟎
𝐑𝑋 = 𝟎 𝐜𝐨𝐬𝛉 −𝐬𝐢𝐧𝛉 Rotation around the X-Axis
𝟎 𝐬𝐢𝐧𝛉 𝐜𝐨𝐬𝛉
47
Homogeneous Matrices (H) in 3D
H is a 4x4 matrix that can describe a translation, rotation, or both in one matrix
O
1 0 0 Px
Y
0 1 0 Py
N H=
P
0 0 1 Pz
X A
Translation without rotation 0 0 0 1
Z
Y
n x ox ax 0
n oy ay 0
H= y
O
N
n z oz az 0
X 0 0 0 1
Rotation part:
Z Rotation without translation Could be rotation around z-axis,
A x-axis, y-axis or a combination of
the three.
48
The Homogeneous Matrix is a concatenation of numerous
translations and rotations
W N
Y O
W
W A
T
P
X
Z
One more variation on finding H:
H = (Rotate so that the X-axis is aligned with T)
* ( Translate along the new t-axis by || T || (magnitude of T))
* ( Rotate so that the t-axis is aligned with P)
* ( Translate along the p-axis by || P || )
* ( Rotate so that the p-axis is aligned with the O-axis)
49
We are interested in two kinematics topics
Forward Kinematics (angles to position)
What you are given: The length of each link
The angle of each joint
What you can find: The position of any point
(i.e. it’s (x, y, z) coordinates
Inverse Kinematics (position to angles)
What you are given: The length of each link
The position of some point on the robot
What you can find: The angles of each joint needed to
obtain that position
50
TYPES OF JOINTS
Forward v/s Inverse
•Forward Kinematics
– Compute configuration (pose) given individual DOF
values
• Good for simulation
•Inverse Kinematics
– Compute individual DOF values that result in
specified end effector position
• Good for control
52
What is Inverse Kinematics?
• Forward Kinematics
End Effector
Base
What is Inverse Kinematics?
• Inverse Kinematics
End Effector
Base
Description of Links
• From a geometric viewpoint, the link defines the
relative position and orientation of joint axes at its
two ends
link length
Two parameters ai-1 and αi-1 are known
as link parameters and are constant for
link twist a given link
Link-connection description
Link & Joint
• Link and Joint Parameters
– Joint angle i: the angle of rotation from the Xi-1 axis to the
Xi axis about the Zi-1 axis. It is the joint variable if joint i is
rotary.
– Joint distance d i : the distance from the origin of the (i-1)
coordinate system to the intersection of the Zi-1 axis and the
Xi axis along the Zi-1 axis. It is the joint variable if joint i is
prismatic.
– Link length ai : the distance from the intersection of the Zi-1
axis and the Xi axis to the origin of the ith coordinate system
along the Xi axis.
– Link twist angle i: the angle of rotation from the Zi-1 axis to
the Zi axis about the Xi axis.
57
Link-connection description
variable variable
offset di angle θi
Kinematic Modeling of the manipulator
Denavit-Hartenberg (DH) Notation
• “The definition of a manipulator with four joint-link
parameters for each link and a systematic procedure
for assigning right-handed orthonormal coordinate
frames, one to each link in an open kinematic chain,
was proposed by Denavit and Hartenberg and is
known as the Denavit - Hartenberg notation or the
DH notation”
• Base frame or inertial reference frame is frame {0}
• Tool frame is frame {n}
• Frame {i} is rigidly attached to distal end of the link
{i}
• An n-DOF manipulator will have (n+1) frames
Denavit – Hartenberg (DH) Notation
Denavit-Hartenberg Notation
• Frame {i} is attached to link {i} using following
convention:
Denavit - Hartenberg Notation
• Labeling scheme
Denavit-Hartenberg Notation
Denavit-Hartenberg Notation
Denavit-Hartenberg Notation
Denavit-Hartenberg Notation
Denavit-Hartenberg Notation
Denavit-Hartenberg Notation
• Once the frames are assigned, the joint-link parameters are
easily identified.
• These parameters are used to develop the Direct Kinematic
Model.
• Whenever there is a choice in frame assignment, such an
assignment is used which results in as many zero
parameters as possible.
Kinematic Relationship between Adjacent
Links
• Consider the following links:
Kinematic Relationship between
Adjacent Links
• The transformation from frame {i} to frame {i-1}:
Kinematic Relationship between Adjacent
Links
• The transformation from frame {i} to frame {i-1}:
Manipulator Transformation Matrix
• Consider the following frames:
Manipulator Transformation
Matrix
• Manipulator Transformation matrix is given by:
Example-1: 2-DOF Planar Manipulator Arm
• Obtain the position and orientation of the tool point P with
respect to the base for the 2-DOF, RP manipulator as shown in
following figure:
Example-1
• Kinematic Model:
Kinematic Model:
For θ1 = 120° and d2 = 200 mm:
Example-2: Kinematic Model of a Cylindrical Arm
• Formulate the forward kinematic model of the 3 DOF (RPP)
manipulator arm as shown in figure:
Example-2
• Transformation Matrices:
Example-3: Articulated Arm Kinematic Model
• Formulate the forward kinematic model of the following manipulator:
Example-3
• Transformation Matrices:
Example-4: RPY wrist Kinematics
• For the following RPY wrist obtain the direct Kinematic model:
Example-4
• Transformation Matrices:
Example-5: Kinematics of a 3-DOF Polar Arm
• For the given 3-DOF Polar Arm, obtain the orientation and position
of Tool-Point P if the joint-link variable is q=[ 90° -45° 100 mm]T:
Example-5
• Transformation Matrices:
Example-6: SCARA Robot Kinematics
• For the following SCARA manipulator obtain the direct Kinematic model:
Example-6
• Transformation Matrices:
Example-6
• Kinematic Model:
•
Example-8: Stanford Robot Kinematics
For the following manipulator obtain the direct Kinematic model:
Example-8
• Joint-link Parameters:
Example-8
• Transformation Matrices:
Example-8
• Kinematic Model:
Example-8
• Kinematic Model:
❖ Sources:
❖ Internet sources
❖ Book - Robotics and control by Mittal and Nagrath
❖ Book – Mechatronics – W. Bolton
93