Forward and Inverse Kinematics
Forward and Inverse Kinematics
Forward and Inverse Kinematics
Kinematics
Robótica A
Dr. Mauro Eduardo Maya Méndez
Introduction
• The problem of kinematics is to describe the motion of the manipulator
without consideration of the forces and torques causing the motion.
• The kinematic description is therefore a geometric one.
• The problem of forward kinematics, which is to determine the position
and orientation of the end-effector given the values for the joint variables
of the robot.
• The inverse kinematics problem is to determine the values of the joint
variables given the end-effector position and orientation.
Robótica A
Dr. Mauro Eduardo Maya Méndez
Kinematic chains
A robot manipulator is composed of a set of links connected together
by joints.
• A revolute joint is like a hinge and allows a relative rotation about a
single axis.
• A prismatic joint permits a linear motion along a single axis, namely an
extension or retraction.
From now on it is assumed throughout that all joints have only a single
degree-of-freedom
Robótica A
Dr. Mauro Eduardo Maya Méndez
Kinematic chains
• A robot manipulator with 𝑛 joints will have 𝑛 + 1 links, since each joint
connects two links.
• We number the joints from 1 to 𝑛, and we number the links from 0 to 𝑛,
starting from the base.
• By this convention, joint 𝑖 connects link 𝑖 − 1 to link 𝑖. Joint 𝑖 is fixed to
link 𝑖 − 1. When joint 𝑖 is actuated, link 𝑖 moves.
• With the 𝑖𝑡ℎ joint, we associate a joint variable, denoted by 𝑞𝑖 :
𝜃𝑖 𝑖𝑓 𝑗𝑜𝑖𝑛𝑡 𝑖 𝑖𝑠 𝑟𝑒𝑣𝑜𝑙𝑢𝑡𝑒
𝑞𝑖 = {
𝑑𝑖 𝑖𝑓 𝑗𝑜𝑖𝑛𝑡 𝑖 𝑖𝑠 𝑝𝑟𝑖𝑠𝑚𝑎𝑡𝑖𝑐
Robótica A
Dr. Mauro Eduardo Maya Méndez
Kinematic chains
Whatever motion the robot executes, the coordinates of each point on link
𝑖 are constant when expressed in the 𝑖 𝑡ℎ coordinate frame.
Robótica A
Dr. Mauro Eduardo Maya Méndez
Kinematic chains
the position and orientation of the end-effector in the inertial frame are
given by
Hence
Robótica A
Dr. Mauro Eduardo Maya Méndez
The Denavit-Hartenberg Convention
• 𝑎𝑖 = 𝑙𝑖𝑛𝑘 𝑙𝑒𝑛𝑔𝑡ℎ.
• 𝛼𝑖 = 𝑙𝑖𝑛𝑘 𝑡𝑤𝑖𝑠𝑡
• 𝑑𝑖 = 𝑙𝑖𝑛𝑘 𝑜𝑓𝑓𝑠𝑒𝑡
• 𝜃𝑖 = joint angle
Robótica A
Dr. Mauro Eduardo Maya Méndez
DH Coordinate Frame Assumptions
Robótica A
Dr. Mauro Eduardo Maya Méndez
Assigning the coordinate frames
In order to set up frame 𝑖 it is necessary to consider three cases:
• 𝒛𝒊−𝟏 and 𝒛𝒊 are not coplanar. There exists a unique line segment
perpendicular to both 𝑧𝑖−1 and 𝑧𝑖 such that defines 𝑥1 .
• 𝒛𝒊−𝟏 is parallel to 𝒛𝒊 . There are infinitely many common normals, we are
free to choose the origin 𝑜𝑖 anywhere along 𝑧𝑖 .
• 𝒛𝒊−𝟏 intersects 𝒛𝒊 . The 𝑥𝑖 − 𝑎𝑥𝑖𝑠 is chosen normal to the plane formed
by 𝑧𝑖 y 𝑧𝑖−1 .
Robótica A
Dr. Mauro Eduardo Maya Méndez
Planar Elbow Manipulator
Robótica A
Dr. Mauro Eduardo Maya Méndez
Planar Elbow Manipulator
Parameters DH
Robótica A
Dr. Mauro Eduardo Maya Méndez
Three-link Cylindrical Robot
Robótica A
Dr. Mauro Eduardo Maya Méndez
Three-link Cylindrical Robot
Parameters DH
Robótica A
Dr. Mauro Eduardo Maya Méndez
Spherical Wrist
Robótica A
Dr. Mauro Eduardo Maya Méndez
Cylindrical Manipulator with Spherical Wrist
Robótica A
Dr. Mauro Eduardo Maya Méndez
Stanford Manipulator
Robótica A
Dr. Mauro Eduardo Maya Méndez
Stanford Manipulator
Robótica A
Dr. Mauro Eduardo Maya Méndez
SCARA Manipulator
Robótica A
Dr. Mauro Eduardo Maya Méndez
SCARA Manipulator
Robótica A
Dr. Mauro Eduardo Maya Méndez
Inverse kinematics
where
Robótica A
Dr. Mauro Eduardo Maya Méndez
Inverse kinematics
Example
We must solve the following
Recall the Stanford manipulator. simultaneous set of nonlinear
Suppose that the desired position trigonometric equations:
and orientation of the final frame
are given by
Robótica A
Dr. Mauro Eduardo Maya Méndez
Kinematic Decoupling
The origin of the tool frame given It’s necessary and sufficient that the
by 𝑜) is simply obtained by a wrist center 𝑜𝑐 have coordinates
translation of distance 𝑑6 along 𝑧5
from 𝑜𝑐 . The axes 𝑧5 and 𝑧6 are
the same axis, and the third
column of 𝑅 expresses the and the orientation of the frame
direction of 𝑧6 . Therefore, we have 𝑜6 𝑥6 𝑦6 𝑧6 with respect to the base be
given by 𝑅. The components of the
end-effector position 𝑜 are 𝑜𝑥 , 𝑜𝑦 , 𝑜𝑧
and the components of the wrist
center 𝑜𝑐0 are 𝑥𝑐 , 𝑦𝑐 , 𝑧𝑐 , gives the
relationship
in order to have the end-effector of 𝑥𝑐 𝑜𝑥 − 𝑑6 𝑟13
the robot at the point with 𝑦𝑐 = 𝑜𝑦 − 𝑑6 𝑟23
coordinates given by o and with
𝑧𝑐 𝑜𝑧 − 𝑑6 𝑟33
the orientation of the end-effector
given by 𝑅 = 𝑟𝑖𝑗 . Now, we may find the values of the
first three joint variables.
Robótica A
Dr. Mauro Eduardo Maya Méndez
Kinematic Decoupling
We can now determine the
orientation of the end-effector The idea of kinematic decoupling is
relative to the frame 𝑜3 𝑥3 𝑦3 𝑧3 from
the expression
Robótica A
Dr. Mauro Eduardo Maya Méndez
Inverse Position: A Geometric Approch
Robótica A
Dr. Mauro Eduardo Maya Méndez
Articulated Configuration.
Consider the elbow manipulator Projection of the wrist center onto
shown next, with the components 𝑥0 − 𝑦0 plane
of 𝑜𝑐0 denoted by 𝑥𝑐 , 𝑦𝑐 , 𝑧𝑐 . We
project 𝑜𝑐 onto the 𝑥0 − 𝑦0 plane
Robótica A
Dr. Mauro Eduardo Maya Méndez
Articulated Configuration.
The solutions for 𝜃1 , are valid If there is 𝑑 ≠ 0 as shown next, then
unless 𝑥𝑐 = 𝑦𝑐 = 0. In this case is the wrist center cannot intersect 𝑧0 .
un undefined and the manipulator
is in a singular configuration,
shown
Robótica A
Dr. Mauro Eduardo Maya Méndez
Articulated Configuration.
Right arm configuration is shown The second solution, given by the
next right arm configuration is
Robótica A
Dr. Mauro Eduardo Maya Méndez
Articulated Configuration.
To find the angles 𝜃2 , 𝜃3 for the We can apply the law of cosines to
elbow manipulator, given 𝜃1 , we obtain:
consider the plane formed by the
second and third links as shown
next
Robótica A
Dr. Mauro Eduardo Maya Méndez
Articulated Configuration.
Similary 𝜃2 is given as
Robótica A
Dr. Mauro Eduardo Maya Méndez
Spherical Configuration.
We next solve the inverse position The first joint variable is the base
kinematics for a three degree of rotation and a solution is given as
freedom spherical manipulator
shown next
Provided 𝑥𝑐 and 𝑦𝑐 are not both zero.
A second solution for 𝜃1 is given by
Robótica A
Dr. Mauro Eduardo Maya Méndez
Spherical Configuration.
The linear distance 𝑑3 is found as
The negative square root solution for 𝑑3 is disregarded and thus in this
case we obtain two solutions to the inverse position kinematics as long as
the wrist center does not intersect 𝑧0 .
If there is an offset then there will be left and right arm configurations as in
the case of the elbow manipulator.
Robótica A
Dr. Mauro Eduardo Maya Méndez
Articulated Manipulator with Spherical Wrist
The DH parameters for the frame The matrix 𝑅63 = 𝐴4 𝐴5 𝐴6 is given as
assignment are shown in the next
figure
𝑅63
𝑐4 𝑐5 𝑐6 − 𝑠4 𝑠6 −𝑐4 𝑐5 𝑠6 − 𝑠4 𝑐6 𝑐4 𝑠5
= 𝑠4 𝑐5 𝑐6 + 𝑐4 𝑠6 −𝑠4 𝑐5 𝑠6 + 𝑐4 𝑐6 𝑠4 𝑠5
−𝑠5 𝑐6 𝑠5 𝑠6 𝑐5
Robótica A
Dr. Mauro Eduardo Maya Méndez
Articulated Manipulator with Spherical Wrist
The three equations given by the If the positive square root is chosen in
third column in the above matrix the previous expressions, then 𝜃4 and
equation are given 𝜃6 are given by the Euler equations
Hence, if not both of first and The other solutions are obtained
second expressions are zero, we analogously. If 𝑠5 = 0, then joint axes
obtain 𝜃5 from 𝑧3 and 𝑧5 are collinear. This is a
singular configuration and only the
sum 𝜃4 + 𝜃6 can be determined.
One solution is to choose 𝜃4 arbitrarily
and then determine 𝜃6 Euler
Equations.
Robótica A
Dr. Mauro Eduardo Maya Méndez
Example: Elbow manipulator
To summarize the geometric
approach for solving the inverse Given
kinematics equations, we write
give here one solution to the
inverse kinematics of the six
degree-of-freedom elbow
manipulator shown which has no
joint offsets and a spherical wrist.
Then with
𝑥𝑐 = 𝑜𝑥 − 𝑑6 𝑟13
𝑦𝑐 = 𝑜𝑦 − 𝑑6 𝑟23
𝑧𝑐 = 𝑜𝑧 − 𝑑6 𝑟33
Robótica A
Dr. Mauro Eduardo Maya Méndez
Example: Elbow manipulator
Robótica A
Dr. Mauro Eduardo Maya Méndez
Summary
Robótica A
Dr. Mauro Eduardo Maya Méndez
Summary
Robótica A
Dr. Mauro Eduardo Maya Méndez
Summary
7. Create a table of link parameters 𝑎𝑖 , 𝑑𝑖 , 𝛼𝑖 , 𝜃𝑖
𝑎𝑖 = distance along 𝑥𝑖 from 𝑜𝑖 to the intersection of the 𝑥𝑖 and
𝑧𝑖−1 axes.
𝑑𝑖 = distance along 𝑧𝑖−1 from 𝑜𝑖−1 to the intersection of the 𝑥𝑖
and 𝑧𝑖−1 axes. 𝑑𝑖 is variable if joint 𝑖 is prismatic.
𝛼𝑖 = the angle between 𝑧𝑖−1 and 𝑧𝑖 measured about 𝑥𝑖 .
𝜃𝑖 = the angle between 𝑥𝑖−1 and 𝑥𝑖 measured about 𝑧𝑖−1 . 𝜃𝑖 is
variable if joint 𝑖 is revolute.
8. Form the homogeneous transformation matrices Ai by substituting
the above parameters into (3.10).
9. Form 𝑇𝑛0 = 𝐴1 … 𝐴𝑛 . This then gives the position and orientation of
the tool frame expressed in base coordinates.
Robótica A
Dr. Mauro Eduardo Maya Méndez
Summary
To control a manipulator, it is necessary to solve the inverse problem, i.e., given
a position and orientation for the end effector, solve for the corresponding set of
joint variable. We have considered the special case of manipulators for which
kinematic decoupling can be used (e.g., a manipulator with spherical wrist). The
determination of the inverse kinematics can be summarized by the following
algorithm
1. Find 𝑞1 , 𝑞2 , 𝑞3 such that the wrist center 𝑜𝑐 has coordinates given by
Robótica A
Dr. Mauro Eduardo Maya Méndez