ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
I see what you're trying to do. You shouldn't need the datum
parameter; that's really there to force the GPS origin to a given point, rather than letting the first GPS reading be the GPS origin.
The problem is that navsat_transform_node
was written to handle this situation:
nav_msgs/Odometry
messages with its current pose. No GPS signal is available.In that situation, we need to invert our robot's pose in the nav_msgs/Odometry
message, append that to the GPS reading, and use that point as our GPS origin.
In your case, I think you should be able to just publish a nav_msgs/Odometry
message to /initialpose
that has a 0 position and an identity quaternion. You need to make sure that you set the frame_id
and child_frame_id
appropriately in the /initialpose
message (in your case, it appears that you want map and base_link, respectively). Also, your IMU data is in the body_FLU frame. Are you providing a transform from that frame to base_link? You'll need to.