Does the stock EKF for ArduCopter 3.2 behave well in GPS-denied environments? Can I rely on it detecting bad GPS itself or, since I know GPS will be bad, would it be better to crank up the noise parameters ahead of time?
All I’m really looking for is a relative position estimate over a short time frame that is better than just integrating the IMU values. The webpage overview of the EKF is unclear about wether or not the EFK is using a model of the quadcopter dynamics or just a naive double integrator.
I’ll ask Paul to address your more in-depth questions.
But in the meantime, my recommendation is to disconnect the GPS anytime you are flying indoors. The problem is not the EKF so much as it is the other systems that rely on it. Several people who have flown indoors with the GPS connected, have had GPS glitches cause them to RTL into the ceiling. We are working on an indoor mode for 3.3.
The EKF in the current release is not designed to operate in GPS denied environment and will not start unless the GPS has a 3D lock.
The EKF does check the GPS for consistency against the inertial data and will reject if if too large, however it can only do so for up to 10 seconds as the low grade inertial sensors rely on GPS aiding.
You can experiment with increasing the GPS noise parameter, but bear in mind that if you do the GPS will be less likely to reject bad GPS data unless you also reduce the size of the corresponding gates.
The EKF is designed to work with a wide range of platform types (Rover, Plane, Copter) so it does not incorporate a dynamic model of the Copter.
We are working on an optical flow addition to the EKF (which will require you to have PX4Flow and range finder) sensors fitted. That will provide the GPS denied relative position estimate you are looking for. If you have the required sensors, are interested in assisting with testing and prepared to risk your hardware flying development code, you can head across to the optical flow thread in the dev forum here:
groups.google.com/forum/#!topic … qgXeojbiZU[176-200-false]
The optical flow mods are now in the current master so you don’t need to compile code to test them.
Thanks for the information.