121 lines
5.5 KiB
Markdown
121 lines
5.5 KiB
Markdown
+++
|
|
title = "Jacobian"
|
|
author = ["Dehaeze Thomas"]
|
|
draft = false
|
|
+++
|
|
|
|
Tags
|
|
:
|
|
|
|
|
|
## Jacobian Matrices of a Parallel Manipulator {#jacobian-matrices-of-a-parallel-manipulator}
|
|
|
|
From (<a href="#citeproc_bib_item_1">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**.
|
|
|
|
(NO_ITEM_DATA:merlet06_jacob_manip_condit_number_accur_paral_robot)
|
|
|
|
|
|
## 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_1">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>Taghirad, H. 2013. <i>Parallel Robots : Mechanics and Control</i>. Boca Raton, FL: CRC Press.</div>
|
|
<div class="csl-entry">NO_ITEM_DATA:merlet06_jacob_manip_condit_number_accur_paral_robot</div>
|
|
</div>
|