Научная статья на тему 'Система управления роботом на основе конечного автомата и нейронной сети'

Система управления роботом на основе конечного автомата и нейронной сети Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
1811
488
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РАЗРАБОТКА СИСТЕМЫ УПРАВЛЕНИЯ / РОБОТОТЕХНИКА / КОНЕЧНЫЙ АВТОМАТ / НЕЙРОННАЯ СЕТЬ / FINITE AUTOMATON / NEURAL NETWORK / CONTROL SYSTEM

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Савченко О. В., Куреннов Д. В.

Цель данного проекта – создание интеллектуальной системы для управления роботизированным объек-том, которая объединяет традиционные и инновационные программные методы. Главный компонент программного обеспечения системы – конечный автомат. Нейронная сеть, как од-на из частей конечного автомата, разработана для обнаружения различных изображений и моделирова-ния поведения робота в зависимости от типа обнаруженного объекта.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Савченко О. В., Куреннов Д. В.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Robot control system on the basis of finite automaton and the neural network

This project’s goal is the creation of intelligent system to control the robotic object, which combines both traditional and innovative programming methods. The main software component of the system is a finite state machine. A neural network as one of the parts of the finite state machine is designed to detect various images and modelling the behavior of the robot depending on the type of the detected object. The system can be applied to the solution of tasks and in other technological areas.

Текст научной работы на тему «Система управления роботом на основе конечного автомата и нейронной сети»

ISSN 1992-6502 (Print)

2014. T. 18, № 5 (66). С. 192-196. УДК 004.65

Ъюмк QjrAQnQj

VcstMii UQA7U

ISSN 2225-2789 (Online)

http://journal.ugatu.ac.ru

Система управления роботом

на основе конечного автомата и нейронной сети

1 2 о. в. Савченко , д. в. Куреннов

1 [email protected], 2 [email protected] ФГАОУ ВПО «Уральский федеральный университет имени первого Президента России Б. Н. Ельцина»

Поступила в редакцию 22 июня 2014 г.

Аннотация. Цель данного проекта - создание интеллектуальной системы для управления роботизированным объектом, которая объединяет традиционные и инновационные программные методы. Главный компонент программного обеспечения системы - конечный автомат. Нейронная сеть, как одна из частей конечного автомата, разработана для обнаружения различных изображений и моделирования поведения робота в зависимости от типа обнаруженного объекта.

Ключевые слова: разработка системы управления; робототехника; конечный автомат; нейронная сеть.

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

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

О ПРОЕКТЕ

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

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

обеспечивающих работу сложных производственных систем.

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

Рис. 1. Прототип робота

Прототип опытного образца системы управления - это система управления роботом-промоутером для раздачи листовок, получившим название С'АРДУ (рис. 1) (Самоходный Автоматизированный Робот для Улиц).

О. В. Савченко, Д. В. Куреннов • Система управления роботом ...

КЛЮЧЕВЫЕ МОМЕНТЫ РАЗРАБОТКИ СИСТЕМЫ УПРАВЛЕНИЯ

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

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

193

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

В данном проекте КА представляет собой поведение объекта в зависимости от той или иной ситуации (состояния) [1].

Схема конечного автомата (рис. 2) представляет собой совокупность возможных действий робота с описанием того или иного состояния.

Рис. 2. Схема КА

Нейронная сеть. Использование программной и аппаратной реализации математических моделей на сегодняшний день представляет собой одно из самых новых и популярных направлений развития искусственного интеллекта (ИИ). В свою очередь, одним из самых популярных и развитых направлений развития ИИ являются искусственные нейронные сети (ИНС) [2].

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

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

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

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

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

Из сетей с подобной логикой работы наиболее известна сеть Хопфилда (рис. 3), которая обычно используется для организации ассоциативной памяти.

Она состоит из единственного слоя нейронов, число которых является одновременно числом входов и выходов сети. Каждый нейрон имеет связи со всеми остальными нейронами, а также имеет один выход, через который осуществляется ввод сигнала.

О

о

-©-1—• '•

ВХОД Выход

Рис. 3. Структурная схема сети Хопфилда

Создатель сети предложил применять ее для решения знаменитой задачи Коммивояжера, которая, как известно, требует вычислений немыслимых объемов для своего решения. Использование сети Хопфилда значительно улучшает результаты поиска оптимального решения. Повышение порядка сети приводит к дальнейшему улучшению найденных сетью решений [2].

Итак, система управления роботом С'АРДУ содержит в основе нейронную сеть, которая является одной из частей конечного автомата. ИНС предназначена для распознавания различных образов и модулирования поведения робота в зависимости от типа распознанного объекта.

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

АППАРАТНОЕ ОБЕСПЕЧЕНИЕ ПРОЕКТА

Аппаратные потребности проекта полностью покрываются посредством использования одноплатного компьютера под управлением

О. В. Савченко, Д. В. Куреннов • Система управления роботом

195

Windows CE с тактовой частотой 700 МГц и модулем оперативной памяти на 256-512 МБ, размещенными по технологии «package -on-package» непосредственно на процессоре [3].

