robot_localization: no odometry output from navsat_transform_node
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 robotlocalization on. However, the output from the ekflocalizationnode seems to diverge quickly and does not seem accurate. Upon further inspection, I noticed that the navsattransformnode 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 navsattransform_node.
I am using imufiltermadgwick to fuse the accelerometer and gyroscope data. I am sending this output on /imu/data to both ekflocalizationnode and navsattransformnode. In accordance with some other threads I was reading on this forum, I have also had the navsattransformnode and ekflocalizationnode 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/0B9lWXqYhWAlxdGYxWDU5UG14Q3c/view?usp=sharing
Launch file
https://drive.google.com/file/d/0B9lWXqYhWAlxRm9CSFNDOEJrVnc/view?usp=sharing
While running the bagfile and the nodes, I also recorded the imu/data topic output by imufiltermadgwick, which I have enclosed below.
https://drive.google.com/file/d/0B9lWXqYhWAlxUEhLenR5SlBZdnM/view?usp=sharing
Thanks for taking the time to read this!
Asked by jll on 2015-09-29 11:21:02 UTC
Answers
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.
Asked by jll on 2015-09-30 08:25:42 UTC
Comments
Interesting. I'll check that out.
Asked by Tom Moore on 2015-10-01 14:11:44 UTC
Comments