apm闪存日志分析

更新时间:2024-04-08 00:25:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

闪存日志

目录 [显示]

日志类型(闪存 VS 数传日志)

有两种方法可以记录你飞行时的数据。尽管两种记录方法十分类似,但也有些区别:

?

闪存日志(本页的主题)飞行完成后,可以从APM或PX4的板载闪存上下载。飞机和地面车辆,只要一开机就会自动创建闪存日志。 四轴上则是解锁后才创建闪存日志。

?

数传日志(也称为―tlogs‖)用3DR或XBee数传模块连接APM到电脑上,会被Mission Planner(或其他地面站)记录下来。你可以 在这里找到详细信息。

设置你想要记录的数据

LOG_BITMASK参数控制闪存内记录什么类型的数据。如果你想指定某个消息类型附加到默认的方法上,在Mission Planner标准参数列表页面,可以在Log Bitmask的下拉列表设置。

使用终端控制会更加方便(命令行界面),如下所示:

? ? ? ?

进入Mission Planner的终端界面 单击―连接APM‖或―连接PX‖ 键入logs

启用或禁用某个消息类型,在enable或disable后输入信息的类型即可。如: enable IMU

用于Arducopter的所有可能的闪存信息:

ATT:roll,pitch和yaw(启用ATTITUDE_FAST记录频率是50Hz,启用ATTITUDE_MED记录频率是10HZ)。

ATUN:自动调参概览(从开头记录每一次―晃动‖测试)

ATDE:自动调参详情(以100HZ记录飞行器的晃动情况)

CAMERA(相机):快门按下后,记录当时的GPS时间、roll、pitch、yaw、纬度、精度、高度。

CMD(命令):从地面站接收命令,或者作为执行任务之一。

COMPASS(罗盘):罗盘原始数据和compassmot补偿值。

CURRENT(电流):以10HZ的频率,记录电流和主板电压信息。

CUTN:油门和高度信息,包括油门输入大小、超声波测得的高度(sonar alt)、气压测得的高度(baro alt),以10HZ频率记录。

D32:id = 9,简单模式最初的航向,单位是百分之一度(例: 18000=南)。

DU32:id = 7,内部状态的位掩码。个别位的含义可以在 ArduCopter.pde中定义的结构体ap找到。

ERR:子系统错误和错误编号。这些列表上可以在 ―使用日志文件诊断问题‖Wiki页面找到。

EV:一个事件的编号。事件的完整列表可以在 defines.h 找到,最常见的是: 10 = Armed(解锁)。

11 = Disarmed(锁定)。

15 = Auto Armed(自动解锁)(飞手已经拉高油门大于0 了、自动驾驶仪不用再控制油门)

16 = TakeOff(起飞)

18 = Land Complete(降落完成)

25 = 设定―家‖(家的位置坐标已经获取)

GPS:GPS的位置、高度、卫星数量,hdop,在GPS更新时会记录(通常是5Hz)。

IMU:加速计原始数据和陀螺仪信息,记录频率50HZ。

INAV:惯性导航高度和位置。

MOTORS:单个电机信息,记录频率50Hz。

NTUN:导航数据,包括所需和实际速度、所需加速度、所需roll和pitch角度,在自动驾驶仪控制水平位置(悬停,返航,自动模式)时,以频率10Hz记录。

OPTFLOW:光流传感器速度和所需roll和pitch角度(使能OF_LOITER时有效)。

PID:如果被CH6旋钮调节,PID控制器输出的P、I、D结果,记录频率50Hz。

PM:性能信息,包括多个循环缓慢运行,最长循环时间,单位:毫秒(每10秒记录一次)。

想绘制哪个飞行数据,只要相应行单击它。你就会看到相应的列标题会更新。接着点击那个列,然后按下―绘制这个数据‖键。上面的例子,ATT的Roll-In和Roll数据已经绘制成图了。

鼠标的滚轮可用于放大或缩小。你也可以选择图表的某个区域进行放大。缩小,鼠标右键单击并选择―设置比例为默认值\。这里的 有个短教程教你如何使用此功能。

你还可以用过滤的方式,在第一行单击,在下拉菜单选择信息类型(飞行数据类型)。这非常有用,特别是查看飞行任务期间,不同飞行模式时(称为―模式‖信息) 。再次单击第一列,按―取消‖可以清除过滤器。

详细信息(针对APM:Copter)

ATT(姿态信息):

Roll-In:你想要的roll角度,单位:厘米-度(roll往左为负,右是正)

Roll:模型实际的roll,单位:厘米-角度(roll往左为负,右是正)

Pitch-In:你想要的pitch角度,单位:厘米-角度(pitch往前为负,后是正)

Roll:模型实际roll,单位:厘米-角度(roll往左为负,右是正)

