Разработчики SpeedyBot столкнулись с остановкой робота из-за ложных препятствий, вызванных туманом. Лидар фиксировал кольцо помех в радиусе около метра, что блокировало движение. Для анализа ситуации инженеры записали 598 сканов, содержащих 5,81 миллиона точек, чтобы воспроизвести условия утреннего тумана в лабораторных условиях.
Первая версия фильтра удаляла 97,19% слабых отражений в зоне 0,4–2,2 метра, однако вместе с шумом пропадали тонкие объекты, такие как сетки и проволока. Для решения проблемы алгоритм разделили на 24 сектора, анализируя сферу 0,4–1,65 метра. Система теперь ищет структуру: для защиты линии требуется минимум четыре точки, длина от 20 сантиметров и отклонение до 1,2 сантиметра.
Финальная проверка проводилась на 57 тестах и 2489 кадрах с использованием ARM64-бинарников. В туманных условиях система полностью устранила ложные препятствия в ближней зоне, сохранив при этом все 877 контрольных геометрических объектов в ясную погоду. Робот перестал воспринимать туман как стену, сохраняя корректную навигацию.
Изменения внесли в классификатор препятствий, вынеся пороги и радиусы в изменяемый профиль. Это позволяет настраивать систему без пересборки бинарного файла. В ходе финальных испытаний на 28 костмапах туманного фрагмента внутри кольца 0,4–1,65 метра не осталось ни одной занятой ячейки, при этом все добавленные виртуальные препятствия корректно отображались.





