目录
- 一、总览与阅读地图
- 1.1 总共四十四个主题怎么读
- 1.2 判读顺序建议(快速排查模板)
- 1.3 坐标系口径(先读这个,否则全错)
- 二、IMU 与振动主线(13 个主题)
- 2.1 sensor_accel
- 2.2 sensor_gyro
- 2.3 sensor_combined
- 2.4 sensor_baro
- 2.5 sensor_mag
- 2.6 vehicle_imu
- 2.7 vehicle_imu_status
- 2.8 sensor_selection
- 2.9 ekf2_timestamps
- 2.10 estimator_sensor_bias
- 2.11 estimator_states
- 2.12 estimator_innovation_*
- 2.13 yaw_estimator_status
- 三、EKF 健康主线(5 个主题)
- 3.1 estimator_status
- 3.2 estimator_innovation_test_ratios
- 3.3 estimator_innovation_variances
- 3.4 ekf_gps_drift
- 3.5 estimator_innovation_test_ratio
- 四、位置与导航主线(6 个主题)
- 4.1 sensor_gps
- 4.2 vehicle_global_position
- 4.3 vehicle_gps_position
- 4.4 vehicle_local_position
- 4.5 vehicle_local_position_setpoint
- 4.6 home_position
- 五、控制链主线(10 个主题)
- 5.1 manual_control_setpoint
- 5.2 vehicle_command
- 5.3 vehicle_control_mode
- 5.4 vehicle_attitude_setpoint
- 5.5 vehicle_rates_setpoint
- 5.6 actuator_controls_0
- 5.7 actuator_outputs
- 5.8 rate_ctrl_status
- 5.9 vehicle_attitude
- 5.10 vehicle_angular_velocity / vehicle_angular_acceleration / vehicle_acceleration
- 5.11 vehicle_air_data / vehicle_magnetometer
- 5.12 mission_result
- 5.13 fault_handler
- 六、系统状态主线(5 个主题)
- 6.1 vehicle_status
- 6.2 vehicle_status_flags
- 6.3 cpuload
- 6.4 vehicle_land_detected
- 七、电池主线(1 个主题,体量大单独成章)
- 7.1 battery_status
- 八、定制编队主线(4 个主题)
- 8.1 dance_control_status
- 8.2 dance_step_log
- 8.3 dance_step_position
- 8.4 dance_wind_return_status
- 附录 A:坐标系约定
- 附录 B:关键阈值参考
- 附录 C:PX4 官方补充(22 条)
- 附录 D:枚举对照
- 附录 E:勘误表(14 条)
无人机日志分析参数详解
一份给从业者的日志解析速查手册:共 208 个日志分析参数,按 44 个主题分组。 本文把零散碎片整理为成体系的索引,并在每个主题下补充资深从业者的判读要点/易错点,附录恢复了对原文的坐标系约定、关键阈值、勘误与 PX4 官方补充。
一句话掌握:读懂无人机飞行日志的关键在看 EKF 的 test_ratio(<0.5 正常、>1.0 测量被拒)、IMU 的振动与削波指标(vehicle_imu_status、clip_count),以及坐标系口径(本定制演示固件 vehicle_local_position 的 Z 轴向上,与标准 PX4 NED 相反);绝大多数“飞不稳”都能从这三处定位到根因。
一、总览与阅读地图
1.1 总共四十四个主题怎么读
44 个日志主题分布在六条主线里,从业者按“出问题从哪看”来组织:
1.2 判读顺序建议(快速排查模板)
.flow 是现场常用的由果溯因顺序:
不稳定 → IMU振动测一下 → EKF test_ratio 变大?→ 哪一轴?→ 相关传感器原始表恢复 → 定位是振动/干扰/漂移哪类。
飞机异常 → [1]vehicle_land_detected 是否在飞
→ [2]vehicle_status 模式/解锁/故障标志
→ [3]estimator_status.test_ratio 是否 >1.0(哪类被拒)
→ [4]vehicle_imu_status 振动/削波、clip_counter 是否为 0
→ [5]sensor_gps 定位质量 / fix_type 是否 RTK 固定
→ [6]vehicle_local_position 定位 / reset_counter 是否跳变
1.3 坐标系口径(先读这个,否则全错)
本表会在附录展开,先给结论:
- 标准 PX4:机体 FRD(X 前、Y 右、Z 下),世界 NED(北、东、下)。
- 本定制演示固件:vehicle_local_position 的 Z 轴向上(离地高度≈z,本日志悬停 z≈+2.86m),与标准 PX4 符号相反。
二、IMU 与振动主线(13 个主题)
这条线回答:机体到底振不振动、IMU 数据干不干净。几乎所有“抖、飘、飞不稳”都从这里开始。
2.1 sensor_accel —— 加速度计原始数据(机体 FRD 系,双 IMU)
一句话:加计最原始输出,是振动与静止判断的第一手来源。
| x / y / z | X/Y/Z 轴原始加速度 | m/s² | 机体 FRD(X 前、Y 右、Z 下);地面静止时 z≈+9.8(Z 朝下感测重力)。 |
| temperature | 传感器温度 | ℃ | IMU 内部温度。 |
| clip_counter[0…2] | 三轴削波计数 | 次 | 加速度达到量程上限(常 ±16g)被削顶的次数;削波是不可逆信息损失,会污染 EKF。 |
| error_count | 传感器错误计数 | 次 | SPI/总线读取错误累计。 |
| device_id | 传感器设备 ID | – | 器件唯一 ID,多 IMU 区分用。 |
判读要点:静止时三轴符合重力投影(本机 Z 朝下 → z≈+9.8,x≈0、y≈0);悬停时高频摆动是振动。 易错点:clip_counter 理想全程为 0,一旦出现削波,即使只有一次也要查安装固定与减振球;削波后该轴数据已污染,EKF 会在 innovation_check_flags 里报新息超限。
2.2 sensor_gyro —— 陀螺仪原始数据(机体 FRD,双 IMU)
一句话:三轴角速度原始值,配平/振动/陀螺零偏判断靠它。
| x / y / z | X/Y/Z 轴角速度 | rad/s | 机体三轴角速度:X=roll、Y=pitch、Z=yaw。 |
| temperature | 陀螺温度 | ℃ | 陀螺内部温度。 |
| error_count | 陀螺错误计数 | 次 | 总线读取错误累计。 |
判读要点:悬停时角速度应围绕 0 小幅波动;若出现周期性尖峰,多半是桨/电机附近有高频振动或安装松动。 易错点:陀螺对振动比加计更敏感,角速度尖峰常先于加计削波出现,是更早的“报警器”。
2.3 sensor_combined —— 组合传感器(EKF 用的同步 IMU 数据)
一句话:经选择与同步后的主 IMU 数据,是 EKF 真正消费的量。
| accelerometer_m_s2[0…2] | X/Y/Z 加速度(FRD) | m/s² | 选定主 IMU 的三轴加速度(与 sensor_accel 同坐标系)。 |
| gyro_rad[0…2] | X/Y/Z 角速度(FRD) | rad/s | 选定主 IMU 三轴角速度:[0]=绕X(roll)、[1]=绕Y(pitch)、[2]=绕Z(yaw)。 |
| accelerometer_clipping | 削波标志位 | 位掩码 | 加计削波方向标志。 |
| accelerometer_integral_dt / gyro_integral_dt | 积分时间间隔 | μs | 两次积分的时间步长。 |
判读要点:对比 sensor_accel/sensor_gyro 与 sensor_combined,可确认 EKF 到底选了哪颗 IMU(主/备切换是否如预期)。 易错点:gyro_rad 的轴映射是 [roll, pitch, yaw],不是按 Z 轴编号。
2.4 sensor_baro —— 气压计原始数据
一句话:气压原始值,高度与气压异常判断源头。
| pressure | 气压 | hPa | 大气静压。 |
| temperature | 气压计温度 | ℃ | 气压计内部温度(用于补偿)。 |
| error_count | 气压计错误计数 | 次 | 读取错误累计。 |
判读要点:正常飞行高度变化对应压力平滑变化;若 hgt_test_ratio 变大,回看气压原始值是否被气流(近地地效、起降气流)或温漂扰动。 易错点:气压计腔体被堵(泡棉老化、水汽)会造成压力读数滞后于真实高度。
2.5 sensor_mag —— 磁力计原始数据
一句话:三轴磁场的原始读数,航向与磁干扰判断用。
| x / y / z | X/Y/Z 磁场强度 | Gauss | 机体三轴磁场分量;含地磁场(约 0.3~0.6 G)+机体硬铁/软铁干扰。 |
| temperature | 磁力计温度 | ℃ | 磁传感器温度。 |
| error_count | 磁力计错误计数 | 次 | 读取错误累计。 |
判读要点:悬停时磁模值应稳定;若 mag_test_ratio 变大或航向缓慢漂移,检查是否有大电流负载(灯光、云台)靠近磁罗盘。 易错点:磁数据变化的“成因”常与机械无关,而是 EMI——先看电流曲线,再看机械安装。
2.6 vehicle_imu —— IMU 整合数据(delta_angle / delta_velocity)
一句话:IMU 原始积分量,供 EKF 与圆锥校正判断。
| delta_angle[0…2] | 角度增量 | rad | 一个积分周期内的转角增量(陀螺积分)。 |
| delta_velocity[0…2] | 速度增量 | m/s | 一个周期内速度增量(加计积分)。 |
| temperature | IMU 温度 | ℃ | 器件温度。 |
判读要点:delta 量用于判断积分周期是否稳定、是否有尖峰。 易错点:PX4 要求 EKF 使用角度增量前必须先经圆锥校正(coning),gyro_coning_vibration 过大说明高频角振动混叠严重。
2.7 vehicle_imu_status —— IMU 健康/振动状态(振动判定核心话题)
一句话:振动判定第一来源,从业者看这根轴的手感大多靠它。
| accel_vibration_metric | 加计高频振动指标 | m/s² | 加计数据高频振动水平(全采样率上统计)。 |
| gyro_vibration_metric | 陀螺高频振动指标 | rad/s | 陀螺数据高频振动水平。 |
| gyro_coning_vibration | 圆锥振动指标 | rad²/s² | 陀螺圆锥修正量,反映高频角振动/混叠。 |
| accel_clipping[0…2] | 加计累计削波 | 次 | 三轴削波累计计数(同 sensor_accel clip)。 |
| mean_accel[0…2] | 平均加速度 | m/s² | 发布周期内三轴平均加速度。 |
| mean_gyro[0…2] | 平均角速度 | rad/s | 周期内平均角速度。 |
| accel_rate_hz / gyro_rate_hz | 加计/陀螺采样率 | Hz | 原始采样速率。 |
| temperature_accel / temperature_gyro | 加计/陀螺温度 | ℃ | 器件温度。 |
| accel_error_count / gyro_error_count | 错误计数 | 次 | 传感器错误累计。 |
判读要点(经验值):accel_vibration_metric <0.02 优秀、<0.05 良好、持续 >0.05 且伴随削波/EKF 新息增大需停飞排查。 易错点:这套指标是 PX4 的振动口径,与 ArduPilot 的“原始加速度标准差”(可接受 <30 m/s²、>60 必有问题)两套指标不可混用(详见附录)。
2.8 sensor_selection —— 传感器选择配置
一句话:当前实际选用哪颗主传感器,冗余切换判读。
| accel / gyro / mag / baro_device_id | 各主传感器设备 ID | – | 当前选用的主传感器 ID(多 IMU 冗余切换用)。 |
判读要点:对比某时刻选用 ID 与 sensor_imu 各 device_id,可确认主/备切换是否发生在 EKF 异常之前。 易错点:频繁切换主传感器说明原主传感质量不佳,需回看是振动还是硬件故障。
2.9 ekf2_timestamps —— EKF2 传感器时间戳(相对时间)
一句话:各传感器相对 EKF 参考时间的对齐,时间同步判断。
| timestamp_sample / *_timestamp_rel | 各传感器相对时间戳 | ms | accel/gyro/mag/baro 等数据相对 EKF 参考时间的时间戳。 |
判读要点:看各传感器相对时间戳是否平稳、无跳变;跳变会直接导致 EKF 新息超限。 易错点:时间戳异常常源于中断/总线优先级问题,而不是 EKF 本身。
2.10 estimator_sensor_bias —— EKF 估计的传感器零偏
一句话:EKF 在线估计的陀螺/加计/磁零偏,预热与配平判断。
| gyro_bias[0…2] | 陀螺零偏 X/Y/Z | rad/s | EKF 在线估计的陀螺偏置;起飞前应稳定。 |
| accel_bias[0…2] | 加计零偏 X/Y/Z | m/s² | 加速度计偏置估计。 |
| mag_bias[0…2] | 磁力计零偏 X/Y/Z | Gauss | 罗盘硬铁偏置估计。 |
| *_bias_variance | 零偏估计方差 | – | 偏置估计的不确定度,越小越可信。 |
判读要点:解锁前陀螺零偏应趋近固定值(不再漂移);起飞后出现持续增长说明硬件温漂或碰撞后需重新校准。 易错点:加计零偏突变(非渐进)提示机械安装松动或受力改变。
2.11 estimator_states —— EKF 状态量(24 维内部状态)
一句话:EKF 内部估计的各状态,进阶判读看这里。
| states[0…3] | 姿态四元数 q0…q3 | – | EKF 估计姿态四元数(q0=W,顺序 W,X,Y,Z)。 |
| states[4…6] | 速度 N/E/D | m/s | NED 下三维速度估计。 |
| states[7…9] | 位置 N/E/D | m | NED 下三维位置估计。 |
| states[10…12] | 陀螺零偏 X/Y/Z | rad/s | 陀螺偏置状态。 |
| states[13…15] | 加计零偏 X/Y/Z | m/s² | 加计偏置状态。 |
| states[16…18] | 地磁场/磁偏置 X/Y/Z | Gauss | 地球磁场与磁偏置估计。 |
| states[19…21] | 风场速度 N/E 等 | m/s | 风估计(固定翼/VTOL 用)。 |
| states[22…23] | 地磁场/磁距等 | – | 剩余磁场相关状态。 |
判读要点:姿态四元数模长应≈1;速度/位置状态跳变提示估计被干扰或传感器失锁。 易错点:10~12 是陀螺偏置、13~15 是加计偏置,别与 estimator_sensor_bias 混淆(同一来源不同呈现)。
2.12 estimator_innovation_*(innovations / variances / test_ratios)
一句话:EKF 新息三件套——原始差值、噪声方差、检验比;这是整份日志最重要的健康信号。
estimator_innovations —— 原始差值(m / m·s⁻¹ / rad):估计值减测量值;长期有偏说明估计或传感器有系统误差。
estimator_innovation_variances —— 噪声方差:各通道新息方差,配合新息判断滤波器调参。
estimator_innovation_test_ratios —— 检验比(核心健康指标):
| gps_hpos[0…1] | GPS 水平位置新息比 | – | 东向/北向位置检验比;应 <0.5,偶发尖峰可接受;>1.0 该测量被拒绝。 |
| gps_hvel[0…1] | GPS 水平速度新息比 | – | 东向/北向速度检验比。 |
| gps_vvel / gps_vpos | GPS 垂直速度/位置新息比 | – | 垂直方向速度/高度检验比;振动最先影响这里。 |
| baro_vpos | 气压高度新息比 | – | 气压计高度一致性检验比。 |
| mag | 磁力计新息比 | – | 磁场观测一致性;受磁干扰影响。 |
| flow[0…1] / ev_* / rng_vpos / aux_* | 光流/外部视觉/测距/辅助 | – | 光流、视觉里程计、测距仪等附加传感器检验比;未使用时为 0。 |
判读要点:正常各 test_ratio <0.5,偶发尖峰可接受;>1.0 表示该测量被 EKF 拒绝。高振动最先体现在 vpos/vvel/hgt_test_ratio 增大。 易错点:不要只看单点,要看时序——谁先超、谁后超,先超的是根因。
2.13 yaw_estimator_status —— 偏航角估计状态(多 IMU/多源航向融合)
一句话:多源航向融合后的偏航估计与其一致性。
| yaw_composite | 融合偏航角 | rad | 多源融合后的航向。 |
| yaw_variance | 偏航方差 | rad² | 航向估计不确定度。 |
| yaw[0…4] | 各源偏航角 | rad | 各 IMU/源估计的航向。 |
| innov_vn[0…4] | 各源速度新息 | m/s | 各源北向/东向速度新息,用于航向一致性权重。 |
判读要点:各源 yaw[] 应互相接近;若某源偏离明显且被赋予低权重,说明该源质量问题(多为磁力计)。 易错点:yaw_variance 持续偏大意味着航向不可靠,飞行模式为定点/任务时不要强行起飞。
三、EKF 健康主线(6 个主题)
这条线回答:估计器整体健不健康、有没有在用坏数据。从业者定位“为什么飞偏”的主战场。
3.1 estimator_status —— EKF 估计器总体状态(核心)
一句话:一页看尽 EKF 健康、GPS 检查、解算与起飞前检查。
| vibe[0…2] | EKF 内部振动指标 | – | [0]=delta-angle 圆锥振动、[1]=高频角振动、[2]=高频速度振动;反映 1kHz 级 IMU 振动。 |
| pos_horiz_accuracy | 估计水平位置精度 | m | EKF 自评估水平位置不确定度。 |
| pos_vert_accuracy | 估计垂直位置精度 | m | EKF 自评估高度不确定度。 |
| mag_test_ratio | 磁力计检验比 | – | 磁场观测一致性。 |
| vel_test_ratio | 速度检验比 | – | 速度观测综合一致性。 |
| pos_test_ratio | 水平位置检验比 | – | 水平位置综合一致性。 |
| hgt_test_ratio | 高度检验比 | – | 高度观测一致性;高振动/气压异常时先变大。 |
| output_tracking_error[0…2] | EKF 输出/IMU 数延迟与误差 | – | EKF 状态输出相对时间的跟踪误差(含角度/位置)。 |
| gps_check_fail_flags | GPS 检查失败标志 | 位掩码 | 非 0 表示对应 GPS 检查未通过。 |
| innovation_check_flags | 新息检查失败标志 | 位掩码 | 各新息超限位;非 0 表示有测量被拒。 |
| solution_status_flags | 解算状态标志 | 位掩码 | EKF 解算状态(是否用 GPS/光流/外部视觉等)。 |
| health_flags | 健康标志 | 位掩码 | EKF 健康异常位(偏航/速度/高度/位置不健康等)。 |
| timeout_flags | 传感器超时标志 | 位掩码 | IMU/气压/GPS/磁等数据超时位。 |
| pre_flt_fail_* | 起飞前检查失败项 | bool | 起飞前航向/水平速度/垂直速度/高度新息、磁场干扰检查是否失败;失败将禁止解锁。 |
判读要点:先看 test_ratio,再看 health_flags/timeout_flags/gps_check_fail_flags(非 0 即对应项不健康)。起飞后 vibe 抬升而 hgt_test_ratio 跟随放大,基本就是振动路径。 易错点:pre_flt_fail_* 导致解锁失败时,先看是航向还是速度失败——多数是磁罗盘未同步或闹了快校准。
3.2 estimator_innovation_test_ratios —— 新息检验比(见 2.12,此处为使用提示)
一句话:已在“IMU 主线”展开,此为故障树里的总入口:所有 test_ratio>1.0 都可从本节反向追到对应传感器。
test_ratio 超限 → 回看 sensor_* 原始值 → 是振动/丢失/漂移?
gps_hpos/hvel/vpos/vvel → sensor_gps 定位质量
baro_vpos → sensor_baro 压力
mag → sensor_mag + 电流曲线
3.3 estimator_innovation_variances —— 新息方差(诊断用)
一句话:新息噪声方差,配合新息看滤波器调参是否合理。
| *_innov_var | 各通道新息方差 | – | 位置/速度/航向等通道的新息方差,配合新息判断滤波器调参。 |
判读要点:方差长期偏高会压低对应传感器权重,使 EKF 更依赖 IMU 积分 → 漂移变快。 易错点:不要只看方差绝对值,关注它与 test_ratio 的关系(方差大但比值未超,说明噪声未被拒绝,但精度已下降)。
3.4 ekf_gps_drift —— GPS 漂移检测(EKF 监控 GPS 跳变)
一句话:GPS 位置漂移监测,检测“假正常”的位置跳变。
| hpos_drift_rate | 水平漂移率 | m/s | EKF 检出的 GPS 水平位置漂移速率。 |
| vpos_drift_rate | 垂直漂移率 | m/s | 垂直位置漂移速率。 |
| hspd | 水平速度一致性 | m/s | GPS 速度与惯导速度差异。 |
| blocked | GPS 漂移阻断标志 | bool | GPS 数据因漂移被 EKF 拒绝/停用。 |
判读要点:blocked=1 说明 EKF 已主动放弃该 GPS 数据——优先查多径/遮挡/跳变。 易错点:慢漂移(≤GNSS 门槛)不触发告警却让位置缓慢偏移,看 gps_hpos 长期小幅度超 0.5 即可发现。
3.5 estimator_innovation_test_ratio —— 与 fault_handler 联动(见主题 3.1/17)
一句话:EKF 健康问题最终会触发 fault_handler 与 failsafe,判读时从 test_ratio 一路追到保护动作。
四、位置与导航主线(6 个主题)
这条线回答:飞机在哪、精度如何、GPS 与融合位置是否可信。
4.1 sensor_gps —— GPS 接收机原始数据
一句话:GPS 模块最原始输出与质量字段,精度/定位判定源。
| lat / lon | 纬度 / 经度 | deg | WGS84 经纬度(lat≈1e-7 deg, lon≈1e-7 deg)。 |
| alt | GPS 海拔(椭球高) | mm | WGS84 椭球高(单位 mm);注意是椭球高而非平均海平面高。 |
| fix_type | 定位类型 | 枚举 | 0=无定位,1=无定位,2=2D,3=3D,4=DGPS 差分,5=RTK 浮点,6=RTK 固定。 |
| eph | 水平位置精度估计 | m | 接收机自评估水平误差(1σ)。 |
| epv | 垂直位置精度估计 | m | 接收机自评估垂直误差。 |
| hdop | 水平精度因子 | – | 卫星几何对水平误差的放大系数。 |
| vdop | 垂直精度因子 | – | 卫星几何对垂直误差的放大系数。 |
| satellites_used | 参与定位卫星数 | 颗 | 实际用于解算的卫星数。 |
| vel_m_s | 地速大小 | m/s | 水平合成速度。 |
| vel_n_m_s / vel_e_m_s / vel_d_m_s | 北/东/地向速度 | m/s | NED 系速度分量。注意 D 为地向:正值=下降、负值=上升。 |
| cog_rad | 航迹角 | rad | 相对正北的运动方向。 |
| jamming_indicator | 干扰指示 | 0~255 | GPS 射频干扰水平,越大干扰越强。 |
| noise_per_ms | 噪声指标 | – | 每毫秒噪声/杂波计数,反映多径/电磁噪声。 |
| s_variance_m_s | 速度误差方差 | m/s | 接收机自评估速度精度。 |
| time_utc_usec | UTC 时间戳 | μs | GPS 授时,全机时间同步基准。 |
判读要点:正常工作卫星数>8、HDOP<2、载噪比>35 dB-Hz;RTK 固定(fix_type=6)下 EPH 常 <0.3m。 易错点:alt 是椭球高而非海拔,垂直高度分析要用 vehicle_global_position.alt(AMSL)或 vehicle_local_position.z(相对高)。
4.2 vehicle_global_position —— 融合后全球位置
一句话:EKF 融合后的经纬度/熔海平面高度,全球系轨迹看这里。
| lat / lon | 融合纬度/经度 | deg | EKF 融合后的 WGS84 经纬度。 |
| alt | 融合海拔 | m | 融合后的平均海平面高度(AMSL)。 |
| terrain_alt | 地形海拔 | m | 下方地形高度(需测距仪/地形库)。 |
| eph / epv | 融合水平/垂直精度 | m | 融合后位置不确定度。 |
| terrain_alt_valid / dead_reckoning | 有效标志 | bool | 地形高度有效 / 航位推算状态。 |
判读要点:dead_reckoning 置位说明已进入纯惯导推算(GPS 失效),此时位置会随积分漂移,务必关注。 易错点:alt 是 AMSL(m),与 sensor_gps.alt(椭球高 mm)不同口径,别混用。
4.3 vehicle_gps_position —— GPS 原始位置(驱动层)
一句话:GPS 驱动层原始输出,字段与 sensor_gps 对齐。
| lat / lon / alt | 原始经纬度/海拔 | deg / mm | GPS 模块原始输出(同 sensor_gps,alt 为椭球高 mm)。 |
| fix_type / eph / epv / hdop / vdop | 定位质量字段 | – | 同 sensor_gps 对应字段(fix_type 6=RTK 固定)。 |
| vel_n/e/d_m_s | N/E/D 速度 | m/s | NED 速度,D 正=下降。 |
判读要点:与 vehicle_global_position 对比可看出 EKF 是否有过滤/平滑,从而判断 GPS 原始抖动。 易错点:这里 alt 同样是椭球高 mm,别直接当海拔用。
4.4 vehicle_local_position —— 局部位置(NED / 本定制固件为 Z 向上)
一句话:相对起飞点的局部位置与速度,本固件判读必读。
| x / y | X/Y 局部位置 | m | 相对起飞点水平位置(标准 PX4 为 NED 北/东;本固件见口径说明)。 |
| z | 局部高度 | m | 垂直位置。标准 PX4 NED:z 向下为正、离地高度=-z;本定制固件 z 向上为正,离地高度=z。 |
| vx / vy / vz | X/Y/Z 速度 | m/s | 局部系速度分量。本固件 vz 向上为正(下降为负)。 |
| heading | 航向角 | rad | 融合航向(相对北)。 |
| ref_lat / ref_lon / ref_alt | 局部原点经纬高 | deg/m | 局部坐标系原点(起飞点)。 |
| xy_valid / z_valid | 水平/垂直位置有效 | bool | 位置估计是否可信(不可信时不应使用)。 |
| v_xy_valid / v_z_valid | 水平/垂直速度有效 | bool | 速度估计是否可信。 |
| dist_bottom | 离地高度(测距) | m | 下视测距(毫米波/TOF/激光)测的离地高度。 |
| eph / epv / evh / evv | 位置/速度不确定度 | m | 估计的水平/垂直位置与速度误差。 |
| xy_reset_counter / z_reset_counter / *_reset_counter | 位置/航向重置计数 | 次 | EKF 位置/航向跳变重置次数;突增表示估计跳变。 |
判读要点:xy_valid/z_valid 一旦为假,位置控制不应作为依据;*_reset_counter 突增说明估计被“重置/跳变”(警惕跳变丢航点)。本日志悬停点约为 z≈+2.86m(水平 x≈-0.1-0.7、y≈0.40.7)。 易错点:本固件 Z 轴向上、与标准 PX4 相反——读 z/vz 时不要套 NED 的“向下为正”习惯,否则高度与下降方向全错。
4.5 vehicle_local_position_setpoint —— 局部位置期望
一句话:位置/速度环的目标值,判定指令是否到位。
| x / y / z | 期望位置 | m | 位置环目标位置。 |
| vx / vy / vz | 期望速度 | m/s | 速度环目标。 |
| yaw / yawspeed | 期望航向/航向速率 | rad | 航向目标。 |
判读要点:对比 setpoint 与实际 local_position,可量化跟踪滞后与超调。 易错点:z/vz 符号同样遵循本固件 Z 向上的约定。
4.6 home_position —— 返航点(Home)
一句话:起飞点基准,返航与位置控制的原点。
| lat / lon | Home 纬度 / 经度 | deg | 解锁时锁定的起飞点经纬度(WGS84)。 |
| alt | Home 海拔 | m | 起飞点海拔(AMSL)。 |
判读要点:返航前确认 Home 是否正确锁定,避免 RTL 回错位置。 易错点(勘误):本日志中 home_position.alt、ref_alt 等基准字段未正确填充(为 0 或漂移),高度分析应以 local_position 与测距为准,不要拿 Home/ref_alt 当高度基准。
五、控制链主线(10 个主题)
这条线回答:指令到底怎么从遥控/导航一路变成电机 PWM,以及每个环节对不对。
5.1 manual_control_setpoint —— 手动控制输入(遥控器)
一句话:遥控器归一化杆量,判断操作输入是否正确。
| roll / pitch / yaw / throttle | 横滚/俯仰/偏航/油门杆量 | -1~1 | 遥控器归一化杆量。 |
判读要点:回中应≈0(油门回中可能 ≠0 视通道映射而定)。 易错点:杆量中位漂移说明遥控摇杆或通道标定问题,编队模式下这会造成某机“自己偏航”。
5.2 vehicle_command —— 飞控指令(Mavlink command)
一句话:外部/内部下发的指令流(起飞/降落/返航/切换模式)。
| command | 指令编号 | 枚举 | 如 NAV_TAKEOFF(22)、NAV_LAND(21)、NAV_RTL(20)、DO_SET_HOME 等。 |
| param1~7 | 指令参数 | – | 各 command 附带参数。 |
| source_system / source_component | 指令来源 | – | 指令来自哪个系统/组件(GCS/机载/伴机)。 |
判读要点:回看“谁在什么时刻发了什么指令”,可区分是地面站误发还是机载自主动作。 易错点:source_component 能区分编队里是哪架机/哪个模块下的令,排查编队指令串扰很关键。
5.3 vehicle_control_mode —— 控制模式标志
一句话:当前解锁状态与控制环使能标志。
| flag_armed | 解锁标志 | bool | 是否已解锁(电机可转)。 |
| flag_control_* | 各环使能标志 | bool | offboard / position / velocity / attitude / altitude / manual 等控制环是否激活。 |
判读要点:flag_armed 与 vehicle_status.arming_state 对照,确认何时解锁。 易错点:控制环从 manual 切换到 position 的瞬间,是最常见的“油门跳变”来源之一。
5.4 vehicle_attitude_setpoint —— 姿态期望
一句话:姿态环跟踪的目标(角/四元数/推力)。
| roll_body | 期望横滚角 | rad | 机体 FRD 下目标横滚,姿态环跟踪目标。 |
| pitch_body | 期望俯仰角 | rad | 目标俯仰。 |
| yaw_body | 期望偏航角 | rad | 目标航向。 |
| q_d[0…3] | 期望姿态四元数 | – | 目标姿态四元数(q_d[0]=W)。 |
| thrust | 期望总推力 | 0~1 | 期望 collective thrust。 |
判读要点:对比期望与实际姿态,量化姿态跟踪误差与震荡。 易错点:thrust 呈 0~1 归一,悬停通常 0.3~0.6,突跳说明指令异常。
5.5 vehicle_rates_setpoint —— 角速度期望
一句话:角速度环(内环)目标,掌握姿态响应手感。
| roll / pitch / yaw | 期望三轴角速度 | rad/s | 速率环目标角速度。 |
| thrust | 期望总推力 | 0~1 | 目标推力。 |
判读要点:角速度期望尖峰往往对应姿态震荡激烈。 易错点:内环带宽过高(角速度响应过冲)会表现为“秒抖”,看期望 vs 实测角速度的振荡频率判断。
5.6 actuator_controls_0 —— 执行器控制量(姿态控制器输出,归一化 -1~+1)
一句话:姿态环→混控器的输入,虚拟控制量。
| control[0] | 横滚控制量 | -1~1 | roll 轴虚拟控制量:机体 FRD 坐标系下绕 X 轴(机头方向)力矩指令,正=右滚。 |
| control[1] | 俯仰控制量 | -1~1 | pitch 轴虚拟控制量:绕 Y 轴(右翼)力矩指令,正=低头。 |
| control[2] | 偏航控制量 | -1~1 | yaw 轴虚拟控制量:绕 Z 轴(机体向下)力矩指令,正=右偏航。 |
| control[3] | 油门控制量 | 0~1 | 总推力指令(归一化),0=不转、1=满油门;多旋翼悬停通常 0.3~0.6。 |
判读要点:control[0…2] 反复顶到 ±1(饱和)说明姿态能力不足(配平/推重/重心问题)。 易错点:这是“虚拟”控制量,不是某颗电机的 PWM——要对应到电机需看 actuator_outputs。
5.7 actuator_outputs —— 电机/舵机输出(混控后实际下发)
一句话:实际下发到电调/舵机的 PWM,混控结果在这里。
| output[0…3] | 1~4 号电机 PWM 输出 | μs | 4 路电机脉宽(按此机型混控映射到具体电机 M1M4);10002000μs 常见量程。 |
判读要点:正常悬停各路 PWM 分布应反映姿态配平;某路持续顶到上限/下限说明动力不均或输出异常。 易错点:PWM 校准依赖最小/最大可靠值——PX4 官方参考:停机 1000μs、缓慢可靠旋转 1100μs、1900μs(再增不会更快);DShot 与 CAN(DroneCAN/Cyphal)ESC 无需 PWM 校准。
5.8 rate_ctrl_status —— 角速度环控制状态
一句话:角速度环积分项,配平/扰动判断。
| rollspeed/pitchspeed/yawspeed_integ | 三轴角速度环积分项 | – | 速率环积分器输出;持续累积(饱和)说明有恒定扰动或配平问题。 |
判读要点:悬停时积分项应基本归零;持续偏置说明存在恒定力矩(桨不平衡、电机动力差异、重心偏)。 易错点:积分饱和常与“某方向总偏”配套出现,优先查机械而非调参。
5.9 vehicle_attitude —— 机体姿态(四元数)
一句话:融合后的欧拉角/四元数,全机姿态判读基准。
| q[0] | 四元数 W(标量)分量 | – | PX4 顺序为 q[0]=W、q[1]=X、q[2]=Y、q[3]=Z。 |
| q[1] | 四元数 X 分量 | – | 绕 X 轴(roll)旋转分量。 |
| q[2] | 四元数 Y 分量 | – | 绕 Y 轴(pitch)旋转分量。 |
| q[3] | 四元数 Z 分量 | – | 绕 Z 轴(yaw)旋转分量。 |
| (roll/pitch/yaw) | 由四元数解算的欧拉角 | deg | 横滚/俯仰/偏航角(q 换算)。 |
判读要点:四元数模长应≈1;欧拉角悬停应稳定。 易错点(勘误):q[0] 是 W(标量)分量,原表误标为 X 分量;本表已按 PX4 规范修正。
5.10 vehicle_angular_velocity / vehicle_angular_acceleration / vehicle_acceleration
一句话:融合后的角速度、角加速度、线加速度,分三个话题看。
vehicle_angular_velocity —— 机体角速度(FRD,融合后)
| xyz[0…2] | X/Y/Z 角速度 | rad/s | 融合滤波后机体三轴角速度:[0]roll、[1]pitch、[2]yaw。 |
vehicle_angular_acceleration —— 机体角加速度
| xyz[0…2] | X/Y/Z 角加速度 | rad/s² | 机体三轴角加速度(角速度微分)。 |
vehicle_acceleration —— 机体线性加速度(FRD)
| xyz[0…2] | X/Y/Z 加速度 | m/s² | 机体坐标系三轴线加速度(FRD)。 |
判读要点:角加速度高频尖峰反映结构共振;vehicle_acceleration 对比 sensor_accel 可看滤波器平滑程度。 易错点:角速度 xyz 轴映射与 sensor_combined.gyro_rad 一致(roll/pitch/yaw),勿与四元数的 q 分量顺序混淆。
5.11 vehicle_air_data / vehicle_magnetometer —— 大气与融合磁数据
一句话:两话题分别为“气压计融合后”与“磁力计融合后”,供高度与航向使用。
vehicle_air_data —— 大气数据(气压计融合后)
| baro_pressure_pa | 气压 | Pa | 融合后的大气静压(Pa)。 |
| baro_alt_meter | 气压高度 | m | 由气压换算的海拔高度。 |
| baro_temp_celcius | 气压温度 | ℃ | 气压计温度。 |
| rho | 空气密度 | kg/m³ | 由气压/温度计算的空气密度。 |
| airspeed_m_s | 空速 | m/s | 空速(需空速管;多旋翼通常无)。 |
vehicle_magnetometer —— 融合后磁力计
| magnetometer_ga[0…2] | X/Y/Z 磁场(融合) | Gauss | 校准/融合后的机体三轴磁场,供 EKF 航向。 |
判读要点:气压高度随油门波动属正常(螺旋桨滑流影响气压),重点看趋势与 hgt_test_ratio 联动。 易错点:rho(空气密度)随温度/高度变化,影响升力臂换算,重载低温时悬停 throttle 应变大。
5.12 mission_result —— 任务执行结果
一句话:任务/航点执行进度与成果。
| finished | 任务完成标志 | bool | 任务是否执行完毕。 |
| failure | 任务失败标志 | bool | 任务是否失败。 |
| seq_reached / seq_current / seq_total | 到达/当前/总航点序号 | – | 任务航点执行进度。 |
| flight_termination | 飞行终止标志 | bool | 是否触发飞行终止(failsafe 终极动作)。 |
| stay_in_failsafe | 保持在失控保护 | bool | 是否停留在 failsafe 状态。 |
判读要点:seq_current 卡在某一航点不前,多半是 GPS 位置不可信或航点判据不满足。 易错点:flight_termination 触发即按下不返——区分“正常任务中止”与“被 RF 触发终止”。
5.13 fault_handler —— 故障处理记录
一句话:故障类型锁存记录。
| fault_type | 故障类型 | 枚举 | 记录触发故障/锁存的类型(如姿态失控、电量终止等)。 |
判读要点:看故障类型与发生时刻,对应回看 vehicle_status/test_ratio 确认因果。 易错点:fault_type 触发往往不是“第一现场”,要往前找提前几秒就失调的量。
六、系统状态主线(5 个主题)
这条线回答:飞机整体在什么状态、能力够不够。
6.1 vehicle_status —— 飞机整体状态
一句话:解锁/模式/失控保护/故障标志的总入口。
| arming_state | 解锁状态 | 枚举 | 0=待初始化,1=已上锁(disarmed),2=已解锁(armed),3=待上锁。 |
| nav_state | 飞行/导航模式 | 枚举 | [PX4 标准枚举] 1=手动,2=定高,3=定点,4=任务,5=悬停,6=返航,7=offboard,10=自动起飞,11=自动降落,14=绕点 等。 |
| failsafe | 失控保护状态 | bool/枚举 | 是否处于 failsafe(失联/电量/姿态等触发的保护)。 |
| rc_signal_lost | 遥控失联标志 | bool | 遥控器信号丢失。 |
| data_link_lost | 数传失联标志 | bool | 地面站数传链路丢失。 |
| engine_failure | 动力故障标志 | bool | 发动机/动力失效检测。 |
| mission_failure | 任务失败标志 | bool | 任务执行失败。 |
| failure_detector_status | 姿态失效检测 | 位掩码 | 姿态失控/翻滚等失效检测位。 |
| system_type / vehicle_type / is_vtol | 系统/机型类型 | 枚举 | 机型标识(多旋翼=2 等)/是否 VTOL。 |
| latest_arming_reason / latest_disarming_reason | 最近上锁/解锁原因 | 枚举 | 解锁/上锁的触发原因(正常/自动/故障)。 |
判读要点:先看 arming_state 与 nav_state,再看 failsafe 及各类丢失标志,能快速判断“是在正常飞还是进了保护”。 易错点(勘误):nav_state 原表出现 #VALUE! 占位错误,已按 PX4 标准枚举修正;返航=6、offboard=7、悬停=5,别把 6 当返航之外的东西。
6.2 vehicle_status_flags —— 飞机状态条件标志位
一句话:起飞条件类布尔位与安全开关。
| condition_* | 各类条件布尔位 | bool | 如 condition_calibration_enabled、condition_armable、condition_auto_mission_available、condition_global_position_valid、condition_home_position_valid 等起飞条件。 |
| circuit_breaker_* | 安全开关位 | bool | 各 circuit breaker(绕过某项检查)是否生效;正常作业不应长期开启。 |
判读要点:condition_armable 为假时先看是哪个前置条件未满足。 易错点:circuit_breaker_* 是测试时临时绕过检查用的,正式作业必须复原(关闭)——这是“用保险参数忘还原”最常见的翻车点。
6.3 cpuload —— 飞控 CPU/内存负载
一句话:飞控主任务负载与内存占用。
| load | CPU 占用率 | 0~1 | 主任务 CPU 使用率(采样窗口内忙时占比)。 |
| ram_usage | RAM 占用率 | 0~1 | 内存使用占比。 |
判读要点:load 长期 >0.8 或内存泄漏式增长,需降采样率/关多余模块。 易错点:编队/表演脚本升多时 load 突升,会抬升控制延迟 → 间接伤 EKF 新息。
6.4 vehicle_land_detected —— 着陆检测状态
一句话:飞控判定是否在地面/地效的系列标志。
| landed | 已着陆标志 | bool | 飞控判定是否在地面(综合推力/高度/速度)。 |
| ground_contact | 接地标志 | bool | 是否触地。 |
| maybe_landed | 可能着陆 | bool | 着陆判定中间态。 |
| in_ground_effect | 地效区标志 | bool | 是否在地面效应高度内(通常 <0.5~1 倍旋翼直径)。 |
| in_descend | 下降中标志 | bool | 是否处于下降阶段。 |
| has_low_throttle | 低油门标志 | bool | 油门低于着陆阈值。 |
| vertical_movement / horizontal_movement | 垂直/水平移动标志 | bool | 是否检测到移动。 |
判读要点:landed 状态切换看是否与任务预期一致(不该降却检测到 landing → 高度或油门运算异常)。 易错点:in_ground_effect 会导致飞控判断推力效率变化,起降阶段气动突变易误判,配合 hgt_test_ratio 综合看。
七、电池主线(1 个主题,体量大单独成章)
7.1 battery_status —— 电池状态(飞控电源模块/智能电池上报)
一句话:电压/电流/电量/健康度全家桶,电量与健康判断核心。
| voltage_v | 整包总电压(实时) | V | 电池两端实时总电压,带载时随油门波动、静置回升。 |
| voltage_filtered_v | 整包总电压(滤波) | V | 低通滤波后总电压,用于电量估算与告警,波动更小。 |
| voltage_cell_v[0…9] | 各单体电芯电压 | V | 最多 10 个串联电芯单体电压(本机 4S 用 [0]~[3]);判断单体一致性。 |
| max_cell_voltage_delta | 单体最大压差 | V | 最高与最低电芯电压差,衡量一致性/平衡。 |
| current_a | 实时电流 | A | 电池输出电流(放电为正),需电源模块电流计且正确配置。 |
| current_filtered_a | 滤波电流 | A | 低通滤波后的电流。 |
| average_current_a | 平均电流 | A | 一段窗口的平均放电电流。 |
| discharged_mah | 已放电电量 | mAh | 库仑计累计放出电量,依赖电流积分。 |
| remaining | 剩余电量百分比 | 0~1 | 0~1(QGC 显示为 %);有电流计为库仑计估算,无则按电压折算(较粗)。 |
| capacity | 电池容量 | mAh | 配置的电池额定容量(参数 BATx_CAPACITY)。 |
| cell_count | 串联电芯数 | S | 电池串联节数(4=4S)。 |
| temperature | 电池温度 | ℃ | 电池温度(需智能电池/NTC)。 |
| warning | 电池告警等级 | 枚举 | 0=无,1=低电,2=严重低电,3=紧急低电,4=故障(缺传感器等);阈值由 BATx_LOW/CRIT/EMERGEN_THR 决定(默认 0.15/0.07/0.05)。 |
| run_time_to_empty | 当前功率下剩余飞行时间 | s | 按当前放电率估算还能飞多久(需电流计)。 |
| average_time_to_empty | 平均剩余飞行时间 | s | 用平均电流估算的剩余飞行时间(需电流计)。 |
| cycle_count | 循环次数 | 次 | 智能电池上报的充放电循环数。 |
| state_of_health | 电池健康度 SOH | % | 智能电池上报的容量保持率。 |
| serial_number | 电池序列号 | – | 智能电池唯一序列号。 |
| manufacture_date | 生产日期 | – | 智能电池生产日期编码。 |
| id | 电池组编号 | – | 电池实例号(0/1),多电池时区分。 |
| connected | 电池连接标志 | bool | 是否检测到电池接入。 |
| source | 数据来源 | 枚举 | 0=模块/ADC,1=智能电池(BMS),2=ESB 等。 |
| priority | 电池优先级 | 0~2 | 多电池供电时的使用优先级。 |
| scale | 电压缩放系数 | – | 内部电压换算系数(参数 BATx_V_DIV)。 |
| is_powering_off | 正在断电标志 | bool | 系统是否正在关机/断电。 |
| interface_error | 通讯接口错误计数 | 次 | 智能电池通讯错误次数(如 SMBus)。 |
| max_error | 电量估计最大误差 | % | 智能电池上报的剩余电量估计不确定度。 |
判读要点:电压会随油门带载波动,静置会回升——用在环电压判断“还能不能 20 块电”应按飞行中低压。电量估算三档精度:① 基本电压估算 ② 电压+负载补偿 ③ 电压+电流积分融合(精度最高,见附录)。 易错点:voltage_cell_v[] 本机只到 [3](4S),别把空位当 0/异常电芯;max_cell_voltage_delta 飞行中持续 >0.1V 应停用平衡/更换(详见附录)。
八、定制编队主线(4 个主题)
此组为非 PX4 原生、该集群表演固件专有,字段以上机定义为准;对编队表演复盘最有价值。
8.1 dance_control_status —— 编队/舞步控制状态
一句话:舞步状态机运行状态。
| – | 舞步状态机字段 | – | 舞步执行状态、当前动作编号、机间同步等(定制模块,字段以机上定义为准)。 |
判读要点:配合编队测试的“起飞同步 <500ms / 动作同步 <200ms”判据,回看某机是“状态卡住”还是“同步偏差”。 易错点:定制字段命名各版本可能不同,先对齐固件定义再判读。
8.2 dance_step_log —— 舞步动作记录
一句话:逐个舞步动作的时间/序号记录,表演复盘用。
| – | 舞步动作日志 | – | 逐个舞步动作的时间/序号记录,用于编队表演复盘。 |
判读要点:看动作序号与时间戳是否连续、有无跳步。 易错点:跳步/错步多由机间时钟不同步或链路丢包引起,别只怪动作表。
8.3 dance_step_position —— 舞步位置点
一句话:舞步中的预设位置点。
| – | 舞步航点 | – | 舞步中各预设位置点。 |
判读要点:对比实际 vehicle_local_position 与舞步位置点,量化编队队形误差。 易错点:本地舞步位置通常是相对本机偏置量,需换算成绝对坐标再比队形。
8.4 dance_wind_return_status —— 抗风自动返航状态
一句话:检测到大风/高度异常时的自适应返航阶段。
| phase | 抗风返航阶段 | 枚举 | 0=未触发;检测到大风吹离/高度异常时进入返航阶段。 |
| away_count | 超限计数 | 次 | 位置/高度超安全区累计次数。 |
| current_alt | 当前高度 | m | 触发判断时的当前高度。 |
判读要点:away_count 累计到阈值触发 phase 切换;看触发时 current_alt 与风向,判断是阵风还是编队指令偏差。 易错点:风返航是“保护性动作”,误触发会导致某机中途退出队形——排查时优先看位置新息是否被阵风拉大。
附录 A:坐标系约定
FRD(机体):X 前、Y 右、Z 下;静止时加速度 z≈+9.8 m/s²。NED(世界):北、东、下;NED 中高度越高 z 越小(离地高度=-z),D 向速度正=下降。
本编队/集群表演定制固件:vehicle_local_position 垂直轴为 Z 向上(离地高度≈z,本日志悬停 z≈+2.86m),与标准 PX4 NED 符号相反;判读高度/垂直速度以本页为准。水平 x/y 也按该固件定义,悬停点在 x≈-0.1-0.7、y≈0.40.7。
PX4 姿态四元数顺序:q[0]=W(标量)、q[1]=X、q[2]=Y、q[3]=Z,模长=1。原表把 q[0] 标注为 X 分量有误。
轴(角速度)映射:gyro_rad[0]/xyz[0]=绕X轴=roll;[1]=绕Y轴=pitch;[2]=绕Z轴=yaw。
高度口径:
- sensor_gps.alt / vehicle_gps_position.alt → WGS84 椭球高(mm)。
- vehicle_global_position.alt → 平均海平面高(AMSL,m)。
- vehicle_local_position.z → 相对起飞点高度。
- 本日志 home_position.alt、ref_alt 等基准字段未正确填充(为 0/漂移),高度分析以 local_position 与测距为准。
附录 B:关键阈值参考
卫星几何 / 精度:EPH/EPV 为 1σ 误差估计(m),越小越好;HDOP/VDOP <1 优秀、<2 良好、>5 差;RTK 固定解(fix_type=6)下 EPH 常 <0.3m。
振动:PX4 未给硬性阈值(官方说明数据不足)。经验:accel_vibration_metric <0.02 优秀、<0.05 良好、持续 >0.05 且伴随削波/EKF 新息增大需停飞排查;ArduPilot 口径“原始加速度标准差”<30 m/s² 可接受、>60 必有问题(两套指标不可混用)。削波计数理想全程为 0。
test_ratio:正常 <0.5,偶发尖峰可接受;>1.0 表示该测量被 EKF 拒绝。高振动最先体现在 vpos/vvel/hgt_test_ratio 增大。
电池电压分级:
| 单芯满电 | 4.20V |
| 单芯标称 | 3.70V |
| 单芯存储 | 3.80~3.85V |
| 单芯负载健康 | ≥3.5V |
| 单芯告警 | ❤️.3V |
| 单芯可能损伤 | ❤️.0V |
| 4S 整包满/标称 | 16.8 / 14.8V |
| 4S 保守下限(3.5/芯) | 14.0V |
| 4S 告警(3.3/芯) | 13.2V |
| 单体压差判据 | 充电后≤0.02V、飞行中应<0.1V,持续>0.1V 应停用平衡/更换 |
静置回升属正常。
附录 C:PX4 官方补充(22 条)
附录 D:枚举对照(fix_type / arming_state / nav_state / warning)
| fix_type | 0 | 无定位 |
| fix_type | 1 | 无定位(无 GNSS) |
| fix_type | 2 | 2D 定位 |
| fix_type | 3 | 3D 定位 |
| fix_type | 4 | DGPS 差分定位 |
| fix_type | 5 | RTK 浮点 |
| fix_type | 6 | RTK 固定(最高精度) |
| arming_state | 0 | 待初始化 |
| arming_state | 1 | 已上锁(disarmed) |
| arming_state | 2 | 已解锁(armed) |
| arming_state | 3 | 待上锁 |
| nav_state | 1 | 手动 |
| nav_state | 2 | 定高 |
| nav_state | 3 | 定点 |
| nav_state | 4 | 任务 |
| nav_state | 5 | 悬停 |
| nav_state | 6 | 返航(RTL) |
| nav_state | 7 | offboard(外部控制) |
| nav_state | 10 | 自动起飞 |
| nav_state | 11 | 自动降落 |
| nav_state | 14 | 绕点(Orbit) |
| battery warning | 0 | 无告警 |
| battery warning | 1 | 低电 |
| battery warning | 2 | 严重低电 |
| battery warning | 3 | 紧急低电 |
| battery warning | 4 | 故障(缺传感器等) |



