HMC5883L 如何计算出当前角度?即如何用三轴磁阻数据计算出当前的姿态欧拉角?
HMC5883L 如何计算出当前角度?即如何用三轴磁阻数据计算出当前的姿态欧拉角?我用来做陀螺仪中点修正用的。陀螺仪已经用四元数计算出姿态欧拉角。
磁阻得到三轴数据,可是该如何计算姿态角度? 很奇怪。。还是不懂怎么算。。 还在纠结。。应该是用方向余弦算吧。
结果还没出来。唉 需要知道当地的地磁在地理坐标系的分量,就可以求出来了 回复【2楼】majianjia阿嘉^_^
-----------------------------------------------------------------------
LZ我也在弄这个...地平面上校正后用反余弦就OK...
现在我在地平面上已经能非常准确地求出航向角了...但是在横滚和俯仰角不为0的时候, 用扁率方程怎么弄效果都不好....
希望多多探讨, 共同进步!!!
传个基本资料~~希望对你有帮助
点击此处下载 ourdev_689703FTSXT5.pdf(文件大小:767K) (原文件名:AN3192 Using LSM303DLH for a tilt compensated electronic compass.pdf) 回复【4楼】racede
回复【2楼】majianjia阿嘉^_^
-----------------------------------------------------------------------
lz我也在弄这个...地平面上校正后用反余弦就ok...
现在我在地平面上已经能非常准确地求出航向角了...但是在横滚和俯仰角不为0的时候, 用扁率方程怎么弄效果都不好....
希望多多探讨, 共同进步!!!
传个基本资料~~希望对你有帮助
点击此处下载(原文件名:an3192 using lsm303dlh for a tilt compensated electronic compass.pdf)
-----------------------------------------------------------------------
回复【3楼】robertwang
-----------------------------------------------------------------------
谢谢你们,磁阻纠结死了。 搞了很久现在概念都有点弄不清了。
还有就是陀螺仪用四元数算法出来的结果里,是指飞行器坐标系相对初始坐标系的旋转角度是吗?如果是的话,应该可以通过简单的加减角度后与阻反余弦出来的角度相对应?
而飞行器相对地平面的角度可以直接用陀螺仪积分后求出来吧?
现在越来越混乱了。真的得去买一本惯性导航的书来看看。 在同一个平面内角度具有相加减的性能,在三维空间里面,需要采用姿态更新算法才能解决,四元数就是姿态更新的一个应用。 (1)模为1的四元数可以用来表述两个坐标系之间的角位置关系,单独用陀螺仪做四元数积分,就是机体坐标系和初始四元数所描述的坐标系之间的角位置关系,是三维角位置关系
(2)磁传感器和加速度计其中之一都只能得到不完全的角位置关系,例如磁场方向向量是A,机体绕着A旋转,磁传感器不会有任何变化
就像机体绕着g旋转,加速度计不会有任何变化一样
(3)之所以使用四元数,是因为四元数描述的是非常直观的一次旋转,这个旋转只有方向和大小这两个属性,所以尽量不要用欧拉角或者任何试图解耦这个角度(例如和水平面的夹角,和g的夹角等等)的思想来考虑问题,否则容易迷惑。 回复【7楼】lijieamd
-----------------------------------------------------------------------
不转换为欧拉角怎么进行姿态控制啊 整个控制环路都用四元数表述就可以嘛
至于用什么控制那是后话,只是在姿态测量这里,引入一些解耦角度会很麻烦 回复【9楼】lijieamd
-----------------------------------------------------------------------
我现在的路是 陀螺仪转输出的值转成弧度后就进行四元数计算,然后又从四元数转换成欧拉角。
看来路走错了,要买本惯性导航的书好好分析了。 将陀螺仪给出的角速度使用四元数进行计算,再转化为欧拉角。 将陀螺仪给出的角速度使用四元数进行计算,再转化为欧拉角。 回复【5楼】majianjia阿嘉^_^
-----------------------------------------------------------------------
汗....再来看才发现说错了...是反正切...不是反余弦.... MARK mark https://code.google.com/p/imumargalgorithm30042010sohm/
参考这个 回复【13楼】racede
-----------------------------------------------------------------------
我的HMC5883L的Z轴负向与重力方向相同
结果用反正切之后发现,公式里面的y轴的值要用Z的值替换才行,这是怎么回事?能给个提示不? 回复【17楼】feiling208
-----------------------------------------------------------------------
你读错寄存器了吧~~~传感器里的顺序是X、Z、Y~~不是X、Y、Z~~~ 将陀螺仪给出的角速度使用四元数进行计算,再转化为欧拉角
页:
[1]