Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методическое пособие 659

.pdf
Скачиваний:
8
Добавлен:
30.04.2022
Размер:
3.39 Mб
Скачать

3. ПЛАНИРОВАНИЕ ДВИЖЕНИЙ ПРОМЫШЛЕННОГО РОБОТА

3.1. Общие вопросы планирования движений робота

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

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

 

Типы управления манипулятором

 

 

 

Препятствия

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

Ограничения

Присутствуют

 

 

Отсутствуют

 

 

 

 

 

 

 

 

 

 

 

 

Автономное планиро-

Автономное плани-

 

 

вание

 

траектории,

рование

траектории

Огра-

Присут-

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

об-

плюс регулирование

ниче-

ствуют

ход

препятствий,

движения вдоль вы-

ния на

 

плюс

регулирование

бранной траектории

траек-

 

движения

вдоль

вы-

в

процессе

движе-

торию

 

бранной траектории

ния манипулятора

мани-

Отсут-

Планирование

дви-

Планирование

дви-

пуля-

ствуют

жения с обнаружени-

жения

 

без

 

учета

тора

 

ем и обходом препят-

возможных

препят-

 

 

ствий, но без учета

ствий

и

ограниче-

 

 

ограничений на

тра-

ний на

 

траекторию

 

 

екторию схвата

 

схвата

 

 

 

 

 

 

 

 

50

 

 

 

 

 

 

 

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

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

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

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

1.В процессе движения все звенья манипулятора и тележки не задевают препятствий.

2.Выполнены конструктивные ограничения на обобщенные координаты.

3.Движения манипулятора и тележки достаточно плав-

ные.

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

qjmin <qj <

qjmax,

qjmin <

qj <

qjmax, j = 1–4. (3.1)

 

 

 

 

 

 

51

По конструктивным соображениям ограничены перемещения звеньев манипулятора:

qjmin < qj < qjmax.

(3.2)

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

сходящихся алгоритмов.

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

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

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

52

3.2.Теоретический подход к построению программных движений робота

Программное движение Xp (t) при всех t [t0,tT ] долж-

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

X

p

(t) Q

X

,

 

X

p

(t) Q

 

,

(3.3)

 

 

 

 

 

 

 

 

 

X

 

 

 

 

(X

p

(t), X

p

(t)) P

,

 

 

(3.4)

 

 

 

 

 

 

 

 

F

 

 

 

 

где QX ,QX заданные ограниченные области в n-мерном

пространстве;

PF – подпространство в 2n-мерном пространстве, вид которого определяется уравнением движения

X(t) F[X(t),u(t),ξ],

X(t0) X0,

t t0 ,

(3.5)

где X X(t) n-мерный вектор состояний исполнительных

приводов и механизмов в текущий момент времени t; u u(t) – m-мерный вектор управлений;

р-мерный вектор параметров двигательной системы; X0 – начальное состояние.

Кроме того, программное движение Xp (t) должно удовлетворять заданным граничным условиям

Xp (t0) X0,

Xp (tТ ) X1.

(3.6)

Отметим также, что программное движение Xp (t) как

частное решение уравнения движения (3.5) при некотором допустимом управлении u up (t) зависит от параметров ξ Q .

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

ния, связанные с учетом структуры множества QX состояний.

Построение программных движений осуществляется с учетом свойств динамической модели робота с граничными условиями (3.6) и ограничениями (3.3)–(3.4). Эффективным

53

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

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

N

 

 

Xp (t) a0(t) jaj (t),

t [t0,tT ],

(3.7)

j 1

где τ Nj 1 – вектор искомых параметров;

a0(t),a1(t),...,aN (t) – заданные N-мерные вектор-функции.

Будем называть их базисными, если они удовлетворяют следующим условиям [6]:

1) функции {aj (t)}Nj 0 таковы, что программное движе-

ние (3.5) удовлетворяет граничным условиям (3.6) при любом выборе параметров 1, ..., N ;

