We have now four main local frames in MAVLink:
- LOCAL_NED,
- LOCAL_OFFSET_NED,
- BODY_NED,
- BODY_OFFSET_NED.
Unfortunately, description of these frames in MAVLink itself is not very clear. APM docs say:
In frames, _OFFSET_ means “relative to vehicle position” while _LOCAL_ is “relative to home position” (these have no impact on velocity directions). _BODY_ means that velocity components are relative to the heading of the vehicle rather than the NED frame.
Everyone agrees on this definition? What's with positions in BODY_NED? Same docs say:
BODY_NED: Positions are relative to the vehicle’s home position in the North, East, Down (NED) frame. Use this to specify a position x metres north, y metres east and (-) z metres above the home position. Velocity directions are relative to the current vehicle heading. Use this to specify the speed forward, right and down (or the opposite if you use negative values).
It seems quite inconsistent to use different heading in one frame for positions and velocities, isn't it?
The most confusing part, though, is _NED as part of BODY_OFFSET_NED, which is, as I understand, never really mean NED.
We have now four main local frames in MAVLink:
Unfortunately, description of these frames in MAVLink itself is not very clear. APM docs say:
Everyone agrees on this definition? What's with positions in BODY_NED? Same docs say:
It seems quite inconsistent to use different heading in one frame for positions and velocities, isn't it?
The most confusing part, though, is
_NEDas part ofBODY_OFFSET_NED, which is, as I understand, never really mean NED.