forked from cartographer-project/cartographer_ros
-
Notifications
You must be signed in to change notification settings - Fork 86
Open
Description
I am using Cartographer for mapping with two laser scanners mounted on my robot:
- One on the front-left
- One on the rear-right
I set tracking_frame = base_link in the configuration.
When the robot moves during mapping, the map starts marking certain cells as free (white) incorrectly. Specifically:
- Cells seen by the front laser are correctly marked as free relative to that sensor.
- However, because the map is being updated relative to base_link, some points that are not actually visible from base_link are still being cleared.
- As a result, free cells are created behind obstacles, in regions that should remain unknown.
This creates "white streaks" or cleared zones in the map that should not exist.
Expected Behavior:
- Free space should only be marked in the actual FOV of each lidar, considering its position and orientation relative to base_link.
- Obstacles should not be "over-cleared" just because they are not visible in the base_link frame.
Steps to Reproduce:
- Add two lidars to the robot (front-left and rear-right).
- Configure Cartographer with tracking_frame = base_link.
Move the robot around obstacles.
- Observe that some areas behind obstacles are cleared in the map incorrectly.
Environment:
- Cartographer version: 2.0.9003
- ROS 2 version: humble
Additional Notes:
- The issue seems related to how free cells are raytraced relative to the tracking_frame.
- If each sensor’s frame could be respected when marking free space, this problem might be avoided.
Metadata
Metadata
Assignees
Labels
No labels