Научная статья на тему 'Управление манипулятором с помощью обучения с подкреплением'

Управление манипулятором с помощью обучения с подкреплением Текст научной статьи по специальности «Математика»

CC BY
132
28
i Надоели баннеры? Вы всегда можете отключить рекламу.
Журнал
Russian Journal of Nonlinear Dynamics
Scopus
ВАК
RSCI
MathSciNet
zbMATH
Область наук
Ключевые слова
ОБУЧЕНИЕ С ПОДКРЕПЛЕНИЕМ / МАНИПУЛЯТОР / УПРАВЛЕНИЕ / REINFORCEMENT LEARNING / MANIPULATOR / CONTROL / NEWTON--EULER ALGORITHM

Аннотация научной статьи по математике, автор научной работы — Кошманова Наталья Павловна, Трифонов Дмитрий Сергеевич, Павловский Владимир Евгеньевич

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

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

Похожие темы научных работ по математике , автор научной работы — Кошманова Наталья Павловна, Трифонов Дмитрий Сергеевич, Павловский Владимир Евгеньевич

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

Reinforcement learning for manipulator control

We present method for constructing manipulator control system with reinforcement learning algorithm. We construct learning algorithm which uses information about performed actions and their quality with respect to desired behaviour called “reward”. The goal of the learning algorithm is to construct control system maximizing total reward. Learning algorithm and constructed control system were tested on the manipulator collision avoidance problem.

Текст научной работы на тему «Управление манипулятором с помощью обучения с подкреплением»

Нелинейная динамика. 2012. Т. 8. № 4 (Мобильные роботы). С. 689-704.

Полнотекстовая версия в свободном доступе http://nd.ics.org.ru

УДК: 62-503.56 М8С 2010: 68Т40, 93С85

Управление манипулятором с помощью обучения с подкреплением

Н. П. Кошманова, Д. С. Трифонов, В. Е. Павловский

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

Ключевые слова: обучение с подкреплением, манипулятор, управление

1. Введение

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

Получено 17 июля 2012 года После доработки 24 августа 2012 года

Кошманова Наталья Павловна koshmanova.n@gmail.сот Трифонов Дмитрий Сергеевич slonegg@gmail.com Павловский Владимир Евгеньевич vlpavl@mail.ru

Институт прикладной математики им. Келдыша РАН 125047, Россия, г. Москва, Миусская пл., д. 4

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

Система управления логически состоит из двух модулей: кинематический синтез траектории с помощью обучения с подкреплением и реализация траектории. Для следования по траектории используется классическая система непрерывного управления с линеаризацией с помощью обратной связи [1—3]. Она будет рассмотрена в первой части статьи. Синтез траектории осуществляется разработанным алгоритмом на основе обучения с подкреплением, он будет рассмотрен во второй части статьи.

Рис. 1. Кинограмма управления: уклонение манипулятора от летящего предмета.

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

Хорошо исследована сфера построения систем управления для промышленных манипуляторов [1—3]. Но управляемые таким образом манипуляторы предназначены только для использования в заводских условиях для выполнения одной конкретной задачи. Более «гибкие» системы управления могут быть построены с помощью операционного управления [5]. С помощью этого метода можно независимо управлять любыми частями робота (манипулятора), например рабочим органом и мобильной платформой под ним, не задумываясь об их взаимовлиянии. И хотя система управления по-прежнему «жесткая», с помощью этой технологии гораздо проще решить многие задачи, требующие адаптации в реальном времени, такие как податливость [7] или совместное управление [6].

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

Для задания управления широко применяются нейронные сети [17], сплайны [18], динамические системы, задающие аттракторы настраиваемой формы для представления движений [11, 16]. Важными достоинствами последнего подхода являются скорость обучения.

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

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

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

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

3. Кинематика манипулятора

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

Будем считать, что всего в манипуляторе п моторов (сочленений) и п + 1 звеньев, где первое звено закреплено. Звенья могут иметь произвольную, но известную форму, массу и момент инерции. Могут также не иметь массы и размеров. Такие фиктивные звенья будут использоваться для того, чтобы расположить несколько сочленений в одной точке.

