目录
-
- 序
- 一、 简单校准加速度计
- 二、简单校准陀螺仪
- 三、磁力计校准简单
序
UAV在021(二)中使用STM32F4通过IIC协议实现了读取加速度、角速度和Yaw角。但是,原始数据不能使用,校准是必要的。原因很简单,会MPU读取的加速度和角速度如下:
可见加速度计有时大于g,有时小于gg,陀螺仪总是漂移两点几度。这为以后的应用埋下了隐患。因此,必须校准!
本文将介绍简单的加速度计、陀螺仪和磁力计数据校准方法。当然,也有复杂的校准方法,但效果不是很好,所以不详细,以后更新。
提取码:原始加速度数据:jkhm
一、 简单校准加速度计
以 z 以轴校准为例,步骤如下:
- 收集数据。将加速度计放置在正反位置,保持静止,分别记录 z 方向 N 如上图所示,组加速度计数据;
- 计算平均值。计算正向和反向的平均值,并在上图中取正向的平均值 8.51、反面平均值 -11.46;
- 计算误差。正放反放的误差是 [ 8.51 ( ? 11.46 ) ] / 2 = ? 1.475 [8.51 (-11.46) ] / 2 = -1.475 [8.51 (?11.46)]/2=?1.475;
- 计算校准后的值。校准后的z方向的数据都是减去校准误差。 比如8.51减去 -1.475 变为 9.985,-11.46 减去 -1.475 变为 -9.985。
- 映射到 [-g, g] 区间。将校准后的加速度除以模长,然后乘以 g 即可。 校准结果如下:
可见,校准后,解决了正反放绝对值差异较大的问题。但由于手动放平,很难使正面朝上(x,y都是0),有一定的误差。
二、简单校准陀螺仪
陀螺仪的简单校准是为了去除零偏差。
陀螺仪校准步骤如下:
- 静止并收集陀螺仪 N 组数据;
- 计算这 N 组数据的平均值;
- 减去收集到的数据的平均值。
校准结果如下:
可以看出,校准后,陀螺仪静止时的漂移量减少了很多。这种简单的校准方法解决了零偏差问题,但轴偏差尚未解决,即加速度计的坐标轴与磁力计的坐标轴不一致。
三、磁力计校准简单
磁力计的问题与加速度计有些相似,即各轴方向的最大最小值不对称,导致测量角度不准确。
校准方法:
- 收集数据。收集每个旋转磁力计x,y,z方向的 N 如上图所示,组数据(收集原始值);
- 获得最大值。在每个轴上获得最大最小值,如 x 方向最小值为 -500, 最大值为 473。
- 计算误差。计算最大最小值的误差,正反放误差为 ( ? 500 473 ) / 2 = ? 13.5 (-500 473) / 2 = -13.5 (?500 473)/2=?13.5;
- 计算校准后的值。校准后的数据是减去校准误差的原始数据。 比如 x 减去方向磁力计数据 ? 13.5 -13.5 −13.5。
工程源代码下载需积分:https://download.csdn.net/download/weixin_41869763/13054624