问题:我遭遇了玄学问题,出现飞机在起降过程中,位置晃动,突然出现的,昨天还好好的,位置地点都没换,今天中午测试了5、6次每次都这样,现在茫然无措,小哥救我?
这里给出玄学问题的通用解决路径,首先我们举例说明哪一类问题属于玄学,在本例中用户的无人机前后表现不一,后面的表现是无人机基本属于临界崩盘状态,根据视频显示无人机在原地起飞的过程中,无人机的水平位置出现了缓慢钟摆式的来回晃动,根据以往经验主要考虑是控制参数、动力不足、电调行程不一致、机架水平校准误差大或者雷达建图部分等问题,但是按照客户反馈,前后什么都没干,客户给的结论就是东西放一晚上就崩了。
这里我们可以总结出此类玄学问题:我自认为没做错什么,所有的操作都是合规的,但是东西就是莫名奇妙的出故障了。
回到本例中来看,考虑当时电赛已经非常紧急,所以首选的方案是先下载我们提供的原始程序,恢复出厂设置后,进行一系列的校准,如电调行程校准、机架水平校准、遥控器行程校准。
-
之所以要恢复出厂设置是排除掉控制参数问题,客户自组飞机动力参数基本和样机一致,故即使使用默认参数就不会出现视频中的摇摆现象,有可能是客户不经意间将参数写错了或者是换了一块别人用过的核心板,旧的核心板里面的控制参数并不是合适的,用户认为下载了程序就行,实际用的参数还是原来核心板中eeprom的参数。
-
其次恢复出厂设置后,对电调行程校准,这点可以有效解决电调行程不一致问题
-
同时在校准机架水平/加速度计操作过程中,正确的规范的操作下能解决机架水平校准误差大的问题
-
再者用户在恢复出厂设置后的整个校准过程中,能验证硬件是否有故障或者飞控的某些设置是否不正确。
本例中用户在恢复出厂设置并校准完成飞控设置后,客户反馈无人机能够重新复活。虽然我们并没有排除出之前出问题具体到底是上面列举出的哪一项或哪几项,亦或者还有其他的未知可能,原因似乎变得没那么重要了。考虑用户是临时自己装了新机出现的问题,所以较大的可能是该用户用了一块旧的TIVA核心板,并且eeprom没有清空的原因。
最后我们总结出此类玄学问题的通解是:
-
下载原始出厂代码,飞控恢复出厂设置,凡是更新了代码版本更换了飞控硬件都需要恢复出厂设置;
-
高标准、高规范的完成一系列校准,检查对地测距传感器型号、室内定位传感器类型是否设置正确;
-
排查是否存在硬件故障,如电机、电调是否能正常工作;
-
观察传感器数据如加速度计、陀螺仪、气压计、对地测距传感器、SLAM定位、机器视觉传感器数据是否正常;
-
手动操作遥控器,验证无人机是否能实现基本的定高、定点飞行,目的是确认你的无人机基本的飞行功能;
-
验证SDK自主飞行,以SDK任务中case 0自定义轨迹飞行任务为例;
以不变应万变,玄学并不可怕,相信自己能解决玄学问题,有时逐一排查定位很难且耗时,没有捷径的时候要用笨功夫可将各路牛鬼蛇神一网打尽。
虽然最后问题得以解决,但是问题的根源还是没有明确地定位到,答案依然还是“玄学”,实乃用魔法打败魔法。