В этой статье я писал о квадрокоптере Ardrone 2.0, у которого есть открытый API, позволяющий использовать его в экспериментах робототехники. Для управления Ardrone 2.0. я использовал пакет ardrone_autonomy операционной системы для роботов ROS. Это был эксперимент с голосовым управлением — Голосовое управление квадрокоптером Ardrone 2.0. из ROS. И вот новый проект с Ardrone 2.0. Синхронный танец нескольких квадрокоптеров Ardrone 2.0 — по мотивам шоу, показанным компанией 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 портов.
Об установке пакетов писать не буду, информацию можно найти в сети.
API Ardrone позволяет получать изображение с двух камер квадрокоптера, отправлять команды управления полетом, получать данные с датчиков, а также запускать светодиодные и полетные анимации. Список полетных анимаций — запрограмированных движений Ardrone можно посмотреть здесь
Каждый нетбук соединен по wifi c квадрокоптером, управление осуществляется из ROS, используется пакет ardrone_autonomy и написанный для этого проекта пакет vp_ardrone2 (https://github.com/victoruni/vp_ardrone2), обработка команды сценария, часть команд — это анимации из API Ardrone 2.0, часть движений пришлось прописывать вручную (использовались показания датчика высоты и поворот)
Один из ноутбуков использовался в качестве табло, где можно выбрать предварительно написанный сценарий для каждого квадрокоптера, выбрать квадрокоптеры для запуска, запустить шоу на выполнение, на табло также отображается некоторая информация с датчиков.
Здесь был дополнительно установлен пакет Rosbridge (о работе пакета rosbridge для Turtlebot я писал здесь)
При запуске сценариев на выполнение центральный комп, считывает пошагово команды сценария для каждого нетбука, и отправляет на каждый комп, по окончании выполнения команды от нетбука приходит сигнал, и центральный комп отправляет на выполнение следущую команду сценария.
Пример сценария
scenario1 start;5 #wait;5 takeoff;5.0 #; #; эмуляция фигуры 13 подъем до 1.0-1.5-2.0-2.5 м cmd_vel;3.0;0.0;0.0;0.3;0.0;1100;1;0;0; cmd_vel;3.0;0.0;0.0;0.3;0.0;1700;1;0;0; cmd_vel;3.0;0.0;0.0;0.3;0.0;2200;1;0;0; #; #; эмуляция фигуры 8 опускание до 0.5 м userfly2;6.0;0.0;0.0;-0.2;1.0;750;2;0;1; userfly1;4.0;0.0;0.0;0.0;0.2;3000;2;0;1; #; # анимации 16 #fly;6.0;15;0.0 #; # круговое - эмуляция 14 userfly5;10.0;0.15;0.2;0.08;0.0;2000;1;0;1; #; # анимации 1, 2 fly;2.0;0;0.0 fly;2.0;1;0.0 #; #; эмуляция фигуры 13 опускание до 1.5 м cmd_vel;3.0;0.0;0.0;-0.2;0.0;1500;2;0;0; #; # анимации 15 #fly;6.0;14;0.0 #; #;или эмуляция фигуры 13 подъем до 2.5 м #cmd_vel;4.0;0.0;0.0;0.2;0.0;2200;1;0;0; #; #; фигуры 5,6 fly;4.0;4;0.0 fly;4.0;5;0.0 #; #; дрожание 9 fly;3.0;8;0.0 cmd_vel;4.0;0.0;0.0;0.2;0.0;2200;1;0;0;#; #; сальто fly;5.0;16;0.0 #; опускание по высоте cmd_vel;3.0;0.0;0.0;-0.2;0.0;1500;2;0;0; cmd_vel;3.0;0.0;0.0;-0.2;0.0;1100;2;0;0; cmd_vel;3.0;0.0;0.0;-0.2;0.0;650;2;0.0;0; #;end land;5.0 end
Или простой — запуск только светодиодных анимаций без взлета
ledanimation1 start;5 wait;5 led;5.0;1;1.0;4 led;5.0;0;1.0;4 led;5.0;2;1.0;4 led;5.0;3;1.0;4 led;5.0;4;1.0;4 led;5.0;5;1;4 led;5.0;6;1;4 led;5.0;7;1;4 led;5.0;8;1;4 led;5.0;9;1;4 led;5.0;10;1;4 led;5.0;11;1;4 led;5.0;12;1;4 led;5.0;13;1;4 end
На табло отображается текущая команда сценария для каждого квадрокоптера. И просто изображение с центральной камеры одного из квадрокоптеров.
Запуск(для каждого нетбука и ноутбука): в качестве терминала удобно использовать 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
И маленькое видео — запуск части сценария на одном квадрокоптере
И видео объяснения как запускать и как работает интерфейс на примере сценария световых анимаций.
Данный проект можно использовать в рекламных акциях, что и предполагалось, но к сожалению, на данный момент Ardrone к использованию не пригоден (следствие многочисленных крашей).
0 комментариев на «“Синхронный танец нескольких квадрокоптеров Ardrone 2.0”»
Добрый день.
Я маркетолог выставок роботов по России.
Хотели бы с Вами посотрудничать.
Интересует программирование коптеров.
Напишите пожалуйста номер телефона для оперативной форме
Добрый день!
+7-903-4461752
или
Могу позвонить сам по корпоративному телефону (8-00 — 16-00 МСК) — сообщите свой номер
или пишите на почту
[email protected]