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

Revision history [back]

To resolve laser odometry issues, try using the default scan matching parameters (http://wiki.ros.org/laser_scan_matcher#Scan_matching). Since you mentioned about fake odometry, I'm assuming you don't have wheel odometry. So use_odom parameter must be set to false in the laser scan matcher launch file.

Regarding AMCL, I think you are using only a small fraction of the laser returns by setting laser_max_beams to 30. This could be a reason by AMCL is not localizing. Instead try setting it to 266 (assuming the angular resolution of your RPlidar is 1.35. 360/1.35 ~= 266)

To resolve laser odometry issues, try using the default scan matching parameters (http://wiki.ros.org/laser_scan_matcher#Scan_matching). Since you mentioned about fake odometry, I'm assuming you don't have wheel odometry. So use_odom parameter must be set to false in the laser scan matcher launch file.

Regarding AMCL, I think you are using only a small fraction of the laser returns by setting laser_max_beams to 30. This could be a reason by AMCL is not localizing. Instead try setting it to 266 (assuming the angular resolution of your RPlidar is 1.35. 360/1.35 ~= 266)


EDIT

I ran an AMCL instance using the map data and only the /scan data from your bag file and was able to localize successfully. See : https://drive.google.com/drive/folders/1ZuGp5d-XtD9XBQN_ZrgRcAciHaZOU2xn?usp=sharing

In the second video, I purposely gave a wrong initial orientation and it was able to converge to the correct pose after a while.

I noticed that somehow your recorded bag file's TF always have a ZERO static transform between map and odom. See below

image description

image description

You should double check your launch files to see if any of them is publishing an unwanted static transform between odom and map. Only AMCL should be publishing this transform. I've also uploaded the launch files I used in the same shared folder for your reference. localize.launch is the main launch file.

Note however that your environment is somewhat challenging to localize overtime (Especially when the robot is in the middle of the corridor.) because your laser has only about 15 meter range. When the robot is in the middle of the corridor the laser can't see one end and all positions along the corridor might look the same.