Kalman Фильтрация потребности

У меня есть проект по созданию роя роботов. Система локализации осуществляется с помощью ультразвуковых и инфракрасных передатчиков / приемников. Точность + -7 см. Я смог следовать алгоритму лидера. Однако мне было интересно, почему мне все еще нужно использовать фильтр Калмана, если необработанные данные датчиков хороши? что это улучшит? не просто задерживает отправку координат роботам (координаты не будут обновлены мгновенно, так как потребуется время, чтобы выполнить математические вычисления фильтра Калмана, поскольку каждый робот отправляет свои координаты 4 раза в секунду)


person Lucy hale    schedule 19.03.2018    source источник


Ответы (3)


Данные датчиков НИКОГДА не являются правдой, какими бы хорошими они ни были. Их всегда будет беспокоить какой-нибудь шум. Кроме того, они обладают конечной точностью. Таким образом, данные датчиков - это не что иное, как наблюдение, которое вы делаете, и все, что вы хотите сделать, - это оценить истинное состояние на основе этих наблюдений. С математической точки зрения, вы хотите оценить вероятность или совокупную вероятность на основе этих измерений. Вы можете сделать это, используя разные инструменты в зависимости от контекста. Одним из таких инструментов является фильтр Калмана, который в простейшем случае представляет собой просто скользящее среднее, но обычно используется в сочетании с динамическими моделями и некоторыми предположениями о распределении ошибок / состояний, чтобы быть полезным. Динамические модели моделируют распространение состояний (например движение, зная предыдущие состояния) и наблюдение (измерения), а в робототехнике / SLAM часто предполагается, что ошибка является гауссовой. Очень важным и полезным продуктом таких фильтров является оценка неопределенности в терминах ковариаций.

Итак, каковы возможные улучшения? По сути, вы следите за тем, чтобы измерения вашего сенсора согласовывались с математической моделью и были плавными. Например, если вы хотите оценить положение движущегося транспортного средства, кинематические уравнения сообщат вам, где вы ожидаете, что транспортное средство будет, и у вас будет соответствующая ковариация. Ваши измерения также имеют ковариацию. Таким образом, если вы получаете измерения с низкой степенью достоверности, вы в конечном итоге доверяете математической модели вместо того, чтобы доверять измерениям, и наоборот.

Наконец, если вас беспокоит задержка ... Обратите внимание, что сложность стандартного расширенного фильтра Калмана составляет примерно O(N^3), где N - количество ориентиров. Поэтому, если у вас действительно недостаточно вычислительной мощности, вы можете просто уменьшить состояние до pose, velocity, и тогда накладные расходы будут незначительными.

person Ash    schedule 31.03.2018

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

person Dmitry    schedule 26.03.2018
comment
Прогнозирование не обязательно является самой сложной частью, особенно когда вы можете использовать разные датчики для прогнозирования / наблюдения, где некоторые из них могли быть откалиброваны в автономном режиме, а некоторые, возможно, должны были быть калиброваны онлайн. Например, рассмотрим ограниченную систему SLAM с прогнозированием на основе IMU и обновлением на основе комбинации данных из визуальных данных с камеры с низким разрешением и GPS. Каждая из этих проблем представляет собой свои проблемы. - person Ash; 01.04.2018

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

person user518688    schedule 16.07.2018