CS W4733 NOTES  Inverse Kinematics
1 Inverse Kinematics
1.Forward Kinematics is a mapping fromjoint space Qto Cartesian space W:
F(Q) = W
This mapping is one to one  there is a unique Cartesian conﬁguration for the robot for a given
set of joint variables.Inverse Kinematics is a method to ﬁnd the inverse mapping fromW to Q:
Q = F
1
(W)
2.The inverse kinematics problem has a wide range of applications in robotics.Most of our high
level problemsolving about the physical world is posed in Cartesian space.While we can reason
about the physical world in Cartesian terms,the robot is actuated in joint space  that is what we
ultimately can control.Once we solve a problemfor its Cartesian space constraints,we need to
map these constraints into the robot’s joint space using inverse kinematics.For example,if we
specify a straight line trajectory for a robot arm,we need to break that trajectory into a set of
joint space values over time to get the robot to followthe line.
3.The inverse kinematics mapping is typically one to many.There are usually multiple sets of
joint variables that will yield a particular Cartesian conﬁguration.When solving the inverse
problem,we often have to choose one solution froma number of valid solutions.There are also
degenerate cases with an inﬁnite number of solutions (called singularities).
4.Some solutions of the inverse mapping may not be physically realizable.This is due to ma
nipulators having physical joint limits that prevent the mechanism from achieving certain joint
conﬁgurations that may be solutions to the inverse kinematics problem(e.g.a joint may not have
a full 360 degree motion).
5.There may not be a closed form solution to the inverse problem at all for some manipulators.
However,most manipulators use a 3 DOF wrist that has intersecting axes.This allows us to
separate the inverse problem into a 3 DOF problem for ﬁnding the endpoint of the wrist and a
3 DOF problem for ﬁnding the orientation of the wrist.This does in fact have a closed form
solution.
6.Numerical methods can be used to ﬁnd a solution to the inverse problemif a closed formsolution
does not exist.
7.Aredundant robot is one that has extra DOF’s (more than the space the robot works in requires).
For example,a 7DOF robot has an extra DOF if it is used in our normal 6DOF Cartesian space.
This can be useful for reaching around obstacles,and avoiding collisions with other objects in
the workspace.
1
8.To solve inverse kinematics,we use a variety of methods:geometric,trigonometric and alge
braic.There are certain forms that you can recognize and then use the appropriate method to
solve for a joint variable.
9.Once you solve for a joint variable,you can think of the manipulator as a reduced DOF mech
anism  with one less joint.Now solve this manipulator’s inverse problem and keep doing this
until all joints are solved for.
2 Cylindrical and Spherical Robot Inverse Kinematics
Figure 1:Top:3DOF Spherical Robot.This robot’s ﬁnal transform is found by
Rot(Z;) Rot(Y;) Trans(x;r) (note:these are not DH transforms).Bottom:3DOF Cylindri
cal Robot.This robot’s ﬁnal transform is found by Rot(Z;) Trans(Z;d) Trans(x;r) (note:these
are not DH transforms)
2
1.CYLINDRICAL:Given the ﬁnal T matrix of the cylindrical robot with P = (P
x
;P
y
;P
z
),ﬁnd
,d,r for the cylindrical robot.
T
0
3
=
2
6
6
6
4
Cos Sin 0 rCos
Sin Cos 0 rSin
0 0 1 d
0 0 0 1
3
7
7
7
5
2.First,we look for positions in the T matrix that have a single variable isolated.P
z
in the matrix
T
0
3
(last column,third row) is only dependent on the variable d,so we can directly solve for d:
d = P
z
.
3.We notice that P
2
x
+ P
2
y
= r
2
.So r =
q
P
2
x
+ P
2
y
.
4.To solve for ,we can take the ratio of P
y
and P
x
:
P
y
P
x
=
rSin
rCos
= Tan; = atan2(P
y
;P
x
)
5.Note there are two solutions for r and values to reach this position in space.If we take
the postiive value of r,then = atan2(P
y
;P
x
),and if we take the negative value of r then
= atan2(P
y
;P
x
)
The two solutions are equivalent to (r;) and (r; + 180)).However,the negative value of
r may not be physically realizable in an actual robot  the armmay only extend radially forward.
Also,consider P = (0;0;K)  can we solve for inverse kinematics in this robot conﬁguration?
SPHERICAL robot has 3 variables:Radius r,Longitude angle and latitude angle .For the
Spherical robot the ﬁnal matrix is:
T
0
3
=
2
6
6
6
4
CosCos Sin CosSin rCosCos
SinCos Cos SinSin rCosSin
Sin 0 Cos rSin
0 0 0 1
3
7
7
7
5
1.r is the length of the the spherical armradius and is equal to:
r =
q
P
2
X
+ P
2
y
+ P
2
z
2.To solve for ,P
z
= rSin,and = Sin
1
(P
z
= r).Note r has 2 values fromabove.
3.As in the cylindrical robot,the ratio of P
x
and P
y
yields a solution for :
P
y
P
x
=
rCosSin
rCosCos
= Tan; = atan2(P
y
;P
x
) or = atan2(P
y
;P
x
)
4.As in cylindrical robot,there are multiple solutions.To get the second solution,ﬁnd the point on
the sphere directly opposite where the manipulator is (if at P
x
;P
y
;P
z
choose P
x
;P
y
;P
z
).
The second solution is the latituide and longitude of the newpoint with r’s value negated.It also
may not be physically realizable with the manipulator.Note singularity P = (0;0;K).
3
0320
3 Adept Robot Inverse Kinematics
Figure 2:Adept 1 Scara Robot arm.This armis in a RRPR conﬁguration.
1
;
2
;
4
are the revolute
joint angle variables and q
3
is the prismatic joint variable.The robot is pictured in the Home position
in the frame diagramusing the values of the joint variables listed in the table below.
1.Given the ﬁnal position of the robot P=(P
x
;P
y
;P
z
).Find
1
,
2
,q
3
,and
4
for the scara robot.
The ﬁnal T matrix is given below:
T
0
4
=
2
6
6
6
4
C
124
S
124
0 a
1
C
1
+a
2
C
12
S
124
C
124
0 a
1
S
1
+a
2
S
12
0 0 1 d
1
q
3
d
4
0 0 0 1
3
7
7
7
5
2.To ﬁnd
2
:if we square and sumP
x
and P
y
,we can get an expression in
2
:
P
2
x
+P
2
y
= (a
1
C
1
+a
2
C
12
)
2
+(a
1
S
1
+a
2
S
12
)
2
P
2
x
+P
2
y
= a
2
1
+a
2
2
+2a
1
a
2
C
1
(C
1
C
2
+S
1
S
2
) +2a
1
a
2
S
1
(S
1
C
2
S
2
C
1
)
P
2
x
+P
2
y
= a
2
1
+a
2
2
+2a
1
a
2
C
2
1
C
2
+2a
1
a
2
S
2
1
C
2
4
1
2
2
(P
x
,P ,P )
y z
y
x
0
0
P
y
P
x
P
P + P
2
x y
2
a
a
1
180
2
Figure 3:Solution to
2
of Adept,as seen fromabove (along Z axis)
P
2
x
+P
2
y
= a
2
1
+a
2
2
+2a
1
a
2
C
2
C
2
=
P
2
x
+P
2
y
a
2
1
a
2
2
2a
1
a
2
;S
2
=
q
1 C
2
2
2
= Cos
1
P
2
x
+P
2
y
a
2
1
a
2
2
2a
1
a
2
!
3.This is really just the derivation of the Law of Cosines which we can also use to ﬁnd
2
(see
ﬁgure above):
a
2
1
+a
2
2
2a
1
a
2
Cos(180
2
) = P
2
x
+P
2
y
(Law of Cosines)
Cos(180
2
) =
P
2
x
+P
2
y
a
2
1
a
2
2
2a
1
a
2
Cos(
2
) =
P
2
x
+P
2
y
a
2
1
a
2
2
2a
1
a
2
Cos(
2
) =
P
2
x
+P
2
y
a
2
1
a
2
2
2a
1
a
2
5
4.To solve for
1
,we solve for the following:
a
1
C
1
+a
2
C
12
= P
x
Two equations in two
a
1
S
1
+a
2
S
12
= P
y
unknowns (C
1
;S
1
)
(
2
known fromabove)
a
1
C
1
+a
2
C
1
C
2
+a
2
S
1
S
2
= P
x
;a
1
S
1
+a
2
S
1
C
2
a
2
S
2
C
1
= P
y
(a
1
+a
2
C
2
)C
1
+(a
2
S
2
)S
1
= P
x
;(a
2
S
2
)C
1
+(a
1
+a
2
C
2
)S
1
= P
y
S
1
=
a
2
S
2
P
x
+(a
1
+a
2
C
2
)P
y
(a
2
S
2
)
2
+(a
1
+a
2
C
2
)
2
C
1
=
(a
1
+a
2
C
2
)P
x
a
2
S
2
P
y
(a
2
S
2
)
2
+(a
1
+a
2
C
2
)
2
1
= atan
2
(a
2
S
2
P
x
+(a
1
+a
2
C
2
)P
y
;(a
1
+a
2
C
2
)P
x
a
2
S
2
P
y
)
5.To solve for q
3
:
P
z
= d
1
q
3
d
4
;q
3
= d
1
d
4
P
z
6.To solve for
4
:The ﬁnal roll angle cannot be determined fromthe position vector [P
x
;P
y
;P
z
].
If we are given the orientation matrix,then we can use the ratios of N
x
;N
y
to ﬁnd
4
Tan
124
=
S
124
C
124
=
N
y
N
x
1
2
4
= atan
2
(N
y
;N
x
)
4
= atan
2
(N
y
;N
x
) +
1
2
6
2
2
y
x
o
o
1
1
3
3
= 90
= 90
= 60
1
Figure 4:Example solution ignoring
4
with 2 armpositions
7.Example Solution (no
4
) if a
1
=
p
3;a
2
= 1;d
1
= 5;d
4
= 2 and P=
p
3,1,1],solve for joint
variables:
2
= Cos
1
(P
2
x
+P
2
y
a
2
1
a
2
2
)
2a
1
a
2
!
= Cos
1
(
0
2
p
3
) = 90
1
= atan
2
(a
2
S
2
P
x
+(a
1
+a
2
C
2
)P
y
;(a
1
+a
2
C
2
)P
x
a
2
S
2
P
y
)
if
2
= +90
;
1
= atan
2
(0;4) = 0
if
2
= 90
;
1
= atan
2
(
p
3;1) = 60
q
3
= d
1
d
4
P
z
= 5 2 1 = 2
Two Solutions:
1
2
q
3
0
90
2
60
90
2
7
Enter the password to open this PDF file:
File name:

File size:

Title:

Author:

Subject:

Keywords:

Creation Date:

Modification Date:

Creator:

PDF Producer:

PDF Version:

Page Count:

Preparing document for printing…
0%
Comments 0
Log in to post a comment