3
$\begingroup$

I am working on a 6DOF IMU that contains a 3-axis accelerometer and a 3-axis gyroscope. I am building a project to plot the position and orientation of a vehicle/dirt bike in a 3d plane. However, the inertial measurement unit is placed away from the centre of mass of the vehicle i.e. in the boot/taillight of the car/bike. The vehicle will be performing extreme manoeuvres in a terrain. I have the below questions regarding this matter.

As far as I have read, I have to offset accelerometer and gyroscope readings due to its placement away from the centre of mass of the vehicle. In some articles I have read that the placement of the gyroscope does not affect gyroscope readings; however, just to be sure, I am asking once again if gyro measurements needed to be offset.

I have found two articles stating how to offset accelerometer readings with regards to its placement inside the body.

Accelerometer Placement – Where and Why

In this article the below formula is used:

$$ \begin{matrix}{} A_{r’} & = & A + A_r & + \\ & & 2\omega \times V_r & + \\ & & \alpha \times r & + \\ & & \omega \times (\omega \times r) & + &\end{matrix}\begin{aligned} &\leftarrow \text{Inertial Acceleration} \\ &\leftarrow \text{Coriolis Acceleration} \\ &\leftarrow \text{Euler Acceleration} \\ &\leftarrow \text{Centripetal Acceleration} \end{aligned}$$

However, I am not sure how to proceed with this formula. I have $a_x$, $a_y$, and $a_z$ from IMU from a point X (i.e. where the IMU is placed) and using this formula I want to get $a_x$, $a_y$, and $a_z$ at centre of mass of the vehicle; but I am confused as to how to proceed with this formula.

Calculating acceleration offset by Center of Gravity (C.G.)


Starting from the well-known acceleration transformation formula between an arbitrary point A and the center of mass C with $\vec{c} = \vec{r}_C - \vec{r}_A$.

$$ \vec{a}_C = \vec{a}_A + \dot{\vec{\omega}} \times \vec{c} + \vec{\omega} \times \vec{\omega} \times \vec{c} $$

one can use the 3×3 cross product operator to transform the above into

$$ \vec{a}_C = \vec{a}_A + \begin{vmatrix} 0 & -\dot{\omega}_z & \dot{\omega}_y \\ \dot{\omega}_z & 0 & -\dot{\omega}_x \\ -\dot{\omega}_y & \dot{\omega}_x & 0 \end{vmatrix} \vec{c} + \begin{vmatrix} 0 & -\omega_z & \omega_y \\ \omega_z & 0 & -\omega_x \\ -\omega_y & \omega_x & 0 \end{vmatrix} \begin{vmatrix} 0 & -\omega_z & \omega_y \\ \omega_z & 0 & -\omega_x \\ -\omega_y & \omega_x & 0 \end{vmatrix} \vec{c} $$

or in the form seen the linked post

$$ \vec{a}_C = \vec{a}_A + \begin{vmatrix} -\omega_y^2-\omega_z^2 & \omega_x \omega_y - \dot{\omega}_z & \omega_x \omega_z + \dot{\omega}_y \\ \omega_x \omega_y + \dot{\omega}_z & -\omega_x^2-\omega_z^2 & \omega_y \omega_z - \dot{\omega}_x \\ \omega_x \omega_z - \dot{\omega}_y & \omega_y \omega_z + \dot{\omega}_x & -\omega_x^2 - \omega_y^2 \end{vmatrix} \vec{c} $$


However I am confused about this formula as well, since none of them give me ax, ay, and az from the centre of mass of the vehicle.

Kindly help me since I am new to this field, I am originally from a computer science background, and I am struggling to understand these concepts.

Also, if you can give me reference documents as to how do I interpret values from accelerometer and gyroscope, rotation and why is it necessary, that would be great.

$\endgroup$
1
  • $\begingroup$ A crane or a dirt bike? $\endgroup$ Commented Jan 10, 2023 at 2:10

1 Answer 1

1
$\begingroup$

The second post you link there seems to explain it pretty well:

Starting from the well known acceleration transformation formula between an arbitrary point A and the center of mass C with $\vec{c} = \vec{r}_C - \vec{r}_A$.

$$ \vec{a}_C = \vec{a}_A + \dot{\vec{\omega}} \times \vec{c} + \vec{\omega} \times \vec{\omega} \times \vec{c} $$

If you have an accelerometer at arbitrary point A and you're trying to determine acceleration about the center of mass C, then you should rearrange the equation to solve for $\vec{a}_A$, right? The trivial answer is

$$ \vec{a}_A = \vec{a}_C - \dot{\vec{\omega}} \times \vec{c} + \vec{\omega} \times \vec{\omega} \times \vec{c} $$

but you can apply a similar rearranging to the expanded equation you gave in your answer.

$\endgroup$
5
  • $\begingroup$ Hi @Chuck I think there is something wrong with this formula As the units on LHS and RHS do not add up correctly for example unit of angular velocity is rad/s and angular acceleration is rad/s2 however we don't see anything like this on LHS of the equation. Are you sure this is the correct equation of acceleration transformation ? Because I tried implementing this formula when body is in rotational motion only and no translational motion, however output using this formula was not correct as if a body is in rotational motion the accelerometer readings at centre of body should be 0. $\endgroup$ Commented Jan 11, 2023 at 11:16
  • $\begingroup$ @AkashSagar - you haven't shared your attempt here, but if the accelerometer is at the center of the body then $c=0$, which means $ \vec{a}_A = \vec{a}_C - \dot{\vec{\omega}} \times \vec{c} + \vec{\omega} \times \vec{\omega} \times \vec{c} $ becomes $ \vec{a}_A = \vec{a}_C - \dot{\vec{\omega}} \times 0 + \vec{\omega} \times \vec{\omega} \times 0 $, which reduces to $ \vec{a}_A = \vec{a}_C$. If you got something different then maybe there was some error in your implementation of the equation? $\endgroup$ Commented Jan 11, 2023 at 14:46
  • $\begingroup$ Regarding units, important to note that $- \dot{\vec{\omega}} \times \vec{c}$ is using the derivative of $\omega$ - there's a dot there! $\dot{\vec{\omega}}$. This gives you units of $1/s^2$, times distance vector $c$, in meters (presumably), which works out to $m/s^2$, which is an acceleration unit. Similarly $\vec{\omega} \times \vec{\omega} \times \vec{c} $ gives you units of $(1/s) \times (1/s) \times (m)$, which again works out to $m/s^2$. $\endgroup$ Commented Jan 11, 2023 at 14:48
  • $\begingroup$ Hi @Chuck It was not possible to add my calculations here, so I have added another question regarding this where you can see my implementation robotics.stackexchange.com/questions/24294/… $\endgroup$ Commented Jan 13, 2023 at 5:31
  • 1
    $\begingroup$ @AkashSagar how did you solve this? Is this approach correct? $\endgroup$ Commented Jan 25, 2023 at 15:04

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.