首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >马奇威克IMU 90度

马奇威克IMU 90度
EN

Stack Overflow用户
提问于 2017-01-30 10:36:48
回答 1查看 792关注 0票数 0

我正在使用Madgwick算法的C++实现,对我的传感器(加速度计、磁强计和陀螺仪)进行校准。一切看起来都很好,但是当我把传感器放在垂直位置(音高到90度)时,其他角度开始做一些奇怪的事情。这就是我得到的:Matlab绘图问题

事实上,我得到的角度是正确的,但表达方式不同。我只应该得到:

  • 名册:0
  • 音高: 90
  • 偏航:-150

但我明白:

  • 名册:-180
  • 音高: 90
  • 偏航: 50

两个结果都是一样的,对吧?我的问题是:

  • 这是Gimbal Lock问题吗?
  • 据我所知,Gimbal Lock应该会在角度上出现错误,但我会把它们做好的。麦奇威克算法是否试图避免Gimbal Lock?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-30 11:44:08

不,你不能锁定一个传感器,因为它是你移动的物理物体。

万向节锁指的是一个状态,如果你在哪里移动2个角度,它们会对旋转产生同样的影响。这不是一个错误,而是一个特定的旋转状态。但是如果你亲自用手移动物体,万向节锁是不可能的。维基百科有一个很棒的礼物:

万向节锁定飞机。当俯仰(绿色)和偏航(洋红色)吉姆巴尔斯变得对齐,改变滚动(蓝色)和偏航应用相同的旋转飞机。

但是,请注意,Gimbal锁定的原因可能是数据的原因:在euler角中,有多个角度集给出了完全相同的端点。你的系统给了你哪一个?你不可能知道。取决于用来给你数据的传感器和算法。

一个很好的方法,以确保你的进一步数学是一致的,并知道2轮是相同的,就是把你的测量值转换为四元数。这些是独特的每一个旋转,并将帮助你更好地理解什么旋转已经发生。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41933779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档