Алгоритмы управления движениями точки и робота-манипулятора. Учебное пособие
.pdfЕсли скорости точки М в текущий момент времени ti найдены, то из этих соотношений можно численным интегрированием методом Эйлера определить ее текущие координаты:
xi xi 1 VMx t, |
yi yi 1 VMy t. |
(2.7) |
Уравнения угловых движений звеньев манипулятора
Если предположить, что мощности двигателей в шарнирах О и А достаточно для обеспечения любых угловых скоростей звеньев механизма, то можно утверждать, что угловые движения звеньев манипулятора однозначно определяются движением точки М и кинематическими связями, налагаемыми в точке О.
Рассмотрим звено 1 (см. рис. 2.1). Выбираем полюс в точке О. Тогда скорость точки А находим по векторной формуле [5]:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
i |
|
|
j |
|
k |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
||
VA VO 1 OA VO |
0 |
0 |
|
. |
||||||||||||||
|
|
|
|
|
|
|
|
|
OAcos 1 |
OAsin 1 |
0 |
|
|
|||||
Отсюда находим
VAx VOx 1 OAsin 1 VOx 1l1y ,
(2.8)
VAy VOy 1 OAcos 1 VOy 1l1x .
Здесь введены обозначения проекций длины стержня 1:
l1y OAsin 1, |
l1x OAcos 1. |
(2.9) |
Рассмотрим звено 2 (см. рис. 2.1). Выбираем полюс в точке А. Тогда скорость точки М находим по векторной формуле
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
i |
|
|
j |
|
k |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
||
VM VA 2 AM VA |
0 |
0 |
|
. |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
AM cos 2 |
AM sin 2 |
0 |
|
|
|||||
31
Отсюда находим
VMx VAx 2 AM sin 2 VAx 2l2 y ,
(2.10)
VMy VAy 2 AM cos 2 VAy 2l2 x .
Здесь введены обозначения проекций длины стержня 2:
l2 y AM sin 2 , |
l2 x AM cos 2. |
(2.11) |
В разделе «Динамика» нам потребуется скорость центра тяжести звена – точки С2 (см. рис. 2.1). Найдем ее аналогично скорости точки М:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
i |
|
|
j |
|
k |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
||
VC2 VA 2 AC2 VA |
0 |
0 |
|
. |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
AC2 cos 2 |
AC2 sin 2 |
0 |
|
|
|||||
Отсюда находим
VC2x VAx 2 AC2 sin 2 VAx 2lC 2 y ,
VC2 y VAy 2 AC2 cos 2 VAy 2lC2x .
Здесь введены обозначения проекций длины отрезка AC2:
lC 2 y AC2 sin 2 , |
lC2x AC2 cos 2. |
Учтем кинематические связи в точке О:
VOx 0, |
VOy 0. |
(2.12)
(2.13)
Тогда скорости точек будут определяться следующими формулами:
– для первого звена
VAx VOx 1l1y 1l1y ,
(2.14)
VAy VOy 1l1x 1l1x ;
32
– для второго звена
VMx VAx 2l2 y 1l1y 2l2 y ,
VMy VAy 2l2x 1l1x 2l2x ,
(2.15)
VC2 x VAx 2lC 2 y 1l1y 2lC2 y , VC2 y VAy 2lC2x 1l1x 2lC2x .
Предполагая, что скорости точки М уже найдены из уравнений (2.6), перепишем первые два уравнения (2.15) в следующем виде:
1 l1y 2 l2 y VMx ,
(2.16)
1 l1x 2 l2 x VMy .
Решая эту систему двух уравнений, после несложных преобразований получим
1 (VMxl2x VMyl2 y ) / (l1xl2 y l1yl2x ),
2 (VMxl1x VMyl1y ) / (l1xl2 y l1yl2x ).
(2.17)
К перечисленным уравнениям добавляем дифференциальные зависимости
d 1 , |
d 2 |
||
dt |
1 |
dt |
2 |
|
|
||
и получаем систему дифференциальных уравнений в форме Коши. Если угловые скорости в текущий момент времени ti найдены, то из этих соотношений можно численным интегрированием методом Эйлера определить текущие значения углов:
1,i 1,i 1 1 t, |
2,i 2,i 1 2 t . |
(2.18) |
Определение параметра управления
В выражении (2.5) была введена положительная константа k :
Vx k x, |
Vy k y. |
33
Определим ее для координаты x:
VMx VDx k(xD xM ),
dxM dxD k(xD xM ), dt dt
dtd (xD xM ) k(xD xM ),
d( x) k x. dt
Аналогичное уравнение получится для координаты y:
d( y) k y . |
|
||||
dt |
|
|
|
||
Заменим обозначения |
|
|
|
|
|
( x, y) z |
|
dz kz . |
|
||
|
|
|
|
dt |
|
Решим последнее уравнение: |
|
|
|
|
|
dz |
kdt, |
|
|
||
z |
|
|
|
|
|
ln z kt C1, |
|
||||
z e kt C1 |
eC1e kt |
C2e kt . |
(2.19) |
||
Неизвестную константу С2 |
найдем из начального условия, когда |
||||
рассогласования x(0) и y(0) известны: |
|
|
|||
z(0) C2e k 0 C2 |
|
z z(0)e kt . |
(2.20) |
||
По условию задачи к моменту времени t = τ |
рассогласование |
||||
z = ( x, y) должно удовлетворять соотношению |
|
||||
|
|
z( ) |
. |
|
(2.21) |
|
|
z(0) |
|
||
|
|
|
|
|
|
34
Сравнивая зависимости (2.20) и (2.21) при t = τ z( ) z(0)e k ,
z( ) z(0) ,
находим
|
|
e k , |
|
|
|
|
|
k ln . |
|
|
|
Окончательно |
|
|
|
|
|
k |
1 |
( ln ) 1 ln |
1 |
0. |
(2.22) |
|
|
|
|
|
|
Параметр управления k, определяющий скорость схвата М по формулам (2.6), должен быть величиной положительной, так как величина δ много меньше единицы. Чем меньше относительная погрешность сближения δ (2.21), тем больше параметр k, определяющий скорость точки М. Например, для τ = 10 с получаем:
0,1 |
|
k |
|
|
1 |
ln10 0,230, |
||||
10 |
||||||||||
|
|
|
|
|
|
|||||
0,01 |
|
k |
1 |
|
ln100 0,460, |
|||||
10 |
|
|||||||||
|
|
|
|
|
|
|
||||
0,001 |
|
k |
|
1 |
|
ln1000 0,691. |
||||
10 |
||||||||||
|
|
|
|
|
|
|||||
2.1.3. Алгоритм численного решения на ЭВМ задачи кинематики
1.Задать исходные данные
1.1.Положение и скорость детали. Задать функции:
из (2.1) |
xD (t) fDx (t), |
yD (t) fDy (t) ; |
из (2.2) |
VDx (t) fVDx (t), |
VDy (t) fVDy (t) . |
35
Вычислить начальные положение и скорость детали:
xD0 fDx (0), |
yD0 fDy (0) , |
VDx0 fVDx (0), |
VDy0 fVDy (0) . |
1.2. Начальные положение и скорости звеньев и точек манипулятора:
l1 OA, |
l2 AМ; |
|
|
|
|
1 10 , |
2 20 , 1 0, 2 0; |
|
|
|
|
xM 0 l1 cos 1 l2 cos 2 , yM 0 l1 sin 1 l2 sin 2 , |
VMx 0, |
VMy 0. |
|||
1.3. Начальные рассогласования координат |
|
|
|||
x xD0 xM 0 , |
y yD0 yM 0 , |
r2 x2 y2 . |
|
||
1.4. Два параметры управления – время погони и относительная погрешность рассогласования координат в конце погони:
, |
1 |
( 0,1 0,01 0,001) . |
|
|
1.5. Количество шагов по времени для расчета nt и визуализа- |
||||
ции nv . Тогда шаги по времени |
|
|||
t / nt , |
tv / nv . |
|
||
1.6. Обнулить счетчик времени t = t0 |
= ti – 1 = 0. |
|||
1.7. Выдать (нарисовать) начальные результаты (отладка програм- |
||||
мы) |
|
|
|
|
t, (xD yD ), (xM yM ), ( 1 2 ), ( x y r), (VDx VDy ), (VMx VMy ), ( 1 2 ). |
||||
2. Третий параметр управления из (2.22) |
|
|||
k |
1 ln |
1 |
проверить: k 0 |
|
|
|
|
|
|
3. Цикл по времени. Для очередного шага t = ti = ti – 1 + t вычислить следующее.
3.1. Новое положение и скорость детали: xD (t) fDx (t), yD (t) fDy (t) ,
36
VDx (t) fVDx (t), |
VDy (t) fVDy (t) . |
|
||
3.2. Рассогласование координат из (2.3): |
||||
x xD xM 0 , |
y yD yM 0 , |
r2 x2 y2 . |
||
3.3. Скорость и новое положение точки М: |
||||
из (2.6): |
VMx VDx k x, |
VMy VDy k y, |
||
из (2.7): |
xM xM 0 VMx t, |
yM yM 0 VMy t. |
||
3.4. Внутренние константы – проекции отрезков при старых углах:
из (2.9): |
l1y l1 sin 10 , |
l1x l1 cos 10 , |
из (2.11): |
l2 y l2 sin 20 , |
l2x l2 cos 20 . |
3.5. Угловые скорости и новые углы звеньев из (2.17) и (2.18):
1 (VMxl2x VMyl2 y ) / (l1xl2 y l1yl2x ),2 (VMxl1x VMyl1y ) / (l1xl2 y l1yl2x ),
1 10 1 t, 2 20 2 t .
3.6.Выдать (нарисовать) текущие результаты (отладка программы): t, (xD yD ), (xM yM ), ( 1 2 ), ( x y r), (VDx VDy ), (VMx VMy ), ( 1 2 ).
3.7.Оценка окончания:
если t > или = τ, то выйти из цикла на 4, иначе продолжить цикл.
3.8. Определить предыдущие значения для ti – 1:
xM 0 xM , yM 0 yM , 10 1, 20 2 .
3.9.Перейти на 3 для нового шага по времени.
4.Завершить программу.
37
2.2.ДИНАМИКА
2.2.1.Постановка задачи динамики
Для упрощения задачи считаем, что манипулятор работает в горизонтальной плоскости. В этом случае собственный вес не влияет на динамику механизма. Управление манипулятором осуществляется двумя двигателями в шарнирах О и А (см. рис. 2.1).
Требуется из условия мягкого касания схватом М детали D определить управляющие моменты, развиваемые двигателями в шарнирах О и А, как функции времени, а также определить необходимую мощность этих двигателей.
Решать поставленную задачу можно разными способами. Учитывая то обстоятельство, что в литературе по робототехнике [3] чаще используется метод уравнений Лагранжа второго рода, а в теории механизмов и машин – метод кинетостатики [4, 5], будем решать эту задачу двумя методами. Если результаты будут одинаковыми, то это будет служить доказательством отсутствия ошибок в проделанных выкладках.
2.2.2. Уравнения Лагранжа
Уравнение Лагранжа второго рода имеет вид
d |
T |
|
|
T |
Qj |
( j 1,2) . |
(2.23) |
|||
|
|
|
|
|
|
|
||||
|
q |
|
q |
|
||||||
dt |
|
|
|
j |
|
|
|
|||
|
|
|
j |
|
|
|
|
|
||
В качестве независимых |
обобщенных перемещений |
выбираем |
||||||||||
(рис. 2.3) |
|
|
|
|
|
|
|
|
|
|
|
|
q1 1, |
|
q2 2 |
2 1. |
|
(2.24) |
|||||||
Тогда |
|
|
|
|
|
|
|
|
|
|
|
|
q |
|
, |
q |
|
2 |
|
, |
|
|
|
||
1 |
1 |
1 |
|
2 |
|
|
2 |
|
|
|
(2.25) |
|
q |
|
|
, |
q |
|
|
|
|
|
|
. |
|
2 |
2 |
|
||||||||||
1 |
1 |
1 |
1 |
2 |
|
2 |
|
|
|
|||
Учтем, что |
|
|
|
|
|
|
|
|
|
|
|
|
|
2 2,пер 2,отн 1 2 , |
|
|
(2.26) |
||||||||
38
тогда
|
2 |
|
2 |
|
|
2 |
|
|
. |
(2.27) |
|
|
1 |
|
1 |
2 |
|
|
Здесь ( 1 , 2 ), ( 1 , 2 ) – абсолютные угловые скорости и ускорения;2 , 2 – относительные угловые скорость и ускорение.
|
|
|
M |
|
Y |
|
2 |
||
|
|
|
||
|
M A2 |
|
|
|
M A1 |
|
|
||
|
||||
|
|
|
||
1 1 |
A |
|
|
|
|
|
|
||
|
|
|
||
O |
|
|
X |
|
M 01 |
|
|
||
|
|
|
||
Рис. 2.3
Для вычисления левых частей двух уравнений (2.23) определим кинетическую энергию механизма. Звено 1 совершает вращательное движение, звено 2 – плоское движение. Кинетическая энергия звеньев определяется через абсолютные скорости выражениями
|
|
|
T 1 I 2 , |
T |
1 m V 2 |
1 I |
|
2 . |
|
|
|
|||||||
|
|
|
1 |
2 |
01 1 |
|
2 |
2 |
2 |
C 2 |
2 |
C 2 2 |
|
|
|
|||
Здесь I01 |
|
– момент инерции звена 1 относительно точки О; |
m2, IС2 |
– |
||||||||||||||
масса и |
|
момент |
инерции |
звена 2 |
относительно |
центра |
масс |
С2 |
||||||||||
(рис. 2.1). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Скорости точки С2 определяются уравнениями (2.15) |
|
|
|
|||||||||||||||
|
|
|
|
|
|
VC2x |
1l1y 2lC2 y , |
|
|
|
|
|
(2.28) |
|||||
|
|
|
|
|
|
VC2 y 1l1x 2lC2x . |
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
Тогда |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
V 2 |
|
V 2 |
V 2 |
|
( l |
l |
|
)2 ( l |
|
l |
)2 |
|
|
|||||
C |
2 |
C2x |
C 2 y |
|
1 1y |
2 C2 y |
|
1 1x |
|
2 C2x |
|
|
|
|||||
|
|
|
2l 2 2 (l |
l |
l l |
|
) |
2l |
2 |
2 . |
|
|
|
|
||||
|
|
|
1 1 |
|
1 2 1x C2x |
1y C2 y |
2 |
C |
|
|
|
|
|
|||||
39
Преобразуем скобку во втором слагаемом
(l1xlC 2x l1ylC2 y ) (l1 cos 1 lC2 cos 2 l1 sin 1 lC2 sin 2
l1lC 2 (cos 1 cos 2 sin 1 sin 2 ) l1lC2 cos( 1 2 ) l1lC2 cos 2
иперепишем скорость в виде
VC22 VC22x VC22 y 12l12 2 1 2 (l1lC2 cos 2 ) 22lC22 .
Подставим скорость точки С2 в кинетическую энергию второго звена
T2 12 m2 12l12 2 1 2 (l1lC2 cos 2 ) 22lC 22 12 IC2 22 .
Кинетическая энергия двух звеньев
T T1 |
T2 |
1 I01 12 |
1 m2 l12 12 2l1lC2 cos 2 1 2 lC 22 22 |
|
||||||||||||||
|
|
|
2 |
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 IC2 22 1 |
I01 m2l12 |
12 |
|
|
|
|
|
|||||||
|
|
|
|
2 |
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
(m2l1lC 2 )cos 2 1 2 1 |
IC2 |
m2lC2 2 22 . |
|
(2.29) |
|||||||||||
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
Введем обозначения: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
I |
m12 |
m l l |
, |
I |
012 |
I |
01 |
m l |
2 , |
I |
A2 |
I |
C2 |
m l2 |
. |
(2.30) |
||
|
|
2 1 C2 |
|
|
|
2 1 |
|
|
2 C2 |
|
|
|||||||
Здесь I012 – момент инерции относительно точки О двух звеньев 1 и 2; |
||||||||||||||||||
IA2 – момент инерции звена 2 относительно точки А. |
|
|
|
|
||||||||||||||
Тогда энергия (2.29) в абсолютных скоростях примет вид |
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|||||||||||
|
|
T 1 (I012 ) 12 (Im12 cos 2 ) 1 2 |
|
1 (IA2 ) 22. |
|
|
(2.31) |
|||||||||||
|
|
|
2 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
40
