iNav开源代码之严重炸机 -- 紧急降落
1. 源由
之前在iNav开源代码之严重炸机 – 危险隐患中,已经做了初步的分析,并且将重点怀疑的方向放到了Emergency Landing阶段。
通过iNav代码初步的FAILSAFE
状态图,详见(iNav开源代码之严重炸机 – FAILSAFE),状态机也会跑到Emergency Landing。
经过iNav官网讨论:
- What will happen, when RC & GPS signal lost? – inav 6.1.1 #9167
- what will happen in emergency landing when fail throttle set to 1000 with airmode enabled? #9181
分析虽然缩小的范围,但基于上述数据尚无法给出明确的结论。同时开源社区,缺少仿真环境、人力的情况下,尚未得到有效的问题分析结论。
为了进一步缩小问题范围,本章节将跟进测试紧急降落功能。
2. 设置步骤
Step 1:iNav6.1.1配置一致性确认
根据iNav开源代码之H743+BMI270x2配置适配,确认相关配置项,确保一致性。
Step 2:去使能GPS功能
Step 3:设置FAILSAFE
使用LAND功能
failsafe_throttle
= 1150
Step 4:设置RC通道使能FAILSAFE
功能
Step 5:设置一个高度保持功能
为了更好的可控跌落,设置一个高度保持(因为没有GPS,所以无法位置保持)。
3. 试飞测试
3.1 测试步骤
- 寻找一个开阔可控测试区域
- 使用高度保持功能,悬停到测试位
- 触发
FAILSAFE
按照实验预测,两种情况:
- 快速,姿态可控跌落
- 出现翻滚跌落(与远航炸机一致)
3.2 测试视频
iNav 6.1.1 Emergency Landing Test failsafe
3.3 测试结果
经过三次测试,结果一致表明,Emergency Landing会出现翻滚不可控跌落。
4. 分析
- 高度保持切换
FAILSAFE
(LAND) - 油门被iNav重置为零
- 【异常】gyro(Pitch/Roll/Yaw)突然重之前的~1度增大到~35
- 【异常】gyro(Pitch/Roll/Yaw)进一步增大,感觉已经超出边界
- 【异常】油门增加到~57%(为了稳定飞控????)
- gyro数据已经归零,但是电机有动啊,应该有震动(可能已经坠地了,不再发生变化???)
- 已经掉地上了,而且出现了非常奇怪的现象,一直在动,没有感知到触地
8. 在电池没有拔掉,飞控未重启情况下,起飞直接翻跟斗;且gyro数据无变化。
后续进一步的讨论,请跟踪Emergency landing tumbled crash? – inav 6.1.1 #9183
5. 参考资料
【1】iNav开源代码之严重炸机 – 危险隐患
【2】iNav开源代码之严重炸机 – FAILSAFE
【3】iNav开源代码之H743+BMI270x2配置适配
【4】What will happen, when RC & GPS signal lost? – inav 6.1.1 #9167
【5】what will happen in emergency landing when fail throttle set to 1000 with airmode enabled? #9181
【6】Emergency landing tumbled crash? – inav 6.1.1 #9183
6. 补充测试
经过重新上电后,飞行正常!
【第一次严重丢机后续】正常飞,操作很灵活,无任何问题