Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lidar sensor reflections causing inaccurate maps in ROS SLAM implementation when robot rotates #743

Closed
animesh-singhal opened this issue May 11, 2023 · 1 comment

Comments

@animesh-singhal
Copy link

animesh-singhal commented May 11, 2023

Bug Description
It appears that there is a problem with the Lidar sensor. While the sensor functions correctly when the robot moves in a straight line, it produces inaccurate point cloud reflections when the robot rotates in place or moves in an arc. As a consequence, the maps generated by the SLAM implementation are also affected, with noticeable deviations from the expected rectangular shape. This issue is observed across various robot models such as tiago_iron, turtlebot, and mir100. The attached images shows the output of the webots_ros2_tiago package's SLAM implementation. While the map supposed to be a perfectly rectangular map as shown in documentations, there is a deviation in the map that is actually obtained. The other two video evidences showcases how the points clouds and resulting map are impacted when robots rotate in place.

Steps to Reproduce

Visit the following page for reference: [Example-TIAGo](https://github.com/cyberbotics/webots_ros2/wiki/Example-TIAGo)
Set up the webots_ros2 package. If you choose to install via binaries, please note that a few dependencies will not be automatically installed, which can result in errors during the colcon build process.
Install the ros-humble-slam-toolbox package by running the following command: sudo apt install ros-humble-slam-toolbox.
Launch the scene using the following command: ros2 launch webots_ros2_tiago robot_launch.py rviz:=true slam_toolbox:=true.

Affected Packages
Problem consistent across packages in general.

Media
Tiago_rotation.webm

Mir100_rotation.webm

image

System
Webots Version: [latest]
ROS Version: [Humble]
Operating System: [Ubuntu Jammy]

@ygoumaz
Copy link
Contributor

ygoumaz commented May 12, 2023

The issue with SLAM-Toolbox in Webots is a known problem. The scan-matching feature is currently not functioning properly due to a lack of features. While it hasn't been fully confirmed, you can refer to the issue opened on the SLAM-Toolbox repository for more details (link to the issue).

If you have experience with Gazebo and accurate scan-matching using specific ST parameters, we would appreciate it if you could try applying those parameters in Webots and see if it resolves the issue.

To mitigate this problem, we have disabled the feature in our package, which means there is no odometry correction. The errors encountered in the map generation result from the imperfect calibration of the odometry. Furthermore, using teleop-keyboard to move the robot can occasionally result in unexpected turns, even when a forward command is given, leading to incorrect odometry computations.

@ygoumaz ygoumaz closed this as completed May 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants