How to adjust rotation from sensor to body

Home Forums UM7 Product Support How to adjust rotation from sensor to body

This topic contains 1 reply, has 2 voices, and was last updated by  Caleb 2 years, 8 months ago.

  • Author
    Posts
  • #718

    John S.

    Is there a way to input the constant rotation between the board-fixed coordinates and the desired body-fix coordinates of the device to which the board is attached? I read through the manual and couldn’t see that as one of the potential options. Particularly in the case of using the roll-pitch-yaw output, it would be nice if there was a configuration parameter that allowed us to specify this in software, rather than having to very precisely align the board with the axes of our robot.

    I guess I can just use the quaternion output and do this adjustment on our own board, but as we will be using roll-pitch-yaw anyway, it seemed like an unnecessary additional step if the UH7 supports this kind of constant offset.

  • #719

    Caleb
    Moderator

    Hi John,

    That feature may be supported in future firmware releases, but currently there is no support for rotating the effective body-frame on the UM7.

    • #722

      John S.

      I assume the best course of action would then be to use the quaternion output and calibrate using an external fixture to find the constant rotation to your desire body-fixed frame, then manually converting the quaternion to the new roll-pitch-yaw.

  • #725

    Caleb
    Moderator

    Hi John,

    Once the UM7 is mounted on your platform, orient it so that yaw = pitch = roll = 0. Note the non-zero angle outputs. For all subsequent measurements from the UM7, apply the inverse of that rotation to the UM7 outputs. This is most easily done with quaternions.

    If the quaternion output of the UM7 is given by q_ib (meaning, the quaternion rotating from the inertial frame (i) to the body-frame (b)), and if the “misalignment” quaternion (the output of the UM7 when it is at angles (0,0,0)) is given by q_m, then the corrected attitude would be given by:

    q = q_ib*q_m^*

    where q_m^* is the conjugate of q_m, and the multiply shown is a quaternion product.

You must be logged in to reply to this topic.