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

When using navsat_transform_node, isn't it a problem to use IMU yaw to compute transform between map and base_link ?

asked 2017-06-30 08:55:09 -0500

Yvonnn gravatar image


In this video from Tom Moore at time 12:36, I can see that he sets IMU yaw to true. The consequence of this is that as soon as the robot is started, there is an non zero angle between base_link and map, with X axis of map pointing to the east (except if robot is facing east of course). I think there is an inconsistency with what this picture says image description. I understand here that map and base_link should be aligned at start so that navsat_transform_node can properly compute a transform between utm and map, thanks to the theta angle given by the IMU. Having map and base_link aligned is mandatory because the IMU reports the angle between base_link and east.

Can you please point me my mistake, and if there is no mistake, how should map and base_link be related when using navsat_transform_node ?

Thank you


edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2017-09-25 09:49:25 -0500

Tom Moore gravatar image

Ah, so I think the issue here is one if being descriptive vs. prescriptive. In the image from navsat_transform_node, all I am trying to do is visualize the parameters in question and the need for them. However, note that the drawing is not inconsistent with the use case of fusing yaw in your EKF state estimate. At time t0, the robot's state really is as the picture above shows, since you have not received an IMU measurement when the node starts. It just so happens that the EKF doesn't publish the state at time t0, which would just be a zero state (unless you specify a starting state).

However, it doesn't actually matter. navsat_transform_node does not assume that your robot's first pose is (0, 0). Imagine a scenario in which you start your robot indoors (without GPS signal), and then drive around for a while, and then go outside. We have to be able to support that use case, and we do. navsat_transform_node considers the robot's pose at the time it receives its initial GPS fix when it calculates the map->utm transform.

edit flag offensive delete link more

Question Tools



Asked: 2017-06-30 08:55:09 -0500

Seen: 645 times

Last updated: Sep 25 '17