Maximum value EKF2_EV_DELAY

Hi everyone,

I am using a Pixhawk 2.1 Cube flight controller running PX4 1.8.2 on a Tarot 680. We are using the vision estimator where I provided a position (geometry_msgs/poseStamped) into the vision_pose/pose topic of mavros.

Results were ok, but while using the system-wide replay for the EKF2. I realized the estimation would be perfect with EKF2_EV_DELAY = 525ms.

I had 2 questions concerning the EKF2_EV_DELAY parameters.

  1. I’ve followed the ekf2_ev_delay tuning section of the documentation. Following the guide, I would need an approximate parameters of 425 ms, which is bigger than the maximum allowed by QGroundControl. Why is the buffer limited to 300 ms? Is it a RAM limitation? Would it be dangerous to allow a longer buffer? (See first log)

  2. Second question, my vision position and estimator are synchronize,but it seems like my local position (fusion of the data) is delayed in time of a couple of hundred of ms? Why is my local position late from my estimator and SLAM data?

Here’s a picture of the estimation at 300 ms (EKF2_EV_DELAY)

Here’s a picture of the estimation at 525 ms (EKF2_EV_DELAY)

Log 1 :
Log 2 :

Does anybody had that problem? Anyone can help with the tuning of EKF2 (documentation, solution, etc…)

Thank you