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

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

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

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

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

![](https://2542517100-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M27OPqz2FqsvuWyC0Y0%2F-M27v4mGcpWhyXzP5Je8%2F-M27vomse-BQHrwJQO5T%2F007.jpg?alt=media\&token=b9e260ac-ec13-455b-9da1-d32ada80c6b2)

* &#x20;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)

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

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

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

![](https://2542517100-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M27OPqz2FqsvuWyC0Y0%2F-M284GGKzfBv58Pn1jxQ%2F-M284Rxsg7HWT6ZAc9lt%2F008.png?alt=media\&token=a18d3564-7f47-4ed6-b32a-63603b47ba42)

&#x20;Также в параметрах ПК должна быть правильно установлена скорость обмена по 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) на радиопульте:

![](https://2542517100-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M27OPqz2FqsvuWyC0Y0%2F-M284kMdU14ISVdganBz%2F-M284uga9uRtRG17BCRW%2F009.png?alt=media\&token=c5292d37-d57f-4ce4-9031-5adfc7bb4edd)

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

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

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

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