四元数姿态矩阵地磁融合..docx

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
四元数姿态矩阵地磁融合.

发布笔者关于飞行器导航与定位的文章四元数姿态解算中的地磁计融合解读分类:?四旋翼飞行器2014-03-23 14:55?4451人阅读?评论(20)?收藏?举报四元数姿态解算地磁计融合互补滤波融合算法四旋翼飞行器姿态解算姿态融合算法 笔者最近在做四轴,涉及到地磁计的融合算法,网上大多数是x-IMU的融合代码,但是这段代码对于地磁计的融合说明没有做过多的解释,网上没有相关讨论,仅在阿莫论坛看到一篇相关的代码解释,里面有关于地磁计融合部分的解说,个人觉得说的不是很清楚,虽然是正确的,我这里再补充啰嗦一下。?首先给出x-IMU关于陀螺仪、加速度计、地磁计的融合代码:[cpp]?view plaincopyprint?/snippets/251884/forkvoid?MahonyAHRSupdate(float?gx,?float?gy,?float?gz,?float?ax,?float?ay,?float?az,?float?mx,?float?my,?float?mz)?{???float?recipNorm;???float?q0q0,?q0q1,?q0q2,?q0q3,?q1q1,?q1q2,?q1q3,?q2q2,?q2q3,?q3q3;?float?hx,?hy,?bx,?bz;???float?halfvx,?halfvy,?halfvz,?halfwx,?halfwy,?halfwz;???float?halfex,?halfey,?halfez;???float?qa,?qb,?qc;????//?Use?IMU?algorithm?if?magnetometer?measurement?invalid?(avoids?NaN?in?magnetometer?normalisation)??if((mx?==?0.0f)??(my?==?0.0f)??(mz?==?0.0f))?{???MahonyAHRSupdateIMU(gx,?gy,?gz,?ax,?ay,?az);?? ?return;???}????//?Compute?feedback?only?if?accelerometer?measurement?valid?(avoids?NaN?in?accelerometer?normalisation)??if(!((ax?==?0.0f)??(ay?==?0.0f)??(az?==?0.0f)))?{????//?Normalise?accelerometer?measurement??recipNorm?=?invSqrt(ax?*?ax?+?ay?*?ay?+?az?*?az);???ax?*=?recipNorm;???ay?*=?recipNorm;???az?*=?recipNorm;??//?Normalise?magnetometer?measurement??recipNorm?=?invSqrt(mx?*?mx?+?my?*?my?+?mz?*?mz);???mx?*=?recipNorm;???my?*=?recipNorm;???mz?*=?recipNorm;??//?Auxiliary?variables?to?avoid?repeated?arithmetic??q0q0?=?q0?*?q0;???q0q1?=?q0?*?q1;???q0q2?=?q0?*?q2;???q0q3?=?q0?*?q3;???q1q1?=?q1?*?q1;???q1q2?=?q1?*?q2;???q1q3?=?q1?*?q3;???q2q2?=?q2?*?q2;???q2q3?=?q2?*?q3;???q3q3?=?q3?*?q3;??//?Reference?direction?of?Earths?magnetic?field??hx?=?2.0f?*?(mx?*?(0.5f?-?q2q2?-?q3q3)?+?my?*?(q1q2?-?q0q3)?+?mz?*?(q1q3?+?q0q2));???hy?=?2.0f?*?(mx?*?(q1q2?+?q0q3)?+?my?*?(0.5f?-?q1q1?-?q3q3)?+?mz?*?(q2q3?-?q0q1));???bx?=?sqrt(hx?*?hx?+?hy?*?hy);???bz?=?2.0f?*?(mx?*?(q1q3?-?q0q2)?+?my?*?(q2q3?+?q0q1)?+?mz?*?(0.5f?-?q1q1?-?q2q2));????//?Estimated?direction?of?gravity?and?magnetic?field??halfvx?=?q1q3?-?q0q2;???halfvy?=?q0q1?+?q2q3;??

文档评论(0)

jiulama + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档