使用日志诊断问题

本文说明如何诊断六个最常见的问题,特别是对直升机的影响,但在某种程度上与飞机和多旋翼也一样。


日志类型 (闪存日志 vs 遥测日志)

有两种方法可以记录你的飞行数据。除了有一些不同外,这两种方法记录的数据非常相似,但方式不同:

如果你还不熟悉这些日志文件的基本知识,那么先看下介绍页面,了解这些日志存储在哪里,以及如何下载和查看其中包含的信息。


机械故障

常见的机械故障包括电机或电调故障(包括电调同步故障),螺旋桨断裂或脱落等。这些故障在日志中显示为所需的横滚和俯仰与飞行器的实际侧倾和横滚的突然偏离。 通过绘制ATT消息的DesRoll与Roll,DesPitch与Pitch以及较小程度的DesYaw与Yaw曲线,可以看出这种差异。

在上面的示例中,日志的刚开始显示飞行器的实际横滚(“ Roll”)和期望横滚(“ DesRoll”)比较接近,但随后突然分开。飞控其实是想保持水平状态(“Roll” = 0)。这与软件故障完全不同,在软件故障中,如果是飞控软件崩溃了,由于某种奇怪的原因,飞控突然想要将直升机翻转过来,因为在这种情况下,DesRoll疯狂地变化,实际Roll也会跟着变化。 遥测日志包含相同的数据。 比较NAV_CONTROLLER_OUTPUT的nav_roll(期望的横滚值)和nav_pitch(期望的俯仰值)与ATTITUDE.roll(实际横滚值)和倾斜度(实际俯仰值)。


震动

强烈的振动会导致基于直升机的加速度计的高度和水平位置估计值偏离实际情况,从而导致高度保持(飞行器可能向上窜)或在Loiter,PosHold,Auto等模式下进行位置控制的问题。

根据“测量振动”页面所述,最好通过绘制VIBE消息的VibeX,VibeY和VibeZ值来查看振动。低于30m/s/s的振动水平通常是可以接受的。高于30m/s/s的水平可能会出现问题,而高于60m/s/s的几乎会出现水平位置或高度保持问题。

下图显示了可接受的振动水平,始终低于30m/s/s


下图是一个由于高振动而导致定位估计问题的飞行器:


遥测日志的VIBRATION vibration_x、vibration_y和vibration_z也显示震动信息,与闪存日志中的信息相同。


电子罗盘干扰

飞控附近的配电板,电动机,电池,电调和其它电气设备的干扰会扰乱电子罗盘方向,导致直升机盘旋(又称“刷马桶”),甚至飞向完全错误的方向。绘制tlog的mag_field(位于“ CUSTOM”下)和油门(位于VFR_HUD下)的图形是快速查看干扰量的最简单方法。

下图显示了加油门时可接受的磁场干扰量,磁场波动仅为10%到20%。低于30%的干扰是可以接受的。在30%到60%之间的灰色区域可能还可以(一些用户可以接受,一些用户接受不了),并且当油门升高时,出现超过60%非常严重的电磁干扰。


注意:

GPS 故障

当处于自动模式(定点,RTL,自动等)时,GPS产生的位置错误会导致飞行器认为自己突然在错误的位置,并导致快速的飞行以纠正错误。 这些“故障”可在遥感日志和闪存日志中看到卫星数量的减少和hdop的增加。

绘制闪存日志的GPS消息的“HDop”和“NSats”值的图形。低于1.5的Hdop值非常好,超过2.0的Hdop值可能表明GPS位置不好。低于12个的卫星数量也很糟糕。这两个值的显著变化通常伴随着GPS位置变化。


如果使用遥测日志绘制GPS_RAW_IT组的“eph”和“satites_visible”值。Hdop值低于150是好的,值超过200可能表明产生一个错误的定位。

关于飞行器如何在非常严重的GPS故障情况下切换到非自动模式的更多细节,请参阅EKF故障安全wiki页面。


电源问题(掉电等)

电源模块为飞控提供可靠的电源供应,但有时仍然会出现电源不足的情况。它们通常可以通过日志识别,当飞行器还在空中时候,突然没有了日志就表示可能断电了(即气压计或EKF高度日志显示高度大于0)。

飞控板电压的变化也可以看到电源问题的蛛丝马迹。0.10至0.15伏的变化是正常的。在这个范围值之外,可能表明与飞控共用电源的其它设备正在引起电源波动,设置导致停电。可以使用以下方法绘制飞控板电压图:

下图显示了在拉高油门杆时候飞控电压会下降0.15V。通常这不是一件好事,但是因为只降低0.15V,所有还可能是正常。下面的第二张图(来自不同用户闪存日志)显示了非常稳定的电压,纹波小于0.1V。


意外错误及故障保护

当飞控出现的意外行为时(特别是当用户发现直升机对控制不再有反应时候),通常是由一个故障保护被触发引起的。
找到这些的最简单方法是在闪存日志中查找并按“ERR”过滤第一列。如果使用Mission Planner,在图形顶部出现错误的红色标记。.


Subsys(又称子系统)提供了产生错误的信息,ECode(又称错误代码)会告诉你具体是什么错误。子系统列表和错误代码可在AP_Logger库AP_Logger.h文件中找到。


SubsysECode and Description
2 = Radio
  • 0 = Errors Resolved

  • 2 = Late Frame : no updates received from receiver for two seconds

3 = Compass
  • 0 = Errors Resolved

  • 1 = Failed to initialise (probably a hardware issue)

  • 4 = Unhealthy : failed to read from the sensor

5 = Radio Failsafe
  • 0 = Failsafe Resolved

  • 1 = Failsafe Triggered

6 = Battery Failsafe
  • 0 = Failsafe Resolved

  • 1 = Failsafe Triggered

8 = GCS Failsafe
  • 0 = Failsafe Resolved

  • 1 = Failsafe Triggered

9 = Fence Failsafe
  • 0 = Failsafe Resolved

  • 1 = Altitude fence breach, Failsafe Triggered

  • 2 = Circular fence breach, Failsafe Triggered

  • 3 = Both Alt and Circular fence breached, Failsafe Triggered

  • 4 = Polygon fence breached, Failsafe Triggered

10 = Flight mode Change failure

Vehicle was unable to enter the desired flight mode normally because of a bad position estimate

See flight mode numbers here for Copter, Plane modes here, and Rover modes here

11 = GPS
  • 0 = Glitch cleared

  • 2 = GPS Glitch occurred

12 = Crash Check
  • 1 = Crash into ground detected.  Normally vehicle is disarmed soon after

  • 2 = Loss of control detected.  Normally parachute is released soon after

13 = Flip mode2 = Flip abandoned (not armed, pilot input or timeout)
15 = Parachute
  • 2 = Not Deployed, vehicle too low

  • 3 = Not Deployed, vehicle landed

16 = EKF Check
  • 0 = Variance cleared (position estimate OK)

  • 2 = Bad Variance (position estimate bad)

17 = EKF Failsafe
  • 0 = Failsafe Resolved

  • 1 = Failsafe Triggered

18 = Barometer
  • 0 = Errors Resolved

  • 4 = Unhealthy : failed to read from the sensor

19 = CPU Load Watchdog
  • 0 = Failsafe Resolved

  • 1 = Failsafe Triggered (normally vehicle disarms)

20 = ADSB Failsafe
  • 0 = Failsafe Resolved

  • 1 = No action just report to Pilot

  • 2 = Vehicle avoids by climbing or descending

  • 3 = Vehicle avoids by moving horizontally

  • 4 = Vehicle avoids by moving perpendicular to other vehicle

  • 5 = RTL invoked

21 = Terrain Data2 = missing terrain data
22 = Navigation
  • 2 = Failed to set destination

  • 3 = RTL restarted

  • 4 = Circle initialisation failed

  • 5 = Destination outside fence

23 = Terrain Failsafe
  • 0 = Failsafe Resolved

  • 1 = Failsafe Triggered (normally vehicle RTLs)

24 = EKF Primary changed
  • 0 = 1st EKF has become primary

  • 1 = 2nd EKF has become primary

25 = Thrust Loss Check
  • 0 = Thrust Restored

  • 1 = Thrust Loss Detected (altitude may be prioritised over yaw control)

26 = Sensor Failsafe (Sub)
  • 0 = Sensor Failsafe Cleared

  • 1 = Sensor Failsafe Triggered

27 = Leak Failsafe (Sub)
  • 0 = Leak Failsafe Cleared

  • 1 = Leak Detector Failsafe Triggered

28 = Pilot Input Timeout Failsafe (Sub only)
  • 0 = Pilot Input Failsafe Cleared

  • 1 = Pilot Input Failsafe Triggered

29 = Vibration Failsafe
  • 0 = Excessive Vibration Compensation De-activated

  • 1 = Excessive Vibration Compenstaion Activated



登录后回复