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

1.5 磁力计校准

关键词

惯性导航磁力计校准椭球校准姿态校准最小二乘法

这一篇我们开始校准磁力计。

误差模型和校准思路和加速度传感器基本相同:

$b_c = C_b(K_bb_r+B_b)$(8)

然后误差函数同理,就不再详细叙述了。思路还是,先校准向量使其对应的点落在球心为原点的球面上,然后再校准姿态。然后椭球校准调用的库还是1.4里的那个程序,这次直接调用了,但是姿态校准有变化。

这里只需要说四点。

一是字母,可能有点混乱。我们规定在这里,以及在python程序里,用代表磁感应强度的字母b代表磁场(小写是为了区分矩阵与向量,这里都是狭义的哈),然后在单片机程序里,为了与mpl库一致,用磁力英文首字母m代表磁场。

二是磁力计不要求静止读数,因为加速度不会影响磁力计数据。我们的校准流程大概是,画8字型收集各个姿态下磁场数据,椭球校准,然后静止放置在几个姿态下,通过地磁场的矢量与重力加速度矢量夹角不变姿态校准,这样可以收集上千组不同姿态。当然总程序要改不少,写好了会在下面放出来。

三是磁力计不能在室内校准。室内一般都有大量金属制品,这会显著扭曲地磁场,即软磁误差,更不用书电子产品和市电会带来额外的磁场,即硬磁误差,这二者是磁力计相比加速度传感器多的误差。对传感器内部(即固联参考系)的软硬磁误差,可以证明(证略,以后迭代后用更精确的误差模型的时候再说此事)通过如上的流程可以顺便校准了,但是传感器外部的误差(即地面参考系)的误差不行,所以尽量在室外校准。当然,探空火箭发射在室外,不用担心。(说实话这对社恐是非常尴尬的……找个没人的地儿……带着电脑单片机传感器去……)

四是磁力计校准当然需要个磁场传感器。毕竟地磁矢量的方向比重力加速度矢量方向难确定得多。如果用上述二矢量夹角一致的话,能略去具体矢量方向的获取,但是至少也要知道地磁强度。可以用浏览器搜索当地的地磁强度来确定,但是为了精确一点,所以还是要个磁力计。这里推荐一款手机软件,可以用做磁力计平替,叫 磁场探测器 。可以搜索后安装。当然,这个是小软件,没有比较正规的安装平台。要正规的话可以用phyphox等等,不过我没下(主要原因是我的64gb内存的手机已经快满了1f62d)。富哥可以买个磁力计。这里给一个链接,注意只有手机版本。XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

[修改于 1年1个月前 - 2025/10/01 22:40:16]

4
tmn_A 作者
1年1个月前 IP:广东
D929070

由于过不久有件重要的事情,我要准备一下,所以明天可能最后更一次后暂时停更

tmn_A作者
1年1个月前 IP:广东
D929292

以下是另一个库文件,刚刚写好。我们以校准好的重力向量为基准,校准已经校准了模长和偏移的地磁矢量的姿态。即求$C_b$

一般的解法是这样设立误差函数的:由于地磁矢量和重力向量夹角和模长应该不变,所以它们的点积应该不变,拟合时要保证点积不变。

但是不知道为什么,可能是数学原因,可能是我对scipy库函数了解不够,总之实测这样跑不出来。所以我选择了等价的另一种方式。由于重力矢量和地磁矢量夹角和模长都不变,所以它们的差向量的模长应该恒定(由余弦定理唯一确定),那么这些差向量所对的数据点就分布在球心是球面上。这个球面的半径我们就取模长的均值了。

attachment iconrelative_calibration.py5.79KBPY0次下载

下文讲解。

tmn_A作者
1年1个月前 IP:广东
D929294

image.png

引用的库

image.png

这是上述误差函数的实现,有点复杂。可能不是最优解,不过能跑

image.png

最小二乘法拟合

image.png

获取参数

image.png

3d绘图

image.png

image.png


上两张为测试函数。

image.png

这就没什么好说的了。


tmn_A作者
1年1个月前 IP:广东
D929298

输出

image.png

绘图

image.png

可以看出,没有椭球校准的那个姿态不定的数学原因,它拟合参数得很准。这里有一千个点,看起来比较麻烦,不过实际最多十几个,看上去还是非常清楚的。


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

主体信息
主体类型:个人
所属领域:无
认证方式:手机号
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) }}
回复
加入收藏取消收藏