Estimator state horizontal position stuck at zero during flight (index 7 and 8)

Hello PX4 community,

I’m trying to monitor the state of the estimator and the associated covariance values over time to better understand its behavior during flight.

I’m currently observing something I don’t understand:
In the estimator_states message, the horizontal position states (index 7 and 8) remain constant at 0 during the entire flight, even though the vehicle is clearly moving.

Index 9 (z) is perfect…

Interestingly, these states are not being rejected by the filter, as shown in the attached screenshot (see below). I also verified that the EKF is running, and the state estimation seems active in other dimensions.

Here is what I’ve checked so far:

  • I’m using PX4 version PX4 version: 1.16.0 c0 (17825984)

  • I checked estimator_status_flags and no relevant rejection flags are set

  • The position estimate vehicle_local_position (so output of the ekf2…) looks perfect and tracks the motion

What could explain this behavior?
Is there a reason the internal estimator state for horizontal position (index 7, index 8) would be held at zero despite apparent movement and no filter rejection?

Thanks in advance for your help!

I’m seeing the same thing and am curious about this as well

Any chance you post the link to the log in flight review? Thanks.

Thanks for your answers.

@rroche Here are the logs in flight review :

Hi, the EKF now stores its position in curvilinear coordinates (i.e.: latitude/longitude). The North-East states are only there because they are generated by the derivation, where the position uncertainties are defined in the tangent NED navigation frame.

You can see that here the NED position corrections are added to _gpos (“LatLonAlt += NED” operator is defined here), which is actually the global position state. Local position is then only computed at the output of the filter by projecting this global position using a reference coordinate (see here).

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.