Научная статья на тему 'НЕЙРОННЫЕ СЕТИ ПРИ ПЛАНИРОВАНИИ МАРШРУТА ДВИЖЕНИЯ МОБИЛЬНОГО РОБОТА'

НЕЙРОННЫЕ СЕТИ ПРИ ПЛАНИРОВАНИИ МАРШРУТА ДВИЖЕНИЯ МОБИЛЬНОГО РОБОТА Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
1
1
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИНТЕЛЛЕКТУАЛЬНЫЕ РОБОТОТЕХНИЧЕСКИЕ СИСТЕМЫ / ПЛАНИРОВАНИЕ МАРШРУТА ДВИЖЕНИЯ РОБОТА / НЕЙРОННЫЕ СЕТИ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Будажапова Б.Б.

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Будажапова Б.Б.

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

NEURAL NETWORK FOR ROUTE PLANNING OF A MOBILE ROBOT

This paper considers the use of neural networks algorithm for route planning of mobile robot motion.

Текст научной работы на тему «НЕЙРОННЫЕ СЕТИ ПРИ ПЛАНИРОВАНИИ МАРШРУТА ДВИЖЕНИЯ МОБИЛЬНОГО РОБОТА»

Б.Б. Будажапова, канд. техн. наук, доц., e-mail: Tanyul2008@rambler.ru Восточно-Сибирский государственный университет технологий и управления, г. Улан-Удэ

УДК 004.8

НЕЙРОННЫЕ СЕТИ ПРИ ПЛАНИРОВАНИИ МАРШРУТА ДВИЖЕНИЯ МОБИЛЬНОГО РОБОТА

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

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

B.B. Budazhapova, Cand. Sc. Engineering, Assoc. Prof.

NEURAL NETWORK FOR ROUTE PLANNING OF A MOBILE ROBOT

This paper considers the use of neural networks algorithm for route planning of mobile robot motion.

Key words: intelligent robotic systems, robot path planning, neural networks.

Введение

Планирование поведения - одно из направлений исследований по искусственному интеллекту. Основная задача этого направления - поиск процедур, которые могли бы автоматически предлагать наикратчайший путь к достижению поставленной цели исходя из данной ситуации. Задачи такого типа оказались наиболее актуальными для роботов, действующих автономно. Сегодня ученые многих стран работают над проблемой расширения функциональных возможностей мобильных транспортных роботов. Типичным примером интеллектуальной задачи можно считать планирование поведения робота при транспортировке грузов. Процесс решения задачи сводится к выбору плана действий робота, направленных на достижение цели и поиск путей обхода препятствий, преодоления возникающих трудностей. Существует множество работ в области построения маршрута движения мобильного робота [1, 2, 3]. Это построение рабочего коридора, метод диафрагм, аппроксимация набора точек, com-объекты Excel (построение трендов), открытые методы Autocad (построение сплайна) и нейронные сети. Обзор показывает, что в настоящее время данное направление исследований развивается достаточно интенсивно. Но хотелось бы отметить, что у существующих методов, кроме нейронных сетей, очень низкое быстродействие.

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

{ (x, y)| x, y e R}-(x' I x'e R}. (1)

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

Рассмотрим общий алгоритм с фиксированным количеством ядер классов М. Классами в рамках данной работы будем считать названия моделируемых кривых. Ядром класса назовем наиболее общий набор описаний для всех представителей данного класса. Имеется в виду, что некоторый объект, который похож на все остальные, больше, чем каждый из них.

Количество ядер, в отличие от предложений авторов источников [4, 5, 6], может изменяться в процессе эксплуатации нейронной сети. При обучении число ядер остается постоянным.

Начальные значения ядер с1,..., с1" могут выбираться случайными, одинаковыми или по другим эвристическим правилам.

Каждая итерация алгоритма состоит из двух этапов:

1. Ищем такое разбиение т{р) объектов {хр} на классы, чтобы минимизировать суммарную меру близости между объектами и ядрами их классов:

тт{0 = ^^Р,стр}. (2)

р

Результат этапа - создание функции т (р<), разбивающей объекты на классы. 2. При неизменном разбиении т (р) настраиваем ядра {ст} так, чтобы в пределах каждого класса то суммарная мера близости ядра этого класса и объектов, принадлежащих ему, была минимальной:

