Multi port rigid body

Multi-port rigid body (6x6) linear model.

It computes the inverse linearized dynamic model of a rigid body $\mathcal{B}$

It results in a $(6n \times 6n)$ transfer matrix (static) between wrenches applied at the $n$ points and the acceleration twists at these points.

Remark: the $6\times 6$ channel associated to one port (one point) can be inverted: then the input of this channel is the acceleration twist imposed at this point and the output is the wrench applied by this body. Indeed, since the body it assumed to be rigid, one can only impose the acceleration at a single point.

See also: 1 port flexible body, 1-port NASTRAN flexible body, massless connection body

Contents

Description

The Newton- Euler equations applied to a rigid body $\mathcal{B}$ at its center of mass $B$ reads:

$$ \left[\begin{array}{c} \mathbf{F}_{ext} \\ \mathbf{T}_{ext,B} \end{array}\right] = \underbrace{\left[\begin{array}{cc} m^{\mathcal{B}} \mathbf{1}_3 & \mathbf{0}_{3 \times 3} \\ \mathbf{0}_{3 \times 3} & \mathbf{I}^{\mathcal{B}}_B \end{array}\right]}_{\mathbf D_B^{\mathcal{B}}} \left[\begin{array}{c} \mathbf{a}_{B} \\ \dot{\boldsymbol{\omega}} \end{array}\right] + \left[\begin{array}{c} \mathbf{0}_{3 \times 1} \\ \boldsymbol{\omega} \times \mathbf{I}^{\mathcal{B}}_B \boldsymbol{\omega} \end{array}\right] $$

where:

The linearized Newton-Euler equations assume that $\boldsymbol{\omega}$ is small. The quadratic terms can be neglected, leading to these equations :

$$ \left[\begin{array}{c} \mathbf{F}_{ext} \\ \mathbf{T}_{ext,B} \end{array}\right] = \mathbf D_B^{\mathcal{B}} \left[\begin{array}{c} \mathbf{a}_{B} \\ \dot{\boldsymbol{\omega}} \end{array}\right] $$

Moreover let us consider another point $P$ on the rigid body $\mathcal{B}$. The velocity of $P$ can be expressed as a function of the velocity of $B$ and the angular velocity $\boldsymbol{\omega}$:

$\mathbf{v}_P = \mathbf{v}_B + \overrightarrow{PB} \times \boldsymbol{\omega}$

The time-derivation of this equation gives the expression of the inertial acceleration (vector) at point $P$:

$$ \mathbf{a}_P = \mathbf{a}_B + \overrightarrow{PB} \times \dot{\boldsymbol{\omega}} + \underbrace{\frac{\displaystyle d \overrightarrow{PB}}{\displaystyle dt}|_{\mathcal{B}}}_{=0} \times \boldsymbol{\omega} + \boldsymbol{\omega} \times (\overrightarrow{PB} \times \boldsymbol{\omega}) $$

or equivalently:

$$ \left[\begin{array}{c} \mathbf{a}_{P} \\ \dot{\boldsymbol{\omega}} \end{array}\right] = \underbrace{\left[\begin{array}{cc} \mathbf{1}_3 & (^*\overrightarrow{PB}) \\ \mathbf{0}_{3 \times 3} & \mathbf{1}_3 \end{array}\right]}_{\boldsymbol\tau_{PB}} \left[\begin{array}{c} \mathbf{a}_{B} \\ \dot{\boldsymbol{\omega}} \end{array}\right] + \left[\begin{array}{c} (^*\boldsymbol{\omega})(^*\overrightarrow{PB})\boldsymbol{\omega} \\ \mathbf{0}_{3 \times 1} \end{array}\right] $$

with:

if $\overrightarrow{PB}=\left[\begin{array}{c}x \\y \\ z\end{array}\right]_{\mathcal{R}_i}$ then $\left[(^*\overrightarrow{PB})\right]_{\mathcal{R}_i}= \left[\begin{array}{ccc} 0 & -z & y\\ z & 0 & -x \\ -y & x & 0 \end{array}\right]_{\mathcal{R}_i}$.

The linearized equivalent equations are:

$$ \left[\begin{array}{c} \mathbf{a}_{P} \\ \dot{\boldsymbol{\omega}} \end{array}\right] = \boldsymbol\tau_{PB} \left[\begin{array}{c} \mathbf{a}_{B} \\ \dot{\boldsymbol{\omega}} \end{array}\right] $$

It can also be proved, by definition of torque, that:

$$ \left[\begin{array}{c} \mathbf{F}_{ext} \\ \mathbf{T}_{ext,B} \end{array}\right] = \boldsymbol\tau_{PB}^T \left[\begin{array}{c} \mathbf{F}_{ext} \\ \mathbf{T}_{ext,P} \end{array}\right] $$

The inverse dynamic model of the rigid body $\mathcal{B}$ in its reference frame $\mathcal{R}_b$ at different points $P_i$ with $i=\{1,... n\}$ can be obtain following this scheme:

Ports

The number of ports depends on the number $n$ of given points where the inverse dynamic model has to be computed.

Inputs:

$$ \left[\begin{array}{c} \mathbf{F}_{./\mathcal{B},P_i} \\ \mathbf{T}_{./\mathcal{B},P_i} \end{array}\right]_{\mathcal{R}_b} $$

Outputs:

$$\left[\begin{array}{c} \mathbf{a}_{P_i} \\ \boldsymbol{\dot{\omega}} \end{array}\right]_{\mathcal{R}_b}$$

If the port number $i$ is inverted to compute the direct dynamic model (with a minus sign) at the point $P_i$, then:

(see following Figure in the case $i=1$)

Parameters

All parameters are expressed in the body frame $\mathcal{R}_b$. Each parameter can be an uncertain parameter declared with "ureal".

The main parameters are:

Simulink diagram under the mask

The Simulink block is built by the initialization according to the parameters in the dialog box. Examples:

  • Inverse dynamic model with 2 ports:
  • 3 ports body with the port #2 inverted: