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

Синтез нечетких алгоритмов управления движением двухприводного мобильного робота Текст научной статьи по специальности «Математика»

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

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

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

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

Похожие темы научных работ по математике , автор научной работы — Аржаник А.В.

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

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

СИНТЕЗ НЕЧЕТКИХ АЛГОРИТМОВ УПРАВЛЕНИЯ ДВИЖЕНИЕМ ДВУХПРИВОДНОГО МОБИЛЬНОГО РОБОТА

А.В. Аржаник

Научный руководитель - кандидат технических наук, доцент А.В. Лямин

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

Введение

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

Данная статья посвящена описанию алгоритмов управления двухприводным мобильным роботом при движении в динамической среде, оборудованной специальными световыми маяками. Использование активных маяков, включаемых по определенной программе, позволяет ставить перед роботом разнообразные задачи, сложность которых может варьироваться в широких пределах - от простого наведения на маяк до маневрирования между группой активных маяков [1, 2]. Для решения поставленных задач применяются различные методы: рекуррентная фильтрация и слежение за фиктивным маяком, движущимся вдоль предварительно спланированной траектории; создание виртуального полигона, используемого для навигации робота и запоминания координат маяков; построение карт местности и др. [2]. Однако при движении робота в условиях неопределенности, вызванной нечеткостью поставленных перед ним задач, неоднозначностью интерпретирования текущей ситуации, уместно использование методов управления на основе нечеткой логики. Основной идеей данного исследования явилось применение аппарата нечеткой логики как метода синтеза нелинейной статической обратной связи, а для ее реализации, в свою очередь, использовалась искусственная нейронная сеть. Применение данных методов позволяет строить алгоритмы управления, обеспечивающие устойчивое и качественное управление сложными динамическими объектами.

Планирование движения мобильного робота

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

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

• движение в заданную точку, положение которой определяется установленным на полигоне излучающим маяком (наведение на маяк);

• проезд между двумя маяками;

• движение вокруг маяка.

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

ворота. Поэтому в дальнейшем будем рассматривать только первую и третью задачи. Любое упражнение можно представить комбинацией из этих двух задач.

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

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

Рассмотрим процедуру синтеза нечеткой нейронной сети на примере выполнения роботом упражнения «маяки-ворота».

Задача прохождения роботом «ворот», образованных двумя активными маяками М1 и М2, очевидно, аналогична задаче движения на маяк, но двигаться роботу нужно по биссектрисе угла между маяками (рис. 1).

М1

Рис. 1. Прохождение роботом «ворот»

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

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

а)

М1

V

ш

б)

Рис. 2. Варианты движения робота при прохождении «ворот» в зависимости от его начального положения

Существуют две базовые структуры нечетких нейронных сетей: модель Такаги-Сугено-Канга (ТБК) и модель Ванга-Менделя.

Структура нечеткой сети Т8К

Особенностью нечеткой сети ТБК является то, что функция заключения определяется нечетким, но точечным образом, благодаря чему дефаззификатор на выходе системы не требуется, а сама модель вывода значительно упрощается. Обобщенную схему вывода в модели ТБК при использовании М правил и N переменных хj можно представить в виде [4]:

если ( Х1 это л|1)) И ( Х2 это Л2р) И ... И ( XN это А^), то л = /[(х^ Х2,..., XN ),

если ( Х1 это А^М)) И ( Х2 это )) И ... И ( XN это АN)), то Ум = /м (х1, Х2,..., XN ), где А^ - величины соответствующего коэффициента принадлежности /иа (хг-), / (х) = /1 (Х1, Х2,..., XN) - четкая функция, на практике представляющая собой полином первого порядка

N

У = / (х) = Ро + X Р

j=1

Гj •

Здесь коэффициенты Ро,Р1,...,РN - цифровые веса, подбираемые в процессе адаптации (обучения)сети.

При проектировании нечеткой нейронной сети ТБК условие «если х^ это А{» реализуется функцией фаззификации, которая представляется обобщенной функцией Гаусса отдельно для каждой переменной хг-:

/А(X) = ■ 1

1 +

( _ \2Ь, х_^

V а1 У

где /а (Х[) представляет оператор А^. Обобщенная функция Гаусса при соответствующем подборе показателя степени Ь может определять как стандартную функцию Гаусса (Ь = 1), так и треугольную (Ь = 0.6) или трапецеидальную функцию.

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

N

$)(X) = П

]=1

1

х с(к) )

х] с]

1+

(к)

V ]

Если в модели вывода ТБК используется М правил, то выход системы определяется как их средневзвешенное и представим в виде

У( х) = •

1

М

1

М

(

N

\

]

М Е ^кУк(х)=м— Е ^к Рко + Е р]

Е V=1 Е V=1 V ]=1

к=1 к=1

Присутствующие в этом выражении веса м>к интерпретируются как значимость

компонентов $)(х) , определенных выше.

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

