0

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

У меня есть некоторые основные вопросы, которые я нахожу трудно ответить для себя четко. Существует много информации об акселерометрах и гироскопах, но я до сих пор не нашел объяснения «от первых принципов» некоторых основных свойств.

Итак, у меня есть датчик пластины, который содержит акселерометр и гироскоп. Существует также магнитометр, который я пропускаю сейчас.

  • Акселерометр дает информацию за каждый момент времени t о временном векторе ускорения a = (ax, ay, az) в м/с^2 в соответствии с фиксированной системой координат к датчику.
  • Гироскоп дает 3D-вектор в град/с, который говорит о временной скорости вращения трех осей (Ox, Oy и Oz). Из этой информации можно получить матрицу вращения, которая соответствует бесконечно малом повороте системы координат (в соответствии с предыдущим моментом). Here есть какое-то объяснение, как получить кватернион, который представляет R.

Итак, мы знаем, что бесконечно малое движение можно рассчитать с учетом, что ускорение является второй производной от положения.

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

г (1) = 0,5 (0) дт^2

где г есть вектор бесконечно малое движение, (0) - вектор ускорения.

В каждом из следующих шагов, которые мы будем использовать расчеты

г (т + 1) = 0,5 (т) дт^2 + v (т) дт + г (т)

где v (т) является вектор скорости, который будет оценен в некотором роде, например, в виде (г (Т) - г (т-1))/дт.

Кроме того, после каждого бесконечно малого движения нам нужно будет учитывать данные с гироскопа. Мы будем использовать матрицу вращения для поворота вектора r (t + 1).

Таким образом, возможно, с огромной ошибкой я получу некоторую траекторию в соответствии с исходной системой координат.

Мои запросы:

  1. Am I в основном правильно с этим алгоритмом?Если нет, то где я ошибаюсь?
  2. Я бы очень признателен за некоторые ресурсы с рабочим примером, где первые принципы не пропущены.
  3. Как следует использовать фильтр Калмана для получения лучшей траектории? Каким образом я передаю все данные ИДУ (акселерометр, гироскоп и магнитометр) в фильтр Калмана?

ответ

2

Ваши концептуальные рамки верны, но уравнения нуждаются в некоторой работе. Ускорение измеряется в раме платформы, которая может вращаться очень быстро, поэтому нецелесообразно интегрировать ускорение в раму платформы и повернуть изменение положения. Скорее, ускорения преобразуются в относительно медленно вращающийся кадр, и там происходит интеграция в изменение скорости и изменение положения. Обычно это локально-уровневый кадр (например, North-East-Down или Wander Aziumuth) или рамка с центром в центре (ECEF или ECI). Сила тяжести и сила Кориолиса должны быть включены в ускорение.

Производные из первых принципов можно найти во многих ссылках, один из моих фаворитов - Strapdown Inertial Navigation Technology от Titterton and Weston. Выводы уравнений инерциальной навигации в локально-уровневых и стационарных кадрах приведены в главе 3.

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