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 |