You are on page 1of 59

Mechatronic Mechanisms

Position Analysis of Serial Manipulators


Link parameters and link coordinate systems

ME4641 Robotics and Automation


ME4641 Robotics and Automation
Link parameters and link coordinate systems

ME4641 Robotics and Automation


Link parameters and link coordinate systems
Following the Denavit and Hartenberg’s convention (1955), a Cartesian
coordinate system is attached to each link of a manipulator.
• The zi-axis is aligned with the (i+1)th joint axis. Positive direction is
chosen arbitrarily.
• The xi-axis is defined along the common normal between the i th and
(i+1) th joint axes and points from the i th joint axis to (i+1) th joint
axis.
If the axes are parallel, the xi-axis can be chosen anywhere
perpendicular to the two joint axes.
If the axes are intersecting, the xi-axis can be defined either in the
direction of the vector cross product 𝑧𝑖−1 × 𝑧𝑖 or in the opposite
direction, and the origin is at the point of intersection.
• The yi-axis is determined by the right-hand rule.

ME4641 Robotics and Automation


Link parameters and link coordinate systems (cont.)
• The zeroth coordinate system is attached to the base at any
convenient location as long as the zo-axis is aligned with the first
joint axis.
• Attach a coordinate system to the end –effector link to describe the
location of the end-effector. It is called end-effector or hand
coordinate system.
• The hand coordinate system can be located anywhere in the end-
effector as long as the xn-axis is normal to the last joint axis .
• For convenience, the zn-axis is often defined along the direction of
approach of the gripper.

ME4641 Robotics and Automation


Link parameters and link coordinate systems (cont.)
𝑎𝑖 : offset distance between two adjacent axes, where 𝑎𝑖 = 𝐻𝑖−1 𝑂𝑖 .
𝑑𝑖 : translational distance between two incident normals of a joint
axis. 𝑑𝑖 = 𝑂𝑖−1 𝐻𝑖−1 is positive if the vector 𝑂𝑖−1 𝐻𝑖−1 points in the
positive 𝑧𝑖−1 direction; otherwise it is negative.
• 𝛼𝑖 : twist angle between two adjacent
joint axes. It the angle required to
rotate 𝑧𝑖−1 axis into alignment with
𝑧𝑖 about the positive 𝑥𝑖 -axis
according to the right-hand rule.
• 𝜃𝑖 : joint angle between two incident
normals of a joint axis. . It the angle
required to rotate 𝑥𝑖−1 axis into
alignment with 𝑥𝑖 about the positive
𝑧𝑖−1 -axis according to the right-hand
rule. ME4641 Robotics and Automation
General procedure for establishing D-H coordinate system
1. Starting from the base link, number the links and joints
sequentially. The base is numbered as link 0 and the last link is
the end effector. Except the base and the end effector, every link
contains two joints. Joint 𝑖 connects link 𝑖 to link 𝑖 − 1.
2. Draw the common normals between every two adjacent joint
axes. Except for the first and last joint axes, every joint axis 𝑖
should have two incident common normals, one with the 𝑖 − 1 th
and the other with the 𝑖 + 1 th joint axis.
3. Establish the base coordinate system such that the 𝑧𝑜 -axis is
aligned with the first joint axis. The 𝑥𝑜 -axis is perpendicular to
the 𝑧𝑜 -axis and the 𝑦𝑜 -axis is determined by the right-hand rule.
4. Establish the 𝑛 th hand coordinate system such that the 𝑥𝑛 -axis is
perpendicular to the last joint axis. The 𝑧𝑛 -axis is usually chosen
in the direction of approach of the end effector.
ME4641 Robotics and Automation
General procedure for establishing D-H coordinate system

• Attach a Cartesian coordinate system to the distal end of all other


