PX4 磁罗盘干扰分析

您所在的位置:网站首页 无人机校准过程 PX4 磁罗盘干扰分析

PX4 磁罗盘干扰分析

2024-07-12 11:38| 来源: 网络整理| 查看: 265

磁罗盘干扰分析 推力与磁场关系正常情况干扰情况与推力相关解决方法 与推力不相关 罗盘补偿操作流程获取用于分析的日志分析日志调整罗盘补偿参数

推力与磁场关系

无人机上的电机电流会干扰无人机上搭载的磁罗盘,PX4官方提供了一些方式,通过分析飞行日志,判断电机是否对磁罗盘有严重影响。 PX4官方手册介绍:Thrust and Magnetic Field 将飞行日志导入PX4官方的Flight Review中,其中图表Thrust and Magnetic Field展示了推力和磁罗盘采集的原始磁场向量的模长之间的关系。

正常情况

正常 正常状况下,飞行全程磁罗盘的曲线接近为一个常值,并且推力与磁场之间不存在相关性。

干扰情况 与推力相关

干扰情况 明显可以看出,磁场受到推力变化的影响。两者存在相关性

解决方法

1.增加外置罗盘 2.远离电机安装 3.罗盘补偿(后文会介绍)

与推力不相关

不存在明显相关性但磁场不为常值 还有一种情况,即磁场不明显与推力相关,但不维持在一个常值。这种情况可能有两个原因: 1.磁罗盘没有正确校准 2.飞行过程受到外部干扰

罗盘补偿

无人机的磁罗盘应该安装在远离大电流的位置,比如安装时应远离电机,因为电流的诱发磁场会干扰磁罗盘的读数。同时磁场强度是按与电缆距离的二次方衰减的,因此最有效的排除干扰方式应当是改变安装位置,但如果无法改变安装位置,那么也可以在软件层面,通过推力补偿/电流补偿尽量消除这部分影响。 PX4官方手册介绍:Compass Power Compensation

操作流程 获取用于分析的日志 所使用固件最好是v1.11.0之后版本执行磁罗盘校准修改参数SDLOG_MODE = 2,使无人机从上电后就开始记录日志修改参数SDLOG_PROFILE,使用外力固定无人机。因为后续要推动油门,需要确保无人机无法移动,但不能影响到电机的正常转动。飞行模式要调整为ACRO,在该模式下,无人机不会尝试补偿外界阻力,从而得到更为准确的数据。

开始实验:

解锁无人机,缓慢推动油门到最高位置油门到达最高位置后,缓慢降低油门到0将无人机上锁 分析日志

PX4源码里提供了分析磁罗盘补偿参数的脚本 具体目录: PX4-Autopilot/src/modules/sensors/vehicle_magnetometer/mag_compensation/python/mag_compensation.py 用下述命令运行该脚本

python mag_compensation.py ~/path/to/log/logfile.ulg thrust(current) /* * ~/path/to/log/logfile.ulg是实验日志的存放目录 * thrust/current选择用推力补偿或是用电流补偿 */

会得到拟合度曲线 拟合度曲线 和计算得到的补偿参数的数值: 磁罗盘补偿参数

调整罗盘补偿参数

得到上述补偿参数的数值 CAL_MAGx_XCOMP、CAL_MAGx_YCOMP、CAL_MAGx_ZCOMP之后。首先需要修改参数CAL_MAG_COMP_TYPE: 如果是用推力补偿,CAL_MAG_COMP_TYPE = 1 如果是用电流补偿,CAL_MAG_COMP_TYPE = 2 然后修改对应参数CAL_MAGx_XCOMP、CAL_MAGx_YCOMP、CAL_MAGx_ZCOMP的数值即可。

附上一个对比结果: 补偿前: 补偿前 补偿后: 补偿后



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3