# Newton-Euler equations in frame not centered at center of mass [duplicate]

I'm having trouble with a step in the derivation of the Newton-Euler equations for rigid body translation and rotation when the body frame is not centered at the center of gravity.

The Newton-Euler equations in a frame $G$ attached to the center of gravity are $$\begin{bmatrix} mI & 0 \\ 0 & J \end{bmatrix} \begin{bmatrix} \dot{v}_G \\ \dot{\omega}_G \end{bmatrix} + \begin{bmatrix} m\omega_G\times v_G \\ \omega_G\times J\omega_G \end{bmatrix} = \begin{bmatrix} f \\ \tau_G \end{bmatrix},$$ where $v_G$ is the body velocity, $\omega_G$ is the body angular velocity about the center of mass, $m$ is the mass of the rigid body and $J$ is the inertia tensor, $f$ is the applied force and $\tau_G$ is an applied torque about the center of mass.

Assume now that we are interested in describing the motion with respect to some other frame $B$ such that the center of mass is at a point $\rho_G$ in this frame (the orientation of the frame $B$ being the same as that of $G$, that is, the frames are related by pure translation). Then $$\omega_G = \omega_B \\ v_G = v_B - \rho_G\times\omega_B \\ \tau_G = \tau_B - \rho_G\times f$$ from which it follows that the equations become $$m\dot{v}_B - (m\rho_G)\times\dot{\omega}_B + m(\omega_B\times v_B + \omega_B\times\omega_B\times\rho_G) = f \\ J\dot{\omega}_B + (m\rho_G)\times\dot{v}_B + \omega_B\times J\omega_B + (m\rho_G)\times(\omega_B\times v_B + \omega_B\times\omega_B\times\rho_G - \rho_G\times\dot{\omega}_B) = \tau_B.$$ The derivation I'm following at this point simplifies the second equation to $$J\dot{\omega}_B + (m\rho_G)\times\dot{v}_B + \omega_B\times J\omega_B + (m\rho_G)\times(\omega_B\times v_B) = \tau_B.$$ I can't understand why this is allowed. Why is it true that $$\rho_G\times(\omega_B\times\omega_B\times\rho_G - \rho_G\times\dot{\omega}_B) = 0~?$$

• Possible duplicate of Derivation of Newton-Euler equations of motion – John Alexiou Aug 11 '17 at 17:22
• Hint: Use the vector identity $a \times (b \times c) = b (a\cdot c) - c (a \cdot b)$ – John Alexiou Aug 11 '17 at 17:24
• When you're writing triple vector products it's imperative that you use parentheses to specify the order of operations. It's not obvious to everyone which cross-product should be done first. – Bill N Aug 11 '17 at 17:28
• @BillN Yes, but due to the way the triple products appear they are all from right to left, i.e. $a\times b\times c = a\times (b\times c)$. This is why I thought relaxing the notation would not introduce any ambiguity. – mcpca Aug 11 '17 at 17:37
• @ja72 I have tried that identity and rewriting the expression in many different ways, to no avail. I'm sure this is a simple trick I'm failing to see, which is why I've asked this here so I can move on. – mcpca Aug 11 '17 at 17:50

It seems that you are using spatial accelerations for $\dot{v}_G$. So your equations of motion at the center of mass G are correct

$$\pmatrix{f \\ \tau_G} = \left[ \matrix{ m & \\ & J_G} \right] \pmatrix{\dot{v}_G \\ \dot{\omega}} + \pmatrix{m \omega \times v_G \\ \omega \times J_G \omega}$$

Notice I added a subscript on the MMOI at it is expressed about G and removed it from $\omega$ since it is shared by the entire rigid body.

The first parts of the equation are easily transformed to a different point B with $$\pmatrix{f \\ \tau_B} = \left[ \matrix{ 1 & 0 \\ \rho_G \times & 1} \right] \pmatrix{f \\ \tau_G}$$ and $$\pmatrix{\dot{v}_G \\ \dot{\omega}} = \left[ \matrix{ 1 & -\rho_G \times \\ 0 & 1} \right] \pmatrix{\dot{v}_G \\ \dot{\omega}}$$

Your question is, how do you transform the bias forces (the last part of the equations)?

Note that $$\begin{pmatrix}m\omega\times v_{G}\\ \omega\times J_{G}\omega \end{pmatrix} = \begin{bmatrix}\omega\times\\ v_{G}\times & \omega\times \end{bmatrix}\begin{bmatrix}m\\ & J_{G} \end{bmatrix}\begin{pmatrix}v_{G}\\ \omega \end{pmatrix}$$

So the equations at B are

\begin{align} \pmatrix{f \\ \tau_B} & = \underbrace{ \left[ \matrix{ 1 & 0 \\ \rho_G \times & 1} \right]\left[ \matrix{ m & \\ & J_G} \right] \left[ \matrix{ 1 & -\rho_G \times \\ 0 & 1} \right] }_\mbox{6×6 spatial inertia at B} \pmatrix{\dot{v}_G \\ \dot{\omega}} +\\ & + \left[ \matrix{ 1 & 0 \\ \rho_G \times & 1} \right] \begin{bmatrix}\omega\times\\v_{G}\times & \omega\times\end{bmatrix} \begin{bmatrix}m\\ & J_{G}\end{bmatrix} \begin{bmatrix}1 & -\rho_{G}\times\\0 & 1\end{bmatrix} \begin{pmatrix}v_{B}\\\omega\end{pmatrix} \end{align}

