Синхронный танец нескольких квадрокоптеров Ardrone 2.0

В этой статье я писал о квадрокоптерах Ardrone 2.0, у которого есть открытый API, позволяющий использовать его в экспериментах робототехники. Для управления Ardrone 2.0. я использовал пакет ardrone_autonomy операционной системы для роботов ROS. Затем был эксперимент с голосовым управлением  — Голосовое управление квадрокоптером Ardrone 2.0. из ROS.  И вот новый проект с Ardrone 2.0. Синхронный танец нескольких квадрокоптеров Ardrone 2.0 — по мотивам iiшоу, показанным компанией Parrot на CES 2013, видео можно посмотреть здесь.

Комплектация
1. ARDrone 2.0 — 4 шт.
2. 4 нетбука
 Ubuntu 11.4
 ROS fuerte
 пакет ardrone_autonomy
 пакет vp_ardrone2 (https://github.com/victoruni/vp_ardrone2 )

3. 1 ноутбук — rosbridge-сервер для нетбуков
  Ubuntu 11.10
  ROS fuerte
  пакет ardrone_autonomy, rosbridge, usb_cam
  пакет vp_ardrone2 (https://github.com/victoruni/vp_ardrone2 )

4. Для организации сети для 4 нетбуков и ноутбука — сетевой коммутатор на 5 портов.

Об установке пакетов писать не буду, информацию можно найти в сети.

Каждый нетбук соединен по wifi c квадрокоптером, управление осуществляется из ROS, используется пакет ardrone_autonomy и написанный для этого проекта пакет vp_ardrone2 (https://github.com/victoruni/vp_ardrone2), обработка команды сценария, часть команд — это анимации из API Ardrone 2.0, часть движений пришлось прописывать вручную.Один из ноутбуков использовался в качестве табло, где можно выбрать предварительно написанный сценарий для каждого квадрокоптера, выбрать квадрокоптеры для запуска, запустить шоу на выполнение, на табло также отображается некоторая информация с датчиков.  При запуске сценариев на выполнение центральный комп, считывает пошагово команды сценария для каждого нетбука, и отправляет на каждый комп, по окончании выполнения команды от нетбука приходит сигнал, и центральный комп отправляет на выполнение следущую команду сценария. На табло отображается текущая команда сценария для каждого квадрокоптера. И просто изображение с центральной камеры одного из квадрокоптеров.

Запуск(для каждого нетбука и ноутбука): в качестве терминала удобно использовать GuakeTerminal
  1 монитор
   roscore
  2 монитор
   roslaunch vp_ardrone2 www.launch
  3 монитор — после соединения нетбука с квадрокоптером
   roslaunch ardrone_autonomy ardrone1.launch
 В браузере ноутбука (только Google Chrome (не Chrome!!!) — в других нет запуска js файла музыкального сопровождения)

Браузер:
http://localhost:8000/vp_ardrone2/tablo.html

Файл проекта во вложении или взять можно на github — https://github.com/victoruni/vp_ardrone2

И маленькое видео — запуск части сценария на одном квадрокоптере

И видео объяснения как запускать и как работает интерфейс на примере сценария световых анимаций.