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

robot localization weird bahavior when playing bag

asked 2018-08-29 08:32:23 -0500

sean gravatar image

I used GPS and IMU to localize my robot with robot_localization.
After I recorded my data, which includes topics Imu, NavSatFix and TwistWithCovarianceStamped, I played the bag and launch the nodes.
The bag is available at here
The launch files are as following:

The parameter files for my robot are:

After I launched the file several times, I notices that the results are not always the same, sometimes the result seems good[Fig. 1], while sometimes the result were very terrible[Fig. 2].
Fig. 1
Fig. 2

It really confused me that with the same topics and the same parameters, I got the different results.
Notice also that the direction of oscillation of Fig. 2 is from northeast to southwest, which northeast is the direction from the origin of UTM to my position, a,k,a., Taiwan.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2018-09-05 08:29:05 -0500

Tom Moore gravatar image

Please post sample input messages from every sensor input.

r_l is not great at fusing just IMU and GPS data. The filter doesn't handle IMU biases at all, so you'll quickly find that linear acceleration values will integrate without bound, causing the robot to run away. As a workaround, you can try converting your commanded velocities into a nav_msgs/Odometry message, and fuse the velocities into the filter. That will at least keep it from running away.

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2018-08-29 08:32:23 -0500

Seen: 341 times

Last updated: Sep 05 '18