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

Управление реальным дроном по протоколу 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"

Last updated