iNav开源代码之严重炸机 -- 危险隐患
1. 源由
航模炸机,无人机炸机在现实生活中并不少见。正因为如此,航模也好,无人机也罢,才需要更加注意安全。
本次炸机是相对来说比较复杂的,或者说“水很深”的场景。为什么这么说呢,大致源由有以下几点:
- 固件iNav是最新的6.1.1 (稳定版本)
- 前期进过多轮验证:开关触发RTL、遥控关机触发RTL
- 现场情况复杂
a) 遥控信号丢失
b) GPS信号丢失
c) 工作信号发射塔台附近(~100米)
正如大家看到的很多空难事件一样,都是多因素导致的坠机。不管何种原因,从中吸取教训才能更加安全的飞行。
2. 回顾
为了更好的理解炸机原因,并未后续安全飞行提供更好的保障和经验。
整体回顾本次远航飞行全过程:
2.1 远航配置 – RTL验证
主要目的是为了检查固件配置RTL功能是否能正常工作。
注:配置信息,详见iNav开源代码之H743+BMI270x2配置适配。
iNav 6.1.1 Mark4 RTH & Radio Failsafe
2.2 本地试飞 – 机械/结构测试
主要目的是为了检查桨叶安装牢固程度,天线(VTX/RC)、基本操控(俯仰/翻滚/RTL等)功能是否正常。
iNav Mark4 马家坞观景平台首飞
2.3 远航试飞
基于2.1/2.2,认为基本适合远航。
注:基本测试并非完全测试,所以实际飞的时候,还是会出现各种情况。
0:36 [OSD Normal]完成RTL返航指示标识确认,工作正常
2:02 [OSD Normal]从起飞开始一直直线爬升,LOS不存在遮挡问题
2:03 [OSD Normal]开始回头,180度转弯
2:08 [OSD RXLOSS] 遥控信号丢失后,开始进入RTL状态
2:10 [OSD GPS zero stars] GPS信号丢失,维持5秒状态
2:16 [OSD FS Emergency]油门显示归零,开始紧急降落,并出现旋转
2:17 [OSD FS RTL]卫星数为零,但是OSD似乎还在显示“RTL”提示
2:19 [OSD FS Emergency]GPS 9颗星恢复,持续旋转
2:20 [OSD acro Emergency landing]GPS 15颗星恢复,持续旋转
2:21 [OSD acro]可能为了尝试切disarm碰到了RC摇杆,导致退回acro模式
2:21 [OSD Lost]撞到树林, VTX图传信号丢失
iNav Mark4 lost RC & GPS signal, Emergency landing crash
3. 初步分析
- 飞机坠落在树枝上,整体完整(无缺失/损坏等)
a) 桨叶螺母未见松动
b)桨叶未见缺失和损坏
c)电池仍然上电状态,且能BB响蜂鸣
- GPS 工作正常
- 磁力计工作正常
- 四个电机转向正常
- 事后首飞操控正常
- iNav详细配置信息
4. 现象分析
集合#2和#3章节,异常出现于“Emergency Landing”时,模型出现了翻滚,无法控制姿态。
整个过程有以下几个疑点:
- 当RTL进入Emergency Landing后,开始出现翻滚(虽然油门为零,但是airmode应该能保证自身姿态)?
- 当模型进入翻滚时,OSD上显示的Pitch/Roll始终为0.0~0.2左右变化,此时,似乎gyro无法感知翻滚状态?
- 当RTL进入Emergency Landing后,为什么仍然会在OSD上刷RTL提示?
5. 初步怀疑
经过初步分析和讨论,目前比较怀疑的方向大致有两点:
- gyro是否会受到来自三个天线发射塔的微波干扰?
- 程序逻辑是否会存在RTL与Emergency Landing两种模式之间的干扰?
可能有几个方法进行逻辑验证:
- 现在再飞,看是否gyro受到微波干扰(有炸机风险)
- 通过模拟仿真进行GPS/RC信号丢失的模拟复现,看是否存在程序上两种飞行模式之间的干扰
关于这个后续问题分析跟进,请有兴趣的朋友关注参考链接【1】。
2023-10-09更新 - 最终问题原因: Emergency landing tumbled crash? – inav 6.1.1 #9184
6. 参考资料
【1】What will happen, when RC & GPS signal lost? – inav 6.1.1 #9167
【2】iNav开源代码之H743+BMI270x2配置适配
7. 附录 - 寻机过程
这里补充下我寻找飞机的过程。
实际上一开始丢了以后,感觉能找回来的希望不大。
那个位置虽然大概是知道,但是要在山上树林里面找飞机,是比较麻烦的。另一个原因是当时我眼镜回放不了,看不到最终的GPS位置,所以只能凭感觉去找。
- 实际找到飞机的位置是在最终落点上,就是炸机最后影响获取到15颗卫星的位置。
- OSD轨迹是根据飞机OSD上显示的坐标绘制的轨迹路线。
幸运的是最终落点距离游步道不是很远,能直接听到BB响的声音,我循着声音就发现了飞机在树上的位置。