links as follows:
The 𝑧𝑖 -axis is aligned with the 𝑖 + 1 th joint axis.
The 𝑥𝑖 -axis is defined along the common normal between the i th and
i+1 th joint axes, pointing from the i th to the i+1 joint axis.
If the axes are parallel, the xi-axis can be chosen anywhere
perpendicular to the two joint axes.
If the axes are intersecting, the xi-axis can be defined either in the
direction of the vector cross product 𝑧𝑖−1 × 𝑧𝑖 or in the opposite
direction, and the origin is at the point of intersection.
The yi-axis is determined by the right-hand rule.
Determine the link parameters and joint variables, 𝑎𝑖 , 𝑑𝑖 , 𝛼𝑖 , and 𝜃𝑖 .

ME4641 Robotics and Automation


Examples:

ME4641 Robotics and Automation


ME4641 Robotics and Automation
ME4641 Robotics and Automation
Denavit-Hartenberg Homogeneous Transformation Matrix
Having established a coordinate system to each link of a manipulator,
a 4 × 4 transformation matrix relating two successive coordinate
systems can be established.
The 𝑖 th coordinate system can be
thought as being displaced from (𝑖
− 1) th coordinate system by the
following successive rotations and
translations:
1. The (𝑖 − 1)th coordinate system is
translated along the 𝑧𝑖−1 -axis a
distance 𝑑𝑖 .
1 0 0 0
𝑇 𝑧, 𝑑𝑖 = 0 1 0 0
0 0 1 𝑑𝑖
0 0 ME4641
0 1Robotics and Automation
2. The displaced 𝑖 − 1 th coordinate system is rotated about the 𝑧𝑖−1 -
axis an angle 𝜃𝑖 , which brings the 𝑥𝑖−1 -axis into alignment with the
𝑐𝜃𝑖 −𝑠𝜃𝑖 0 0
𝑠𝜃𝑖 𝑐𝜃𝑖 0 0
𝑥𝑖 -axis. T 𝑧, 𝜃𝑖 =
0 0 1 0
0 0 0 1
3. The displaced 𝑖 − 1 th coordinate system is translated along the 𝑥𝑖 -
axis a distance 𝑎𝑖 this brings the origin 𝑂𝑖−1 into coincidence the 𝑂𝑖 .
1 0 0 𝑎𝑖
𝑇 𝑥, 𝑎𝑖 = 0 1 0 0
0 0 1 0
0 0 0 1
4. The displaced 𝑖 − 1 th coordinate system is rotated about the 𝑥𝑖 -axis
an angle 𝛼𝑖 , which brings the two coordinate systems into complete
1 0 0 0
0 𝑐𝛼𝑖 −𝑠𝛼𝑖 0
coincident. 𝑇(𝑥, 𝛼𝑖 ) =
0 𝑠𝛼𝑖 𝑐𝛼𝑖 0
ME4641 Robotics and Automation
0 0 0 1
We may think of the transformation above as four basic
transformation about the moving coordinate axes. Therefore, the
resulting transformation matrix, 𝑖−1𝐴𝑖 , is given by

𝑖−1
𝐴𝑖 = 𝑇 𝑧, 𝑑𝑖 𝑇 𝑧, 𝜃𝑖 𝑇 𝑥, 𝑎𝑖 𝑇 𝑥, 𝛼𝑖

𝑐𝜃𝑖 −𝑐𝛼𝑖 𝑠𝜃𝑖 𝑠𝛼𝑖 𝑠𝜃𝑖 𝑎𝑖 𝑐𝜃𝑖


𝑖−1 𝑠𝜃𝑖 𝑐𝛼𝑖 𝑐𝜃𝑖 −𝑠𝛼𝑖 𝑐𝜃𝑖 𝑎𝑖 𝑠𝜃𝑖
𝐴𝑖 =
0 𝑠𝛼𝑖 𝑐𝛼𝑖 𝑑𝑖
0 0 0 1
This equation is called Denavit-Hartenberg (D-H) transformation
matrix.
𝑖 𝑇
Let 𝑝 = 𝑝𝑥 , 𝑝𝑦 , 𝑝𝑧 , 1 , then
𝑖−1 𝑖−1 𝑖
𝑝= 𝐴𝑖 𝑝

ME4641 Robotics and Automation


