Магистр ДонНТУ Бровкина Даниэлла Юрьевна

Даниэлла Бровкина

Факультет компьютерных наук и технологий

Кафедра компьютерной инженерии

Специальность «Системное программирование»

Синтез управляемого мобильного робота с элементами искусственного интеллекта

Научный руководитель:
к.т.н., доц. Приходько Татьяна Александровна

Вы что, с ума сошли? Включите JavaScript!

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

Содержание

  1. Введение
  2. Цели и задачи
  3. Актуальность работы
  4. Возможная научная новизна
  5. Обзор исследований и разработок по теме
  6. Проведенные исследования и планируемые практические результаты
  7. Заключение
  8. Список использованной литературы

Введение



История робототехники уходит корнями в глубокую древность, когда впервые возникли идеи создания устройств для выполнения тяжелой механической работы, которую обычно выполнял человек. Подобные устройства и механизмы упоминались как в работах Гомера и Аристотеля, так и в произведениях Гете. Однако все это были лишь идеи, иногда даже просто выдумки, которые было невозможно реализовать. Поэтому свое интенсивное развитие робототехника начала лишь в ХХ веке, когда для многих идей появилась возможность аппаратной реализации [6].

В наше время можно найти следующее определение понятия робототехника: Робототехника (от робот и техника; англ. robotics) — это прикладная наука, занимающаяся разработкой автоматизированных технических систем и являющаяся важнейшей технической основой интенсификации производства, робототехника опирается на такие дисциплины, как электроника, механика, информатика [15]. Подобные системы и принято называть роботами.

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

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

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

При создании робота представляет интерес анализ сенсорных систем человека как эталонов [19]. Человеку даже по самым скромным оценкам не менее 80% информации поступает только через органы зрения и около 15% приходится на слух. Таким образом, можно сделать вывод, что анализ звуковой и визуальной информации должен быть ключевой составляющей в системе взаимодействия робота с окружающей средой.


Цели и задачи



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

Для достижения поставленных целей необходимо решить ряд задач:

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

Актуальность



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


Возможная научная новизна



Возможная научная новизна данной работы заключается в разработке алгоритма автономного функционирования на основе нейронных сетей и системы связи с пользователем мобильного робота на базе плат Arduino и Raspberry Pi. При разработке системы функционирования робота с внешней средой предполагается применять методы компьютерного зрения.


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




Популярная история робототехники ведет свое повествование от мифа о железных слугах Гефеста, «Франкенштейна» Мери Келли, через удивительные часовые механизмы в виде поющих бронзовых фазанов и целых движущихся городов к роботам на Марсе и гуманоидному роботу Asimo корпорации Honda. Т.е. показывает развитие мечты о роботах [17].

В Украине разработками в сфере искусственного интеллекта начали заниматься еще с середины 60-х годов ХХ века. Тогда же были созданы первые программы и устройства, которые распознавали несколько десятков отдельно произнесенных слов. Впоследствии сформировались отдельные школы, которые занимались теоретическим изучением и внедрением разработок в действие: институт кибернетики (под руководством Т.К. Винцюка), Львовский университет (П. Деркача), Харьковский национальный институт радиоэлектроники (М.Ф. Бондаренко), Днепропетровский университет (А.Н. Карпова), Одесский университет (Т.А. Бровченко и Е.О. Нушикян).

Ведущими отраслями в Украине, которые требуют постоянной модернизации оборудования, является тяжелая промышленность и машиностроение. Стремительного развития достигла замена статических роботов на мобильные. Специфика разработок в данной области зависит от разделения роботов на три базовых типа: манипуляторы, мобильные роботы и гибридные (объединяет подвижную платформу с манипулятором). Гибридные работы пока способны перемещаться в помещениях по горизонтальной поверхности, автономно выполняя задания, поставленные пользователем. Поддержка человеко-машинного взаимодействия осуществляется в направлении специалист - интеллектуальный робот-манипулятор [16]. Поэтому в настоящий момент робототехника в Украине имеет в первую очередь промышленное значение и все разработки направлены в основном именно в эту отрасль, хотя развиваются и другие направления. Например, актуальным направлением развития робототехники в Украине является применение искусственного интеллекта в медицине, что связано, прежде всего, с диагностикой болезней, назначением лечения, проведением операций интеллектуальными машинами, как с системой управления, так и автоматизированными.