тМО = Уё (хр, ст( рЬ

>D= Yjd(xP,cm(P))f Для всех m0=1...M. У P:m(P^m0 J

Результат этого этапа - новый набор ядер {ст}.

Формализация задачи. Выберем в качестве входных данных вектор параметров единственного объекта. Результатом работы сети будет код класса, к которому принадлежит предъявленный на входе объект. В нейросетях принято кодирование номером канала. Поэтому сеть будет иметь М выходов, по числу классов, и, чем большее значение принимает выход номер то, тем больше «уверенность» сети в том, что входной объект принадлежит к классу т0. Полезно применить функцию активации

NET

И: OUT = , (3)

XNET.

e '

i

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

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

сщ =

—— , (4)

p:m( p)=m0

где N(mo) - число объектов у? в классе mo.

При разбиении на классы должна быть минимизирована суммарная мера близости для всего множества {у?} входных объектов:

D = £ X № ~ cfP)/ = Е №>х" ) " ,cm(p)) + (cm(p\ cm(p))]. (5)

Р 2 Р

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

£(cm(p>,cm(p>) = const, 2(хр,хр) = const. (6)

р р

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

min D —> max ^ ^ xfc"(p) ■

(7)

p •

Запишем вариант алгоритма классификации для поиска максимума этой функции:

1. Цикл: для каждого вектора X {

2. Цикл: для каждого m {

3. Рассчитаем ^xfcf = Dm,p

i

} // конец цикла.

4. Находим mo, для которого m0 : max{Dm,p }.

m

5. Относим объект к классу m0. } // конец цикла.

Такой алгоритм легко реализуется в виде нейронной сети. Для этого требуется М сумматоров, находящих все D , и интерпретатор, находящий сумматор с максимальным выходом.

Сумма х?с7 очень напоминает взвешенную сумму NЕТп = Уцрсш,

г /

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

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

Нейроны слоя Кохонена [7] генерируют сигналы Вт'р. Интерпретатор выбирает максимальный сигнал слоя Кохонена и выдает номер класса т, соответствующий номеру входа, по которому интерпретатором получен максимальный сигнал. Это соответствует номеру класса объекта, который был предъявлен на входе в виде вектора хр.

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

Общее количество классов совпадает с количеством нейронов Кохонена. Меняя количество нейронов, можно динамически менять количество классов.

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

Входные векторы сети чаще всего нормируются:

хр хр

--> хр или ^-7 -» хр . (8)

3

Возможны другие способы нормировки.

Задача обучения - научить сеть активировать один и тот же нейрон для похожих векторов X на входе. Не важно, какой конкретно нейрон будет активирован.

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

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

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

Алгоритм аналогичен исходному алгоритму классификации, но коррекции весов

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

1. Присваиваем начальные значения весовым коэффициентам.

2. Подаем на вход один из векторов X1.

3. Рассчитываем выход слоя Кохонена Dm'p и определяем номер выигравшего нейрона m0, выход которого максимален, m0 ^ {Dm'р} .

4. Корректируем веса только выигравшего нейрона то'.

'■= + а(хР ~ ) ■

т0 т0 V т0/

Здесь коррекция записана в виде векторного выражения (вектор весов w нейрона m0

имеет столько компонент, сколько их у входного вектора X); v - скорость обучения, малая положительная величина. Часто используют расписание с обучением, когда v = v(t) монотонно убывает. Требования к v(t) те же, что и в случае многослойного перцептрона. Веса корректируются так, что вектор весов приближается к текущему входному вектору. Скорость обучения управляет быстротой приближения.

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

Библиография

1. Найханов В.В., Будажапова Б.Б. Аппроксимация траектории движения мобильного робота специальным радиусографическим обводом // Материалы всерос. науч.-техн. конф. «Теоретические и прикладные вопросы современных информационных технологий». - Улан-Удэ: Изд-во ВСГТУ, 2003.

2. Будажапова Б.Б., Калинкин В.В. Алгоритм построения оптимального маршрута мобильного робота на полях больших размеров с использованием теории графов и алгоритма Ли // Материалы всерос. науч.-техн. конф. «Теоретические и прикладные вопросы современных информационных технологий». - Улан-Удэ: Изд-во ВСГТУ, 2005.

3. Будажапова Б.Б. Методика расчета корректировки маршрута движения мобильного робота // Материалы V Всерос. науч.-техн. конф. с междунар. участием «Робототехника и искусственный интеллект». - Красноярск: ЦНИ «Монография», 2013.

4. Фаулер М. Рефакторинг: улучшение существующего кода: пер. с англ. - СПб.: Символ-Плюс, 2005.-432 е.: ил.

5. Bishop С.М. Neural Networks for Pattern Recognition. - Oxford: Univ. Press, 1995.

6. Ripley B.D. Pattern recognition and Neural Networks. - Cambridge: University Press, 1996.

7. Kohonen T. Self-Organization and Associative Memory. 2nd Edition. - Berlin: Springer-Verlag,

1987.

Bibliography

1. Naykhanov V.V.' Budazhapova B.B. Approximation of the mobile robot's motion path by special radius graphical outline // All-Russian Scientific Conference «Theoretical and applied problems of modern information technologies». - Ulan-Ude: ESSTU Press, 2003.

2. Budazhapova B.B.' Kalinkin V.V. An algorithm for constructing the optimal route of the mobile robot in the fields of large size using graph theory and Lee algorithm // All-Russian Scientific Conference «Theoretical and applied problems of modern information technologies». - Ulan-Ude: ESSTU Press, 2005.

3. Budazhapova B.B. Method of adjustment calculating of the mobile robot's path of motion // Proceedings of the V All-Russian conference with international participation «Robotics and Artificial Intelligence». - Krasnoyarsk: CSI «Monograph», 2013.

4. Fowler M. Refactoring: Improving the existing code: Translated from English. - SPb: Symbol-Plus, 2005. -432 p.: II.

5. Bishop C.M. Neural Networks for Pattern Recognition. - Oxford: Univ. Press, 1995.

6. Ripley B.D. Pattern recognition and Neural Networks. - Cambridge University Press, 1996.

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

7. Kohonen T. Self-Organization and Associative Memory. 2nd Edition. - Berlin: Springer-Verlag,

1987.

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