Inverse Kinematics
This addresses the obvious question: what joint
angles will place my end effector in a desired
pose?
Inverse kinematics
Closed form (analytical) solution: a sequence or set of equations that can be
solved for the desired joint angles
• Potentially faster than an iterative solution
• A unique solution to all manipulator positions can be determined a priori.
• Can guarantee “safe” joint configurations where the manipulator does
not collide with the body.
Iterative (numerical) solution: numerical iteration toward a desired goal
position (variation on Newton’s method)
• Easier to think about
• Better suited to incremental displacements and control.
Inverse kinematics
There is no general analytical inverse kinematics solution
• All analytical inverse kinematics solutions are specific to a robot or class
of robots.
• based on geometric intuition about the robot
• I’ll give one example – there are many variations.
Inverse kinematics
q3
q4
q5
q6
q2
Spherical wrist: the axes of the last three joints
q1 intersect in a point.
Consider this 6-joint robot:
• this example is out of the book…
Inverse kinematics q3
q4
q5
Problem:
q6
Reff d eff q2
• Given: desired transform, Teff
0 1
• Find: q q1 q2 q3 q4 q n q1
Note:
• The desired transform (pose) encodes six degrees of freedom (this info can
be represented by six numbers)
• Since we only have six joints at our disposal, there is no manifold of
redundant solutions.
• For this manipulator, the problem can be decomposed into a position
component (the first three joints) and an orientation component (the last
three joints)
• The first three joints tell you what the position of the spherical wrist
Example: Inverse kinematics q
3
q4
q5
Solution: q6
q2
• First, back out the position of the spherical
wrist:
q1
Since it’s a spherical wrist, the last three joints can be thought of as rotating
about a point.
• A constant transform exists that goes from the last wrist joint out to the end
effector (sometimes this is called the “tool” transform): sw
Teff
• Back out the position of the wrist: 1
Tsw bTeff swTeff
b
Example: Inverse kinematics q
3
q4
q5
• Next, solve for the first three joints q6
q2
q1
First, solve for q.1 (look down from Goal position in horizontal plane
above)
q1 a tan 2 x g , y g
or
q1 a tan 2 x g , y g
q1
Example: Inverse kinematics
q3
q4
q5
q6
Next, solve for q.3 (look at the q2
manipulator orthogonal to the
plane of the first two links)
q1
c 2 a 2 b 2 2ab cos( c )
rg z g h l1 l2
2 2 2 2
cos c D
2l1l2 q3
2 2 2
l2
where rg x g y g l1 c
and his the height of the first link
q2
1 D2
tan q3
D
Example: Inverse kinematics q
3
q4
q5
Next, solve for q.2 (continue to
look at the manipulator q6
q2
orthogonal to the plane of the
first two links)
q1
zg h
tan
2 2
xg y g
l2 s3
tan
l1 l2 c3 q3
l2
l1
q2
q2
Example: Inverse kinematics
Finally, the last three joints completely specify the
q3
orientation of the end effector. q4
q5
• Note that the last three joints look just like ZYZ
Euler angles q6
q2
• Determination of the joint angles is easy –
just calculate the ZYZ Euler angles
corresponding to the desired orientation. q1
Remember: ZYZ Euler Angles
cos sin 0 cos 0 sin cos sin 0
Rzyz , , sin cos 0 0 1 0 sin cos 0
0 0 1 sin 0 cos 0 0 1
c c c s s c c s s c c s
Rzyz , , s c c c s s c s c c s s
s c s s c
a tan 2 1 r33 , r33
2
a tan 2 r23 , r13 k
a tan 2 r32 , r31
Inverse kinematics for a humanoid arm
You can do similar types of things for a humanoid
(7-DOF) arm.
• Since this is a redundant arm, there are a
manifold of solutions…
Spherical Spherical
wrist shoulder
elbow
General strategy:
1. Solve for elbow angle
2. Solve for a set of shoulder angles that places the wrist in the right position
(note that you have to choose an elbow orbit angle)
3. Solve for the wrist angles