Идеи искусственного интеллекта стремительно распространяются по миру, захватывая внимание тысяч людей. В разных уголках мира «живут» работы-хирурги (Россия), роботы-официанты, учителя и швейцары (Япония). Среди множества интересных роботов - беспилотный автомобиль Stenly (Стэнфордский университет, США), который самостоятельно проехал больше, чем 210 км по пустыне Мохаве, став победителем конкурса «Крепкий орешек». Компания iRobot выпускает роботов-миноискателей Packbot EOD и роботы-пылесосы Roomba [16]. В США один только Массачусетский технологический институт и его известная лаборатория Линкольна (лаборатория информатики и искусственного интеллекта) ежегодно вносит огромный вклад в развитие искусственного интеллекта и робототехники.

Среди интеллектуальных мобильных роботов нужно упомянуть такие проекты, как iCub (рис.1) [24], E-puck (рис. 2) [25] и Spykee (рис. 3) [26].

iCub — гуманоидный робот, разрабатываемый консорциумом The RobotCub Project. В качестве основных научных целей были выбраны исследования когнитивной (обучаемой) манипуляции (жестикуляция, имитация движений, взаимодействие с помощью системы жестов), восприятие окружающей среды, передвижение, ассоциативное восприятие человеческой речи. В качестве главной инженерной цели были выдвинуто создание гуманоидной платформы, общеупотребительной для всего научного сообщества.

Робот iCub

Рисунок 1 – Робот iCub

E-puck – это небольшой мобильный робот с открытым аппаратным обеспечением, разработанный для микро-инженерных исследований Майклом Бонами и Франческо Мондада в лаборатории ASL профессора Роланда Сигварта в Федеральной политехнической школе Лозанны (Швейцария).

Робот E-puck

Рисунок 2 – Робот E-puck

Spykee, мобильный робот компании Meccano, представляет собой Wifi-робот, который может управляться удаленно по сети Internet, имеет множество функций, в том числе фото- и видеосъемку, mp3-плеер и др.

Робот Spykee

Рисунок 3 – Робот Spykee

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

Алгоритмы, предназначенные для обхода роботом препятствий в трехмерном пространстве, можно разделить на несколько классов: гипотеза–тест; штрафная функция; метод скелетирования; нечеткая логика [14], нейронные сети, генетические алгоритмы. В данной работе будут рассмотрены наиболее интересные, по мнению автора, их варианты, одни рассмотрены поверхностно, другие – более подробно.

Метод гипотезы и теста, состоит из трех основных шагов: 1)предлагается гипотеза относительно пути-кандидата между начальной и конечной конфигурациями мобильного робота при движении; 2)набор конфигураций вдоль этого пути тестируется на возможность столкновений; 3)если столкновение оказывается возможным, с целью определения пути обхода исследуется препятствие, которое может вызвать это столкновение. Весь процесс повторяется.

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

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

Нечеткий алгоритм определяется упорядоченным множеством нечетких инструкций (нечетких высказываний), содержащих понятия, формализуемые нечеткими множествами.

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

Рассмотрим случай управления мобильным роботом, задачей которого является объезд препятствий. Введем две лингвистические переменные: ДИСТАНЦИЯ (расстояние от робота до препятствия) и НАПРАВЛЕНИЕ (угол между продольной осью робота и направлением к препятствию).

Рассмотрим лингвистическую переменную ДИСТАНЦИЯ. Ее значения можно определить термами ДАЛЕКО, СРЕДНЕ, БЛИЗКО и ОЧЕНЬ БЛИЗКО. Для физической реализации лингвистической переменной необходимо определить точные физические значения термов этой переменной. Пусть переменная ДИСТАНЦИЯ может принимать любые значения из диапазона от нуля до бесконечности. Согласно теории нечетких множеств, в таком случае каждому значению расстояния из указанного диапазона может быть поставлено в соответствие некоторое число от нуля до единицы, которая определяет степень принадлежности данного физического расстояния (допустим 40 см) до того или другого терма лингвистической переменной ДИСТАНЦИЯ. Степень принадлежности определяем функцией принадлежности М(d), где d - расстояние до препятствия. В нашем случае расстояние 40 см. Можно задать степень принадлежности до терма ОЧЕНЬ БЛИЗКО равное 0,7 , а до терма БЛИЗКО - 0,3. Конкретное определение степени принадлежности проходит только при работе с экспертами.

Переменной НАПРАВЛЕНИЕ, которая принимает значения в диапазоне от 0 до 360 градусов, зададим термы ЛЕВЫЙ, ПРЯМОЙ и ПРАВЫЙ.

