Управление роботом может происходить разными способами. Собираем Wi-Fi робота Функциональный вид робота


1

Пожидаев И.В.

Возможность управления мобильным роботом по радиоканалу существенно расширит диапазон его применения. Для решения данной задачи на мобильный робот установили портативный компьютер, а к нему подсоединили сотовый телефон с GPRS модемом. Через GPRS модем установлен доступ в интернет. Через сеть интернет при помощи другого компьютера производилось управление, и контроль за системами робота. Удалось управлять двигателями робота, получать информацию с датчиков, а также получать информации с видеокамеры по ходу движения мобильного робота "Ирис-1". Таким образом, удалось добиться дистанционного управления мобильным роботом через интернет, используя радиоканал сотового телефона с наличием в нём GPRS модема. И как следствие этого - значительно увеличилось расстояние на котором можно управлять мобильным роботом. А также расширился диапазон применения робота с точки зрения труднодоступных мест суши.

Мобильные роботы имеют широкое применение в разных отраслях промышленности и хозяйства. Они не заменимы: при ликвидации аварий на атомных электростанциях, при поиске и обнаружении взрывчатых веществ, при диагностике неисправностей в коммуникациях и их устранении. Широкое применение мобильных роботов наблюдается в исследовании морского дна на больших глубинах. В авиации используются беспилотные роботы для ведения разведывательной деятельности и уничтожения противника. Мобильные роботы применяются в процессе исследования других планет солнечной системы. За последнее время робототехника в разделе мобильных роботов развивается бурными темпами. Рынок продаж мобильных роботов в 2000 г. составлял 655 млн. долларов и достигнет 17 миллиардов долларов в 2005 г.

Возникла проблема, связанная с более динамичным использованием мобильного робота для инспекции коммуникаций и подземных объектов как искусственного, так и естественного происхождения. Она связана с тем, что робот управляется через кабель, подсоединённый к пульту дистанционного управления, что ограничивает его в перемещении.

Возможность управления мобильным роботом по радиоканалу существенно расширит диапазон его применения. Это позволяет управлять им полностью автономно и на большом расстоянии. Диапазон частот намного шире при управлении по радиоканалу, нежели чем по проводной связи.

Для решения данной задачи на мобильный робот установили портативный компьютер, а к нему подсоединили сотовый телефон с GPRS модемом. Через GPRS модем установлен доступ в интернет. Через сеть интернет при помощи другого компьютера производилось управление, и контроль за системами робота.

В данном эксперименте было применено два вида телефонных аппаратов отличных между собой интерфейсом. Эти телефоны отличны между собой тем что, один аппарат соединяется с компьютером по кабелю протянутому от usb порта компьютера к порту сотового телефона, см. блок-схему №1. А другой вид сотового телефона коммутируется через кабель от com порта портативного компьютера к сотовому телефону, см. блок-схему №2.

Робот "Ирис-1", подключённый к ПЭВМ управлялся при помощи программного обеспечения под операционную систему Microsoft Windows. Сам же робот через платы в ПЭВМ и кабель от них был соединён с компьютером. В операционную систему, установленную на компьютере входит стандартный компонент - Internet Explorer, нтернет навигатор. Интернет навигаторы бывают разных разработчиков. На двух компьютерах находится два комплекта программного обеспечения. Один для робота, подсоединённого к ПЭВМ,состоит из: Microsoft Windows NT 4.0 и программного обеспечения для "Ирис-1" в виде основного компонента "LABVIEW 6.0" для управления роботом. Второй компьютер с другим комплектом программного обеспечения имеет доступ в глобальную компьютерную сеть интернет при помощи стандартного компонента Microsoft Windows - Internet Explorer,но мы использовали Netscape Navigator, так же как и ПЭВМ к которой подсоединён робот, которым управляют удалённо, см. блок-схему №3.

Компьютер, который подключён к Internet, имеет программное обеспечение для коммутации телефона с компьютером и программное обеспечение для GPRS модема для конкретной модели сотового телефона. Сотовые телефоны работают в диапазоне частот от 900 МГц до 1800 МГц. Не все модели сотовых телефонов имеют функцию GPRS.

Телефоны с GPRS классов 8 и 10 отличаются каналами передачи и приёма данных по количеству. Для класса GPRS 8 - три канала на приём по 14,4 Кбит в секунду каждый и два на передачу. Для телефона с GPRS типа 10 мы имеем 4 канала на приём и два на передачу. Модели телефонов кроме этого имеют характеристику типа А и В, то есть поддерживать GPRS модем и разговор или только GPRS модем.

В ходе эксперимента было выявлено устойчивое управление удалённым роботом через сотовый телефон за исключением случаев экранировки радиосигнала(не устойчивый приём между базой и сотовым телефоном или его отсутствие - полное экранирование) от сотового телефона или нарушения в самой проводной сети Internet.