Yaw-In:你想要的偏航率,范围 – 4500 ~ + 4500(不是―度/秒‖,顺时针方向为正)

Yaw:模型实际航向,单位―厘米-度‖,且 0 = 北。

NavYaw:想要的航向,单位:厘米-度

ATUN(自动调试概览): Axis(轴):0 = Roll,1 = Pitch

调试步骤:0 = 恢复值(测试前或测试后),1 = 测试(如:用晃动测试响应),2 = 更新数据(晃动完成,增益调整完成)

RateMin:测试期间最小记录速率

RateMax:测试期间最大记录速率

RPGain:测试得到的P比率增益值

RDGain:测试得到的D比率增益值

SPGain:测试得到的自稳P增益值

ATDE (自动调试详细步骤):

角度(Angle):飞行器经测试轴的角度,单位厘米-度。

比率(Rate):飞行器经测试轴,旋转的比率,单位厘米-度。

CAM(相机快门按下时的时间和所处位置):

GPSTime:按下快门后,GPS记录当时的时间(以毫秒为单位)

Lat:加速度计 + GPS纬度估计值

Lat:加速度计 + GPS经度估计值

Alt:加速度计 + 气压计测得离地面高度估计值(单位:cm)

Roll:模型roll角度(单位:厘米-度)

Pitch:模型pitch角度(单位:厘米-度)

Yaw:模型的航向(单位:厘米-度)

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

CNUM:任务的命令编号(0代表不没飞,1代表第一个任务)

Cld: MavLink 消息ID

Copt:选项参数(用于许多不同的目的)

Prm1:命令参数(用于许多不同的目的)

Alt:某命令执行时的高度,单位为米

Lat:某命令执行时的纬度

Lng:某命令执行时的经度

罗盘(COMPASS):(罗盘原始数据和compassmot补偿值): MagX,MagY。MagZ:x、y和z轴,原始磁场值。

OfsX,OfsY,OfsZ:原始磁场偏移量(只有参数COMPASS_LEARN = 1时才有用)

MOfsX,MOfsY,MOfsZ:油门或电流的compassmot补偿

CURRENT(电流):(以10HZ频率记录电流和主板电压信息): Thr:油门输入范围从 0 ~ 1000

ThrInt:综合油门(即,此次飞行全部油门输出之和)

电压(Volt):电池电压; 记录格式:实际电压*100

Curr:电池电流输出,记录格式:安培*100

VCC:主板电压

CurrTot:电池总放电电流

CUTN(油门和高度信息):

ThrIn:飞手的油门大小,表示为从0到1000的数值

SonAlt(声纳高度):声纳测得离地面的高度

BarAlt:气压计测得离地面的高度

WPAlt:定高、悬停、返航或自动飞行模式的目标高度

NavThr:未使用

AngBst:飞行器倾斜飞行时会增加的油门大小,范围0 ~ 1000(自动给所有电机同时加油门,以补偿自动驾驶仪在倾斜飞行时减少的高度)

CRate:加速计 + 气压计估计的上升速率,单位cm/s

throut:最终油门输出大小,传送到电机(从0 ~ 1000)。在自稳模式下,通常相当于ThrIn + AngBst。

DCRate – 飞手想要的上升速率,单位:cm/s

D32,DU32(数据类型:有符号32位整数或无符号32位整数): id:变量标识号。仅有两个可能的值

7 = 内部状态的位掩码。个别位含义在 ArduCopter.pde文件结构体ap中。 9 = 简单模式的初始航向,单位:厘米-度

ERR(错误信息): 下面列出:子系统及错误代码

1:Main(从未使用)

2:无线电(Radio)

ECode 1:―Late Frame‖意思是APM的板载ppm编码器,至少2秒钟了没有更新数据。

ECode 0:意思是ppm编码器恢复数据更新,错误已解决。

3:Compass(罗盘)

ECode 1:罗盘初始化失败(很可能是硬件问题)

ECode 2:从罗盘读取数据失败(可能是硬件问题)

ECode:上述错误已解决

4:Optical flow(光流)

ECode 1:初始化失败(很可能是硬件问题)

5:油门安全故障

ECode 1:油门下降到参数FS_THR_VALUE以下,可能RX/TX失去连接

ECode 0:上述问题解决,意思是RX/TX恢复连接

6:电池安全故障

ECode 1:电池电压低于参数LOW_VOLT,或电池过度放电能力超过参数BATT_CAPACITY 7:GPS安全故障

ECode 1:GPS断开锁定至少5秒钟

ECode 0:GPS恢复锁定

8:GCS(地面站)安全故障

ECode 1:地面站的操纵杆,至少5秒钟未变化。

ECode 0:恢复地面站的更新

9:围栏

ECode 1:超过限定围栏高度

ECode 2:超过限定围栏范围

ECode 3:超过限定海拔高度和围栏范围

