在Mission Planner地面站中下载和分析数据日志

Dataflash 日志存储在(飞行)控制器上,可在飞行后下载。默认情况下,它们是在首次上膛飞行器后创建的。本主题介绍如何配置和访问 Dataflash 日志。

根据(飞行)控制器的类型和配置,数据闪存日志可保存在 SD 卡、数据闪存芯片上,或通过 MAVLink 遥测端口串流。MAVLink 选项需要高速遥测端口,通常为 921600 波特。

备注

遥测日志 (又称 "tlogs")收集的信息与数据闪存日志(见 使用日志诊断问题 了解更多信息)。

备注

如果您的载具在生成数据闪存日志时出现问题,包括臭名昭著的 "无 IO 心跳 "诊断信息,请尝试更换 SD 卡。您也可以选择使用专用工具测试该卡,例如 H2testw.众所周知,电路板电压过低也会导致记录问题。

日志参数

常用的参数有

  • 日志后端类型:用于保存日志的位掩码。常用值包括:"0 "表示禁用日志记录;"1"(位 0 设置)表示记录到 SD 卡文件;"2"(位 1 设置)表示通过 MAVLink 传输数据流;"4"(位 2 设置)表示记录到板卡闪存(如有)。

  • LOG_BITMASK:记录项目的位掩码。通常使用默认值,或使用 "0 "来禁用日志记录。

  • 日志_解除警报:设置为 1 将在接通电源时开始记录,而不是在载具首次上膛时。这在调试预上膛故障时非常有用。设置为 2 将仅在 USB 电源以外的电源应用时记录日志,以防止在工作台上设置时记录日志。设置为 3 还将删除载具未进入上膛状态的任何日志。这样可以防止在工作台或现场配置时积累大量日志。参见 日志消耗率最大值 还用于在日志记录解除时管理日志文件大小。

  • 日志文件:设置该位将在解除上膛、等待 15 秒然后重新上膛后强制创建新的日志文件。通常情况下,(飞行)控制器的每个电源周期(从首次上膛开始)都会有一个日志文件。

  • 日志文件已空:该参数设置记录介质上开始记录前的最小可用空间。如果没有可用空间,则将删除旧日志,以便在初始化过程中提供可用空间。默认值为 500MB。

  • 日志文件最大比率:这将设置流日志信息记录到文件后端的最大速率,以限制文件大小。值为零(默认值)意味着正常日志记录没有限制,这取决于 调度循环速率 值(50Hz:飞机,300Hz:垂直起降机/UGV无人车,400Hz:旋翼飞行器,通常)。请注意,类似于 log_blk_ratemax记录最大飞行速度 分别对 BLOCK 日志流和 MAVLink 日志流执行相同的可选限制。

  • LOG_MAX_FILES:在开始旋转日志编号之前写入数据闪存或 SD 卡的日志文件的最大数量。上限为最多 500 个日志。

备注

如果怀疑由于记录速度过快而遗漏了记录条目,可以检查 DSF.Dp 日志信息,查看遗漏条目的数量。

备注

可以通过使用 RCx_OPTION 发送机通道上的辅助功能 "164"。将该通道切换为高电平将暂停这些信息,但不会暂停事件、模式更改、警告等。这使得记录能力有限的(飞行)控制器(即使用块记录到芯片内存而没有 SD 卡)仅在飞行过程中需要时才记录,例如在飞行稳定调整阶段或确定 TECs 参数等。您还可以使用 LOG_BITMASK 以减少日志大小

重放日志

ArduPilot 具有记录日志的功能,通过实际重放与代码更改相对应的日志,可以更轻松地验证 EKF/AHRS 问题的解决方案,查看解决方案是否会产生所需的修正行为。这就要求日志显示要解决的问题时,日志必须在解除期间处于激活状态(用 日志_解除警报 设置为非零值,最好是 3)和 日志播放 =1 ,从而记录比正常情况下更多的传感器数据。

SD 卡记录问题

如果您遇到 SD 卡记录错误的问题,可以尝试以下方法。

  • 将存储卡格式化为 FAT32 或 vFAT(新格式可与新版 Ardupilot 和更好的硬件配合使用)。

  • 执行完全格式化,检查坏扇区。

  • 检查卡是否有写保护。

  • 检查卡片触点。

  • 有些卡有问题,请尝试使用不同的卡。

  • 确保存储卡的速度足以满足日志记录的需求(10 级存储卡适用于很多人,但低速存储卡也可以使用)。

  • 减少日志中 LOG_BITMASK 的数据量。

  • 递增 BRD_SD_SLOWDOWN,最大为 32(默认为 0)。

