飞行日志分析
本主题概述了可用于分析 PX4 飞行日志的工具和方法(在某些情况下,下面会链接到更详细的主题)。
信息
飞行报告 解释了如何下载日志并与开发团队报告/讨论有关飞行的问题。
结构化分析
在分析飞行日志之前,必须确定其背景:
- 如果分析是在故障发生后进行的,那么日志是否记录了坠机过程,还是在空中停止了?
- 所有控制器是否都跟踪了它们的参考点?最简单的方法是将姿态滚动和俯仰率与其设定点进行比较。
- 传感器数据看起来有效吗?是否有非常强烈的振动(强烈振动的合理阈值是峰峰值超过 2-3 m/s/s)。
- 如果根本原因与载具无关,请务必在报告时附上日志文件链接(如果有视频文件,请附上视频链接),并将其放在 PX4 问题跟踪器.
排除电力故障
如果日志文件在空中终止,可能有两个主要原因:电源故障 或 操作系统的硬故障。
在基于 STM32 系列这些故障位于 SD 卡的顶层,并以 "故障 "命名。这些故障位于 SD 卡的顶层,名称为 fault_date.log例如 fault_2017_04_03_00_26_05.log.如果飞行日志突然结束,则应检查该文件是否存在。
分析工具
飞行审查(在线工具)
主要功能
- 基于网络,非常适合最终用户。
- 用户可以通过网络界面上传日志,然后与他人共享报告(使用...... 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, --帮助 展览 此 帮助 信息 和 出口
-v, --verbose 冗长 产量
下面我们看到的是从示例文件中导出的信息类型,使用了 ulog_info.
$ ulog_info sample.ulg
记录 启动 时间 0:01:52, 持续时间 0:01:08
辍学 计数: 4, 总计 持续时间 0.1 s, 最大 62 毫秒、 是指 29 毫秒
信息 留言
系统名: PX4
time_ref_utc: 0
ver_hw: AUAV_X21
ver_sw: fd483321a5cf50ead91164356d15aa474643aa73
名称 (多 id、 信息 尺寸 于 字节数) 数据点数,总字节数
执行器控制器_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 笔记本可用于轻松共享分析结果
- 先进的绘图功能可进行详细分析
MAVGCL
MAVGCL 是 PX4 的飞行日志分析器。它也可在离线模式下使用下载的 uLog 文件。
主要功能
- 实时数据采集(50 毫秒采样,100 毫秒滚动显示),基于 MAVLink 信息或通过 MAVLink 传输的 ULOG 数据
- 由信息(MAVLink 和 ULog)和参数变化(仅 MAVLink)注释的时间图表
- 部分关键数据的 XY 分析
- 3D 视图(载具和观察者视角)
- MAVLink 检查器(报告原始 MAVLink 信息)
- 离线模式:从 PX4Log/ULog 中导入按键数据(文件或通过 WiFi 从设备上导入的最后一次记录)
- 基于 Java。已知可在 macOS 和 Ubuntu 上运行。
- 还有更多...
数据彗星
数据彗星 是一款交互式 PX4 飞行日志分析工具,允许您将飞行数据编码到飞行路径上,按时间过滤和刷新数据,等等!
您可以使用该工具的在线版本来处理较小的日志文件(32Mb),也可以在本地运行该工具来分析较长的飞行日志。