В этом примере показано, как сгенерировать и объединить данные о датчике IMU с помощью Simulink®. Можно точно смоделировать поведение акселерометра, гироскопа и магнитометра и плавить их выходные параметры, чтобы вычислить ориентацию.
Инерциальный измерительный блок (IMU) является группой датчиков, состоящих из ускорения измерения акселерометра и скорости вращения измерения гироскопа. Часто, магнитометр также включен, чтобы измерить магнитное поле Земли. Каждый из этих трех датчиков производит измерение с 3 осями, и эти три измерения составляют измерение с 9 осями.
Заголовок Отношения и Ссылочная Система (AHRS) снимают показания датчика с 9 осями и вычисляют ориентацию устройства. Эта ориентация дана относительно системы координат NED, где N является Магнитным Северным направлением. Блок AHRS в 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 отличается углом наклона между Истинным Северным и Магнитным Севером.
Эта симуляция является настройкой для широты и долготы. Магнитное поле в этом местоположении установлено как [27.5550,-2.4169,-16.0849] микротесла в блоке IMU. Наклон в этом местоположении о
Симулируйте модель. Ориентация входа IMU и предполагаемая выходная ориентация AHRS сравнены с помощью расстояния кватерниона. Это предпочтительно по сравнению с дифференцированием эквиваленты Угла Эйлера, рассматривая сингулярность Угла Эйлера.
sim('IMUFusionSimulinkModel');
Различие в предполагаемом по сравнению с истинной ориентацией должно быть почти, который является наклоном в этой широте и долготе.
Второй выход фильтра AHRS является откорректированным смещением чтением гироскопа. В блоке IMU гироскопу дали смещение 0,0545 рад/с или 3,125 градусов/с, которые должны совпадать со значением устойчивого состояния в Gyroscope Bias
блок scope.
Путем варьирования параметров на IMU необходимо видеть соответствующее изменение в ориентации на выходе AHRS. Можно установить параметры на блоке IMU, чтобы совпадать с действительной таблицей данных IMU и настроить параметры AHRS, чтобы удовлетворить требования.