Для описания состояния манипулятора зададим вектор обобщенных координат ц = = [Ц1 ■■■Цп]Т, каждая компонента которого обозначает либо сдвиг в соответствующем сочленении, либо поворот (рис. 2) и вектор обобщенных сил Q = [^1 ■ ■ ■ Qn]T, задающий силу либо момент в соответствующем сочленении.

Рис. 2. Линейное и вращательное сочленения и соответствующие им обобщенные координаты.

4. Динамика манипулятора

Известны два подхода к выводу уравнений динамики или к получению алгоритма их вычисления [2, 3]: алгоритм Ньютона-Эйлера и уравнения Лагранжа второго рода. Алгоритм Ньютона-Эйлера немного более эффективен с вычислительной точки зрения, уравнения Лагранжа значительно удобнее для формального вывода и построения системы

(а) линейное сочленение

(Ь) вращательное сочленение

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

4.1. Алгоритм Ньютона —Эйлера

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

Допустим, задана линейная и угловая скорости центра масс предыдущего звена У-и и- 1. Угловая скорость звена г определяется угловой скоростью звена г — 1 и скоростью вращательного сочленения. На линейную скорость центра масс звена г влияют угловые скорости звеньев г и г — 1, линейная скорость звена г — 1 и оба вида сочленений. Учитывая, что линейная скорость конца вектора т, вращающегося с угловой скоростью и, равна у = = и х т (или Т = и х т), запишем линейную и угловую скорости следующего звена (рис. 3):

В уравнении выше гг — ось сочленения (рис. 2), а параметр ^ отличает вращательное сочленение от линейного:

иг = и—1 + Сг—1Яг—1гг—1) Уг = Уе,— 1 + иг X Тс,г + (1 — &-1)сЦ-1г—1 = = (Уг-1 + иг-1 х Те—) +иг х Тс,г + (1 — &-1)4г-1 гг-1.

(4.1)

(4.2)

Рис. 3. Последовательный расчет скоростей центров масс звеньев.

Дифференциируя по Ь формулы выше и учитывая

гг-1 — иг-1 х гг-1,

Тс,г = иг х Тс,г,

получим выражения для линеиного и углового ускорения:

0і — 0і—1 + Сі—1(ЯіХі—1 + Яі—1°і—1 X Хі— 1),

Щ — V) і—1 + О і—1 X Геі—1 + Ші—1 X Ші—1 X Те,і—1 + + о і X Тс,і + Оі X Оі X Тс,і +

