Lecture 4
Lecture 4
Robotics I
Lecture 4
Inverse Kinematics
• In this chapter, we investigate the more difficult converse problem: Given the desired position and
orientation of the tool relative to the station, how do we compute the set of joint angles which will
achieve this desired result?
• Whereas Chapter 3 focused on the direct kinematics of manipulators, here the focus is the inverse
kinematics of manipulators.
• Solving the problem of finding the required joint angles to place the tool frame, {T}, relative to the
station frame, {S}, is split into two parts.
• First, frame transformations are performed to find the wrist frame, {W}, relative to the base frame,
{B}, and then the inverse kinematics are used to solve for the joint angles.
Spring 2024 DR AMIR HAMZA 2
Introduction
Forward Kinematics
Compute the position and orientation of the manipulator tip relative to its base as a function of joint
variables 𝑥 𝜃 1
𝑟= 𝑦 𝜃 = 𝜃2
𝒓 = 𝑓(𝜽) 𝜃 𝜃3
Inverse Kinematics
Given the desired position and orientation of the manipulator tip relative to its base, calculate the set
of joint angles which will achieve this configuration.
• In the case of the PUMA 560 manipulator, the precise statement of our current problem is as
follows:
Given 06𝑇 as sixteen numeric values (four of which are trivial), solve (3.14) for the six joint
angles θ1 through θ6
• For the case of an arm with six degrees of freedom we have 12 equations and six unknowns.
• However, among the 9 equations arising from the rotation-matrix portion of 06𝑇, only 3 are
independent. These, added to the 3 equations from the position-vector portion of 06𝑇, give 6
equations with six unknowns.
Spring 2024 DR AMIR HAMZA 4
Solvability
Challenges
• These equations are nonlinear, transcendental equations, which can be quite difficult to solve
• Existence of Solutions – target must belong to workspace
• Multiple Solutions – which solution to prefer
• Singularity Issues
• The equations of 3.14 (fwd kinematics of PUMA) are those of a robot that had very simple link
parameters—many of the αi were 0 or ±90 degrees. Many link offsets and lengths were zero.
• It is easy to imagine that, for the case of a general mechanism with six degrees of freedom (with all
link parameters nonzero) the kinematic equations would be much more complex than those of
(3.14).
• As with any nonlinear set of equations, we must concern ourselves with the existence of solutions,
with multiple solutions, and with the method of solution
• Workspace is that volume of space that the end-effector of the manipulator can reach. It
is of two types:
• Dexterous Workspace is that volume of space that the robot end-effector can reach with all
orientations.
• The Reachable Workspace is that volume of space that the robot can reach in at least one
orientation.
• DOFs: a manipulator has less than six DOFs cannot attain general goal positions and orientations
in 3D-space
(e.g. a planar manipulator cannot reach out of plane)
• If the desired position and orientation of the wrist frame is in the workspace, then at least one
solution exists
• For a given end-effector, a tool frame, {T}, is defined; given a goal frame, {G}, the corresponding
{W} frame is calculated, and then we ask: Does this desired position and orientation of {W} lie in
the workspace?
• In this way, the workspace that we must concern ourselves with (in a computational sense) is
different from the one imagined by the user, who is concerned with the workspace of the end-
effector (the {T} frame).
• The term solvable means if an algorithm can determine all the sets of joint variables associated
with a given position and orientation (i.e. to find all multiple solutions)
Broad Classifications
• Numerical solutions:
❖ No assurance to find multiple solutions
❖ Computationally expensive and hence slower in nature
❖ Not generally preferred
• Only in special cases can robots with six degrees of freedom be solved analytically.
• These robots for which an analytic (or closed-form) solution exists are characterized either by
having several intersecting joint axes or by having many αi equal to 0 or ±90 degrees.
• Virtually all industrial manipulators are designed sufficiently simply that a closed-form solution
can be developed.
• A sufficient condition that a manipulator with six revolute joints have a closed form solution is that
three neighboring joint axes intersect at a point.
• Almost every manipulator with six degrees of freedom built today has three axes intersecting. For
example, axes 4, 5, and 6 of the PUMA 560 intersect.
• For a manipulator with n degrees of freedom (where n < 6), this reachable workspace can be
thought of as a portion of an n-degree-of-freedom subspace.
• If we consider these n variables to be free, then, as they take on all possible values, the subspace is
generated
Example
𝐵𝑇 for the three-link
Give a description of the subspace of 𝑊
manipulator.
where x and y give the position of the wrist and φ describes the orientation of the terminal link.
Any wrist frame that does not have this structure lies outside the subspace (and therefore lies outside
the workspace) of this manipulator.
Link lengths and joint limits restrict the workspace of the manipulator to be a subset of this subspace.
• In the planar manipulator, specification of these goal points can be accomplished most easily by
specifying three numbers: x, y, and φ, where φ is the orientation of link 3 in the plane (relative to
the +𝑋 axis)
𝐵
• Instead of 𝑊 𝑇 , we will assume a transformation with the structure
• All attainable goals must lie in the subspace implied by the structure of equation above. By
equating both eqns, we arrive at a set of four nonlinear equations that must be solved for θ1, θ2, and
θ3 :
In order for a solution to exist, the right-hand side must have a value between −1 and 1. In the
solution algorithm, this constraint would be checked at this time to find out whether a solution exists.
Physically, if this constraint is not satisfied, then the goal point is too far away for the manipulator
The choice of signs in in eqn for s2 corresponds to the multiple solution in which we can choose the
‘‘elbow-up’’ or the ‘‘elbow-down’’ solution.
We determined both the sine and cosine of the desired joint angle and then apply the two-argument
arctangent.
This ensures that we have found all solutions and that the solved angle is in the proper quadrant.
Having found θ2, we can solve for θ1 from initial equations of x and y
𝜃3 can then be found out knowing that 𝜑 = 𝜃1 + 𝜃2 + 𝜃3 where values of cos 𝜑 and sin 𝜑 are known from
the transformation.
This is a very important geometric substitution used often in solving kinematic equations.
SCARA Robot
d3
d1 d5
𝑐1 −𝑠1 0 0 𝑐2 −𝑠2 0 𝑎1 1 0 0 𝑎2
0 𝑠1 𝑐1 0 0 1 −𝑠2 −𝑐2 0 0 2 0 1 0 0
1 𝑇 = 2 𝑇 = 3 𝑇 =
0 0 1 𝑑1 0 0 −1 0 0 0 1 𝑑3
0 0 0 1 0 0 0 1 0 0 0 1
𝑐4 −𝑠4 0 0 1 0 0 0
0
3
4 𝑇 =
𝑠4 𝑐4
0 0
0 0 4
5 𝑇 =
0
0
1
0
0 0
1 𝑑5 5𝑇 = 01𝑇 12𝑇 23𝑇 34𝑇 45𝑇
1 0
0 0 0 1 0 0 0 1
Where
𝑠1 = 𝑠𝑖𝑛𝜃1 𝑐1 = 𝑐𝑜𝑠𝜃1 𝑐1 − 2 = 𝑐𝑜𝑠 𝜃1 − 𝜃2 𝑠1 − 2 = 𝑠𝑖𝑛 𝜃1 − 𝜃2
𝑠1 − 2 − 4 = 𝑠𝑖𝑛 𝜃1 − 𝜃2 − 𝜃4 𝑐1 − 2 − 4 = 𝑐𝑜𝑠 𝜃1 − 𝜃2 − 𝜃4
𝑐1 − 2 − 4 𝑠1 − 2 − 4 0 𝑎1𝑐1 + 𝑎2𝑐1 2 𝑐𝜑 𝑠𝜑 0 𝑥
−
0 𝑠1 − 2 − 4 −𝑐1 − 2 − 4 0 𝑎1𝑠1 + 𝑎2𝑠1 2 𝑠𝜑 −𝑐𝜑 0 𝑦
5𝑇 = 0 0
− =
0 0 −1 𝑧
−1 𝑑1 − 𝑑3 − 𝑑5
0 0 0 1 0 0 0 1
𝑠𝜑 = 𝑠1 − 2 − 4 = 𝑠𝑖𝑛 𝜃1 − 𝜃2 − 𝜃4
𝑐𝜑 = 𝑐1 − 2 − 4 = 𝑐𝑜𝑠 𝜃1 − 𝜃2 − 𝜃4
𝑧 = 𝑑1 − 𝑑3 − 𝑑5
𝐴1 𝑋 + 𝐵1 𝑌 = 𝐶1
𝑎1 + 𝑎2𝑐2 𝑐1 + 𝑎2𝑠2 𝑠1 = 𝑥
𝐴2 𝑋 + 𝐵2 𝑌 = 𝐶2 −𝑎2𝑠2 𝑐1 + 𝑎1 + 𝑎2𝑐2 𝑠1 = 𝑦
𝐶1 𝐵1
𝐶 𝐵2 𝑎1 + 𝑎2𝑐2 𝑥 − 𝑎2𝑠2𝑦
𝑋= 2 𝑐1 =
𝐴1 𝐵1 𝑎2𝑠2 2 + 𝑎1 + 𝑎2𝑐2 2
𝐴2 𝐵2
𝐴1 𝐶1
𝐴 𝐶2 𝑎2𝑠2𝑥 + 𝑎1 + 𝑎2𝑐2 𝑦
𝑌= 2 𝑠1 =
𝐴1 𝐵1 𝑎2𝑠2 2 + 𝑎1 + 𝑎2𝑐2 2
𝐴2 𝐵2
𝑋 𝑐
𝐴1 𝐵1 𝑋 𝐶 = 1 = 𝐴−1 𝐵
= 1 𝑌 𝑠1
𝐴2 𝐵2 𝑌 𝐶2
1 𝑎1 + 𝑎2𝑐2 𝑥 − 𝑎2𝑠2𝑦
𝐵2 −𝐵1 𝑐1 =
𝐴−1 = 𝑎2𝑠2 2 + 𝑎1 + 𝑎2𝑐2 2
𝐴1 𝐵2 − 𝐵1 𝐴2 −𝐴2 𝐴1
𝑎2𝑠2𝑥 + 𝑎1 + 𝑎2𝑐2 𝑦
𝑠1 =
𝑎2𝑠2 2 + 𝑎1 + 𝑎2𝑐2 2
𝐴−1 . 𝐴. 𝑋 = 𝐴−1 . 𝐵
𝜽𝟒 = 𝜽𝟏 − 𝜽𝟐 − 𝜽𝟏−𝟐−𝟒
PROCEDURE:
𝑩 𝑻 = 𝟎 𝑻 × 𝟏 𝑻 × ⋯ × 𝒏−𝟏 𝑻
𝑾 𝟏 𝟐 𝒏
𝟎 −𝟏
Multiplying Both sides 𝟏
𝑻
with 𝟎 −𝟏
𝟎 𝑻
−𝟏 𝑩 𝑻 ×𝟎 𝑻 × 𝟏 𝑻 × ⋯ × 𝒏−𝟏 𝑻
𝟏 𝑾𝑻 = 𝟏 𝟏 𝟐 𝒏
−𝟏 𝑩
Set of 16
⟹ 𝟎 𝑻 = 𝟏𝟐 𝑻 × ⋯ × 𝒏−𝟏
𝟏 𝑾𝑻 𝒏 𝑻 Equations
Constants or Constants or
function of 𝒒𝟏 function of 𝒒𝟐 … 𝒒𝒏
Spring 2024 DR AMIR HAMZA 37
Inverse Manipulator Kinematics – Paul Method
𝟎 −𝟏 𝑩
𝑻 𝑻 = 𝟏 𝑻 × 𝟐 𝑻 × ⋯ × 𝒏−𝟏 𝑻 Gives 𝜽𝟏or 𝒅𝟏
𝟏 𝑾 𝟐 𝟑 𝒏
Using 𝜽𝟏or 𝒅𝟏
𝟎 −𝟏 𝑩
𝑻 𝑻 = 𝟐 𝑻 × 𝟑 𝑻 × ⋯ × 𝒏−𝟏 𝑻 Gives 𝜽𝟐or 𝒅𝟐
𝟐 𝑾 𝟑 𝟒 𝒏
𝟎 −𝟏 𝑩
𝑻 𝑻 = 𝒊 𝑻 × 𝒊+𝟏 𝑻 × ⋯ × 𝒏−𝟏 𝑻 Gives 𝜽𝒊 or 𝒅𝒊
𝒊 𝑾 𝒊+𝟏 𝒊+𝟐 𝒏
Puma 560
𝒊 𝜶𝒊−𝟏 𝒂𝒊−𝟏 𝒅𝒊 𝜽𝒊
1 0 0 0 𝜽𝟏
2 −90𝑜 0 0 𝜽𝟐
3 0 𝑎2 𝑑3 𝜽𝟑
4 −90𝑜 𝑎3 𝑑4 𝜽4
5 90𝑜 0 0 𝜽5
6 −90𝑜 0 0 𝜽6
DH – PARAMETERS – PUMA 560
FIND:
Joint Variables 𝜽𝟏
PROCEDURE:
𝑩 𝑻 = 𝟎 𝑻 ×𝟏 𝑻 × ⋯×𝟓 𝑻
𝑾 𝟏 𝟐 𝟔
𝟎 𝑻 −𝟏
Multiplying Both sides with 𝟏
𝟎 𝑻 −𝟏 𝑩 𝑻 = 𝟎 𝑻 −𝟏 ×𝟎 𝑻 × 𝟏 𝑻 × ⋯ × 𝟓 𝑻
𝟏 𝑾 𝟏 𝟏 𝟐 𝟔
𝟎 𝑻 −𝟏 𝑩 𝑻 Set of 16
⟹ =𝟏𝑻 ×⋯×𝟓𝑻 Equations
𝟏 𝑾 𝟐 𝟔
Constants or 𝟏
function of 𝜽𝟏 𝟔T
Spring 2024 DR AMIR HAMZA 44
Inverse Manipulator Kinematics – Paul Method
INVERSE OF TRANSFORMATION MATRICES
𝑹 𝑷 𝑹𝑻 −𝑹𝑻𝑷
𝑻= 𝑻−𝟏 =
𝟎 𝟎 𝟎 𝟏 𝟎 𝟎 𝟎 𝟏
c1 −s1 0 0 c1 s1 0 0
s c1 0 0 −s c1 0 0
1T =
0 1 0 −1
T = 1
0 0 1 0 1
0 0 1 0
0 0
0 1
0 0 0 1
𝟏
𝟔𝑻 =
Constants or Constants or
function of 𝜽𝟏 function of 𝜽𝟐 … 𝜽𝟔
Set of 16
Equations
=
𝑷 𝒙 𝒔 𝟏 − 𝑷 𝒚 𝒄 𝟏 = 𝒅𝟑
Which is a Type 2 :
𝑿 𝒔𝒊𝒏 𝜽𝒊 + 𝒀 𝒄𝒐𝒔 𝜽𝒊 = 𝒁
Where :
𝑿 = 𝑷𝒙 𝒀 = −𝑷𝒚 𝒁 = 𝒅𝟑
Solution :
𝑿𝒁 + 𝒀 𝑿𝟐 + 𝒀𝟐 − 𝒁𝟐
𝐬𝐢𝐧 𝜽𝒊 =
𝑿𝟐 + 𝒀𝟐
𝒀𝒁 − 𝑿 𝑿𝟐 + 𝒀𝟐 − 𝒁𝟐
𝐜𝐨𝐬 𝜽𝒊 =
𝑿𝟐 + 𝒀𝟐
Spring 2024
We haveDRtwo solution for 𝜽𝟏
AMIR HAMZA 48
Inverse Manipulator Kinematics – Paul Method
GIVEN:
1. All Link Transformations : .𝟏𝟎 𝐓, .𝟐𝟏 𝐓, … , .𝐧𝐧−𝟏 𝐓
2. Desired Tool Position & Orientation : 𝐖 𝐁 𝐓
3. Joint Variable 𝛉𝟏
FIND:
Joint Variables 𝛉𝟐
PROCEDURE:
𝐁𝐓 =𝟎 𝐓 ×𝟏𝐓 ×⋯×𝟓𝐓
𝐖 𝟏 𝟐 𝟔
𝟎 𝐓 −𝟏
Multiplying Both sides with 𝟐
𝟎 𝐓 −𝟏 𝐁 𝐓= 𝟎 𝐓 −𝟏 ×𝟎 𝐓 × 𝟏 𝐓 × ⋯ × 𝟓 𝐓
𝟐 𝐖 𝟐 𝟏 𝟐 𝟔
𝟎 𝐓 −𝟏 𝐁 𝐓 Set of 16
⟹ =𝟐𝐓 × ⋯×𝟓𝐓
𝟐 𝐖 𝟑 𝟔 Equations
Constants or 𝟐
function of 𝛉𝟐 𝟔T
Spring 2024 DR AMIR HAMZA 49
Inverse Manipulator Kinematics – Paul Method
INVERSE OF TRANSFORMATION MATRICES
𝑹 𝑷 𝑹𝑻 −𝑹𝑻𝑷
𝑻= 𝑻−𝟏 =
𝟎 𝟎 𝟎 𝟏 𝟎 𝟎 𝟎 𝟏
1 r11 1
r12 1
r13 1
r14
1 1 1 1
r22 r23
2
T = r21 r24
6
1 r31 1
r32 1
r33 1
r34
Where : 0 0 0 1
1
r11 = −c6 (s3 s5 − c3 c4 c5 ) − c3 s4 s6 1
r13 = −c5 s3 − c3 c4 s5
1
r21c6 (c3 s5 + c4 c5 s3 ) − s3 s4 s6 1
r23 = c3 c5 − c4 s3 s5
1
r31 − c4 s6 − c5 c6 s4 1
r33 = s4 s 5
1
r12 = s6 (s3 s5 − c3 c4 c5 ) − c3 c6 s4 1
r14 = a 2 + a 3 c3 − d 4 s3
1
r22 = −s6 (c3 s5 + c4 c5 s3 ) − c6 s3 s4
1
r =d c + a s
24 4 3 3 3
1
r c s s −c c 1
r34 =d 3
32 5 4 6 4 6
Spring 2024 DR AMIR HAMZA 51
Inverse Manipulator Kinematics – Paul Method
JOINT VARIABLE 𝜽𝟐
𝟎 𝑻 −𝟏 𝑩 𝑻 =𝟐𝑻×𝟑𝑻×𝟒𝑻×𝟓𝑻
𝟐 𝑾 𝟑 𝟒 𝟓 𝟔
Constants or Constants or
function of 𝜽𝟐 function of 𝜽𝟑 … 𝜽𝟔
1
r11 = −c6 (s3 s5 − c3 c4 c5 ) − c3 s 4 s 6 1
r13 = −c5 s3 − c3 c4 s5
1
r21c6 (c3 s5 + c4 c5 s3 ) − s3 s 4 s6 1
r23 = c3 c5 − c4 s3 s5
1
r31 − c4 s6 − c5 c6 s4 1
r33 = s4 s 5
1
r12 = s6 (s3 s5 − c3 c4 c5 ) − c3 c6 s 4 1
r14 = a 2 + a 3 c3 − d 4 s3
1
r22 = −s6 (c3 s 5 + c4 c5 s3 ) − c6 s 3 s 4
1
r =d c + a s
24 4 3 3 3
Spring 2024 1
r32 = c5 s4 s6 − c4 c6 DR AMIR HAMZA 1
r34 =d 3 52
Inverse Manipulator Kinematics – Paul Method
JOINT VARIABLE 𝜽𝟐
Equating both the (1,4) elements and (2,4) elements we get
c1 c2 p x + c2 s1 p y − s2 pz = a 2 + a 3 c3 − d 4 s3
−c1 s2 p x − s1 s2 p y − c2 pz =d 4 c3 + a 3 s3
Rearranging
d4 s3 − a 3 c3 = −(c1 px + s1 p y ) c2 + s2 pz + a 2
d 4 c3 + a 3 s3 = −(c1 p x + s1 p y )s2 − c2 pz
Which is a Type 7 :
𝑾𝟏 𝒔𝒊𝒏 𝜽𝒋 − 𝑾𝟐 𝐜𝐨𝐬 𝜽𝒋 = 𝑿 𝐬𝐢𝐧 𝜽𝒊 − 𝒀 𝐜𝐨𝐬 𝜽𝒊 + 𝒁𝟐
𝑾𝟏 𝐜𝐨𝐬 𝜽𝒋 + 𝑾𝟐 𝐬𝐢𝐧 𝜽𝒋 = 𝑿 𝐜𝐨𝐬 𝜽𝒊 + 𝒀 𝐬𝐢𝐧 𝜽𝒊 + 𝒁𝟏
Where :
𝑾 𝟏 = 𝒅𝟒 𝑾𝟐 = 𝒂𝟑 𝑿 = 𝑷𝒛 𝒀 = (𝒄𝟏𝒑𝒙 + 𝒔𝟏𝒑𝒚) 𝒁𝟐 = 𝒂𝟐
Spring 2024 DR AMIR HAMZA 53
Inverse Manipulator Kinematics – Paul Method
JOINT VARIABLE 𝜽𝟐
After Squaring and Adding gives an equation of form
𝑩𝟏 𝐬𝐢𝐧 𝜽𝟐 + 𝑩𝟐 𝐜𝐨𝐬 𝜽𝟐 = 𝑩𝟑
Where
𝑩𝟏 = 𝟐(𝒁𝟏𝒀 + 𝒁𝟐𝑿)
𝑩𝟐 = 𝟐 𝒁𝟏𝑿 + 𝒁𝟐𝒀
𝑩𝟑 = 𝑾𝟐 + 𝑾𝟐 − 𝑿𝟐 − 𝒀𝟐 − 𝒁𝟐 − 𝒁𝟐
𝟏 𝟐 𝟏 𝟐
and
𝑾 𝟏 = 𝒅𝟒 𝑾𝟐 = 𝒂𝟑 𝑿 = 𝑷𝒛 𝒀 = (𝒄𝟏𝒑𝒙 + 𝒔𝟏𝒑𝒚) 𝒁𝟐 = 𝒂𝟐
𝑋1 sin 𝜃𝑖 + 𝑌1 cos 𝜃𝑖 = 𝑍1
𝑋2 sin 𝜃𝑖 + 𝑌2 cos 𝜃𝑖 = 𝑍2
where
𝑋1 = 𝑑4 𝑌1 = −𝑎3 Z1 = −(c1 p x + s1 p y ) c2 + s2 pz + a 2
𝑋2 = 𝑎3 𝑌2 = 𝑑4 Z 2 = −(c1 p x + s1 p y )s2 − c2 pz
𝑌2𝑍1 − 𝑌1𝑍2
sin 𝜃3 =
𝑋1𝑌2 − 𝑋2𝑌1
𝑍2𝑋1 − 𝑍1𝑋2
cos 𝜃3 =
Spring 2024
𝑋 𝑌2 − 𝑋2𝑌1
DR AMIR1HAMZA 55
Inverse Manipulator Kinematics – Paul Method
GIVEN:
1. All Link Transformations : .𝟏𝟎 𝑻, .𝟐𝟏 𝑻, … , .𝒏𝒏−𝟏 𝑻
2. Desired Tool Position & Orientation : 𝑾 𝑩 𝑻
3. Joint Variable 𝜽𝟏 , 𝜽𝟐 , 𝜽𝟑
FIND:
Joint Variables 𝜽𝟒
PROCEDURE:
𝑩 𝑻 = 𝟎 𝑻 ×𝟏 𝑻 × ⋯×𝟓 𝑻
𝑾 𝟏 𝟐 𝟔
𝟎 𝑻 −𝟏
Multiplying Both sides with 𝟑
𝟎 𝑻 −𝟏 𝑩 𝑻 = 𝟎 𝑻 −𝟏 ×𝟎 𝑻 × 𝟏 𝑻 × ⋯ × 𝟓 𝑻
𝟑 𝑾 𝟑 𝟏 𝟐 𝟔
𝟎 𝑻 −𝟏 𝑩 𝑻 Set of 16
⟹ =𝟑𝑻 ×⋯×𝟓𝑻
𝟑 𝑾 𝟒 𝟔 Equations
Constants 𝟑T
𝟔
Spring 2024 DR AMIR HAMZA 56
Inverse Manipulator Kinematics – Paul Method
𝟎 𝑻 −𝟏
TRANSFORMATION MATRICES 𝟑
0
T =0 T 1 T 2 T = Constants
3 1 2 3
TRANSFORMATION MATRICES 𝟑𝑻
𝟔
𝟑
𝟔𝑻 = 𝟑𝟔 𝑻 × 𝟒𝟓 𝑻 × 𝟓𝟔 𝑻
c4 c5 c6 − s4 s6 −c6 s4 − c4 c5 s6 −c4 s5 a3
c6 s5 −s5 s 6 c5 d 4
3
T =
−c4 s6 − c5 c6 s4 c5 s4 s6 − c4 c6 0
6
s4 s5
Spring 2024
0 0
DR AMIR HAMZA 0 1 57
Inverse Manipulator Kinematics – Paul Method
EXAMPLE: PUMA 560
𝟎 𝑻 −𝟏 𝑩 𝑻 =𝟑𝑻×𝟒 𝑻×𝟓𝑻
𝟑 𝑾 𝟒 𝟓 𝟔
3. Joint Variable 𝜽𝟏 , 𝜽𝟐 , 𝜽𝟑
FIND:
Joint Variables 𝜽𝟓
PROCEDURE:
𝑩 𝑻 = 𝟎 𝑻 ×𝟏 𝑻 × ⋯×𝟓 𝑻
𝑾 𝟏 𝟐 𝟔
𝟎 𝑻 −𝟏
Multiplying Both sides with 𝟒
𝟎 𝑻 −𝟏 𝑩 𝑻 = 𝟎 𝑻 −𝟏 ×𝟎 𝑻 × 𝟏 𝑻 × ⋯ × 𝟓 𝑻
𝟒 𝑾 𝟒 𝟏 𝟐 𝟔
𝟎 𝑻 −𝟏 𝑩 𝑻 Set of 16
⟹ =𝟒𝑻 ×⋯×𝟓𝑻
𝟒 𝑾 𝟓 𝟔 Equations
Constants 𝟒
𝟔T
Spring 2024 DR AMIR HAMZA 59
Inverse Manipulator Kinematics – Paul Method
𝟎 𝑻 −𝟏
TRANSFORMATION MATRICES 𝟒
0
T = 0 T 1 T 2 T 3 T
4 1 2 3 4
𝟎 −𝟏
𝟒𝑻 =
s1 s4 +c1 c2 c3 c4 −c1 c4 s2 s3 c2 c3 c4 s1 −c1 s4 −c4 s1 s2 s3 −c2 c4 s3 −c3 c4 s2 d3 s4 −a3 c4 −a2 c3 c4
c s −c c c s +c s s s s s s s −c c s s −c c c s s +c s s d c +a s +a c s
4 1 1 2 3 4 1 2 3 4 1 2 3 4 2 3 1 4 1 4 2 3 4 3 2 4 3 4 3 4 2 3 4
TRANSFORMATION MATRICES 𝟒𝑻
𝟔
𝟒
𝟔𝑻 = 𝟒𝟓 𝑻 × 𝟓𝟔 𝑻
c5 c6 −c5 s6 −s5 0
s c 0 0
4
T = 6 6
6
c6 s5 −s5 s6 c5 0
0 1
Spring 2024 DR 0
AMIR 0
HAMZA 60
Inverse Manipulator Kinematics – Paul Method
EXAMPLE: PUMA 560
𝟎 𝑻 −𝟏 𝑩 𝑻 =𝟒𝑻×𝟓𝑻
𝟒 𝑾 𝟓 𝟔
Constants Constants or
function of 𝜽𝟓 , 𝜽𝟔
1 l11 1
l12 1
l13 1
l14 r11 r12 r13 px c5 c6 −c5 s6 −s5 0
1l 1 1 1 s c6 0 0
l22 l23 l24
21 r21 r22 r23 py
= 6
1 l31 1
l32 1
l33 1
l34 r31 r32 r33 pz c6 s5 −s5 s6 c5 0
1
0 0 0 1 0 0 0 1 0 0 0
1
l11 = s1 s4 + c1 c2 c3 c4 − c1 c4 s2 s3 1
l21 = c4 s1 − c1 c2 c3 s4 + c1 s2 s3 s4 1
l31 = −c1 c2 s3 − c1 c3 s2
1
l12 = c2 c3 c4 s1 − c1 s4 − c4 s1 s2 s3 1
l22 = s1 s2 s3 s4 − c2 c3 s1 s4 − c1 c4 1
l32 = −c2 s1 s3 − c3 s1 s2
1
l13 = −c2 c4 s3 − c3 c4 s2 1
l23 = c2 s3 s4 + c3 s2 s4 1
l33 = s2 s3 − c2 c3
1
l =d s − a c − a c c 1
l24 = d 3 c4 + a 3 s4 + a 2 c3 s4 1
l34 = a 2 s3 − d 4
14 3 4 3 4 2 3 4
Spring 2024 DR AMIR HAMZA 61
Inverse Manipulator Kinematics – Paul Method
JOINT VARIABLE 𝜽𝟓
Equating both the (1,3) elements and (3,3) elements we get
𝜽𝟓 = 𝐚𝐭𝐚𝐧𝟐(𝒔𝟓 , 𝒄𝟓 )
• 3. Joint Variable 𝜽𝟏 , 𝜽𝟐 , 𝜽𝟑 , 𝜽𝟒 , 𝜽𝟓
• Find:
Joint Variables 𝜽𝟔
𝑩 𝑻 = 𝟎 𝑻 ×𝟏 𝑻 × ⋯×𝟓 𝑻
PROCEDURE: 𝑾 𝟏 𝟐 𝟔
𝟎 𝑻 −𝟏
Multiplying Both sides with 𝟓
𝟎 𝑻 −𝟏 𝑩 𝑻 = 𝟎 𝑻 −𝟏 ×𝟎 𝑻 × 𝟏 𝑻 × ⋯ × 𝟓 𝑻
𝟓 𝑾 𝟓 𝟏 𝟐 𝟔
𝟎 𝑻 −𝟏 𝑩 𝑻 Set of 16
⟹ =𝟓𝑻
𝟓 𝑾 𝟔 Equations
Constants
Spring 2024 DR AMIR HAMZA 63
Inverse Manipulator Kinematics – Paul Method
TRANSFORMATION MATRICES 𝟓𝑻
𝟔
c6 −s6 0 0
0 0 1 0
6T =
5
− s6 −c6 0 0
0 0 1
0
JOINT VARIABLE 𝜽𝟔
Equating both the (3,1) elements and (1,3) elements we get
𝜽𝟔 = 𝐚𝐭𝐚𝐧𝟐(𝒔𝟔 , 𝒄𝟔 )
Position vector
comes from 4th
column fwd
kinematics
transform eq with
i=4
Using (3.6) for 23𝑇 in above eq yields the following expressions for f1:
where
We now write this equation, along with the Z-component equation from eq giving 0P4ORG as a system
of two equations in the form
where
• Now let us consider the solution of this eq for θ3 . We distinguish three cases:
1. If a1 = 0, then we have r = k3, where r is known. The right-hand side (k3) is a function of θ3 only.
𝜃
After the substitution (4.35), a quadratic equation in tan 3 may be solved for θ3
2
2. If sα1 = 0, then we have z = k4, where z is known. Again, after substituting via (4.35), a quadratic
equation arises that can be solved for θ3
3. Otherwise, eliminate s2 and c2 from (4.50) to obtain
This equation, after the (4.35) substitution for θ3, results in an equation of degree 4, which can be
solved for θ3
Having solved for θ3, we can solve (4.50) for θ2 and (4.46) for θ1
• Having obtained θ1, θ2, and θ3, we can compute 04𝑅 |θ4=0, by which notation we mean the
orientation of link frame {4} relative to the base frame when θ4 = 0. The desired orientation of {6}
differs from this orientation only by the action of the last three joints. Because the problem was
specified as given 06𝑅, we can compute
• For many manipulators, these last three angles can be solved for by using exactly the Z–Y–Z Euler
angle solution given in Chapter 2, applied to 04𝑅 |θ4=0