陀螺仪加速度计磁罗盘的校准

一、校准加速度计

  1. 加速度计有零偏和尺度误差。还有其他误差,这里只讨论这两种误差。

  2. 六面校准法:目的是让输出的数据在9.8mss左右(可以将Xmax = 9.44, Xmin = -10.24代进去感受一下)
    公式:以X轴为例
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    操作:六个面朝上的时候,可以获取每个轴的最大值和最小值。首先,如下图,此面朝上,加速度计的Z轴是9.44。此面朝下,测量的值是-10.24.这样Z轴的最大值和最小值就计算出来了。同理可以获取X,Y轴的最大值最小值(可多测量几次求平均)。如下表:
    在这里插入图片描述

在这里插入图片描述

根据公式:
	
	bx = 0.32, kx = 1.00823; 
	by = 0.245, ky = 1.001533; 
	bz = -0.465, kz = 0.993411;

二、校准陀螺仪

陀螺仪的校准只校正零偏误差。其操作是:在上电后,水平静止一段时间,获取陀螺仪N组数据,然后求平均值,该平均值作为初始零偏,最终校准的结果是陀螺仪原始测量值减去初始零偏。

		初始零偏 = N组陀螺仪数据的和 /  N 
		陀螺仪校准值 = 陀螺仪测量值 - 初始零偏

三、 磁罗盘的校准

磁罗盘的校准使用椭球拟合的方式进行校准。

理论上,如果将磁力计绕一个点,做各个方向的旋转,绘制出来的三维图像是一个圆的球面,然而,因为磁力计容易受周遭环境的影响,实际绘制出来的三维图像是一个椭球面,且球心不在[0,0,0]。而椭球拟合就可以解决球心不在[0,0,0],三维图像不是一个椭球面。(至于为什么椭球拟合能做到,我暂时还是不懂。大家可以参考一下这个博主的https://blog.csdn.net/shenshikexmu/article/details/70143455?spm=1001.2014.3001.5501)

椭球拟合的流程:

  1. 椭球方程
    在这里插入图片描述
    x0,y0,z0表示球心的位置;A,B,C分别表示沿着x轴的赤道半径,沿着y轴的赤道半径,极半径。
    x,y,z在磁罗盘校准中表示磁罗盘的x, y, z轴的观测值,也即磁罗盘测量到的值。

  2. 将椭球方程展开成一般式
    在这里插入图片描述
    其中:a,b,c,d,e,f 是最小二乘法中待求的未知数,a,b,c,d,e,f 与 x0,y0,z0,A,B,C的关系如下:
    在这里插入图片描述

在这里插入图片描述
最后通过 a,b,c,d,e,f 再求出磁罗盘椭球方程中的 x0,y0,z0,A,B,C。
3. 定义误差方程:
在这里插入图片描述
xi,yi,zi表示第i次磁罗盘测量的结果。
将ei写成Ax-b的形式方便进行最小二乘法计算。
在这里插入图片描述
在这里插入图片描述
最小二乘法的通解如下:
在这里插入图片描述

x^* 里面就是 a,b,c,d,e,f 的值,然后通过a,b,c,d,e,f 与 x0,y0,z0,A,B,C的关系求出x0,y0,z0,A,B,C。

  1. 最终的校准结果如下:

    magx,magy,magz 分别是磁罗盘x,y,z轴观测到的值。
    在这里插入图片描述

  2. 通过MATLAB展示校准的结果
    校准的数据获取的方式是,晃动磁罗盘,让每个轴的数据都能获取到,例如进行各个方向的绕圈。从我下面的图可以看出我绕的不够好,因为我是直接甩的。
    【注意:晃动磁罗盘的时候,要远离磁铁,电机或金属材质的东西,因为磁罗盘很容易受此类物品干扰。】
    5.1 校准之前
    在这里插入图片描述
    可以看出没有校准的时候,原始数据的球心不在(0,0)的位置上。

5.2 校准之后
在这里插入图片描述
基本都在(0,0)附近了。

后续整理好MATLAB和C代码会开源出来。希望能和大家多多交流。

  • 5
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值