+ (1 - Іі—і){(іі—іХі—і + 4і_! X Оі—1 X Хі—і).

(4.3)

Теперь, когда все скорости и ускорения рассчитаны, можно записать уравнения для сил и моментов, действующих на звенья. Введем силу /і и момент Ті, с которыми звено і — 1 действует на звено і. Воспользовавшись вторым законом Ньютона и уравнением Эйлера, получим (рис. 4):

/і + тд — /і+і — ШіЩ,

Ті + /і X Те,і — Ті+1 + /і+1 X Те,і — 0Іі + °і X Іі°і.

(4.4)

Уравнение выше верно для тензора инерции Іі, записанного в локальной системе координат звена і, но все скорости и ускорения рассчитывались в глобальной системе координат. Можно перевести все скорости и ускорения в локальную систему координат, но проще будет считать, что Іі — тензор инерции относительно локальной системы координат, переведенный в глобальную систему координат: Іі — I0 — ЩЦЩТ, где К0 — матрица перехода от системы координат звена і в глобальную.

Полагая /п+і — 0 и тп+і — 0, двигаясь от последнего звена к первому, вычисляются все /і, Ті по формулам, получающимся из (4.4):

/і — /і+і + Ші(іл — д),

Ті — Ті+1 — /і X Те,і — /і+1 X Те,і + 0Іі + °і X Іі°і.

(4.5)

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

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

Яг = йтТЪ-1 + (1- Ъ-1. (4.6)

Рис. 5. Вычисление обобщенной силы.

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

Рис. 6. Разветвление и слияние алгоритма Ньютона-Эйлера.

Таким образом, алгоритм можно записать в виде рекурсивного обхода дерева, описывающего структуру механизма. Во время прямого прохода будут рассчитываться скорости и ускорения звеньев, а во время обратного — силы и моменты. Введем параметры: ^ — тип сочленения между звеньями і и і аналогично (4.2), ^, Qi,j — обобщенная координата, ее производная и вторая производная и обобщенная сила, соответствующая сочленению между звеньями і и і. Нулевой индекс будет означать корневое звено. Остальные параметры остаются без изменения. Тогда алгоритм записывается следующим образом:

Algorithm 1 Рекурсивный алгоритм Ньютона - Эйлера NE(q, q, q, g)

Выход: Q

1: CalculateForces(0, 0,0, 0,0)

2: function CALCULATEFORCES(i, ui,Vi,Ui,Vi)

3: fi — mi (Vi - g)

4: ті — UI + ші x їм - fi x Te,i

5: for (для) каждого потомка j звена і do

б: Uj —— Ші + Ci,jqi,jZij

Т: Uj — ШІ + i,j (qi,j Zi,j + qi,j ШІ x Zi,j )

8:

9: vj — vi + Ші x Te,i + Uj x Tc,j + (1 Сi,j )qi,j Zi,j

Vj — Vi + Ui x Te,i + ші x Ui x Te,i

10: +Uj x Tc,j + Uj x Uj x Tc,j

+ (1 Сi,j )(qi,j Zi,j + qi,j x Ui x Zi,j )

11:

12: fj, Tj = CalculateForces(j, Uj, Vj, Uj, Vj)

13: Qi,j — £i,jTk Zi,j + (1 — £i,j )fk Zi,j

14:

15: fi — fi + fj

1б: Ті — Ті + Tk - fj x te,i

1Т: return fi,Ti

С помощью этого алгоритма можно построить систему управления с открытым циклом. Например, если есть траектория да(^, ее можно реализовать, полагая Я(Ь) = МЕ(да(Ь), дл^), да^)). Но из-за неточностей вычислений, дискретизации, неточности моторов, на практике результирующая траектория будет сильно отличаться от желаемой. Для построения замкнутой системы управления удобно воспользоваться уравнениями динамики в аналитическом виде — например, в форме Лагранжа.

4.2. Численное решение уравнения Лагранжа для манипулятора

Уравнение Лагранжа для описания динамики манипулятора в матричной форме выглядит следующим образом [1—3]:

М (д)д + V (д,д)д + С(д) = Я, (4.7)

где М(д)д характеризует силы, зависящие от ускорения, а М(д) — инерцию. V(д, д)д характеризует центробежные и кориолисовы силы, а С(д) — гравитационные. Я — обобщенная сила, имеющая такой же смысл, как и в алгоритме Ньютона-Эйлера из предыдущего раздела. Воспользовавшись определением этого алгоритма, можно записать

М (д)д + V (д,д)д + С(д) = ЫЕ(д,д,д,д).

Тогда, полагая М(д) = [М1М2 ... Мп]т, нетрудно убедиться в следующем:

С(д)= МЕ(д, 0, 0,д),

V (д,д )д = мЕ(д, д, о, о),

п • • (48)

1,% = 3,

Мг = МЕ(д, 0,ф,0), = {п.,.

I 0,г = 3-

Таким образом, с помощью алгоритма Ньютона-Эйлера вычисляются все компоненты уравнения Лагранжа в любой момент времени (в любом состоянии), а представление динамики в виде уравнения Лагранжа можно использовать для построения замкнутой системы управления.

5. Управление манипулятором

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

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

• д(Ь) — текущее состояние манипулятора,

• да&) — траектория для выполнения,

• Кр,Ка —скалярные коэффициенты регулятора,

• М(д), 'V(д, д), С(д) — приближения соответствующих компонент уравнения Лагранжа,

описывающих динамику манипулятора, вычисленные по формулам (4.8):

Я = М(д)[ё + Кр(д — да) + К(д — да)} + ?(д, д)д + С(д). (5.1)

Если предположить, что уравнение динамики вычисляется точно, то есть М(д) = М(д),

V(д,д) = V(д, д), О(д) = С(д), и подставить управляющее воздействие в уравнение (4.7),

получается п независимых уравнений затухающих колебаний для ошибки е(Ь) = д(Ь) — да^):

