0
$\begingroup$

I am trying to get correct equations for acceleration of a point in reference frame A, given position, velocity and acceleration in rotating reference frame B.

Let $\mathbf{x}_A(t)$, $\mathbf{v}_A(t)$, $\mathbf{a}_A(t)$ denote the position, velocity and acceleration of the point in reference frame A respectively. Let $\mathbf{x}_B(t)$, $\mathbf{v}_B(t)$, $\mathbf{a}_B(t)$ denote the position, velocity and acceleration of the point in rotating reference frame B respectively. If rotation of reference frame A into reference frame B is presented with rotation matrix $\mathbf{R}(t)$: \begin{equation} \mathbf{x}_A(t) = \mathbf{R}(t)\mathbf{x}_B(t) \end{equation} If derivative is taken from previous equation, velocity of the point in reference frame A is : \begin{align} \mathbf{v}_A(t)=\mathbf{\dot{x}}_A(t) &= \mathbf{\dot{R}}(t)\mathbf{x}_B(t) + \mathbf{R}(t)\mathbf{\dot{x}}_B(t)\\ &=\mathbf{\dot{R}}(t)\mathbf{x}_B(t) + \mathbf{R}(t)\mathbf{v}_B(t) \end{align} If derivative is taken from previous equation, acceleration of the point in reference frame A is : \begin{align} \mathbf{a}_B(t)=\mathbf{\ddot{x}}_B(t) &= \mathbf{\ddot{R}}(t)\mathbf{x}_B(t) + \mathbf{\dot{R}}(t)\mathbf{\dot{x}}_B(t) + \mathbf{\dot{R}}(t)\mathbf{v}_B(t) + \mathbf{R}(t)\mathbf{\dot{v}}_B(t)\\ &= \mathbf{\ddot{R}}(t)\mathbf{x}_B(t) + 2\mathbf{\dot{R}}(t)\mathbf{v}_B(t) + \mathbf{R}(t)\mathbf{a}_B(t)\\ \end{align} In most textbooks, there is cross product presentation of equations for position (not sure about correctness of below equations): \begin{equation} \mathbf{x}_A(t) = \mathbf{\phi}(t)\times\mathbf{x}_B(t) \end{equation} velocity: \begin{equation} \mathbf{v}_A(t) = \mathbf{\phi}(t)\times\mathbf{v}_B(t) + \mathbf{\Omega}(t)\times\mathbf{x}_B(t) \end{equation} acceleration: \begin{equation} \mathbf{a}_A(t) = \mathbf{\phi}(t)\times\mathbf{a}_B(t) + 2\mathbf{\Omega}(t)\times\mathbf{v}_B(t) + \mathbf{\dot{\Omega}}(t)\times\mathbf{x}_B(t) \end{equation} Previous equations I derived using derivative property of cross product $\frac{d}{dt}(\mathbf{a}\times\mathbf{b}) = \left(\frac{d}{dt}\mathbf{a}\right)\times\mathbf{b} + \mathbf{a}\times\left(\frac{d}{dt}\mathbf{b}\right)$

From both of these sets of equations, I'm missing centrifugal acceleration $\mathbf{\Omega}(t)\times\mathbf{\Omega}(t)\times\mathbf{x}_B(t)$. I know I may have lack of some fundamental knowledge and I hope you could help me with that.

$\endgroup$
  • $\begingroup$ Have you had a gander at the Wiki article? $\endgroup$ – BMS Nov 23 '13 at 15:55
  • $\begingroup$ @BMS I get correct formula just by substitution $\dot{\mathbf{\Omega}} = \left[\dot{\mathbf{\Omega}}\right] + \mathbf{\Omega}\times \mathbf{\Omega}$, but as I understand it this is not correct... This formula applies only to vectors in rotating reference frame, and $\mathbf{\Omega}$ is not one of them.. or is it..? $\endgroup$ – Slaven Glumac Nov 23 '13 at 19:16
1
$\begingroup$

It's not missing, it's in the $\ddot{R}(t)$ matrix.

It doesn't show up on its own when you do the calculation with matrices instead just vectors however.

Vector equations

The first equation should be written

$$\mathbf{x}_A(t) = \mathbf{\phi}(t) \times \mathbf{x}_B(t)$$

(just reverse where you have $A$ and $B$) since given the position in frame $B$ you have to find where it has rotated to in frame $A$.

For the velocity & acceleration relationships, what we usually find is actually $v_A(t)$ and $a_A(t)$ and in the end re-arrange the terms to get $v_B(t)$ and $a_B(t)$, substituting the above relationship as necessary.

We define a new operator that gives us the velocity in $A$ given the position in $B$; let's call it $\hat{v}$. As described in the wikipedia link in one of the above user's comments, what the operator should be is this:

$$\hat{v} \mathbf{x} = \frac{d \mathbf{x}}{d t} + \mathbf{\Omega} \times \mathbf{x}$$

with the acceleration operator as

$$\hat{a} \mathbf{x} = \hat{v}^2 \mathbf{x} = \hat{v} (\hat{v} \mathbf{x})$$.

Conceptually, you just replace $d/dt$ with $d/dt + \mathbf{\Omega} \times$ and apply this to $x_B (t)$ to get $v_A(t)$ and $a_A(t)$.

$\endgroup$
  • $\begingroup$ Could you tell me where did I go wrong with my vector calculation then? Thank you for the above answer. $\endgroup$ – Slaven Glumac Nov 23 '13 at 19:30
  • $\begingroup$ answer updated. $\endgroup$ – ghollisjr Nov 23 '13 at 23:47
  • $\begingroup$ I had a change of mind in notation. That is why I made that mistake about A and B coordinate system. P.S. This is not a homework (I don't know why someone tagged it as such), I'm trying to learn this myself in order to understand robotics simulator better. Thank you for these pointers. $\endgroup$ – Slaven Glumac Nov 24 '13 at 9:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.