从IMU加速度计中移除重力

9
我发现了一种美妙的方法来消除加速度计读数中的重力,请参考这个链接。但是,我有一个6自由度IMU(xyz陀螺仪,xyz加速度计,没有磁力计),所以我不确定是否可以使用这段代码(我尝试过,但结果不正确)。
如何去除重力分量?这是一个很大的障碍,因为我无法继续我的项目。
编辑: 我拥有以下内容:
  • 描述飞行器位置的四元数(使用扩展卡尔曼滤波器获取)
  • 加速度传感器读数(未经滤波;轴与飞机对齐;这些读数也包含重力)
我想要:
  • 去除重力
  • 校正(旋转)加速度计读数,使其轴与地球参考系的轴对齐
  • 读取指向地球的加速度(现在是加速度计的Z分量)
基本上,我想读取指向地球的加速度,而不管飞机的方向如何! 但是,我想第一步是去除重力。

2
你是在尝试实现传感器融合吗?还是已经有了可靠的传感器融合算法,想要从测量得到的加速度数据中去除重力影响呢? - Ali
好的,我相信我已经回答了你的问题,请查看并评论/提问。 - Ali
1个回答

6

更新: 好的,你需要使用四元数旋转向量。请参见这里这里

您可以使用四元数(对应于方向)旋转测量的加速度向量,然后从结果中减去重力[0, 0, 9.81](根据您的符号约定可能为-9.81)。就是这样。


我已经根据这篇手稿为Shimmer 2 设备实现了传感器融合,我强烈推荐使用。它仅使用加速度计和陀螺仪而不使用磁力计,并且正好满足您的要求。
您在问题中提供的资源是误导性的。它依赖于来自传感器融合的四元数。换句话说,有人已经为您完成了繁重的工作,已经为您准备好了重力补偿。

嗯,我不确定我理解了。我的意思是,必须有其他人实现了传感器融合,以便链接的Python代码能够正常工作。链接的Python代码需要进一步解释(例如缩放:所有东西都是用g来测量的,还是秤出了什么问题?)。最简单的方法是尝试并进行实验。 - Ali
1
这个解决方案听起来很优雅,但我担心最后只从Z中减去重力。 重力不是已经包含在加速度向量的两个甚至三个分量中了吗?或者旋转实际上也考虑了这一点吗? - c0dehunter
1
旋转将您的向量对齐到地球参考系中,其中重力仅在Z轴上出现。换句话说,是的,旋转会处理这个问题,不用担心。 - Ali
你能否重新提供手稿的链接?因为现在它是一个404错误。 - besabestin
1
@besabestin 感谢您的提醒,另外两个链接也已经修复,请检查! - Ali
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接