При использовании радиоканала от сотового телефона была сохранена возможность дистанционного управления всеми системами робототехнического комплекса "Ирис-1", а также контроль за их работой. Получаем видеоизображения по ходу движения робота чёрнобелого цвета. Двигатели робота могли работать попеременно, что при наличии гусениц позволяло бы разворачиваться в одну или другую сторону. Если двигатели работали одновременно с одной и той же скоростью вращения, совпадающей по направлению, то робот двигался прямолинейно вперёд или в противоположную сторону. Имелась информация о наличии препятствия по ходу движения робота (вперёд) при помощи ультразвукового датчика. Ультразвуковой датчик состоит из двух частей: приёмника, посылающего сигнал перед роботом на возможное препятствие и передатчика, воспринимающего отражённый сигнал от возможного объекта перед роботом. Наличие объекта перед роботом визуально на графике наблюдал оператор за многие километры от РТК "Ирис-1". Аналогично была видна картина о наличии препятствия над роботом при помощи микроволнового датчика. Параметры с фотоимпульсных датчиков, переданные через интернет с участием радиоканала от сотового телефона, позволяли строить параметрическую трёхмерную модель в движении с задержкой во времени при помощи пакета T-FLEX CAD 3D версии 6.0 и выше.

Блок-схема №1, соединение сотового телефона через usb порт ПЭВМ.

Блок-схема №2, соединение сотового телефона через com порт ПЭВМ.

Блок-схема №3, управление мобильным роботом "Ирис - 1".

Перечень составляющих для управления мобильным роботом "Ирис-1" на большом расстоянии.

  1. Компьютер с подсоединённым к нему сотовым телефоном через сom или usb порт.
  2. Радиоканал с GPRS модемом в аппарате
  3. Базовая станция ретранслятор сотовой компании
  4. Представитель услуг глобальной компьютерной сети(Internet)- провайдер.
  5. Другой компьютер с присоединённым к нему через плату в нём и кабель от неё к мобильному роботу.
  6. Наличие доступа в глобальную компьютерную сеть у компьютера с роботом через радиоканал сотового телефона.
  7. Наличие устойчивой связи на проводном и радиоканальном участках компьютерной сети(internet).

Всё перечисленное выше позволяет управлять мобильным роботом дистанционно на огромном расстоянии и получать о нём информацию.

Таким образом, удалось добиться дистанционного управления мобильным роботом через интернет, используя радиоканал сотового телефона с наличием в нём GPRS модема. И как следствие этого - значительно увеличилось расстояние на котором можно управлять мобильным роботом. А также расширился диапозон применения робота с точки зрения труднодоступных мест суши.

СПИСОК ЛИТЕРАТУРЫ

  1. Ноф. Ш. Справочник по промышленной робототехнике. - 1989. - Т.1. - М.: Машиностроение. - 480 c.
  2. Ноф. Ш. Справочник по промышленной робототехнике. - 1990. - Т.2. - М.: Машиностроение. 480 c.
  3. Фу. К. Гонсалес, Р. Ли К. Робото-техника. - 1989. - М.: Мир. - 624с.
  4. Кулешов В. C. Лакота Н. А. Адрюнин В. В. Дистанционно управляемые роботы и манипуляторы. - 1986. - М.: Машиностроение. - 328c.
  5. Жарков Ф. П. Каратаев В. В. Никифоров В. Ф. Панов В. C. Использование виртуальных инструментов LabVIEW. - 1999. - М.: Солон-Р. - 268c.
  6. Подураев Ю. В. Основы мехатроники. - 2000. - М.: МГТУ "СТАНКИН". - 80c.
  7. Максимов Н. В. Партыка Т. Л. Попов И. И. Архитектура ЭВМ и вычислительных систем. - 2005. - М.: Форум-Инфра-М. - 512с.

Библиографическая ссылка

Пожидаев И.В. УПРАВЛЕНИЕ МОБИЛЬНЫМ РОБОТОМ "ИРИС-1" ПО РАДИОКАНАЛУ ПРИ ПОМОЩИ СОТОВОГО ТЕЛЕФОНА // Фундаментальные исследования. – 2005. – № 7. – С. 14-16;
URL: http://fundamental-research.ru/ru/article/view?id=6320 (дата обращения: 25.08.2019). Предлагаем вашему вниманию журналы, издающиеся в издательстве «Академия Естествознания»

В сети выложено огромное количество инструкций по сборке различных моделей роботов. Попробуем собрать свою собственную модель домашнего Wi-Fi робота используя информацию с форума Cyber-place , детали частично с интернет-магазина . Многие запчасти выгодно заказывать напрямую из Китая (Ebay, Aliexpress). Это значительно уменьшит бюджет.
Свой взгляд на теорию и проектирование современных роботов изложен .

Функциональный вид робота

  1. Перемещение по поверхности согласно командам оператора,
  2. Трансляция видео с широким углом обзора.

