PX4 磁罗盘干扰分析

2023-05-16

磁罗盘干扰分析

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

推力与磁场关系

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

正常情况

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

干扰情况

与推力相关

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

解决方法

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

与推力不相关

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

罗盘补偿

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

操作流程

获取用于分析的日志

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

开始实验:

  1. 解锁无人机,缓慢推动油门到最高位置
  2. 油门到达最高位置后,缓慢降低油门到0
  3. 将无人机上锁

分析日志

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的数值即可。

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PX4 磁罗盘干扰分析 的相关文章

随机推荐

  • Nano板使用USB与PX4通信

    环境配置 USB micro与PX4通信 文章目录 环境配置 USB micro与PX4通信1 硬件接线2 软件环境 最近项目需要PX4与记载电脑通信 xff0c 查了下资料目前方案有 1 使用TELEM2串口的 xff0c 阿木的就是使用
  • 在Win下Visual Studio配置Eigen

    在Win下Visual Studio配置Eigen 最近在使用Visual Studio时想使用一下著名的矩阵运算库 xff1a Eigen xff0c 摸索了一下如何在Visual Studio中配置 1 下载Eigen源码 直接到Eig
  • AirSim中运行VIO算法(VINS-Mono)

    VINS Mono在AirSim上跑通 文章目录 VINS Mono在AirSim上跑通一 IMU参数配置二 相机参数设置三 AirSim发布数据问题 关于相机 IMU内外参的完整解释 xff0c 可以参考我的另一篇文章 一 IMU参数配置
  • AirSim中获取视觉、惯性数据方法研究

    AirSim中获取视觉 惯性数据方法研究 文章目录 AirSim中获取视觉 惯性数据方法研究1 获取ROS bag格式数据2 获取文件形式 EuRoc数据集格式 3 其他方案 最近在做AirSim中部署V SLAM xff0c 抽空将之前尝
  • 如何引用开源库(BibTex转为endnote)方法

    前言 xff1a 我们在写论文时 xff0c 论文的工作有时可能会用到别人的开源算法库 xff0c 那么我们如何在参考文献中引用呢 以Ceres库为例 xff0c 该库是谷歌开发的一款求解非线性优化问题的库 xff0c 相信做SLAM相关的
  • 关于MAC 安装 laravel4 的一些经验 二

    unix 和windows 完全不同 xff0c 只好恶补了一些UNIX的知识 xff0c 找到了 profie 这个是隐藏文件 xff0c 在find里面找不到的 接下来只能自己配置PHP环境或者下载其他软件 我下载了XAMPP xff0
  • AirSim相机、IMU内外参分析(VIO、vSLAM)

    作者 朱贞欣 xff0c 公ZH xff1a SLAM学习er 文章目录 0 引入1 世界坐标系2 IMU2 1 IMU数据生成2 2 关于IMU噪声 3 相机3 1 相机外参3 2 内参 0 引入 假设你想通过AirSim获取仿真数据运行
  • C++ cout输出小数位数

    方法一 xff1a 使用setiosflags span class token macro property span class token directive hash span span class token directive
  • kubeadm init 运行时kebelet启动失败问题

    最近在部署kebeedge xff0c 需要先在云服上部署k8s xff0c 期间通过kubeadm init config的方式进行master的部署 xff0c 记录一下遇到的kubelet相关的错误 在通过kubeadm init c
  • 2288hv5超融合服务器 数码管报888

    问题现象 2288hv5超融合服务器 xff0c 前面板数码管报888 xff0c 电源灯黄灯闪烁 xff0c 开不了机 xff0c ibmc网络是通的 xff0c 但是web网页打不开 问题原因 iBMC的版本过低 xff0c iBMC在
  • 跟我一起写操作系统(二)——史上最简单的内核

    跟我一起写操作系统 二 史上最简单的内核 转载注明出处 xff1a http www cnblogs com lucasysfeng p 4847662 html 上一讲地址 xff1a http www cnblogs com lucas
  • k8s中文文档

    http www cnblogs com huangzhenyou p 8066145 html k8s概念比较多 xff0c 有什么概念的疑惑的推荐看k8s中文文档 me的环境 操作系统 xff1a centos7 docker xff1
  • 阿里云 CentOS7 安装图形化界面 。安装图形化界面看这一篇就够了。

    阿里云centos7 下执行eclipse 响应学校老师的要求安装eclipse用于与hadoop的操作 在这之前想过两种方法来解决服务器无图形化界面 xff0c 来操作eclipse 1 在主机上下载eclipse把需要编译的代码编译成j
  • 把ESXi中的虚拟机通过OVA/OVF导出的方式迁移到Proxmox 5

    一 前言 之前发现ESXi是免费的时候 xff0c 非常兴奋地把几台服务器都装上了 xff0c 用着确实还行 xff0c 但是用久了之后就发现 xff0c 很多高端功能需要进一步付费才能使用 xff0c 比如HA等 另外就是它还有很多局限性
  • PX4 ThoneFlow光流使用

    PX4官方光流介绍 xff1a PMW3901 Based Flow Sensors PX4 User Guide 与飞控连接 接线 xff1a G接GND xff1b V接3 3V xff1b T是TX接飞控的RX口 xff1b Y接地开
  • Ubuntu PX4无人机仿真环境配置

    目录 一 VM虚拟机安装ubuntu18 04 1 VMware安装 2 新建虚拟机 二 Ubuntu系统配置 1 更改软件安装源 2 安装中文输入法 三 PX4环境搭建 1 安装git 2 下载px4源码 3 安装ROS 4 安装MAVR
  • larave5安装过程分享-MAX OSX版本

    MAC上的平台是XAMPP xff0c 自带的版本低 我用的是XAMPP MAC版本 一 本地php环境配置 which php php xff0d v xff5c php xampp php PASH 61 34 xff0f applic
  • PX4二次开发 创建进程

    目录 一 创建进程 二 仿真测试 PX4官方手册 xff1a Module Template for Full Applications PX4 User Guide 编写参照PX4源码 src templates xff1a PX4 Au
  • 【Matlab】Matlab基础绘图整理

    Matlab基础绘图整理 一张图绘制多个子图在图片文本中添加希腊字母和特殊字符其他常用函数限制坐标轴范围添加坐标轴说明添加图例修改线条类型 标记修改线条粗细 一张图绘制多个子图 主要命令 xff1a figure 第几张图 subplot
  • PX4 磁罗盘干扰分析

    磁罗盘干扰分析 推力与磁场关系正常情况干扰情况与推力相关解决方法 与推力不相关 罗盘补偿操作流程获取用于分析的日志分析日志调整罗盘补偿参数 推力与磁场关系 无人机上的电机电流会干扰无人机上搭载的磁罗盘 xff0c PX4官方提供了一些方式