Русский   English
ДонНТУ   Портал магістрів

Реферат за темою випускної роботи

Зміст

Вступ

Робототехніка є однією з найважливіших напрямків науково-технічного прогресу, в якому проблеми механіки стикаються з проблемами управління та штучного інтелекту. Будучи інтегральною дисципліною, робототехніка вимагає від розробників знань і умінь в таких напрямках як: механіка, електроніка, програмування, менеджмент проектів. У підсумку робототехнік відрізняється від вузького спеціаліста широким кругозором і системним мисленням.

У літературному джерелі [1] наводиться таке визначення, що робот — пристрій, керований за допомогою електронної плати або комп'ютера, який можна запрограмувати на виконання певних операцій.

У більшості випадків сучасні роботи — це «руки», маніпулятори, закріплені на основі і призначені для виконання одноманітної роботи типу складання, переміщення. До роботів також відносяться пристрої, що працюють у важких для людини середовищах і керовані дистанційно, наприклад роботи, що виконують роботи на великих глибинах, у космосі, пристрої для доставки снарядів та ін., а також роботизовані іграшки.

Робот це електромеханічний, пневматичний, гідравлічний пристрій або їх комбінація, призначений для заміни людини в промисловості, небезпечних середовищах та ін.

Системи керування робототехнічними пристроями будуються на тому самому технічному базисі, що і всі інші автоматичні пристрої. Алгоритми систем керування роботами вивчаються у курсах теорії автоматичного керування, теоретичної механіки. Звичайно це лише найзагальніші курси, для глибшого вивчення рекомендується теорія навігаційних систем, наближена теорія гіроскопів, електротехніка, цифрова та аналогова схемотехніка та ін.

У сучасному світі, коли домінуючою течією є конвергенція технологій та наук, у керуванні роботами цікавих результатів досягають застосуванням знань людства з біології та моделей поведінки тварин.

Загальновизнаним є поділення методів керування на: програмне керування, адаптивне керування, інтелектуальне керування, напівавтоматичне або телекерування – тобто за участю людини.

Існує три класи пристроїв робототехніки, це збірні пристрої, маніпулятори та вже готові роботи. Розглянемо їх більш детальніше.

1. Актуальність теми

Робот може безпосередньо підкорятися командам оператора, може працювати по заздалегідь складеній програмі або слідувати набору загальних вказівок з допомогою технології штучного інтелекту. Ці завдання дозволяють полегшити або зовсім замінити людську працю на виробництві, в будівництві, при роботі з важкими вантажами, шкідливими матеріалами, а також в інших важких або небезпечних для людини умовах [2].

Ця магістрська работа присвячена удосконаленню алгоритмів пошуку шляхів та їх адаптуванню для роботів.

2. Мета і задачі дослідження та заплановані результати

Метою дослідження є визначення класів роботів, а також дослідження їх програмного забезпечення. Пошук і аналіз існуючих алгоритмів в галузі штучного інтелекту та можливості їх застосування на роботах.

Основні завдання дослідження:

  1. Дослідження збірних роботів;
  2. Дослідження роботів-маніпуляторів;
  3. Дослідження комерційних роботів;
  4. Програмне забезпечення для моделювання засобів робототехніки;
  5. Дослідження алгоритмів пушуку шляхів;

3. Дослідження класів роботів

3.1 Дослідження збірних роботів

Однією з таких розробок є експериментальний малогабаритний маневрений робот "Інтелект -9". Основною перевагою даного робота є хороша маневреність і керованість для досягнення точності в управлінні.

Структурна схема програмного забезпечення робота "Інтелект-9" наведена на рис. 1. Програмне забезпечення містить ядро програмної системи, що включає драйвери для взаємодії з апаратурою робота і засоби перемикання завдань, а також набір програмного забезпечення, що забезпечує вирішення низки завдань [3].

Схема программного обеспечения робота


Рисунок 1 – Структурна схема програмного забезпечення робота [3]