𝑖 𝑇
Let 𝑝 = 𝑝𝑥 , 𝑝𝑦 , 𝑝𝑧 , 1 , then
𝑖−1 𝑖−1 𝑖
𝑝= 𝐴𝑖 𝑝
𝑖−2 𝑖−2
𝑝= 𝐴𝑖−1 𝑖−1𝑝
𝑖−2 𝑖−2
𝑝= 𝐴𝑖−1 𝑖−1𝐴𝑖 𝑖
𝑝
0
𝑝 = 0𝐴1 𝐴2 2𝐴3 … . 𝑛−1𝐴𝑛 𝑛𝑝
1

0
𝑝 = 0𝐴𝑛 𝑛𝑝
0
𝐴1 𝐴2 2𝐴3 … . 𝑛−1𝐴𝑛 = 0𝐴𝑛 Loop closure equation
1

Loop closure equation can be used to solve forward and inverse


kinematics problems.

17/11/2021 ME4641 Robotics and Automation


𝑖−1
The inverse of the transformation matrix, 𝐴𝑖 , exist
and is given by

𝑖 𝑖−1 −1
𝐴𝑖−1 = 𝐴𝑖

𝑐𝜃𝑖 𝑠𝜃𝑖 0 −𝑎𝑖


𝑖 −𝑐𝛼𝑖 𝑠𝜃𝑖 𝑐𝛼𝑖 𝑐𝜃𝑖 𝑠𝛼𝑖 −𝑑𝑖 𝑠𝛼𝑖
𝐴𝑖−1 =
𝑠𝛼𝑖 𝑠𝜃𝑖 −𝑠𝛼𝑖 𝑐𝜃𝑖 𝑐𝛼𝑖 −𝑑𝑖 𝑐𝛼𝑖
0 0 0 1

ME4641 Robotics and Automation


𝑐𝜃𝑖 −𝑐𝛼𝑖 𝑠𝜃𝑖 𝑠𝛼𝑖 𝑠𝜃𝑖 𝑎𝑖 𝑐𝜃𝑖
Examples: 𝑖−1 𝑠𝜃𝑖 𝑐𝛼𝑖 𝑐𝜃𝑖 −𝑠𝛼𝑖 𝑐𝜃𝑖 𝑎𝑖 𝑠𝜃𝑖
𝐴𝑖 =
0 𝑠𝛼𝑖 𝑐𝛼𝑖 𝑑𝑖
0 0 0 1

ME4641 Robotics and Automation


Rotation matrix
How to prove that a matrix R is a rotation matrix?
The rotation matrix is an orthonormal matrix; therefore, it should
have the following two properties:

𝑹−𝟏 = 𝑹𝑻
𝐝𝐞𝐭 𝑹 = −𝟏

ME4641 Robotics and Automation


𝑐𝜃𝑖 −𝑐𝛼𝑖 𝑠𝜃𝑖 𝑠𝛼𝑖 𝑠𝜃𝑖 𝑎𝑖 𝑐𝜃𝑖
𝑖−1 𝑠𝜃𝑖 𝑐𝛼𝑖 𝑐𝜃𝑖 −𝑠𝛼𝑖 𝑐𝜃𝑖 𝑎𝑖 𝑠𝜃𝑖
𝐴𝑖 =
0 𝑠𝛼𝑖 𝑐𝛼𝑖 𝑑𝑖
0 0 0 1

ME4641 Robotics and Automation


ME4641 Robotics and Automation
Example 2.4.1
Find the overall transformation
matrix for the robot.

ME4641 Robotics and Automation


𝑐𝜃𝑖 −𝑐𝛼𝑖 𝑠𝜃𝑖 𝑠𝛼𝑖 𝑠𝜃𝑖 𝑎𝑖 𝑐𝜃𝑖
𝑖−1 𝑠𝜃𝑖 𝑐𝛼𝑖 𝑐𝜃𝑖 −𝑠𝛼𝑖 𝑐𝜃𝑖 𝑎𝑖 𝑠𝜃𝑖
𝐴𝑖 =
0 𝑠𝛼𝑖 𝑐𝛼𝑖 𝑑𝑖
0 0 0 1

ME4641 Robotics and Automation


ME4641 Robotics and Automation
ME4641 Robotics and Automation
Denavit-Hartenberg method

