Mohammed Nour: Assoc. Prof. DR - Ing
Mohammed Nour: Assoc. Prof. DR - Ing
Mohammed Nour: Assoc. Prof. DR - Ing
CSE4316
Copyright ©2016 Dr.Ing. Mohammed Nour Abdelgwad Ahmed as part of the course
work and learning material. All Rights Reserved.
Where otherwise noted, this work is licensed under a Creative Commons
Attribution-NonCommercial-ShareAlike 4.0 International License.
Zagazig University | Faculty of Engineering | Computer and Systems Engineering Department | Zagazig, Egypt
Lecture: 8
Robot Inverse Kinematics (cont.)
Geometric Approach
Algebraic Approach
Algebraic Solution
Find the values of joint parameters that will put the tool frame at a desired position and orientation
(within the workspace)
( )
R3×3 T3×1
Given the transformation matrix: H = , R 2 SO(3)
0 1
Find all solutions to: Tn0 (q1 , · · · , qn ) = H
Noting that: Tn0 (q1 , · · · , qn ) = A1 (q1 ) · · · An (qn )
This gives 12 (nontrivial) equations with n unknowns
with end effector position at T3×1
and its orientation is obtained as:
" # " # " #
R21 R31 sin(ψ) R32
ψ = atan2 , θ = atan2 − , φ = atan2 .
R11 R21 R33
DH Parameters:
link ai αi di θi
1 0 -90 0 θ1
2 0 90 d2 θ2
3 0 0 d3 0
4 0 -90 0 θ4
5 0 90 0 θ5
6 0 0 d6 θ6
0 0 0 1 d2 = 0.154, d6 = 0.263
T
One solution: q = [π/2, π/2, 0.5, π/2, 0, π/2] .
next, we will see how to systematically find such solutions.
Mohammed Nour (Assoc. Prof. Dr.Ing.) Robotics 5 / 19
Robot Inverse Kinematics
previous examples show how difficult it would be to obtain a closed-form solution to the 12
equations, instead,
R60 (q0 , · · · , qn ) = R
O60 (q0 , · · · , qn ) = O
Use the position of the wrist center to determine the first three joint angles.
T
Rearranging: Oc0 = O − d6 R
0 0 1
Recalling:
T
O= Ox Oy Oz ,
T
Oc0 =
xc yc zc
Then:
xc Ox − d6 r13
yc = Oy − d6 r23 ⇒ θ1 , θ2 , θ3
zc Oz − d6 r33
T
Since xc yc zc are determined from the first three joint angles,
◮ our forward kinematics expression now allows to solve for the first 3 joint angles decoupled from the
final 3.
◮ Thus we now have R03
Note that: R = R30 R63
To solve for the final three joint angles:
Since the last three joints for a spherical wrist, we can use a set of Euler angles to solve for them
T
Now that we have xc yc zc we need to find θ1 , θ2 , θ3
Solve for θi by projecting onto the {xi−1 , yi−1 } plane, solve trig problem
Two examples:
◮ elbow (RRR) and
◮ spherical (RRP) manipulators
to solve for θ1 , project the arm onto the {x0 , y0 } plane: θ1 = atan2(yc , xc )
We can also have: θ1 = π + atan2(yc , xc )
This will of course change the solutions for θ2 and θ3
r 2 + s 2 − L22 − L23
cos θ3 =
2L2 L3 Z0
r 2 = xc2 + yc2 − d 2 x, y
r
s = zc − d1 θ3
2
xc2 + yc2 2
− d + (zc − d1 ) − L22 − L23
cos θ3 = s
2L2 L3 L3
L2
≡D
θ2
Therefore we
can √
find two solutions for θ3
θ3 = atan2 D, ± 1 − D 2
The two solutions for θ3 correspond to the elbow-down and elbow-up positions respectively
Now solve for θ2 :
link ai αi di θi
1 0 90 d1 θ1
2 L2 0 0 θ2
3 L3 0 0 θ3
4 0 -90 0 θ4
5 0 0 0 θ5
6 0 0 d6 θ6
c1 c23 −c1 s23 s1
R30 = s1 c23 −s1 s23 −c1
s23 c23 0
(c4 c5 c6 − s4 s6 ) (−c4 c5 s6 − s4 c6 ) c4 s5
R63 = (s4 c5 c6 + c4 s6 ) (−s4 c5 s6 + c4 c6 ) s4 s5
−s5 c6 s5 c 6 c5
θ4 = atan2 (c1 c23 r13 + s1 c23 r23 + s23 r33 , −c1 s23 r13 − s1 s23 r23 + c23 r33 )
θ6 = atan2 (−s1 r11 + c1 r21 , s1 r12 − c1 r22 )
For the singular configuration (θ5 = 0), we can only find θ4 + θ6 thus it is common to arbitrarily set
θ4 and solve for θ6
Mohammed Nour (Assoc. Prof. Dr.Ing.) Robotics 19 / 19
Thanks for your attention.
Questions?
Copyright ©2016 Dr.Ing. Mohammed Nour Abdelgwad Ahmed as part of the course work and learning material. All Rights Reserved.
Where otherwise noted, this work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.