В даний час розроблені драйвер радіоінтерфейсу (ДРІ), драйвер інтерфейсу руху (ДІР), драйвер засобів сигналізації (ДЗС) і драйвер звукової карти (ДЗК). До складу програмного забезпечення робота включені також наступні прикладні завдання: мовного управління (МУ) , планування руху (ПР), синтезу мови (СМ), настройки і градуювання (НГ). Планується також підключення завдання аналізу зображень (АЗ). На рисунку 2.1 зображено структурну схему програмного забезпечення цього робота [3].

3.2 Дослідження роботів-маніпуляторів

Маніпулятор (англ. manipulator) – прилад або пристосування для регулювання складних виробничих процесів, який під управлінням оператора виконує дії (маніпуляції), аналогічні діям руки людини, або діє автоматично.

Прості маніпулятори можуть пересуватися вгору і вниз тільки в межах обмеженої дуги; складні механізми приводяться в дію за допомогою контрольного важеля керування. Типовий простий маніпулятор для захоплення може піднімати до 65 кг, але деякі системи здатні підіймати до 200 кг [4-5].

Розглянемо приклад такого пристрою, робот KATANA. Він зображений на рисунку 2.

Робот Katana


Рисунок 2 – Робот KATANA [6]

Як видно з рисунку 2, цей пристрій являє собою механічну руку. Далі розглянемо його програмне забезпечення.

У літературному джерелі [6] зазначено, що програмне забезпечення для управління роботом Katana являє собою бібліотеку KNI 4.3.0 (Katana Native Interface) з відкритим кодом на мові С++. Розробнику програмного забезпечення для управління роботами-маніпуляторами Katana також доступний опис системи команд самого робота. Це дозволяє розробляти системи програмного керування роботами-маніпуляторами для різних предметних областей. З іншого боку, проаналізувати використання цієї бібліотеки за науковими публікаціям досить складно, так як користувачам доступні тільки сама бібліотека і опис мови команд самого робота. Бібліотеку KNI можна також використовувати і в симуляторі роботів Webots, створюючи моделі роботів компанії Neuronics AG. Тому при розробці ПЗ для керування роботами використовують два методи:

  1. Моделювання в середовищі симулятора;
  2. Програмування і тестування з допомогою програмно-апаратного комплексу з використанням робота.

3.3 Дослідження комерційних роботів

До таких проектів належать проекти, у які вкладаються великі гроші компаніями-виробниками. Як правило, вони мають технічну документацію та зручні системи для програмування їхнього продукту. Розглянемо приклад такого робота Robotino.

Як модель для вивчення характеристик таких мобільних систем зручно використовувати рухомий робототехнічний комплекс Robotino (рисунок 3), оснащений всеспрямованим приводом. Три двигуна приводу забезпечують переміщення системи під всіх напрямках в горизонтальній площині, а також обертання навколо вертикальної осі на місці. Система оснащена відеокамерою (5) і датчиками двох типів: цифровими – для контролю фактичної швидкості (1) і аналоговими – для вимірювання відстані (3). Таке оснащення гарантує виконання широкого діапазону вимог, пропонованих до системам такого типу [7].

Кожен з датчиків може бути запитаний індивідуально через інтерфейс введення-виводу. Таким чином, можна уникнути зіткнення з перешкодами. Датчик противозіткнення (2) являє собою вузьку гумову трубку, розміщену по периметру шасі Robotino. Всередині трубки розташовані дві електропровідні смуги перемикання, між якими є малий зазор. При зіткненні з перешкодою ці поверхні замикаються між собою, тим самим формується сигнал для відключення приводу. Таке відключення можливе у разі зіткнення з перешкодою при переміщенні в будь-якому напрямку.

Робот Robotino


Рисунок 3 – Конструкція Robotino: а – розміщення датчиків, б – блок управління та відеокамера [8]

