0
$\begingroup$

Rosanswers logo

Hello ROS community,

Since gmapping is a SLAM algorithm, I would like to use both the map and the localization being computed by this algorithm. From what I have seen so far, gmapping only publishes the /map and does not provide any such localization information (i.e. an estimate of the robot pose). My question is this:

Is the gmapping package in ROS performing SLAM? If so, can we get localization information directly from it, rather than having to use other packages like amcl, robot_pose_ekf and robot_localization?

I need to have a fairly accurate robot pose estimate within the map that is the result of SLAM gmapping, rather than using the robot pose estimated from the odometry data. I need to use this in an exploration algorithm.

Also, I seem to have a localization problem in gmapping since if the robot is rotated by 180 degrees in an alley, the resulting map is a mess as shown below:gmapping result

I appreciate any help. Thank you!

RND


Originally posted by RND on ROS Answers with karma: 133 on 2015-04-18

Post score: 1


Original comments

Comment by N.N.Huy on 2021-03-26:
Hello, did you find the answer, i have the same concern as you have :))

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

GMapping does not publish geometry_msgs/PoseWithCovarianceStamped message as robot_pose_ekf and other packages do. Instead it provide transformation from map frame to odom frame. In combination with transformation from odom frame to robot base frame (provided by your odometry) you have estimation of your robot pose.

About the rotation problem you have other informations are needed (about hardware, configuration etc).

Bye Ale


Originally posted by afranceson with karma: 497 on 2015-04-20

This answer was ACCEPTED on the original site

Post score: 4


Original comments

Comment by roberto3 on 2018-02-21:
Do you know how you can get the PoseWithCovarianceStamped from gmapping??? because I use a translator to change odom to pose but the covariance doesn't change and i do not use the entropy. Any idea?

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.