Engineers at SpeedyBot addressed navigation failures caused by fog, which created false obstacles around the robot. The lidar sensor reported a ring of phantom points within a one-meter radius, leading to a standstill. Analysis confirmed these reflections were caused by light fog, with 598 scans containing 5.81 million points recorded for testing.
The team implemented a filtering system to remove weak reflections. An initial version suppressed 97.19% of noise in the 0.4–2.2 meter range, but this also erased thin objects like wires and mesh. To solve this, the developers introduced a sector-based analysis, evaluating the 0.4–1.65 meter sphere by checking for specific point density and structural geometry.
The final classifier distinguishes between diffuse fog and solid objects by requiring at least four points for a line, a minimum length of 20 centimeters, and strict deviation limits. This approach ensures that real obstacles remain visible while fog is filtered out. Testing confirmed that all 877 geometric components were preserved across two clear-weather test runs.
Final validation involved 57 tests and 2,489 input frames using native ARM64 binaries. In the fog-heavy test scenario, the system successfully cleared all false obstacles within the target radius while maintaining navigation integrity. The robot now correctly identifies real objects even when surrounded by atmospheric noise.





