Jason, Leonard and I have been dicussing the new nav controllers a bit and the question of axis conventions has come up.
Traditionally our navigation code has all be lat-lon-alt based but the new inertial navigation (including the AP_InertialNav lib, throttle, loiter and waypoint controllers) are currently NEU. In
aerospace NED is the most common convention so we should move to use that.
..but for communicating with the ground station and user, the lat-lon-alt is still the most easily understood method. So after the change, what you will see is the code internally will use 3D vectors for representing position, velocity or acceleration and these will always be in NED. At touch points with the groundstation you will use Location structures (lat-lon-alt) or accessor functions will be provided so you can get the lat, lon or alt in a human/groundstation recognizable format.
This change is fairly significant and we only want to do it once so we will make this change after we merge the library based loiter + wp controllers that leonard and I have been working on into master (if you want to see what the new library looks like you can find it in the rmackay9-ardupilot clone's wpnavlib branch).
For reference
here's the wiki page re axis conventions:
All feedback welcome!
-Randy