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