Блок управления

Универсальный контроллер Carduino Nano V7

Микроконтроллер: ATmega328
Входное напряжение: от 5V до 30V
Тактовая частота: 16 МГц
Flash память: 32 KB
Оперативная память (SRAM): 2 Кб

Материнская плата робота «CyberBot»

Плата предназначена для подключения к ней различных устройств Arduino или аналогов устройств через стандартные интерфейсы.

Модуль управления двигателями — Motor Shield

К нему можно подключить и управлять двумя двигателями постоянного тока или 4 шаговыми двигателями. Содержит двухканальный драйвер двигателя HG7881.
Питание: 2.5V до 12V
Потребление тока на один канал:: до 800 мА

Редукторные двигатели

Мотор-редуктор с передаточным соотношением 1:48
Диапазон напряжения от 3V до 6V.
Скоростью вращения колеса 48 м/мин.
Ток холостого хода (6в): 120mA
Уровень шума: <65dB

Модуль связи

Беспроводной WiFi маршрутизатор TP-Link 3020MR

Данная модель идеально подходит для установки сторонних прошивок. Для управления нашим роботом выбрана . Прошивка создана на базе прошивки OpenWRT версии r37816.
Управление роутером производится из любого web-браузера через Web-интерфейс. Также доступно управление через telnet, SSH. Расширение функционала производится за счет установки дополнений из каталога. Доступная память для приложений 1,2Mb.

Web-камера Logitech E3500

Камера с возможностью коррекции изображения.

USB-хаб

Блок для связи USB-устройств между собой: arduino, маршрутизатор, web-камера.

Вспомогательные элементы

Платформа

Колеса

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

Батарейный отсек

Необходим для установки элементов питания. Для нашей версии робота достаточно 4 элементов питания размера AA.

Крепеж, провода

Вспомогательные инструменты для соединения отдельных элементов.

Процесс сборки робота

Подготовка платы робота «CyberBot» является самым сложным для начинающих, т.к. подразумевает использование паяльника. Необходимо припаять:

  1. Блокирующие конденсаторы от 0,1 мкф и выше
  2. Электролитический конденсатор от 100 мкф х 16в и выше
  3. Резистор 150 Ом

Резисторы необходимо устанавливать из расчета — по одному электролиту и блокирующему конденсатору для каждого установленного модуля. В результате мы должны получить следующее:

Разъемы позволят дополнять микросхему дополнительными датчиками и избавят нас от постоянной перепайки деталей.

К плате контроллера подключаем модуль управления двигателями — Motor Shield. Прикручиваем батарейный отсек. Для крепления двигателей к платформе понадобятся болты М3х30. На двигатели надеваем колеса.
На вторую часть платформы прикрепляем остальное: web-камеру, маршрутизатор, USB-хаб. Провода стягиваем скобами и аккуратно укладываем чтобы они не мешали другим элементам.

Программное обеспечение

Прошивка маршрутизатора TP-Link 3020MR

После установки и запуска среды разработки необходимо выбрать тип используемой платы и порт через который будет осуществляться обмен данными между контроллером и компьютером. Данные настройки осуществляются через меню «Tools» «Board menu» .

При использовании платы Arduino Nano CH340G в системе Windows необходима установка драйвера CH341SER
Плата должна определяться в системе как USB2.0 Serial.

Перед загрузкой скетча проверяем его на наличие ошибок. В меню «ЭСКИЗ» выбираем «ПРОВЕРИТЬ/СКОМПИЛИРОВАТЬ» .
Если возникнут ошибки при проверке компилятор укажет на строку с неправильным кодом. Если ошибок не найдено, то в меню «ЭСКИЗ» выбираем «ВГРУЗИТЬ» .

Скетч для Arduino Nano и Arduino UNO

Для работы скетча необходима библиотека CyberLib

#include #define motors_init {D4_Out; D5_Out; D6_Out; D7_Out;} uint8_t inByte; uint8_t speed=255; void setup() { motors_init; D11_Out; D11_Low; randomSeed(A6_Read); for(uint8_t i=0; i<12; i++) beep(70, random(100, 2000)); робота UART_Init(57600); wdt_enable (WDTO_500MS); } void loop() { if (UART_ReadByte(inByte)) { switch (inByte) { case "x": robot_stop(); break; case "W": robot_go(); break; case "D": robot_rotation_left(); break; case "A": robot_rotation_right(); break; case "S": robot_back(); break; } if(inByte>47 && inByte<58) speed=(inByte-47)*25+5; } wdt_reset(); } void robot_go() { D4_Low; analogWrite(5, speed); analogWrite(6, speed); D7_Low; } void robot_back() { D4_High; analogWrite(5, 255-speed); analogWrite(6, 255-speed); D7_High; } void robot_stop() { D4_Low; analogWrite(5, 0); analogWrite(6, 0); D7_Low; } void robot_rotation_left() { D4_Low; analogWrite(5, speed); analogWrite(6, 255-speed); D7_High; } void robot_rotation_right() { D4_High; analogWrite(5, 255-speed); analogWrite(6, speed); D7_Low; }

