0
$\begingroup$

My problem is identical to this unanswered question.

IMU orientation reference image

I have an IMU mounted on an object at an angle offset with that object's pitch and roll axes. When I get pitch and roll measurements from the IMU, how can I translate them to the pitch and roll values experienced by the object?

In the reference image, the black P and R axes are the axes of the object, the red p and r axes are the IMU's axes, and angle theta is known. So for example, if that angle is 45 degrees and the object is pitched forward, the IMU will measure values for both roll and pitch. How can I translate these measurements so they reflect the pitch-only orientation of the object?

$\endgroup$
0
$\begingroup$

IMU's measure rates, not angles. Your IMUs get pitch and roll rates in the IMU sensor frame, and must then be transformed to the desired mechanical frame. You would know that transformation by measuring the offset mounting angles of the IMU in the mechanical frame.

$\endgroup$
  • $\begingroup$ Thanks for your reply. I know what IMU's measure - this is just a general description of the problem. The SW library gives me a quaternion and provides a method to translate that to pitch/roll, so that's what I have. The question is, since I know the offset mounting angle, how do I transform that to the mechanical frame? $\endgroup$ – pelotron Apr 8 at 19:48
  • $\begingroup$ If you have the coordinate vectors of the sensor frame in the mechanical frame, that is your transformation matrix between the two coordinate systems. $\endgroup$ – lee84 Apr 8 at 19:52
  • $\begingroup$ Tell me if this is what you mean: What I've tried is constructing a rotation quaternion that performs a yaw of value theta: [0, 0, sin((pi/4)/2), cos((pi/4)/2)] I then multiplied that with the quaternion from the IMU but when converting the result to (Tait-Bryan I think) Euler angles, the result was the same except for a new yaw value. $\endgroup$ – pelotron Apr 8 at 19:58
  • $\begingroup$ There are multiple ways to approach this. As an engineer, I usually take the easiest way out, so I am not sure if that's the path you are looking for. In my experience quaternion are faster for multiplying than DCMs, but DCMs are more intuitive to me. So, just my approach, I would take the pitch/roll axis in the sensor frame, transform those to the mechanical frame, then I would have the contributions of this IMU rate measurements in the mech frame. Parts of IMU pitch could show up in mech pitch, roll, and or yaw, etc $\endgroup$ – lee84 Apr 8 at 20:19
  • $\begingroup$ One more try here: how do I make the transformation from the sensor frame to the mechanical frame? Mathematically. $\endgroup$ – pelotron Apr 16 at 16:40

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.