Теперь необходимо задать исходные переменные. В данном примере достаточно одной, которую назовем РУЛЕВОЙ УГОЛ. Она может содержать термы: РЕЗКО ВЛЕВО, ВЛЕВО, ПРЯМО, ВПРАВО, РЕЗКО ВПРАВО. Связь между входом и выходом сохраняется в таблице нечетких правил.

Таблица 1. – Таблица нечетких правил

Направление\Дистанция очень близко близко среднее далеко
лево резко вправо резко вправо вправо прямо
прямо резко влево влево влево прямо
право резко влево резко влево влево прямо

Каждая запись в данной таблице соответствует своему нечеткому правилу, например, «Если дистанция близко и направление правое, тогда рулевой угол резко влево».

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

Основная идея челночного алгоритма обхода следующая: робот пытается обойти фигуру, совершая горизонтальные челночные движения от границы до границы. Робот, встретив препятствие, меняет строку либо переходит вверх или вниз в зависимости от состояния регистровой памяти. В процессе такого обхода фигура может быть обойдена не полностью ввиду того, что на пути робота встретилась другая фигура. И эта фигура будет препятствовать горизонтально-челночному движению. Робот «переключит свое внимание» на препятствие, уже пытаясь его обойти, придерживаясь той же стратегии обхода. При помощи установки флагов робот контролирует, была ли обойдена фигура полностью или нет. Также робот использует флаг при возврате к обойденной не полностью фигуре [21].

Для реализации алгоритма с помощью нейронных сетей используется нейронная сеть из двух слоев: 6 нейронов первого слоя - по одному на область и 3 выходных нейрона - по одному на выбор движения. Схематичное представление этой сети отображено на рисунке 4.

Схематичное отображение нейронной сети

Рисунок 4 – Схематичное отображение нейронной сети

Главная особенность нейронной сети – это ее обучаемость. В нашем случае, обучение направлено на то, чтобы робот не врезался в препятствия. Если столкновение произошло, это значит, что распределение весов сети неправильно, значения весов пересчитываются. Для обучения системы управления робота используется обучение без учителя, основанное на методе Хебба, которое осуществляется на основе следующей формулы:

где yi(n-1) – выходное значение нейрона i слоя (n-1), yj(n) – выходное значение нейрона j слоя n; wij(t) и wij(t-1) – весовой коэффициент синапса, соединяющего эти нейроны, на итерациях t и t 1 соответственно; a – коэффициент скорости обучения ([0;0.3]). Здесь и далее, для общности, под n подразумевается произвольный слой сети. При обучении согласно данному методу усиливаются связи между возбужденными нейронами. НС робота запоминает последний образ. Это необходимо в том случае, когда робот правильно реагирует на препятствие (не врезается) и отъезжает от препятствия, если после этого попытаться обучить сеть, то ничего не выйдет, т.к. отклики нейронов будут нулевые, поскольку и на входных нейронах будут нулевые сигналы [22].

Очень интересным алгоритмом осуществления движения мобильного робота является алгоритм, основанный на поведении мексиканских прыгающих бобов. Этот алгоритм был разработан исследователями из Технологического института Джорджии (США). Уникальность так называемых прыгающих бобов в том, что у них почти нет вычислительных мощностей или сенсоров. Внутри боба мексиканского кустарника некрупная моль заселяет личинку, которая подвешивает себя на сети шёлковых нитках ко внутренней оболочке боба. Если Солнце нагревает боб, личинка может оказаться обезвоженной и погибнуть. Поэтому при нагревании бобы «прыгают» или «катятся», фактически становясь транспортными средствами личинок. В первом случае личинка удерживается на внутренней поверхности одним концом своего тела и ударяет по этой же поверхности другим концом. Чтобы катиться, она поступает как хомяк в колесе, только не в спортивных, а в транспортных целях: быстро перебирает ложноножками, стоя на месте внутри боба, и заставляет округлую оболочку перекатываться. Чем выше температура, тем выше прыгучесть, позволяющая двигаться быстрее перекатывания: при 45 ?С боб подпрыгивает 40 раз в минуту, перекатываясь (благодаря округлой форме) после прыжка. Алгоритм основывается на следующем: чтобы выбрать самое холодное место, делается прыжок №1. Если температура снизилась, начинаются прыжки на меньшую дистанцию или перекатывания. Если наоборот — снова следует прыжок на большую дистанцию. Если после прыжка №2 температура окажется выше, чем после прыжка №1, начинается движение назад, но не прыжком, а перекатыванием, с меньшей скоростью и т.д.[23]


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





