admin管理员组文章数量:1576394
之前我们有写过一篇飞行日志使用的入门教程:APM/Pixhawk飞行日志分析入门 大概介绍了如何获取飞行日志以及简单的分析。接下来我们结合飞行日志来诊断具体问题。
日志类型(Dataflash与Tlog)
有两种记录飞行日志的方法。这两种方法记录的数据非常相似,但是方式不同:
-
数据闪存日志(Dataflash)---记录在飞控上(通常记录在SD卡上),因此飞行后必须从飞控上下载。
-
通过数传连接飞控和电脑端地面站时,在本地电脑上记录的是 遥测日志(也称为“ tlog”)
如果对这些基础知识还不了解,请先查看:APM/Pixhawk飞行日志分析入门
一、机械故障
常见的机械故障包括电机或ESC电调故障,螺旋桨断裂或脱落等。这些故障在日志中是以期望的侧倾角DesRoll和俯仰角DesPitch与飞行器的实际侧倾角Roll和俯仰角Pitch的突然出现差异表现出来。通过绘制 ATT 消息中的DesRoll与Roll,DesPitch与Pitch以及较小程度的DesYaw与Yaw曲线,可以看出这种差异。如下所示:
在上面的示例中,前面一段,飞行器的实际侧倾(“Roll”绿色曲线)紧随期望的侧倾(“DesRoll”红色曲线),但随后突然发散。飞控希望侧倾保持水平(“侧倾” = 0)。这与软件故障完全不同。如果是软件出现故障,由于某种奇怪的原因,导致自动驾驶仪崩溃,突然想要将直升机颠倒过来,在这种情况下,DesRoll曲线也会很疯狂(不会是0),实际的Roll也会随之而来。
如果是使用Tlog日志,比较NAV_CONTROLLER_OUTPUT的nav_roll(期望的倾斜度)和nav_pitch(期望的倾斜度)与ATTITUDE.roll(实际倾斜度)和倾斜度(实际倾斜度)。
二、震动
高振动会导致基于多旋翼的加速度计的高度和水平位置估算值偏离实际情况,从而导致在althold定高,或在Loiter留待,PosHold定点,Auto自动等模式下无人机可能会失控。
我们可以用过查看 VIBE 消息的VibeX,VibeY和 VibeZ 值来查看振动。低于30m/s/s的振动水平通常是可以接受的。高于30m/s/s的水平可能会出现问题,而高于60m/s/s的震动水平在定点或定高模式下通常是会出现问题的。
下图显示了可接受的振动水平,始终低于30m/s/s。
下图是因高振动而引起位置估计问题的多旋翼无人机。
如果是使用的Tlog日志,可以找到VIBRATION中的vibration_x,vibration_y和vibration_z,并显示与存储在数据闪存日志中相同的信息。
三、指南针干扰
飞控附近的配电板,电机,电池,电调和其他电气设备会干扰罗盘的航向,从而导致飞行器盘旋(又称“马桶保龄球”效应)甚至完全以错误的方向飞行。可以通过Tlog的mag_field(位于“ CUSTOM”下)和 throttle(位于VFR_HUD下)的曲线是快速查看干扰量。
下图显示了提高油门时可接受的电磁干扰量,磁场波动仅为10%到20%。低于30%的干扰是可以接受的。在30%到60%之间的灰色区域可能还可以(一些用户还可以,一些用户不满意),并且当油门升高时,超过60%的跳变会显示出非常严重的电磁干扰。
附加说明:
-
mag_field的长度可以在120到550之间不等,这取决于无人机在世界上的哪个位置,但通常在330左右
-
在指南针安装过程结束时,还会显示出占总磁场百分比的电磁干扰。在“ 高级指南针设置”页面页面上搜索“ CompassMot”,以了解有关指南针的更多信息
-
数据闪存日志的COMPASS消息包含罗盘的原始x,y和z轴值(称为MagX,MagY,MagZ),它们等效于tlog的RAW_IMU xmag,ymag和zmag字段。可以首先将dataflash日志文件加载到excel中,通过COMPASS消息进行过滤,然后使用公式mag_field = sqrt(MagX ^ 2,MagY ^ 2,MagZ ^ 2 )。请注意,默认情况下,数据闪存日志中未启用COMPASS消息,因为它以50hz运行,并且确实会影响CPU性能。
-
上方的图片在图表的开头显示了一个尖峰,但可以忽略,因为它是在油门推起之前有可能是用户插入其他电气设备产生的。
四、GPS故障
当无人机处于Loiter,RTL,Auto等飞行模式时,GPS产生的位置误差会导致无人机认为自己突然在错误的位置,并导致激进的飞行来纠正感知到的错误。这些“故障”在遥测日志和数据闪存日志中都显示为可见卫星数量的减少和hdop的增加。
下图显示了数据闪存日志的GPS消息中“ HDop”和“ NSats”值的图形。低于1.5的Hdop值非常好,超过2.0的Hdop值可能表明GPS位置不好。低于12个的卫星数量也很糟糕。这两个值的重大变化通常伴随着GPS位置变化。
如果使用遥测日志,可以查看GPS_RAW_IT组的“ eph”和“ satellites_visible”值。低于150的Hdop值是好的,超过200的Hdop值可能表明位置不好。
有关在GPS异常严重的情况下无人机如何切换到非自主模式的更多详细信息,请参见EKF故障安全 Wiki页面。
五、电源问题(电压不足等)
电源模块可为飞控提供可靠的电源,但偶尔还是会出现电源不足的情况。通常可以通过在无人机仍处于空中时突然结束的日志来识别(即,气压计或EKF高度仍在报告无人机的高度远高于零)。
查看以下曲线:
-
数据闪存日志中 CTUN Alt (home点高度) 或则 BAlt (气压计高度)
-
数据闪存日志中 GPS Alt (海拔高度)
-
遥测日志中 VFR_HUD alt (加速度计和气压计的组合高度)
-
遥测日志中 GLOBAL_POSITION relative_alt (home点高度)
-
飞控板电压的变化也可能是电源问题的迹象。0.10至0.15伏的变化是正常的。除此之外,这还可能表明其他与飞控共享电源的设备正在引起电源中的纹波,从而可能导致电源不足。查看电路板电压可以使用以下图表:
-
数据闪存日志中的 POWR消息的VCC
-
遥测日志汇总HWSTATUS的Vcc
-
下图中显示了在调高油门时板电压会下降0.15V。通常这不是一件好事,但是因为它只有0.15V,所以可能还可以。下面的第二张图(来自不同用户日志的数据闪存图)显示了非常稳定的电压,纹波小于0.1V。
六、意外错误失控保护
当飞控发生意外错误时(尤其是当用户抱怨无人机不再响应其输入时),这通常是由触发失控保护(failsafe)之一引起的。
查找这些内容的最简单方法是查看数据闪存日志,并通过“ ERR”过滤第一列。使用MP软件可以看到 错误会以红色标记显示在图形区域顶部。
其中:Subsys(又称子系统)提供了产生错误的区域,ECode(又称错误代码)会告诉您具体是什么错误。子系统列表和错误代码可在AP_Logger库AP_Logger.h文件中找到。
Subsys | ECode and Description |
2 = Radio |
|
3 = Compass |
|
5 = Radio Failsafe |
|
6 = Battery Failsafe |
|
8 = GCS Failsafe |
|
9 = Fence Failsafe |
|
10 = Flight mode Change failure | Vehicle was unable to enter the desired flight mode normally because of a bad position estimate See flight mode numbers here for Copter, Plane modes here, and Rover modes here |
11 = GPS |
|
12 = Crash Check |
|
13 = Flip mode | 2 = Flip abandoned (not armed, pilot input or timeout) |
15 = Parachute |
|
16 = EKF Check |
|
17 = EKF Failsafe |
|
18 = Barometer |
|
19 = CPU Load Watchdog |
|
20 = ADSB Failsafe |
|
21 = Terrain Data | 2 = missing terrain data |
22 = Navigation |
|
23 = Terrain Failsafe |
|
24 = EKF Primary changed |
|
25 = Thrust Loss Check |
|
26 = Sensor Failsafe (Sub) |
|
27 = Leak Failsafe (Sub) |
|
28 = Pilot Input Timeout Failsafe (Sub only) |
|
29 = Vibration Failsafe |
|
版权声明:本文标题:Pixhawk飞行日志教程---使用日志诊断问题 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1727799458a1130653.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论