In the end you are trying to show that the last part is $$+\begin{bmatrix} \omega\times\\v_{B}\times & \omega\times\end{bmatrix} \begin{bmatrix}1 & 0\\\rho_{G}\times & 1\end{bmatrix} \begin{bmatrix}m\\ & J_{G}\end{bmatrix} \begin{bmatrix}1 & -\rho_{G}\times\\0 & 1\end{bmatrix} \begin{pmatrix}v_{B}\\\omega\end{pmatrix}$$

I can show this with

\begin{aligned} \begin{bmatrix}\omega\times\\v_{B}\times & \omega\times\end{bmatrix}\begin{bmatrix}1 & 0\\ \rho_{G}\times & 1 \end{bmatrix}&=\\\begin{bmatrix}\omega\times\\ \left(v_{G}+\rho_{G}\times\omega\right)\times & \omega\times \end{bmatrix}\begin{bmatrix}1 & 0\\ \rho_{G}\times & 1 \end{bmatrix}&=\begin{bmatrix}\omega\times\\ \left(v_{G}+\rho_{G}\times\omega\right)+\omega\times\rho_{G}\times & \omega\times \end{bmatrix}\\\begin{bmatrix}\omega\times\\ v_{G}\times+\left(\rho_{G}\times\omega\right)\times+\omega\times\left(\rho_{G}\times\right) & \omega\times \end{bmatrix}&=\begin{bmatrix}\omega\times\\ v_{G}\times+\left(\rho_{G}\times\omega\times-\omega\times\rho_{G}\times\right)+\omega\times\rho_{G}\times & \omega\times \end{bmatrix}\\\begin{bmatrix}\omega\times\\ v_{G}\times+\rho_{G}\times\omega\times+ & \omega\times \end{bmatrix}&=\begin{bmatrix}1 & 0\\ \rho_{G}\times & 1 \end{bmatrix}\begin{bmatrix}\omega\times\\ v_{G}\times & \omega\times \end{bmatrix} \end{aligned}

Use the vector identity $\left(\rho_{G}\times\omega\right)\times = \rho_{G}\times\omega\times-\omega\times\rho_{G}\times$

So, in the end, the equations of motion are

\begin{aligned} & \mbox{at G} & & \mbox{at B} \\ {\bf f}_G & = {\rm J}_G \dot{{\bf v}}_G + {\bf v}_G \times {\rm J}_G {\bf v}_G & {\bf f}_B & = {\rm J}_B \dot{{\bf v}}_B + {\bf v}_B \times {\rm J}_B {\bf v}_B \\ {\bf f}_G & = \pmatrix{f \\ \tau_G} & {\bf f}_B & = \pmatrix{f \\ \tau_B} \\ {\bf v}_G & = \pmatrix{v_G \\ \omega} & {\bf v}_B & = \pmatrix{v_B \\ \omega} \\ \dot{{\bf v}}_G & = \pmatrix{\dot{v}_G \\ \dot{\omega}} & \dot{{\bf v}}_B & = \pmatrix{\dot{v}_B \\ \dot{\omega}} \\ {\rm J}_G & = \begin{bmatrix}m\\ & J_{G}\end{bmatrix} & {\rm J}_B & = \begin{bmatrix}m & -m \rho_G \times\\m \rho_G \times & J_{G}-m \rho_G \times \rho_G \times\end{bmatrix} \\ {\bf v}_G \times & = \begin{bmatrix}\omega\times\\v_{G}\times & \omega\times\end{bmatrix} &{\bf v}_B \times & = \begin{bmatrix}\omega\times\\v_{B}\times & \omega\times\end{bmatrix} \end{aligned}

NOTE:

It is worth in to use material accelerations to derive the equation of motion like with my answer here and then transform back to spatial accelerations (with $a_B = \dot{v}_B + \omega \times v_B$) to simplify the terms.

Also, The term $J_{B}=J_{G}-m \rho_G \times \rho_G \times$ is the vector form of the parallel axis theorem. All throughout I am using $\times$ as the 3×3 cross product operator $$r \times = \pmatrix{x\\y\\z} \times = \left[ \matrix{0&-z&y\\z&0&-x\\-y&x&0} \right]$$

• Thanks for taking the time to write such a thorough answer! The reference I'm reading does not change the inertia tensor, i.e., the $\rho_G\times \rho_g \times \dot{\omega}$ term does not appear. Is this incorrect? If I am not mistaken, your $J_B$ is not necessarily symmetric? – mcpca Aug 11 '17 at 18:37
• Sorry, I was misinterpreting the equation for $J_B$. I see it now. Apparently there is an error in the reference I was using. Sorry for my confusion and thanks again. – mcpca Aug 11 '17 at 18:56
• You are welcome. It was lucky for you to catch me online. This is a subject very dear to my heart. Note that all 3×3 $J$ tensors are symmetric as well as all 6×6 ${\rm J}$ spatial inertia matrices. – John Alexiou Aug 11 '17 at 19:01