Unit - 2 - Robot Kinetics and Dynamics
Unit - 2 - Robot Kinetics and Dynamics
Unit - 2 - Robot Kinetics and Dynamics
Study Guide
School of Engineering
Compiled by: Dr. E.M. Migabo (PhD Computer Science & DEng Electrical Engineering)
March, 2023
Open Rubric
ELB1502
Study Guide
I. Learning objectives
The learning objectives for the Robot Kinematics and Dynamics study unit in "Introduction to
Robotics Mechanics and Control" by John Craig are:
a. To understand the concepts of robot motion, including position, velocity, and acceleration.
b. To understand the concept of homogeneous transformations and how they can be used to
describe the position and orientation of a robot in space.
c. To be able to derive the forward kinematics equations for a robot, which describe the
position and orientation of the end effector given the joint angles.
d. To be able to derive the inverse kinematics equations for a robot, which describe the joint
angles required to achieve a desired position and orientation of the end effector.
e. To be able to analyze the motion of a robot using the Jacobian matrix, which relates the
joint velocities to the end effector velocities.
f. To understand the concept of robot dynamics and how it can be used to describe the motion
of a robot in the presence of external forces and torques.
g. To be able to derive the equations of motion for a robot using Lagrange's equations, which
relate the forces and torques to the motion of the robot.
h. To understand the concept of robot control and how it can be used to achieve a desired
motion of the robot.
i. To be able to design feedback control systems for robots using techniques such as PID
control and adaptive control.
j. To be able to implement robot control algorithms using programming languages such as
MATLAB or Python.
More details about the study unit must be read through the provided slides as well as within
the prescribed textbook: "Introduction to Robotics Mechanics and Control" by John Craig
This long study unit covers the following content from chapters form the textbook:
However, the following is the summary of what to understand from this second study unit:
The chapter "Spatial Descriptions and Transformations" in the book "Introduction to Robotics
Mechanics and Control" by John Craig covers the basic concepts and mathematical tools required
for describing the position and orientation of a robot in space.
The chapter starts with an introduction to the Cartesian coordinate system, which is used to
represent the position of a point in three-dimensional space. The concepts of translation and
rotation are then introduced, which are used to describe the movement of a point from one location
to another.
Example: Consider a point P with coordinates (2, 3, 4) in a Cartesian coordinate system. The x-
axis is directed to the right, the y-axis is directed upward, and the z-axis is directed toward the
viewer. The position of the point P can be represented by the vector:
P = 2i + 3j + 4k
where i, j, and k are the unit vectors along the x, y, and z axes, respectively.
Exercise: Consider two points A and B with coordinates (3, 2, 5) and (-1, 4, 6), respectively, in a
Cartesian coordinate system. Determine the distance between the two points using the distance
formula:
where (𝑥1 , 𝑦1 , 𝑧1 ) and (𝑥2 , 𝑦2 , 𝑧2 ) are the coordinates of points A and B, respectively.
Problem: Consider a robot arm with three revolute joints, labelled J1, J2, and J3, arranged in a
serial chain configuration. The joint angles for the arm are given as θ1 = 30°, θ2 = 60°, and θ3 = -
45°. The arm has a length of 1 meter between each joint. Determine the position and orientation
of the end effector in Cartesian coordinates.
Solution: To determine the position and orientation of the end effector, we need to perform a series
of coordinate transformations. We start by defining the coordinate frames for each joint, with the
origin of each frame located at the joint axis and the z-axis directed along the joint axis.
For joint J1, the coordinate frame is located at the base of the robot arm and aligned with the world
frame. For joint J2, the coordinate frame is located at the end of the J1 link and rotated by an angle
of θ1 about the z-axis of the J1 frame. Similarly, for joint J3, the coordinate frame is located at the
end of the J2 link and rotated by an angle of θ2 about the z-axis of the J2 frame.
3
ELB1502
Study Guide
Using the Denavit-Hartenberg convention, we can define the transformation matrices for each
joint, which relate the coordinate frames of adjacent joints. The transformation matrix for joint J1
is given by:
cos(θ1 ) −sin(θ1 ) 0 0
𝑇01 = [sin(θ1 ) cos(θ1 ) 0 0]
0 0 1 0
0 0 0 1
where the first three columns of the matrix represent the rotation and translation of the J1 frame
with respect to the world frame.
cos(θ2 ) −sin(θ2 ) 0 1
𝑇12 = [sin(θ2 ) cos(θ2 ) 0 0]
0 0 1 0
0 0 0 1
where the first three columns of the matrix represent the rotation and translation of the J2 frame
with respect to the J1 frame.
cos(θ3 ) −sin(θ3 ) 0 1
𝑇23 = [sin(θ3 ) cos(θ3 ) 0 0]
0 0 1 0
0 0 0 1
where the first three columns of the matrix represent the rotation and translation of the J3 frame
with respect to the J2 frame.
To determine the position and orientation of the end effector in Cartesian coordinates, we need to
multiply the transformation matrices for each joint together, starting from the base frame:
The resulting matrix T03 represents the transformation from the J1 frame to the end effector frame.
We can then extract the position and orientation information from the matrix using the following
equations:
𝑡𝑥 𝑛𝑥 𝑜𝑥 𝑎𝑥
t 𝑛
𝑝 = [ y] 𝑅 = [ 𝑦 𝑜𝑦 𝑎y ]
𝑡𝑧 𝑛𝑧 𝑜𝑧 𝑎𝑧
where 𝑡𝑥 , 𝑡𝑦 , and 𝑡𝑍 are the elements of the last column of 𝑇03 , and 𝑛𝑥 , 𝑛𝑦 , 𝑛𝑧 , 𝑜𝑥 , 𝑜𝑦 , 𝑜𝑧 , 𝑎𝑥 , 𝑎y ,
and 𝑎𝑧 are the elements of the first three columns of 𝑇03 .
The position of the gripper is given by the last column of the matrix 𝑇03 , which is [0.408, 0.866,
1.732, 1]. Therefore, the position of the gripper in the Cartesian coordinate system is (0.408, 0.866,
1.732).
The chapter goes on to explain the concept of homogeneous transformations, which are used to
represent the transformation of one coordinate system to another. Homogeneous transformations
are represented by a 4x4 matrix, and they incorporate both translation and rotation in a single
transformation. The chapter provides examples of how homogeneous transformations can be used
to represent the position and orientation of a robot in space.
Example:
Consider a robot arm with three revolute joints, labelled J1, J2, and J3, and a gripper at the end.
The robot arm is located at the origin of a Cartesian coordinate system with x, y, and z axes. The
robot arm can move in the x and y directions, but it cannot move in the z direction. The position
of the robot arm is described by the angles of the three joints.
To compute the position of the gripper, we can use homogeneous transformations. Let T01, T12,
and T23 be the homogeneous transformations from the base frame to the first joint, from the first
joint to the second joint, and from the second joint to the gripper, respectively. Then the
homogeneous transformation from the base frame to the gripper is given by T03 = T01 * T12 *
T23, where * denotes matrix multiplication.
Suppose that the angles of the three joints are given by q1 = 30 degrees, q2 = 45 degrees, and q3
= 60 degrees. Then we can compute the homogeneous transformations as follows:
5
ELB1502
Study Guide
The position of the gripper is given by the last column of the matrix T03, which is [0.408, 0.866,
1.732, 1]. Therefore, the position of the gripper in the Cartesian coordinate system is (0.408, 0.866,
1.732).
Exercise:
Consider a robot arm with four revolute joints, labelled J1, J2, J3, and J4, and a gripper at the end.
The robot arm is located at the origin of a Cartesian coordinate system with x, y, and z axes. The
robot arm can move in the x, y, and z directions. The position and orientation of the robot arm are
described by the angles of the four joints and the orientation of the gripper.
Suppose that the angles of the four joints are given by q1 = 45 degrees, q2 = 30 degrees, q3 = 60
degrees, and q4 = 90 degrees. The orientation of the gripper is represented by a 3x3 rotation matrix
R, which rotates the gripper from the reference orientation to the current orientation.
Compute the homogeneous transformation from the base frame to the gripper, using homogeneous
transformations and the rotation matrix R.
Answer:
Let T01, T12, T23, and T34 be the homogeneous transformations from the base frame to the first
joint, from the first joint to the second joint, from the second joint to the third joint, and from the
third joint to the fourth joint, respectively. Then the homogeneous transformation from the base
coordinate system to the end effector coordinate system is given by:
Where T_base_tool is the homogeneous transformation from the base coordinate system to the
tool coordinate system, and T_tool_end is the homogeneous transformation from the tool
coordinate system to the end effector coordinate system. By multiplying these two matrices, we
obtain the homogeneous transformation from the base coordinate system to the end effector
coordinate system.
An exercise that illustrates the use of homogeneous transformations is to find the transformation
matrix that describes the position and orientation of a robot end effector in a given configuration.
Suppose that a robot has a base coordinate system located at point (1, 2, 3) and an end effector
coordinate system that is rotated 30 degrees about the y-axis and then translated 4 units in the x-
direction and 2 units in the z-direction relative to the base coordinate system.
To find the transformation matrix that describes the position and orientation of the end effector in
the base coordinate system, we can use the following steps:
1. Find the homogeneous transformation matrix that represents the translation from the base
coordinate system to the end effector coordinate system:
T_base_end_effector = [1 0 0 4; 0 1 0 0; 0 0 1 2; 0 0 0 1]
2. Find the homogeneous transformation matrix that represents the rotation of the end effector
coordinate system about the y-axis:
T_end_effector_rot = [cos(30) 0 sin(30) 0; 0 1 0 0; -sin(30) 0 cos(30) 0; 0 0 0 1]
6
ELB1502
Study Guide
3. Multiply the two homogeneous transformation matrices to obtain the transformation matrix
that describes the position and orientation of the end effector in the base coordinate system:
T_base_end_effector = T_base_end_effector * T_end_effector_rot
The resulting matrix T_base_end_effector represents the transformation from the end effector
coordinate system to the base coordinate system and can be used to determine the position and
orientation of the end effector relative to the base coordinate system.
Next, the chapter covers the different types of coordinate systems that are commonly used in
robotics, including cylindrical and spherical coordinate systems. The advantages and
disadvantages of each type of coordinate system are discussed, along with examples of how they
can be used in robotics applications.
The chapter also explains the concept of rigid body transformations, which are used to represent
the movement of a rigid body in space. Rigid body transformations are represented by a 4x4
homogeneous transformation matrix, and they incorporate both translation and rotation in a single
transformation. The chapter provides examples of how rigid body transformations can be used to
represent the movement of a robot.
Example:
Suppose a robot arm has an initial position of (x, y, z) = (3, 4, 5) and is rotated by 45 degrees
around the y-axis. Find the rigid body transformation matrix that represents this movement.
Solution:
R 𝑡
[ ]
0 1
where R represents the rotation matrix, t represents the translation vector, and the last row is [0 0
0 1].
The rotation matrix for rotation around the y-axis by 45 degrees can be represented as:
3
𝑡 = [4]
5
0.7071 0 0.7071 3
0 1 0 3
[ ]
−0.7071 0 0.7071 5
0 0 0 1
Exercise:
A robot arm is initially located at (x, y, z) = (2, 4, 1) and is rotated by 90 degrees around the z-
axis. Find the rigid body transformation matrix that represents this movement.
Problem:
A robot arm is initially located at (x, y, z) = (1, 2, 3) and is rotated by 60 degrees around the x-
axis, followed by a translation of (3, -1, 2) units along the y-axis. Find the rigid body
transformation matrix that represents this movement.
Finally, the chapter introduces the Denavit-Hartenberg (DH) parameterization method, which is
widely used for representing the kinematics of a robot. The DH parameterization method uses a
set of four parameters to represent the transformation between adjacent links in a robot
manipulator. The chapter provides a step-by-step guide for deriving the DH parameters for a
simple two-link robot manipulator.
Example: Consider a simple two-link robot manipulator as shown in the figure below. The robot
has two revolute joints, denoted by θ1 and θ2, and two links, denoted by d1 and d2. The origin of
the base frame is located at the intersection of joint axes, and the end-effector frame is located at
the tip of the second link.
To derive the DH parameters for this robot, we start by assigning coordinate frames to each joint
as follows:
• Frame {0} is located at the base of the robot and has its z-axis pointing upwards.
• Frame {1} is located at the intersection of joint 1 axes and has its x-axis pointing in the
direction of joint 2.
• Frame {2} is located at the tip of link 2 and has its x-axis pointing in the direction of the
end-effector.
Using these DH parameters, we can derive the homogeneous transformation matrix that relates the
end-effector frame to the base frame as follows:
8
ELB1502
Study Guide
where𝑅𝑧 (θ) and 𝑅𝑥 (α) are rotation matrices about the z-axis and x-axis, respectively, and T_z(d)
and T_x(a) are translation matrices along the z-axis and x-axis, respectively. Substituting the DH
parameters, we get:
cos(θ) −sin(θ) 0 0
(𝑇0 )2 = [ sin(θ) cos(θ) 0 0 ]
0 0 1 12
0 0 0 1
This is the homogeneous transformation matrix that relates the end-effector frame to the base
frame.
Exercise: Derive the DH parameters for a three-link robot manipulator with revolute joints and
determine the homogeneous transformation matrix that relates the end-effector frame to the base
frame.
Problem: Consider a four-link robot manipulator as shown in the figure below. The robot has four
revolute joints, denoted by θ1, θ2, θ3, and θ4, and four links, denoted by d1, d2, d3, and d4. The
origin of the base frame is located at the intersection of joint axes, and the end-effector frame is
located at the tip of the fourth link.
Derive the DH parameters for this robot and determine the homogeneous transformation matrix
that relates the end-effector frame to the base frame.
Overall, the chapter "Spatial Descriptions and Transformations" provides a solid foundation for
understanding the kinematics of robot systems. The chapter covers the basic concepts and
mathematical tools required for representing the position and orientation of a robot in space, and
it provides examples of how these tools can be used in robotics applications. The concepts and
methods covered in this chapter are essential for understanding the subsequent chapters in the
book, which cover topics such as forward kinematics, inverse kinematics, velocity kinematics, and
robot dynamics.
9
ELB1502
Study Guide
The "Robot Kinematics Course Trailer" is a short video lecture by Redwan Alqasemi, a professor
of Robotics. The video serves as a brief introduction and overview of his Robot Kinematics course.
Alqasemi explains that the course focuses on the mathematical modeling of robot manipulators,
with an emphasis on kinematics. The course covers topics such as forward and inverse kinematics,
Jacobian matrices, and trajectory planning.
Chapter 6 of "Introduction to Robotics Mechanics and Control" by John Craig covers manipulator
dynamics, which deals with the study of how forces and torques affect the motion of a robot
manipulator. This chapter provides an overview of the various topics covered in manipulator
dynamics, such as the equations of motion, the dynamics of rigid bodies, and the dynamics of
multi-link robots.
The chapter starts by introducing the concept of Newton-Euler equations of motion, which are
used to describe the dynamics of a robot manipulator. These equations relate the forces and torques
applied to the robot to its motion, and they provide a mathematical model of the robot's dynamics.
The chapter also covers Lagrange's equations, which are another method for deriving the equations
of motion of a robot manipulator.
The next section of the chapter focuses on the dynamics of rigid bodies, which is a fundamental
concept in manipulator dynamics. This section covers the concepts of mass, moment of inertia,
and angular momentum, which are used to describe the motion of a rigid body. The chapter also
explains the principle of conservation of angular momentum, which is used to derive the equations
of motion for a rigid body.
The third section of the chapter covers the dynamics of multi-link robots, which involves the
application of the Newton-Euler and Lagrange's equations of motion to multi-link robot
manipulators. This section covers the concepts of joint forces and torques, which are used to
describe the motion of a multi-link robot. The chapter also provides examples of how to apply the
equations of motion to calculate the motion of a robot manipulator.
The final section of the chapter covers the control of robot manipulators using feedback control
techniques. This section covers the concepts of proportional-derivative (PD) control, computed
torque control, and adaptive control, which are all used to control the motion of a robot
manipulator. The chapter also provides examples of how to apply these control techniques to
stabilize the motion of a robot manipulator.
10
ELB1502
Study Guide
dynamics of rigid bodies, the dynamics of multi-link robots, and the control of robot manipulators
using feedback control techniques.
V. Tutorials
Sure, here are some tutorial-style questions and answers based on Chapter 2,3,4 & 5 of
"Introduction to Robotics Mechanics and Control" by John Craig:
Chapter 2
Chapter 3, 4, 5 and 6
11
ELB1502
Study Guide
Answer: The Jacobian matrix relates the velocities of joint angles to the end effector
velocities. It is significant in robotics because it can be used to calculate the required joint
velocities to achieve a desired end effector velocity.
3. What is inverse kinematics?
Answer: Inverse kinematics is the process of determining the joint angles required to
achieve a desired end effector position and orientation.
4. What is the difference between forward kinematics and inverse kinematics?
Answer: Forward kinematics is the process of determining the position and orientation of
the end effector given the joint angles, while inverse kinematics is the process of
determining the joint angles required to achieve a desired end effector position and
orientation.
5. What is the Denavit-Hartenberg convention?
Answer: The Denavit-Hartenberg convention is a systematic method for assigning
coordinate frames to the links of a robot manipulator.
6. What is the difference between a rigid and a flexible robot?
Answer: A rigid robot has no flexible components, while a flexible robot has some degree
of flexibility or compliance.
7. What is a Lagrangian?
Answer: The Lagrangian is a function that describes the dynamics of a mechanical system
in terms of its kinetic and potential energy.
8. What is the principle of virtual work?
Answer: The principle of virtual work states that the virtual work done by external forces
on a system is equal to the virtual work done by internal forces.
9. What is the principle of least action?
Answer: The principle of least action states that the actual path taken by a mechanical
system between two points is the one that minimizes the action integral.
10. What is the Euler-Lagrange equation?
Answer: The Euler-Lagrange equation is a differential equation that describes the
dynamics of a mechanical system in terms of the Lagrangian.
11. What is the difference between a direct-drive and a geared robot joint?
Answer: A direct-drive joint is directly driven by a motor, while a geared joint uses gears
to reduce the speed of the motor and increase torque.
12. What is a dynamic model of a robot?
Answer: A dynamic model of a robot is a mathematical representation of the forces and
torques that act on the robot as it moves.
13. What is the difference between a rigid-body and a flexible-body dynamic model?
Answer: A rigid-body dynamic model assumes that the robot is perfectly rigid, while a
flexible-body dynamic model takes into account the flexibility and compliance of the
robot.
14. What is the difference between a forward-dynamics and an inverse-dynamics model?
Answer: A forward-dynamics model calculates the motion of the robot given the input
torques or forces, while an inverse-dynamics model calculates the required input torques
or forces given the desired motion.
15. What is the dynamic equation of motion for a robot?
Answer: The dynamic equation of motion for a robot relates the input torques or forces to
the robot's joint accelerations and velocities.
16. What is feedback control?
Answer: Feedback control is a control technique that uses sensors to measure the system's
performance and adjust the input to achieve a desired output.
17. What is proportional-derivative (PD) control?
12
ELB1502
Study Guide
Answer: Proportional-derivative (PD) control is a feedback control technique that uses the
error between the desired and actual state of the system, as well as the rate of change of
the error, to calculate the input to the system.
18. What is inverse dynamics control?
Answer: Inverse dynamics
More exercises and problems are found at the end of the chapters, and you are highly encouraged
to work through them.
VI. References
13