ECode 1:模型回到限定范围内

10:飞行模式

ECode 0 – 10:模型不能进入想要的飞行模式

(0 = 自稳,1 = 特技,2 = 定高,3 = 自动,4 = 导航,5 = 悬停,6 = 返航,7 = 盘旋,8 = 定位,9 = 着陆,10 = 光流—悬停)

11:GPS

ECode 2:GPS故障

ECode 0:GPS已故障清除

12:撞击检查

ECode 1:检测到撞击

EV:(事件的编号)。可能事件的完整列表可以在 defines.h 找到,最常见的是:

10 = 解锁(Armed)。

11 = Disarmed(上锁)。

15 = 自动解除锁定(飞行员已经拉高油门大于0了、自动驾驶仪不用再控制油门)

16 = 起飞(TakeOff)

18 = 降落完成(Land Complete)

25 = 设定―家‖(家的位置坐标已经获取)

GPS:

状态–0 = 没搜到GPS; 1 = 有GPS,但没定位; 2 = 2D 定位,3 = 3D定位

GPSTime:按下快门后,GPS记录当时的时间(以毫秒为单位)

NSats:目前正在使用卫星的数量

HDop:GPS测量精度(1.5代表好,大于2代表不太好) Lat:由GPS得到的横向高度

Lng:由GPS得到的纵向高度

RelAlt:加速计 + 气压高度,单位为米

Alt:由GPS得到的高度(不是由飞控)

SPD:水平的地面速度(单位:米/秒)

GCrs:地面方向,以度为单位(0 = 北)

IMU (加速度计和气压信息):

GyrX,GyrY,GyrZ:陀螺仪原始旋转率(单位:度/秒)

AccX,AccY,AccZ:加速度计原始值(单位:m/s/s)

INAV(惯性导航位置和估计速度): BAlt:气压高度(单位:cm)

IAlt:惯性导航高度估计值(单位:cm)

IClb:惯性导航上升速率估计值(单位cm/s)

ACorrX。ACorrY,ACorrZ: x,y 和 z轴 加速度计矫正(单位:cm/s/s)

GLat,GLon:―家‖的GPS纬度和经度

ILat, ILng:―家‖的惯性导航经度和纬度

模式(飞行模式):

模式:飞行模式显示为一个字符串(即:自稳、悬停等)

ThrCrs:巡航油门大小(0–1000),自动驾驶仪自动判断选择最佳大小的油门,用于保持飞行器悬停稳定。

电机(PWM输出到各个电机):

Mot1,Mot2等:从飞控发送pwm命令到电调/电机

NTUN(导航信息):

WPDst:离下一个航点(或悬停目标)的距离(单位:cm)。只有在悬停,返航,自动模式才更新。

WPBrg:bearing to the next waypoint in degrees PErX:纬度方向,飞行器和下一航点之间的距离。

PErY:经度方向,飞行器和下一航点之间距离。

DVelX:纬度方向,所需速度(单位为cm/s)

DVelY:经度方向,所需速度(单位为cm/s)

VelX:纬度方向,实际加速 + GPS估计速度

VelY:经度方向,实际加速 + GPS估计速度

DAcX:纬度方向,所需加速度(单位为cm/s/s)

DAcY:经度方向,所需加速度(单位为cm/s/s)

DRol:想要的roll角度(单位:百分之一度)

DPit:想要的pitch角度(单位:百分之一度)

PM(性能监测):

RenCnt:DCM renormalization count – a high number may indicate problems in DCM (extremely rare)

RenBlw:DCM renormalization blow-up count – how many times DCM had to completely rebuild the DCM matrix since the last PM.Normally innocuous but a number that constantly grows may be an indication that DCM is having troubles calculating the attitude (extremely rare)

FixCnt: the number of GPS fixes received since the last PM message was received (it’s hard to imagine how this would be useful)

NLon: number of long running main loops (i.e. loops that take more than 5% longer than the 10ms they should)

NLoop: the total number of loops since the last PM message was

displayed.Normally 1000 and allows you to calculate the percentage of slow running loops which should never be higher than 15%.

MaxT: the maximum time that any loop took since the last PM

message.This should be close to 10,000 but will be up to 6,000,000 during the interval where the motors are armed

PMT: a number that increments each time a heart beat is received from the ground station

I2CErr:最新性能监测数据,I2C错误的总数。任何的I2C错误,就可能意味着I2C总线出了问题。可能会导致主循环时间变长,导致飞行性能下降。

查看KMZ文件

当你从APM/PX4下载闪存日志文件,同时会自动创建一个KMZ文件(文件扩展名为.kmz)。可以用谷歌地图打开(只需双击该文件),在谷歌地球上查看飞行数据。请参见有关 数传日志页面 了解更多详细信息。

本文来源:https://www.bwwdw.com/article/bsrr.html

Top