Premultiply the loop-closure equation by the inverse of the matrix 𝑖−1𝐴𝑖


to obtain alternative forms of the loop-closure equation.
0 −1 0
𝐴1 𝐴𝑛 = 1𝐴2 2𝐴3 . . . 𝑛−1𝐴𝑛
−1 0 −1 0
1
𝐴2 𝐴1 𝐴𝑛 = 2𝐴3 3𝐴4 . . . 𝑛−1𝐴𝑛

−1 −1 −1 0
0
2
𝐴3 1
𝐴2 𝐴1 𝐴𝑛 = 3𝐴4 4𝐴5 . . . 𝑛−1𝐴𝑛
Reasons:
• Redistribute the unknown variables as even as possible.
• Take advantages of some special conditions such as three consecutive
intersecting joint axes or three consecutive parallel joint axes.
ME4641 Robotics and Automation
Position analysis of a planar 3-DOF Manipulator
0
𝐴3 = 0𝐴1 1
𝐴2 2𝐴3
𝑐𝜃123 −𝑠𝜃123 0 𝑎1 𝑐𝜃1 + 𝑎2 𝑐𝜃12 + 𝑎3 𝑐𝜃123
0 𝑠𝜃123 𝑐𝜃123 0 𝑎1 𝑠𝜃1 + 𝑎2 𝑠𝜃12 + 𝑎3 𝑠𝜃123
𝐴3 =
0 0 1 0
0 0 0 1
Direct Kinematics:
The position vector of the origin Q expressed in the end-effector
coordinate system is given by 3𝑞 = 0 0 0 1 𝑇 . Let the position vector of
0 𝑇
Q with respect to the base coordinate system be 𝑞 = 𝑞𝑥 𝑞𝑦 𝑞𝑧 1 .
Then,
𝑞𝑥 0 𝑎1 𝑐𝜃1 + 𝑎2 𝑐𝜃12 + 𝑎3 𝑐𝜃123
𝑞𝑦 𝑎 𝑠𝜃 + 𝑎2 𝑠𝜃12 + 𝑎3 𝑠𝜃123
= 0𝐴3 0 = 1 1
𝑞𝑧 0 0
1 1 1

ME4641 Robotics and Automation


𝑞𝑥 0 𝑎1 𝑐𝜃1 + 𝑎2 𝑐𝜃12 + 𝑎3 𝑐𝜃123
𝑞𝑦 0 = 𝑎1 𝑠𝜃1 + 𝑎2 𝑠𝜃12 + 𝑎3 𝑠𝜃123
= 0 𝐴3
𝑞𝑧 0 0
1 1 1

ME4641 Robotics and Automation


Similarly, the position vector of any vector
of any other point in the end-effector, is
given by 3𝑔 = 𝑔𝑢 𝑔𝑣 𝑔𝑤 1 𝑇

𝑔𝑥 𝑔𝑢
𝑔𝑦 0 𝑔𝑣
𝑔𝑧 = 𝐴3 𝑔𝑤
1 1

𝑔𝑢 𝑐𝜃123 − 𝑔𝑣 𝑠𝜃123 + 𝑎1 𝑐𝜃1 + 𝑎2 𝑐𝜃12 + 𝑎3 𝑐𝜃123


𝑔𝑢 𝑠𝜃123 − 𝑔𝑣 𝑐𝜃123 𝑎1 𝑠𝜃1 + 𝑎2 𝑠𝜃12 + 𝑎3 𝑠𝜃123
=
0
1

ME4641 Robotics and Automation


