前言

PX4 1.13.2
日志分析软件:flight review
https://logs.px4.io/

一、滤波参数

产生震动的原因:
1,桨叶损坏、动平衡差
2,电机桨座不垂直,电机动平衡差
3,机架刚性不足
4,部件松动

降低震动的方法:
软件滤波:调低通滤波或者陷波滤波器参数
硬件减震:调减震球的软度或者加配重

调参时可以用自稳模式飞行
在调滤波器参数之前,可以先大致调一下PID的参数,角度率环的P和D不要设置的太高,能飞并且没有明显超调和振荡就可以
通常默认PID参数就可以

建议先调完滤波参数再精调PID,因为如果传感器噪声较大且没有被滤掉的话,会导致电机输出噪声大,导致下面的现象

1电机和电调可能会变热,甚至损坏。
2续航时间变少,因为电机不断改变速度。
3可见的随机小抽搐。
此时只调PID很难达到理想的控制效果。

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

延时会影响控制效果。如果控制延时较大,则相应的PID的P项就不能设置的太大。同样的PID参数,低延时的飞机可能飞行很好,延时大的飞机可能直接发散,只能调小PID才能飞起来,相应的控制效果也会变差。影响延时的因素如下:

1.机身较软,或者安装有减震板(这相当于硬件滤波)
2.软件上的低通滤波
3.PX4固件从数据读取到控制输出的计算延时
4.陀螺仪的最大输出频率,(使用参数IMU_GYRO_RATEMAX配置)。较高的速率减少了延迟,但可能会占用其他进程计算资源。仅建议使用STM32H7处理器或更新处理器的控制器使用4 kHz或更高频率(2 kHz值接近功能较差处理器的极限)。
5.与使用AUX引脚相比,IO芯片(MAIN引脚)增加了约5.4毫秒的延迟。为避免IO延迟,请禁用SYS_USE_IO并将电机连接到AUX引脚。
6.PWM输出信号:启用Dshot或One Shot以减少延迟。
7.执行器的控制延时,一般小轴距飞机的电机相应快,大轴距飞机的电机KV低,响应慢。因此大轴距的飞机PID不能太大。

滤波器参数
陀螺仪数据的陷波滤波器,用于滤除窄带噪声,例如桨叶频率处的谐波。可以使用IMU_GYRO_NF0_BW和IMU_GYROC_NF0_FRQ配置此滤波器。

陀螺仪传感器数据的低通滤波器。可以使用IMU_GYRO_CUTOFF参数进行配置。

陀螺仪D项上的一个单独的低通滤波器。D项最容易受到噪声的影响,而稍微增加的延迟不会对性能产生负面影响。因此,D项具有可单独配置的低通滤波器IMU_DGYRO_CUTOFF。

电机输出(MOT_SLEW_MAX)上的滑动滤波器。一般不使用。

调参前需要配置日志记录参数:SDLOG_PROFILE ,勾选High rate。
调参数IMU_GYRO_CUTOFF。
看陀螺仪数据的FFT频谱图
以下图为例,在40HZ以后的噪声比较多,可以设置IMU_GYRO_CUTOFF为35。
请添加图片描述调参数IMU_DGYRO_CUTOFF。
看角加速度的FFT图
以下图为例,在40Hz以后有一个噪声高峰,可以设置IMU_DGYRO_CUTOFF为35
请添加图片描述
调参数IMU_ACCEL_CUTOFF。
看加速度数据的FFT图。
以下图为例,在35Hz以后的振动比较大,可以设置IMU_ACCEL_CUTOFF为30
请添加图片描述调完参数可以看actuator_control的FFT,查看控制输出的噪声是否在可接受的范围。
除了软件上的滤波,还需要在硬件上减少振动,例如飞控安装减震,飞机上的所有部件都安装牢固,桨叶动平衡。机架尽量用强度高,轴距小的的机架,电机用高KV值电机(高频振动更好滤除)

陷波滤波器调参
有的时候FFT在一个较低的频率处有个尖峰,如果想用低通滤波将其滤除的话,需要将截止频率设置的很低,会使延时增大,此时可以通过陷波滤波器将其滤除。
需要注意的是,这种尖峰可能是由于飞机部件松动引起的振动,加固飞机可能比调滤波参数更有效果
请添加图片描述上图需要设置两个陷波滤波器,上图的IMU_GYRO_CUTOFF可以设置为120.

