二、加速度计校准
在静态放置情况下,无论加速度计的位置在哪,所测得的加速度模值始终应该是当地重力加速度,而实际情况往往不满足这个条件,所以就需要对加速度计进行校准,校准的目的是为了提高姿态解算的精度。加速度计一般校准一次即可,不需要每次都上电校准。
图3-31 加速度计精确标定
加速度计校准方法主要有两种,一种是依赖于高精度的外部设备,如用转台来进行精确标定(图3-31),主要校准加速度计安装误差、比例系数和零位偏移,采用的方法是静态六位置法标定法。六位置法一般需要借助高精度转台进行试验测试,将姿态解算测试系统水平固定在转台测试台上面,安装过程中保证系统坐标系与转台测试面坐标系重合,对加速度传感器的各敏感轴进行竖直向上和向下测试,通过转动转台的内框-中框-外框对加速度计3个轴共测试6次,最后利用最小二乘法计算对6位置数据行进最小误差估计得到12个误差系数。
另一种则是重力参考标定(PX4固件加速度计校准算法),飞控会自动运行代码或离线数据采集进行参数计算。
由于转台这类设备价格较高,一般的无人机行业应用它来进行精确标定性价比太低,所以工程上一般采用简单实用的第二种方法,即重力参考标定方法。
在理想情况下,传感器的读数与实际物理量应该相同,但由于一些随机因素的影响,传感器测量到的数据与实际数据存在偏差,且偏差不停变化。偏差大体分为零位偏差和标度偏差两种。
对于一个传感器来说,可以建立如下模型:
式中,K为标度系数,B为零偏,理想状态下,K=1,B=0。但是实际中K与B的值会不停地随机变化,K的改变引起的偏差叫作标度偏差,B的改变引起的偏差叫作零位偏差。传感器校准,就是通过对已知物理量的测量,求出K与B的值,从而对测量值进行修正,解算出准确的物理量。
在Pixhawk飞控中,建立的加速度计模型如下:
式中,accel_corr是参考矢量,即重力加速度矢量;accel_T是转换矩阵,包含旋转和尺度缩放;accel_raw是实际测量的加速度矢量;accel_offs是加速度数据的零点偏移。
飞控采用六面校准,即取上下左右前后6个面的数据,则可以得到参考向量。
式中,第一行至第六行数据分别对应飞控箭头朝下、箭头朝上、飞控安装平面朝右、飞控安装平面朝左、飞控反向放置、飞控水平放置时测得的数据。
具体校准步骤如下:
(1)先求出每个轴的偏移,方法是利用重力加速度在每个轴上的最大最小数据,再取平均。
上述三个式子分别求的是无人机机体坐标系下x、y、z轴的零偏值。
(2)下面求accel_T[3][3]矩阵的参数,包含9个未知参数,一个轴有3个数据,共有3个方向轴数据,所以这时只需采样无人机飞控箭头朝下、飞控安装平面朝右和飞控反向放置等3面数据即可。
这里设“=”左边的矩阵为b,“=”右边的第一个矩阵为A,第二个矩阵为待求的x,则式(3-25)可写成b=A×x形式,所以,转换矩阵可通过求解线性方程组x=A-1×b求得,即可求得accel_T[3][3]。
如果无人机与加速度计的坐标系重合,则矩阵accel_T的主对角线上的3个值就是加速度计3个轴的比例。
在加速度计校准过程中,需要注意的事项如下:
(1)采集数据的时候,主要是要获得静态状态下数据,所以最好不要加速晃动飞控。同样的原理,如开源Pixhawk飞控校准时,在摆6个面的时候,尽量缓慢,且保持一段时间。
(2)虽然求出了12个参数,但是Pixhawk飞控输出加速度数据的时候,也只用了 6个数据:3个零偏和3个尺度变换因子。
(3)上述算法只是核心思想,Pixhawk飞控实际的模型还包含了旋转信息。
这里的rot矩阵,主要是根据飞控安装方向和外置罗盘的安装方向进行数据坐标系校正;rot是传感器与机体系之间的旋转矩阵,它们满足:机体坐标系值=传感器坐标系值×rot。
(4)加速度数据的标定并不能保证飞行是水平的,如果有几度的安装误差,飞机飞起会以固定的角度,一直往同一个方向漂移。