PyULog:8条命令解析PX4 ULog日志,导出CSV、KML与SQLite

发布时间:2026/8/22 15:56:46
PyULog:8条命令解析PX4 ULog日志,导出CSV、KML与SQLite PyULog8条命令解析PX4 ULog日志导出CSV、KML与SQLite【免费下载链接】pyulogPython module scripts for ULog files项目地址: https://gitcode.com/gh_mirrors/py/pyulogPyULog是Python ULog日志解析与转换工具包把PX4飞控记录的ULog二进制飞行日志转成CSV、KML、ROS2 bag等3种格式并支持SQLite入库。适合飞行数据分析与轨迹可视化。 PyULog如何安装并运行第一条ulog_info命令用 pip 安装后系统里会得到 8 个命令行工具ulog_info、ulog_messages、ulog_params、ulog2csv、ulog2kml、ulog2ros2bag、ulog_migratedb 和 ulog_extract_gps_dump全部支持 -h 查看用法。下面的第一条命令安装依赖第二条命令查看任意一个 .ulg 日志的概况pip install pyulog ulog_info sample.ulg执行后开头几行给出日志开始时间、总时长和丢包dropout统计仓库里的示例日志是 0:01:52 开始、持续 0:01:08、丢包 4 次共 0.1 秒随后是一张消息流清单列出每条流的数据点数量和字节数例如 sensor_combined 有 17070 个点、actuator_controls_0 有 3269 个点。你据此就能先判断这份日志包含哪些数据、规模多大。 PyULog 8条命令的能力清单核心能力所在模块解决什么问题日志概况、丢包与软硬件版本ulog_infopyulog/info.py快速确认日志完整性与数据分布系统日志与 ERROR 消息ulog_messagespyulog/messages.py按时间戳定位报错如气压计缺失参数表导出ulog_paramspyulog/params.py比对多架飞行器的配置差异支持 CSV 与 Octave 格式转 CSVulog2csvpyulog/ulog2csv.py导入 pandas 或电子表格做数值分析转 KML 轨迹ulog2kmlpyulog/ulog2kml.py在 Google Earth 中查看飞行轨迹转 ROS2 bagulog2ros2bagpyulog/ulog2ros2bag.py在 ROS2 生态里回放飞行数据SQLite 建库与入库ulog_migratedb、DatabaseULogpyulog/db.py按主键批量查询多份日志PX4 事件解析PX4Eventspyulog/px4_events.py把事件编号还原为可读文本 如何用PyULog把ULog日志转成CSV挑一条最典型的路径把传感器消息流导出来做分析。输入一个 PX4 飞控录制的 .ulg 文件。操作用 -m 指定只导出需要的消息流逗号分隔用 -o 指定输出目录缺省时输出到输入文件所在目录ulog2csv sample.ulg -m sensor_combined,vehicle_gps_position -o output/产出output/ 目录下每条消息流各得到一份 CSV 文件列名就是该消息定义里的字段可直接用 pandas 读取用于检查姿态曲线或 GPS 漂移。不带 -m 会导出全部消息流长时间日志要注意磁盘占用。 PyULog进阶用法Python API、数据库与依赖用 Python API 取单条数据流pyulog/extract_message.py 提供extract_message()返回逐条记录的键值对列表还能按起止时间秒截取区间适合写自动化分析脚本from pyulog.extract_message import extract_message data extract_message(sample.ulg, vehicle_gps_position, time_s100)批量归档入库先用ulog_migratedb初始化数据库当前 schema 版本为 5迁移脚本位于 pyulog/sql/再用 DatabaseULog 读取日志并调用 save() 写入之后按主键即可秒级加载。条目是只写的改数据需先 delete() 再 save()且官方建议保留原始 .ulg 文件。可选依赖ulog2kml 需要额外安装 simplekmlulog2ros2bag 需要本地 ROS2 环境并已构建 px4_msgs。❓ PyULog常见问题问怎么判断日志是否损坏或有掉包答看 ulog_info 输出的 Dropouts 行核心解析模块 的 ULog 类还提供 file_corruption 属性检测损坏包。问全量导出 CSV 太大怎么办答用 -m 只保留需要的消息流或用 Python API 只导出指定时间区间。问schema 升级后 DatabaseULog 还能用吗答构造时会校验 schema 版本不一致就报异常需要重新执行 ulog_migratedb 迁移。PyULog 用 8 条命令和 Python API 覆盖了单份日志查看、格式转换到批量归档这 3 类需求底层解析由 核心解析模块 稳定支撑。建议你先跑一遍 ulog_info 和 ulog2csv熟悉日志内部的消息流分布再把数据接进自己的分析流程日志量上来之后再引入 SQLite 方案做集中管理。【免费下载链接】pyulogPython module scripts for ULog files项目地址: https://gitcode.com/gh_mirrors/py/pyulog创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考