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

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

CC BY
356
79
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПРОГРАММНОЕ УПРАВЛЕНИЕ / МОБИЛЬНЫЙ РОБОТ / ПРЕПЯТСТВИЯ / АЛГОРИТМ / PROGRAMMED CONTROL / THE MOBILE ROBOT / OBSTACLES / ALGORITHM

Аннотация научной статьи по математике, автор научной работы — Большаков А. А., Лисицкий Д. Л.

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

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

ONE METHOD OF MOBILE ROBOT MOTION CONTROL

The article discusses the motion control of mobile robot that goes around obstacles. There is considered the structure of a control system which allows separating it into two subsystems. The one of subsystems creates a program trajectory and another controls it. The article presents a synthesized algorithm of program control

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

А.А. Большаков, Д.Л. Лисицкий ОДИН ПОДХОД К УПРАВЛЕНИЮ МОБИЛЬНЫМ РОБОТОМ

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

Программное управление, мобильный робот, препятствия, алгоритм A.A. Bolshakov, D.L. Lisitsky

ONE METHOD OF MOBILE ROBOT MOTION CONTROL

The article discusses the motion control of mobile robot that goes around obstacles. There is considered the structure of a control system which allows separating it into two subsystems. The one of subsystems creates a program trajectory and another controls it. The article presents a synthesized algorithm of program control.

Programmed control, the mobile robot, obstacles, algorithm

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

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

У

С V

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

