# Robotic Mechanics and Modeling/Inverse Kinematics

The inverse kinematics problem is the opposite of the forward kinematics problem and can be summarized as follows: given the desired position of the end effector, what combinations of joint angles (or prismatic displacements) can be used to achieve this position?

Two types of solutions can be considered: a closed-form solution and a numerical solution. Closed-form or analytical solutions are sets of equations that fully describe the connection between the end-effector position and the joint angles. Numerical solutions are found through the use of numerical algorithms, and can exist even when no closed-form solution is available. There may also be multiple solutions, or no solution at all.

#### Kinematic Equations for a Planar Three-Link Manipulator

editThe inverse kinematics problem for this 2D manipulator can be solved algebraically. The solution to the forward kinematics problem is:

To find the kinematic equations, we can use the following relationship:

Thus, the resulting **kinematic equations** are:

#### Inverse Kinematic Equations for a Planar Two-Link Manipulator

editFor simplicity in looking at the inverse problem of the three-link manipulator now modeled as a two-link manipulator, the displacement over the distance is set to zero. An appropriate 4x4 homogeneous transform (in 3D) including the orientation of the third body with in the above figure is the following:

Now assume a given end-effector orientation in the following form:

Equating the two previous expressions results in:

As:

- ,

squaring both the expressions for and and adding them, leads to:

Solving for leads to:

- ,

while equals:

- ,

and, finally, :

**Note**: The choice of the sign for corresponds with one of the two solutions in the figure above.

The expressions for and may now be solved for . In order to do so, write them like this:

where , and .

Let:

Then:

Applying these to the above equations for and :

- ,

or:

Thus:

Hence:

**Note**: If , actually becomes arbitrary.

may now be solved from the first two equations for and :

## Inverse Kinematics Related to Jacobian Matrix

editThe inverse velocity problem seeks the joint rates that provide a specified end-effector twist. This is solved by inverting the Jacobian matrix. It can happen that the robot is in a configuration where the Jacobian does not have an inverse. These are termed singular configurations of the robot.

## Inverse Velocity Kinematics

editThis problem can easily be solved by inverting the Jacobian...

### Singularities

editIf the Jacobian is invertible, inverting it can be used to easily calculate the joint velocities if the (Cartesian) end-effector velocity is given. Locations (combinations of where the Jacobian is not invertible are called **singularities**. Setting the determinant of equal to zero and solving for allows for finding these singularities. These positions correspond to the **loss of a degree of freedom**.

In vector calculus, the **Jacobian matrix** (/dʒəˈkoʊbiən/,^{[1]}^{[2]}^{[3]} /dʒɪ-, jɪ-/) of a vector-valued function in several variables is the matrix of all its first-order partial derivatives. When this matrix is square, that is, when the function takes the same number of variables as input as the number of vector components of its output, its determinant is referred to as the **Jacobian determinant**. Both the matrix and (if applicable) the determinant are often referred to simply as the **Jacobian** in literature.^{[4]}

Suppose **f** : ℝ^{n} → ℝ^{m} is a function such that each of its first-order partial derivatives exist on ℝ^{n}. This function takes a point **x** ∈ ℝ^{n} as input and produces the vector **f**(**x**) ∈ ℝ^{m} as output. Then the Jacobian matrix of **f** is defined to be an *m*×*n* matrix, denoted by **J**, whose (*i*,*j*)th entry is , or explicitly

This matrix, whose entries are functions of **x**, is also denoted variously by D**f**, **J**_{f}, and *∂*(*f*_{1},...,*f*_{m})/*∂*(*x*_{1},...,*x*_{n}). (However, some literature defines the Jacobian as the transpose of the matrix given above.)

The Jacobian matrix represents the differential of **f** at every point where **f** is differentiable. In detail, if **h** is a displacement vector represented by a column matrix, the matrix product **J**(**x**) ⋅ **h** is another displacement vector, that is the best approximation of the change of **f** in a neighborhood of **x**, if **f**(**x**) is differentiable at **x**.^{[a]} This means that the function that maps **y** to **f**(**x**) + **J**(**x**) ⋅ (**y** – **x**) is the best linear approximation of **f** for points close to **x**. This linear function is known as the *derivative* or the *differential* of **f** at **x**.

When *m* = *n*, the Jacobian matrix is square, so its determinant is a well-defined function of **x**, known as the **Jacobian determinant** of **f**. It carries important information about the local behavior of **f**. In particular, the function **f** has locally in the neighborhood of a point **x** an inverse function that is differentiable if and only if the Jacobian determinant is nonzero at **x** (see Jacobian conjecture). The Jacobian determinant also appears when changing the variables in multiple integrals (see substitution rule for multiple variables).

When *m* = 1, that is when *f* : ℝ^{n} → ℝ is a scalar-valued function, the Jacobian matrix reduces to a row vector. This row vector of all first-order partial derivatives of *f* is the transpose of the gradient of *f*, i.e.
. Here we are adopting the convention that the gradient vector is a column vector. Specialising further, when *m* = *n* = 1, that is when *f* : ℝ → ℝ is a scalar-valued function of a single variable, the Jacobian matrix has a single entry. This entry is the derivative of the function *f*.

These concepts are named after the mathematician Carl Gustav Jacob Jacobi (1804–1851).

## Inverse

editAccording to the inverse function theorem, the matrix inverse of the Jacobian matrix of an invertible function is the Jacobian matrix of the *inverse* function. That is, if the Jacobian of the function **f** : ℝ^{n} → ℝ^{n} is continuous and nonsingular at the point **p** in ℝ^{n}, then **f** is invertible when restricted to some neighborhood of **p** and

Conversely, if the Jacobian determinant is not zero at a point, then the function is *locally invertible* near this point, that is, there is a neighbourhood of this point in which the function is invertible.

The (unproved) Jacobian conjecture is related to global invertibility in the case of a polynomial function, that is a function defined by *n* polynomials in *n* variables. It asserts that, if the Jacobian determinant is a non-zero constant (or, equivalently, that it does not have any complex zero), then the function is invertible and its inverse is a polynomial function.

## References

edit- ↑ "Jacobian - Definition of Jacobian in English by Oxford Dictionaries".
*Oxford Dictionaries - English*. Archived from the original on 1 December 2017. Retrieved 2 May 2018. - ↑ "the definition of jacobian".
*Dictionary.com*. Archived from the original on 1 December 2017. Retrieved 2 May 2018. - ↑ Team, Forvo. "Jacobian pronunciation: How to pronounce Jacobian in English".
*forvo.com*. Retrieved 2 May 2018. - ↑ W., Weisstein, Eric. "Jacobian".
*mathworld.wolfram.com*. Archived from the original on 3 November 2017. Retrieved 2 May 2018.`{{cite web}}`

: CS1 maint: multiple names: authors list (link)

Cite error: `<ref>`

tags exist for a group named "lower-alpha", but no corresponding `<references group="lower-alpha"/>`

tag was found