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

Revision history [back]

As per my understanding, I can avoid discrete jumps due to GPS by setting world_frame = odom. Also, I set the imu_frame = odom.

No. What the documentation is trying to get across is that data that is subject to discrete jumps, like GPS data, should not be fused into your state estimate if your world frame is set to odom. Changing the frame to odom won't fix the behavior of the GPS data. However, if you are only running a single EKF instance and your world_frame is the same as your odom_frame, then it won't hurt anything. You'll just have to deal with your position jumping around.

Also, do not make the frame_id of your IMU data "odom." Create a base_link->imu transform, and make the frame_id of your IMU data imu.

There are numerous ROS answers questions regarding the map/odom/base_link frames and the way they're handled by robot_localization:

http://answers.ros.org/question/222702/how-to-use-resulting-map-odom-frame-data-from-ekf-filter-of-robot_localization-package/

http://answers.ros.org/question/203989/map-frame-from-robot_localization/