**Inverse Kinematics**

Inverse kinematics are used when solving for the joint variables in terms of the position of the given end effector position and orientation.

## Applications

Some of the applications of inverse kinematics are relevant to game programming and 3D animation, where a common use is making sure game characters connect physically to the world, such as feet landing firmly on top of terrain.[1]

## Solution Types[2]

Closed Form Solution

-analytical solution, nonlinear equations

-fixed number of steps

-in the past this was the only way

-real time control

-returns all possible solutions

Note: Pieper's Theorem: Closed-form solution always exists for any 6 dof robot with a spherical wrist.

Numerical Solution

-iterative process, requires more processing power

-Newton-Raphson method

-single solution return

-can be applied to all robots

## Solved Closed Form Solution Process [2]

The general inverse kinematics solution applies to robot manipulators with up to 6 degrees of freedom. Setup the inverse process by breaking the robot links into arm/positioning parts and the wrist/orienting parts. The arm/positioning part is used to determine the first three joint parameters of the robot manipulator (q_{1}, q_{2}, and q_{3}), and positions its wrist center. The wrist/orienting part is used to determine the last three joint parameters of the robot manipulator (q_{4}, q_{5}, and q_{6}), if applicable. The division of the closed-form solution is used to meet the required position and orientation.

1) Start with the given tool pose T_{o}^{6}. With the the top left 3x3 is the orientation matrix and the 4th column is the position.

2) Solve forward kinematics for T_{o}^{3} and R_{3}^{6}. Normally R_{3}^{6} is a spherical wrist, so it controls the orientation of the end effector. T_{o}^{3} will work on satisfying the position requirement.

Forward Kinematics

3) Find the location of the wrist center, p_{c}

or

(3)4) Set p_{c} equal to the last column of T_{o}^{3} from the forward kinematics. Solve these equations for the 1st 3 joint parameters.

5) From the forward kinematics R_{o}^{3} and R_{o}^{6}

Get R_{3}^{6} (given) = R_{o}^{3} (transpose) * R_{o}^{6}

remember that R_{o}^{6} = R_{o}^{3} * R_{3}^{6}

6) Solve for the final joint parameters by setting the orientation matrix equal to R_{3}^{6}.

remember to keep track of the number of solutions

## Example

Continuing the example from the forward kinematics.

First define T_{o}^{2} as the arm and T_{2}^{3} as the wrist.

Looking at the last column of T_{o}^{2}

Now solve for $\theta$_{1} and d_{2}. Start by squaring and adding row 1 and 2. This will give 2 solutions for d_{2}.

(2 solutions)

(8)(1 solution)

Now to solve for the wrist

from given

from kinematics

(10)Set equal and solve for theta3

(11)(1 solution)

This gives a total of 2 solutions.