之前一直使用relsense d435的vio代码生成的pose位置信息,飞控端位置信息比较稳定。更换livox-mid360使用fastlio代码后,飞控端经常出现位置模式下莫名报黄不能解锁和跳出位置模式的情况。
原因:外部输入的位置定位和px4加速度计估计的差别挺大,导致EKF2融合会出现延迟。尤其是在飞机急停或者转弯,px4实际融合的位置会延迟或者超调。大部分帖子给出的解决方式都是通过log分析视觉姿态和飞控姿态的时间差,通过调整ekf2_ev_delay来解决问题。 但是经过测试并没有根本上解决问题
经过摸索发现,机载端的激光lio数据相对于vio数据毛刺和跳变会更多一些。尤其是四元数部分激变会更多一些,那么问题的解决需要在飞控端的ekf融合解算上做修改来适应激光lio的变化。
快速旋转时飞控黄色报警,修改EKF2_EVA_NOISE
快速移动时飞控丢失位置,修改EKF2_EVP_NOISE EKF2_EVV_NOISE