Visual odometry (Optitrack) received at 60 Hz but EKF uses only 2 Hz updates

Hi everyone,

I’m running PX4 indoors with GPS disabled. I’m sending Optitrack data (position + attitude) at 60 Hz from a Raspberry Pi Zero connected via serial GPS 2 JST to a Pixhawk 6C Mini.

In the PX4 logs, I can clearly see vehicle_visual_odometry published at 60 Hz, so the data arrives correctly.
However, the EKF only uses updates at about 2 Hz (estimator_aid_src_ev), even though the measurements are never rejected.

Here are my relevant parameters:

EKF2_EVA_NOISE 0.1
EKF2_EVP_GATE 5
EKF2_EVP_NOISE 0.1
EKF2_EVV_GATE 3
EKF2_EVV_NOISE 0.1
EKF2_EV_CTRL 11
EKF2_EV_DELAY 100
EKF2_EV_NOISE_MD 1
EKF2_EV_POS_X 0
EKF2_EV_POS_Y 0
EKF2_EV_POS_Z 0
EKF2_EV_QMIN 0

The tracking is OK but slow.

Thanks!

I know that

@bresch worked on the estimator

Hi, the estimator_aid_src topics are logged at 2Hz, it doesn’t mean that the data is fused at 2Hz. You can change this line if you want higher rate logging: PX4-Autopilot/src/modules/logger/logged_topics.cpp at 73ee098a2571865757ecda0be6090d2a6477e17c · PX4/PX4-Autopilot · GitHub

1 Like