Методическое пособие 659
.pdf3. ПЛАНИРОВАНИЕ ДВИЖЕНИЙ ПРОМЫШЛЕННОГО РОБОТА
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