You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When flying with the VL53 time of flight sensor facing down and the EKF (see #174), the EKF is trying to correct roll and pitch even though there is not information available for X and Y.
Another problem is that the velocity output of the EKF has a drift which makes the Crazyflie slowly go down.
The first problem could be solved by decoupling X,Y,PX and PY states from the EKF like so:
# Pseudo code by Mike Hamerforiin [STATE_X, STATE_PX, STATE_YandSTATE_PY]:
# set all covariances 0forjinALL_STATES:
S[i][j] =0# set state variance maximumP[i][i] =MAX_COVARIANCE# set state zeroX[i] =0
The text was updated successfully, but these errors were encountered:
Helps flying manually with a ranging sensor for only Z. Can
be enabled by adding in config.mk:
ESTIMATOR=kalman
CFLAGS += -DUPDATE_KALMAN_WITH_RANGING -DKALMAN_DECOUPLE_XY
The commit 2b0958d implements the pseudo-code from @mikehamer and it works fine. It is still implemented as a compile flag and might need to be done automatically in the future (like disabling X/Y/Z by default and enabling them only if some meaningful sensor update enters the EKF).
When flying with the VL53 time of flight sensor facing down and the EKF (see #174), the EKF is trying to correct roll and pitch even though there is not information available for X and Y.
Another problem is that the velocity output of the EKF has a drift which makes the Crazyflie slowly go down.
The first problem could be solved by decoupling X,Y,PX and PY states from the EKF like so:
The text was updated successfully, but these errors were encountered: