Танец квадрокоптеров Ardrone 2.0

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

Комплектация
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 файла музыкального сопровождения)

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

One comment

  1. Remarkable, absolutely brilliant. On the web just simply getting yourself into quality writing articles myself, almost nothing wirelessly alongside your own composing prospective (ha! ) but I»»d love so that you can take my things someday!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>