不带温度补偿的DIMU校准

最近在研究德国开源飞控autoquad,国内关于AQ方面的资源较少,为方便大家研究,将以前自己翻译过的一些知识贴在这里,以供参考(英语水平有限,故翻译有错误之处,请大家指出),大家也可直接进入(http://www.autoquad.org)原网站查看原文。
本文提供一种简单快速的校准方法来得到陀螺仪和加速度计的align和scale值,但不能得到对传感器的温度补偿数值。
本概要仅适合AQ6 DIMU or AQ M4,本校准需要跳一段calibso舞来得到动态日志文件

一、calibso舞蹈

为得到精准的数据,在跳舞之前,需了解注意事项为:
1. 最好在户外测试,可远离室内的各种电器;
2. 在测试时最好没有大型的钢铁产品;
3. 最好不穿带有铁钮扣或皮带头的东西,将身上的所有电子产品拿开;

二、calibso舞蹈步骤:

  1. 把飞机放在一个水平的平面上,接通电源,打开遥控器,如果有云台、像机等都要打开;
  2. 最好有3D GPS信号,但这个不是必须的,GPS信号可以让你的日志文件有时间戳;
  3. 当3D信号稳定后,插入SD卡,等待10-15s;
  4. 轻轻拿起飞机开始跳calibso舞,飞机有上下前后左右6个面,随意取一个面,先让它朝上(偏离地心引力为上),然后缓慢的向与它相邻的一个面倾斜90度,然后再倾斜回来,总共需要向它四个相邻的面(前后左右)各倾斜90度;
  5. 6个面都要执行上一个步骤,在执行时人要缓慢的转圈,一定要慢;
  6. 完成后轻轻的把飞机放在水平的平面上,静置10-15s;
  7. 断开电源,取出sd卡;
    整个过程最少要在5分钟以上,如果低于5分种,说明你不够慢,动作要柔和。虽然只需要一次动态日志的数据,但为了确保能得到一个好的数据文件,这个舞蹈过程最好多跳两次,这样就可以挑选一个好的数据文件。动态数据日志通常为22-28MB

三、动态日志文件分析

这里写图片描述
传感器的9组数据图形曲线应该类似于上图,并且在开始和结束阶段都应是近似为一条直线,因为在跳calibso舞之前和之后都静置了10-15s。
单独分析加速度计的数据,如下图所以,在经历开始的静置后,曲线开始有轻微的振荡(拿起飞机),到大幅度的振荡(跳舞进行中),再到轻微的振荡(放到水平面上),整个过程的曲线应该是平滑的,类似于下图:
这里写图片描述
单独分析陀螺仪的数据,如下图所示,可以看到,振荡更明显,你的图形应该类似于它,当然你可以做到更好:
这里写图片描述
但是在你插入SD卡或拔出SD卡时难免会对飞机有碰撞,所以在起始阶段和结束阶段会有噪声,这个噪声是不能用的,你需要使用cut功能剪掉这段噪声(剪掉前记得备份)。
这里写图片描述
所有这一切结束之后,如果你的曲线图形类似于上面的那些,那你就可以准备开始校准了。

四、IMU校准运算介绍

4.1根据需求的不同,校准有两种不同的方法:

A、不带温度补偿的动态校准(简易)
B、带温度补偿的静态与动态完全校准(难)
不带温度补偿的动态校准只需要一个单独的动态日志文件,去进行校准运算,得到陀螺仪和加速度计的偏差与比例因子,然后再加上一个地磁校准(常用的那种简单方法),整个过程可在1小时内完成。
带温度补偿的完全校准需要静态和动态的日志文件,所花的时间更长且易出错,这个过程大概需要一整天的时间,但一旦成功校准了,将会让传感器得到一个完整的带温度补偿的数据。

4.2校准组件包含两个程序,Cal和Sim3:

  1. CAL程序: CAL主要是基于三次多项式来描述传感器的各轴上的温度与偏差的关系
  2. SIM3程序:SIM3通过给数据增加随机噪声,并自由的选择时间步长,结合一种算法来让偏差与比例因子得到收敛。
    如果运行时间足够长,这两种程序都能得到较好的收敛。

4.3如何知道这两种程序的运算进展,CAL与SIM3有两种方法可知道运算进展如何:

  1. MAE—中值绝对误差
    运算参数的质量主要用MAE来表述,MAE的值不是用来对比不同飞控板的,它只是一个你用来监控运算是否如你所希望那样进行的值,在运算时,你应该关注MAE值是否在稳定的变化,MAEs忽高忽低或有较大的跳动都是表明运算结果不理想的。
    1. AVG—传感器量纲平均值
      在CAL步骤中,加速度与地磁传感器的AVG可以帮助你判断收敛是否适当以及运算数据的质量。

4.4决定何时中止运算

在step1与step2中,程序会自动完成运算并输出一个结果,通常只需要几分钟的时间,取决于你的数据质量与电脑速度。如果没有自动停止则说明你的数据或程序有问题。
在第3步中(cal-mag),你得根据MAG和AVG的值去自己停止运算。
在第3步以后的步骤中,运算时间可能会很长(或许几个小时),它会一直运行直到你停止了它,这时候,在运算时你得观察MAE的值,在每个运算循环中,如果MAE的值不产生大的变化时,意味着你可以停止计算并进行到下一步中了。
最终输出的结果数据的质量取决于你的日志文件数据的质量,运算时间取决于你的电脑配置

五、IMU校准准备工作

5.1检索你所在地的磁倾角与磁偏角

因数学上的原因,AQ上磁倾角符号总是与真实的磁倾角(在网上用工具查到的)相反,即:在北半球,磁倾角总是为负;在南半球,磁倾角总是为正。
在AQ的校准程序中输入磁倾角与磁偏角时要注意格式(DD.MM)
注:不建议用官方的转换器,感觉存在问题,还是自己转换靠谱
通过网上相关工具的计算,且经过反转后,得到深圳的磁倾角与磁偏角大约为(单位为度):
磁倾角:#define IMU_MAG_INCL -33.59 (这个值在校准运算时要用到,较重要)
磁偏角为:-2.70

5.2生成你自己的参数文件

这里写图片描述
记得在Using Digital IMU上打勾
然后选择到‘All generated parameter’上,这里面包含了生成的数据,当然,这时候里面应该是空的。
然后复制 ‘#define IMU_MAG_INCL xx.xxxx‘到这列表里,如图所示
这里写图片描述
这时你可以点击左边的save file将数据保存在你的文件里。

六、IMU校准

(1)点击step2 cal-acc,运算完成后,选取前三行复制到All generated parameter’里并保存
#define DEFAULT_IMU_ACC_BIAS_X
#define DEFAULT_IMU_ACC_BIAS_Y
#define DEFAULT_IMU_ACC_BIAS_Z
(2)点击step5 sim3-gyo-acc,在这一步中,你需要一个低于1e-7的变量(类似于步长的东西)去执行运算。
开始运算后,你将会看到MAE的值在缓慢的下降,如果MAE或生成的数据值开始增加,你则需要以4e-7的差值去减小这个变量值。
计算一段时间后,你将会看到生成的数据开始收敛,并且MAE的值基本停止了下降,这时候就可以停止运算了。
再把生成的这些数据复制到‘All generated parameter’上,并保存。这时候不带温度补偿的IMU校准数据就全部生成了,这些数据里不包含陀螺仪和加速度计的与温度补偿有关的align和scale值(只有带温度补偿时才会有)。

七、上传校准参数

连上地面上,点击load file,选择你的参数文件,再点击transmit,再点击write flash,再点击calib.save存储到EEprom,这样之后,飞控将会一直使用校准后的IMU数据,除非你再装载一个默认的IMU数据去改变它(貌似直接在地面站上进行水平校准也会清除这些数据)。
验证数据上传是否成功:
重启,在地面站上点击refresh,就能看到数据了,你可以跟你生成的校准数据文件进行对比看是否一样。
这里写图片描述
如何将所有数据恢复到出厂设置:
在config里将CONFIG_VERSION设置成0,然后点击transmit,write flash,再点击restart,就能恢复。

八、验证校准结果——如何判断校准结果质量的好坏

上传校准参数后,再write flash后水平线会慢慢的变化水平,但可能还不够精确,重启后,水平线就能够非常精确。如果重启后仍然不水平,这就最明显的说明你的校准参数是错误的。

8.1验证量纲与地磁的影响

在地面站上打开图表,update fre选100Hz,time span设置20-30s。
选择 ACC Magnitude,将飞控放置水平,查看这个值的曲线,这个值应该接近于9.8;然后将飞控向某个面倾斜90度放置,当你在执行这动作时,Magnitude将会变化,但一旦动作停止后,这个值又会很快的回到9.8左右,再试下向其它面倾斜,如果你发现它不能始终的回到9.8,则意味着校准不理想。ACC Magnitude这个值如果能在9.7-9.9之间是非常理想的,9.6-10也可以接受。
这里写图片描述
然后用同样的方法查看 MAG Magnitude,这个值应该接近于2,但很难达到完美,所以只要在1.95-2.05内都是可行的。
在飞行时,你也可以查看下这两个值,当飞机稳定后这两个值都应该接近于9.8/2.0。
如果你的飞控板已经安装在机架上了,你可以比较AQ_ROLL 、AQ_PITCH与ACC ROLL、ACC PITCH的值,前者是基于加速度计和地磁得到的,后者则是纯粹由加速度计得到的。这两组值的不同可以告诉你地磁对最终结果的影响有多大。这样的比较可以看出你的机架和其它部件是否对地磁有负面的影响,当然,你也可以在上电后测试,这样就可以看出动力系统的影响了。

8.2验证SCALE和BIAS

重复一下,校准结果只是一个近似值,因没有昂贵的设备和完美的无磁环境,我们不可能得到一个完善的SCALE和BIAS值给各轴。
通过记录在未校准和校准后的两个日志文件(当然也可以直接在地面站上看曲线):
1. 插入一张SD卡,将飞控板保持水平放置15-20s;
2. 将其倒置,保持15-20s;
3. 将飞控沿三轴都缓慢旋转360度,然后再放回水平,并断电;
将校准参数上传到飞控中,重复上述三动作。
检验陀螺仪数据:
陀螺仪的三轴数据当你水平放置时应该为0,当你转动飞控时,应该不为0
这里写图片描述
检验加速度计数据:
加速度计的检验比较容易,先看未校准时三轴的数据:
这里写图片描述
从图中可以看出,当水平时,X Y轴的数据并不都为0,Z轴的数据为-8.5且当倒置飞控时大概变为11.5,这样未校准的结果会导致产生水平的偏差,或者在垂直速度和水平速度上会造成较大的偏差。
下图为经校准后的加速度计数据:
这里写图片描述
可以看到,X Y轴的数据都接近于0,且Z轴的数据在-10.1~9.5之间变动,总变动范围为19.6,这样的变动范围是较理想的,虽然依然还存在着0.3的偏差,绝对理想的变动应该是在-9.806~9.806之内,公差为0.005,但这是难以达到的。
微小的偏差往往会积累成巨大的误差,例如加速度计上某轴上0.3m/s^2的偏差,每秒过后,都会让速度增加0.3m/s的误差,如果这个误差未得到修正,那么10s过后,会让速度的误差累计到3m/s,姿态估计时因速度很快,这个误差会累加的更严重。
小提示:
加速度是个敏感元件,如果你将飞控板放置了很长的时间(几个月),加速度计由于在放置的方向上受到了重力的影响,会导致在该方向上存在一些偏差,所以,如果你几个月都不飞行的话,要偶尔动动你的飞控板,让传感器元件运动一下,否则你只能再去重新校准。

8.3评估地磁

地磁也是敏感元件,它很容易受到金属物件和电子产品的影响—金属物件越大,电子产品的电流越大,干扰就越强,所以你最好远离这些东西。
地磁如果经过了完美的较准,如果沿着各轴旋转360度,其值应该在正负2.0的范围内变动。但由于地磁易受到各种干扰源的影响,所以当你把它靠近一个干扰源的话,这个变动范围会升到正负2.7左右。滤波器会过滤掉一些偏差和比例变化,所以你可以验证下,当你转动飞控板时,各轴的磁感应值应该在一个大致相同的范围内变化。
这里写图片描述
上图为经校准后的地磁数据图,我们可以看到,三轴的变化范围大致相同,且都在正负2.0的范围内变化。
其它:
UKF(去芳香卡尔曼滤波)应用在了AQ上,它能很好的依靠GPS和气压计的数值去修正传感器的误差。我们有时看到在有GPS时,飞控即使完全没校准过,但依然能飞行的很好,但你千万不能低估校准的作用,你可以经常试试拔掉GPS天线飞行。
UKF的工作是解决加速度计和陀螺仪三轴的误差问题并得到最优估计,UKF类似于不断学习并判断的过程,如果这时传感器的数值存在较大误差,UKF就会选择更少的相信传感器的数值。

九、这些数值代表了什么?

基于静态和动态日志文件,CAL和SIM3程序能产生81个值。
有三组传感器—加速度计、陀螺仪、地磁,每个传感器有XYZ三轴,总共有9个数据会影响校准的结果。
校准产生的数据能够修正传感器由于制造,安装,温度,以及外部线路,电调,电机等所产生的影响。
。。。。。
原则很简单,数据的精度越高,飞行器就飞得越稳定。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值