# Inverse Kinematics Course site:

## Presentation on theme: "Inverse Kinematics Course site: "— Presentation transcript:

Course site: http://ce.aut.ac.ir/~shiry/lectures.html
Inverse Kinematics Course site: Amirkabir University of Technology Computer Engineering & Information Technology Department

Inverse Kinematics Given a desired position (P) & orientation (R) of the end-effector Find the joint variables which can bring the robot to the desired configuration.

A Simple Example Revolute and Prismatic Joints Combined Finding :
More Specifically: (x , y) arctan2() specifies that it’s in the first quadrant Y S 1 Finding S: X

Solvability Given the numerical value of we attempt to find values of
The PUMA 560: Given as 16 numerical values, solve for6 joint angles, 12 equations and 6 unknowns 6 equations and 6 unknowns (nonlinear, transcendental equations)

Inverse Kinematics More difficult.
The equations to solve are nonlinear thus systematic closed-form solution is not always available. Solution not unique. Redundant robot. Elbow-up/elbow-down configuration. Robot dependent. The problem of inverse kinematics is to find the joint angles, given the end effector position and orientation. In general, inverse kinematics is much harder than forward kinematics. Sometimes no analytical solution is possible, and an iterative search is required. Even with analytical solutions possible, multiple solutions arise from which one must pick. In the case of redundant manipulators, there are infinitely many solutions from which to choose. Another complication is that workspace limits may be violated (the point is outside the reach of the manipulator, or joint limits are exceeded). Solution not unique because usually the number of equations is more than unknown. 2 solutions!

The 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 reachable workspace which includes all points of the Cartesian space where at least one configuration is possible, ii) dextrous workspace which includes the points where any orientation of the end-effector is possible, and iii) workspace with constant orientation which includes all the points where a configuration with a specified orientation of the end-effector is possible. The union of all workspaces with constant orientation will produce the reachable workspace while their intersection corresponds to the dextrous workspace. In the aforementioned definitions, it is implicit that one point to be positioned has been selected on the end-effector. Other specialized terms are sometimes also used. The workspace with a given constant orientation is a subset of the reachable workspace. Even if this workspace can be thought to be restrictive, it is useful in tasks such as welding, painting and many others, where the orientation of the end effector is important. The workspace is composed of regions limited by hypersurfaces. These hypersurfaces are limits where the number of solutions to the inverse kinematic problem changes (Gupta and Kazerounian 1985, Kohli and Spanos 1985, Rastegar and Deravi 1987). The difference in the number of solutions can be any number less than the maximum number of solutions if joint limits are considered.

Two-link manipulator If l1 = l2 reachable work space is a disc of radius 2l1. The dextrous Workspace is a point: origin If l1 l2 there is no dextrous workspace. The reachable work space is a ring of outer radius l1 + l2 and inner radius l1 - l2

Existence of Solutions
A solution to the IKP exists if the target belongs to the workspace. Workspace computation may be hard. In practice it is made easy by special design of the robot.

Multiple Solutions The IKP may have more than one solution. We need to be able to calculate all the possible solutions. The system has to be able to choose one. 2 solutions! The closest solution: the solution which minimizes the amount that each joint is required to move.

The Closest Solution in Joint Space
Weights might be applied. Selection favors moving smaller joints rather than moving larger joints when a choice exist. The presence of obstacles.

Two Possible Solutions
In the absence of obstacles the upper configuration is selected

Number of Solutions Depends upon the number and range of joints and also is a function of link parameters a,a,d 8 solutions exits Another 4 solution 4 Solutions of the PUMA 560

Number of Solutions vs. Nonzero ai
The more the link length parameters are nonzero, the bigger the maximum number of solutions!

Solvability All systems with revolute and prismatic joints having total of 6 D.O.F in a single series chain are solvable. But this general solution is a numerical one. Robots with analytic solution: several intersecting joint axes and/or many i = 0, 90o.

Methods of Solutions A manipulator is solvable if the joint variables can be determined by an algorithm. The algorithm should find all possible solutions. The iterative solution often requires more computation and it does not guarantee convergence to correct solutions. It is desirable to find a closed form arm solution for manipulators. Fortunately most of the commercial robots have either one of the following sufficient conditions which make the closed form solution possible: 1- Three adjacent joint axes intersecting 2- Three adjacent joint axes parallel to one another closed form solutions numerical solutions Solutions

Numerical Solutions Results in a numerical, iterative solution to system of equations, for example Newton/Raphson techniques. Unknown number of operations to solve. Only returns a single solution. Accuracy is dictated by user. Because of these reasons, this is much less desirable than a closed-form solution. Can be applied to all robots.

Closed-form solutions
Analytical solution to system of equations Can be solved in a fixed number of operations (therefore, computationally fast/known speed) Results in all possible solutions to the manipulator kinematics Often difficult or impossible to find Most desirable for real-time control Most desirable overall

Closed-form solutions
Given a 6 axis robot. It can be proven that there exists a closed form solution for inverse kinematics: If three adjacent revolute joint axes intersect at a point (PUMA, Stanford). If three adjacent revolute joint axes are parallel to one another (MINIMOVER). In any case algebraic or geometric intuition is required to obtain closed form solutions.

Methods of Solutions In general the IK problem can be solved by various methods such as: Inverse Transform ( Paul, 1981) Screw Algebra (Kohli 1975) Dual Matrices (Denavit 1956) Iterative (Uicker 1964) Geometric approach (Lee 1984) Decoupling of position and orientation (Pieper 1968)

Closed-form Solutions
We are interested in closed-form solutions: 1. Algebraic methods 2. Geometric methods

