AHRS

Алгоритм ориентации в пространстве, те определение ориентации модели относительно какойлибо системы координат.Ориентация модели в данном проекте базируется на определение искуственного горизонта и курса модели.
  • Курс модели - азимут на магнитный север земного шара проекции продольной оси модели на горизонтальную плоскость.(изменяется от -180 до 180 градусов по часовой стрелке от севера)
  • Тангаж - угол между горизонтальной плоскостью и продольной осью модели( хвост - нос) (изменяется от -90 до 90 градусов. -90 нос модели вниз, 0 - продольная ось горизонтальна, 90 - нос модели вверх).
  • Крен - угол поворота модели вокруг продольной оси. за нулевой угол принимается положение в котором две симмитричные относительно вертикальной плоскости проходящей через продольную ось модели точки расположены на одинаковой высоте от горизонтальной плоскости( крылья самолёта одинаково отстоят от горизонтальной поверхности земли) (изменяется от -180 до 180 градусов , увеличивается при вращении по часовой стрелке вдоль направления оси модели. по другому увеличивается при заваливании модели правым крылом вниз из горизонтального положения).
Определение этих параметров возможна несколькими способами, у каждого из которых есть свои достоинства и недостатки. В данном проекте был использован алгоритм базирующийся на использовании измерений 9ти датчиков (3 артогональных акселерометра, 3и ортоганальных гироскопа и 3и ортоганальных магнетометра). Определение положения на базе имеющихся датчиков возможно 2мя способами:
  1. зная что начальное положение горизонтально и курс на север, положение модели определяется путём интегрирования угловых скоростей вращения моделей вокруг трёх ортогональных осей по времени;
  2. определение положения модели по ориентации пары ортоганальных векторов силы тяжести и магнитного поля земли относительно системы координат связанной с поверхностью земли.
Первый способ очень устойчив, однако обладает двумя существенными недостатками. Во-первых, необходимо внешне определять базовое положение модели, от которого будет осуществляться интегрирование. Во-вторых, из-за шумов датчиков, неточности оцифровки показаний и численного интегрирования показаний на основе показаний с заданной частотой дискретизации( показания снимаются с определённой периодичностью и никак не фиксируется что происходит с моделью между измерениями) результат интегрирования будет дрейфовать относительно реально положения модели, причём чем алгоритм работает дольше тем дрейф существеннее. промышленные гироскопы, которые я встречал, использующие данный могут иметь дрейф от 30 градусов в час(что в общемто очень неплохой показатель).
Второй способ идеален в случае, если мы рассматриваем идеальную ситуацию (отсутсвие шумов в акселерометрах и магнетометрах). Он замечательно подходит для случая определения порложения неподвижной модели. Однако в реальных условиях мы имеем дело с механическими вибрациями модели, которые вызывают колебанияе показаний акселдерометров, с приводными электрическими механизмами ( сервомоторы, силовой агрегат модели) которые вызывают искажение и вибрацию магнитного поля фиксируемого магнетометрами и движением модели с непостоянной линейной и угловой  скоростью, которая добавляет к показаниям вектора силы тяжести акселерометра определённое ускорение, в результате чего вектор, измеряемый акселерометром не будет перпендикулярен поверхности земли.
Идеальным решением в данной ситуации является объеденение плюсов этих двух методов измерения положения, объединяющих достоинства, и компенсирующих недостатки друг друга. То есть положение тела определяется с помощью гироскопов, дрейф которых компенсируется векторами силы тяжести и индукции магнитного поля земли.


Ссылки:
    http://code.google.com/p/imumargalgorithm30042010sohm/
Comments