Микроконтроллер ATmega328P, сочетающий на одном кристалле функции процессора и периферийных устройств, управляет всеми сенсорными устройствами робота [4]. Эти устройства представляют собой группу датчиков с возможностями сложной обработки сигналов, настройки и регулирования параметров и стандартным интерфейсом системы управления: UZ-дальномер, IC-дальномер, датчики касания, акселерометр, энкодеры.

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

Существует множество входов: то, что видит «водитель» (камера). Эти данные обрабатываются, и реакция «водителя» является выходом из функции. Функция F (л) = y преобразует значение х (одно измерение) в y (одно измерение). В проекте применена нейронная сеть обратного распространения сигнала от датчика к контроллеру, поскольку такие нейронные сети способны аппроксимировать любую функцию с областями определения и значения, которые могут иметь несколько измерений:

F(хг,х2,хз,•••,Xn ) = У1,У2Уп .

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

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

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

от дополнительных факторов (расстояние, относительное расположение).

Для обработки и передачи входящих изображений система использует простейшую камеру с разрешением ~1.0 МПкс.

Робот запрограммирован с помощью интегрированной среды разработки Arduino. Данная среда разработки представляет собой кросс-платформенное приложение на Java, включающее в себя редактор кода, компилятор и модуль передачи прошивки в плату [4]. Язык программирования Arduino основан на С/С++.

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

Таким образом, снабженный разработанной системой управления, в основе которой лежат КА и нейронная сеть, робот способен выполнять базовые операции, характерные для подобного уровня устройств. В плане развития разработки в настоящее время ведется анализ данных по проекту «Робот-поводырь».

ЗАКЛЮЧЕНИЕ

В данной статье представлены результаты и основные предпосылки разработки системы автоматизированного управления роботизированным объектом.

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

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

Проект принимал участие и был одобрен на конкурсах и научных конференциях:

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

• Второй Международный молодёжный промышленный форум "Инженеры будущего 2012".

• Секция «Робототехника» в рамках Пятой Всероссийской конференции молодых ученых и специалистов «Будущее машиностроения России», Москва, МГТУ им. Н. Э. Баумана, 2012.

• Третья международная научная конференция «Информационные системы и технологии», 2014.

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

1. Серебряков В. А., Галочкин М. П., Гончар Д. Р., Фуругян М. Г. Теория и реализация языков программирования. М.: МЗ-Пресс, 2006. 352 с. [ V. A. Serebryakov, et al., Theory and implementation of programming languages, (in Russian), Moscow: M3 Press, 2006. ]

2. Yegnanarayana B. Artificial Neural Networks. PHI Learning Pvt, 2009.

3. J. Lang Raspberry. PijAn ARM GNU [Online]. URL: http://www.raspberrypi.org.

4. Соммер У. Программирование микроконтроллерных плат Arduino/Freeduino. М.: БХВ-Петербург, 2012. 256 с. [ V. Sommer, Programming microcontroller boards Arduino / Freeduino, (in Russian). Moscow: BHV-Peterburg, 2012. ]

ОБ АВТОРАХ

САВЧЕНКО Ольга Владимировна, асп. каф. инф. технологий и автоматизации проектирования. Дипл. инж. по прогр. обеспечению (УРФУ, 2013). Готовит дис. об упр. роботом на основе кон. автомата и нейросети.

КУРЕННОВ Дмитрий Валерьевич, доц. каф. инф. технологий и автоматизации проектирования. Дипл. инж. по авто-матиз. проектированию (УГТУ-УПИ, 1998). Канд. техн. наук (там же, 2002). Иссл. в обл. моделей и алгоритмов построения геометрических объектов.

METADATA

Title: Robot control system on the basis of finite automaton and the neural network

Authors: O. V. Savchenko1, D. V. Kurennov2

Affiliation:

Ural Federal University named of the First President of Russia B. N. Yeltsin (URFU), Russia.

Email: [email protected], [email protected].

Language: Russian.

Source: Vestnik UGATU (scientific journal of Ufa State Aviation Technical University), vol. 18, no. 5 (66), pp. 192-196, 2014. ISSN 2225-2789 (Online), ISSN 1992-6502 (Print).

Abstract: This project's goal is the creation of intelligent system to control the robotic object, which combines both traditional and innovative programming methods. The main software component of the system is a finite state machine. A neural network as one of the parts of the finite state machine is designed to detect various images and modelling the behavior of the robot depending on the type of the detected object. The system can be applied to the solution of tasks and in other technological areas.

Key words: finite automaton; neural network; control system.

About authors:

SAVCHENKO, Olga Vladimirovna, Postgrad. (PhD) Student, Dept. of Information Technologies and design automation. Engineer (URFU, 2013).

KURENNOV, Dmitry Valerievitch, Associate Prof, Head of Dept. of Information Technologies and design automation. Engineer (USTU-UPI, 1998). Cand. of Tech. Sci. (USTU-UPI, 2002).

i Надоели баннеры? Вы всегда можете отключить рекламу.