2
$\begingroup$

I am new to IMU. About the measurements from IMU, different materials give different explanations.

From the link:

https://www.it.uu.se/edu/course/homepage/systemid/vt14/tokp2.pdf enter image description here Here the b maybe indicate body frame of IMU. Maybe e indicate earth frame. I can't understand the rotation matrix R(be) in the second equation means. Is R(be) from camera-IMU calibration to represent the extrinsic paramter between camera and IMU. Is the measurement from the accelerometer expressed in the IMU frame or not?

$\endgroup$
1
$\begingroup$

There's no camera. An IMU doesn't have a camera. $R^{b\mbox{e}}$ is the rotation matrix that describes the orientation of the sensor body $b$ with respect to the Earth $\mbox{e}$. The equations are simply stating that the sensors are outputting the body forces $f^b$ and body angular velocities $\omega^b$, plus some sensor bias $\delta$ and some sensor noise $e$.

The accelerations on the sensor body, in the body frame, are equivalent to taking the body acceleration in the Earth's frame, $\ddot{b}^\mbox{e}$, and the gravitational acceleration in the Earth's frame, $g^\mbox{e}$, and transforming them from Earth frame to body frame with $R^{b\mbox{e}}$.

$\endgroup$
  • 1
    $\begingroup$ The accelerometer measures acceleration, but acceleration and force are proportional, with mass as the coefficient of proportionality. The rotation matrix can be difficult to calculate because of the causality problem: You need the rotation matrix to describe how the sensor is oriented, but then you need to transform the sensor data to be able to update the rotation matrix. Chicken or egg. $\endgroup$ – Chuck Aug 1 '18 at 12:46
  • 1
    $\begingroup$ Some IMU filtering methods rely on the fact that the only sustainable acceleration is gravity (unless your speed is going to infinity), so their approach is to normalize the accelerometer output and use the resulting vector to "pull" the orientation because that vector should generally point down, towards the Earth (or up, depending on the polarity of the sensor). This will provide a fix for down, the x/y axes, but will not provide a fix for the yaw/heading/z axis angle. This is why a magnetometer (compass) is usually included with IMUs. $\endgroup$ – Chuck Aug 1 '18 at 12:49
  • 1
    $\begingroup$ The Madgwick filter is already written and source code is available here if you're interested - highly recommended. $\endgroup$ – Chuck Aug 1 '18 at 12:49
  • 1
    $\begingroup$ Gyroscopes and accelerometers will always have an output bias, which will lead to a pose drift when you perform the integration to get from the acceleration/velocity terms to a position. Gravity always points down, though, so an accelerometer provides a stable reference to the rotation required to point down. Thus, you need to (should) use the gyroscopes AND accelerometers to determine the current rotation of the IMU, $R^{b\mbox{e}}$. You need the current rotation to find the gravity vector, and you need the gravity vector to find the current rotation. This is the causality problem. $\endgroup$ – Chuck Aug 1 '18 at 14:40
  • 1
    $\begingroup$ So, to answer your question, you would want to use the gryo outputs $y_{\omega}$ AND the accelerometer outputs $y_a$ to determine the current orientation $R^{b\mbox{e}}$. You need to have $R^{b\mbox{e}}$ to be able to convert accelerometer output $y_a$ to a position in the Earth frame $b(\mbox{e})$. $\endgroup$ – Chuck Aug 1 '18 at 14:47

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.