板载数据闪存记录

有些电路板没有用于记录日志的 SD 卡接口,而是使用有限的数据闪存,通常为 16MB。它以类似循环缓冲区的方式保存日志文件。一旦闪存被填满,最旧的日志文件就会被当前的日志数据覆盖。如果闪存空间用完时只有一个文件,则会停止记录。

新日志文件将在启动后、上膛时或在下列情况下立即启动 日志_解除警报 为 1。

如果 日志文件 启用后,任何撤膛操作都将停止记录,并在下一次撤膛时启动一个新文件。 日志_解除警报 否则,重新启动时将恢复对当前文件的记录。任何一次重启都会停止记录到当前文件。

为了最大限度地利用有限的闪存空间,可以采取几种方法:

  • 减少使用记录的内容 LOG_BITMASK.

  • 取消记录 EKF3 信息,因为这些信息数量庞大,通常只在诊断问题时需要使用 EK3_LOG_LEVEL 参数。

  • 只有在飞行过程中需要时才记录日志,例如调试、为 TECS 调试收集数据等,使用设置为 "164 "的 RC 辅助开关来启动和停止日志写入。

  • 通过设置 log_blk_ratemax 默认为不受限制。

  • 每次飞行下载并清除日志,每次飞行只记录一个文件

备注

某些数据闪存芯片的速度特别慢,导致日志中出现空白。设置 log_blk_ratemax 调低数值有助于消除这些间隙。

自动分析日志

../_images/MissionPlanner_AutomaticLogAnalysis_Buttons.png

Mission Planner地面站:启动日志分析

最简单的分析是生成一份基本的自动报告,突出显示常见问题区域。为此,请单击 "日志分析 "并选择已保存到 MissionPlanner/logs 目录中的日志。它们将被放在以载具类型命名的文件夹中,如 QUADCOPTER 或 ROVER。选中需要的日志后,就会生成类似下面的报告:

../_images/Capture3.png

手动查看日志

要进行更详细的分析,请单击 "查看日志 "并选择已保存到 MissionPlanner/logs 目录中的日志。同样,这些日志将放在以载具类型命名的文件夹中,如 QUADCOPTER 或 ROVER。

查看从互联网或载具上下载的日志的步骤

对于 DataFlash 日志,扩展名为 .bin 或 .log:

  1. 下载日志文件。请注意该文件在计算机上的下载位置。(例如,可能是 C:\Downloads)

  2. 打开Mission Planner地面站

  3. 导航至 "飞行数据 "页面(左上角)

  4. 选择 "数据闪存日志 "选项卡(屏幕中间左侧)

  5. 选择 "查看日志 "按钮。

  6. 标准的 Windows "选择文件 "框会让你在下载的位置找到下载的 .bin 文件(根据上面的例子,它位于 C:\Downloads)。(根据上面的例子,它位于 C:\Downloads)选择该文件。

  7. 读取日志后,将打开一个手动日志查看窗口,您可以通过该窗口绘制日志中的数据进行检查。(见下文)

查看日志数据

一旦选择了所需的日志,就会得到如下图表。数据闪存的基本格式是

  • 行号显示在查看器的最左侧

  • 软件版本和电路板类型显示在顶部

  • 接下来是 FMT 报文,它告诉Mission Planner地面站每种报文类型的列标题

  • PARM 行显示每个参数(按其在 eeprom 中出现的顺序)及其在飞行开始时的值

  • 飞行数据信息,包括 GPS、IMU 等。

./_images/mp_dataflash_format.png

首先点击相应的行,您会看到列标题相应地更新。然后找到要绘制图表的列,点击该列,然后按下 "绘制该数据图表 "按钮。在上面的示例中,ATT 的 "滚入 "和 "滚动 "数据已经绘制成图表。鼠标滚轮可用于放大或缩小。您还可以选择图表的某个区域进行放大。单击鼠标右键并选择 "将缩放比例设为默认值 "即可缩小。 下面是 使用该功能的迷你教程。您也可以只过滤第一列(飞行数据报文类型),方法是点击第一列并从下拉菜单中选择报文类型。这对于查看任务中使用的不同飞行模式(称为 "MODE "信息)非常有用。再次点击第一列,按 "取消 "键清除过滤。

../_images/MissionPlanner_CLI_openDataflashFilter.png

设置要记录的数据

"这款" LOG_BITMASK 参数控制记录在日志中的信息。不同载具的位数不同。上图是 Copter 的图片。

../_images/mp_dataflash_log_bitmask.png

位屏蔽表(旋翼飞行器)

位屏蔽名称

如果位被设置,将记录什么内容

0

快速态度