Скетч для Arduino Mega

#include #define motors_init {D4_Out; D5_Out; D6_Out; D7_Out;} #define robot_go {D4_Low; D5_High; D6_High; D7_Low;} #define robot_back {D4_High; D5_Low; D6_Low; D7_High;} #define robot_stop {D4_Low; D5_Low; D6_Low; D7_Low;} #define robot_rotation_left {D4_Low; D5_High; D6_Low; D7_High;} #define robot_rotation_right {D4_High; D5_Low; D6_High; D7_Low;} uint8_t inByte; void setup() { motors_init; D11_Out; D11_Low; randomSeed(analogRead(6)); Serial.begin(57600); wdt_enable (WDTO_500MS); } void loop() { if (Serial.available()) { inByte = Serial.read(); switch (inByte) { case "x": robot_stop; break; case "W": robot_go; break; case "D": robot_rotation_left; break; case "A": robot_rotation_right; break; case "S": robot_back; break; } } wdt_reset(); }
Исходный код взят с cyber-place.ru

Сервис

Утилита «Терминал»

Модуль для работы с консолью из веб браузера.

Список часто используемых команд в CyberWrt

uname -a — Версия ядра Linux;
cat /proc/cpuinfo — информация о железе
cat /proc/meminfo — расширенная информация о занимаемой оперативной памяти
free -m — Информация о используемой и свободной оперативной памяти
ls /dev — отображение всех устройств в системе
id — сводную информация по текущему пользователю (логин, UID, GID);
ps — все загруженные процессы;
date — просмотр даты/времени
dmesg — log-файл загрузки
lsmod — Список модулей загруженных в ядро
netstat -rn — таблица маршрутизации
netstat -an | grep LISTEN — список всех открытых портов
netstat -tup — Активные соединения с интернетом

fdisk -l Информация о всех подключенных дисках;
blkid — UUID информация о всех доступных накопителей в системе;
mount /dev/sda1 /mnt — Монтирует раздел /dev/sda1 к точке монтирования /mnt;
mount — полная информация о примонтированных устройствах;
umount /mnt — Отмонтирует раздел от точки монтирования /mnt;

clear — Очистка окна терминала; — Завершение сеанса;
passwd — смена пароля текущего пользователя;

opkg update – обновление списка пакетов
opkg upgrade – обновление всех установленных пакетов;
opkg list-installed – вывод на экран списка установленных пакетов.

Проверка работоспособности двигателей в среде разработки

В меню «ИНСТРУМЕНТЫ» выбираем «МОНИТОР ПОСЛЕДОВАТЕЛЬНОГО ПОРТА» . В терминальной строке набираем команду движения:

Echo x > /dev/ttyUSB0

Если все подключено и настроено правильно, то после нажатия кнопки «ОТПРАВИТЬ» моторы должны начать крутиться.

Остановить движение можно по команде:

Echo W > /dev/ttyUSB0

Проблемы

Несовместимость микроконтроллера Arduino Nano V3 CH340 с маршрутизатором TP-LINK TL-MR3020

Найденные решения на форуме:

  • Подключение резистора 100 Ом на пин RST и на +5V
  • Понижение скорости соединения до 9600
  • Удаление конденсатора или перерезка дорожки на Arduino
  • Подключение микроконтроллера к маршрутизатору через UART интерфейс

Как показывала практика ни один из вышеописанных способов не помог. Только после замены микроконтроллера на Carduino Nano V7 робот начал работать через маршрутизатор.

Управление роботом является сложной задачей. Определение, которое мы выбрали для , требует, чтобы устройство получало данные о своей среде. Затем принимало решение и предпринимало соответствующие действия. Роботы могут быть автономными и полуавтономными.

  1. Автономный робот работает по заданному алгоритму исходя из поступающих от датчиков данных.
  2. У полуавтономного робота есть задачи, которые контролируются человеком. И дополнительно есть другие задачи, которые он выполняет сам по себе...

Полуавтономные роботы

Хорошим примером полуавтономного робота является сложный подводный робот. Человек контролирует основные движения робота. И в это время бортовой процессор измеряет и реагирует на подводные токи. Это позволяет держать робота в одном и том же положении без дрейфа. Камера на борту робота отправляет видео обратно человеку. Дополнительно бортовые датчики могут отслеживать температуру воды, давление и многое другое.

Если робот теряет связь с поверхностью, то включается автономная программа и поднимает подводного робота на поверхность. Для того, чтобы иметь возможность управлять своим роботом, нужно будет определить его уровень автономности. Возможно вы хотите чтобы управление роботом осуществлялось по кабелю, было беспроводное или полностью автономное.

Управление по кабелю

