【PX4-AutoPilot教程-TIPS】PX4加速度计陀螺仪滤波器参数设置

本文主要是介绍【PX4-AutoPilot教程-TIPS】PX4加速度计陀螺仪滤波器参数设置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

PX4加速度计陀螺仪滤波器参数设置

    • 前期准备
    • 滤波前FFT图
    • 滤波后FFT图

环境:

日志分析软件 : Flight Review

PX4 :1.13.0

前期准备

进行滤波器参数设置的前提是飞机简单调试过PID已经可以稳定起飞,开源飞控的很多默认参数是可以让飞机平稳起飞的。

修改参数SDLOG_PROFILE,勾选High rate选项。以最大频率来记录数据,这就方便我们之后对角速率、加速度以及控制输出信号进行傅里叶分析。

在这里插入图片描述

使用自稳模式飞行几分钟,然后使用Flight Review日志分析软件导入数据,生成数据图表。

相关参数如下:

参数名称描述默认值
IMU_ACCEL_CUTOFF加速度计的低通滤波器截止频率,设为0将禁用30
IMU_DGYRO_CUTOFF角加速度的截止频率,设为0将禁用30
IMU_GYRO_CAL_EN启用陀螺仪自动校准1
IMU_GYRO_CUTOFF陀螺仪的低通滤波器截止频率,设为0将禁用30
IMU_GYRO_DNF_BW陀螺仪ESC陷波滤波器带宽15
IMU_GYRO_DNF_EN启用陀螺仪ESC陷波滤波器0
IMU_GYRO_DNF_HMC陀螺仪动态陷波滤波器谐波3
IMU_GYRO_DNF_MIN陀螺仪动态陷波滤波器最小频率25
IMU_GYRO_FFT_EN启用陀螺仪FFT0
IMU_GYRO_FFT_LEN陀螺仪FFT长度值512
IMU_GYRO_FFT_MAX陀螺仪FFT最大频率150
IMU_GYRO_FFT_MIN陀螺仪FFT最小频率30
IMU_GYRO_FFT_SNR陀螺仪FFT信噪比10
IMU_GYRO_NF0_BW陀螺仪的陷波滤波器1带宽20
IMU_GYRO_NF0_FRQ陀螺仪的陷波滤波器1中心频率,设为0将禁用0
IMU_GYRO_NF1_BW陀螺仪的陷波滤波器2带宽20
IMU_GYRO_NF1_FRQ陀螺仪的陷波滤波器2中心频率,设为0将禁用0
IMU_GYRO_RATEMAX陀螺仪数据最大发布速率(内环速率)400
IMU_INTEG_RATE混合原始IMU数据以产生角和角速度数据的速率200

PX4可以调整低通滤波器的截止频率参数来过滤掉高频噪声。截止频率越小,过滤的越彻底,但是带来的控制延时越大。截止频率越大,延时越小,但是会使噪声变大。

滤波前FFT图

下图是控制输出的频谱图。

在这里插入图片描述

看角速度数据的FFT频谱图,以下图为例,在40HZ以后的噪声比较多,可以设置IMU_GYRO_CUTOFF为40。

在这里插入图片描述

看角加速度数据的FFT频谱图,以下图为例,在40HZ以后的噪声比较多,可以设置IMU_DGYRO_CUTOFF为40。

在这里插入图片描述

另外PX4还可以设置两个陷波滤波器,可以看到图中20Hz处有明显噪声,可以将陷波滤波器的频率参数IMU_GYRO_NF0_FRQ设置为20,陷波区间IMU_GYRO_NF0_BW设置为10。

滤波后FFT图

下图是滤波后控制输出的频谱图。

在这里插入图片描述

下图是滤波后角速度数据的频谱图。

在这里插入图片描述

下图是滤波后角加速度数据的频谱图。

在这里插入图片描述


参考资料:

PX4无人机自动调参

PX4实战目光之振动分析

这篇关于【PX4-AutoPilot教程-TIPS】PX4加速度计陀螺仪滤波器参数设置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1052447

相关文章

Ubuntu固定虚拟机ip地址的方法教程

《Ubuntu固定虚拟机ip地址的方法教程》本文详细介绍了如何在Ubuntu虚拟机中固定IP地址,包括检查和编辑`/etc/apt/sources.list`文件、更新网络配置文件以及使用Networ... 1、由于虚拟机网络是桥接,所以ip地址会不停地变化,接下来我们就讲述ip如何固定 2、如果apt安

PyCharm 接入 DeepSeek最新完整教程

《PyCharm接入DeepSeek最新完整教程》文章介绍了DeepSeek-V3模型的性能提升以及如何在PyCharm中接入和使用DeepSeek进行代码开发,本文通过图文并茂的形式给大家介绍的... 目录DeepSeek-V3效果演示创建API Key在PyCharm中下载Continue插件配置Con

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

Spring Boot整合log4j2日志配置的详细教程

《SpringBoot整合log4j2日志配置的详细教程》:本文主要介绍SpringBoot项目中整合Log4j2日志框架的步骤和配置,包括常用日志框架的比较、配置参数介绍、Log4j2配置详解... 目录前言一、常用日志框架二、配置参数介绍1. 日志级别2. 输出形式3. 日志格式3.1 PatternL

MySQL8.2.0安装教程分享

《MySQL8.2.0安装教程分享》这篇文章详细介绍了如何在Windows系统上安装MySQL数据库软件,包括下载、安装、配置和设置环境变量的步骤... 目录mysql的安装图文1.python访问网址2javascript.点击3.进入Downloads向下滑动4.选择Community Server5.

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

本地私有化部署DeepSeek模型的详细教程

《本地私有化部署DeepSeek模型的详细教程》DeepSeek模型是一种强大的语言模型,本地私有化部署可以让用户在自己的环境中安全、高效地使用该模型,避免数据传输到外部带来的安全风险,同时也能根据自... 目录一、引言二、环境准备(一)硬件要求(二)软件要求(三)创建虚拟环境三、安装依赖库四、获取 Dee

MySql9.1.0安装详细教程(最新推荐)

《MySql9.1.0安装详细教程(最新推荐)》MySQL是一个流行的关系型数据库管理系统,支持多线程和多种数据库连接途径,能够处理上千万条记录的大型数据库,本文介绍MySql9.1.0安装详细教程,... 目录mysql介绍:一、下载 Mysql 安装文件二、Mysql 安装教程三、环境配置1.右击此电脑

在idea中使用mysql数据库超详细教程

《在idea中使用mysql数据库超详细教程》:本文主要介绍如何在IntelliJIDEA中连接MySQL数据库,并使用控制台执行SQL语句,还详细讲解了如何使用MyBatisGenerator快... 目录一、连接mysql二、使用mysql三、快速生成实体、接口、sql文件总结一、连接mysql在ID