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

ROS navigation AMCL with extended kalman filter

asked 2017-05-20 01:56:28 -0600

SigurdRB gravatar image

Hi! I am using the ROS navigation stack with my robot. I have odometry information from the wheel encoders, and a laser range finder. I am currently using AMCL to account for odometry drift. I was wondering if it is benefitial to use an Extended Kalman Filter (EKF node) that takes in information from the wheel odometry and publishes out "odometry_filtered" which I send to AMCL and the move_base node? The odometry isn't that good with just AMCL. The robot turns left and right a lot since AMCL corrects its pose because of the odometry drift.

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2017-05-20 14:57:52 -0600

robot_localization provides a nicely configurable Kalman Filter implementation and is probably the most frequently used package for such tasks. That being said, if you only have wheel odometry available do not expect major improvements, as KF-based estimators are most useful for fusing multiple different sources of information. A common setup would be fusing angular yaw rates from an IMU with linear velocities from wheel odometry.

If you just send wheel odometry to a EKF and nothing else. By adjusting the process and measurement noise you could add some smoothing/adjust for noise, but to see noticable improvements adding for instance an IMU to measure angular rates is recommended.

edit flag offensive delete link more

answered 2017-05-21 01:48:32 -0600

SigurdRB gravatar image

Okey, thanks! Then I will not implement a Kalman filer with AMCL for now. This is for a thesis where we write about autonomous navigation. We have a youBot to implement some of the algortithms and theory on, and I thought about doing som last minute changes for a more stabile movement.

With the navigation stack I can set the "global_frame" to both odom and map. Do you have any experience with this? When I put the global_frame to map, the costmaps get correct, and it seems to go ok, except for discrete movement. If I set the global frame to odom the movement gets smoother, but I expect not as good planning and long term routes because of the not alligned costmap.

edit flag offensive delete link more


Hey I am also trying to implement autonomous navigation for my project I have learned the theory but I am not able to implement it on ROS. I have basic knowledge of ROS but don't know how to integrate all the filter in ROS can you guide me message me on my mail . Please help sir

Dhagash Desai gravatar image Dhagash Desai  ( 2017-05-21 03:58:30 -0600 )edit

Question Tools

1 follower


Asked: 2017-05-20 01:56:28 -0600

Seen: 2,086 times

Last updated: May 21 '17