Самый простой способ управления роботом — это ручной контроллер, физически подключенный к нему с помощью кабеля. Переключатели, ручки, рычаги, джойстики и кнопки на этом контроллере позволяют пользователю управлять роботом без необходимости включать сложную электронику.

В этой ситуации двигатели и источник питания могут быть подключены непосредственно к переключателю. Следовательно, можно контролировать его вращение вперед / назад. Это используется обычно в транспортных средствах.

Они не имеют интеллекта и считаются скорее «дистанционно управляемыми машинами», чем «роботами».


  • Основными преимуществами такого подключения является то, что робот не ограничивается временем работы. Так как он может быть подключен непосредственно к сети. Не нужно беспокоиться о потере сигнала. Робот, как правило, имеет минимум электроники и не очень сложный. Сам робот может быть легким или иметь дополнительную полезную нагрузку. Робота можно извлечь физически при помощи троса, прикрепленного к кабелю, если что-то пойдет не та. Это особенно актуально для подводных роботов.
  • Основными недостатками является то, что трос может запутаться, зацепиться за что-то, или оборваться. Расстояние, на которое можно отправить робота, ограничено длиной троса. Перетаскивание длинного троса добавляет трение и может замедлить или даже остановить движение робота.

Управление роботом при помощи кабеля и встроенного микроконтроллера

Следующим шагом будет установка микроконтроллера на робота, но при этом продолжать использовать кабель. Подключение микроконтроллера к одному из портов ввода / вывода вашего компьютера (например, USB-порт) позволяет вам управлять своими действиями. Управление происходит с помощью клавиатуры, джойстика или другого периферийного устройства. Добавление микроконтроллера в проект также может потребовать, чтобы вы запрограммировали робота на входные сигналы.


  • Основные преимущества такие же, как и при непосредственном управлении по кабелю. Может быть запрограммировано более сложное поведение робота и его реакция на отдельные кнопки или команды. Имеется большой выбор управления контроллером (мышь, клавиатура, джойстик и т. д.). Добавленный микроконтроллер имеет встроенные алгоритмы. Это означает, что он может взаимодействовать с датчиками и принимать определенные решения самостоятельно.
  • К недостаткам относится более высокая стоимость из-за наличия дополнительной электроники. Другие недостатки такие же как и при непосредственном управлении роботом по кабелю.

Управление по Ethernet

Используется разъём Ethernet RJ45 . Для управления нужно Ethernet соединение. Робот физически подключен к маршрутизатору. Следовательно его можно контролировать через Интернет. Также это возможно (хотя и не очень практично) для мобильных роботов.

Настройка робота, который может общаться через Интернет, может быть довольно сложной. В первую очередь предпочтительным является соединение WiFi (беспроводной интернет). Проводная и беспроводная комбинация также являются опцией, где есть приемопередатчик (передача и прием). Приемопередатчик физически подключен к Интернету, и данные, полученные через Интернет, затем передаются беспроводным способом роботу.


  • Преимуществами является то, что робота можно контролировать через интернет из любой точки мира. Робот не ограничен по времени работы, так как он может использовать Power over Ethernet. PoE. Это технология, которая позволяет передавать удалённому устройству электрическую энергию вместе с данными через стандартную витую пару по сети Ethernet. Использование интернет-протокола (IP) может упростить и улучшить схему связи. Преимущества те же, что и при прямом проводном компьютерном управлении.
  • Недостатком является более сложное программирование и те же недостатки, что и при управлении по кабелю.

Управление при помощи ИК-пульта

Инфракрасные передатчики и приемники исключают кабель, соединяющий робота с оператором. Это, как правило, используется начинающими. Для работы инфракрасного управления требуется «линия визирования». Приемник должен иметь возможность «видеть» передатчик в любое время, чтобы получать данные.

Инфракрасные пульты дистанционного управления (такие, как универсальные пульты дистанционного управления, для телевизоров), используются для отправки команд инфракрасному приемнику, подключенному к микроконтроллеру. Он затем интерпретирует эти сигналы и контролирует действия робота.


  • Преимуществом является низкая стоимость. Для управления роботом можно использовать простые пульты дистанционного управления телевизором.
  • Недостатки в том, что требуется прямая видимость для управления.

Радиоуправление

Для управления при помощи радиочастот требуется передатчик и приемник с небольшими микроконтроллерами для отправки, приема и интерпретации данных, передаваемых по радиочастоте (RF). В коробке приемника имеется печатная плата (печатная плата), которая содержит приемный блок и небольшой контроллер сервомотора. Для радиосвязи требуется передатчик, согласованный / сопряженный с приемником. Возможно использование трансивера, который может отправлять и принимать данные между двумя физически разными средами систем связи.

Радиоуправление не требует прямой видимости и может быть осуществлено на большом расстоянии. Стандартные радиочастотные устройства могут обеспечивать передачу данных между устройствами на расстоянии до нескольких километров. В то время как более профессиональные радиочастотные устройства могут обеспечивать управление роботом практически на любом расстоянии.