第一个:
频率参数IMU_GYRO_NF0_FRQ设置为20
陷波区间IMU_GYRO_NF0_BW 设置为10
第二个:
频率参数IMU_GYRO_NF0_FRQ设置为26.5
陷波区间IMU_GYRO_NF0_BW 设置为2

陷波滤波后的效果如下:
请添加图片描述

一般穿越机的IMU_GYRO_CUTOFF可以设置为120,IMU_DGYRO_CUTOFF可以设置为50到80
大的机架就根据FFT具体设置。

二、PID参数

自动调参

如果使用自动调参,需要使用新版的QGC地面站
PX4自动调参可以用hold模式调参,先起飞,然后切换到hold模式,调角速率环的话,点击下图的Autotune,飞机会自动进行roll/pitch/yaw角速率PID的调整。调整期间可以看到飞机会自动执行一些动作。请添加图片描述
调整完后,可以看到地面站提示降落飞机,自动调参的进度条提示wait for disarm,此时降落飞机
请添加图片描述
降落后可以看到地面站提示Autotune successful,说明调参成功。
请添加图片描述
角度环的自动调参同角速率环

手动调参

首先调角速率环,然后姿态环,再速度环,最后位置环。

角速率环

PX4角速率环PID流程如下
请添加图片描述
基于上图,有两种调参形式

1.并行形式
相当于K取常数
在这里插入图片描述
2.标准形式
相当于P取常值,这种形式在数学上等同于并行形式,但主要优点是它将比例增益调谐与积分和导数增益解耦。这意味着,通过利用具有类似尺寸/惯性的无人机的增益,并简单地调整K增益,就可以很容易地调整新飞机,使其正常飞行。
在这里插入图片描述
在调角速率PID时可以在自稳/特技模式下飞行,特技模式能更容易的看出调参效果,但更难操控,新手建议用自稳模式。
一开始可以把roll/pitch的PID设置成一样,等调的差不多了,然后再对roll和pitch的PID单独细调,如果飞机是对称的,则roll和pitch的PID一样就可以了。yaw的调参方法和roll/pitch类似,但是yaw的D项一般为0.

P项调节
将角速率环的I和D都置0,K置为1,然后调节P项,从小到大开始调。

P项过高:高频振荡
如下图,红色是当前角速率,绿色是期望角速率,大概以10Hz频率振荡

请添加图片描述

P项过低:对操纵反映迟缓,在特技模式下可以看到姿态的漂移。
如下图,红色是当前角速率,绿色是期望角速率,可以看到当前角速率曲线的相位明显滞后于期望的角速率
请添加图片描述

每次增加20-30%的增益,最终微调时减少到5-10%。
较好的P如下图,红色的为期望角速度,蓝色为当前角速度。相应较快,且没有明显的超调和振荡(两者还存在较大的静差,这是由于现在的I项为0)
请添加图片描述
I项调节
调好P后,就可以调节I
I项过高:低频振荡
如下图,红色是当前角速率,蓝色是期望角速率,几乎没有静差,但过高的I也会导致振荡
请添加图片描述I项过低:静差较大,如下图,红色是当前姿态,蓝色是期望姿态
请添加图片描述较好的I效果如下,没有振荡,也没有明显的静差。
请添加图片描述D项调节
D项的主要作用是抑制超调,但不宜过大,因为会放大噪声

D项过大:电机会发烫,并且电机会抽搐(听声音就是高频的忽高忽低声音),并且对操纵的反映比较迟钝。
可以看到电机的输出变化非常剧烈。
请添加图片描述D项过小:在阶跃输入后会出现超调,例如在自稳模式猛打杆后立刻将杆回中,可以看到飞机来会振荡几次后才恢复水平。此时可以调大D,直到飞机能够直接恢复水平而没有明显振荡。

姿态环

姿态环只有比例项,调参比较简单,如果P太小,操纵会比较迟钝,P太大也会出现振荡或超调,一般默认值就可以用。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