Описание¶
Навигационный блок (НБ) предназначен для вычисления координат летательного аппарата (ЛА) без использования сигналов спутниковой навигации. Вычисление координат производится на основе изображений с камеры и данных с дальномера, установленных на НБ, а также информации об ориентации летательного аппарата, полученной от внешнего источника (полётного контроллера).
Подключение¶
Физическое подключение навигационного блока осуществляется через интерфейс Ethernet 1000BASE-T. НБ ожидает получения IP-адреса по DHCP. НБ поддерживает протокол MAVLink версии 1.0 и 2.0 для обмена данными с одноплатными компьютерами и полётным контроллером. Протокол реализован на множестве языков [1]. Наличие высокоуровневых библиотек поддержки на C++ и Python позволяет быстро и эффективно организовать взаимодействие между компонентами дрона для передачи информации и управления. Протокол содержит специализированные для ЛА сообщения и легко расширяется для реализации дополнительной функциональности. Для передачи/получения пакетов MAVLink используется порт UDP 14540.
| [1] | https://mavlink.io/en/getting_started/use_libraries.html |
См.также
Подробное описание поддерживаемых сообщений смотри в разделе Протокол
Питание¶
Схема подключения¶
Режимы работы¶
Навигационный блок поддерживает 2 основных режима работы: картирование и локализация. В режиме картирования НБ строит карту местности, над которой находится. На этом этапе необходимо подавать в НБ глобальные координаты ЛА. В режиме локализации НБ выдаёт координаты ЛА на основе заранее построенной карты местности.
Обычно, на момент старта камера навигационного блока оказывается слишком близко к земле, чтобы можно было надёжно вычислить координаты. Поэтому сразу после включения НБ выдаёт только информацию о высоте над поверхностью. Эта высота вычисляется на основе показаний встроенного дальномера и информации о наклоне ЛА относительно горизонта.
Важно
Информация о наклоне должна подаваться в навигационный блок от внешнего источника в сообщении ATTITUDE.
После того, как высота над поверхностью превысит значение параметра INIT_ALT, произойдёт инициализация навигационного блока, и в зависимости от режима он начнёт построение карты, либо начнёт поиск своего положения на загруженной карте. Только после инициализации НБ будет выдавать полный набор координат.
Совет
При слишком маленьком значении INIT_ALT возможно искажение карты, способное привести к неправильному вычислению координат. Рекомендуется задавать значение INIT_ALT не меньше 4 метров.
Предупреждение
До момента инициализации информация о горизонтальном перемещении ЛА будет недоступна.
Режим картирования¶
Для картирования местности необходимо выставить параметр LOAD_MAP в значение “0”, параметр SAVE_MAP в значение “1” и регулярно подавать на вход глобальные координаты ЛА (сообщение GLOBAL_POSITION_INT).
Режим локализации¶
Для локализации на основе построенной карты местности необходимо задать координаты точки старта через параметры ORIGIN_LAT, ORIGIN_LON, ORIGIN_ALT и ORIGIN_HDG (см. Parameter Protocol), а также выставить параметр LOAD_MAP в значение “1”, а параметр SAVE_MAP в значение “0”. Также в параметр MAP_ID нужно указать индекс карты, записанной в памяти навигационного блока. В режиме локализации НБ отдаёт глобальные координаты летательного аппарата в сообщении GLOBAL_POSITION_INT и координаты в локальной системе координат относительно точки старат в сообщении VISION_POSITION_ESTIMATE.
Индикация¶
На боковой стенке НБ расположены три светодиода, сигнализирующие о состоянии подсистем блока. Зелёный цвет означает, что всё в порядке, красный – есть проблемы. Верхний светодиод сигнализирует, работает ли вычисление высоты на основе данных дальномера и информации о наклоне. Возможные причины ошибок в этой подсистеме:
- в НБ не поступает информация о наклоне
- не работает дальномер
- слишком большой угол наклона
Средний светодиод используется, когда параметр SAVE_MAP выставлен в «1»,и сигнализирует, поступают ли данные GPS. Нижний светодиод используется, когда параметр LOAD_MAP выставлен в «1», и сигнализирует, удалось ли загрузить требуемую карту. Возможные причины ошибок в загрузке карты:
- не найден файл карты с указанным в MAP_ID индексом
- файл карты повреждён
Подключение навигационного блока к устройствам с нестандартными программными и аппаратными интерфейсами (UART)¶
Для подключения НБ к устройствам с интерфейсом UART используется блок согласования, который подключается по Ethernet к НБ, а по UART - к устройству заказчика. Конфигурация блока согласования производится по WiFi или USB (опционально). Протокол в данном случае согласуется с заказчиком.