Многие конструкторы роботов предпочитают изготавливать полуавтономных роботов с радиоуправлением. Это позволяет роботу быть максимально автономным, обеспечивать обратную связь с пользователем. И может давать пользователю некоторый контроль над некоторыми его функциями в случае необходимости.

  • Преимуществами является возможность управлять роботом на значительных расстояниях, может просто настраиваться. Связь является всенаправленной, но может не проходить сигнал полной блокировке стенами или препятствиями.
  • Недостатками является очень низкая скорость передачи данных (только простые команды). Дополнительно нужно обращать внимание на частоты.

Управление по Bluetooth

Bluetooth является радиосигналом (RF) и передается по определенным протоколам для отправки и получения данных. Обычный диапазон Bluetooth часто ограничен примерно 10 м. Хотя он имеет то преимущество, что позволяет пользователям управлять своим роботом через устройства с поддержкой Bluetooth. Это в первую очередь сотовые телефоны, КПК и ноутбуки (хотя для создания интерфейса может потребоваться настраиваемое программирование). Так же, как и радиоуправление, Bluetooth предлагает двустороннюю связь.


  • Преимущества: управляемый с любого устройства с поддержкой Bluetooth. Но, как правило, требуется дополнительное программирование. Это смартфоны, ноутбуки и т.д. Более высокие скорости передачи данных могут быть всенаправленными. Следовательно, не нужна прямая видимость и сигнал может немного проходить через стены.
  • Недостатки. Должен работать в паре. Расстояние обычно составляет около 10 м (без препятствий).

Управление по WiFi

Управление по WiFi часто является дополнительной опцией для роботов. Способность управлять роботом по беспроводной сети через Интернет представляет некоторые существенные преимущества (и некоторые недостатки) для беспроводного управления. Чтобы настроить управление роботом по Wi-Fi нужен беспроводной маршрутизатор, подключенный к Интернету, и блок WiFi на самом роботе. Для робота можно использовать устройство, которое поддерживает TCP / IP протокол.


  • Преимуществом является возможность управлять роботом из любой точки мира. Для этого нужно чтобы он находился в пределах диапазона беспроводного маршрутизатора. Возможна высокая скорость передачи данных.
  • Недостатки то, что необходимо программирование. Максимальное расстояние обычно определяется выбором беспроводного маршрутизатора.

Управление при помощи сотового телефона

Другая беспроводная технология, которая была первоначально разработана для связи человека и человека — сотовый телефон, теперь используется для управления роботами. Поскольку частоты сотового телефона регулируются, включение сотового модуля на робота обычно требует дополнительного программирования. Также не нужно понимания системы сотовой сети и правил.


  • Преимущества: робота можно контролировать в любом месте, где есть сотовый сигнал. Возможна спутниковая связь.
  • Недостатки; настройка управления по сотовой связи могут быть сложными — не для начинающих. В каждой сотовой сети есть свои собственные требования и ограничения. Обслуживание в сети не является бесплатным. Обычно чем больше данных вы передаете, тем больше денег вам надо заплатить. Система пока еще не настроена для использования в робототехнике.

Следующим шагом будет использование микроконтроллера в вашем роботе в полном объеме. И в первую очередь программирование его алгоритма работы по вводу данных от его датчиков. Автономное управление может осуществляться в различных формах:

  1. быть предварительно запрограммировано без обратной связи с окружающей средой
  2. с ограниченной обратной связью с датчиками
  3. со сложной обратной связью с датчиками

Настоящее автономное управление включает в себя множество датчиков и алгоритмов. Они позволяют роботу самостоятельно определять лучшее действие в любой заданной ситуации. Самые сложные методы управления, которые в настоящее время реализуются на автономных роботах, являются визуальными и слуховыми командами. Для визуального контроля робот смотрит на человека или объект, чтобы получить свои команды.


Управление роботом для поворота налево при помощи чтения с листа бумаги стрелки, указывающей влево, намного сложнее выполнить, чем можно было бы представить. Служебная команда, такая как «повернуть налево», также требует довольно много программирования. Программирование множества сложных команд, таких как «Принесите мне тапочки» уже не фантазия. Хотя требует очень высокого уровня программирования и большого количества времени.

  • Преимущества – это ”настоящая" робототехника. Задачи могут быть очень простым, например, от мигания света, основанного на показаниях одного датчика. До посадки космического корабля на далекой планете.
  • Недостатки зависят только от программиста. Если робот делает что-то, чего вы не хотите чтобы он делал, то у вас есть единственный вариант. Это проверить свой код, изменить его и загрузить изменения в робота.

Практическая часть

