Роботи з керуванням через інтернет. Управління роботом може відбуватися різними способами. Управління Ethernet

Головна / Налаштування
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. Комп'ютер із приєднаним до нього стільниковим телефоном через СОМ або USB порт.
  2. Радіоканал із GPRS модемом в апараті
  3. Базова станція ретранслятор стільникової компанії
  4. Представник послуг глобальної комп'ютерної мережі (Internet) – провайдер.
  5. Інший комп'ютер із приєднаним до нього через плату в ньому та кабель від неї до мобільного роботу.
  6. Наявність доступу до глобальної комп'ютерної мережі у комп'ютера з роботом через радіоканал мобільного телефону.
  7. Наявність сталого зв'язку на провідному та радіоканальному ділянках комп'ютерної мережі (internet).

Все перераховане вище дозволяє керувати мобільним роботом дистанційно на великій відстані та отримувати інформацію про нього.

Таким чином, вдалося досягти дистанційного керування мобільним роботом через інтернет, використовуючи радіоканал мобільного телефону з наявністю в ньому GPRS модему. І як наслідок цього – значно збільшилася відстань на якій можна керувати мобільним роботом. А також розширився діапазон застосування робота з погляду важкодоступних місць суші.

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

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

Бібліографічне посилання

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

Давно мріяв зробити 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.atta // Підключення сервоприводів до порту init; // Ініціалізація портів D11_Low; // Динамік OFF randomSeed (A6_Read); // Отримати випадкове значення horn (); // Звукове оповіщення готовності робота UART_Init (57600); роутером wdt_enable (WDTO_500MS); ) void loop() ( unsigned long currentMillis = millis (); ) if (LedStep == 1 && currentMillis - previousMillis > 500)( // Затримка 0,5 сек. previousMillis = currentMillis; LedStep = 2; ) if (LedStep == 2 && currentMillis - previousMillis > 500)( // ,5 секунди LedStep = 0; ) 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; 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

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

Надалі планую навчити робота орієнтуватися у просторі та малювати карту приміщення.

Управління роботом є складним завданням. Визначення, яке ми вибрали для , вимагає, щоб пристрій отримував дані про своє середовище. Потім приймало рішення та вживало відповідних дій. Роботи можуть бути автономними та напівавтономними.

  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 робота, використовуючи інформацію з форуму 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; D6_Low; D6_Low; w;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()) ( inBy 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 робот почав працювати через маршрутизатор.

© 2024 androidas.ru - Все про Android