Для начального тестирования аппаратной платформы был разработан простой алгоритм обхода препятствий с учетом аппаратных особенностей. Аппарат, для которого разрабатывается алгоритм в данной работе, представляет собой платформу на 4 колесах, оснащенную пятью ультразвуковыми датчиками для измерения расстояния, платами Arduino и Raspberry Pi.

В данный момент существует огромное количество литературы, посвященной проектированию и созданию своего недорогого мобильного робота [11], в том числе и на основе Arduino и Raspberry Pi, которые как недорогие платформы наиболее часто используют в подобных целях.

Платформа, на которой и будут проводиться все дальнейшие исследования и эксперименты, включает в себя аппаратную вычислительную платформу Arduino [2]. Эта платформа представляет собой плату, состоящую из микроконтроллера Atmel AVR (ATmega328 и ATmega168 в новых версиях и ATmega8 в старых), а также включает множество разъемов для интеграции с другими схемами. Существует множество ее модификаций. В данной работе используется плата Arduino Mega 2560 (рис. 5).

Аппаратная платформа Arduino Mega 2560

Рисунок 5 - Аппаратная платформа Arduino Mega 2560

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

Из-за относительно слабых функциональных возможностей Arduino для управления всей конструкцией и удаленного управления было решено в качестве платы управления использовать одноплатный компьютер Raspberry Pi (рис. 6) [20].

Плата Raspberry Pi

Рисунок 6 - Плата Raspberry Pi

Сама конструкция, на которую крепятся платы и двигатели представляет собой небольшой металлический блок с четырьмя колесами (рис. 7).

Конструкция платформы

Рисунок 7 - Конструкция платформы

Из всевозможных сенсоров, которые можно подключить к Arduino, в данной разработке используется только ультразвуковой дальномер HC-SR04 (рис. 8), с помощью которого можно получать информацию о расстоянии до ближайших препятствий на пути робота [7]. Остальную визуальную информацию робот будет получать посредством камеры, подключенной к Raspberry Pi.

Ультразвуковой дальномер

Рисунок 8 - Ультразвуковой дальномер

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

Также платформа оснащена wifi-адаптером и устройством для распознавания речи, которое хранит и распознает до 16 голосовых команд. Именно с помощью этих устройств и реализуется простое управление платформой. Все основные способы получения информации из внешней среды проиллюстрированы на рисунке 9.

Сенсоры и аппаратные средства для связи с пользователем аппаратной платформы

Рисунок 9 - Сенсоры и аппаратные средства для связи с пользователем аппаратной платформы
(анимация: 12 кадров; 5 циклов; 78Кб)

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

Данный алгоритм выполняет обработку голосовой команды «вперед», по которой робот должен двигаться вперед и при достижении преграды пытаться ее обойти и при возможности восстановить первоначальное направление движения. Блок-схема алгоритма приведена на рисунке 10.

Блок-схема алгоритма

Рисунок 10 – Блок-схема алгоритма

Как уже говорилось выше, вершины «движение вперед», «поворот влево» и «поворот вправо» означают запуск двигателей на одну секунду. В блок-схеме приняты следующие сокращения: Д0, Д45л, Д45п, Д90л, Д90п – показания с соответствующих датчиков, БР, БР45 – безопасные расстояния с соответствующих сторон), Cnt – счетчик для возврата к первоначальному направлению, он наращивается при повороте вправо и уменьшается при повороте влево, при этом после каждого движения проверяется возможность восстановления первоначального направления проверкой этого счетчика на 0. После каждого движения алгоритм пытается приблизить значение счетчика к 0, то есть восстановить первоначальное направление. Основными критериями для обхода препятствий являются показатели с датчиков под углами 0, +45 и -45 градусов. Если показание главного «нулевого» датчика приблизилось к значению его безопасного расстояния, то обязательно нужно реализовать поворот. Для этого проверяются значения «45-градусных» датчиков. Если их значения приблизительно равны (что, к примеру, может произойти при приближении к стене под углом 90 градусов), то направление поворота выбирается в соответствии с показателями датчиков, расположенных под углами 90 градусов: где показатель больше, то есть больше пространства, туда и осуществляется поворот. Если же значения «45-градусных» датчиков отличаются больше, чем на 5 см, то осуществляется поворот в сторону большего значения.

