Precision Landing

Copter, QuadPlane and Rover support precision landing using the LANDING_TARGET mavlink message

References:

Users should follow the user precision landing wiki page including setting PLND_TYPE = 1 (MAVLink)

The external camera system should send the LANDING_TARGET message to the autopilot at no less than 1hz (a higher rate is better).

If the x (e.g. forward), y (e.g. right) and z (e.g. down) distance to the target is known (in body frame) then “x”, “y” and “z” fields should be populated, and “position_valid” should be set to “1”.

If only the body-frame angle to the target is known then “angle_x” and “angle_y” fields should be populated and “position_valid” should be set to “0”.

Field Name Type Description
time_usec uint64_t Timestamp since system boot. This does not need to be syncronised with the autopilot's time
target_num uint8_t not used
frame uint8_t MAV_FRAME_BODY_FRD (12)
angle_x float X-axis angular offset (in radians) of the target from the center of the image
angle_y float Y-axis angular offset (in radians) of the target from the center of the image
distance float Distance (in m) to the target from the vehicle or 0 if unknown
size_x float not used
size_y float not used
x float x position of the landing target in meters (e.g. forward in vehicle body-frame)
y float y position of the landing target in meters (e.g. right in vehicle body-frame)
z float z position of the landing target in meters (e.g down in vehicle body-frame)
q float[4] not used
type uint8_t not used
position_valid uint8_t 0 if angle_x, angle_y should be used. 1 if x, y, z fields contain position information