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

robot_localization: no odometry output from navsat_transform_node

asked 2015-09-29 11:21:02 -0500

jll gravatar image

updated 2015-09-29 12:17:40 -0500

Hello,

I have a log file of IMU and GPS readings that I have read into a bagfile and which I am trying to use robot_localization on. However, the output from the ekf_localization_node seems to diverge quickly and does not seem accurate. Upon further inspection, I noticed that the navsat_transform_node I was using was subscribing to the requisite topics, but was not publishing anything on odometry/gps. I think this may be at least part of the problem and I'm wondering if anyone might be able to offer advice on just what I'm doing wrong in my input to navsat_transform_node.

I am using imu_filter_madgwick to fuse the accelerometer and gyroscope data. I am sending this output on /imu/data to both ekf_localization_node and navsat_transform_node. In accordance with some other threads I was reading on this forum, I have also had the navsat_transform_node and ekf_localization_node subscribe to the odometry messages output by each other.

I have attached the launch file I am using, along with the bagfile I have been using.

IMU and GPS data from log file that have been converted to IMU and NavSatFix messages respectively https://drive.google.com/file/d/0B9lW...

Launch file

https://drive.google.com/file/d/0B9lW...

While running the bagfile and the nodes, I also recorded the imu/data topic output by imu_filter_madgwick, which I have enclosed below.

https://drive.google.com/file/d/0B9lW...

Thanks for taking the time to read this!

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2015-09-30 08:25:42 -0500

jll gravatar image

The problem seems to lie in the fact that navsat_transform does not output any message when it detects a NaN in any one of the lat/long/altitude fields. However, I had inserted NaNs into my messages in the altitude field because the sensor_msgs API specified that a NaN should be inserted if the altitude information was not available. This caused the navsat_transform node to drop all the GPS messages and not output anything.

edit flag offensive delete link more

Comments

Interesting. I'll check that out.

Tom Moore gravatar image Tom Moore  ( 2015-10-01 14:11:44 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2015-09-29 11:21:02 -0500

Seen: 768 times

Last updated: Sep 30 '15