理念2:一个简单评价工程师的方法:定位bug的能力
找bug比较简单,定位才难,就像你在家看跳水比赛一样:看似简单,实际上需要很多知识和经验。
举例3:系统性问题
英雄的云台出现零点附近的突然换向,在经验不足的队员看来就是嵌入式的问题,如果嵌入式队员也是经验不多的队员,就会被甩锅,在嵌入式debug时会发现在靠近中间位置时,电机突然会脱离系统旋转一定角度,是因为机械D型槽顶丝松动导致。
举例4:步兵的云台出现开启摩擦轮时云台会抖动,不开摩擦轮一切正常,debug发现在摩擦轮开启时云台会受一个周期性的力矩,这个力矩是两个摩擦轮的转速差异导致的。而该力矩的频率与云台结构的固有频率相近导致共振,并被IMU放大,导致云台宏观上周期震动,对IMU的计算结果使用低通滤波解决。(就像天线上挂块人肉就能解决信号不好的问题)
举例5(可以分一分):步兵在换了新结构后云台日常震动,看着很难受,在确定两级PID代码都没有问题的时候开启debug模式,对位置环使用不同频率的正玄波进行测试,在查看50hz附近的结果的过程中发现IMU传感器周期性发生突变的现象。最终发现是因为新结构中轴承与云台间连接不紧密导致微小震动,震动传到了固连在云台上的IMU模块造成了IMU角速度突变导致的控制不收敛现象。(本可以拍一拍就解决的问题非要这么麻烦)
总结:一个问题并不是一个点引起的,会涉及多个错误的叠加,比如机械-机械的错误叠加(嵌软是不可能出bug的,这辈子都不可能的,只能靠甩给机械才能维持生活这样子) |