An autonomous cleaning robot (AV) collided with a train during a routine operation. The incident, far from being a mechanical failure, revealed a critical vulnerability in perception systems. The subsequent analysis, carried out using 3D simulation with RoboGuide, CloudCompare, and Blender, demonstrated that the geometry of the train's glass generated occlusions in the LiDAR sensors, creating blind spots that the navigation software could not anticipate.
LiDAR occlusion analysis due to glass geometry 🚆
The engineering team recreated the scenario in RoboGuide, importing a 3D model of the train and the robot. Using CloudCompare for point cloud analysis, it was detected that the incidence angle of the LiDAR rays on the train's curved glass surfaces caused specular reflections. This generated shadow zones or data voids in key regions, such as the side edges and panel joints. In Blender, the robot's trajectory was visualized and the occlusion map was overlaid, confirming that the sensor did not register the presence of the obstacle at the moment of impact. The failure was not in the hardware, but in the geometric interpretation of the environment.
Lessons for calibration and route design 🤖
The solution does not only involve adding more sensors, but rethinking calibration and route planning. 3D simulation allows replicating these occlusion conditions and adjusting fields of view or including redundant checkpoints. In this case, it was proposed to redesign the cleaning trajectory to include a prior lateral sweep, and recalibrate the LiDAR to filter false positives from reflections. The lesson is clear: in environments with highly reflective surfaces, simulation must precede implementation to avoid preventable collisions.
Since 3D simulation allowed identifying blind spots in the cleaning robot that the LiDAR sensor did not detect, what lessons does this case offer for improving sensory redundancy in autonomous railway navigation systems?
(PS: Simulating robots is fun, until they decide not to follow your orders.)