测量振动

(飞行)控制器具有对振动敏感的加速度计。这些加速度计值与气压计和 GPS 数据相结合,用于估算飞行器的位置。如果振动过大,估算值就会发生偏差,从而导致依赖精确定位的模式(例如在 Copter 模式下)性能极差:AltHold、Loiter、RTL、Guided、Position 和 Auto 飞行模式)。

这些说明解释了如何测量振动级别。如果您发现它们超出了公差范围,那么请按照以下网站上的建议进行操作 振动阻尼 page.

地面站实时视图

地面站可以实时显示振动和剪切情况。如果使用Mission Planner地面站,点击 HUD 上的 "Vibe"(振动),即可显示当前的振动级别。

./_images/vibration-realtime-mp.png

振动水平低于 30m/s/s 通常是可以接受的。高于 30 米/秒/秒的水平 可以 超过 60 米/秒/秒的水平几乎总是会出现位置或高度保持问题。

Vibe Dataflash 日志信息

检查记录的振动水平是否大多低于 30 米/秒/秒

  • 进行至少几分钟的常规飞行(即不只是轻轻盘旋),并且 下载数据闪存日志.

  • 使用Mission Planner地面站或其他地面站绘制 VIBE 信息的 VibeX、VibeY 和 VibeZ 值。这些值显示了主加速度计输出的标准偏差,单位为 m/s/s。下图来自 3DR IRIS,显示正常水平低于 15m/s/s,但偶尔会达到峰值 30m/s/s。最大可接受值似乎低于 30m/s/s(见下面第二张图片)。

  • 将 Clip0、Clip1 和 Clip2 值绘制成图,每当一个加速度计达到最大极限(16G)时,这些值就会增加。理想情况下,在整个飞行过程中这些数值都应为零,但低数值(100)也可能是正常的,尤其是在硬着陆时。如果日志中的数字有规律地增加,则表明存在严重的振动问题。 应予以纠正.

    ./_images/mp_vibe_dataflash_msg.png

这是一个由于高振动而导致位置估计问题的载具示例。

../_images/mp_measuring_vibration_bad_vibes.png

计算振动级别的算法可参见 AP_InertialSensor.cpp 的 calc_vibration_and_clipping()函数 方法,但简而言之,就是像这样计算加速度计读数的标准偏差:

  • 从主 IMU 采集 x、y 和 z 加速计原始值

  • 以 5hz 的频率对原始值进行高通滤波,以消除载具的运动,并为 x、y 和 z 轴创建 "accel_vibe_floor"。

  • 计算最新加速度值与 accel_vibe_floor 之间的差值。

  • 将上述差值平方,滤波频率为 2 赫兹,然后计算平方根(X、Y 和 Z)。最后这三个值将出现在 VIBE msg 的 VibeX、Y 和 Z 字段中。

查看日志中的振动时,首先要看削波。如果削波为 0,则说明情况良好。这意味着检测到的振动没有压垮 IMU。

在排除振动故障时,应将振动的轴线作为查找问题的切入点:

如果 X 和 Y 都很高,那么可能是电机轴承或螺旋桨平衡出现了问题。或者您可能需要为 FC 安装更多/更好的整体减震装置。如果 X 或 Y 偏高,则可能是 FC 安装问题。可能有电线在 FC 上弹跳或限制了它。或者是你的减振装置在一个轴上的效果比另一个好。如果 Z 轴振动,则可能是螺旋桨的轨道问题(叶片弯曲)或电机的垂直游隙。

还要考虑到某些飞行条件/机身会有不同的自然振动。如果悬停时的振动看起来不错,但随着速度的增加而增大,则可能是机身或风的空气动力问题、

寻找 "倾斜"

倾斜 当飞行器的姿态估计不正确时,即使飞行员发出了平飞指令,也会导致飞行器大幅倾斜。问题的原因通常是加速度计混叠,可通过比较每个估计系统(即每个 AHRS 或 EKF)的滚动和俯仰姿态估计值来确认。姿态估计值之间的误差应在几度之内

  • 下载数据闪存日志,并在地面站日志查看器中打开

  • 如果使用 EKF2,则比较 AHRS2.Roll、NKF1[0].Roll 和 NKF1[1].Roll;如果使用 EKF3,则比较 AHRS2.Roll、XKF1[0].Roll 和 XKF1[1].Roll。

下图显示了态度非常一致的典型日志

../_images/vibration-measuring-leans.png

利用 FFT 进行高级分析

参考 使用 "原始 IMU 记录 "测量振动 页面,了解如何收集大量 IMU 数据并进行 FFT 分析,以确定振动最大的频率。

IMU 数据闪存日志信息

对于不包含 Vibe 信息的 ArduPilot 旧版本,可直接检查 IMU 值

  • 确保 LOG_BITMASK 参数设置为包含 IMU 数据,因此加速度计值会记录到数据闪存日志中

  • 在稳定模式下飞行您的旋翼飞行器,并尝试保持水平悬停(不需要完全稳定或水平)。

  • 下载数据闪存日志和 下载完成后,使用Mission Planner地面站的 "查看日志 "按钮打开日志目录中的最新文件(最后一位数字是您下载的日志编号,因此在上面的示例中,我们下载了日志 #1,所以文件名以 1.log 结尾)。

  • 出现日志浏览器后,向下滚动直至找到任何 IMU 信息。单击该行的 AccX 并按下 将这些数据绘制成图表 左键。对 AccY 和 AccZ 列重复上述操作,生成如下图表。

    使用日志进行诊断_振动

  • 检查左侧的刻度,确保 AccX 和 AccY 的振动级别在 -3 和 +3 之间。AccZ 的可接受范围为 -15 至 -5。如果非常接近或超过这些限制,则应参考 振动阻尼 页了解可能的解决方案。

  • 完成上述所有操作后,进入Mission Planner地面站的标准参数页面(可能需要按下 连接 按钮),并将日志位掩码设置回 "默认"。这一点很重要,因为特别是在 APM 上,日志记录需要大量 CPU 资源,如果不是真的需要,记录这些是一种浪费。