add eigen check and kalman filter