Целью нашего проекта является создание автономной платформы, способной принимать решение, основанное на внешних сигналах от датчиков. Мы будем использовать микроконтроллер Lego EV3. Он нам позволяет сделать как полностью автономную платформу. Так и полуавтономную, управляемую по Bluetooth или при помощи инфракрасного пульта управления.


Программируемый блок LEGO EV3

Подобный материал:

  • План: 1-Что такое Интернет (понятие) 2-Способы подключения к Интернет , 81.69kb.
  • Мошенничества через «Интернет» , 11.94kb.
  • Структура и основные принципы работы сети Интернет , 187.31kb.
  • Технико-экономическое обоснование , 609.73kb.
  • С применением grid-технологий , 81.79kb.
  • Глобальная информационная сеть Интернет , 928.45kb.
  • Базовый план Число часов по плану, всего Втом числе , 45.76kb.
  • «сбис++ Электронная отчетность» в электронном виде через сеть Интернет , 80.99kb.
  • , 243.98kb.
  • Сеть Internet. Служба www , 240.73kb.
МОДЕЛИРОВАНИЕ И ДИСТАНЦИОННОЕ УПРАВЛЕНИЕ РОБОТАМИ

ЧЕРЕЗ СЕТЬ ИНТЕРНЕТ

с.н.с. И.Р. Белоусов

1/2 года, 2-5 курс и аспиранты

Изучение современных методов моделирования и управления роботами. Рассматриваются алгоритмы взаимодействия роботов со сложными динамическими объектами с использованием в контуре управления системы технического зрения. Изучаются методы дистанционного управления роботами через сеть Интернет. Представляется архитектура распределенных систем управления, рассмотриваются методы передачи информации, графического моделирования, дистанционного программирования роботов с использованием открытых технологий Java и Java3D.

Введение.

Постановка задач, рассматриваемых в курсе. Демонстрация экспериментальных результатов.

Управление роботами в задачах взаимодействия с подвижными объектами.

1. Постановка задач. Примеры.

Обзор задач и методов взаимодействия роботов с подвижными объектами. Использование системы технического зрения и моделей динамики объектов. Постановка задачи захвата роботом стержня на бифилярном подвесе. Постановка задачи взаимодействия робота со сферическими маятниками.

2. Использование систем технического зрения.

Алгоритмы обработки видеоизображений. Определение положений стержня и маятников, использование кинематического прогноза. Обработка результатов измерений.

3. Математическое моделирование и экспериментальная отработка алгоритмов.

Уравнения колебаний стержня на бифилярном подвесе. Алгоритмы захвата стержня роботом манипулятором. Уравнения колебаний сферического маятника. Алгоритмы взаимодействия робота с маятниками. Архитектура экспериментального стенда. Обсуждение результатов экспериментов.

Дистанционное управление роботами через сеть интернет.

4. Обзор существующих систем.

Системы управления через Интернет мобильными и манипуляционными роботами. Недостатки существующих систем, проблемы управления через Интернет, подходы к решению.

5. Архитектура распределенных систем управления роботами.

Аппаратная и программная организация серверной и клиентской частей распределенной системы управления роботом. Организация обмена данными.

6. Дистанционное программирование через Интернет.

Языки программирования роботов. Среда для дистанционного программирования роботов через Интернет.

7. Управление реальными системами.

Эксперименты по управлению манипуляционными и мобильными роботами через Интернет. Использование виртуальной среды управления роботами. Обсуждение результатов экспериментов. Направления дальнейших исследований.

Графическое моделирование роботов.

8. Введение в компьютерную графику.

Системы координат, трехмерные преобразования. Простейшие алгоритмы.

9. Моделирование геометрических объектов на Java3D.

Введение в Java3D. Особенности программирования графики на Java3D. Базовые понятия. Визуализация простейших геометрических объектов на Java3D. Освещение, текстуры, управление объектами, динамическая реконфигурация сцен.

10. Описание кинематики роботов.

Методы описания кинематики манипуляторов. Прямая и обратная задачи кинематики. Метод последовательного формирования систем координат. Примеры.

11. Графическое моделирование роботов и рабочего пространства.

Комбинирование объектов. Геометрические преобразования. Визуализация роботов, сложных геометрических и подвижных объектов.

Давно мечтал сделать Wi-Fi робота, которым можно было бы управлять удаленно. И вот наконец настал тот день когда я смог управлять роботом через интернет, видеть и слышать все что происходит вокруг него.
Заинтересовавшихся приглашаю под кат

Для создания робота использовались следующие комплектующие:

Вот так выглядит собранный мной робот, без верхней крышки.

Теперь все по порядку:

Сборка платформы робота:

Расположение компонентов на материнской плате. Я установил только Arduino Nano, драйвер двигателей и звуковой излучатель HC:

Роутер wr703N прикрепил к нижней части платформы робота на двухсторонний скотч:

Веб камера прикреплена на мебельный уголок, к штатным отверстиям платформы, предусмотренных для сервомоторов:

