💻
Учебник "Машинное зрение", том 2
  • Платформа Copter.Space
  • Введение
    • О пособии
  • Раздел 1
    • Основные понятия и инструменты.
    • Установка дистрибутива Linux
    • Настройка внешнего доступа через SSH, сети WiFi и камеры
    • Настройка рабочей станции для симулятора полётов/мониторинга дрона
    • Симулятор дрона jmavsim
  • РАЗДЕЛ 2
    • Раздел 2. Среда ROS (Robot Operating System)
    • Основные концепции системы ROS
    • Сообщество разработчиков/пользователей ROS
    • Граф Имён Ресурсов
    • Подключение к симулятору и управление виртуальным дроном с помощью ROS
    • Подключение к симулятору и управление дроном с помощью программы на Питоне
    • Подключение Raspberry PI к полётному контроллеру Pixhawk и управление реальным дроном с помощью ROS
  • Раздел 3
    • Основы компьютерного зрения и OpenCV
    • Основной используемый функционал OpenCV – библиотека Aruco
    • Получение и обработка изображения с камеры Raspberry PI
    • Публикация изображений камеры Raspberry PI через ROS
    • Запуск публикации изображений с камеры с помощью пакета ROS
    • Калибровка камеры
    • Распознавание маркеров и оценка положения камеры в пространстве
  • Раздел 4.
    • Среда визуализации RVIZ
    • Визуализация в RVIZ
    • Пример программы отображения маркеров в RVIZ
  • Раздел 5.
    • Реализация зависания дрона под Aruco маркерами
Powered by GitBook
On this page

Was this helpful?

  1. РАЗДЕЛ 2

Подключение Raspberry PI к полётному контроллеру Pixhawk и управление реальным дроном с помощью ROS

PreviousПодключение к симулятору и управление дроном с помощью программы на ПитонеNextОсновы компьютерного зрения и OpenCV

Last updated 5 years ago

Was this helpful?

Управление реальным дроном по протоколу mavros аналогично управлению виртуальным дроном, однако для реального дрона необходимо осуществить физическое подключение полётного контроллера к бортовому компьютеру (а также собрать и настроить сам дрон).

Схема подключения Raspberry PI к Pixhawk

Подключение бортового компьютера к полётному контроллеру возможно двумя способами: по интерфейсу UART через порт telem2, а также по интерфейсу USB. Ниже описаны оба способа.

Подключение UART осуществляетсся с помощью соединения понов GPIO Raspberry PI с портом telem2 полётного контроллера по следующей схеме:

  • Telem2 #1  GPIO Pin 02 (+5V)

  • Telem2 #2  GPIO Pin 10 (GPIO15, RXD0)

  • Telem2 #3  GPIO Pin 08 (GPIO14, RXD0)

  • Telem2 #6  GPIO Pin 06 (Ground)

Подключение по mavros к полётному контроллеру выполняется с помощью команды:

roslaunch mavros px4.launch fcu_url:= /dev/ttyAMA0:921600

При этом полётный контроллер дрона должен быть настроен и откалиброван, в программе управления QGroundControl не должно выдавать ошибок, иначе полётный контроллер может не выдавать хартбит по mavros. Лишние проверки можно отключить с помощью специальных параметров-заглушек (circuit breakers) полётного контроллера:

Также в параметрах ПК должна быть правильно установлена скорость обмена по UART – параметр SYS_COMPANION = 921600 baud, 8N1. Если процесс mavros выдаёт ошибку и падает при запуске – необходимо убедиться, что на Raspberry PI отключена блокировка UART операционной системой (с помощью raspi-config или в конфигурационном файле config.txt). Автономный дрон может использоваться без радиопульта. Чтобы отключить проверку калибровки радиопульта, нужно установить параметр ПК COM_RC_IN_MODE = 1. Альтернативный способ подключения ПК – с помощью USB – micro USB кабеля. Micro USB разъём подключается к ПК Pixhawk, USB – в свободный порт Raspberry PI. Запуск mavros можно осуществлять командой roslaunch mavros px4.launch, без указания fcu_url, полётный контроллер должен быть найден при подключении по USB автоматически. Остальные параметры подключения настраиваются аналогично подключения по telem2. Минусом подключения по USB является то, что при необходимости прямой настройки ПК Pixhawk нужно переподключат micro-USB разъём полётного контроллера.

Проверка подключения, запуск/остановка моторов дрона

После подключения полётного контроллера к бортовому компьютеру можно проверить работу mavros с помощью арминга (запуска моторов) дрона.

Обязательно снимите пропеллеры при первом тестовом запуске моторов!

Также можно настроить экстренное отключение моторов (killswitch) на радиопульте:

Запуск моторов осуществляется с помощью команды

rosservice call /mavros/cmd/arming "value: true"

Остановить моторы можно с помощью команды

rosservice call /mavros/cmd/arming "value: false"