Robotics StackExchange | Archived questions

Navsat_transform_node and earth referenced heading

I want to use the um7 IMU in combination with a GPS and navsattransformnode to localize my robot in a field. However I'm getting a bit confused and I'm not sure what my data is supposed to be.

  1. Navsattransformnode requires an IMU message with an absolute earth referenced heading. Does this mean that my IMU pose should be pointing with it's y/yaw to north? What does this mean?

  2. When I'm reading the data from the um7 directly and get the output in euler angles xyz are all ~0 (with the imu pointing to north). However when I get the data with the um7 driver and visualize it with the rvizimuplugin the imu_link green (which I think should point to north) doesn't point to north. Should the imu point to north?

Asked by Gherkins on 2021-02-09 18:31:13 UTC

Comments

Answers

  1. IMU measures angular velocity and linear acceleration. If you integrate the first you can obtain relative orientation not absolute. However, IMUs are typically built with a magnetometer that provide an absolute reference to integrate the relative orientation and get the absolute heading.

  2. The IMU driver has to report 0 when facing east (even though its headings increase and decrease correctly). If this does not happen to you, use the yaw_offset parameter from navsat_transform_node. Also, make sure your IMU conforms to REP-105 and check that the signs of your orientation angles increase in the right direction. An IMU that is placed in its neutral right-side-up position on a flat surface will:

    • Measure +9.81 meters per second squared for the Z axis.
    • If the sensor is rolled +90 degrees (left side up), the acceleration should be +9.81 meters per second squared for the Y axis.
    • If the sensor is pitched +90 degrees (front side down), it should read -9.81 meters per second squared for the X axis.

Asked by xaru8145 on 2021-02-23 10:09:51 UTC

Comments