СyberWrt - это прошивка собранная на базе OpenWrt и предназначенная в первую очередь для роботов, умного дома и других устройств построенных на базе популярных моделей роутеров Tp-Link mr3020 b Wr703N. У СyberWrt максимально возможный объем свободного места для инсталляции пакетов - 1.25Мб. По умолчанию установлен веб сервер и все операции можно проводить через встроенный веб интерфейс. Сразу после перепрошивки, роутер доступен в сети по кабелю и по WiFi, как точка доступа. Через веб-интерфейс можно работать в режиме «командной строки» - через веб терминал и в файловом менеджере, в котором можно редактировать, загружать, удалять, создавать, копировать файлы и многое другое.

После прошивки роутера, он доступен как WiFi точка доступа с именем «CyberBot», подключаемся к нему заходим на главную страницу роутера. Вот так выглядит веб интерфейс сразу после прошивки.

Устанавливаем модули Драйвер FTDI, Драйвер video и CyberBot-2.

Прошиваем контроллер ардуино.

Код программы робота получился достаточно простым, но его достаточно для того что бы удаленно управлять роботом через локальную сеть или интернет.
Код адаптирован под контроллеры Arduino с ATmega168/328 на борту и использует библиотеку CyberLib .
Эта библиотека помогает из контроллера выжать максимум его возможностей и уменьшить объем конечного кода
В коде используется WDT, для того что бы робот не смог зависнуть.
Так же код поддерживает управление камерой по осям X и Y, но у меня не было свободных сервомоторов и я не смог воспользоваться этой функцией:

Код для Arduino

#include #include Servo myservo1; Servo myservo2; long previousMillis; http://cyber-place.ru/attachment.php?attachmentid=600&d=1389429469 uint8_t LedStep = 0; // Счетчик int i; boolean light_stat; uint8_t inByte; uint8_t speed=255; //максимальная скорость по умолчанию #define init {D4_Out; D5_Out; D6_Out; D7_Out; D8_Out; D11_Out; D12_Out;} void setup() { myservo1.attach(9); // Подключение сервоприводов к порту myservo2.attach(10); // Подключение сервоприводов к порту init; // Инициализация портов D11_Low; // Динамик OFF randomSeed(A6_Read); //Получить случайное значение horn(); //звуковое оповещение готовности робота UART_Init(57600);// Инициализация порта для связи с роутером wdt_enable (WDTO_500MS); } void loop() { unsigned long currentMillis = millis(); if (LedStep == 0 && currentMillis - previousMillis > 500){ // Задержка 0,5 сек. previousMillis = currentMillis; LedStep = 1; } if (LedStep == 1 && currentMillis - previousMillis > 500){ // Задержка 0,5 сек. previousMillis = currentMillis; LedStep = 2; } if (LedStep == 2 && currentMillis - previousMillis > 500){ // Задержка 0,5 сек. LedStep = 0; } if (UART_ReadByte(inByte)) //Если что то пришло { switch (inByte) // Смотрим какая команда пришла { case "x": // Остановка робота robot_stop(); break; case "W": // Движение вперед robot_go(); break; case "D": // Поворотjт влево robot_rotation_left(); break; case "A": // Поворот вправо robot_rotation_right(); break; case "S": // Движение назад robot_back(); break; case "U": // Камера поднимается вверх myservo1.write(i -= 20); break; case "J": // Камера опускается вниз myservo1.write(i += 20); break; case "H": // Камера поворачивается вправо myservo2.write(i += 20); break; case "K": // Камера поворачивается влево myservo2.write(i -= 20); break; case "B": // Бластер D12_High; break; case "C": // Клаксон horn(); break; case "V": // Включить/Выключить фары if(light_stat) { D8_Low; light_stat=false; } else { D8_High; light_stat=true; } break; } if(inByte>47 && inByte<58) speed=(inByte-47)*25+5; //принимаем команду и преобразуем в скорость } wdt_reset(); } void horn() { for(uint8_t i=0; i<12; i++) beep(70, random(100, 2000)); //звуковое оповещение } void robot_go() { D4_Low; analogWrite(5, speed); analogWrite(6, speed); D7_Low; } void robot_back() { D4_High; analogWrite(5, 255-speed); analogWrite(6, 255-speed); D7_High; } void robot_stop() { D4_Low; analogWrite(5, 0); analogWrite(6, 0); D7_Low; } void robot_rotation_left() { D4_Low; analogWrite(5, speed); analogWrite(6, 255-speed); D7_High; } void robot_rotation_right() { D4_High; analogWrite(5, 255-speed); analogWrite(6, speed); D7_Low; }

Все собрано и прошито, теперь включаем робота и управляем им удаленно.
На PC кроме экранных кнопок можно управлять еще с клавиатуры, клавишами W, A, D, S, X

Выкладываю видео:

В дальнейшем планирую научить робота ориентироваться в пространстве и рисовать карту помещения.