Блок управління містить процесор з компактною карткою пам'яті, модуль введення-виводу і інтерфейси. Robotino обладнаний дев'ятьма інфрачервоними датчиками, які встановлені по периметру шасі під кутом 40? один до одного. Ці датчики дозволяють визначати відстані до перешкод на шляху переміщення Robotino. За допомогою таких датчиків можна вимірювати відстані до перешкод 4...30 см. За допомогою відеокамери оператор має можливість візуально контролювати, управляти і оцінювати траєкторію переміщення Robotino на основі зображення, відтвореного на екрані ПК за допомогою програмної оболонки «Robotino View». Наявність акумуляторних батарей дає можливість Robotino автономно переміщатися в межах зони дії мережі WLAN. Численні датчики, відеокамера та програмне забезпечення «RobotinoView» забезпечують систему необхідне «інтелектом».

Додатково до Robotino можуть бути підключені індуктивні та інфрачервоні оптичні датчики, які через інтерфейс введення-виведення зв'язуються з все спрямованим приводом [9].

При аналізі програмного забезпечення Robotino були виділені 2                          групи програмних засобів:

  1. Robotino view для візуального програмування;;
  2. Robotino SIM для моделювання та візуалізації поведінки.

У літературному джерелі [10] була запропонована ієрархія побудови програмного забезпечення (рисунок 4):

Иерархия ПО Robotino


Рисунок 4 – Ієрархія побудови ПЗ [10]

У даній схемі є два рівні: рівень Robotino view – рівень побудови схеми для управління роботом, і рівень Robotino SIM – рівень представлення даних. Взаємодія між машинним кодом робота і кодом високого рівня здійснюється за допомогою .rvw2-файла. Цей файл являє собою xml-файл, причому кожен елемент має свою позицію у файлі. Управління роботом здійснюється дистанційно по каналу бездротового зв'язку WLAN (взаємодія між рівнем xml-файлу і машинного коду Robotino). Слід також зазначити, що дані з робота (наприклад дані з датчиків) передаються по тому ж каналу [10].

4. Алгоритми пушуку шляхів

4.1 Алгоритм Дейкстpи

Задача про найкоротший шлях полягає в знаходженні найкоротшого шляху від заданої початкової вершини a до заданої вершини z. Наступні дві задачі – безпосередні узагальнення сформульованої задачі про найкоротший шлях [11-13].

  1. Для заданої початкової вершини a знайти найкоротші шляхи від a до всіх інших вершин.
  2. Знайти найкоротші шляхи між усіма парами вершин.

Виявляється що майже всі методи розв’язання задачі про найкоротший шлях від заданої початкової вершини a до заданої вершини z також дають змогу знайти й найкоротші шляхи від вершини a до всіх інших вершин графа. Отже, за їх допомогою можна розв’язати задачу 1 із невеликими додатковими обчислювальними витратами. З іншого боку, задачу 2 можна розв’язати або n разів застосувавши алгоритм задачі 1 із різними початковими вершинами, або один раз застосувавши спеціальний алгоритм.

Найефективніший алгоритм визначення довжини найкоротшого шляху від фіксованої вершини до будь-якої іншої запропонував 1959 р. датський математик Е. Дейкстра. Цей алгоритм застосований лише тоді, коли вага кожного ребра (дуги) додатна.

4.2 Алгоритм Jump Poiunt Search

Цей алгоритм є поліпшеним алгоритмом пошуку шляху A*. JPS прискорює пошук шляху, "перестрибуючи" мысця, які повинні бути переглянуті. На відміну від подібних алгоритмів JPS не вимагає попередньої обробки і додаткових витрат пам'яті. Даний алгоритм представлений в 2011 році, а в 2012 отримав високі відгуки [14].

Приклад роботи даного алгоритму зображено на наступній анімації (см. рис. 5).

алгоритм JPS


Рисунок 5 – Приклад работи алгоритма Jump Point Search
(анімація: 7 кадрів, 7 циклів повторення, 55 кілобайт)

