【PX4-AutoPilot教程-TIPS】PX4加速度计陀螺仪滤波器参数设置
进行滤波器参数设置的前提是飞机简单调试过PID已经可以稳定起飞,开源飞控的很多默认参数是可以让飞机平稳起飞的。修改参数SDLOG_PROFILE,勾选High rate选项。以最大频率来记录数据,这就方便我们之后对角速率、加速度以及控制输出信号进行傅里叶分析。PX4可以调整低通滤波器的截止频率参数来过滤掉高频噪声。截止频率越小,过滤的越彻底,但是带来的控制延时越大。截止频率越大,延时越小,但是会使
环境:
日志分析软件 : 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 | 启用陀螺仪FFT | 0 |
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图
下图是滤波后控制输出的频谱图。
下图是滤波后角速度数据的频谱图。
下图是滤波后角加速度数据的频谱图。
参考资料:
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)