Pull to refresh
15
0

Программист C++

Send message

А ваш фильтр Калмана правильно работает?

Reading time8 min
Views9.4K

Фильтр Калмана является одним из самых популярных алгоритмов фильтрации. Он широко распространен в машинном обучении, навигационных системах, автопилотируемых устройствах и пр.

В открытых источниках можно встретить множество работ, статей и книг по тому, как работает этот загадочный фильтр, будь то линейный, расширенный (extended), сигма-точечный (unscented) или любой другой фильтр Калмана. Однако намного реже освещается вопрос корректности работы фильтра.

В это же время фильтр Калмана применяется в системах с особыми требованиями по функциональной безопасности, отказ или неисправность которых может привести к человеческим потерям, как это имеет место для автопилотируемых устройств. Таким образом, валидация результатов работы фильтра Калмана – это один из первых вопросов, который должен стоять перед инженером при разработке ПО для подобных систем.

На поиск необходимой информации по валидации фильтра Калмана у меня ушло больше недели, но результат того стоил. Поэтому в данной статье я хочу поделиться алгоритмом, который позволяет находить неочевидные ошибки в коде фильтра Калмана и определять возможности применения фильтра к конкретной задаче.

Читать далее
Total votes 24: ↑23 and ↓1+22
Comments8

Доступ к элементам std::tuple во время исполнения программы

Reading time10 min
Views5.3K

При тестировании разрабатываемой библиотеки математических алгоритмов для автономного вождения нашей команде приходилось достаточно много манипулировать с кортежами (std::tuple): итерироваться по каждому элементу кортежа или в произвольном порядке, выбирать элементы, чьи индексы и/или значения удовлетворяют определенному условию, и т.д. Написание для каждого случая отдельной рекурсивной функции прохода по кортежу, во-первых, требует знания основ метапрограммирования и шаблонной магии, а во-вторых, отнимает существенное количество времени разработчика.

Мне в голову пришла идея: а что если получать доступ к элементам по индексу, не известному на этапе компиляции?

Читать далее
Total votes 32: ↑32 and ↓0+32
Comments5

Information

Rating
Does not participate
Location
Новосибирск, Новосибирская обл., Россия
Works in
Date of birth
Registered
Activity