5. Нейронні мережі

Дослідження з тематики нейронних мереж пов'язані з тим, що спосіб обробки інформації людським мозком в корені відрізняється від методів, застосованих звичайними цифровими комп'ютерами. Мозок являє собою надзвичайно складний, нелінійний, паралельний комп'ютер (систему обробки інформації). Він має здатність організовувати свої структурні компоненти, звані нейронами (neuron), так, щоб вони могли виконувати конкретні завдання (такі як розпізнавання образів, обробку сигналів почуттів, моторні функції) у багато разів швидше, ніж можуть дозволити самі швидкодіючі сучасні комп'ютери. Прикладом такого завдання обробки інформації може служити звичайне зір (human vision) [15].

Іншим прикладом може служити локатор (sonar) кажана, що представляє собою систему активної ехолокації. Крім надання інформації про відстань до потрібного об'єкта (наприклад, мошки) цей локатор надає інформацію про відносну швидкості об'єкта, про його розміри і розміри його окремих елементів, а також про азимут і висоті руху об'єкта [15]]. Для виділення цієї інформації з отримуваного сигналу крихітний мозок кажана проводить складні нейронні обчислення. Ехолокація кажана за своїми характеристиками якості і швидкодії перевершує найскладніші прибори, створені інженерами.

У літературному джерелі [16] дається таке визначення, що нейронна мережа – це величезний розподілений паралельний процесор, складений з елементарних одиниць обробки інформації, що накопичують експериментальні знання і надають їх для подальшої обробки. Нейронна мережа подібна з мозком із двох точок зору.

Розглянемо детальніше те, яким чином працюють нейронні мережі. у літературному джерелі [17] зазначено, що нейрон головного мозку отримує вхідні сигнали від безлічі інших нейронів, причому сигнали мають вигляд електричних імпульсів. Входи нейрона діляться на дві категорії: збуджують і гальмують. Сигнал, що надійшов на збудливий вхід, підвищує збудливість нейрона, яка при досягненні певного порогу призводить до формування імпульсу на виході. Сигнал, що надходить на гальмуючий вхід, навпаки, знижує збудливість нейрона. Кожен нейрон характеризується внутрішнім станом і порогом збудливості. Якщо сума сигналів на збуджуючих і гальмуючих входах нейрона перевищує цей поріг, нейрон формує вихідний сигнал, який надходить на входи пов'язаних з ним інших нейронів, тобто відбувається поширення збудження по нейронної мережі. Типовий нейрон може мати до 103 зв'язків з іншими нейронами.

Також слід зазначити, що нейронні мережі можуть навчатися. Навчити нейронну мережу це означає, повідомити їй чого від неї домагаються. Цей процес схожий на навчання дитини алфавіту. Показавши дитині малюнок букви та отримавши невірну відповідь, йому повідомляється та відповідь, що хочуть отримати. Дитина запам’ятовує цей приклад разом з вірною відповіддю та в його пам’яті виконуються деякі зміни у потрібному напрямку [18].

Нейронну мережу зручно представляти у виді граф. Вузли в цьому графі відповідають нейронам, а ребра – зв'язкам між нейронами. З кожною зв'язком асоційований вага (раціональне число) яка відображає оцінку збудливого або гальмуючого сигналу, переданого по цьому зв'язку на вхід нейрона-реципієнта, коли нейрон-передавач збуджується [19].

Висновки

Проведений аналіз сучасного стану проблеми показує, що:

Метою магістерської роботи є дослідження можливості використання нових алгоритмів штучного інтелекту і алгоритмів пошуку шляхів у процесі побудови роботи роботів.

Досягнення сформульованої мети пов'язані з вирішенням наступних завдань:

