MAVLink
MAVLink – это протокол для организации связи между автономными летательными и транспортными системами.
В этой статье мы рассмотрим, что такое MavLink.
Что такое MavLink?
MAVLink – это протокол для организации связи между автономными летательными и транспортными системами (дронами, самолетами, автомобилями). Протокол MAVLink лежит в основе взаимодействия между Pixhawk и Raspberry Pi.
Основные концепции
Канал связи
Протокол MAVLink может быть использован поверх следующих каналов связи:
- последовательное соединение (UART, USB и др.);
- UDP (Wi-Fi, Ethernet, 3G, LTE);
- TCP (Wi-Fi, Ethernet, 3G, LTE).
Сообщение
MAVLink-сообщение это отдельная «порция» данных, передаваемая между устройствами. Отдельное MAVLink-сообщение содержит информацию о состоянии дрона (или другого устройства) или команду для дрона.
Примеры MAVLink-сообщений:
ATTITUDE,ATTITUDE_QUATERNION– ориентация квадрокоптера в пространстве;LOCAL_POSITION_NED– локальная позиция квадрокоптера;GLOBAL_POSITION_INT– глобальная позиция квадрокоптера (широта/долгота/высота);COMMAND_LONG– команда для квадрокоптера (взлететь, сесть, переключить режим и т. д.).
Полный список MAVLink-сообщений можно посмотреть в документации MAVLink.
Система, компонент системы
Каждое устройство (дрон, базовая станция и т. д.) имеет ID в сети MAVLink. В PX4 MAVLink ID меняется с помощью параметра MAV_SYS_ID. Каждое MAVLink сообщение содержит поле с ID системы-отправителя. Кроме того, некоторые сообщения (например, COMMAND_LONG) содержат также ID системы-получателя.
Помимо ID систем, сообщения могут содержать ID компонента-отправителя и компонента-получателя. Примеры компонентов системы: полетный контроллер, внешняя камера, управляющий бортовой компьютер и т. д.
Пример пакета
Пример структуры MAVLink-пакета с сообщением COMMAND_LONG:

