Closed garlinplus closed 3 years ago
The initial quaternion covariance is large enough to represent the tilt accuracy after the coarse alignment made using the accelerometer (including some potential sensor bias). The fine alignment is performed using a "quasi-stationary alignment" technique by fusing a synthetic (i.e.:"fake") position update with a small error (std dev of 0.5m). It takes some time (almost 7 seconds as you said) because everything is tuned to be robust to work on all platform and all hardware without issues. The fine alignment time can be reduced by tailoring the tuning to your own setup and use case. We're also planning to add a "Zero Velocity Update (aka: ZVU)" logic to speed up the initial convergence of the estimator in stationary conditions.
aternion covariance is large enough to repr In reality, ekf2 has a fake position fusion.It assume robot is not moving to estimate attitude. can it be used to replace the "zero velocity update" to accelerate the tilt time?
The initial quaternion covariance is large enough to represent the tilt accuracy after the coarse alignment made using the accelerometer (including some potential sensor bias). The fine alignment is performed using a "quasi-stationary alignment" technique by fusing a synthetic (i.e.:"fake") position update with a small error (std dev of 0.5m). It takes some time (almost 7 seconds as you said) because everything is tuned to be robust to work on all platform and all hardware without issues. The fine alignment time can be reduced by tailoring the tuning to your own setup and use case. We're also planning to add a "Zero Velocity Update (aka: ZVU)" logic to speed up the initial convergence of the estimator in stationary conditions.
I tuned initialized parameters and it tilt error only need 4s to convergente.
If you know that the drone won't move during boot, you can reduce the measurement noise of the fake position fusion, this would also reduce the tilt alignment convergence time: https://github.com/PX4/PX4-ECL/blob/098d5ce5c034f630b1b440a02ba78a13d092b8c7/EKF/control.cpp#L1308
Yes,you are right!
ekf2 tilt align cost time too long about 7s. Is the init covariance too big wo make it's angle error covergente slowly?