ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

APM/Pixhawk飞行日志分析:5个关键指标提前预判炸机风险

APM/Pixhawk飞行日志分析:5个关键指标提前预判炸机风险 先放结论绝大多数炸机都不是运气不好而是日志里早有预兆只是你没看。我自己第一次真正学会看 APM/Pixhawk 飞行日志分析就是在连续炸了两台四轴之后。第一台是空中突然侧翻第二台是定位模式里像喝醉了一样乱飘。当时群里老手的第一个问题都是同一句日志呢拿日志说话。从那以后我养成了一个习惯不管飞得顺不顺每次回来都顺手导出 .bin 日志花十分钟扫一遍关键指标。今天我把最常用的 5 个指标拆开讲清楚每个指标怎么看、阈值多少、对应什么故障最后再还原一次完整的炸机排查链路。1. 先搞清楚日志里到底记了什么飞行日志本质上是飞控的黑匣子。APM/Pixhawk 飞控在飞行过程中以 50Hz~400Hz 的频率把传感器原始数据、姿态解算结果、控制输出、GPS 信息、电源状态全部写入板载存储。Mission Planner 打开 DataFlash Logs 能看到完整的 .bin 文件列表Pixhawk 系也可以用 QGroundControl 读 .ulog 或 .px4log但 APM 固件环境下最顺手的方式还是 Mission Planner 的 Review Flight Logs。很多人拿到日志的第一步就错了——直接去翻 PID 调参。实际上日志分析有自己的顺序我建议按照这个链路来先看事件列表Events确认有没有 Failsafe、EKF、低电压之类的告警再看遥控输入RCIN排除信号中断和飞手操作问题然后看姿态ATT确认飞控的想法正不正常接着看振动VIBE确认传感器有没有被物理震动干扰最后看电机输出RCOU和电流CURR锁定动力侧的异常。这个顺序的核心逻辑是先排除外部因素再检查飞控内部状态最后看执行机构。外部因素包括遥控链路、GPS、电源内部状态包括姿态估计、传感器健康度执行机构包括电调、电机、螺旋桨。如果不按这个顺序很容易被某个表面的异常数据带偏。比如电机输出异常原因可能在 PID、也可能在振动、还可能是电池压降单看 RCOU 根本无法定位。在开始逐项看指标之前我建议你先在 Mission Planner 的回放界面里把整个飞行过程从头到尾看一遍。回放时注意几个时间点起飞瞬间、第一次大机动、模式切换、异常出现前 10 秒。这些时间点在后面的逐项分析里会反复用到。2. 指标一VIBE 振动水平多数炸机的隐形元凶2.1 怎么看 VIBE在 Mission Planner 的 Review Flight Logs 里找到 VIBE 曲线主要看三个量AccXX轴加速度振动、AccYY轴加速度振动、AccZZ轴加速度振动单位是 m/s²。如果飞控固件版本较新还会有 GyroX/GyroY/GyroZ 的陀螺仪振动量。正常悬停状态下AccX 和 AccY 的振动峰值应该稳定在±15 m/s² 以内AccZ 会略大一些一般在 ±20~30 m/s²因为旋翼的下洗气流和机架垂直方向的共振本身就会带来更大激励。如果 AccX/AccY 经常超过 30 m/s²或者出现 50 m/s² 以上的尖峰说明振动已经大到会影响飞控的正常判断了。对于穿越机这类高速机型振动标准可以适当放宽到 AccX/AccY 峰值 40 m/s² 以内但如果是航拍机、测绘机追求姿态平滑建议把 AccX/AccY 控制在 10 m/s² 以内更稳妥。2.2 为什么振动大容易炸很多人以为振动大只是画面果冻或者机身嗡嗡响实际上振动对飞控的影响远比这严重。飞控内部的加速度计和陀螺仪是 MEMS 器件它们测的是物理加速度不是理想的姿态变化。当机架振动过大加速度计的输出会被大量高频噪声污染。飞控的姿态解算不管是 APM 的 DCM 还是 Pixhawk 的 EKF会用低通滤波器把这些噪声滤掉。但滤波器的截止频率会随着振动增大而自动调低这就是 LOG 里的 INS 参数变化滤波器调低了之后真实姿态信号也会被延迟飞控对姿态变化的响应就变慢了。这个慢半拍的状态下一旦遇到阵风或人为打杆飞控很可能会补偿不足或补偿过头最后发展成极限振荡。更严重的情况是加速度计信号本身超出量程。很多 MEMS 加速度计量程是 ±16g约 ±157 m/s²如果振动瞬时超过这个值采集到的数据就会削顶姿态解算直接出错飞行器会瞬间朝错误方向全力输出电机表现为突然侧翻或俯冲。这就是为什么不少炸机事故里飞行器最后的状态是突然往一个方向猛冲而不是慢慢失控。2.3 实操定位振动源如果 VIBE 数据显示振动超标接下来要区分振动来源。我的做法是做一个从简到繁的排查先断电拆掉所有螺旋桨上电在地面推油门到 50%看 VIBE 数据。如果振动依然超标说明振动来自电机/机架本身电机轴承磨损、机臂松动、螺丝松动。换一套动平衡良好的桨再推油门测试。如果振动明显改善说明原来的桨存在不平衡。检查减震球/减震泡沫。很多飞控在安装时用泡沫双面胶固定时间久了会老化变硬失去减震效果。重新更换减震材料后振动数据往往能下降一半以上。如果以上都正常但 VIBE 还是高要考虑是不是电机和飞控之间形成了结构共振——这时候改变飞控安装位置或增加配重往往能缓解。我在处理一架测绘机时VIBE 的 AccZ 长期超过 50 m/s²悬停都勉强当时怀疑是折叠件松旷结果全查了一遍没有发现异常。最后发现原因特别简单电池扎带绑得太紧机身共振频率被抬高到了飞控的采样频段内。松了一格扎带AccZ 直接降到了 20 以下。这个案例说明振动问题的来源往往不在飞控本身需要动手试才能定位。3. 指标二ATT 姿态跟踪PID 是否健康的第一手证据3.1 ATT 曲线的正确读法ATT 是飞行日志里信息量最大的一个数据块。在 Mission Planner 里选择 ATT通常能画出这么几组曲线DesRoll期望横滚角与 Roll实际横滚角、DesPitch期望俯仰角与 Pitch实际俯仰角还有对应的角速度 Gyro 数据。正常的姿态跟踪应该是期望值和实际值高度重合滞后时间极短。比如你打了一个横滚杆DesRoll 从 0 走到 20 度Roll 应该几乎同步跟上误差在 2~3 度以内。如果实际值绕着期望值反复穿越正弦振荡说明 P 增益偏高或阻尼不足如果实际值跟得很慢、拉开一个固定角度的差说明 I 增益不够或者存在机械阻力如果飞行器在悬停时就有小幅度快速抖动10Hz 以上的高频抖动多半是 Rate 环路的 D 增益太低或者滤波器太激进。3.2 从 ATT 里判断 PID 问题看 ATT 时不要只看姿态角度要把角速度一起打开。APM 日志里的 ATT 数据块会同时记录陀螺仪原始输出Ox/Oy/Oz 就是机体角速度。这里有个判断技巧如果 Roll 角度曲线没有明显振荡但 GyroX 曲线有密密麻麻的锯齿说明振动或者高频抖动已经开始影响角速度环这时候即使姿态角度暂时没失控电机声音也会很炸。如果继续恶化下一步就是姿态角也跟着抖。一个常见的误区是拿到日志发现姿态跟踪不好直接加大 PID 增益。我见过不少新手在 Loiter 模式下飞机绕圈漂移认为是姿态太软于是把 Rate P 提高了 30%结果本来只是 GPS 定位精度差的问题加了 P 之后反而引入了高频抖动最后被迫降级返航。正确的做法是先确认期望值DesRoll/DesPitch本身是否合理。比如 Loiter 模式下飞机绕圈如果 DesRoll 在持续变化而 Roll 跟得很好那是 GPS 位置环的问题不是姿态环的问题。只有 DesRoll 平直、Roll 却波动才需要调姿态增益。3.3 姿态发散的前兆炸机前几秒的 ATT 曲线往往有共同特征姿态误差开始持续增大——从几度扩大到十几度并且没有收敛趋势。这通常意味着飞控已经不知道自己处于什么姿态或者知道但已经无力回天。如果 ATT 数据显示姿态发散前陀螺仪信号已经出现异常的尖峰或限幅大概率是振动冲击导致传感器饱和如果没有明显振动异常、但姿态解算结果和电机输出对不上那要怀疑是不是飞控安装松动——飞控物理上晃了传感器数据自然就乱了。这两种情况的处理思路完全不同前者查减震和桨平衡后者查安装固定。4. 指标三RCIN 遥控链路先排除人的问题4.1 RCIN 怎么看在 APM 日志里RCIN 数据块记录的是接收机输出给飞控的每一通道 PWM 值。Mission Planner 里直接选择 RCIN可以同时看到 CH1-CH8 的曲线。对于常用通道映射CH1 副翼、CH2 升降、CH3 油门、CH4 方向。不同调参者的通道映射可能不一样看日志前先确认一下你的遥控器通道顺序避免误判。判断遥控链路健康的标准通道数值平滑。遥控输入本身会有轻微抖动但抖动范围应该在 ±10μs 以内。如果出现单点的阶跃跳变比如油门从 1500 突然跳到 1800 又马上回来说明接收机输出或飞控的 RC 解码有问题。没有长时间的保持状态。如果 CH3 油门数据在飞行中长时间保持同一个值完全不动而实际你一直有打杆操作说明遥控信号已经丢失飞控处于保持最后指令的失效保护状态。模式切换通道切换点清楚。CH5/CH6 等辅助通道的 PWM 值对应着不同的飞行模式切换时值应该是干净利落的跳变。如果切换时出现中间值或不稳定值飞控可能错误进入某个模式。4.2 常见的遥控链路炸机场景我自己遇到过两种典型的遥控问题第一种是 RSSI 低导致的间歇性失控。那时我的接收机天线绑在机架内部被碳纤维板遮挡。飞行距离超过 300 米后RCIN 曲线开始出现毛刺偶尔某几个通道数值跳到异常值。在自稳模式下副翼通道跳变 200μs 相当于一次猛打杆飞机当即横滚。但因为没有持续丢信号飞控没有触发失控保护整个过程就是天线遮挡→偶发跳变→飞行姿态突变非常危险。后来把天线竖直伸出机架同样距离下 RCIN 就干净了。第二种是失控保护值设置错误。因为飞控检测到遥控信号丢失后如果接收机输出的 PWM 保持在上一次的值而不是低于飞控设置的失联阈值通常是小于 975μs 或大于 2025μs飞控永远不知道你已经失控了。这不算日志分析问题而是接收机配置问题但日志里的 RCIN 曲线能帮你确认配置是否生效——故意关遥控器十秒看 RCIN 是否变成预设的安全值。4.3 动作层面怎么查如果在 ATT 姿态异常之前RCIN 曲线就出现明显跳变那炸机原因基本可以归结到遥控链路或飞手误操作。区分这两者的方法是看跳变的模式和幅度手动打杆的跳变通常是平滑的斜坡手指推杆不会瞬间打满且各通道之间存在符合人手的自然联动信号干扰的跳变是突变式的、单通道或多通道同时跳动且往往是瞬时完成、瞬时恢复。另外类型原因时不要忽略飞手自己的因素。有一次帮朋友分析日志ALT 和油门曲线显示飞行器在全手动模式下被突然拉满油门紧接着俯仰剧烈变化最后倒扣炸机。从数据看姿态响应完全正常遥控输入也正常——最后结论是飞手在紧张状态下把油门当成了升降杆。这就是典型的人的问题日志无法改善只能加强模拟器训练。5. 指标四RCOU 电机输出与 CTUN 油门响应5.1 RCOU 数据块的核心作用RCOU 记录的是飞控最终输出的 PWM 值直接对应到每一个电调。在 Mission Planner 里选择 RCOU可以看到 CH1-CH8 的输出曲线。四旋翼一般用 CH1-CH4如果使用 Y6 或 X8 布局输出通道会更多。看 RCOU 时我最关心几个点输出是否限幅。当某个电机 PWM 值顶到约 1900-2000 时说明这个方向已经要了全部动力但仍然不够。此时飞行器大概率已经开始低头、侧滑或坠落。限幅的出现往往是动力余量不足的表现原因可能是电池压降严重、电机效率下降、螺旋桨变形或者是机架重心偏移导致部分电机负担过重。四个电机的基准输出是否一致。悬停时四旋翼的四个电机输出应当比较接近一般差异在 20-40μs 之间。如果某个电机持续比其他电机高出 100μs 以上说明这个方向存在额外阻力电机座偏斜、桨变形或重量分布不均。输出曲线是否平滑变化。正常飞行中电机输出跟随姿态修正连续变化。如果输出值出现连续的方波或跳变要么是 PID 增益过高要么是电调信号传输有问题要么是振动进入了控制环。5.2 CTUN 油门与高度的配合CTUN 数据块里有油门输入值ThrIn和实际高度Alt。把这两个曲线放在一起看能判断动力系统是否存在供血不足的问题。正常的响应方式是打油门 → 高度上升油门中位附近悬停。如果看到油门已经推到 70% 以上但 Alt 不增反降首先确认电池电压有没有掉到单体 3.5V 以下——这个可以从 CURR电流和电池电压数据里看到。电池严重压降时电调输出 PWM 看似很高但电机实际转速上不去动力系统整体输出不足。这种状况下即使姿态环完全正常飞行器也会因重力而缓缓下降。另一个容易忽略的情况是ThrIn 与 RCOU 的匹配。如果 Throttle 曲线已经在中位以上但 RCOU 的总输出没有相应增加说明飞控认为当前状态不需要增加动力。这在姿态发散前尤其明显飞控试图通过姿态修正维持水平但姿态已经失控它会选择放弃高度维持把全部输出用于姿态修正。此时 Alt 会迅速下降而 RCOU 依然在剧烈波动。这是判断姿态失控后进入坠落的关键信号链。5.3 电机输出差异的实际排查如果发现 RCOU 中某个通道长时间异常偏高不要急着更换电机。我的习惯是先做一次完整的电气和机械检查手动转动电机感受轴承是否顺滑有没有颗粒感检查该电机的三相线连接是否紧固电调焊点和插头是否发热异常检查螺旋桨是否有肉眼不可见的裂纹或变形把桨换到另一个电机上再飞一次如果异常通道跟随桨走了说明是桨的问题检查对应电机的安装座是否松动。这些排查做完后再回到日志确认真实输出差异。我有一次折腾了一个下午最后发现是电机座底下垫的减震垫圈厚度不一致导致该电机在安装角度上有 1-2 度的偏斜悬停时必须额外出力来补偿。这个角度误差在日志里看不出来但在机械层面真实存在所以不要只调软件。6. 指标五GPS 与 EKF 状态定位漂移的地基检查6.1 GPS 数据怎么看对于使用了 Loiter、PosHold、RTL 等定位模式的用户来说GPS 数据质量直接决定这些模式是否可靠。在日志里找到 GPS 数据块主要看四个量Status定位状态3D Fix 表示有三维定位2D Fix 表示只有水平定位没有 Fix 则卫星定位完全不可用。NSats可见卫星数正常情况下飞行中稳定在 10 颗以上。低于 7 颗时定位精度会显著下降。HDOP水平精度因子这个值越小越好小于 1.0 属于理想状态1.0-1.5 可以正常使用定位模式超过 2.0 时 Loiter 模式的漂移会非常明显。VAcc垂直速度精度/ SAcc速度精度在 Pixhawk 日志中通常用 GSpd地速和 VAcc 表示速度和垂直精度。很多飞手只看星数不看 HDOP。其实星数多不代表定位精度高如果卫星分布几何构型很差所有卫星集中在一个方向即使 14 颗星HDOP 也可能超过 2.0。所以我的判断标准一直是 HDOP 优先星数只在 HDOP 异常时作为辅助参考。6.2 EKF 状态比 GPS 更重要的健康度指标在 Pixhawk 上GPS 数据会进入 EKF扩展卡尔曼滤波器参与状态估计EKF 输出的健康状态比 GPS 原始数据更重要。EKF 数据块中的 flags 字段如果显示 GPS 有问题会直接影响 Loiter 模式的表现。一个典型场景Loiter 模式下飞行器缓慢漂移画圈姿态跟踪完全正常、遥控输入正常、电机输出正常。这时候如果去看 GPS 的 HDOP发现从起飞时的 0.9 慢慢恶化了 2.5那么 Loiter 的不稳定就很好解释了——飞控得到的位置信息本身就在漂移。EKF 数据里还有一组用于判断 IMU 健康度的标志位。EKF 会持续比较加速度计、陀螺仪的预测量和实际量测值之间的差异如果差异过大会标记为 IMU 数据异常。这种异常在 GPS 信号被高楼遮挡或贴近金属表面飞行时比较常见。那么在日志里如果看到 EKF 某个标志位从 0 跳成 1紧接着飞行器发生了非预期的位移或姿态变化基本就能断定是传感器故障而不是控制问题。6.3 GPS 炸机案例的还原我朋友有架测绘机Loiter 模式起飞后升到 120 米随即开始以大约 5-10 米为半径画圈越画越大最后触发地理围栏自动降高。回看日志ATT 姿态跟踪完全正常RCOU 输出也在合理范围但 GPS 的 HDOP 从起飞时的 1.1 迅速升高到了 2.8NSats 从 15 颗掉到 6 颗。原因是他把 GPS 天线装在了机身正中心下方正好是电流计和分电板电磁干扰直接影响了 GPS 信号接收。后来把 GPS 天线用支架抬高了 8 厘米并移到机臂之外HDOP 恢复到 0.8 以下Loiter 模式也稳定了。这个案例提醒我们GPS 受干扰的问题往往只有看日志才能发现。飞行中你不会在 OSD 上实时注意到 HDOP 的缓慢恶化但日志里整个过程一眼就能看出来。7. 一次炸机后的完整日志排查链路实战还原下面用一次真实的炸机案例把上面的方法串起来。这是一架 X 型四旋翼自稳模式起飞后大约 1 分钟在无任何操作的情况下突然向右侧翻坠落。拿到日志后我没有直接看某一个指标而是按完整链路来走。7.1 第一步看 Events 事件列表打开 Mission Planner 的日志先看 ERRD 或 Event 数据。这次日志里没有看到明显的 Failsafe 或 EKF 告警说明飞控在触发炸机之前没有拉响警报。但有一个小细节在炸机前 5 秒出现了一次 Cant Land 之类的提示实际上没有。Events 是干净的这本身就是一个重要信息——问题不在软件保护机制能感知到的范围。7.2 第二步看遥控输入 RCINRCIN 显示 CH1-CH4 在炸机前 5 秒内都非常平稳没有跳变或丢信号。这说明排除了遥控链路问题。7.3 第三步看姿态 ATTATT 数据出现了典型的姿态发散特征炸机前 3 秒DesRoll 保持在 0 度附近飞控没有主动要求横滚但 Roll 开始以约 15 度的幅度来回摆动并且摆动幅度逐渐扩大最终超过 45 度飞行器失去平衡。这个现象表明飞控对姿态已经失去了有效控制。7.4 第四步看振动 VIBE找到加速度计的振动数据AccZ 在炸机前 10 秒出现了明显的尖峰峰值达到 70 m/s² 左右对应正常水平约 20 m/s²的 3.5 倍。这说明在姿态完全发散之前传感器已经被振动污染了。再往前追溯振动异常是从起飞后约 50 秒开始的——也就是说振动问题存在了一段时间但飞行器还能勉强维持姿态。7.5 第五步看电机输出 RCOU在振动开始恶化后CH3 和 CH4对应后侧两个电机的输出出现了剧烈波动并在峰值处限幅而 CH1 和 CH2 还在正常范围。这个不对称很快就让飞行器无法维持水平。7.6 最终结论与修复操作通过完整链路排查判断这是一起由振动超标引起的姿态发散而不是 PID 问题更不是遥控问题。拆机检查发现后侧一个电机的轴承已经明显矿量转动时能感觉到径向晃动。更换轴承后重新测试 VIBEAccZ 峰值回落到 18 m/s²再飞几百米全程姿态稳定。这个案例的关键收获是如果只看到 ATT 发散就直接降低 PID反而可能掩盖真实问题。振动是因姿态发散是果PID 调得再完美也救不了被振动污染的传感器数据。8. 日常数据体检不炸机时也应该做的几件事把日志分析变成日常习惯而不是炸机后的法医鉴定这是我从老飞手那里学到的最有价值的一件事。每次飞完电池花几分钟做一次快速体检能在问题积累到炸机之前发现苗头。我自己的流程是这样的飞行结束后第一时间在 Mission Planner 里导出当天的日志开 Review Flight Logs拉出 VIBE 和 ATT 两张图扫一遍有没有异常尖峰或姿态抖动看一眼 GPS 数据的 HDOP 全程最大值如果超过 1.5 就要考虑天线的安装位置听电机是否出现新的异响如果和日志里的振动趋势吻合就要安排机械检查每 20-50 个起落做一次完整的数据导出和 RCOU 输出对比看有没有某个电机长期偏高。日志分析能解答绝大多数为什么但它不是万能的电调单点失效、空中碰撞障碍物、螺丝疲劳断裂这类物理损伤未必能在日志里留下明确的前兆。所以我的建议是用日志数据指导你的排查方向但最后一定要结合拆机检查和飞行前检查。把所有能提前发现的问题都在地面上解决掉天上的时间才能用在真正享受飞行上。
返回列表