2) функции {aj (t)}Nj 0 и их производные {aj (t)}Nj 0 попарно удовлетворяют структурному ограничению (aj (t),aj (t)) PF

при всех t [t0,tT ];

3) функции {aj (t)}Nj 0 при любом конечном числе N линейно независимы;

4)каковы бы ни были функция X(t) на интервале [t0, tT]

иположительное число , существует натуральное число N и

постоянные коэффициенты 1,..., N такие, что

N

X(t) a0(t) τjaj (t) ε ; (3.8)

j 1

5) функции {aj (t)}Nj 0 достаточно просты для программ-

ной или схемной реализации.

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

54

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

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

Базисными функциями, удовлетворяющими сформулированным требованиям, могут служить полиномы

a0(t) X0 (X1 X0)T 1(t

t0),

(3.9)

aj (t) a0(t)(t t0)j (tT t),

j = 1, …, N.

 

В самом деле, при таком выборе базисных функций программное движение (3.7) удовлетворяет граничным условиям (3.6), динамическому ограничению (3.4), а также требованиям точной аппроксимации и простой реализации.

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

a0(t) X0

(X1

X0)sin2 1T 1π(t t0),

(3.10)

aj (t)

a0(t)sin jT 1π(t t0).

 

При конструировании базисных функций можно руководствоваться следующим правилом: в качестве функции a0(t)

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

aj (t) a0(t) j (t), j = 1, …, N,

(3.11)

где j(t) – числовые функции на временном интервале [t0, tT], удовлетворяющие однородным граничным условиям, т. е.

j (t0) j (tT ) 0, j = 1, …, N.

(3.12)

55

В качестве j(t) можно выбирать рассмотренные полиномы и тригонометрические многочлены. Интерес представляет также такая параметризация программных движений, когда в качестве j(t) берутся сплайны [7] – кусочно-полиномиальные функции. Метод сплайнов будет изложен ниже.

Конструирование базисных функций с учетом высказанных соображений обеспечивает соблюдение граничных условий (3.6), динамического ограничения (3.4) при любом выборе

параметров 1, ..., N в функции (3.7), а также приводит к высокой точности аппроксимации и простой реализации синтезируемых программных движений. После выбора базисных функций a0(t), a1(t), ..., aN(t) можно перейти к фактическому построению программных движений вида (3.7).

Задача синтеза программных движений сводится к отыс-

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

(3.3), где QX F(QX ,QU ,ξ). Ограничения (3.3) с учетом (3.7) превращаются в систему неравенств относительно параметров

τ j Nj 1 .

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

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

3.3. Конечно-сходящиеся алгоритмы решения рекуррентных неравенств

Введем искомый вектор подстраиваемых параметров .

Пусть t = 0, 1, ..., t–1 – дискретное время; t( ), t( ) – вещественные функции. Предположим, что имеется правило, сопо-

ставляющее каждому набору τ0t 1 векторов [ 0, 1, ..., t–1],

56

составляющие которого соответствуют значениям вектора в дискретные моменты времени, две функции от :

t (t) t (τ,τ0t 1),

t (t) t (τ,τ0t 1).

(3.13)

(Далее, для краткости, аргументы τ0t 1 у этих функций

не выписываются). Рассмотрим неравенства

t (τ) 0

( 0),

(3.14)

которые будем называть условными неравенствами, и неравенства

t (τ) 0

( 0),

(3.15)

которые будем называть безусловными неравенствами.

В задачах адаптивного управления неравенства (3.14) порождаются целевым условием (целью управления); неравенства (3.15) описывают ограничения на возможные значе-

ния вектора τt подстраиваемых параметров. Знаки или > в

(3.14), (3.15) в каждый момент времени могут быть любыми. Неравенства (3.15) в частном случае могут отсутствовать.

Пусть заданы множество { }° начальных значений вектора 0 подстраиваемых параметров и правило

τ T

t

 

 