态度 @; 调度循环速率

1

中等态度

姿态 @ 10Hz

2

全球定位系统

全球定位系统

3

系统性能

CPU 等。性能监控

4

控制飞行稳定调整

控制数据

5

导航飞行稳定调整

导航数据

6

RC 输入

RC 输入数据

7

IMU

IMU (ACC/Gyro) 数据

8

任务指令

任务/监控系统指令

9

电池监控器

电池监测数据

10

RC 输出

伺服输出

11

光流

光流数据

12

PID

PID 控制器 数据

13

指南针

指南针数据

15

照相机

相机数据

17

发动机

电机数据

19

原始 IMU

未经处理的 IMU 原始数据

20

视频稳定

态度 调度循环速率

21

快速谐波带阻滤波

快速谐波带阻滤波

ATTITUDE 记录将以选择中的最高速率进行。

备注

EKF3 数据的记录由 EK3_LOG_LEVEL 参数。

信息详情(旋翼飞行器专用)

备注

许多信息在 机载信息日志信息 页面。

ATT(态度信息):

DesRoll

飞行员所需的滚转角度,单位为度(向左滚转为负,向右滚转为正)。

卷轴

载具的实际侧倾角度(左侧倾为负,右侧倾为正)。

DesPitch

飞行员所需的俯仰角,单位为度(向前俯仰为负,向后俯仰为正)。

间距

载具的实际俯仰角,单位为度(向前俯仰为负,向后俯仰为正)。

DesYaw

飞行员的预期航向,单位为度,0 = 向北

亚乌

载具的实际航向,单位为度,0 = 北

ErrRP

滚动/俯仰误差估计值的平均大小(数值介于 0 和 1 之间)

ErrYaw

偏航误差估计值的平均大小(数值介于 0 和 1 之间)

ATUN(自动调整概览):

轴:0 = 滚轴,1 = 螺距

TuneStep

0 = 回归水平(测试前或测试后),1 = 测试(即进行抽动以测试反应),2 = 更新增益(完成抽动并调整增益)

最低费率

测试期间的最低记录速率

最大费率

测试期间记录的最大速率

RPGain

正在测试的速率 P 增益值

RDGain

正在测试的 D 级增益值

SPGain

稳定正在测试的 P 增益

ATDE(自动调整步骤详情):

角度

被测轴的角度(厘度)x

费率

测试轴的旋转速度

CAM(相机快门启动的时间和位置):

全球定位系统时间

以毫秒为单位的 GPS 报告的自纪元以来的时间

纬度

加速度计 + GPS 纬度估算

Lng

加速度计 + GPS 经度估算

Alt

