【无人机】无人机飞行日志下载及分析,飞行日志分析软件的使用

目录

一、飞行日志下载

1.1 通过地面站下载

1.1.1 QGroundControl(QGC)地面站

1.1.2 Mission Planner 地面站

1.2 通过内存卡读卡器下载

1.3 通过数传模块下载(数传日志)

二、飞行日志分析

2.1 使用 Flight Review 分析

2.1.1 基本信息查看(数据分析,查看飞行效果)

2.1.2 3D 飞行视角查看

2.1.3 数据分析

2.2 使用 FlightPlot 分析

2.2.1 数据选择

2.2.2 绘图分析

2.3 使用 MATLAB 分析

2.3.1 格式转换

2.3.2 数据处理与绘图


一、飞行日志下载

1.1 通过地面站下载

1.1.1 QGroundControl(QGC)地面站

 日志可以从QGroundControl: Analyze View(分析视图 > Log Download(下载日志)中下载.

用数据线将飞控与地面站连接,连接之后打开 QGC 地面站。

在界面中找到日志相关选项,一般能看到保存的日志列表,从中选择需要下载的日志文件,

先刷新refresh,再选择日志文件,点击 “下载” 按钮,并指定保存目录,即可完成下载 。

若希望无人机在上电后便开始记录日志,需将 SDLOG_MODE 参数进行设置。如图,参数模式。

1.1.2 Mission Planner 地面站

首先安装 Mission Planner 软件,从其官方网站或 github 仓库下载对应操作系统(windows、linux、macos)的最新版本进行安装。

安装完成后,用数据线连接飞控与电脑,当软件提示时,单击 “日志下载”。

在弹出的 “日志” 界面中,一般建议选择数字最大的日志(通常为最新日志),然后单击 “下载这些日志”。

下载完成的日志文件默认保存在软件安装目录的 logs 文件夹中 。

1.2 通过内存卡读卡器下载

先将飞控上用于存储日志的 SD 卡小心取出,注意避免静电和物理损坏。

将 SD 卡插入读卡器,再把读卡器连接到电脑。

电脑识别出 SD 卡存储设备后,进入 SD 卡中存储日志的文件夹,一般为 “log” 文件夹。

在该文件夹内,将所需的日志文件拷贝到电脑上预先指定好的位置,即可完成下载 。

1.3 通过数传模块下载(数传日志)

如果无人机配备了如 3DR 或 XBee 等数传模块,在飞行过程中,当通过数传模块连接 APM 到电脑时,Mission Planner(或其他支持的地面站)会自动记录数传日志,即 “tlogs”。

这类日志无需额外手动下载操作,在飞行结束后,在地面站软件对应的存储路径中即可找到相应的数传日志文件 。

二、飞行日志分析

2.1 使用 Flight Review 分析

在线软件:将日志文件上传到在线Flight Review工具。

软件链接:Flight Review

2.1.1 基本信息查看(数据分析,查看飞行效果)

使用Flight Review进行日志分析 解释了怎样分析图形,这可以帮你确认/排除一些常见的问题:过大的震动、很差的PID调优、控制器饱和、车辆不平衡、GPS 噪声、等等。 

上传日志文件后,在 Flight Review 界面可查看丰富的无人机基本信息,

包括无人机机架类型,这有助于了解无人机的结构特点;

固件版本,可判断是否为最新或适合的版本;

日志记录时间,明确飞行数据的记录时段;

飞行时间,直观知晓本次飞行的时长等 。

参考:炸机不可怕,可怕的是你不知道为什么炸_qgc飞行日志怎么查-CSDN博客

 

常用数据分析
(1)高度信息其中包括GPS高度、气压计高度、融合高度估计,高度定位点,以及推力。

(2)该分析工具直接列出了无人机横滚轴,俯仰轴,偏航轴在角度和角速度实际值与期望值,方便用户之间查看。

对于期望姿态和实际姿态数值应尽量的相近,从曲线上看就是两条线应该尽量重合,俩条曲线重合性和跟随性好就说明无人机飞行性能不错,PID调节比较合适,无人机能够很快很稳的到达预期角度。

(3)无人机x、y、z三个方向期望与实际位置

(4)无人机在飞行过程中电机电调输出的PWM值

该部分记录了飞控对各电机的输出大小,多轴电机悬停时应该所有电机输出差异不大,从这一项我们可以看出飞机重心,电机水平等情况,

如果相邻两个电机输出大,相对的两个输出小,就说明重心偏向输出大的电机那一边了;

如果是对角的两个电机输出偏大,则要检查是不是电机座没有安装水平;

还能通过各轴电机输出的变化推算出飞机当时的姿态和动作情况。

(5)遥控器摇杆与通道输入

曲线分别表示飞控接收到遥控器信号的记录值,有横滚、俯仰、偏航、油门、控制飞行模式以及锁桨等通道的输出。

(6)原始加速度

该图显示了 x、y 、z 轴的原始加速度计测量值。理想情况下,每根线条都很细,可以清楚地显示车辆的加速度。如果 z 轴图在悬停或慢速飞行期间接触 x/y 轴图,则振动级别太高。

(7)GPS设备信息显示

图中显示了有关GPS的信息,用于分析无人机定位不准相关问题。

注意:

使用卫星的数目(GPS Fix)应大约或多余 12 个;

水平位置精确度(Horizontal position accuracy)应小于 1 米;

垂直位置精确度(Vertical position accuracy)应小于 2 米。

(8)在QGC地面站中所有参数显示以及无人机飞行过程中消息打印

2.1.2 3D 飞行视角查看

点击 “open3dview” 选项,能打开独特的无人机 3D 飞行视角。

通过该视角,可直观、立体地了解无人机在飞行过程中的轨迹,

包括飞行方向、高度变化、航线曲折程度等,对于分析飞行路径规划是否合理等具有重要意义 。

2.1.3 数据分析

  • 姿态数据:可查看无人机横滚轴 / 俯仰轴 / 偏航轴的角度和角速度实际值与期望值。对比这些数据,能判断无人机姿态控制的准确性和稳定性。例如,实际角度与期望角度偏差过大,可能意味着姿态控制算法存在问题或受到外部干扰 。
  • 遥控器数据:能查看遥控器摇杆与通道输入曲线,了解飞手操作与无人机响应之间的关系。比如,通道输入曲线是否平滑,有无异常波动,可反映遥控器信号传输是否稳定以及飞控对遥控器指令的处理情况 。
  • 传感器数据:像原始加速度数据,能帮助分析无人机飞行过程中的受力情况,判断是否存在异常振动或冲击;GPS 设备信息,如定位精度、卫星数量等,可用于评估 GPS 定位的可靠性,若 GPS 定位精度差或卫星数量少,可能影响无人机的定点悬停和航线飞行精度 。
  • 错误信息:飞行过程中所有系统错误和警告消息会在消息打印一栏完整呈现。例如,电池电量不足警告、信号丢失错误等,通过这些信息能快速定位飞行过程中出现的问题,为后续故障排查和优化提供关键线索 。

 

2.2 使用 FlightPlot 分析

2.2.1 数据选择

打开 FlightPlot 软件并加载下载好的日志文件后,点击界面中的 “Fields List” 按钮,此时会弹出数据类型选择窗口。在该窗口中,可根据分析需求选择想要查看的数据类型,如姿态数据、传感器数据、飞行模式数据等,点击 “Add” 按钮,将所选数据添加到显示列表 。

2.2.2 绘图分析

在数据选择完成后,在画图区点击 “Add” 按钮,软件将按照设定,把处理完的数据以曲线、图表等形式绘制出来。通过观察这些图形,可清晰地看到数据随时间的变化趋势和特征。例如,通过高度随时间变化的曲线,能直观了解无人机的升降过程;通过电机输出功率曲线,可判断电机工作是否正常 。

2.3 使用 MATLAB 分析

2.3.1 格式转换

由于 PX4 飞控的日志文件通常为 ULog 格式,而 MATLAB 更适合处理常见的文本格式数据,因此需要进行格式转换。在日志文件所在目录下,打开命令行窗口,输入 “ulog2csv” 命令,该命令会将 ULog 格式的日志文件转换为 CSV 格式,以便 MATLAB 能够读取和处理 。

2.3.2 数据处理与绘图

在 MATLAB 软件中,通过导入功能将转换后的 CSV 数据文件导入到工作区。导入后,可利用 MATLAB 丰富的函数库和工具,对数据进行各种处理和分析操作。例如,进行数据滤波去除噪声干扰,计算数据的统计特征等。完成处理后,可根据需求绘制出相应图形,如绘制位置 - 时间曲线、速度 - 时间曲线等,并且在图形中还能查看每个时间戳对应的数据值,从而深入、细致地分析飞行数据 。

参考:

使用 Flight Review 进行日志分析 · PX4 User Guide

飞行报告 · PX4

炸机不可怕,可怕的是你不知道为什么炸_qgc飞行日志怎么查-CSDN博客 

使用 Flight Review 进行日志分析 | PX4 Guide (main) 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/980117.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Coredns延迟NodeLocalDNS解决之道

#作者:邓伟 文章目录 问题列表问题分析:问题分析解决方案详情方案验证部署步骤验证结论回滚方案回滚验证注意事项NodeLocalDNS介绍 问题列表 近来发现K8s频繁出现5s超时问题,业务反馈收到一定影响,问题包括: coredn…

由堆栈异常引发的一系列问题启发

文章目录 背景分析现象排查定位数据比对解决方案反思背景 背景:今天下午初始化经营体数据到预发环境,需要将生产环境的经营体表的数据同步到预发环境,同步结束后。再调用批量禁用接口,目的是将原来一级经营体【中国移动】下的所有经营体禁用掉,然后导入Excel文件将新的省…

[2/11]C#性能优化-不要使用空析构函数-每个细节都有示例代码

前言 在C#开发中,性能优化是提升系统响应速度和资源利用率的关键环节。 当然,同样是所有程序的关键环节。 通过遵循下述建议,可以有效地减少不必要的对象创建,从而减轻GC的负担,提高应用程序的整体性能。记住&#xf…

Llama-factory详细基础使用说明

最近很多小伙伴在使用llama-factory时遇到了不少问题,特别是基础不太好的童鞋,对各种参数或者webui界面的内容不理解,总是一会一个问题,网上大部分的教程,都只是教到能跑起来就行,对于细的调整没有做介绍&a…

excel单、双字节字符转换函数(中英文输入法符号转换)

在Excel中通常使用函数WIDECHAR和ASC来实现单、双字节字符之间的转换。其中 WIDECHAR函数将所有的字符转换为双字节,ASC函数将所有的字符转换为单字节 首先来解释一下单双字节的含义。单字节一般对应英文输入法的输入,如英文字母,英文输入法…

VS Code 如何搭建CC++开发环境

VS Code 如何搭建C/C开发环境 文章目录 VS Code 如何搭建C/C开发环境1. VS Code是什么2. VS Code的下载和安装2.1 下载和安装2.2 环境的介绍 3. VS Code配置C/C开发环境3.1 下载和配置MinGW-w64编译器套件3.2 安装C/C插件3.3 重启VS Code 4. 在VS Code上编写C语言代码并编译成功…

间隙波导阵列天线 学习笔记2 使用加载脊U型辐射层的一种Ka波段高效率圆极化卫星天线的发展

摘要: 本文提出了一种低剖面,高增益背腔槽阵列天线,基于RGW技术,工作在Ka频段。天线阵列包含两层。上层是一个U型槽阵列,在金属脊上腔体的位置上方,同时下层是RGW公共分布网络,给每个背腔槽等辐…

【软考-架构】1.1、计算机硬件-CPU校验码

GitHub地址:https://github.com/tyronczt/system_architect ✨资料&文章更新✨ 计算机硬件组成 中央处理单元 运算器 算术逻辑单元ALU(实现对数据的算术和逻辑运算);累加寄存器AC(运算结果或源操作数的存放区);数…

【Spring】Spring AOP原理

目录 前言 代理模式 静态代理 优缺点 动态代理 JDK动态代理 工作原理 JDK动态原理实现关键步骤 CGLib动态代理 CGLIB动态代理实现关键步骤 总结 前言 在上一篇中,我们讲解了什么是AOP,以及Spring AOP是如何使用的,那么本篇我们就…

SpringBoot五:JSR303校验

精心整理了最新的面试资料和简历模板,有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 松散绑定 意思是比如在yaml中写的是last-name,这个和lastName意思是一样的,-后的字母默认是大写的 JSR303校验 就是可以在字段增加…

uniapp 系统学习,从入门到实战(六)—— 样式与布局

全篇大概 4700 字(含代码),建议阅读时间 30min 📚 目录 Flex 布局在 UniApp 中的应用响应式设计与适配多端使用 SCSS 提升样式开发效率实战案例演示总结 1. Flex 布局在 UniApp 中的应用 1.1 基础布局实现 通过 display: flex 快速构建弹性容器&#…

Redis---缓存穿透,雪崩,击穿

文章目录 缓存穿透什么是缓存穿透?缓存穿透情况的处理流程是怎样的?缓存穿透的解决办法缓存无效 key布隆过滤器 缓存雪崩什么是缓存雪崩?缓存雪崩的解决办法 缓存击穿什么是缓存击穿?缓存击穿的解决办法 区别对比 在如今的开发中&…

从UNIX到Linux:操作系统进化史与开源革命

从UNIX到Linux:操作系统进化史与开源革命 一、操作系统:数字世界的基石 1.1 什么是操作系统? 操作系统(OS)是计算机系统的核心管理者,承担着三大核心使命: 硬件指挥官:直接管理C…

【Python 语法】算法合集

查找二分查找代码大 O 表示法 广度优先搜索代码 狄克斯特拉算法 递归递归调用栈 分而治之(divide and conquer,D&C)贪心教室调度问题背包问题集合覆盖问题 动态规划背包问题旅游行程最优化 遇到问题时, 如果不确定该如何 高效…

IDEAPyCharm安装ProxyAI(CodeGPT)插件连接DeepSeek-R1教程

背景:最近DeepSeek比较火嘛,然后在githup上也看到了GitHub Copilot,就想着现在AI的准确率已经可以提高工作效率了。所以从网上找了一些编程插件,发现Proxy支持的模型比较多,通用性和适配性比较好。所以本文记录一下pro…

基于javaweb的SSM+Maven幼儿园管理系统设计和实现(源码+文档+部署讲解)

技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论…

Java-Lambda表达式详解

引言:为什么需要 Lambda 表达式? 在 Java 8 之前,处理需要传递代码块的场景(如事件监听、线程任务)通常依赖匿名内部类。这种方式代码冗余,可读性差。例如: // 传统匿名内部类实现 Runnable n…

springboot之集成Elasticsearch

目录 二、Elasticsearch 是什么?三、Elasticsearch 安装四、Springboot 集成 Elasticsearch 的方式五、创建项目集成 Elasticsearch 2.创建 Spring Initializr 项目 es (3).新建实体类 User(4).新建 dao 接口类 UserR…

HBuilderx 插件开发变量名称翻译 ,中文转(小驼峰,大驼峰,下划线,常量,CSS类名)

HBuilderx 插件开发变量名称翻译 ,中文转(小驼峰,大驼峰,下划线,常量,CSS类名) 插件开发文档 工具HBuilderx ,创建项目 创建成功后目录 插件需求 开发时 用来将中文转为&#xff0…

C# 数据转换

1. 文本框读取byte,ushort格式数据 byte addr; if (byte.TryParse(textBoxAddr.Text, out addr) true) {}2. 字节数组 (byte[]) 转换为 ASCII 字符串 byte[] bytes { 72, 101, 108, 108, 111 }; // "Hello" 的 ASCII 码 string s0 Encoding.ASCII.Ge…