Перелік посилань

  1. Прейко М., Устройства управления роботами: схемотехника и программирование – М.: Издательство ДМК, 2004, 202с.
  2. Лаврущенко О.М., Шевченко В.Ю., Система вiзуальної орiєнтацiї мобільного роботу пiд керуванням RTAI/Debian //Материалы международной научно-технической конференции гидротехнологии, навигации, управления движением и конструирования авиационно-космической техники [Электронный ресурс]. – Режим доступа: ftp://ftp.linux.kiev.ua/pub/conference/2007/reports/rtai.pdf
  3. Мащенко, С.В., Шинкарьов, И.В., Маневрений робот "Інтелект-9" // Штучний інтелект. 2000, ДонНТУ, ИПИИ «Наука і освіта» [Электронный ресурс]. – Режим доступа: http://ea.donntu.ru:8080/jspui/...
  4. Kopicki М., Prediction learning in robotic manipulation. A Thesis Subnitted to The University of Birmingham for the degree of Doctor Of Philosophy. –Computer Science. The University of Birmingham. April 2010 [Электронный ресурс]. – Режим доступа: http://www.cs.bham.ac.uk/~msk/pub/thesis.pdf
  5. Мельник А.А., Хоменко В.Н., Пліс П.С., Енафф П., Борисенко В.Ф., Кинематическая модель робота с шестью степенями свободы и возможностью учета зазора в суставах // Наукові праці Донецького національного технічного університету, – №10 (180), 2011. – [Электронный ресурс]. – ea.donntu.ru/...
  6. Рябченко В.В., Дацун Н.Н., Использование моделирующей среды для создания программного обеспечения программно-аппаратного комплекса управления роботом-манипулятором семейства Katana фирмы Neuronics AG // Наукові праці Донецького національного технічного університету, серія Інформатика, кібернетика та обчислювальна техніка, вып. 14 (188), Донецк, ДонНТУ, 2011. – [Электронный ресурс]. – ea.donntu.ru/...
  7. Kopicki S., European Master in Advanced Robotics. –The University of Birmingham. March 2009.
  8. Festo Didactic // Festo Inc, [Электронный ресурс]. – Режим доступа: http://www.festo-didactic.com/int-en/...
  9. Book of exercises. Festo Didactic GmbH & Co KG 2007, 29 p.
  10. Курченков Н.И., Дацун Н.Н., Модификация алгоритма поиска путей Jump Point Search для робота Robotino // Інформаційні управляючі системи та комп’ютерний моніторинг (ІУС та КМ-2014) / Матерiали IV мiжнародної науково-технiчної конференцiї студентiв, аспiрантiв та молодих вчених. – Донецьк, ДонНТУ – 2014, Том 1, с. 231-236.
  11. Гаврилов Г.П., Сапоженко А.А., Задачи и упражнения по курсу дискретной математики, – М.: Наука, 2007. – 408с.
  12. Гончарова Г.А., Мочалін А.А. Элементы дискретной математики: учеб. Пособие – М.: Форум: ИНФРА-М, 2007.
  13. Іванов Б.Н., Дискретная математика. Алгоритмы и программы. Расширенный курс – М: Известия, 2011. – 512 с.
  14. Алгоритм поиска пути Jump Point Search [Электронный ресурс]. – Режим доступа: http://habrahabr.ru/post/162915/
  15. Haykin S. «Neиral networks expand SP's horizons», ШЕЕ Signal Processing Magazine, 1996B, vоl. 13, 622 р.
  16. Круглов В.В., Борисов В.В., Искусственные нейронные сети. Теория и практика – М.: Телеком – 2002. – 388 с.
  17. Осовський С., Нейронные сети для обработки информации – М.: Финансы и статистика, 2002. – 344 с.
  18. Поспелова Д.А., Штучний інтелект [У 3-х кн.]. – Кн. 2. Моделі и методи – М.: Радіо и св`язок, 1990. – 304 с.
  19. Спірін О.С., Початки штучного інтелекту: Навчальний посібник для студ. Фіз.-мат. спеціальностей вищих пед. навч. закладів – Житомир: – Видавництво ЖДУ, 2004, – 172 с.