搜索
bottom↓
回复: 19

HMC5883L 如何计算出当前角度?即如何用三轴磁阻数据计算出当前的姿态欧拉角?

[复制链接]

出0入0汤圆

发表于 2011-10-26 12:29:34 | 显示全部楼层 |阅读模式
HMC5883L 如何计算出当前角度?即如何用三轴磁阻数据计算出当前的姿态欧拉角?
我用来做陀螺仪中点修正用的。陀螺仪已经用四元数计算出姿态欧拉角。

磁阻得到三轴数据,可是该如何计算姿态角度?

阿莫论坛20周年了!感谢大家的支持与爱护!!

你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。

出0入0汤圆

 楼主| 发表于 2011-10-26 22:37:50 | 显示全部楼层
很奇怪。。还是不懂怎么算。。

出0入0汤圆

 楼主| 发表于 2011-10-28 17:01:38 | 显示全部楼层
还在纠结。。应该是用方向余弦算吧。
结果还没出来。唉

出0入0汤圆

发表于 2011-10-28 20:48:30 | 显示全部楼层
需要知道当地的地磁在地理坐标系的分量,就可以求出来了

出0入0汤圆

发表于 2011-10-28 21:01:46 | 显示全部楼层
回复【2楼】majianjia  阿嘉^_^
-----------------------------------------------------------------------
LZ我也在弄这个...地平面上校正后用反余弦就OK...
现在我在地平面上已经能非常准确地求出航向角了...但是在横滚和俯仰角不为0的时候, 用扁率方程怎么弄效果都不好....
希望多多探讨, 共同进步!!!


传个基本资料~~希望对你有帮助
点击此处下载 ourdev_689703FTSXT5.pdf(文件大小:767K) (原文件名:AN3192 Using LSM303DLH for a tilt compensated electronic compass.pdf)

出0入0汤圆

 楼主| 发表于 2011-10-29 09:13:51 | 显示全部楼层
回复【4楼】racede  
回复【2楼】majianjia  阿嘉^_^
-----------------------------------------------------------------------
lz我也在弄这个...地平面上校正后用反余弦就ok...
现在我在地平面上已经能非常准确地求出航向角了...但是在横滚和俯仰角不为0的时候, 用扁率方程怎么弄效果都不好....
希望多多探讨, 共同进步!!!
传个基本资料~~希望对你有帮助
点击此处下载  (原文件名:an3192 using lsm303dlh for a tilt compensated electronic compass.pdf)

-----------------------------------------------------------------------

回复【3楼】robertwang  
-----------------------------------------------------------------------


谢谢你们,磁阻纠结死了。 搞了很久现在概念都有点弄不清了。

还有就是陀螺仪用四元数算法出来的结果里,是指飞行器坐标系相对初始坐标系的旋转角度是吗?如果是的话,应该可以通过简单的加减角度后与阻反余弦出来的角度相对应?

而飞行器相对地平面的角度可以直接用陀螺仪积分后求出来吧?

现在越来越混乱了。真的得去买一本惯性导航的书来看看。

出0入0汤圆

发表于 2011-10-29 09:20:17 | 显示全部楼层
在同一个平面内角度具有相加减的性能,在三维空间里面,需要采用姿态更新算法才能解决,四元数就是姿态更新的一个应用。

出0入0汤圆

发表于 2011-10-29 10:45:11 | 显示全部楼层
(1)模为1的四元数可以用来表述两个坐标系之间的角位置关系,单独用陀螺仪做四元数积分,就是机体坐标系和初始四元数所描述的坐标系之间的角位置关系,是三维角位置关系
(2)磁传感器和加速度计其中之一都只能得到不完全的角位置关系,例如磁场方向向量是A,机体绕着A旋转,磁传感器不会有任何变化
就像机体绕着g旋转,加速度计不会有任何变化一样
(3)之所以使用四元数,是因为四元数描述的是非常直观的一次旋转,这个旋转只有方向和大小这两个属性,所以尽量不要用欧拉角或者任何试图解耦这个角度(例如和水平面的夹角,和g的夹角等等)的思想来考虑问题,否则容易迷惑。

出0入0汤圆

发表于 2011-10-29 11:47:56 | 显示全部楼层
回复【7楼】lijieamd
-----------------------------------------------------------------------

不转换为欧拉角怎么进行姿态控制啊

出0入0汤圆

发表于 2011-10-29 11:59:25 | 显示全部楼层
整个控制环路都用四元数表述就可以嘛
至于用什么控制那是后话,只是在姿态测量这里,引入一些解耦角度会很麻烦

出0入0汤圆

 楼主| 发表于 2011-10-30 09:31:08 | 显示全部楼层
回复【9楼】lijieamd  
-----------------------------------------------------------------------

我现在的路是 陀螺仪转输出的值转成弧度后就进行四元数计算,然后又从四元数转换成欧拉角。
看来路走错了,要买本惯性导航的书好好分析了。

出0入0汤圆

发表于 2011-10-30 12:00:32 | 显示全部楼层
将陀螺仪给出的角速度使用四元数进行计算,再转化为欧拉角。

出0入0汤圆

发表于 2011-10-30 12:00:33 | 显示全部楼层
将陀螺仪给出的角速度使用四元数进行计算,再转化为欧拉角。

出0入0汤圆

发表于 2011-10-30 18:35:28 | 显示全部楼层
回复【5楼】majianjia  阿嘉^_^
-----------------------------------------------------------------------

汗....再来看才发现说错了...是反正切...不是反余弦....

出0入0汤圆

发表于 2011-11-10 17:32:25 | 显示全部楼层
MARK

出0入0汤圆

发表于 2012-1-25 23:22:02 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-1-25 23:32:21 | 显示全部楼层
https://code.google.com/p/imumargalgorithm30042010sohm/

参考这个

出0入0汤圆

发表于 2012-1-31 20:42:45 | 显示全部楼层
回复【13楼】racede  
-----------------------------------------------------------------------

我的HMC5883L的Z轴负向与重力方向相同

结果用反正切之后发现,公式里面的y轴的值要用Z的值替换才行,这是怎么回事?能给个提示不?

出0入0汤圆

发表于 2012-1-31 21:31:32 | 显示全部楼层
回复【17楼】feiling208
-----------------------------------------------------------------------

你读错寄存器了吧~~~传感器里的顺序是X、Z、Y~~不是X、Y、Z~~~

出0入0汤圆

发表于 2012-10-2 16:43:07 | 显示全部楼层
将陀螺仪给出的角速度使用四元数进行计算,再转化为欧拉角
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-10-3 18:25

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表