Fusion датчика IMU с Simulink

В этом примере показано, как сгенерировать и объединить данные о датчике IMU с помощью Simulink®. Можно точно смоделировать поведение акселерометра, гироскопа и магнитометра и плавить их выходные параметры, чтобы вычислить ориентацию.

Инерционный модуль измерения

Инерционный модуль измерения (IMU) является группой датчиков, состоящих из ускорения измерения акселерометра и скорости вращения измерения гироскопа. Часто, магнитометр также включен, чтобы измерить магнитное поле Земли. Каждый из этих трех датчиков производит измерение с 3 осями, и эти три измерения составляют измерение с 9 осями.

Заголовок отношения и ссылочная система

Заголовок Отношения и Ссылочная Система (AHRS) снимают показания датчика с 9 осями и вычисляют ориентацию устройства. Эта ориентация дана относительно системы координат NED, где N является Магнитным Северным направлением. Блок AHRS в Simulink выполняет это использование косвенной структуры Фильтра Калмана.

Система Simulink

Откройте модель Simulink, которая объединяет данные о датчике IMU

open_system('IMUFusionSimulinkModel');

Входные параметры и настройка

Входные параметры с блоком IMU являются линейным ускорением устройства, скоростью вращения и ориентацией относительно системы координат навигации. Ориентация имеет форму кватерниона (4 1 вектор в Simulink) или матрица вращения (3х3 матрица в Simulink), который вращает количества в системе координат навигации к системе координат тела. В этой модели скорость вращения просто интегрирована, чтобы создать вход ориентации. Скорость вращения находится в rad/s, и линейное ускорение находится в м/с^2. Поскольку AHRS имеет только один вход, связанный с переводом (вход акселерометра), это не может различать силу тяжести и линейное ускорение. Поэтому алгоритм AHRS принимает, что линейное ускорение является медленно различным белым шумовым процессом. Это - общее предположение для алгоритмов сплава с 9 осями.

Истинный север по сравнению с магнитным севером

Параметр магнитного поля на диалоговом окне блока IMU может быть установлен на локальное значение магнитного поля. Значения магнитного поля могут быть найдены на веб-сайте NOAA или использовании wrldmagm функция в Aerospace Toolbox™. Значения магнитного поля на диалоговом окне блока IMU соответствуют показания совершенного магнитометра, который ориентируется на Истинный Север. Поэтому вход ориентации с блоком IMU относительно системы координат NED, где N является Истинным Северным направлением. Однако фильтр AHRS перешел к Магнитному Северу, который типичен для этого типа фильтра. Поэтому вход ориентации к IMU и предполагаемой ориентации при выходе AHRS отличается углом наклона между Истинным Северным и Магнитным Севером.

Эта симуляция является настройкой для$0^\circ$ широты и$0^\circ$ долготы. Магнитное поле в этом местоположении установлено как [27.5550,-2.4169,-16.0849] микротесла в блоке IMU. Наклон в этом местоположении о $4.7^\circ$

Симуляция

Симулируйте модель. Ориентация входа IMU и предполагаемая выходная ориентация AHRS сравнены с помощью расстояния кватерниона. Это предпочтительно по сравнению с дифференцированием эквиваленты Угла Эйлера, рассматривая сингулярность Угла Эйлера.

sim('IMUFusionSimulinkModel');

Предполагаемая ориентация

Различие в предполагаемом по сравнению с истинной ориентацией должно быть почти$4.7\circ$, который является наклоном в этой широте и долготе.

Смещение гироскопа

Второй выход фильтра AHRS является откорректированным смещением чтением гироскопа. В блоке IMU гироскопу дали смещение 0,0545 рад/с или 3,125 градусов/с, которые должны совпадать со значением устойчивого состояния в Gyroscope Bias блок scope.

Дальнейшие упражнения

Путем варьирования параметров на IMU необходимо видеть соответствующее изменение в ориентации на выходе AHRS. Можно установить параметры на блоке IMU, чтобы совпадать с действительной таблицей данных IMU и настроить параметры AHRS, чтобы удовлетворить требования.