Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Копия в рио.doc
Скачиваний:
14
Добавлен:
09.11.2019
Размер:
9.1 Mб
Скачать

3.2. Планирование пути методом полиномиальной аппроксимации

Рассмотрим наиболее простой случай планирования пути манипуляторов. Пусть в начальный момент времени t0 манипулятор находится в некоторой конфигурации q0. В момент времени T он должен прибыть в конфигурацию qT. Находясь в точке q0, манипулятор покоится, т. е. обобщенные скорости и ускорения равны 0. По прибытии в qT обобщенные скорости и ускорения манипулятора также должны быть равны 0. Примем, что t0 = 0 и T = 1. Будем также считать, что в рабочей зоне манипулятора препятствия отсутствуют. Необходимо спланировать путь, удовлетворяющий указанным выше условиям. Сформулируем задачу планирования пути математически. Необходимо найти вектор-функцию q(t), удовлетворяющую следующим условиям:

q(t0) = q0; (3.4)

q(T) = qT; (3.5)

(t0) = 0; (3.6)

(T) = 0; (3.7)

(t0) = 0; (3.8)

(T) = 0. (3.9)

Будем считать, что вектор q(t) состоит из n компонент qi(t), i=1,…,n. Очевидно, что каждая компонента вектора q(t) должна удовлетворять условиям (3.4) – (3.9), поэтому найдем формулу для произвольной i-й компоненты, и эта формула будет пригодна для всех компонент вектора q(t).

Представим i-ю компоненту вектора q(t) в виде полинома:

qi(t) = a0t0 + a1t1 + a2t2 + ... + amtm, i=1,...,n. (3.10)

К оэффициенты aj, j = 0,...,m неизвестны и подлежат определению. Поскольку qi(t) должна удовлетворять шести условиям (3.4)–(3.9), примем m = 5. Тогда получим систему (3.11), состоящую из 6 уравнений с 6 неизвестными коэффициентами:

или

Решая эту систему, получим

. (3.13)

Итак, получаем выражение для i-й компоненты вектора q(t):

qi(t) = qi0 + 10(qiT – qi0)t3 – 15(qiT – qi0)t4 + 6(qiT – qi0)t5, (3.14)

где i = 1,…,n. Эту формулу можно применять для описания любой компоненты вектора q(t) – достаточно лишь подставить в нее соответствующие значения qi0 и qiT, i =1,…,n.

Продифференцировав формулу (3.14) один раз, получим выражение для i-й обобщенной скорости:

i(t) = 30(qiT – qi0)t2 – 60(qiT – qi0)t3 + 30(qiT – qi0)t4, (3.15)

где i = 1,…,n.

Теперь продифференцируем один раз формулу (3.15) и получим выражение для i-го обобщенного ускорения:

i(t) = 60(qiT – qi0)t – 180(qiT – qi0)t2 + 120(qiT – qi0)t3, (3.16)

i = 1,...,n.

Читателю предоставляется возможность самому убедиться, что формулы (3.14)–(3.16) удовлетворяют условиям (3.4)–(3.9).

3.3. Планирование пути с учетом ограничений на положение, скорость и ускорение

Рассмотрим метод планирования пути, учитывающий ограничения на обобщенные координаты, скорости и ускорения (3.1)–(3.3).

Поставим задачу: найти вектор-функцию q(t), чтобы она удовлетворяла следующим условиям:

q(t0) = q0, (3.17)

q(T) = qT, (3.18)

q(t)  a1, (3.19)

q(t)  –a2, (3.20)

(t)  b1, (3.21)

– (t)  b2, (3.22)

(t)  w1, (3.23)

– (t)  w2. (3.24)

Каждую компоненту вектора q(t) будем искать в виде полинома степени m:

qi(t) = c0t0 + c1t1 + c2t2 + ... + cmtm, (3.25)

i = 1, … , n. Коэффициенты cj, j = 0, ... , m подлежат определению.

Заметим также, что

i(t) = c00 + 1c1t0 + 2c2t1 + ... + mcmtm-1, (3.26)

i(t) = c00 + c10 + 21c2t0 + ... + m (m-1) cmtm-2. (3.27)

i = 1, … , n.

Требования (3.17)–(3.24), которым должна удовлетворять qi(t), запишем в виде следующих выражений:

c0t00 + c1t01 + c2t02 + ... + cmt0m = qi0, (3.28)

c0T0 + c1T 1 + c2T2 + ... + cmTm = qiT, (3.29)

c0t0 + c1t1 + c2t2 + ... + cmtm  ai1, (3.30)

–c0t0 – c1t1 – c2t2 – ... – cmtm  –ai2, (3.31)

c00 + 1c1t0 + 2c2t1 + ... + mcmtm-1 bi1, (3.32)

–c00 – 1c1t0 – 2c2t1 – ... – mcmtm-1  –bi2, (3.33)

c00 + c10 + 21c2t0 + ... +m(m–1) cmtm-2  wi1, (3.34)

–c00 – c10 – 21c2t0 – ... –m(m–1) cmtm-2  –wi2. (3.35)

Неравенства (3.30)–(3.35) должны выполняться для любого t[t0,T]. Выделим из отрезка [t0,T] k моментов времени t0, t1, ..., tk-1= T (чем больше k, тем лучше) и получим системы

c0t00 + c1t01 + c2t02 + ... + cmt0m = qi0, (3.36)

c0T0 + c1T 1 + c2T2 + ... + cmTm = qiT, (3.37)

(3.38)

(3.39)

(3.40)

(3.41)

(3.42)

(3.43)

В каждой системе (3.38)–(3.43) содержится по k неравенств. Каждое неравенство соответствует определенному моменту времени tk[t0,T]. В уравнениях (3.36), (3.37) и системах неравенств (3.38)–(3.43) неизвестными являются величины cj, а коэффициенты при них известны.

Запишем величины cj в вектор неизвестных величин, а коэффициенты при них в матрицу:

. (3.44)

Определитель матрицы в этой формуле равен нулю, так как в ней есть одинаковые строки.

Итак, получили систему неравенств вида

. (3.45)

Чтобы преобразовать неравенства в равенства, введем в каждое неравенство по одной новой переменной, умноженной на 1, тогда A и x преобразуются к виду

. (3.46)

Определитель этой матрицы уже не равен нулю, так как все строки в ней различны. Последние (f–2) переменных должны подчиняться условию

xg+1  0, xg+2  0, ... , xg+(f-2)  0. (3.47)

Для того, чтобы можно было решить систему (3.46), число неизвестных в ней должно быть равно числу строк в матрице, т. е. f. У нас число неизвестных равно g + f–2. Придадим (g–2) нижним переменным произвольные значения, соблюдая условие (3.47). Эти (g–2) переменных становятся константами. Получаем

(3.48)

или

. (3.49)

Из этой системы находим xj, j = 1,...,f. Вместе с вычисленными нами константами xg+1, xg+2, ... , xg+(f-2) найденные величины и будут составлять искомый вектор (c0, c1, c2, ... , cm).