管理ArduPilot自动驾驶仪装置中的振动对于实现飞机的可预测控制非常重要。通常,在内部或外部为自动驾驶仪使用机械减振,以消除最严重的振动。但对于多旋翼飞行器,几乎所有的振动都源于电机的旋转频率,直升机和飞机的振动与主旋翼或螺旋桨速度有关,对此,我们必须使用软件过滤来去除更多的噪音。
本期教程旨在通过开启FFT(默认不开启),跟踪电机或其他固定振动产生的噪音并将其过滤后,解决其对IMU的影响,减少干扰,提升无人机飞行的稳定性。
所涉及功能仅在具有2MB内存的飞控中具备,官方建议H7处理器以上飞控开启,开启前请检查飞控是否处于最新固件,确定您的飞控是否具有该功能。
进入地面站后,点击左上方“配置/调试”功能,选择“全部参数表”。设置 FFT_ENABLE = 1,启用 FFT 引擎,将会出现以下默认数值。
重启飞控后,FFT支持也将被启用,其他FFT参数在GCS中应是可见状态。使用默认参数设置后,FFT引擎将运行自检,以确定硬件上的频率匹配情况。如果没有提示任何FFT错误,则说明一切正常。
启用FFT后,最好先进行试飞,以检查飞机的特定噪声频率是否被捕获,并监控CPU负载情况。通常,由此产生的结果将显示清晰的噪声识别和可接受的CPU负载,然后可以使用FFT通过设置以下参数来驱动谐波陷波滤波器:
① 设置 INS_HNTCH_ENABLE = 1,启用谐波陷波滤波器;
② 设置INS_HNTCH_MODE = 4,使用FFT检测到的频率来控制谐波陷波滤波器频率;
③ 设置 INS_HNTCH_REF = 1,设置谐波陷波滤波器参考值,对于FFT分析通常代表没有缩放。
驱动谐波陷波滤波器后,操控无人机悬停2分钟,FFT自动学习并保存以下参数。