Algebraic solution Consider a 3-link manipulator
We can derive kinematic equations:

Algebraic solution D-H transformation i i-1 di i 1 1 2 L1 2 3 L2
1 2 L1 2 3 L2 3

Algebraic Solution

Algebraic Solution The kinematics of the example seen before are:
Assume goal point is the specification of wrist frame, specified by 3 numbers:

Algebraic Solution By comparison, we get the four equations:
Summing the square of the last 2 equations: Constraint: C2 must have value between –1 and 1 From here we get an expression for c2 And finally:

Algebraic Solution The arc cosine function does not behave well as its accuracy in determining the angle is dependant on the angle ( cos(q)=cos(-q)). When sin(q) approaches zero, division by sin(q) give inaccurate solutions. Therefore an arc tangent function which is more consistent is used.

Algebraic Solution Using c12=c1c2-s1s2 and s12= c1s2-c2s1:
where k1=l1+l2c2 and k2=l2s2. To solve these eqs, set r=+ k12+k22 and =Atan2(k2,k1). When does a solution exist? What is the physical meaning if no solution exists? Two solutions for 2 are possible. Why?

Algebraic Solution Then: k1=r cos  , k2=r sin  , and we can write:
2 l1 l2 Then: k1=r cos  , k2=r sin  , and we can write: x/r= cos  cos 1 - sin  sin 1 y/r= cos  sin 1 + sin  cos 1 or: cos(+1) = x/r, sin(+1) =y/r

+1 = atan2(y/r,x/r) = atan2(y,x)
Algebraic Solution 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 = 

Geometric Solution Two-link Planar Manipulator y a2 a1 x
IDEA: Decompose spatial geometry into several plane geometry problems

Geometric Solution Applying the “law of cosines”:
We should try to avoid using the arccos function because of inaccuracy.

Geometric Solution The second joint angle q2is then found accurately as: Because of the square root, two solutions result:

Geometric Solution q1 is determined uniquely given q2 q1=f-y
Note the two different solutions for q1 corresponding to the elbow-down versus elbow-up configurations

Examples: IK Solution for PUMA 560
Algebraic Solution for UNIMATION PUMA 560 We wish to Solve (4.54) For qi when 06T is given as numeric values

Examples: IK Solution for PUMA 560
Paul (1981) suggest pre multiplying the above matrix (4.54) by its unworn inverse transform successively and determine the unknown angle from the elements of the resultant matrix equation.

Examples: IK solution for PUMA 560
By multiplying both sides of (4.54) Inverting 01T we get: (4.56)

Examples: IK Solution for PUMA 560
16T from (3.13) is:

Examples: IK solution for PUMA 560
By adapting 16T from (3.13) and equating elements we have Using trigonometric substitution: We obtain Using difference of angles:

Examples: IK Solution for PUMA 560
And so: Solution for q1: Note: two possible solution for q1

Examples: IK Solution for PUMA 560
By equating elements (1,4) and also (3,4) from Equ. (4.56): By squaring and addition of resulting equations and Equ. (4.57): Where

Examples: IK Solution for PUMA 560
The above equation is only dependant on q3 so with similar procedure we get: again two different solution for q3. We may rewrite (4.54) as (4.70)

Examples: IK Solution for PUMA 560
By adapting 36T from (3.11) and equating (1,4) and (2,4) we have We solve for q23 as Four possible solutions for q2

Examples: IK Solution for PUMA 560
By equating elements (1,3) and also (3,3) from (4.70) :

Examples: IK Solution for PUMA 560
We continue similar procedure for rest of the Parameters…

Examples: IK Solution for PUMA 560
Other possible solutions : After all eight solutions have been computed, some of them may have to be discarded because of joint limitations. Usually the one closest to present manipulator configuration is chosen.

Pieper’s Solution When Three Axes Intersect (E.G, Spherical Wrists)
A completely general robot with six degrees of freedom does not have a closed form solution, however special cases can be solved. The technique involves decoupling the position and orientation problems. The position problem positions the wrist center, while the orientation problem completes the desired orientation.

Pieper’s Solution This method applies to all six joints revolute, with the last 3 intersection It can be applied to majority of industrial robots

{0} Pieper’s Solution: Basic Concept Z P d 5 4 6 c
First, the location of the wrist center, pc is found from the given tool position (d) and the tool pointing direction (here z6). Since the wrist center location depends on the first three joint variables, this results in three equations and three unknowns which are solved for q1 – q3. Then, the relative wrist orientation R63 which is a function of the last three joint variables, q4 – q6 is found from the arm orientation R30 and the given tool orientation R60. The relative wrist orientation is set equal to the kinematic description of R63 and the last 3 joint variables are solved. {0} Z 4 5 6 P c d First, the location of the wrist center, pc is found from the given tool position (d) and the tool pointing direction (here z6). Since the wrist center location depends on the first three joint variables, this results in three equations and three unknowns which are solved for q1 – q3. Then, the relative wrist orientation R63 which is a function of the last three joint variables, q4 – q6 is found from the arm orientation R30 and the given tool orientation R60. The relative wrist orientation is set equal to the kinematic description of R63 and the last 3 joint variables are solved.

Pieper’s Solution Step-by-step Procedure
Start with the given tool pose, as Solve portions of the forward kinematics to find find Find the location of the wrist center, as (last column of ) (tool offset length) x (third column of ). Set = last column of and solve for for Solve as (put into ). Set equal to and solve for Along the way, keep track of the number of solutions for each joint variable.

Standard Frames {B} {W} {T} {G} {S}

Repeatability and accuracy
Repeatability: how precisely a manipulator can return to a taught point? Accuracy: the precision with which a computed point can be attained.