【手搓固定翼fpv头追研究笔记】(三) 磁力计校准和9轴数据解算

本文详细介绍了如何通过Python进行磁力计的硬磁干扰和软磁干扰校准,以及如何使用Madgwick算法解算9轴数据,包括校准步骤、注意事项和示例代码,适用于固定翼FPV无人机开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个航模佬手搓固定翼fpv头追的底层驱动和姿态算法研究笔记·三 磁力计校准和9轴数据解算

博主因为是高三牲,最近比较忙,不能像第一篇那样详细介绍,但也保证各位看了我的文章能够正确的应用介绍的内容

磁力计的校准

主要是做磁力计数据的椭球拟合以修正磁力计的误差:
磁力计仪的干扰有两种:

  • 硬磁干扰,是周边电子元器件,金属器件或磁体产生的磁场对磁力计的干扰,电路板上不可能只存在磁力计一个设备,一定存在其他设备带来的电磁干扰,这个干扰表现为对磁力计数据在三个轴方向上的偏移
  • 软磁干扰,与其说是干扰,不如说是磁力计本身对三个轴向的磁力灵敏度不同导致的,软磁干扰使本应各向最大值为一个球形的数据范围变成一个椭球,也就是发生的变形

也就是说,解决软磁干扰,我们要将XYZ各轴的灵敏度统一,使其读取的数据的最大值落在一个球面上,解决硬磁干扰,我们要将XYZ各轴的偏移量归零,使球的中点落在坐标轴原点上

具体解决措施
参考这篇文章,利用python作为上位机读取各方向磁力计数据而后带入矩阵利用最小二乘法得出所需要的参数:https://blog.youkuaiyun.com/weixin_44457994/article/details/121677784

注意:收集数据时:

  1. 远离铁器,线圈,电容等电磁干扰,如:电脑,显示器,音响,麦克风等,否则校准之后的值是错误的,建议拿长一点的usb线原理之后再进行校准
  2. 尽可能多收集数据,各角度各方向都需要经过,以获得最好的校准效果

9轴数据解算

上篇笔记我们介绍了madgwick算法解算6轴数据,现在我们的磁力计数据也已经得到,可以进行完全体的数据解算了:
在使用数据解算之前,我们还需要修改一部分东西:
首先在Madgwick.c中,我们需要将上一步的数得到的参数用来将hmc5883l原始数值转换为校准后的数值

在这里:

    mx = (float)mx_raw;
    my = (float)my_raw;
    mz = (float
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值