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

Combining AMCL, gmapping, odometry?

asked 2013-10-24 07:34:34 -0500

Hendrik Wiese gravatar image

updated 2013-10-24 07:35:03 -0500

Hi folks,

how are things like AMCL, gmapping and odometry combined?

We're building a robot that will be capable of localizing itself within its environment by using a fixed triangulation system (called beacons). This system tells the robot its X and Y coordinates within the map. So the robot knows its current position pretty well.

Orientation however is measured by a gyroscope. Its angular velocity value is integrated over time to extrapolate the robots orientation. It most likely will be drifting.

Besides the gyroscope/accelerometer the robot will also have access to rotary encoders which measure the distance that its wheels will drive.

And the third thing the robot will likely get is a laser scanner. However there might be other moving obstacles in the range of the laser.

Now, how could we combine pretty well known absolute localisation with laser scan, drifting orientation and odometry by means of AMCL and gmapping?

Thanks a lot!

Cheers, Hendrik

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2013-10-26 13:52:30 -0500

dan gravatar image

This page gives a nice overview and mostly answers the questions you asked:

It is one of the navigation tutorials. They are an excellent resource, well worth going through, and are linked to from that page.

Basically, you start by publishing the output of the encoders and the gyro as an odometry message and also publish it as a transform that connects your robot (e.g., "base_link" or "base_footprint") to the odom reference frame. amcl and gmapping incorporate the laser scan. amcl will provide the map reference frame transform and localize the robot while gmapping will build a map from the laser data.

edit flag offensive delete link more



Ah, that's why my robot keeps jumping around in rviz when I enable amcl. I have a static link between map and odom. I'll have a look at the tutorial nevertheless. Thank you very much!

Hendrik Wiese gravatar image Hendrik Wiese  ( 2013-10-26 14:59:54 -0500 )edit

Yes, a static link between map and odom is not good and would produce the sort of behavior you describe as the frame published by amcl would fight with that. To clarify my answer amcl and gmapping do not run at the same time, run one or the other to either localize or make a map.

dan gravatar image dan  ( 2013-10-26 16:25:58 -0500 )edit

If this answers your question well enough, please mark it as answered by clicking on the check mark. That saves others from checking to see if it needs attention. Thanks.

dan gravatar image dan  ( 2013-10-26 16:26:43 -0500 )edit

Certainly, I'll do as soon as I know that it does.

Hendrik Wiese gravatar image Hendrik Wiese  ( 2013-10-26 23:28:00 -0500 )edit

@dan, if you want to map and localize at the same time? is possible with gmapping and amcl or there are other algorithms for that?

lovelife gravatar image lovelife  ( 2018-12-27 12:04:08 -0500 )edit

Question Tools



Asked: 2013-10-24 07:34:34 -0500

Seen: 4,150 times

Last updated: Oct 26 '13