# 飞行日志分析

本主题概述了可用于分析 PX4 飞行日志的工具和方法(在某些情况下,下面会链接到更详细的主题)。

备注

飞行报告 解释了如何下载日志并与开发团队报告/讨论有关飞行的问题。

# 结构化分析

在分析飞行日志之前,必须确定其背景:

  • 如果分析是在故障发生后进行的,那么日志是否记录了坠机过程,还是在空中停止了?
  • 所有控制器是否都跟踪了它们的参考点?最简单的方法是将姿态滚动和俯仰率与其设定点进行比较。
  • 传感器数据看起来有效吗?是否有非常强烈的振动(强烈振动的合理阈值是峰峰值超过 2-3 m/s/s)。
  • 如果根本原因与载具无关,请务必在报告时附上日志文件链接(如果有视频文件,请附上视频链接),并将其放在 PX4 问题跟踪器 (打开新窗口).

# 排除电力故障

如果日志文件在空中终止,可能有两个主要原因:电源故障 操作系统的硬故障。

在基于 STM32 系列 (打开新窗口)这些故障位于 SD 卡的顶层,并以 "故障 "命名。这些故障位于 SD 卡的顶层,名称为 fault_date.log例如 fault_2017_04_03_00_26_05.log.如果飞行日志突然结束,则应检查该文件是否存在。

# 分析工具

# 飞行审查(在线工具)

飞行回顾 (打开新窗口)原木粉碎机.它与新的 ULog 记录格式。

主要功能

  • 基于网络,非常适合最终用户。
  • 用户可以通过网络界面上传日志,然后与他人共享报告(使用...... upload_log.py (打开新窗口) 脚本)
  • 交互式绘图。

飞行回顾图

参见 使用飞行回顾进行日志分析 的介绍。

# 情节魔术师

情节魔术师 (打开新窗口) 是一款桌面应用程序,可让用户轻松地对以时间序列形式表示的数据进行可视化分析。它是最好的 ULog 分析工具之一,因为它能显示日志中的所有信息(包括时间序列)。飞行回顾与之相比,该报告只显示了一小部分数据)。

自 2.1.4 版起,它支持 ULog 文件 (.ulg)。

主要功能

  • 直观的拖放界面。
  • 在多个绘图、选项卡或窗口中排列数据。
  • 所有 uORB 主题都已显示,并可制成图表。
  • 整理好数据后,将其保存到一个"布局"文件中,然后多次重新加载。
  • 在内部处理您的数据 情节魔术师 数据转换"。

源代码和下载可在 Github (打开新窗口).

情节魔术师

参见 使用 Plot Juggler 进行对数分析 的介绍。

# pyulog

pyulog (打开新窗口) 是一个用于解析 ULog 文件的 python 软件包,还有一套命令行脚本用于提取/显示 ULog 信息并将其转换为其他文件格式。

主要功能

  • 解析 ULog 文件的 Python 库。许多其他 ULog 分析和可视化工具使用的基础库。
  • 提取/显示 ULog 信息的脚本:
    • ulog_info显示 ULog 文件中的信息。
    • ulog_messages显示 ULog 文件中的记录信息。
    • ulog_params从 ULog 文件中提取参数。
  • 将 ULog 文件转换为其他格式的脚本:
    • ulog2csv:将 ULog 转换为(多个)CSV 文件。
    • ulog2kml将 ULog 转换为(多个)KML 文件。

所有脚本都作为系统范围内的应用程序安装(也就是说,只要安装了 Python,就可以通过命令行调用),并支持 -h 标记来获取使用说明。例如

$ ulog_info -h 使用方法: ulog_info [-h] [-v] file.ulg 显示 ULog 中的信息 文件

位置参数:file.ulg ULog 输入 文件

可选参数:-h、--help 显示此内容 帮助 信息和 出口
  -v,--verbose 冗余输出

下面我们看到的是从示例文件中导出的信息类型,使用了 ulog_info.

$ ulog_info sample.ulg 记录开始时间: 0:01:52,持续时间: 0:01:08 辍学者:计数: 4总工期 0.1 s, max: 62 ms, mean: 29 ms 信息消息: sys_name:PX4 time_ref_utc: 0
 ver_hw:AUAV_X21 ver_sw: fd483321a5cf50ead91164356d15aa474643aa73 名称 (多 ID、信息大小  字节数)    数据点数,总字节数 actuator_controls_0 (0, 48)                 3269     156912
 致动器输出 (0, 76)                    1311      99636
 指挥官状态 (0, 9)                       678       6102
 控制状态 (0, 122)                      3268     398696
 cpuload (0, 16)                               69       1104
 ekf2_innovations (0, 140)                   3271     457940
 估计器状态 (0, 309)                   1311     405099
 综合传感器 (0, 72)                    17070    1229040
 传感器预检 (0, 16)                   17072     273152
 遥测状态 (0, 36)                      70       2520
 载具姿态 (0, 36)                    6461     232596
 载具姿态设定点 (0, 55)           3272     179960
 载具本地位置 (0, 123)              678      83394
 载具费率设定点 (0, 24)              6448     154752
 载具状态 (0, 45)                       294      13230

# 飞行图

飞行图 (打开新窗口) 是一款基于桌面的日志分析工具。可从以下网址下载 FlightPlot 下载 (打开新窗口) (Linux、MacOS、Windows)。

主要功能

  • 基于 Java,跨平台。
  • 直观的图形用户界面,无需编程知识。
  • 支持新旧 PX4 日志格式(.ulg、.px4log、.bin)
  • 允许将绘图保存为图像。

飞行图

# PX4 工具

PX4 工具 (打开新窗口) 是用 Python 编写的 PX4 自动驾驶仪日志分析工具箱。推荐的安装程序是使用 蟒蛇3 (打开新窗口).湖泊 px4tools github 页面 (打开新窗口) 了解详情。

主要功能

  • 易于共享,用户可以在 Github 上查看笔记本(例如 15-09-30 Kabir Log.ipynb (打开新窗口))
  • 基于 Python,跨平台,适用于 anaconda 2 和 anaconda3
  • iPython/ jupyter 笔记本可用于轻松共享分析结果
  • 先进的绘图功能可进行详细分析

基于 PX4Tools 的分析

# MAVGCL

MAVGCL (打开新窗口) 是 PX4 的飞行日志分析器。它也可在离线模式下使用下载的 uLog 文件。

主要功能

  • 实时数据采集(50 毫秒采样,100 毫秒滚动显示),基于 MAVLink 信息或通过 MAVLink 传输的 ULOG 数据
  • 由信息(MAVLink 和 ULog)和参数变化(仅 MAVLink)注释的时间图表
  • 部分关键数据的 XY 分析
  • 3D 视图(载具和观察者视角)
  • MAVLink 检查器(报告原始 MAVLink 信息)
  • 离线模式:从 PX4Log/ULog 中导入按键数据(文件或通过 WiFi 从设备上导入的最后一次记录)
  • 基于 Java。已知可在 macOS 和 Ubuntu 上运行。
  • 还有更多...

MAVGCL

# 数据彗星

数据彗星 (打开新窗口) 是一款交互式 PX4 飞行日志分析工具,允许您将飞行数据编码到飞行路径上,按时间过滤和刷新数据,等等!

您可以使用该工具的在线版本来处理较小的日志文件(32Mb),也可以在本地运行该工具来分析较长的飞行日志。

数据彗星