Українська   English
ДонНТУ   Портал магистров

Реферат по теме выпускной работы

Содержание

Введение

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

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

В большинстве случаев современные работы – это «руки», манипуляторы, закрепленные на платформе и предназначенные для выполнения однообразной работы типа перемещения. К роботам также относятся устройства, работающие в тяжелых для человека средах и управляемые дистанционно, например работы, которые выполняют работы на больших глубинах, в космосе, устройства для доставки снарядов и др., а также роботизированные игрушки.

Робот это электромеханическое, пневматическое, гидравлическое устройство или их комбинация, предназначен для замены человека в промышленности, опасных средах и др.

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

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

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

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

1. Актуальность темы

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

Данная магистрская работа посвящена усовершенствованию алгоритмов поиска путей и адаптированию их для роботов.

2. Цель и задачи исследования, планируемые результаты

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

Основные задачи исследования:

  1. Исследование сборных роботов;
  2. Исследование роботов-манипуляторов;
  3. Исследование коммерческих проектов в области робототехники;
  4. Программное обеспечение для моделирования устройств робототехники;
  5. Исследование алгоритмов поиска путей;

3. Исследование классов роботов

3.1 Исследование сборных роботов

Одной из таких разработок является экспериментальный малогабаритный маневренный робот "Интеллект -9". Основным преимуществом данного робота является хорошая маневренность и управляемость для достижения точности в управлении.

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

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


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

В настоящее время разработаны драйвер радиоинтерфейса (ДРИ), драйвер интерфейса движения (ДИД), драйвер средств сигнализации (ДСС) и драйвер звуковой карточки (ДЗК). В состав программного обеспечения робота включены также следующие прикладные задачи: речевого управления (РУ), планирования движения (ПД), синтеза речи (СР), настройки и градуировки (НГ). Планируется также подключение задачи анализа изображений (АИ) [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 – Иерархия построения ПО для Robotino [10]

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

4. Алгоритмы поиска пути

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

Задача о кратчайшем пути состоит в нахождении кратчайшего пути от заданной начальной вершины к выбранной вершине 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 с.