Система UWB-посадки обеспечивает определение положения дрона относительно площадки и передачу этих данных автопилоту через сообщение MAVLink 2 LANDING_TARGET.
Основные компоненты системы:
LANDING_TARGET.LANDING_TARGET и использует данные для режима Precision Landing.uwb_landle.service./home/uwblandle/configs/config.json.UWB_READER_CONFIG, содержащее его основные настройки и параметры работы.TIMESYNC с каждым ридером для выравнивания временной базы.HEARTBEAT, предназначенными для контроля состояния связи и обнаружения потери соединения.UWB_SITE_STATUS со статусом активного сайта.HEARTBEAT и TIMESYNC продолжается для обеспечения стабильной связи и корректного времени.UWB_RANGE, содержащие идентификаторы реперов, измеренные дистанции, RSSI и временные метки, и передаёт их в LE.UWB_RANGE от всех ридеров, объединяет их и вычисляет координаты дрона в СК NED.Синхронизация времени.
LE выполняет обмен сообщениями TIMESYNC с автопилотом для согласования временной базы и минимизации задержек.
Параллельно продолжается обмен HEARTBEAT с ридерами для контроля состояния каналов связи.
Приём данных ориентации.
LE принимает от автопилота сообщения ATTITUDE_QUATERNION_COV и HIGHRES_IMU.
Эти данные объединяются с результатами UWB-позиционирования для расчёта положения дрона относительно площадки.
Формирование результатов.
На основе объединённых данных формируется сообщение LANDING_TARGET с координатами в СК FRD, которое передаётся автопилоту по MAVLink для использования в режиме Precision Landing.
while service_active:
receive_HEARTBEAT() # мониторинг ридеров
receive_UWB_RANGE() # измерения от ридеров
compute_position_NED() # расчёт координат по UWB
read_ATTITUDE_QUATERNION() # ориентация дрона
transform_to_FRD() # преобразование координат NED → FRD
send_LANDING_TARGET() # передача автопилоту
monitor_links_and_time() # контроль TIMESYNC и состояния каналов
| Сценарий | Реакция LE | Действие автопилота |
|---|---|---|
| Потеря связи с ридером > 1 с | ридер помечается как неактивный | работа по оставшимся ридерам |
| Потеря всех ридеров | приостановка LANDING_TARGET | переход в Loiter или Resume GPS |
| Потеря TIMESYNC | предупреждение, переход на внутренние таймеры | возможный дрейф времени |
| Ошибка HEARTBEAT | предупреждение в журнале, флаг «degraded» | без действий |
| Нарушение формата сообщений | запись ошибки, сброс UART-порта | без действий |
| Параметр | Значение | Комментарий |
|---|---|---|
| Частота измерений UWB | 8 Гц | типовое значение |
Частота LANDING_TARGET | 20 Гц | |
| Средняя задержка LE → FCU | ≤ 5 мс | при нормальной нагрузке |
| Тайм-аут данных UWB | 1 с | после чего передача останавливается |
Интервал TIMESYNC | 500 мс | двусторонняя синхронизация LE ↔ автопилот |
Интервал HEARTBEAT | 1 с | диагностика каналов и отклик ридеров |
/home/uwblandle/logs/uwb_landing_system.<дата>.log.Раздел 5 описывает инициализацию и рабочие процессы системы, механизмы синхронизации, интеграцию с автопилотом и обработку ошибок.