The landing target is sent in a coordinate frame ArduPilot does not accept
What ArduPilot says:
- Plnd: Frame not supported
A companion computer sends the landing target's position (LANDING_TARGET with position_valid set) in a coordinate frame that ArduPilot does not accept: here only MAV_FRAME_BODY_FRD is, which means forward, right and down from the aircraft. The messages are ignored, so precision landing sees no target. The line is sent once, not for every message.
What to do, most likely first
The program on the companion computer fills in another frame, or leaves the frame field at 0.
CheckLook at the frame field of the
LANDING_TARGETmessages in the ground station's MAVLink inspector.FixChange the program to send the target relative to the aircraft's body, as
MAV_FRAME_BODY_FRD, and test on the bench (props off) that the line no longer appears.
4.7 is stricter than 4.6, which checked the frame only of messages that carry a position: a program that worked on 4.6 by sending angles with the frame left at 0 is refused after the upgrade.
Parameters to look at
| Parameter | What it is |
|---|---|
PLND_TYPE | Precision Land Type |
PLND_ENABLED | Precision Land enabled/disabled |
The code that sends it
Plnd: Frame not supported
libraries/AC_PrecLand/AC_PrecLand_Companion.cpp AC_PrecLand_Companion::handle_msg() · Open in ArduPilot Copter-4.6.3
libraries/AC_PrecLand/AC_PrecLand_MAVLink.cpp AC_PrecLand_MAVLink::handle_msg() · Open in ArduPilot Copter-4.7.1