C2 Inverse Kinematics 1 AP

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 19

Inverse

Kinematics
How do I put my
hand here?

IK: Choose these angles!


Example: Planar 3-link robot
x  l1 cos1  l2 cos1   2   l3 cos1   2   3 
y  l1 sin 1  l2 sin 1   2   l3 sin 1   2   3 
  1   2   3
3 Take l1  l2  l3 , l1  l2  l3
2 l3 What is the reachable space? Take l1, l2
l2 fixed and vary 3

l1
1
Now vary 1

Finally, vary 2
The Workspace
Workspace
Workspace: volume of space which can be reached
by the end effector
Dextrous workspace: volume of space where the
end effector can be arbitrarily oriented
Reachable workspace: volume of space which the
robot can reach in at least one orientation

33
Example (continued)

What is the dextrous workspace in the example?

4
The IK Problem

Kinematic Problem: given joint angles and/or


displacement, compute location and orientation of
End Effector.
Inverse Kinematic Problem: given location and
orientation of EE, find joint variables.
Why is IK hard?
–May have more than one solution or none at all
–Amounts to solving nonlinear trascendental
equations (can be hard)

5
Existence of Solutions
A solution to the IKP exists if the target belongs to the
workspace
Workspace computation may be hard. In practice is made
easy by special design of the robot
The IKP may have more than one solution. How to choose
the appropriate one?

2 solutions!

6
Closed-form solution
a b   x   p 
c d   y   q 
    

IK Solutions Ax  b, x  A1b
1  d  b
A1 
ad  bc  c a 
Analytical (or closed form)
solutions are desirable because of their speed
and exactness of solution.
For complex kinematics problems, analytical
solutions may not be possible
Use iterative methods
◦ Optimization methods (e.g., minimize the distance
between end effector and goal point)

7
Methods of Solutions
A manipulator is solvable if the joint variables can be determined by an
algorithm. The algorithm should find all possible solutions.

closed form solutions


• Solutions
numerical solutions

We are interested in closed-form solutions


1. Algebraic Methods
2. Geometric Methods
8
Method of Solution (cont.)

Major result: all systems with revolute and


prismatic joints having a total of six degrees
of freedom in a single series chain are
solvable
In general, solution is numerical
Robots with analytic solution: several
intersecting joint axes and/or many i = 0, 90o.
One major application (and driving force) of IK:
animation.
9
Manipulator Subspace when n<6
If n<6, then the workspace will be a portion of an n
dimensional subspace
To describe the WS: compute direct kinematics, and then
vary joint variables
On the previous example, the WS has the form:

c  s 0 x
s c 
0 y
B
T   
W
0 0 1 0
 
0 0 0 1
10
Manipulator SS when n<6 (cont)

Usual goal for manipulator with n DoF: use n


parameters to specify the goal
If 6 DoF are used, n<6 will in general not suffice
Possible compromise: reach the goal as “near” as
possible to original goal:
◦ 1) Given the goal frame GST compute modified goal
S
G' T in manipulator SS as near as possible to S
GT
◦ 2) Compute IK. A solution may still not be possible if goal
is not in the manipulator workspace
For example, place tool frame origin at desired
location, then select a feasible orientation
11
Algebraic Solution
The kinematics of the example seen before are:

c123  s123 0 l1c1  l2 c12 


s c123 0 l1s1  l2 s12 
B
T  0
T   123
W 3
 0 0 1 0 
 
 0 0 0 1 
Assume goal point is specified by 3 numbers:
c  s 0 x
s c 0 y 
WT 
B  
0 0 1 0
 
0 0 0 1
12
Algebraic Solution (cont.)
By comparison, we get the four equations:

c  c123 s  s123
x  l1c1  l2 c12
y  l1s1  l2 s12

Summing the square of the last 2 equations:


x 2  y 2  l12  l22  2l1l2 c2
From here we get an expression for c2
x  y l l
2 2 2 2
c2  1 2
2l1l2
13
Algebraic Solution (III)
When does a solution exist?
What is the physical meaning if no solution exists?
Two solutions for 2 are possible. Why?
Using c12=c1c2-s1s2 and s12= c1s2-c2s1:

x  k1c1  k 2 s1
y  k1s1  k 2c1
where k1=l1+l2c2 and k2=l2s2. To solve these eqs, set
r=+ k12+k22 and =Atan2(k2,k1).
14
Algebraic Solution (IV)
k1

l2
 2 k2

l1

Then: k1=r cos  , k1=r sin  , and we can write:


x/r= cos  cos 1 - sin  sin 1
y/r= cos  cos 1 - sin  sin 1
or: cos(+1) = x/r, sin(+1) =y/r
15
Algebraic Solution (IV)

Therefore:
+1 = Atan2(y/r,x/r) = Atan2(y,x)
and so:
1 = Atan2(y,x) - Atan2(k2,k1)
Finally, 3 can be solved from:
1+ 2+ 3 = 

16
Geometric Solution
IDEA: Decompose spatial geometry into several plane geometry problems

L2

L1

Applying the “law of cosines”:


x2+y2=l12+l22 - 2l1l2cos(180+2)
17
Geometric Solution (II)
Then:
y
x 2  y 2  l12  l22
c2 
2l1l2 


The LoC gives:
x

l22 = x2+y2+l12 - 2l1 (x2+y2) cos 


So that cos  = (x2+y2+l12 - l22 )/2l1 (x2+y2)
We can solve for 0   180, and then 1=
18
Reduction to Polynomial
Trascendental equations are difficult to solve
since one variable  usually appears as cos 
and sin.
Can reduce to polynomial in variable
u = tan /2
by using:
cos  = (1-u2)/(1+u2)
sin  =2u /(1+u2)
19

You might also like