-
-
Notifications
You must be signed in to change notification settings - Fork 182
Description
Title: Incorrect time_increment in LaserScan Topic Published by Webots Lidar Causes Cartographer Mapping Drift
Description:
When using Webots to publish Lidar data, the LaserScan topic is published correctly and initially works well for mapping in Cartographer. Below is my Lidar configuration:
<device reference="lidar" type="Lidar">
<ros>
<enabled>true</enabled>
<updateRate>5</updateRate>
<topicName>/scan</topicName>
<alwaysOn>true</alwaysOn>
<frameName>laser</frameName>
</ros>
</device>However, after running for some time, Cartographer logs the following error:
[cartographer logger]: W1006 07:09:36.000000 84738 sensor_bridge.cpp:211] Ignored subdivision of a LaserScan message from sensor scan because previous subdivision time 638953025761062191 is not before current subdivision time 638953025761062191
Once this error occurs, the mapping process fails due to significant drift.
Problem Analysis:
After reviewing related resources, such as the following GitHub Issues:
- Ignored subdivision · Issue #1326 · cartographer-project/cartographer_ros
- Sensor Bridge Warning Ignored Subdivision of a Laserscan · Issue #907 · cartographer-project/cartographer_ros
It appears that the issue is likely caused by an incorrect setting of the time_increment parameter in the sensor_msgs/LaserScan message. According to the ROS documentation (sensor_msgs/LaserScan Documentation), time_increment is a critical parameter that represents the time interval between laser scan points. However, there seems to be no direct way to configure or fix the time_increment parameter in Webots' Lidar settings.
I hope the Webots development team can provide guidance on correctly setting the time_increment parameter in Webots, or confirm if this is a bug in Webots