х наиболее удаленной от прямой АВ (точки С и

С' на рис. 1), вектор скорости объекта должен быть ей параллелен и между роботом и препятствием должно оставаться некоторое заданное расстояние (Уз).

Рис. 1. Иллюстрация постановки задачи

с'

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

сканирования которого равен 2 ртах, причем ртах не меньше максимального угла, который может составлять траектория движения робота с прямой АВ. Предположим, что ось симметрии сектора сканирования луча ЛДС параллельна прямой АВ, а угол отклонения луча ЛДС от оси симметрии сектора р изменяется дискретно с интервалом Ар (рис. 1). Дальномер при каждом г-м измерении определяет угол наклона луча р и расстояние до препятствия Iг, что позволяет вычислить координаты видимых дальномером точек препятствия в связанной с объектом системе координат. Всего за полупериод сканирования будет получена информация о расстоянии до к = (2ртах/ Ар) +1 точек препятствия. На корпусе робота установлены также два лазерных дальномера с неподвижными лучами, измеряющие расстояние от робота до препятствий в направлении, перпендикулярном прямой АВ.

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

Для реализации системы воспользуемся структурой (рис. 2, 3), описанной в [1], которая позволяет разделить ее на две последовательно включенные подсистемы «модель-вычислитель программного управления (ВПУ)» и «объект-регулятор». Под моделью в этом случае понимается упрощенная математическая модель движения центра масс робота. Подсистема «модель-ВПУ» формирует программную траекторию, а подсистема «объект-регулятор» ее отслеживает.

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

где Ум, Хм - координаты упрощенной модели объекта в системе координат АХУ; УхМ, УуМ -соответственно продольная и поперечная составляющие скорости упрощенной модели; пу

- поперечная перегрузка модели; g - ускорение силы тяжести. В (1) ХМ, Ум, УхМ, УуМ -координаты, пу - управление, которое далее будем называть программным управлением.

На координаты и управления упрощенной модели робота наложены ограничения:

Первое из неравенств (2) ограничивает угол наклона программной траектории, второе

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

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

ёУм/Ж = Уум; dVyм|dt = gny; ёХм/Ж = Ухм = соті,

(1)

(2)

Модель

бХм

V и Объект V, Т с

2. ДЛIЧИЛИ

наиболее удаленной от оси АХ (рис. 1), с поперечной составляющей вектора скорости, равной нулю (VyM = 0), таким образом, чтобы минимизировался функционал:

I = l~YMdt-> min. (3)

Можно показать, что минимизация функционала (3) в рамках модели (1, 2) требует создания системы с максимальным быстродействием. Тогда согласно принципу максимума Понтрягина и теореме о n-интервалах [2] оптимальное управление будет релейным и принимает только значения ( n ,0, — n ).

y max ’ ’ y max /

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

Введем новые переменные:

X,. = Xm — Xm ; y = Yn, + Yjsign(Yn,) — Ym ; Vy = —VyM ,(4) где Xm, Ym, - координаты i-й точки препятствия местности в неподвижной системе координат АХУ.

Тогда система уравнений (1) примет вид

VxM = COnSt .(5)

Рис. 2. Исходная структура САУ

Рис. З. Эквивалентная структура САУ

dyjdt = vy; dvyldt = — gny; dxjdt

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

оптимального в смысле функционала (3) алгоритма выбора управления ny = (ny max,0, — ny max),

перемещения изображающей точки из произвольного положения в фазовом пространстве Oxyvy в начало координат - точку О.

Фазовый портрет системы на завершающем этапе такого переходного процесса приведен на рис. 4 (последние три интервала постоянных значений управления). Несложно видеть, что в начало координат можно попасть по двум траекториям - АО с управлением ny = —nymax и ВО - с управлением ny = ny max. На координату vy согласно

обозначениям (4) также наложены ограничения:

— Vy max £ Vy £ Vy max ’ (6)

где Vyma^l = |Vymax|, поэтому в точке А с координатами (ха,ya,vy =—vymax) траектория АО переходит в траекторию АС, у которой ny = 0, а vy = —vymax = const. Аналогично траектория ВО в точке В с координатами (xb, yb, vy = vymax) переходит в траекторию BD, у которой ny = 0,

а Vy = Vy max = c0nst.

Приблизиться к траектории АО изображающая точка может только по поверхности П1 с управлением ny = nymax, а к ее продолжению - траектории АС - по поверхности П2

также с управлением ny = ny max. Границей между поверхностями П1 и П2 является

траектория АМ.

Приблизиться к траектории ВО изображающая точка может только по поверхности П3 с управлением ny = —nymax, а к ее продолжению - траектории BD - по поверхности П4 также с

управлением ny = —nymax. Границей между поверхностями П3 и П4 является траектория BN.

Для определения уравнений вышеперечисленных траекторий и поверхностей исключим из уравнений (5) время и проинтегрируем их в обратном направлении - от

конца фазовых траекторий к началу при соответствующих постоянных значениях

УПРаВЛеНИЯ ( "уmax , О, ~Путах ).

Получим уравнения:

- траектории ОА:

У,с

yt = vy/(2 g"y max ) •

Рис. 4. Фазовый портрет системы

- поверхности П1:

У1П1 = yi = - vy/2 g"y max + (-Xig"y max + VxMVy f /4Vlugn.

- граничной траектории АМ:

yi АМ = У = (-VУ, /У + Vymax )/(g"y max ) •

- поверхности ПУ:

У, ПУ = у =-К/У g"y max + Vy max/(Xi - VxMVy/g"y

- траектории ВО:

V V •

xM у max 5

+ VxmV у )yMMgn <)/(g"ymax ) •

(7)

у max •(8)

(9)

bmax) • (10)

(11)

(1У)

(13)

(14)

- поверхности П3:

У!П3 = yi = vy/2g"ymax - (Xig"ymax

- граничной траектории BN:

yiBN = yi = (vy / 2 - Vym

- поверхности П4:

y, П4 = yi = VHy g"y max - Vy max/ VxM (Xi + V xMV у / g"y max - VxMV.y max/ g"y max ).

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

Любая i-я точка препятствия при Уп > 0 является потенциально опасной для объекта, если изображающая точка попала на поверхности П1, ПУ, траекторию ОА или пересекла их. Соответственно при Уп < 0 признаком потенциальной опасности i-й точки препятствия является попадание изображающей точки на поверхности П3, П4, траекторию ОВ или их пересечение.

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

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

1. Выбор программного управления, стабилизирующего объект на траектории АВ, осуществляется регулятором с законом управления, учитывающим ограничения (У):

H1 = d(YM - у + Г^п(Уп)))+CyVyM • (15)

HУ = {H1 если |H 1 < nymax •

max Sig"(Hесли |H^ ^ "y

n = IH2, если (|VyM I < Vymax) V (H2 > 0 Л VyM < Vymax) V (H2 < 0 Л VyM > -Vymax); (17)

Ур І0, в остальных случаях, где Cj, с2 - постоянные коэффициенты; Hl, Н2 - промежуточные переменные; пур - выходной

сигнал регулятора; Yn - координата препятствия в системе координат AXy в месте нахождения объекта.

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

2. Для каждого положения луча дальномера выбирается программное управление: Если Ym > 0, то:

H = /Уш1 , если yt - Уам < 0; (18)

3i' 1у!П2. если У, - У AM > 0

у max , если [(у, - H 3i > 0) A (VyM < °)] V [( у, -H 3, > 0) A (VyM > 0) А (yt - у ЮА > °) Л ^ < Vy max )] •

О, если [(у, -H з, < 0) Л (VyM < -Vy max )] V [(у, -H з, > 0) Л (VyM > 0) Л (у, - у юа > 0) Л (VyM > Vy max )]•

- Пуmax , если [(у,-Hз, < 0) Л (VyM > -Vymax )] V [(у,-H3, > 0) Л (VyM > 0) Л (у, - у,ш < 0)].

(19)

Если Уп, < 0, то:

H = {У'П3’ если уi yiBN > 0; (У0)

4i 1 У,П4. если У, - ytBN < 0

Пуmax , если [(У,-H4, < 0) Л (VyM > 0)] V [(У,-H4, < 0) Л (VyM < 0) Л (У, - УCB < 0) Л (VyM > -Vymax )] • ° если [(у,-H4, > 0) Л (VyM > Vymax )] V [(У,-H4, < 0) Л (VyM < 0) Л (У, - УCB < 0) Л (VyM < -Vymax Ж

- Пуmax , если [(У,-H4, > 0) Л (VyM < Vymax )] V [(У,-H4, < 0) Л (VyM < 0) Л (У, - УCB > 0)] •

_ (У1)

Здесь i = 0, k; H3,, H4, - промежуточные переменные.

Каждому значению i соответствует упорядоченная тройка {ny1,, Уп, , hii}, где hii = (yt - H3i),

если Уп, > 0, И { Пуу,, Уп, , h2, }, где h2i = (у, - H4,) ,если Уп, < 0.

3. Если отсутствуют тройки, в котор^1х Уп, > 0, то формируется тройка {ny1 = ny max, УП1 = 100, h1 = 1} и пропускаются п.п. 5, 7 алгоритма.

4. Если отсутствуют тройки, в которых Уп, < 0, то формируется тройка {ny2 = -ny max, УП1 = -100, h = -1} и пропускаются п.п. 6, 8 алгоритма.

5. Из всех троек, соответствующих Уп, > 0, отбираем те, у которых ny1, > -nymax. Если таких пар нет, то формируем тройку {ny1 =-nymax, УП1 = 0, h =-1} и пропускаем п. 7 алгоритма.

6. Из всех троек, соответствующих УП, < 0 , отбираем те, у которых ny2, < nymax. Если таких пар нет, то формируем тройку {ny2 = ny max, УП2 = 0, h2 = 1} и пропускаем п. 8 алгоритма.

7. Из оставшихся троек, соответствующих УП > 0 , отбираем ту, у которой Уп,

максимально. Обозначим параметры этой троек {ny1, УП1, hj}.

8. Из оставшихся троек, соответствующих Уп, < 0, отбираем ту, у которой yni

минимально. Обозначим параметры этой группы {ny2, УП2, h2}.

9. Выбираем программное управление:

пур , если h1 < 0 v h2 > 0; nу = <! ny1, если h > 0 л Уп 11 < Уп2 |; (22)

ny2, если h2 < 0] л |УПJ > |УП21.

В результате интегрирования уравнений (1) с выбранным значением управления получаем численное значение координат модели Ум , VyM, которые и определяют значение программной траектории в каждый момент времени. Координату XM модели принимаем равной координате X Р центра масс робота.

Работоспособность и

эффективность предложенного

алгоритма проверялась методом математического моделирования. Для этого разработана программа на языке

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

СИ++. При

использовалась

математическая

движения

четырехколесного

порядка [3]

обеспечивающим

программной

синтезированным методом АКОР.

Рис. 5. Результаты моделирования объезда препятствия

Один из результатов моделирования представлен на графике рис. 5, где показана часть препятствия, которую объезжал робот. Программная траектория на этом графике показана сплошной линией, траектория движения центра масс робота - пунктирной.

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

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

Работа выполнена при поддержке гранта МОН РФ № 02.740.11.0482.

ЛИТЕРАТУРА

1. Лисицкий Д.Л. Выбор структуры системы автоматического управления траекторным движением мобильного робота / Д.Л. Лисицкий // Вестник Саратовского государственного технического университета. 2009. №4(43). С. 108-110.

2. Лернер А.Я. Оптимальное управление / А.Я. Лернер, Е.А. Розенман. М.: Энергия, 1970. 360 с.

3. Буданов В.М. О движении колесных роботов / В.М. Буданов, Е.А. Девянин // ПММ. 2003. Т.67. Вып. 2. С. 244-255.

Большаков Александр Афанасьевич -

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

Лисицкий Денис Леонтьевич -

аспирант кафедры «Системы искусственного интеллекта» Саратовского государственного технического университета

Статья поступила в редакцию 06.10.10, принята к опубликованию 27.10.10

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