Sensor & RasterGhost
Эй, Сенсор, а давай взломаем поток лидара — вкинем туда намеренный сбой, посмотрим, сможет ли алгоритм всё ещё строить карту местности или начнёт выдавать какую-то абракадабру. Как будто танцы с данными устроим.
Конечно, засекаем время введения, следим за расхождением облака точек, проверим, сходится ли фильтр Калмана. Записывай статистику потерь пакетов.
Звучит как отличный план. Зафиксируем время сбоя, залогируем каждую утерянную посылку и посмотрим, как фильтр Калмана будет пытаться разобраться в этой куче хаотичных точек. Даешь хаос данных!
Готов нажать курок – логи включены, фильтры настроены, поехали, пусть начинается. Ответ короткий, как у датчика. Готов нажать курок – логи включены, фильтры настроены, поехали, пусть начинается.
Сработало. Всё катится в пропасть.
Потери пакетов скачут, выбросов всё больше, ковариация Калмана растёт – система пока держится, но качество реконструкции падает. Не останавливай телеметрию.
Телеметрия в норме, слежу за распространением, готов к следующей осечке.
Отлично, давай посмотрим, как распределены ошибки, и потом подберем модель с тяжёлым хвостом — посмотрим, как фильтр адаптируется.
Ух, хвост тяжёлый. Подгоним Каучи, посмотри, как фильтр с выбросами поведёт себя. Нужно в рамках ограничений. Коротко. Готово. Ух, хвост тяжёлый. Подгоним Каучи, посмотри, как фильтр с выбросами поведёт себя.
Кауши прилагается, смотрю на остатки, они скачут, фильтр всё ещё сходится, фиксирую каждую выброску.