加速度计+气压计估算的离地高度(厘米

卷轴

载具侧倾角(厘度

间距

载具俯仰角(厘度

亚乌

载具航向(厘度

CMD(从地面站接收的命令或作为任务一部分执行的命令):

计算结果

任务中命令的总数

CNum

该命令在任务中的编号(0 表示总是原点,1 表示第一个命令,等等)

CId

"这款" MAVLink 信息 ID

科普特人

选项参数(用于多种不同目的)

Prm1

命令参数(用于多种不同目的)

Alt

指令的高度,以米为单位

纬度

指令的纬度位置

Lng

指令的经度位置

COMPASS(原始罗盘、偏移和罗盘仪补偿值):

现场

说明

MagX, MagY.

x 轴、y 轴和 z 轴的原始磁场值

OfsX、OfsY、OfsZ

原始磁偏角(只有当 COMPASS_LEARN 参数为 1 时才会更改)

MOfsX, MOfsY, MOfsZ

节流或电流的 Compassmot 补偿

CURRENT(电池电压、电流和电路板电压信息):

领域

说明

先导输入节流阀范围为 0 ~ 1000

ThrInt

综合节流阀(即本次飞行的总节流阀输出总和)

伏特

电池电压(伏特)* 100

Curr

电池电流(安培)*100

Vcc

电路板电压

CurrTot

电池总电流

CTUN(控制、油门和高度信息):

领域

说明

美国时间

以微秒为单位的信息时间戳(可忽略)

飞行员的油门输入为 0 至 1000 之间的数字

ABst

角度提升:由于旋翼飞行器倾斜而增加油门(从 0 到 1000)(自动添加到所有飞行员和(飞行)控制器油门中,以减少倾斜时的高度损失)

ThO

发送至电机的最终节流阀输出(0 ~ 1000)。在稳定模式下通常等于 ThrI+ABst。

ThH

在 0 ~ 1 范围内悬停所需的节流阀估计值

DAlt

在 AltHold、Loiter、RTL 或 Auto 飞行模式下的期望高度。它受 EKF 原点的影响,在 3.5.X 中,EKF 原点由 GPS 高度校正。这一功能在 3.6.X 中被关闭,可通过 EKF_OGN_HGT_MASK 打开。

Alt

当前的 EKF 高度

BAlt

气压高度:气压计显示的地面高度

DSAlt

与地面或天花板的预期距离,以厘米为单位(仅在声纳可用时可见)。

SAlt

声纳高度:根据声纳显示的离地高度(仅声纳可用时可见)

TAlt

地形高度(默认不使用)

DCRt

预期爬升率(厘米/秒

CRt

爬升率(厘米/秒

N

陀螺仪谐波带阻滤波电流中心频率(赫兹

D32、DU32(有符号 32 位整数或无符号 32 位整数的单个数据值):

领域

说明

本我

变量的标识号。只有两种可能的值:

  • 7 = 内部状态的比特掩码(各个比特的含义可在 "内部状态 "的定义中找到)。 ap 结构

  • 9 = 简单模式的初始航向(厘度

EKF(扩展卡尔曼滤波器):

在此登录信息 (开发维基)。概述 这里.

ERR(错误信息):

子系统和错误代码如下

子系统 EC 代码和说明
2 = 无线电
  • 0 = 错误已解决

  • 2 = 延迟帧:两秒钟内未收到接收机的更新信息

3 = 指南针
  • 0 = 错误已解决

  • 1 = 初始化失败(可能是硬件问题)

  • 4 = 不健康:传感器读数失败

5 = 无线电故障安全
  • 0 = 故障安全已解决

  • 1 = 触发故障安全

6 = 电池故障安全
  • 0 = 故障安全已解决

  • 1 = 触发故障安全

8 = GCS 故障安全
  • 0 = 故障安全已解决

  • 1 = 触发故障安全

9 = 栅栏故障安全
  • 0 = 故障安全已解决

  • 1 = 突破高度栅栏,触发故障安全保护

  • 2 = 圆形栅栏破损,触发故障安全保护

  • 3 = Alt 和环形栅栏均被破坏,触发故障安全保护

  • 4 = 多边形围栏被破坏,触发故障安全保护

10 = 飞行模式更改失败

由于位置估计错误,载具无法正常进入所需的飞行模式

参见 这里的飞行模式编号

11 = GPS
  • 0 = 故障清除

  • 2 = GPS 出现故障

12 = 碰撞检查
  • 1 = 检测到撞击地面。通常情况下,载具在撞击后很快就会解除警报。

  • 2 = 检测到失控。通常情况下,降落伞会在

13 = 翻转模式 2 = 放弃翻转(未上膛、先导输入或超时)
15 = 降落伞
  • 2 = 未部署,载具太低

  • 3 = 未部署,载具着陆

16 = ECF 检查
  • 0 = 差值清除(位置估计确定)

  • 2 = 差异(位置估计错误)

17 = EKF 故障安全
  • 0 = 故障安全已解决

  • 1 = 触发故障安全

18 = 气压计
  • 0 = 错误已解决

  • 4 = 不健康:传感器读数失败

19 = CPU 负载看门狗
  • 0 = 故障安全已解决

  • 1 = 触发故障安全(通常为载具撤膛)

20 = ADSB 故障安全
  • 0 = 故障安全已解决

  • 1 = 不采取行动,只向飞行员报告

  • 2 = 载具通过爬坡或下坡避险

  • 3 = 载具通过水平移动躲避

  • 4 = 载具与其他载具垂直行驶以避免碰撞

  • 5 = 调用 RTL

21 = 地形数据 2 = 缺少地形数据
22 = 导航
  • 2 = 设置目的地失败

  • 3 = 重新启动 RTL

  • 4 = Circle 初始化失败

  • 5 = 目的地在围栏外

23 = 地形故障安全
  • 0 = 故障安全已解决

  • 1 = 触发故障安全(通常为载具 RTL)

24 = 已更改 EKF 初级
  • 0 = 第 1 个 EKF 已成为主要

  • 1 = 第 2 个 EKF 已成为主要

25 = 检查推力损失
  • 0 = 恢复推力

  • 1 = 检测到推力损失(高度可能优先于偏航控制)。

26 = 传感器故障安全(次级)
  • 0 = 传感器故障安全解除

  • 1 = 传感器故障安全触发

27 = 漏电故障安全(次级)
  • 0 = 已清除泄漏故障安全

  • 1 = 触发检漏仪故障安全保护

28 = 先导输入超时故障安全(仅限子局)
  • 0 = 先导输入故障安全解除

  • 1 = 触发先导输入失效保护

29 = 振动故障安全
  • 0 = 取消过大振动补偿

  • 1 = 已启动过度振动补偿功能

EV:(事件编号).可能发生的事件的完整列表请参见 AP_Logger.h 但最常见的是

事件编号

说明

10

上膛

11

解除上膛

15

自动上膛(飞行员已将油门升至零以上,(飞行)控制器可自由控制油门)

18

土地完整

25

设置原点(原点位置坐标已捕获)

28

未着陆(又称起飞完成)

GPA:(全球定位精度)

领域

说明

VDop

精度的垂直稀释,精度的无单位度量 https://en.wikipedia.org/wiki/Dilution_of_precision

HAcc

GPS 模块报告的水平精度,以米为单位

VAcc

GPS 模块报告的垂直精度,以米为单位

SAcc

GPS 报告的速度精度,单位 m/s/s

VV

指示 GPS 是否报告垂直速度的标志

0 无垂直速度数据 1 GPS 有垂直速度数据

短信

精度/GPS 定位数据相关的自动驾驶时间(毫秒)。

三角洲

(飞行)控制器解析上一条 GPS 信息和当前 GPS 信息之间的时间间隔(毫秒)。

全球定位系统:

领域

说明

现状

0 = 无 GPS,1 = 有 GPS 但无定位,2 = 有 2D 定位的 GPS,3 = 有 3D 定位的 GPS

时间

以毫秒为单位的 GPS 报告的自纪元以来的时间

NSats

目前使用的卫星数量

HDop

衡量 GPS 精确度的标准(1.5 为好,2.0 则不太好) https://en.wikipedia.org/wiki/Dilution_of_precision

纬度

根据 GPS 显示的纬度

Lng

根据 GPS 确定的经度

RelAlt

加速度计 + Baro 高度(米

Alt

GPS 报告高度((飞行)控制器不使用)

SPD

水平地面速度(米/秒

GCrs

地面航向,单位为度(0 = 北)

IMU(加速度计和陀螺仪信息):

领域

说明

GyrX、GyrY、GyrZ

以弧度/秒为单位的原始陀螺仪旋转率

AccX, AccY, AccZ

以 m/s/s 为单位的加速度计原始值

模式(飞行模式):

领域

说明

模式

以字符串形式显示的飞行模式(如稳定、降落等)。

ThrCrs

油门巡航(0 ~ 1000)是(飞行)控制器对保持稳定悬停所需的油门的最佳猜测

Rsn

模式更改的原因(TX 命令、故障安全等)。代码值的含义请参见 模式原因

NTUN(导航信息):

领域

说明

WPDst

到下一个航点(或停机目标)的距离,单位为厘米。仅在 Loiter、RTL、Auto 模式下更新。

WPBrg

到下一个航点的方位(度

PErX

旋翼飞行器与纬度方向下一个航点之间的中间目标距离

教育

旋翼飞行器与经度方向下一个航点之间的中间目标距离

DVelX

纬度方向的预期速度(厘米/秒

DVelY

经度方向的预期速度(厘米/秒

VelX

纬度方向的实际加速度计+GPS 速度估算值

VelY

实际加速度计+GPS 经度方向速度估计值

DAcX

纬度方向的预期加速度(厘米/秒/秒

DAcY

经度方向的预期加速度(厘米/秒/秒

DRol

预期滚动角度(厘度

DPit

预期俯仰角(厘度

PM(性能监测):

领域

说明

NLon

运行时间较长的主循环次数(即运行时间超过 20% 的循环次数)。 调度循环速率 - 例如,400Hz 速率为 3ms)

NLoop

自上次显示 PM 信息以来的循环总数。这样就可以计算出运行缓慢的循环所占的百分比(不应高于 15%)。请注意,该值将取决于(飞行)控制器的时钟速度

MaxT

自上次 PM 消息发出后,任何循环所耗费的最长时间。该时间不应超过调度程序循环周期的 120%,但在电机处于上膛状态的时间间隔内,该时间会更长。

备忘录

可用内存(以字节为单位

载荷

使用 CPU 的调度器循环周期百分比(乘以 10

RCOUT(pwm 输出至单个 RC 输出):

RC1、RC2 等:(飞行)控制器向 esc/电机/RC 输出发送的 pwm 命令

查看 KMZ 文件

从(飞行)控制器下载数据闪存日志文件时,它会自动创建一个 KMZ 文件(扩展名为 .kmz 的文件)。该文件可通过 Google Earth 打开(只需双击该文件),以便在 Google Earth 中查看飞行情况。请参阅 遥测日志页面 了解更多详情。

视频教程