【PX4学习笔记】11.PX4飞行日志分析

目录


image-20240219150933032

日志分析的软件类型

日志获取的方式

image-20240219151526663

官方网站

https://docs.px4.io/main/en/getting_started/flight_reporting.html

image-20240219151612241

PX4使用者官网推荐分析软件:

https://docs.px4.io/master/en/log/flight_log_analysis.html

image-20240219151644898

使用FIGHTPLOT软件分析日志

FlightPlot软件的下载与安装

github推荐:https://github.com/PX4/FlightPlot/releases

推荐:https://blog.youkuaiyun.com/qq_33641919/article/details/106883279

image-20240219152030684

[!NOTE]

​ 可以看到,总共也就三个版本而已。

使用flightplot软件进行简单的使用介绍

image-20240219151817290

log messages

image-20240219152127483

存放了控制台的打印信息。

Fields List

image-20240219152224504

存放了固件中的一些mavlink消息的数据。

常用的数据

image-20240219152424946

[!NOTE]

​ 加速度计传感器的数据信息。

姿态的四元数

image-20240219152459314

image-20240219152814412

期望的姿态数据

image-20240219152607027

​ 但是加入进去之后,并没有这个数据。原因是模式不一样。

只看某一个数据

image-20240219152935895

image-20240219153105931

​ 期望的位置和实际的位置。

image-20240219153154991

使用flightplot进行案例分析

B站推荐:https://www.bilibili.com/video/BV1mi4y1s7q6?spm_id_from=333.337.search-card.all.click

image-20240219151846153

### 使用MATLAB解析和分析PX4生成的BIN日志文件 #### 解析BIN文件结构 为了有效地读取和解释PX4生成的二进制(`.bin`)日志文件,在MATLAB环境中需先了解这些文件内部存储数据的方式。通常情况下,这类文件包含了飞行器的各种传感器数据以及状态参数等信息,按照特定协议编码而成。 由于官方文档可能不会提供详细的字段定义说明,可以从开源社区获取支持库来辅助完成此工作。例如存在一些Python脚本专门用于转换不同版本间的日志格式[^1]。然而对于直接利用MATLAB操作而言,则建议寻找现成的功能包或者自行编写相应的解码函数。 #### MATLAB代码实例 下面给出一段简单的MATLAB代码片段作为示范,展示如何加载并初步查看一个标准的PX4 `.bin` 日志文件的内容: ```matlab % 定义路径至目标.bin文件 filePath = 'path_to_your_log_file.bin'; % 打开文件准备读入字节流 fid = fopen(filePath,'r'); if fid == -1 error('无法打开指定的日志文件!'); end try % 假设已知每条记录长度为recordSize个字节 recordSize = 8; % 这里仅作示意,请替换实际值 % 初始化容器保存所有提取出来的数值 dataBuffer = []; while ~feof(fid) tempData = fread(fid,[1,recordSize],'uint8'); %#ok<UNRCH> if numel(tempData) ~= recordSize break; end % 将当前批次的数据追加到总缓冲区中 dataBuffer = [dataBuffer; typecast(uint8(tempData'),'double')]; end finally fclose(fid); end disp('成功读取了如下所示的部分原始数据:'); head(dataBuffer,5); % 显示前五行样本供参考 ``` 上述例子展示了基础框架下的文件输入过程,具体实现细节取决于所处理的日志版本及其包含的信息种类。如果希望进一步深入挖掘有用特征或将结果可视化呈现出来,则还需要根据实际情况调整逻辑流程,并引入更多高级算法和技术手段加以配合。 #### 数据预处理与探索性分析 一旦获得了完整的数据集之后,便可以通过多种方法来进行更深层次的研究。比如计算统计量描述总体趋势;绘制图表直观反映变化规律;甚至运用机器学习模型预测未来行为模式等等。值得注意的是,考虑到航空领域应用背景特殊性,在执行任何建模之前务必充分理解各个变量物理意义及相互关系,从而确保所得结论具备合理性和可靠性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

后厂村路小狗蛋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值