ё + Ка е + Кре = 0. (5.2)

Уравнение имеет три класса решений: апериодичность, граница апериодичности, слабое затухание (см. рис. 7). Кроме того, решения устойчивые, что делает систему управления надежной.

Рис. 7. Решения уравнения (5.2), Кр = и>2, Ку =

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

Кр = и2,

Р , (5.3)

Ка, = 2и.

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

6. Обучение с подкреплением

Обучение с подкреплением (reinforcement learning) — направление в машинном обучении, в котором осуществляется динамическая настройка параметров стратегии выбора действий, выполняемых агентом.

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

В стандартной постановке [8] рассматриваются только задачи с конечным числом действий, однако в данной работе рассматривается расширенная версия, использующая непрерывные пространства состояний и действий.

6.1. Формальная постановка задачи

Опишем общую схему алгоритма обучения. Обучение с подкреплением используется для решения задач, поставленных как марковский процесс принятия решений [8]. Он может быть рассмотрен как четверка (S, A, R,T), где

• S — это набор всех состояний, st G S — это состояние агента в момент времени t,

• A — набор всех возможных действий, at G A — это действие агента, совершенное в момент времени t,

• R: S х A х S — R — это функция награды R(st,at,st+i); эта награда становится известна агенту после достижения состояния st + 1,

