ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Navsat_transform_node and earth referenced heading

asked 2021-02-09 17:31:13 -0500

Gherkins gravatar image

I want to use the um7 IMU in combination with a GPS and navsat_transform_node 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. Navsat_transform_node 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 rviz_imu_plugin the imu_link green (which I think should point to north) doesn't point to north. Should the imu point to north?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2021-02-23 09:09:51 -0500

xaru8145 gravatar image

updated 2021-02-24 09:46:43 -0500

  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.
edit flag offensive delete link more

Question Tools



Asked: 2021-02-09 17:31:13 -0500

Seen: 499 times

Last updated: Feb 24 '21