продольной осью робота и направлением на маяк).

При выполнении роботом упражнения «маяки-ворота» правила вывода формулируются следующим образом [5]:

1 1 я /р1 пРи Р2 =-1, 0

если Р1 = -1 или Р2 =-1, то о = < и в = 0 .

[Р2 при Р1 = -1, У1 + у 2

если Р1 > 0 и Р2 > 0, то 0 = ^ и в = 0 .

71 + у2 * *

если Р1 « 0 или Р2 ~ 0, то 0 = 1 2 2 и в = г - г = г - (р^ или р2) .

У1 + у 2 * *

если У1 « 0 и У2 ~ 0, то 0 = 1 2 2 ив = г - г = г - ^ или р 2) .

71 + у 2 * *

если У1 > 90° и У2 > 90°, то 0 = 1 2 2 и в = г - г = г - (р} или р2) .

*

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

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

Структура нечеткой сети ТБК, соответствующая описанным правилам представлена на рис. 3.

Сеть имеет 2N входов, где N - общее количество маяков, в данном случае сеть имеет четыре входа:

х1, г = 1,2 - расстояние до соответствующего маяка;

2

х^ , г = 1,2- угол на соответствующий маяк.

Представленная на рисунке сеть имеет один выходной нейрон, поэтому полная структура нечеткой нейронной сети в рассматриваемом случае состоит из двух независимых сетей, идентичных по структуре, но в первой сети выход определяет желаемое значение параметра 5, во второй сети - желаемое значение параметра в.

Рис. 3. Структура нечеткой нейронной сети ТЭК

В представленной сети можно выделить пять слоев. • Первый слой выполняет раздельную фаззификацию каждой переменной х^ (г = 1, 2, ..., 2Ы), определяя для каждого к-го правила вывода значение коэффициента при-

надлежности $)(х^) в соответствии с применяемой функцией фаззификации. Это

(к) (к) т, (к)

параметрический слой с параметрами с> , а} , Ь> , подлежащими адаптации в процессе обучения.

• Второй слой выполняет агрегирование отдельных переменных хг-, определяя результирующее значение коэффициента принадлежности Wk = $)(х) для вектора х (уровень активации правила вывода). Это непараметрический слой.

• Третий слой представляет собой генератор функции ТБК, рассчитывающий значе-

2 N

ния Ук (х) = Рк0 + Е Рк]Х] . В этом слое также производится умножение сигналов

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

]=1

Ук (х) на значения Wk , сформированные в предыдущем слое. Это параметрический слой, в котором адаптации подлежат линейные веса Рк] для к = 1, 2, ...,Ми] = 1, 2,

..., определяющие функцию следствия модели ТБК.

• Четвертый слой составляют два нейрона-сумматора, один из которых рассчитывает

М

взвешенную сумму сигналов Ук (х), а второй определяет сумму весов Е Wk . Это

к=1

непараметрический слой.

• Пятый слой, состоящий из одного выходного нейрона, - это нормализующий слой для весов Wk . Выходной сигнал у(х) определяется выражением

У( х) = / (х) = А /2

Это также непараметрический слой. Из приведенного описания следует, что нечеткая сеть ТБК содержит только два параметрических слоя (первый и третий), параметры которых уточняются в процессе обучения. Параметры первого слоя называют нелинейными параметрами, а параметры третьего слоя - линейными весами. Для приведенного примера, использующего пять нечетких правил, при наличии четырех входных переменных общее количество параметров сети равно 85, из которых 25 - это линейные веса, остальные 60 - параметры нелинейной части условий. Для уменьшения количества адаптируемых параметров возможно уменьшение количества независимых функций принадлежности для отдельных переменных, посредством их комбинирования.

Структура нечеткой сети Ванга-Менделя

Если в качестве модели вывода нечеткой нейронной сети использовать модель Мамдане-Заде, то получим структуру нечеткой сети, определенную Л. Вангом и Дж. Менделем [4]. В модели используется дефаззификация относительно среднего центра

У(х) = ■

1 М

М

Е

к=1

2 N

П$}(х] )

]=1

Е V

к=1

2 N

П$к (х]) ]=1

где параметры V интерпретируются как центр Ск функции принадлежности следствия

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

Структура нечеткой сети Ванга-Менделя, соответствующая описанным правилам прохождения роботом «ворот», представлена на рис. 4.

Рис. 4. Структура нечеткой нейронной сети Ванга-Менделя

Данная сеть имеет четырехслойную структуру, в которой первый слой выполняет фаззификацию входных переменных, второй - агрегирование значений активации условия (определение единственного значения), третий (линейный) - агрегирование М правил вывода (первый нейрон) и генерацию нормализующего слоя (второй нейрон), выходной слой осуществляет нормализацию, формируя выходной сигнал у(х). Первый и третий слои являются параметрическими. В первом слое это параметры функции фаззификации (с(к), сг(к), Ь(к)), в третьем слое - веса т^,V2,..., м .

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

