The robot casts lidar rays outward to detect obstacles, builds
an occupancy grid map from the hits (SLAM — Simultaneous
Localization And Mapping), and re-plans a shortest path (A*-style
search) toward the goal each time new obstacles are discovered.
Sensor noise makes its believed position (blue) drift from its
true position (white ring).
occupancy[cell] += hit ? +log_odds : −log_odds
belief_position = true_position + noise·N(0,1)
path = A*(start, goal, occupancy_grid)
- Lidar range — how far the robot's rangefinder can see obstacles.
- Sensor noise — odometry/IMU drift between the true and estimated position, the "sensor fusion" error a Kalman filter would correct for.
- Robot speed — how fast it drives along the planned path.
This combination — lidar mapping, probabilistic localization
and continuous re-planning — is the same architecture used in
real warehouse robots, vacuum robots and self-driving research
platforms.