Инструментарий предоставляет несколько фильтров для оценки позы и скорости платформ с помощью бортовых инерционных датчиков (включая акселерометр, гироскоп и высотомер), магнитометра, GPS и измерений визуальной одометрии. Каждый фильтр может обрабатывать определенные типы измерений от определенных датчиков. Каждый фильтр также делает допущения и может иметь ограничения, которые следует тщательно рассмотреть перед применением. Например, многие фильтры не допускают устойчивого линейного или углового ускорения, кроме гравитационного ускорения. Поэтому следует избегать их использования во время сильного и постоянного ускорения, но эти фильтры могут работать достаточно хорошо во время коротких пакетов линейного ускорения. Кроме того, некоторые фильтры допускают кусочно-постоянное линейное ускорение и угловую скорость, так как они позволяют вводить ускорение и угловую скорость во время этапа прогнозирования.
Внутренние алгоритмы этих фильтров также сильно различаются. Например, ecompass объект использует метод TRIAD для определения ориентации платформы с очень низкой стоимостью вычислений. Множество фильтров (например, ahrsfilter и imufilter) принимают фильтр Калмана состояния ошибки, в котором оценивается отклонение состояния от опорного состояния. Между тем, другие фильтры (например, insfilterMARG и insfilterAsync) использовать расширенный подход фильтра Калмана, при котором состояние оценивается непосредственно.
Для достижения высокой точности оценки важно правильно настраивать свойства и параметры фильтра. Панель инструментов предлагает встроенные tune функция настройки параметров и шума датчика для imufilter, ahrsfilter, и insfilterAsync непосредственно.
В таблице перечислены входы, выходы, допущения и алгоритмы для всех фильтров слияния инерциальных датчиков.
| Объект | Датчики и входы | Состояния и результаты | Допущения или ограничения | Используемый алгоритм |
|---|---|---|---|---|
ecompass
|
| Ориентация | Фильтр не предполагает устойчивого линейного и углового ускорения, кроме гравитационного ускорения. | Метод TRIAD |
ahrsfilter
|
| Ориентация и угловая скорость | Фильтр не предполагает устойчивого линейного и углового ускорения, кроме гравитационного ускорения. | Фильтр Калмана в состоянии ошибки |
ahrs10filter |
| Ориентация, высота, вертикальная скорость, смещение дельта-угла, смещение дельта-скорости, вектор геомагнитного поля, смещение магнитометра | Фильтр принимает кусочно-постоянное линейное ускорение в вертикальном направлении и не имеет устойчивого линейного и углового ускорения, отличного от гравитационного ускорения в других направлениях. | Дискретный удлиненный фильтр Калмана |
imufilter
|
| Ориентация и угловая скорость | Фильтр не предполагает устойчивого линейного и углового ускорения, кроме гравитационного ускорения. | Фильтр Калмана в состоянии ошибки |
complementaryFilter |
| Ориентация и угловая скорость | Фильтр не предполагает устойчивого линейного и углового ускорения, кроме гравитационного ускорения. | Подход, не основанный на фильтре Калмана:
|
insfilterMARG
|
| Ориентация, положение, скорость, смещение дельта-угла, смещение дельта-скорости, вектор геомагнитного поля, смещение магнитометра | На этапе прогнозирования используются входные данные акселерометра и гироскопа. Поэтому фильтр предполагает:
| Дискретный удлиненный фильтр Калмана |
insfilterAsync
|
| Ориентация, угловая скорость, положение, скорость, ускорение, смещение акселерометра, смещение гироскопа, вектор геомагнитного поля, смещение магнитометра | Фильтр предполагает:
Фильтр не требует, чтобы датчики были синхронными, и каждый датчик может иметь сброс пробы. | Непрерывный дискретный расширенный фильтр Калмана |
insfilterNonholonomic |
| Ориентация, положение, скорость, смещение гироскопа, смещение акселерометра | На этапе прогнозирования используются входные данные акселерометра и гироскопа. Поэтому фильтр предполагает:
Кроме того, фильтр предполагает, что платформа движется вперед без бокового проскальзывания. | Дискретный расширенный фильтр Калмана |
insfilterErrorState |
| Ориентация, положение, скорость, смещение гироскопа, смещение акселерометра и шкала визуальной одометрии | На этапе прогнозирования используются входные данные акселерометра и гироскопа. Поэтому фильтр предполагает:
| Фильтр Калмана в состоянии ошибки |