Ціль для посадки надсилається в системі координат, якої ArduPilot не приймає
Що пише ArduPilot:
- Plnd: Frame not supported
Бортовий комп'ютер надсилає позицію цілі для посадки (LANDING_TARGET зі встановленим position_valid) у системі координат, якої ArduPilot не приймає: тут приймається лише MAV_FRAME_BODY_FRD, тобто вперед, праворуч і вниз від апарата. Повідомлення ігноруються, тож точна посадка цілі не бачить. Рядок надсилається один раз, а не на кожне повідомлення.
Що робити: найімовірніше спершу
Програма на бортовому комп'ютері вказує іншу систему координат або лишає поле системи координат рівним 0.
ПеревіртеПодивіться на поле frame повідомлень
LANDING_TARGETв інспекторі MAVLink наземної станції.ВиправтеЗмініть програму, щоб вона надсилала ціль відносно корпусу апарата, як
MAV_FRAME_BODY_FRD, і перевірте на столі (пропелери зняті), що рядок більше не з'являється.
4.7 суворіший за 4.6, який перевіряв систему координат лише в повідомленнях із позицією: програма, що працювала на 4.6, надсилаючи кути з полем системи координат, рівним 0, після оновлення отримує відмову.
Параметри, на які варто глянути
| Параметр | Що це |
|---|---|
PLND_TYPE | Precision Land Type |
PLND_ENABLED | Precision Land enabled/disabled |
Код, який це надсилає
Plnd: Frame not supported
libraries/AC_PrecLand/AC_PrecLand_Companion.cpp AC_PrecLand_Companion::handle_msg() · Відкрити в ArduPilot Copter-4.6.3
libraries/AC_PrecLand/AC_PrecLand_MAVLink.cpp AC_PrecLand_MAVLink::handle_msg() · Відкрити в ArduPilot Copter-4.7.1