先把官方网站上日志相关的说明翻译下来:
ArduPilot Documentation — ArduPilot documentation
页面:Logs — Copter documentation
与日志记录和分析相关的主题
- 使用日志诊断问题 Diagnosing problems using Logs — Copter documentation
- 数据闪存日志 Downloading and Analyzing Data Logs in Mission Planner — Copter documentation
- 直升机日志信息 Onboard Message Log Messages — Copter documentation
- 测量振动 Measuring Vibration — Copter documentation
-
使用IMU批量采样器测量振动 Measuring Vibration with IMU Batch Sampler — Copter documentation
- 遥测日志 Telemetry Logs — Mission Planner documentation
日志分析相关工具
- MAVExplorer Using MAVExplorer for log analysis — Dev documentation
- MissionPlanner
- QGroundControl
- DroneePlotter
- UAV LogViewer
目录
1.使用日志诊断问题
此页面显示如何诊断特别影响Copter的六个最常见问题,但在某种程度上也影响Plane和Rover
日志类型(Dataflash 与 tlogs)
有两种方法可以记录您的飞行数据。除了一些例外,这两种方法记录的数据非常相似,但方式不同:
- Dataflash logs(查看2)记录在autopilot(通常存储在SD卡上),因此必须在飞行后从autopilot上下载
- Telemetry logs(也称为tlogs)(查看6)是当autopilot通过遥测链路连接时,由本地PC上的地面站(Mission Planner)记录
如果您还不熟悉这些日志文件的基础知识,请首先查看介绍页面以了解这些日志的存储位置以及如何下载和查看其中包含的信息
机械故障
常见的机械故障包括电机或 ESC 故障(包括 ESC 同步故障)、螺旋桨断裂或脱落等。这些在日志中显示为所需滚动和俯仰与车辆实际滚动和俯仰之间的突然分歧。通过绘制 ATT 消息的 DesRoll 与 Roll、DesPitch 与 Pitch 以及较小程度的 DesYaw 与 Yaw 可以看到这种差异。
在上面的示例中,车辆的实际侧倾 (“Roll”) 紧跟日志第一部分所需的侧倾 (“DesRoll”),但随后突然发散。自动驾驶仪希望滚动保持水平(“滚动”= 0),但它不可能意味着存在机械故障。这与软件故障非常不同,在软件故障中,自动驾驶仪因某种奇怪的原因突然想让直升机上下颠倒,因为在这种情况下,DesRoll 也会变得疯狂,并且实际的 Roll 会随之而来
Tlogs 包含相同的数据。将 NAV_CONTROLLER_OUTPUT 的 nav_roll(期望滚动)和 nav_pitch(期望俯仰)与 ATTITUDE.roll(实际滚动)和 pitch(实际俯仰)进行比较。
振动
高振动会导致直升机基于加速度计的高度和水平位置估计偏离现实,从而导致高度保持(飞行器可能会飞向天空)或在 Loiter、PosHold、Auto 等模式下的位置控制出现问题。
如测量振动页面所述,最好通过绘制 VIBE 消息的 VibeX、VibeY 和 VibeZ 值来查看振动。低于 30m/s/s 的振动水平通常是可以接受的。高于 30m/s/s 的水平面可能会出现问题,高于 60m/s/s 的水平面几乎总是会出现位置或高度保持问题。
下图显示了可接受的振动水平,始终低于 30m/s/s
下图来自因高振动而出现位置估计问题的车辆
Tlog 的 VIBRATIONvibration_x、vibration_y 和vibration_z 也可以使用并显示与存储到数据闪存日志中相同的信息
罗盘干扰
来自自动驾驶仪附近的配电板、电机、电池、ESC 和其他电气设备的干扰可能会导致指南针航向偏离,从而导致盘旋(又称“马桶保龄球”),甚至直升机飞向完全错误的方向。绘制 tlog 的 mag_field(在“CUSTOM”下)和油门(在 VFR_HUD 下)是快速查看干扰量的最简单方法。
下图显示了可接受的磁场干扰量,当油门升高时,磁场波动仅为 10% 到 20%。低于 30% 的干扰是可以接受的。 30% ~ 60% 之间处于灰色区域,可能还可以(有些用户可以,有些则不行),当油门升高时,非常糟糕的磁干扰将显示为超过 60% 的跳跃。
额外说明:
- mag_field 的长度可以在 120 到 550 之间,具体取决于车辆在世界的哪个位置,但通常在 330 左右
- 磁干扰占总磁场的百分比也显示在罗盘设置过程的最后。在 Advanced Compass Setup 页面上搜索“CompassMot”以了解有关 compassmot 的更多信息
- Dataflash 日志的 COMPASS 消息保存罗盘的原始 x、y 和 z 轴值(称为 MagX、MagY、MagZ),它们等效于 tlog 的 RAW_IMU xmag、ymag 和 zmag 字段。可以通过首先将 dataflash 日志文件加载到 excel 中,通过 COMPASS 消息过滤,然后使用公式 mag_field = sqrt(MagX^2, MagY^2, MagZ^2 计算磁场长度来计算磁场长度)。请注意,默认情况下,数据闪存日志中未启用 COMPASS 消息,因为它以 50hz 运行并且确实会影响 CPU 性能。
- 上面的图像在图表的开头显示了一个短暂的尖峰,但这可以忽略不计,因为它是在油门升起之前,所以它可能就像用户插入其他一些电子设备一样
GPS故障
当处于自主模式(Loiter、RTL、Auto 等)时,来自 GPS 的位置错误会导致车辆认为它突然出现在错误的位置,并导致主动飞行以纠正感知到的错误。这些“故障”在 tlog 和 dataflash 日志中都显示为可见卫星数量的减少和 hdop 的增加。
绘制 Dataflash 日志的 GPS 消息的“HDop”和“NSats”值。低于 1.5 的 Hdop 值非常好,超过 2.0 的值可能表明 GPS 位置不好。低于 12 颗的卫星数量也很糟糕。这两个值的显着变化通常伴随 GPS 位置变化
如果使用 tlogs 绘制 GPS_RAW_IT 组的“eph”和“satellites_visible”值。低于 150 的 Hdop 值是好的,超过 200 的值可能表明位置不好。
有关在 GPS 故障非常严重的情况下车辆如何切换到非自主模式的更多详细信息,请参阅 EKF 故障保护 wiki 页面
电源问题(掉电等)
电源模块为自动驾驶仪提供可靠的电源,但偶尔仍会发生掉电。它们通常可以通过在车辆仍在空中时突然结束的日志来识别(即气压计或 EKF 高度仍在报告车辆的高度远高于零)。
尝试绘制图形:
- Dataflash 日志的 CTUN Alt(离家高度)或 BAlt(气压计高度)
- Dataflash 日志的 GPS Alt(海拔高度)
- Tlog 的 VFR_HUD alt(加速度计 + 气压计高度估计的组合)
- Tlog 的 GLOBAL_POSITION relative_alt(高于家的高度)
电路板电压的变化也可能是电源问题的征兆。 0.10 到 0.15 伏的变化是正常的。除此之外,可能表明与自动驾驶仪共享电源的其他设备正在导致电源波动,从而导致断电。可以使用以下方法绘制电路板电压:
- Dataflash POWR 消息的 VCC
- Tlog HWSTATUS 的 Vcc
在下图中,当油门升起时,电路板电压下降了 0.15V。这通常不是一件好事,但因为它只有 0.15V,所以可能没问题。下面的第二张图(来自不同用户日志的数据闪存图)显示了一个非常稳定的电压,纹波小于 0.1V。