Управление роботом является сложной задачей. Определение, которое мы выбрали для , требует, чтобы устройство получало данные о своей среде. Затем принимало решение и предпринимало соответствующие действия. Роботы могут быть автономными и полуавтономными.
Хорошим примером полуавтономного робота является сложный подводный робот. Человек контролирует основные движения робота. И в это время бортовой процессор измеряет и реагирует на подводные токи. Это позволяет держать робота в одном и том же положении без дрейфа. Камера на борту робота отправляет видео обратно человеку. Дополнительно бортовые датчики могут отслеживать температуру воды, давление и многое другое.
Если робот теряет связь с поверхностью, то включается автономная программа и поднимает подводного робота на поверхность. Для того, чтобы иметь возможность управлять своим роботом, нужно будет определить его уровень автономности. Возможно вы хотите чтобы управление роботом осуществлялось по кабелю, было беспроводное или полностью автономное.
Самый простой способ управления роботом — это ручной контроллер, физически подключенный к нему с помощью кабеля. Переключатели, ручки, рычаги, джойстики и кнопки на этом контроллере позволяют пользователю управлять роботом без необходимости включать сложную электронику.
В этой ситуации двигатели и источник питания могут быть подключены непосредственно к переключателю. Следовательно, можно контролировать его вращение вперед / назад. Это используется обычно в транспортных средствах.
Они не имеют интеллекта и считаются скорее «дистанционно управляемыми машинами», чем «роботами».
Следующим шагом будет установка микроконтроллера на робота, но при этом продолжать использовать кабель. Подключение микроконтроллера к одному из портов ввода / вывода вашего компьютера (например, USB-порт) позволяет вам управлять своими действиями. Управление происходит с помощью клавиатуры, джойстика или другого периферийного устройства. Добавление микроконтроллера в проект также может потребовать, чтобы вы запрограммировали робота на входные сигналы.
Используется разъём Ethernet RJ45 . Для управления нужно Ethernet соединение. Робот физически подключен к маршрутизатору. Следовательно его можно контролировать через Интернет. Также это возможно (хотя и не очень практично) для мобильных роботов.
Настройка робота, который может общаться через Интернет, может быть довольно сложной. В первую очередь предпочтительным является соединение WiFi (беспроводной интернет). Проводная и беспроводная комбинация также являются опцией, где есть приемопередатчик (передача и прием). Приемопередатчик физически подключен к Интернету, и данные, полученные через Интернет, затем передаются беспроводным способом роботу.
Инфракрасные передатчики и приемники исключают кабель, соединяющий робота с оператором. Это, как правило, используется начинающими. Для работы инфракрасного управления требуется «линия визирования». Приемник должен иметь возможность «видеть» передатчик в любое время, чтобы получать данные.
Инфракрасные пульты дистанционного управления (такие, как универсальные пульты дистанционного управления, для телевизоров), используются для отправки команд инфракрасному приемнику, подключенному к микроконтроллеру. Он затем интерпретирует эти сигналы и контролирует действия робота.
Для управления при помощи радиочастот требуется передатчик и приемник с небольшими микроконтроллерами для отправки, приема и интерпретации данных, передаваемых по радиочастоте (RF). В коробке приемника имеется печатная плата (печатная плата), которая содержит приемный блок и небольшой контроллер сервомотора. Для радиосвязи требуется передатчик, согласованный / сопряженный с приемником. Возможно использование трансивера, который может отправлять и принимать данные между двумя физически разными средами систем связи.
Радиоуправление не требует прямой видимости и может быть осуществлено на большом расстоянии. Стандартные радиочастотные устройства могут обеспечивать передачу данных между устройствами на расстоянии до нескольких километров. В то время как более профессиональные радиочастотные устройства могут обеспечивать управление роботом практически на любом расстоянии.
Многие конструкторы роботов предпочитают изготавливать полуавтономных роботов с радиоуправлением. Это позволяет роботу быть максимально автономным, обеспечивать обратную связь с пользователем. И может давать пользователю некоторый контроль над некоторыми его функциями в случае необходимости.
Bluetooth является радиосигналом (RF) и передается по определенным протоколам для отправки и получения данных. Обычный диапазон Bluetooth часто ограничен примерно 10 м. Хотя он имеет то преимущество, что позволяет пользователям управлять своим роботом через устройства с поддержкой Bluetooth. Это в первую очередь сотовые телефоны, КПК и ноутбуки (хотя для создания интерфейса может потребоваться настраиваемое программирование). Так же, как и радиоуправление, Bluetooth предлагает двустороннюю связь.
Управление по WiFi часто является дополнительной опцией для роботов. Способность управлять роботом по беспроводной сети через Интернет представляет некоторые существенные преимущества (и некоторые недостатки) для беспроводного управления. Чтобы настроить управление роботом по Wi-Fi нужен беспроводной маршрутизатор, подключенный к Интернету, и блок WiFi на самом роботе. Для робота можно использовать устройство, которое поддерживает TCP / IP протокол.
Другая беспроводная технология, которая была первоначально разработана для связи человека и человека — сотовый телефон, теперь используется для управления роботами. Поскольку частоты сотового телефона регулируются, включение сотового модуля на робота обычно требует дополнительного программирования. Также не нужно понимания системы сотовой сети и правил.
Следующим шагом будет использование микроконтроллера в вашем роботе в полном объеме. И в первую очередь программирование его алгоритма работы по вводу данных от его датчиков. Автономное управление может осуществляться в различных формах:
Настоящее автономное управление включает в себя множество датчиков и алгоритмов. Они позволяют роботу самостоятельно определять лучшее действие в любой заданной ситуации. Самые сложные методы управления, которые в настоящее время реализуются на автономных роботах, являются визуальными и слуховыми командами. Для визуального контроля робот смотрит на человека или объект, чтобы получить свои команды.
Управление роботом для поворота налево при помощи чтения с листа бумаги стрелки, указывающей влево, намного сложнее выполнить, чем можно было бы представить. Служебная команда, такая как «повернуть налево», также требует довольно много программирования. Программирование множества сложных команд, таких как «Принесите мне тапочки» уже не фантазия. Хотя требует очень высокого уровня программирования и большого количества времени.
Целью нашего проекта является создание автономной платформы, способной принимать решение, основанное на внешних сигналах от датчиков. Мы будем использовать микроконтроллер Lego EV3. Он нам позволяет сделать как полностью автономную платформу. Так и полуавтономную, управляемую по Bluetooth или при помощи инфракрасного пульта управления.
Подобный материал:
ЧЕРЕЗ СЕТЬ ИНТЕРНЕТ
с.н.с. И.Р. Белоусов
1/2 года, 2-5 курс и аспиранты
Изучение современных методов моделирования и управления роботами. Рассматриваются алгоритмы взаимодействия роботов со сложными динамическими объектами с использованием в контуре управления системы технического зрения. Изучаются методы дистанционного управления роботами через сеть Интернет. Представляется архитектура распределенных систем управления, рассмотриваются методы передачи информации, графического моделирования, дистанционного программирования роботов с использованием открытых технологий Java и Java3D.
Введение.
Постановка задач, рассматриваемых в курсе. Демонстрация экспериментальных результатов.
Управление роботами в задачах взаимодействия с подвижными объектами.
1. Постановка задач. Примеры.
Обзор задач и методов взаимодействия роботов с подвижными объектами. Использование системы технического зрения и моделей динамики объектов. Постановка задачи захвата роботом стержня на бифилярном подвесе. Постановка задачи взаимодействия робота со сферическими маятниками.
2. Использование систем технического зрения.
Алгоритмы обработки видеоизображений. Определение положений стержня и маятников, использование кинематического прогноза. Обработка результатов измерений.
3. Математическое моделирование и экспериментальная отработка алгоритмов.
Уравнения колебаний стержня на бифилярном подвесе. Алгоритмы захвата стержня роботом манипулятором. Уравнения колебаний сферического маятника. Алгоритмы взаимодействия робота с маятниками. Архитектура экспериментального стенда. Обсуждение результатов экспериментов.
Дистанционное управление роботами через сеть интернет.
4. Обзор существующих систем.
Системы управления через Интернет мобильными и манипуляционными роботами. Недостатки существующих систем, проблемы управления через Интернет, подходы к решению.
5. Архитектура распределенных систем управления роботами.
Аппаратная и программная организация серверной и клиентской частей распределенной системы управления роботом. Организация обмена данными.
6. Дистанционное программирование через Интернет.
Языки программирования роботов. Среда для дистанционного программирования роботов через Интернет.
7. Управление реальными системами.
Эксперименты по управлению манипуляционными и мобильными роботами через Интернет. Использование виртуальной среды управления роботами. Обсуждение результатов экспериментов. Направления дальнейших исследований.
Графическое моделирование роботов.
8. Введение в компьютерную графику.
Системы координат, трехмерные преобразования. Простейшие алгоритмы.
9. Моделирование геометрических объектов на Java3D.
Введение в Java3D. Особенности программирования графики на Java3D. Базовые понятия. Визуализация простейших геометрических объектов на Java3D. Освещение, текстуры, управление объектами, динамическая реконфигурация сцен.
10. Описание кинематики роботов.
Методы описания кинематики манипуляторов. Прямая и обратная задачи кинематики. Метод последовательного формирования систем координат. Примеры.
11. Графическое моделирование роботов и рабочего пространства.
Комбинирование объектов. Геометрические преобразования. Визуализация роботов, сложных геометрических и подвижных объектов.
В сети выложено огромное количество инструкций по сборке различных моделей роботов. Попробуем собрать свою собственную модель домашнего Wi-Fi робота используя информацию с форума Cyber-place , детали частично с интернет-магазина . Многие запчасти выгодно заказывать напрямую из Китая (Ebay, Aliexpress). Это значительно уменьшит бюджет.
Свой взгляд на теорию и проектирование современных роботов изложен .
Микроконтроллер: ATmega328
Входное напряжение: от 5V до 30V
Тактовая частота: 16 МГц
Flash память: 32 KB
Оперативная память (SRAM): 2 Кб
Плата предназначена для подключения к ней различных устройств Arduino или аналогов устройств через стандартные интерфейсы.
К нему можно подключить и управлять двумя двигателями постоянного тока или 4 шаговыми двигателями. Содержит двухканальный драйвер двигателя HG7881.
Питание: 2.5V до 12V
Потребление тока на один канал:: до 800 мА
Мотор-редуктор с передаточным соотношением 1:48
Диапазон напряжения от 3V до 6V.
Скоростью вращения колеса 48 м/мин.
Ток холостого хода (6в): 120mA
Уровень шума: <65dB
Данная модель идеально подходит для установки сторонних прошивок. Для управления нашим роботом выбрана . Прошивка создана на базе прошивки OpenWRT версии r37816.
Управление роутером производится из любого web-браузера через Web-интерфейс. Также доступно управление через telnet, SSH. Расширение функционала производится за счет установки дополнений из каталога. Доступная память для приложений 1,2Mb.
Камера с возможностью коррекции изображения.
Блок для связи USB-устройств между собой: arduino, маршрутизатор, web-камера.
Снабжены резиновыми шинами и валом для возможной установки диска оптического энкодера, идеально подойдет для перемещения платформы на поверхности.
Необходим для установки элементов питания. Для нашей версии робота достаточно 4 элементов питания размера AA.
Вспомогательные инструменты для соединения отдельных элементов.
Подготовка платы робота «CyberBot» является самым сложным для начинающих, т.к. подразумевает использование паяльника. Необходимо припаять:
Резисторы необходимо устанавливать из расчета — по одному электролиту и блокирующему конденсатору для каждого установленного модуля. В результате мы должны получить следующее:
Разъемы позволят дополнять микросхему дополнительными датчиками и избавят нас от постоянной перепайки деталей.
К плате контроллера подключаем модуль управления двигателями — Motor Shield. Прикручиваем батарейный отсек. Для крепления двигателей к платформе понадобятся болты М3х30. На двигатели надеваем колеса.
На вторую часть платформы прикрепляем остальное: web-камеру, маршрутизатор, USB-хаб. Провода стягиваем скобами и аккуратно укладываем чтобы они не мешали другим элементам.
После установки и запуска среды разработки необходимо выбрать тип используемой платы и порт через который будет осуществляться обмен данными между контроллером и компьютером. Данные настройки осуществляются через меню «Tools» «Board menu» .
При использовании платы Arduino Nano CH340G в системе Windows необходима установка драйвера CH341SER
Плата должна определяться в системе как USB2.0 Serial.
Перед загрузкой скетча проверяем его на наличие ошибок. В меню «ЭСКИЗ»
выбираем «ПРОВЕРИТЬ/СКОМПИЛИРОВАТЬ»
.
Если возникнут ошибки при проверке компилятор укажет на строку с неправильным кодом. Если ошибок не найдено, то в меню «ЭСКИЗ»
выбираем «ВГРУЗИТЬ»
.
Для работы скетча необходима библиотека CyberLib
#include
Модуль для работы с консолью из веб браузера.
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
Найденные решения на форуме:
Как показывала практика ни один из вышеописанных способов не помог. Только после замены микроконтроллера на Carduino Nano V7 робот начал работать через маршрутизатор.
Давно мечтал сделать 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
Все собрано и прошито, теперь включаем робота и управляем им удаленно.
На PC кроме экранных кнопок можно управлять еще с клавиатуры, клавишами W, A, D, S, X
Выкладываю видео:
В дальнейшем планирую научить робота ориентироваться в пространстве и рисовать карту помещения.
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" на большом расстоянии.
Всё перечисленное выше позволяет управлять мобильным роботом дистанционно на огромном расстоянии и получать о нём информацию.
Таким образом, удалось добиться дистанционного управления мобильным роботом через интернет, используя радиоканал сотового телефона с наличием в нём GPRS модема. И как следствие этого - значительно увеличилось расстояние на котором можно управлять мобильным роботом. А также расширился диапозон применения робота с точки зрения труднодоступных мест суши.
СПИСОК ЛИТЕРАТУРЫ