查看: 1082|回复: 0

干货 加速度校准分析--PX4加速度校准算法简析

[复制链接]

45

主题

818

帖子

1642

积分

金牌飞友

Rank: 6Rank: 6

积分
1642
飞币
822
注册时间
2017-8-22
发表于 2023-8-3 20:23:32 | 显示全部楼层 |阅读模式
快,关注这个公众号,一起涨姿势~

干货  加速度校准分析--PX4加速度校准算法简析w2.jpg

干货  加速度校准分析--PX4加速度校准算法简析w3.jpg

干货  加速度校准分析--PX4加速度校准算法简析w4.jpg

地面情报站卷首语:越来越多的航空院校的研究者加入到PX4的开发之中,其中也不乏很多优秀的经验作品,以促进整个社区专业化发展,这篇是我们收录的第一篇技术文章,已经过授权转载,也欢迎大家给我们投稿。

来源 | 知乎专栏 飞控那些事儿

作者 | across

编辑 | 斯东

以下为作者原文:

干货  加速度校准分析--PX4加速度校准算法简析w5.jpg

前面简单介绍过陀螺仪校准的方法,主要是提供一种方案去校准数据的零偏。同样的,加速度数据一样需要进行标定,下面先看几个问题。

1.加速度计上电校准零偏是否可行?

答案是否,以PX4飞控为例,在NED系下,水平放置时,机体测量加速度的数据应该是[0 0 -g],所以,除非你确定你的飞控校准加速度零偏的时候是绝对的水平,否则只会加大误差,更别谈每次上电自动校准,减零偏了,试想一下,如果我就是要飞机在斜坡上起飞,那飞机飞起来回平就完全不对了,飞机认为的水平已经不是你所见的水平。

2.加速度计校准有哪些方法?

主要有两种,一种是依赖于高精度的外部设备,比如转台等,进行的精确标定;主要校准安装误差,比例系数和零位偏移。方法为静态六位置法标定法。六位置法一般需要借助高精度转台进行试验测试,将姿态解算测试系统水平固定在转台测试台面上,安装过程中保证系统坐标系与转台测试面坐标系重合,对加速度传感器的各敏感轴进行竖直向上和向下测试,通过转动转台的内框-中框-外框对加速度计三个轴共测试六次。利用最小二乘法计算对六位置数据行进最小误差估计得到 12 个误差系数。具体方法可以参考一些导航方面的书籍论文。

干货  加速度校准分析--PX4加速度校准算法简析w6.jpg

另外一种则是重力参考标定,飞控会自动运行代码或离线数据采集进行参数计算。我们主要讲工程上最实用的,明显第二种比较简单实用,一般来讲,是不会用到转台这类设备进行精确标定的,原因就是设备太贵,买不起。所以一般采用重力参考标定方式。

3.加速度校准的原理?

静态放置情况下,无论加速度计计的位置在哪,所测的的加速度模值始终应该是当地重力加速度。

干货  加速度校准分析--PX4加速度校准算法简析w7.jpg

4.校准的目的?

换个说法,就是如果不校准会怎样?简单来讲,会影响你姿态解算的精度,比如互补滤波,解算的静态精度与测量的重力加速度有直接关系,所以能提高姿态解算的精度。

5.可不可以不校准?

实际应用也可以不校准加速度计,毕竟,精度再差,也不差那么一些,当然,如果对飞控的精度要求比较高,还是校准最好。

加速度计一般校准一次即可,不需要每次都上电校准,所以,也可以采集离线数据,校准之后,将参数写入你的飞控代码。

6.如何做?

主要介绍两种方法,包括pixhawk飞控的算法解析。

6.1离线数据matlab计算

飞控静止下,随便转几个面,保持一段时间,记录飞控的加速度数据。

建立模型:

干货  加速度校准分析--PX4加速度校准算法简析w8.jpg

带入上式,进行最小二乘拟合,matlab中用lsqcurvefit函数,求出a1-a6参数。

实验结果如图所示:

干货  加速度校准分析--PX4加速度校准算法简析w9.jpg

干货  加速度校准分析--PX4加速度校准算法简析w10.jpg

图中看出,校准后,加速度计数据的输出更接近重力加速度g,与重力加速度的误差更小。

得到参数如下:

1.0010    0.1178   1.0059   -0.2940    0.9926   0.1514

6.2 PX4固件加速度计校准算法

因为不是外部设备(转台)进行标定,所以校准的原理与前面介绍的一样,都采用重力加速度作为参考。

建立模型:

干货  加速度校准分析--PX4加速度校准算法简析w11.jpg

accel_corr[3]是参考向量,也就是重力加速度向量

accel_T[3][3]是转换矩阵,包含旋转和尺度缩放

accel_raw[3]是实际测量的加速度向量

accel_offs[3]是加速度数据的零点偏移

飞控采用六面校准,即取6个面的数据,则可以得到参考向量。

干货  加速度校准分析--PX4加速度校准算法简析w12.jpg

分别对应头朝上,朝下,朝左,朝右,反向,水平放置,则实测的数据accel_raw_ref[6][3]。

步骤:

一、先求出每个轴的偏移,方法是利用重力加速度在每个轴上的最大最小数据,求和后除以2得到。

干货  加速度校准分析--PX4加速度校准算法简析w13.jpg

二、下面求accel_T[3][3]矩阵的参数,包含9个未知参数,一个轴有3个数据,每个方向有3个轴数据,所以这时只需采样3面数据即可。

干货  加速度校准分析--PX4加速度校准算法简析w14.jpg

展开:

干货  加速度校准分析--PX4加速度校准算法简析w15.jpg

即转换成A * x = b形式。

x = A^-1 * b

接着就是求解线性方程组,求出x矩阵,即accel_T[3][3]。

具体代码见src\modules\commander\accelerometer_calibration.cpp文件。

7.几个需要注意的点

Ø  前面有提到,在采集数据的时候,主要是要获得静态状态下数据,所以最好不要加速晃动飞控采集,同样的原理,比如开源PX4飞控校准的时候,在摆6个面的时候,尽量缓慢,且保持一段时间;

Ø  虽然求出了12个参数,但是PX4飞控输出加速度数据的时候,也只用了6个数据,3个零偏,3个尺度变换因子,即accel_T矩阵的对角元素;

Ø  前面所述的算法,只是核心的思想,PX4飞控实际的模型还包含了旋转信息。

这里的rot矩阵,主要是根据你的飞控安装方向,外置罗盘的安装方向进行的数据坐标系校正;

Ø 加速度数据的标定并不能保证你的飞行是水平的,如果有几度的安装误差,飞起来会怎样?很显然,飞机会以固定的角度,一直往一个地方飘。

如果有读者对飞控研发的某些知识点,有不清楚的地方可以在评论下写明,笔者会挑一些普遍的问题进行讲解。后续文章主要方向还是算法方面,且偏向工程应用,具体的理论推导就不阐述了。

作者:across
链接:https://zhuanlan.zhihu.com/p/24452753
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Droneplus产业联盟

Droneplus产业联盟致力于推进无人机行业有序发展,为厂商和无人机玩家提供交流平台、资料与顾问服务。

欢迎翻译志愿者加入,你将可以与顶尖院校和厂商零距离沟通,请在后台给我留言!
您需要登录后才可以回帖 登录 | 加入联盟

本版积分规则

快速回复 返回顶部 返回列表