+++
title = "Jacobian"
author = ["Thomas Dehaeze"]
draft = false
+++

Tags
:


## Jacobian Matrices of a Parallel Manipulator {#jacobian-matrices-of-a-parallel-manipulator}

From ([Taghirad 2013](#org1eb570f)):

> The Jacobian matrix not only reveals the **relation between the joint variable velocities of a parallel manipulator to the moving platform linear and angular velocities**, it also constructs the transformation needed to find the **actuator forces from the forces and moments acting on the moving platform**.

([Merlet 2006](#org77b3718))


## Computing the Jacobian Matrix {#computing-the-jacobian-matrix}

How to derive the Jacobian matrix is well explained in chapter 4 of ([Taghirad 2013](#org1eb570f)) ([notes]({{< relref "taghirad13_paral" >}})).

Consider parallel manipulator shown in Figure [1](#orgf2877e3) (it represents a Stewart platform).

Kinematic loop closures are:

\begin{equation}
{}^A\bm{O}\_B = {}^A\bm{a}\_i + l\_i \hat{\bm{s}}\_i + {}^A\bm{b}\_i
\end{equation}

Which can be written as:

\begin{equation}
{}^A\bm{p} = {}^A\bm{a}\_i + l\_i {}^A\hat{\bm{s}}\_i + {}^A\bm{R}\_B {}^B\bm{b}\_i
\end{equation}

with

-   \\({}^A\bm{p} = {}^A\bm{O}\_B\\) the position vector of the moving platform w.r.t. frame \\(\\{\bm{A}\\}\\)
-   \\({}^A\bm{R}\_B\\) the rotation matrix of the moving platform
-   \\({}^A\bm{a}\_i\\) the position vector of the \\(i\\)'th limb of the fixed platform w.r.t. frame \\(\\{\bm{A}\\}\\)
-   \\({}^B\bm{b}\_i\\) the position vector of the \\(i\\)'th limb of the moving platform w.r.t. frame \\(\\{\bm{B}\\}\\)
-   \\(\bm{\hat{s}}\_i\\) the limb unit vector
-   \\(l\_i\\) is the limb length

By taking the time derivative, we obtain the following **Velocity Loop Closures**:

\begin{equation}
{}^A\hat{\bm{s}}\_i {}^A\bm{v}\_p + ({}^A\bm{b}\_i \times \hat{\bm{s}}\_i) {}^A\bm{\omega} = \dot{l}\_i \label{eq:velocity\_loop\_closure}
\end{equation}

<a id="orgf2877e3"></a>

{{< figure src="/ox-hugo/jacobian_geometry.png" caption="Figure 1: Example of parallel manipulator with defined frames and vectors" >}}


## Velocities of joints and of moving platform {#velocities-of-joints-and-of-moving-platform}

The Jacobian matrix links the joint variable velocities to the moving platform linear and angular velocities.

\begin{equation}
  \dot{\bm{q}} = \bm{J} \dot{\bm{\mathcal{X}}}
\end{equation}

with \\(\bm{q} = \left[ q\_1, q\_2, \ldots, q\_m \right]^T\\) the vector of actuated joint coordinates (linear displacement of an actuator prismatic joint or angular rotation of an actuated revolute joint) and \\(\bm{\mathcal{X}} = \left[ x\_1, x\_2, \ldots, x\_n \right]^T\\) the vector of moving platform motion variables (position or orientation).

From equation \eqref{eq:velocity_loop_closure}, we have:

\begin{equation}
  \bm{J} = \begin{bmatrix}
    {{}^A\hat{\bm{s}}\_1}^T & ({}^A\bm{b}\_1 \times {}^A\hat{\bm{s}}\_1)^T \\\\\\
    {{}^A\hat{\bm{s}}\_2}^T & ({}^A\bm{b}\_2 \times {}^A\hat{\bm{s}}\_2)^T \\\\\\
    {{}^A\hat{\bm{s}}\_3}^T & ({}^A\bm{b}\_3 \times {}^A\hat{\bm{s}}\_3)^T \\\\\\
    {{}^A\hat{\bm{s}}\_4}^T & ({}^A\bm{b}\_4 \times {}^A\hat{\bm{s}}\_4)^T \\\\\\
    {{}^A\hat{\bm{s}}\_5}^T & ({}^A\bm{b}\_5 \times {}^A\hat{\bm{s}}\_5)^T \\\\\\
    {{}^A\hat{\bm{s}}\_6}^T & ({}^A\bm{b}\_6 \times {}^A\hat{\bm{s}}\_6)^T
  \end{bmatrix}
\end{equation}

And therefore \\(\bm{J}\\) then **depends only** on:

-   \\({}^A\hat{\bm{s}}\_i\\) the orientation of the limbs
-   \\({}^A\bm{b}\_i\\) the position of the joints with respect to \\(O\_B\\) and express in \\(\\{\bm{A}\\}\\).

For the platform in Figure [1](#orgf2877e3), we have:

\begin{equation}
\begin{bmatrix} \dot{l}\_1 \\ \dot{l}\_2 \\ \dot{l}\_3 \\ \dot{l}\_4 \\ \dot{l}\_5 \\ \dot{l}\_6 \end{bmatrix} =
\begin{bmatrix}
  {{}^A\hat{\bm{s}}\_1}^T & ({}^A\bm{b}\_1 \times {}^A\hat{\bm{s}}\_1)^T \\\\\\
  {{}^A\hat{\bm{s}}\_2}^T & ({}^A\bm{b}\_2 \times {}^A\hat{\bm{s}}\_2)^T \\\\\\
  {{}^A\hat{\bm{s}}\_3}^T & ({}^A\bm{b}\_3 \times {}^A\hat{\bm{s}}\_3)^T \\\\\\
  {{}^A\hat{\bm{s}}\_4}^T & ({}^A\bm{b}\_4 \times {}^A\hat{\bm{s}}\_4)^T \\\\\\
  {{}^A\hat{\bm{s}}\_5}^T & ({}^A\bm{b}\_5 \times {}^A\hat{\bm{s}}\_5)^T \\\\\\
  {{}^A\hat{\bm{s}}\_6}^T & ({}^A\bm{b}\_6 \times {}^A\hat{\bm{s}}\_6)^T
\end{bmatrix}
\begin{bmatrix} {}^Av\_x \\ {}^Av\_y \\ {}^Av\_z \\ {}^A\omega\_x \\ {}^A\omega\_y \\ {}^A\omega\_z \end{bmatrix}
\end{equation}


## Static Forces in Parallel Manipulators {#static-forces-in-parallel-manipulators}

The **Jacobian matrix** constructs the **transformation needed to find the actuator forces** \\(\bm{\tau}\\) **from the wrench acting on the moving platform** \\(\bm{\mathcal{F}}\\):

\begin{equation}
  \bm{\mathcal{F}} = \bm{J}^T \bm{\tau}
\end{equation}

in which \\(\bm{\tau} = [f\_1, f\_2, \cdots, f\_6]^T\\) is the vector of actuator forces, and \\(\bm{\mathcal{F}} = [\bm{f}, \bm{n}]^T\\) is the 6D wrench applied by the manipulator to the environment at the point \\(\bm{O}\_B\\).

Note that it is here assumed that the forces are static and **along the limb axis** \\(\hat{\bm{s}}\_i\\).


## Bibliography {#bibliography}

<a id="org77b3718"></a>Merlet, Jean-Pierre. 2006. “Jacobian, Manipulability, Condition Number, and Accuracy of Parallel Robots.”

<a id="org1eb570f"></a>Taghirad, Hamid. 2013. _Parallel Robots : Mechanics and Control_. Boca Raton, FL: CRC Press.