Первая условная вершина обеспечивает возможность прохождения робота через узкий проход, когда расстояния под углом 45 градусов меньше необходимого расстояния для поворота (для этого осуществляется проверка на половину безопасного расстояния), но значение «нулевого» датчика больше безопасного расстояния.

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

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


Заключение



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


Список источников



  1. Юревич Е.И. «Основы робототехники». - 2-е изд., перераб. и доп. - Спб.: БХВ-Петербург, 2005. - 416 с.: ил.
  2. Аппаратная платформа Arduino. Электронный ресурс. Режим доступа: http://arduino.ru
  3. Конструирование роботов: Пер. с франц./ Андре П., Кофман Ж.-М., Лот Ф., Тайар Ж.-П – М.: Мир, 1986. – 360 с., ил.
  4. Michael McRoberts «Beginning Arduino». – 2010. – 459 с., ил.
  5. Motor Shield - Arduino motor. Электронный ресурс. Режим доступа: http://www.ladyada.net/make/mshield/index.html
  6. Юревич Е.И. «Управление роботами и роботехническими системами». - 2-е изд., перераб. и доп. - Спб.: БХВ-Петербург, 2005. - 416 с.: ил.
  7. Куафе Ф. «Взаимодействие робота с внешней средой: Пер. с франц». – М.: Мир, 1985. – 285с.
  8. Шахинпур М. «Курс робототехники: Пер. с англ.» - М.: Мир, 1990. – 527с.
  9. Хорн Б.К.П. «Зрение роботов: Пер. с англ.» - М.: Мир, 1989. – 487с.
  10. Майк Предко «Устройства управления роботами: схемотехника и программирование».– М.: ДМК-Пресс, 2004. – 403с.
  11. Бишоп О. «Настольная книга разработчика роботов. – К.: «МК-Пресс», СПб.: «КОРОНА-ВЕК», 2010. – 400с.
  12. Хайкин С. Нейронные сети: полный курс, 2-е изд., испр. : Пер. с англ. – М.: ООО «И.Д.Вильямс», 2006. – 1104 с.: ил.
  13. Головко В.А. Нейронные сети: обучение, организация и применение. Кн.4: Учеб. пособие для вузов // Общая ред. А.И.Галушкина. – М.: ИПРЖР, 2001. – 256с.: ил.
  14. Круглов В.В., Борисов В.В. Искусственные нейронные сети. Теория и практика. 2-е изд. – М.: Горячая линия – Телеком, 2002. – 382 с.: ил.
  15. Статья Википедии «Робототехника». Электронный ресурс. Режим доступа: http://ru.wikipedia.org/wiki/%D0%A0%D0%BE%D0%B1%D0%BE%D1%82%D0%BE%D1%82%D0%B5%D1%85%D0%BD%D0%B8%D0%BA%D0%B0
  16. Соснина А., статья «Сучасний стан та перспективи розвитку робототехніки в Україні», 2013.
  17. Баженов С., статья «Прошлое и будущее робототехники», 2012. Электронный ресурс. Режим доступа: http://www.cleverence.ru/site.aspx?page=Robotics#_Toc177756979
  18. Статья Википедии «Робот». Электронный ресурс. Режим доступа: http://ru.wikipedia.org/wiki/%D0%A0%D0%BE%D0%B1%D0%BE%D1%82
  19. Янг Дж.Ф. «Робототехника: Пер.с англ.» - Л.: Машиностроение. Ленингр.отд-ние, 1979. – 300с.
  20. Raspberry Pi. Электронный ресурс. Режим доступа: http://www.raspberrypi.org/
  21. Килибарда Г., Кудрявцев В.Б., Ушчюмлич Ш. Независимые системы автоматов в лабиринте // Дискретная математика Т. 15. ? В. 3 ? 2003.
  22. Нейронная сеть для обхода препятствий. Электронный ресурс. Режим доступа: http://stswoon.blogspot.com/2010/05/blog-post.html
  23. Передвижение мексиканских прыгающих бобов. Электронный ресурс. Режим доступа: http://www-old.me.gatech.edu/hu/Publications/Hu12-beans.pdf
  24. Робот iCube. Электронный ресурс. Режим доступа: http://www.icub.org/
  25. Робот E-puck. Электронный ресурс. Режим доступа: http://www.e-puck.org/
  26. Робот SpyKee. Электронный ресурс. Режим доступа: http://www.spykeeworld.com/