Files
tdehaeze ac45d100b5
Deploy / deploy (push) Successful in 6s
Update content - 2026-10-07
2026-10-07 08:57:51 +02:00

123 lines
5.6 KiB
Markdown

+++
title = "Jacobian"
author = ["Dehaeze Thomas"]
draft = false
category = "Control Theory"
subcategory = "Multivariable Analysis"
+++
Tags
:
## Jacobian Matrices of a Parallel Manipulator {#jacobian-matrices-of-a-parallel-manipulator}
From (<a href="#citeproc_bib_item_2">Taghirad 2013</a>):
> 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**.
(<a href="#citeproc_bib_item_1">Merlet 2006</a>)
## Computing the Jacobian Matrix {#computing-the-jacobian-matrix}
How to derive the Jacobian matrix is well explained in chapter 4 of (<a href="#citeproc_bib_item_2">Taghirad 2013</a>) ([notes]({{< relref "taghirad13_paral.md" >}})).
Consider parallel manipulator shown in [Figure 1](#figure--fig:jacobian-geometry) (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="figure--fig:jacobian-geometry"></a>
{{< figure src="/ox-hugo/jacobian_geometry.png" caption="<span class='figure-number'>Figure 1: </span>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 \ref{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](#figure--fig:jacobian-geometry), 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}
<style>.csl-entry{text-indent: -1.5em; margin-left: 1.5em;}</style><div class="csl-bib-body">
<div class="csl-entry"><a id="citeproc_bib_item_1"></a>Merlet, J. P. 2006. <i>Parallel Robots</i>. 2nd ed. Springer Publishing Company, Incorporated.</div>
<div class="csl-entry"><a id="citeproc_bib_item_2"></a>Taghirad, H. 2013. <i>Parallel Robots : Mechanics and Control</i>. Boca Raton, FL: CRC Press.</div>
</div>