ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | Q&A
Ask Your Question

navsat_transform broadcasting strange map->utm tf

asked 2016-08-11 06:58:23 -0500

aymar111 gravatar image

updated 2016-08-12 03:11:38 -0500

Hello there !

I'm trying to fuse data from different sensors (IMU, GPS and a rotating lidar) into an extended Kalman filter provided by robot_localization in order to drive my rover using move_base. I'm running ros indigo on ubuntu 14.04.

With the right packages i was able to publish three topics for my three sensors :

  • /gps/fix : sensor_msgs/NavSatFix
  • /imu/data : sensor_msgs/Imu
  • /pose_with_covariance_stamped : geometry_msgs/PoseWithCovarianceStamped (let's call it /pose)

Here's how my navsat_transform_node and ekf_localization node are set :


  • Input : /imu/data, /gps/fix, /odometry/filtered
  • Output : /odometry/gps


  • Input : /imu/data, /pose, /odometry/gps
  • Output : /odometry/filtered

According to REP105 and what I've read in this forum I think my frames are set correctly, see the tf tree below:

image: (in the link below if not working)

Now when i plot my topics in rviz i see /odometry/filtered drifting to infinity and beyond and i don't understand why ... Looking at my tf tree it looks like the map->utm transform is bugged, however i got this message in my navsat_transform terminal :

INFO[1470904382.578813798]: World frame->utm transform is Origin: (-4945736.2295890189707 677781.95941346196923 -470427.19763114472153) Rotation (RPY): (0.085877088202917686854, -0.066475908266541719471, -1.5762575291089457874)

My initial pose doesn't look right, as for my orientation i've offseted my imu and my robot is almost pointing north so that looks correct.

I have rosbag all my topics and put my launch files link:here or link:here , i'd be glad if you could have a look at it and give me a clue of what i'm doing wrong ! I made the rosbag while the robot wasn't moving and pointing almost north.

Thank you for your time.


Correcting the coma to a dot in value="0,00436332" (in navsat.launch) didn't change the drifting

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2016-08-11 18:36:10 -0500

M@t gravatar image

updated 2016-08-11 18:38:10 -0500

Just had a quick look through your navsat_transform_template.launch file. It looks like your magnetic declination parameter is set to


With a comma "," instead of a dot "." I'm pretty sure this should be a dot. Otherwise, navsat_transform won't be using the correct magnetic declination, so its /odomtry/gps output will have a systematic error in it which will mess up everything from that point onwards. In general, double check your magnetic declination and yaw offset - I can't stress enough how critical those parameters are. If they aren't correct then navsat_transform will just give you erroneous data.

I'll have a look through the bag file when I can just to confirm if this is your problem.

edit flag offensive delete link more


Thank you for noticing this mistake ! I'm adding an EDIT to my post, but whatsoever i ran with the "." instead of the "," and it didn't change the drifting ..

aymar111 gravatar image aymar111  ( 2016-08-12 03:05:55 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools



Asked: 2016-08-11 06:58:23 -0500

Seen: 581 times

Last updated: Aug 12 '16