浅谈加速度计旋转补偿

前言:其实这个旋转补偿的叫法是我个人对这个现象以及解决方案的称呼,发现网上很少关于这个问题的讨论和探讨,很多工程的代码里面也没有涉及到这方面的考虑,似乎直接忽略了这方面的对整个系统的影响。可能是一般都会把加速度计安装在接近系统的中心位置所以在系统旋转的时候对系统不会产生很大的影响,但是如果加速度计没有安装在系统旋转轴上,当系统绕轴旋转的时候处于不在旋转轴上的加速度计就会产生向心加速度,加速计就会叠加这个部分的加速度,但是我们一般又只希望加速度计反映系统在世界坐标下的加速度,当系统绕轴旋转意味着系统在世界坐标系下应该是没有三轴加速度输出的,但是现在加速度计有输出了,所以我们要对加速度数据做一个补偿。现在写下一些关于我自己个人的看法,并做一些推到以及代码实现。

正文:

推导部分:先从一个简单的旋转开始,假设加速度计安装在和旋转坐标系的同一个平面上,如下图二维情况所示:

我们先声明系统的一些变量,现假设系统的坐标系为b系,加速度计的坐标系为a系,然后a系固连在b系上,a系和b系的正方向都相同,Oa在b系下的坐标为\left \lfloor x_{0} ,y_{0}\right \rfloor,然后b系绕原点所在轴以w的角速度旋转。两轴加速度计的输出为Acc_x,Acc_y。

这是二维的推到,当上升到三维的时候,也就是我们的三轴加速度计,我们在一个空间直角坐标下来考虑,这时候就每一个轴的输出会受到两个轴旋转的影响,比如说加速度计Z轴的输出会受到Pitch和Roll的影响,这时候再叠加一个补偿即可。

下面给出代码实现:

先定义一些结构体变量,包括三轴的中心偏移量、陀螺仪弧度制(因为我们计算加速度的时候的用弧度制计算的)、映射到三轴加速度计上的加速度

设置中心偏移量函数、三个平面上加速度向量和、三个平面上几何向量和

然后是补偿部分:

这样就完成了对加速度计的旋转补偿。

注意:这个计算过程是在加速度计坐标系和机体坐标系正方向都相同的情况下的,如果坐标系有不同则要在计算映射到每个轴上的加速度的过程中正负号要进行调整。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值