ся в представлении компонентов «то ...». В сети ТБК результат представляется полиномом первого порядка. В сети Ванга-Менделя результат представляется константой ( V = Сk), которую можно рассматривать как полином нулевого порядка, определяющий центр функции принадлежности следствия. Таким образом, с функциональной точки зрения сеть Ванга-Менделя является частным случаем сети ТБК.

Гибридный алгоритм обучения нечетких сетей

Задача обеих сетей состоит в таком в таком отображении пар данных (х, d), чтобы ожидаемое значение, соответствующее входному вектору х, формировалось выходной функцией сети У(х) . При движении мобильного робота в среде, оборудованной специальными маяками, ожидаемые выходные сигналы нейрона di, составляющие вектор d, известны, поэтому возможно использование алгоритмов обучения с учителем. Рассмотрим подробнее гибридный метод обучения нечетких нейронных сетей [4]. Данный метод применяется к обеим описанным выше сетевым структурам. Сеть Ванга-Менделя можно при этом рассматривать как сеть ТБК, в которой все параметры (кроме подлежащего определению V = Рк0) Рк] (к = 1,2,...,М, j = 1,2,..., 2N) тождественно равны нулю.

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

На первом этапе при фиксации определенных значений параметров функции принадлежности (в первом цикле - это значения, полученные в результате инициализации) путем решения системы линейных уравнений рассчитываются линейные параметры Рк] полинома ТБК. При известных значениях функции принадлежности

Г N ^

Рк 0 + Е Рк]х„

M

Я х) = х ч

k=1

j=1

где

wk =

N

)( Xj )

j=1

N

х

r=1

= const

П $}(х] )

_ ]=1

для к = 1, 2, ., М. Прир обучающих выборках (х(1), d(1)) (/ = 1,2,..., р) и замене выходного сигнала сети ожидаемым значением d(/) получаем систему из р линейных уравнений

w11 w21

w11x1

(1)

w21X1

(2)

w' X(1) w11XN

' (2) w21XN

w1M

w2 m

w^x1

(1)

w2 MX1

(2)

w' w' X(P) w' X(P) wp1 w p1X1 L w p1XN

w pM w pMX1

(p)

~ p10 "

w ' X(1) 1 wMXN " d(1) "

' (2) w2MXN p1n = d(2)

w ' X( p ) w pMXN pM 0

d( p) _

_ pMN _

Это выражение можно записать в матричной форме:

Лр = а.

Так как матрица А является прямоугольной, решение этой системы уравнений можно получить при помощи псевдоинверсии матрицы А

р = А,

где А + = (АТ А)-1АТ .

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

У =

У У

(2)

У

( p)

= Ap,

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

с(к)(п +1) = с(к)(п)_ п дЕ(п)

дс

(к )

Лк )

(n + 1) = (J) (n) - ту

bf )( n +1) = b(k )(n) -пь

j

дЕ (n) ду(к ) • дЕ (n)

где п - номер итерации, це (0,1) - коэффициент обучения.

После уточнения нелинейных параметров вновь запускается процесс адаптации линейных параметров функции ТБК (первый этап), а затем и нелинейных параметров (второй этап). Цикл повторяется вплоть до стабилизации всех параметров процесса.

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

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

Заключение

Особенностью представленной методики синтеза алгоритмов планирования движения мобильного робота, функционирующего в среде, оборудованной инфракрасными маяками, является использование нейронных сетей и аппарата нечеткой логики. Представлены процедуры построения структуры нечетких нейронных сетей на основе моделей вывода Такаги-Сугено-Канга и Ванга-Менделя, а также гибридный алгоритм обучения представленных сетевых структур. Применение данных методов современной теории управления позволяет строить алгоритмы, обеспечивающие устойчивое и качественное управление сложными динамическими объектами.

Литература

1. Аржаник А.В., Вашенков О.Е., Лямин А.В., Штефан В.И. Мобильный робот «Невская стрела». // Мехатроника, автоматизация, управление. М.: Новые технологии. 2004. №2. С. 23-26.

2. Мобильные роботы и мехатронные системы. / Материалы научной школы-конференции (Москва, 5-6 декабря 2000 г.). М.: Изд-во Моск. ун-та, 2000. 288 с.

3. Аржаник А.В. Система технического зрения мобильного робота. // Вестник конференции молодых ученых СПбГУ ИТМО. Сборник научных трудов. / Под ред. В. Л. Ткалич. Том 2. СПб: СПбГУ ИТМО, 2004. С. 97-102.

4. Осовский С. Нейронные сети для обработки информации. М.:Финансы и статистика, 2004. 344 с.

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

6. Ясницкий Л.Н. Введение в искусственный интеллект. / Учеб. пособие для студ. высш. учеб. заведений. М.: Издательский центр «Академия», 2005. 176 с.

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