飞控开发
长期更新,有单纯记录飞控的开发历程,也有对飞控的开源
文号D935736
158
0
收藏
编辑文章

数据校准

关键词

惯性导航传感器校准

嗯,前些时间考试一大堆,终于有时间更新了。

大致说下校准。

角速度不用校准,实测出厂校准够了。

磁场校准用提供的上位机,我用的是维特智能的,这个问客服要就行,不同厂家应该一样,有校准程序,校准方法也很简单。基本就是在上位机里点进去,然后转动传感器,获取数据后停止校准并写入。当然,重点是不能在室内校准,因为室内的金属和电器会显著影响磁场的分布,可以在室外找个没人的地方,比如天台,这样防止校准失败,也能防止社死。如果有发现无法校准,或者传感器的磁场数据诡异,可以尝试拔出单片机再插回去,或者先上电再插入单片机,也可以长按复位,我也不知道什么原理,但我出现这个问题确实这样解决了,怀疑可能和HAL库初始化串口有关,建议上电后按1s左右的复位再使用。

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

类似这样,校准方法大同小异。

实测需要校准的是加速度。

根据之前的理论推导(在惯性导航开发0中),证明了可以线性校准(当然是矩阵形式),然后我们其实不需要太高的校准精度,毕竟mems陀螺仪精度本身就不算高,所以我把之前的程序简化了,在ai的帮助下搞了新的图形化界面,优化了防呆设计。核心思路简化了,就是六面校准法,单纯一次最小二乘法解决。

改一下,实测不行,还是用之前的程序,见1.4 加速度传感器的校准

实测这个精度更高,然后我小改了一下,数据改成浮点数的了,还是用串口,用"%f,%f,%f\r\n"的格式输出数据,增加输入当地重力加速度的窗口。

然后有个问题,实测这个校准精度似乎和让传感器拜访的角位置的均匀性有关,而且也不一定越校越准。我是在一次经过40个位置的校准中获取了目前最准的一组数据。推测这和非线性因素有关。不过这个以后迭代再考虑吧。

改动后的程序在此。

attachment iconacc_calibration.py17.82KBPY0次下载

attachment iconattitude_calibration.py4.01KBPY0次下载

attachment iconellipsoid_calibration.py3.95KBPY0次下载

attachment iconacc_calibration.exe68.90MBEXE0次下载

我放几张校准后的两个参考图吧,但不是最准的那次的


Figure_1.pngFigure_2.png

[修改于 10个月11天前 - 2025/12/24 15:53:15]

1
tmn_A 作者
10个月13天前 修改于 10个月11天前 IP:广东
D935782

我在新的程序中加了直接输出c语言数组的功能,可以直接复制。

我的校准矩阵:

float CK[3][3] = {{1.00415431, -0.00401098, -0.00994186},\
                 {0.00360330, 1.00102240, 0.01289015},\
                 {0.00849702, -0.01092791, 1.00027213}};
float CB[3] = {0.00528443, -0.00364301, -0.09124716};

想参与大家的讨论?现在就 登录 或者 注册。

主体信息
主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:广东
 内容统计
2026年10月
1 篇
2026年09月
1 篇
2026年08月
3 篇
2026年07月
2 篇
2026年06月
1 篇
2026年05月
1 篇
2026年04月
1 篇
2026年03月
1 篇
2026年02月
2 篇
2026年01月
1 篇
2025年
10 篇
ID: {{ user.uid }}
投诉或举报
加载中...
{{ tip }}
请选择违规类型:
{{ reason.type }}

空空如也

加载中...
回复
设为精选取消精选
评学术分
鼓励
编辑
查看历史
通过审核
移动文章
加入收藏取消收藏
退修或删除
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{ format('YYYY/MM/DD HH:mm:ss', toc) }}
回复
加入收藏取消收藏