在Mission Planner地面站中下载和分析数据日志¶
Dataflash 日志存储在(飞行)控制器上,可在飞行后下载。默认情况下,它们是在首次上膛飞行器后创建的。本主题介绍如何配置和访问 Dataflash 日志。
根据(飞行)控制器的类型和配置,数据闪存日志可保存在 SD 卡、数据闪存芯片上,或通过 MAVLink 遥测端口串流。MAVLink 选项需要高速遥测端口,通常为 921600 波特。
备注
如果您的载具在生成数据闪存日志时出现问题,包括臭名昭著的 "无 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 调低数值有助于消除这些间隙。
通过 MAVLink 下载日志¶
使用微型 USB 电缆将载具连接到地面站
打开Mission Planner地面站的飞行数据屏幕
在左下角选择 "DataFlash Logs"(数据闪存日志)选项卡并按下 "Download DataFlash Log Via Mavlink"(通过 Mavlink 下载数据闪存日志)按钮
然后,选择要下载的日志。这将把日志保存到 MissionPlanner/logs 目录中以载具类型命名的文件夹中,如 QUADCOPTER。
自动分析日志¶
最简单的分析是生成一份基本的自动报告,突出显示常见问题区域。为此,请单击 "日志分析 "并选择已保存到 MissionPlanner/logs 目录中的日志。它们将被放在以载具类型命名的文件夹中,如 QUADCOPTER 或 ROVER。选中需要的日志后,就会生成类似下面的报告:
手动查看日志¶
要进行更详细的分析,请单击 "查看日志 "并选择已保存到 MissionPlanner/logs 目录中的日志。同样,这些日志将放在以载具类型命名的文件夹中,如 QUADCOPTER 或 ROVER。
查看从互联网或载具上下载的日志的步骤¶
对于 DataFlash 日志,扩展名为 .bin 或 .log:
下载日志文件。请注意该文件在计算机上的下载位置。(例如,可能是 C:\Downloads)
打开Mission Planner地面站
导航至 "飞行数据 "页面(左上角)
选择 "数据闪存日志 "选项卡(屏幕中间左侧)
选择 "查看日志 "按钮。
标准的 Windows "选择文件 "框会让你在下载的位置找到下载的 .bin 文件(根据上面的例子,它位于 C:\Downloads)。(根据上面的例子,它位于 C:\Downloads)选择该文件。
读取日志后,将打开一个手动日志查看窗口,您可以通过该窗口绘制日志中的数据进行检查。(见下文)
查看日志数据¶
一旦选择了所需的日志,就会得到如下图表。数据闪存的基本格式是
行号显示在查看器的最左侧
软件版本和电路板类型显示在顶部
接下来是 FMT 报文,它告诉Mission Planner地面站每种报文类型的列标题
PARM 行显示每个参数(按其在 eeprom 中出现的顺序)及其在飞行开始时的值
飞行数据信息,包括 GPS、IMU 等。
首先点击相应的行,您会看到列标题相应地更新。然后找到要绘制图表的列,点击该列,然后按下 "绘制该数据图表 "按钮。在上面的示例中,ATT 的 "滚入 "和 "滚动 "数据已经绘制成图表。鼠标滚轮可用于放大或缩小。您还可以选择图表的某个区域进行放大。单击鼠标右键并选择 "将缩放比例设为默认值 "即可缩小。 下面是 使用该功能的迷你教程。您也可以只过滤第一列(飞行数据报文类型),方法是点击第一列并从下拉菜单中选择报文类型。这对于查看任务中使用的不同飞行模式(称为 "MODE "信息)非常有用。再次点击第一列,按 "取消 "键清除过滤。
设置要记录的数据¶
"这款" LOG_BITMASK 参数控制记录在日志中的信息。不同载具的位数不同。上图是 Copter 的图片。
信息详情(旋翼飞行器专用)¶
备注
许多信息在 机载信息日志信息 页面。
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 位整数的单个数据值):
领域 |
说明 |
本我 |
变量的标识号。只有两种可能的值:
|
EKF(扩展卡尔曼滤波器):
ERR(错误信息):
子系统和错误代码如下
子系统 | EC 代码和说明 |
---|---|
2 = 无线电 |
|
3 = 指南针 |
|
5 = 无线电故障安全 |
|
6 = 电池故障安全 |
|
8 = GCS 故障安全 |
|
9 = 栅栏故障安全 |
|
10 = 飞行模式更改失败 | 由于位置估计错误,载具无法正常进入所需的飞行模式 参见 这里的飞行模式编号 |
11 = GPS |
|
12 = 碰撞检查 |
|
13 = 翻转模式 | 2 = 放弃翻转(未上膛、先导输入或超时) |
15 = 降落伞 |
|
16 = ECF 检查 |
|
17 = EKF 故障安全 |
|
18 = 气压计 |
|
19 = CPU 负载看门狗 |
|
20 = ADSB 故障安全 |
|
21 = 地形数据 | 2 = 缺少地形数据 |
22 = 导航 |
|
23 = 地形故障安全 |
|
24 = 已更改 EKF 初级 |
|
25 = 检查推力损失 |
|
26 = 传感器故障安全(次级) |
|
27 = 漏电故障安全(次级) |
|
28 = 先导输入超时故障安全(仅限子局) |
|
29 = 振动故障安全 |
|
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 定位数据相关的自动驾驶时间(毫秒)。 |
三角洲 |
(飞行)控制器解析上一条 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 中查看飞行情况。请参阅 遥测日志页面 了解更多详情。