Ваш браузер устарел. Рекомендуем обновить его до последней версии.

Углы Эйлера

        

        Здесь приводятся только основные моменты, имеющие отношение к углам Эйлера, измеряемым модулем. Более подробно изучить их можно по ссылкам (не имеющим отношения к этому сайту):

        Видео лекция

        Статья

        Методика вычисления углов Эйлера по данным акселерометра. Это - application notice AN3461 компании Freescale. Методика, приведенная в этом документе похожа на методику, использованную в модуле.

         

        Рассмотрим  вращение вектора гравитации G в системе координат XYZ модуля:

 Углы Эйлера

 

        Поворот вектора G осуществляется вокруг оси, проходящей через начало координат. Любой такой поворот можно разложить на три составляющие - повороты отдельно по каждой из осей. Это и есть углы Эйлера. Т.к. акселерометр не может измерить поворот вокруг вертикальной оси, модуль измеряет только наклон, и в данном случае, поворот будет разложен на две составляющие: X и Y.

        Для того, чтобы понять, что измеряет модуль, представим, что изначально он находится горизонтально, т.е. вектор G направлен вдоль оси Z. Далее модуль повернули по оси X. При этом вектор G будет направлен вдоль линии Gzy на рисунке, а угол между этой линией и осью Z будет углом крена (roll). Далее, произведя поворот по оси Y, получаем угол тангажа (угол между Gzy и G, или pitch). Т.к. углы поворота <90º, очередность поворота не имеет значения.

        Далее вспомним, что углом наклона оси можно считать угол между этой осью и ее проекцией на горизонтальную плоскость, или, иначе, угол между осью и вектором G (который перпендикулярен горизонтальной плоскости). При этом два этих угла связаны соотношением Угол1=90º-Угол2. Из рисунка видно, что pitch = 90º - угол между G и X. Таким образом, угол тангажа равен углу наклона оси X. Поэтому при переключении выдачи данных модуля между углами наклона и углами Эйлера, будут видны изменения только между углом Y или углом roll.