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

how to use IMU sensor with relative orientation data in navsat transform node

asked 2021-11-07 22:48:22 -0500

rcbot gravatar image

updated 2021-11-07 22:48:47 -0500

Hi, I am working on fusing visual odometry, IMU, and gps sensor by using a robot localization package. There are a couple of issues with my IMU data 1) it's not giving absolute orientation or heading as required by the node, it is providing relative orientation(the orientation will be zero at start irrespective of its orientation with east) 2) its orientation values are subjected to high noise (it might be due to interference and vibration on the robot). But, for the navsat_transform node, absolute heading from IMU is required to transform GPS position values to robot local map frame. As my IMU orientation values are not absolute and have high noise, I used the datum parameter in the navsat_transform node to define local-frame origin and get the initial transformation. image description

My questions are. 1) Is it the right approach to use the datum parameter if we have noisy or relative IMU orientation data?

2) Is defining this datum parameter is enough for the navsat_transform node to work (irrespective of IMU heading values) or Do I still need to provide absolute heading or orientation values to the navsat_transform node though I define datum parameter at the start?

3) If I should have to provide absolute heading or orientation values to the navsat_transform node, how can I convert the relative headings to absolute heading?

Thank you and I would be glad if someone can help with this issue.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2021-12-22 05:11:16 -0500

Tom Moore gravatar image

navsat_transform_node needs to know the robot's heading w.r.t. the UTM grid, or it's impossible for it to create a transform from that coordinate frame to your robot's local coordinate frame. If your IMU does not have a magnetometer, you're going to have to find a way to get that information. You can maybe write a node that differentiates two GPS poses to generate an IMU message with that information, or you can always make sure your robot is facing exactly east when it starts.

edit flag offensive delete link more


Thank you @TomMoore for the detailed answer. I really appreciate it.

rcbot gravatar image rcbot  ( 2022-03-09 04:41:21 -0500 )edit

Question Tools

1 follower


Asked: 2021-11-07 22:48:22 -0500

Seen: 305 times

Last updated: Dec 22 '21