You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
Version 1
Current »
9. Настройка взаимодействия с автопилотом
9.1. Общая архитектура взаимодействия
- Подключение LE к автопилоту CUAV X7+ Pro осуществляется через интерфейс UART4 Raspberry Pi 4 B, соединённый с портом TELEM3 автопилота.
- Используется протокол MAVLink 2 (v2 only).
- Обмен двусторонний:
- от автопилота к LE:
ATTITUDE_QUATERNION, HIGHRES_IMU, TIMESYNC; - от LE к автопилоту:
LANDING_TARGET и команды MAV_CMD_SET_MESSAGE_INTERVAL для установки частоты передачи.
- LE использует полученные данные для расчёта ориентации и передачи в автопилот координат цели посадки.
9.2. Подключение и электрические параметры
| Компонент | Интерфейс | Соединение | Примечание |
|---|
| Raspberry Pi LE | UART4 (/dev/ttyAMA4) | TELEM3 (CUAV X7+) | Уровни 3.3 В |
| Скорость обмена | — | 115200 baud | Без аппаратного управления потоком |
| Формат кадра | — | 8 N 1 | — |
9.3. Настройка параметров автопилота
Параметры автопилота задаются через Mission Planner → Config → Full Parameter List:
| Параметр | Значение | Назначение |
|---|
SERIAL3_PROTOCOL | 2 | MAVLink 2 |
SERIAL3_BAUD | 115 | 115200 baud |
SERIAL3_OPTIONS | 2 | Режим MAVLink v2 only |
PLND_ENABLED | 1 | Включить прецизионную посадку |
PLND_TYPE | 1 | Использовать внешний датчик (MAVLink) |
PLND_EST_TYPE | 0 | Использовать данные внешнего устройства |
PLND_LAG | 0 | Без задержки |
PLND_XY_DIST_MAX | 0 | Максимальное допустимое смещение = 0 м |
9.4. Конфигурация на стороне LE
Фрагмент секции "uav" файла /home/uwblandle/config/config.json:
"uav": {
"transport": {
"type": "serial",
"serial": {
"device": "/dev/ttyAMA4",
"baudrate": 115200,
"flow_control": false,
"receive_timeout_ms": 1000
}
},
"mavlink": {
"expected_system_id": 1,
"expected_component_id": 1
},
"message_filter": {
"enabled": true,
"allowed_message_ids": [31, 32, 105, 111]
},
"heartbeat": {
"interval_ms": 1000,
"enabled": true
},
"message_request": {
"interval_ms": 1000,
"enabled": true,
"requested_messages": [
{ "message_id": 31, "rate_hz": 20 },
{ "message_id": 105, "rate_hz": 20 }
]
}
}
"message_request" — формирует команды MAV_CMD_SET_MESSAGE_INTERVAL для запроса требуемого темпа сообщений."message_filter" — фильтрует входящие MAVLink-пакеты, оставляя только необходимые."expected_system_id" и "expected_component_id" — контроль адресов источника данных.
9.5. Проверка связи с автопилотом
- Убедиться, что сервис запущен:
systemctl status uwblandle.service
- В Mission Planner на вкладке Messages должны появляться строки:
LANDING_TARGET received
- В логе
/home/uwblandle/logs/uwb_landing_system.log должны присутствовать строки:MAVLink: Connected to FCU
MAVLink: Requested message rate 31 (ATTITUDE_QUATERNION) = 20 Hz
MAVLink: Requested message rate 105 (HIGHRES_IMU) = 20 Hz
MAVLink: Sending LANDING_TARGET ...
9.6. Проверка работы прецизионной посадки
- В Mission Planner → Flight Data → Messages появится сообщение:
PrecLand: Active
- При включении режима LAND автопилот начнёт использовать данные
LANDING_TARGET от LE для коррекции траектории посадки. - Для контроля можно добавить параметры
plndx, plndy в панель Quick View.
9.7. Отладка и диагностика
| Симптом | Возможная причина | Проверка |
|---|
Нет LANDING_TARGET в Mission Planner | LE не запущен или неверный порт | journalctl -u uwblandle.service -f |
MAVLink: connection timeout | UART неактивен или ошибка скорости | Проверить SERIAL3_BAUD и кабель |
| Низкая частота обновления | FCU не принял команды SET_MESSAGE_INTERVAL | Проверить лог LE |
PrecLand: disabled | PLND_ENABLED=0 или PLND_TYPE ≠ 1 | Проверить параметры в Mission Planner |