t

,

 

t

),

 

 

t 1, 2,...,

(3.16)

(τ,

0

 

0

 

 

 

t 1

t

0

 

 

 

 

 

 

 

 

 

 

 

 

сопоставляющее набору τ0t

 

и наборам функций

 

 

 

 

0t { 0(τ),..., t (τ)},

 

 

 

 

0t

{ 0(τ),..., t (τ)}

 

 

значение τt 1. Тогда для заданных

τ {τ}0, 0(τ), 0(τ) по-

следовательно определяются

 

 

, ( ),

1

( ),τ,

2

( ),

2

( ) и

 

 

 

 

 

 

1

 

1

 

 

 

2

 

 

т. д. Неравенства (3.14), (3.15) заранее для всех t не заданы, они появляются последовательно во времени после очередного «срабатывания» алгоритма (3.16). Поэтому будем называть

57

(3.14) и (3.15) рекуррентными неравенствами. Для разных алгоритмов (3.16) неравенства (3.14) и (3.15) будут разными.

Правая часть (3.16) обычно зависит лишь от τt , t , t .

Уравнение (3.16) является конечно-сходящимся алгоритмом решения рекуррентных неравенств – условных (3.14) и безусловных (3.15), если для всех t выполнено (3.15) при

τ τt и если существует такой момент времени t* , что для t t* выполняются неравенства (3.14) при τ τt и векторы t далее не изменяются: τt* τt* 1 ... . Число r моментов времени t 1, для которых при τ τt не выполняется (3.14), назы-

вается числом ошибок (коррекций) алгоритма.

Итак, конечно-сходящийся алгоритм – алгоритм, доставляющий решение бесконечного числа заранее незаданных условных рекуррентных неравенств: неравенства (3.14) при t < t* могут остаться невыполненными. На каждом шаге решение должно выбираться из области, определяемой также появляющимся рекуррентным неравенством.

Важно помнить, что рекуррентные неравенства (3.14), (3.15) могут зависеть от алгоритма (3.16): для разных алгоритмов они разные.

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

Наличие определенной стабильности, присущей обычно практическим задачам, приводит к тому, что неравенства (3.14), (3.15) выполняются для всех t при значениях подставляемых параметров из некоторой окрестности вектора τ(ξ).

Иначе для τ τ(ξ) эти неравенства выполнены «с запасом».

Второе важное свойство, которое часто имеет место, – это наличие областей в пространстве { }, определяемых ре-

58

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

Пусть безусловные неравенства отсутствуют. Обозначим через Тt область, определяемую неравенством (3.16). Если

(3.14) выполняется для τ τt , т. е.τ Тt , то полагаем τt 1 τt . Если (3.14) не выполнено для τ τt , то существует плоскость

Пt, отделяющая вектор t от множества Тt. Выберем в качествеt+1 ортогональную проекцию вектора t на плоскость Пt. Век-

тор t+1 будет ближе к неизвестному нам вектору ( ), чем t. Из сделанных предположений следует существование такого

не зависящего от t числа > 0, что

τt 1 τ(ξ)

 

2

 

τt τ(ξ)

 

2 .

(3.17)

 

 

 

Итак, построенный алгоритм будет обладать свойством (3.17). Отсюда следует его конечная сходимость. Каждый раз, когда не выполнено (3.14), справедливо (3.17), т. е. величина

V(τt ) τt τ(ξ)2 убывает по меньшей мере на . Когда нера-

венство (3.14) выполнено, то V( t) не изменяется. Поэтому число r ошибок алгоритма конечно.

Плоскость Пt можно строить по-разному: при этом получаются различные конечно-сходящиеся алгоритмы. Вместо

функции V(τt ) τ τ(ξ)2 можно выбрать любую неотрица-

тельную функцию; важно лишь, чтобы для некоторого > 0 выполнялось

V(τt 1 ) V(τt ) при ( ) < 0 ( 0). (3.18)

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

59