• T: S х A х S — [0,1] — функция перехода, где T(s,a,s') — вероятность перехода в состояние s' из состояния s после выполнения действия а.

При обучении с подкреплением алгоритм осуществляет случайный выбор действий; согласно правилу, n(s,a) = P(a|s) — это вероятность выбора алгоритмом действия а в состоянии s. Цель обучения — найти стратегию выбора действий п: S х A -— [0,1], максимизирующую суммарную награду.

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

При отсутствии разделения на эпизоды максимизируется взвешенная сумма, где более близкие действия дают больший вклад в награду:

R = rt+i + Yrt+2 + Y2rt+3 + ••• = ^ Y% rt+i+i,

i=0

где rt+i — награда, полученная при переходе из состояния st в состояние st+i, а 0 ^ Y ^ 1 — величина, обеспечивающая убывание значимости более далекой награды, также она обеспечивает сходимость ряда. Так как R — случайная величина, максимизируется ее матожи-дание.

6.2. Алгоритм обучения REINFORCE

В работе рассматривается один из подходов в обучении с подкреплением, использующий непосредственную параметризацию пе(s, a). Существуют и другие подходы [8], использующие функции качества состояния и действия. Рассматриваемый же подход отличается лучшей масштабируемостью на непрерывные пространства состояний и действий. Ниже рассмотрим один из алгоритмов данного класса — REINFORCE. Функционал, который необходимо максимизировать,

J (в) = е| (1 — y) ^ Ytrt I ^ = J dn (s) J пе (s,a)r(s,a) dads, (6.1)

где dn(s) = (1 — y) t=o Ytp(st = s), описывает распределение состояний при следовании стратегии выбора действий п. Для обучения используется метод градиентного спуска. Шаг обучения при этом может быть представлен как

em+i = вт + а Ve J \е=ет,

где ат задает величину шага обучения. Разные алгоритмы обучения с подкреплением различаются разными способами оценки функционала J(в) и градиента.

По теореме о градиенте (policy gradient theorem) (см., например, [12]),

Ve J(в) = J dn(s) j Vепе(s,a)(Qn(s,a) — bn(s)) dads =

S A

E {y Veпе(s, a)(Qn(s, a) — bn(s))da

(6.2)

где

(в, а) = Еп{Ег\вг = в,(ц = а} = Еп < ^ 1%П+г+\ \ Н = в,(ц = а

а Ьп(в) — базовая функция. Выбор этой функции не влияет на смещенность оценки градиента, но ее использование может позволить существенно ускорить процесс обучения. Распределение йп (в) может быть получено при следовании стратегии пв.

Если положить Ь(в) = 0, мы можем получить следующее правило обновления параметров, которое гарантированно сходится к локальному максимуму[15]:

дг+1 = дг + а^ Qп(вг, а)Увпв(вг, а) йа,

А

где С^п(в, а) — оценка Qп(в, а), аг — скорость обучения, убывающая со временем. Перепишем его следующим образом:

0г+1 = + оц [ а) а) ^а = 91 + а*Е ( С}ж^, а) 1 .

.] пв (вг,а) пв (вг,а)

А

Это правило может быть упрощено путем рассмотрения эффекта только одного действия, действительно совершенного в состоянии вг:

а -а , г>п( л^в пв (вь,аь)

0£+1 — вt + ($£, (к)----7----7--♦

пв(вг, аг)

Остается вопрос о том, как формировать оценку Qn(s,a); рассматривая разные оценки, можно получать различные алгоритмы. Алгоритм REINFORCE (см. [15]) может быть получен при использовании следующей оценки:

T

Qn(st,at) = ^2 r(sk,ak),

k=t

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

TT

Veпе(st,at) , N

2^ —/-------г- r(Sfc>

t=o пе (st,at) kk=t Можно переписать это выражение в виде

TT

Е, \ Veпе (sk,ak)

r(st, at) У ---------—,

t=o k=t пе(sk, ak)

что означает, что каждый момент времени t вектор параметров может быть обновлен как

Zt+i = Zt + Ve7T°(St,a*\ Qt+l =Qt + atr(st, at)zt+i. (6.3)

пе(st, at)

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

Zt+i = 7zt + Ve7T°(St,a*\ ot+1 =et + atr(st, at)zt+1. (6.4)

пe(st, at)

Algorithm 2 Алгоритм обучения REINFORCE:

Вход: Параметризованная стратегия выбора действий пд (s, a) с начальными параметрами в = во for (для) эпизода e = 0,1, 2, ... do

Перейти в начальное состояние so, обнулить вектор z; z ^ 0

for (для) t = 0,1, 2, . ..,N do Выполнить действие a ~ пд(s,a);

Получить новое состояние st+i и награду rt+i;

, Vgпд (st ,at)

zt+i <— 7 zt H j-r-

пд\st, at)

St+1 + atr(st, at)zt+i

Скорость сходимости может быть существенно увеличена при использовании подходящей ненулевой базовой функции bn(s) (см. [15]). Это может быть достигнуто путем замены в (6.3) и (6.4) r(st, at) на r(st, at) — b(s). Можно рассмотреть варианты базовой функции: г — средняя награда за шаг, до момента t, либо у (st) — оценка функции качества состояния, которая может быть получена с использованием алгоритма TD(0) либо TD(A) [8].

7. Генерация траекторий методом обучения с подкреплением

В этом разделе рассматривается применение описанного в предыдущей главе алгоритма для генерации траектории движения манипулятора. Будем представлять траектории в виде сплайнов третьей степени

Яа,к(£) = ао,к + ах}кЬ + а2,кЬ2 + а3,кг3, £ е [гк-ъ £к], (7.1)

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

да, к-г(Ък )= да,к(Ък), Яа,к-г(Ък ) = Яа, к (Ък). (7.2)

При введении зависимости траекторий от начального состояния параметры сплайна станут функциями от начального состояния а^,к(во). Учитывая граничные условия, получим, что на каждый участок сплайна приходится две фукнкции а0 к(во),а$1к(во), зависящие от параметра в.

Искомая траектория состоит из К участков сплайна. Состоянием будем считать узлы сплайна, действие будет совершаться в узловых точках сплайна, в качестве действия же возьмем пару (д, д) — координату и скорость в следующей узловой точке сплайна. Для того чтобы получить стохастическое правило выбора действий, добавим небольшое случайное возмущение к действию: аа = аа + е. В качестве случайного возмущения будет использоваться нормально распределенная случайная величина с центром в нуле и дисперсией а. Таким образом, получается стохастическое правило выбора действий:

тг(в, а) = Р(а | Щз)) = -7= ехр а'М. (7.3)

\Z2ira2 \ 2а )

Состоянием в этой задаче является тройка (да, да, к), где к — номер узла, 01$(в) — параметризованная функция от состояния. Так как к — дискретная величина, можно представить 0$(5) в виде К функций:

^в1 (да, Яа), а2в2 (да, Яа)... а%К (да, Яа).

Учитывая (7.2) и оставляя зависимость только от во, получим, что

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

°вк (во) = [а0к,к+1 (8о),а1к+1(8о)\Т.

В простейшем случае, если начальное состояние фиксировано:

аквк = [ао , к+1,а1, к+1]Т = [в1,вк\Т.

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

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

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

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

Награду в этой задаче будем задавать следующим образом:

^к + 1 ^к + 1

Гк(в, а) = Тк,и+1 = -1гсг^2 (\дт - до| + \Ят|) - С2 ^ \дт\ - С3/2,

Т=Ьк т = ^к

т (1, £к > 0.7Т,

1 10,£к < 07т {7Л)

{1, если произошло столкновение,

0, иначе, сг > 0, с2 > 0, с3 > 0,

Ьк — время начала сегмента.

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

больше, чем с? и С2.

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

8. Тестирование алгоритма управления

Для симуляции физических взаимодействий использовалась библиотека физической симуляции Bullet. В библиотеке есть множество настроек точности симуляции взаимодействий. Для обучения системы управления приходится симулировать много эпизодов, поэтому использовались настройки точности, обеспечивающие высокую производительность (1 секунда симуляции рассчитывалась примерно за 0.1 секунду на персональном компьютере с процессором Core Quad Q6600).

Основным параметром, влияющим на производительность, является частота расчетов физических взаимодействий и работы системы управления: использовались значения в диапазоне 60-200 Гц. Для управления использовалася упрощенный регулятор без члена V(q,q), потому что ошибки численного дифференцирования делают регулятор с этим членом неустойчивым:

Q = M (q)[qd + Kp(q — qd) + Kv (q — qd)] + G(q).

Графики ниже (рис. 8) показывают характер изменения обобщенных координат в задаче восстановления равновесия манипулятора из крайнего состояния. Все манипуляторы с 2-5 звеньями стабилизируются за одно и то же время — 2.5 секунды, характер изменения обобщенных координат соответствует выбранному регулятору, но при увеличении количества степеней свободы погрешность становится большой.

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

Рис. 8. Стабилизация манипуляторов в точке. Частота обновления 200 Гц.

20

§ -20

И

СП

й

со

-40

I -60

н -80 &

-100

-120

200 300 400

Номер эпизода

Рис. 9. Награда для одного из двигателей.

В результате первых 50 эпизодов алгоритм обучился избегать столкновения. В течение следующих 150 эпизодов только увеличивалась гладкость траекторий. Награда стабилизируется после 200 эпизодов.

9. Заключение

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

Список литературы

[1] Юревич Е. И. Основы робототехники. 2-е изд. СПб.: БХВ-Петербург, 2005. C. 7-207.

[2] Spong M.W., Hutchinson S., Vidyasagar M. Robot modeling and control. New York: Wiley, 2005. P. 1-328.

[3] Craig J. J. Introduction to robotics: Mechanics and control. 3rd ed. Reading, MA: Addison-Wesley, 1986. P. 19-256.

[4] Buss R. Introduction to inverse kinematics with Jacobian transpose, pseudoinverse, and damped least squares methods // IEEE J. Robot. Autom., 2004, vol. 3, pp. 681-685.

[5] Khatib O. A unified approach for motion and force control of robot manipulators: The operational space formulation // IEEE J. Robot. Autom., 1987, vol.3, pp. 43-53.

[6] Khatib O., Yokoi K., Chang K., Ruspini D., Holmberg R., Casal A., Baader A. Force strategies for cooperative tasks in multiple mobile manipulation systems // Proc. of the Internat. Symposium on Robotics Research (Herrsching, Germany, 1995) / G.Giralt, G. Hirzinger (Eds.). P. 333-342.

[7] Stiickler J., Behnke S. Compliant task-space control with back-drivable servo actuators // Proc. of RoboCup International Symposium (Istanbul, Turkey, 2011). P. 78-98.

[8] Sutton R., Barto A. Reinforcement learning: An Introduction. Cambridge, MA: MIT Press, 1998. 322 pp.

[9] Peters J., Schaal S. Natural actor-critic // Neurocomputing, 2008, vol. 71, pp. 1180-1190.

[10] van Hasselt H., Wiering A. Reinforcement learning in continuous action spaces // IEEE Internat. Symp. on Approximate Dynamic Programming and Reinforcement Learning, 2007. P. 272-279.

[11] Peters J., Vijayakumar S., Schaal S. Reinforcement learning for humanoid robotics // 3rd IEEE-RAS Internat. Conf. on Humanoid Robots (Karlsruhe, Germany, 2003). P. 1-20.

[12] Peters J., Schaal S. Reinforcement learning of motor skills with policy gradients // Neural Netw., 2008, vol. 21, pp. 682-697.

[13] Girgin S., Preux P. Basis expansion in natural actor critic methods // Recent Advances in Reinforcement Learning: Proc. of the 8th European Workshop (Villeneuve d’Ascq, France, June 30-July 3, 2008). P. 110-123.

[14] Schaal S. Learning robot control // The handbook of brain theory and neural networks / M. A. Arbib (Ed.). 2nd ed. Cambridge, MA: MIT Press, 2003. P. 983-987.

[15] Vengerov D. A gradient-based reinforcement learning approach to dynamic pricing in partially-observable environments // Future Generation Computer Systems, 2008, vol. 24, no. 7, pp. 687-693.

[16] Schaal S., Peters J., Nakanishi J., Ijspeert A. Learning movement primitives // Robotics Research, 2004, vol. 15, pp. 561-572.

[17] Ito M., Noda K., Hoshino Y., Tani J. Dynamic and interactive generation of object handling behaviours by a small humanoid robot using a dynamic neural network model // Neural Netw., 2006, vol. 9, no. 3, pp. 323-337.

[18] Ude A. Trajectory generation from noisy positions of object features for teaching robot paths // Robotics and Autonomous Systems, 1994, vol. 11, pp. 113-127.

[19] Tso S., Liu K. Hidden Markov model for intelligent extraction of robot trajectory command from demonstrated trajectories // Proc. IEEE Internat. Conf. on Industrial Technology (ICIT), 1996. P. 294-298.

[20] Yang J., Xu Y., Chen C. Human action learning via hidden Markov model // IEEE Trans. Syst. Man Cybernet., 1997, vol. 27, no. 1, pp. 34-44.

Reinforcement learning for manipulator control

Nataly P. Koshmanova1, Dmitry S. Trifonov2, Vladimir E. Pavlovsky3

1,2,3Keldysh Institute of Applied Mathematics RAS Miusskaya st. 4, Moscow, 125047, Russia

1koshmanova.n@gmail.com, 2slonegg@gmail.com, 3vlpavl@mail.ru

We present method for constructing manipulator control system with reinforcement learning algorithm. We construct learning algorithm which uses information about performed actions and their quality with respect to desired behaviour called «reward». The goal of the learning algorithm is to construct control system maximizing total reward. Learning algorithm and constructed control system were tested on the manipulator collision avoidance problem.

MSC 2010: 68T40, 93C85

Keywords: reinforcement learning, manipulator, control, Newton-Euler algorithm

Received July 17, 2012, accepted August 24, 2012

Citation: Rus. J. Nonlin. Dyn., 2012, vol. 8, no. 4, pp. 689-704 (Russian)

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