Удаленное управление Turtlebot через браузер джойстиком, голосом, с помощью Kinect. Часть 1

Имеется в наличии работающий Turtlebot (ROS fuerte) — немного измененный.
Есть желание построить карту помещения и управлять движением голосом («Иди на кухню», «иди в зал», «на место» и т.д.) и удаленно.
А пока — промежуточная задача — добавить камеру заднего вида (USB на поворотной платформе) и управлять камерой и движением робота через браузер с рабочего места, и управление не простое а с помощью:
— голоса,
— джойстика,
— датчика kinect.

( Читать дальше )

Голосовое управление квадрокоптером ArDrone 2.0 через ROS.Часть 4

Окончание. Начало — Часть1, Часть2 и Часть 3

Вот результат работы

Пока еще не освоил написание запуска командных файлов, чтобы запустить все одной командой, пошаговая инструкция по запуску системы

( Читать дальше )

Голосовое управление квадрокоптером ArDrone 2.0 через ROS.Часть 3

Продолжение. Начало — Часть1 и Часть2

Приступим к написанию скриптов для ROS

1. Запуск узла преобразования речи в текст ardrone1_julius_talker и выдача результатов в тему ardrone1_textspeech

Создадим файл ros_ardrone1_julius_init.py

Скрипт запускает в цикле программу julius с выдачей результата преобразования скрипту ros_ardrone1_julius_to_text.py

Т.к. система должна понимать не только полные команды, но и укороченные, создадим несколько параметров (данные, хранящиеся на сервере ROS), где будем хранить текущие значения для текущего робота, текущего действия, текущего значения действия — ardrone1_name, ardrone1_do, ardrone1_digit.


( Читать дальше )

Голосовое управление квадрокоптером ArDrone 2.0 через ROS. Часть 1

Квадрокоптер ArDrone 2.0

Parrot AR.Drone – это радиоуправляемый квадрокоптер, то есть вертолет с четырьмя несущими винтами, размещенных на выносных диагональных балках. Сам AR.Drone работает под управлением операционной системы Linux, а в качестве пульта ДУ к квадрокоптеру может выступать практически любой сенсорный смартфон и планшет на Android или iOS. Дистанция устойчивого управления по Wi-Fi – от 25 до 100 метров и зависит от помещения и погодных условий, если полеты происходят на улице.



​Из-за низкой стоимости, большого количества качественных сенсоров, а так же благодаря открытому API, AR.Drone стал популярной платформой для научных экспериментов и образовательных целей. Он применяется в работах по автоматическому управлению, обучению AI, автономному видеонаблюдению, взаимодействию человек-машина, и т.д.

У меня возникло желание организовать голосовое управление AR.Drone из ROS, чтобы в перспективе он работал в паре с роботом Turtlebot.

( Читать дальше )

Голосовое управление квадрокоптером ArDrone 2.0 через ROS.Часть 2

Продолжение. Начало — Часть1

Cоздадим в ROS новый проект vp_ardrone1

cd ros_pkgs 
roscreate-pkg vp_ardrone1 std_msgs rospy

Устанавливаем систему зависимостей

rosdep install vp_ardrone1

Строим проект

rosmake vp


Для преобразования речи в текст будем использовать julius. Julius — движок распознавания речи. Julius был первоначально разработан японским LVCSR в 1997 году, был продолжен CSRC (Continuous Speech Recognition Consortium — Консорциум непрерывного распознавания речи) с 2000 по 2003 год, и в настоящее время разработывается ISTC (Interactive Speech Technology Consortium — Консорциум интерактивных речевых технологий).

( Читать дальше )

iRobot Сreate #4 – управление движением (акселерометр, голосовое) с Android через ROS

ПРОДОЛЖЕНИЕ и ОКОНЧАНИЕ Создание проекта в ROS, написание subscriber для получения сообщений из узла rosserial и запуска сервисов irobot_create_2_1 — начало здесь далее здесь и еще здесь

Создаем новый проект vp_arduino1

( Читать дальше )

iRobot Сreate #3 – управление движением (акселерометр, голосовое) с Android через ROS

ПРОДОЛЖЕНИЕ Написание скетча для ARDUINO — начало здесь далее здесь

Подключение платы Arduino с Bluetooth модулем HC05. Bluetooth-модуль HC05 (подробно) подсоединяем к контактам 2,3 Arduino.
1 (Tx HC05)-> 2 (Arduino)
2 (Rx HC05)-> 3 (Arduino)
13,21,22 GND -> GND Arduino
12 -> 3,3В Arduino
Модуль необходимо перепрограммировать
Для этого подаем 3,3В на 34 вывод HC05
Про программирование можно почитать здесь и здесь
В Arduino загружаем скетч (используем библиотеку SoftwareSerial)

( Читать дальше )

iRobot Сreate #2 – управление движением (акселерометр, голосовое) с Android через ROS

ПРОДОЛЖЕНИЕ — начало здесь

Составляем программу дла Android-устройства
Используем Eclipse с плагином ADT (Android Development Tools)
Останавливаться на особенностях программирования не буду — кому интересно — ссылка на архив проекта — скачать (программа писалась быстро — разметка под мой планшет, но кому надо — можно подправить)
Главное меню программы


( Читать дальше )

iRobot Create – управление движением (акселерометр, голосовое) с Android через ROS

Пришла долгожданная посылка с роботом iRobot Сreate. Робот iRobot Create — программируемый робот. В 2007 году разработан компанией iRobot на базе платформы робота пылесоса Roomba


Электронный интерфейс включает 7 pin mini-DIN и DB-25 разъемы для обмена данными, электронные датчики, световые индикаторы. Программный интерфейс позволяет управлять поведением робота. Он позволяет считывать информацию с сенсоров при помощи серии команд, включает команды режима, команды привода, звуковые команды, демонстрационные команды и команды опроса сенсоров. Эти команды можно посылать на последовательный порт робота с компьютера или микроконтроллера.
Есть кое-какие задумки, но пока для тренировки в ROS сделаем управление iRobot Сreate c планшета Android по Bluetooth.

( Читать дальше )

Rosserial - связь двух Arduino через ROS

Начал изучать ROS по этим материалам >> (спасибо за перевод — по английским мануалам точно бы не смог )

Есть задумка с платформой iRobot, пока iRobot в пути поупражняюсь в простеньком.
Решил наладить передачу между двумя платами Arduino через ROS.
Библиотека rosserial (см. топик) устанавливает соединение точка-точка (point-to-point connection) через последовательный порт с недорогими контроллерами (типа Arduino) так, что вы можете посылать сообщения ROS туда и обратно.


( Читать дальше )