ME4641 Robotics and Automation
Inverse Kinematics
Given: the location of the end-effector.
Required: find the joint angles 𝜃𝑖 , 𝑖 = 1, 2, 3, necessary to bring the
end-effector to the desired location (the position of point
Q and the orientation angle 𝜙).
The overall transformation matrix:
𝑐𝜙 −𝑠𝜙 0 𝑞𝑥
0 𝑠𝜙 𝑐𝜙 0 𝑞𝑦
𝐴3 =
0 0 1 0
0 0 0 1
𝑐𝜃123 −𝑠𝜃123 0 𝑎1 𝑐𝜃1 + 𝑎2 𝑐𝜃12 + 𝑎3 𝑐𝜃123
𝑠𝜃123 𝑐𝜃123 0 𝑎1 𝑠𝜃1 + 𝑎2 𝑠𝜃12 + 𝑎3 𝑠𝜃123
=
0 0 1 0
0 0 0 1
24/11/2021
𝜙 = 𝑎𝑡𝑎𝑛2 𝑠𝜙, 𝑐𝜙 = 𝜃1 + 𝜃2 + 𝜃3
𝑝𝑥 = 𝑎1 𝑐𝜃1 + 𝑎2 𝑐𝜃12 = 𝑞𝑥 − 𝑎3 𝑐𝜙
𝑝𝑦 = 𝑎1 𝑠𝜃ME4641
1 + 𝑎2Robotics
𝑠𝜃12 and= Automation
𝑞𝑦 − 𝑎3 𝑠𝜙
Square the above two equations and sum:
𝑝𝑥2 + 𝑝𝑦2 = 𝑎12 + 𝑎22 + 2𝑎1 𝑎2 𝑐𝜃2
𝑝 2 + 𝑝2 − 𝑎2 − 𝑎2
−1 𝑥 𝑦 1 2
𝜃2 = 𝑐𝑜𝑠 = 𝑐𝑜𝑠 −1 𝑘
2𝑎1 𝑎2
𝑝𝑥2 + 𝑝𝑦2 − 𝑎12 − 𝑎22
𝑘=
2𝑎1 𝑎2
This equation yields:
• Two real solutions if 𝑘 < 1.
• One double root if 𝑘 = 1.
• If 𝑘 > 1, the position
is not reachable.

ME4641 Robotics and Automation


Corresponding to each 𝜃2 , we can solve for 𝜃1 as follows:
𝑎1 + 𝑎2 𝑐𝜃2 𝑐𝜃1 − 𝑎2 𝑠𝜃2 𝑠𝜃1 = 𝑝𝑥
𝑎2 𝑠𝜃2 𝑐𝜃1 + 𝑎1 + 𝑎2 𝑐𝜃2 𝑠𝜃1 = 𝑝𝑦

𝑎1 + 𝑎2 𝑐𝜃2 𝑝𝑥 + 𝑎2 𝑠𝜃2 𝑝𝑦
𝑐𝜃1 =

𝑎1 + 𝑎2 𝑐𝜃2 𝑝𝑦 − 𝑎2 𝑠𝜃2 𝑝𝑥
𝑠𝜃1 =

∆= 𝑎12 + 𝑎22 + 2𝑎1 𝑎2 𝑐𝜃2
𝜃1 = 𝑎𝑡𝑎𝑛2(𝑠𝜃1 , 𝑐𝜃1 )

ME4641 Robotics and Automation


Position Analysis of Scorbot Robot
Solve the inverse kinematics given 𝒒
and 𝒙5

ME4641 Robotics and Automation


Note that joint axes 𝑧1 , 𝑧2 , and 𝑧3 are parallel, so

ME4641 Robotics and Automation


ME4641 Robotics and Automation
ME4641 Robotics and Automation
ME4641 Robotics and Automation
This is a very important geometric substitution used often in solving
kinematics equations.
These substitutions convert transcendental equations into polynomial
equations in u.

ME4641 Robotics and Automation


EXAMPLE

ME4641 Robotics and Automation


EXAMPLE (cont.):

Should the solution for u be complex, there is no solution to the original


transcendental equation. Note that when the argument of
the arctangent becomes infinity and hence, .
ME4641 Robotics and Automation
ME4641 Robotics and Automation
ME4641 Robotics and Automation
ME4641 Robotics and Automation
ME4641 Robotics and Automation
ME4641 Robotics and Automation
ME4641 Robotics and Automation
ME4641 Robotics and Automation
ME4641 Robotics and Automation
ME4641 Robotics and Automation
ME4641 Robotics and Automation
ME4641 Robotics and Automation
Homework
Chapter 2
Problems #: 1, 2, 3, 4, 5, 7 .

ME4641 Robotics and Automation

You might also like