Алгоритмы управления движениями точки и робота-манипулятора. Учебное пособие
.pdfОтсюда находим
VBx VAx 2 ABsin 2 VAx 2l2 y ,
(3.10)
VBy VAy 2 AB cos 2 VAy 2l2x .
Здесь введены обозначения проекций длины стержня 2:
l2 y ABsin 2 , l2x AB cos 2. (3.11)
В разделе «Динамика» нам потребуется скорость центра тяжести
звена – точки С2 (см. рис. 3.4). Найдем ее аналогично скорости точ- |
||||||||||||||||||||||||||||||||||||||
ки В: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
j |
|
|
|
|
|
k |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|||
VC 2 VA 2 AC2 VA |
0 |
|
0 |
|
|
|
. |
|
||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AC2 cos 2 |
AC2 sin 2 |
0 |
|
|
|
|||||||||||||
Отсюда находим |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
VC 2 x VAx 2 |
AC2 sin 2 |
VAx 2lC 2 y , |
|
|
|
|
|
|
|
(3.12) |
|||||||||||||||||||||||
|
|
|
|
|
VC 2 y VAy 2 |
AC2 cos 2 |
VAy 2lC2x . |
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||
Здесь введены обозначения проекций длины отрезка AC2: |
|
|||||||||||||||||||||||||||||||||||||
|
|
|
|
lC 2 y AC2 sin 2 , |
|
|
|
|
lC2 x AC2 cos 2 . |
(3.13) |
||||||||||||||||||||||||||||
Рассмотрим звено 3. Выбираем полюс в точке Е. Тогда скорость |
||||||||||||||||||||||||||||||||||||||
точки В находим по векторной формуле |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
i |
|
|
|
j |
|
|
k |
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
|
||||||||||||
|
|
VB VE 3 EB VE |
|
0 |
|
|
0 |
|
|
|
. |
|
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
EB cos 3 |
EBsin 3 |
0 |
|
|
|
|
|
|
||||||||||
Отсюда находим
VBx VEx 3 EBsin 3 , VBy VEy 3 EB cos 3
61
или для скоростей точки Е:
VEx VBx 3 EBsin 3 VBx 3lEy ,
(3.14)
VEy VBy 3 EB cos 3 VBy 3lEx .
Здесь введены обозначения проекций длины EB стержня 3:
lEy EBsin 3 , |
lEx EB cos 3. |
(3.15) |
Определим скорость точки М через полюс В:
|
|
|
|
|
|
|
|
|
|
|
|
i |
|
|
|
j |
|
|
k |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
||
VM VB 3 BM VB |
0 |
|
0 |
|
. |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
BM cos 3 |
BM sin 3 |
0 |
|
|
||||||
Отсюда находим |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
VMx VBx 3 BM sin 3 |
VBx 3lMy , |
(3.16) |
||||||||||||||||
|
|
|
VMy VBy 3 BM cos 3 |
VBy 3lMx . |
|||||||||||||||||
|
|
|
|
|
|
|
|||||||||||||||
Здесь введены обозначения проекций длины BM стержня 3: |
|||||||||||||||||||||
|
|
lMy BM sin 3 , |
|
lMx BM cos 3. |
(3.17) |
||||||||||||||||
Подставляя в (3.16) скорости точек В (3.10) и А (3.8), найдем формулы для скоростей точки М:
VMx VOx 1l1y 2l2 y 3lMy ,
(3.18)
VMy VOy 1l1x 2l2x 3lMx .
Аналогичным образом из (3.14) находим скорости точки E:
VEx VOx 1l1y 2l2 y 3lEy ,
(3.19)
VEy VOy 1l1x 2l2x 3lEx .
62
В разделе «Динамика» нам потребуется скорость центра тяжести звена – точки С3 (см. рис. 3.4). Найдем ее аналогично скорости точки М:
|
|
|
|
|
|
|
|
|
|
|
|
i |
|
|
j |
|
|
k |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
||
VC3 VB 3 BC3 VB |
0 |
0 |
|
. |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
BC3 cos 3 |
BC3 sin 3 |
0 |
|
|
|||||
Отсюда находим
VC3x VBx 3 BC3 sin 3 VBx 3lC3 y ,
(3.20)
VC3 y VBy 3 BC3 cos 3 VBy 3lC3x .
Здесь введены обозначения проекций длины отрезка BC3:
lC3 y BC3 sin 3 , |
lC3x BC3 cos 3. |
(3.21) |
Величина BC3 будет положительной, если точка C3 принадлежит отрезку BМ, если точка C3 принадлежит отрезку BЕ, то величина BC3 будет отрицательной.
Учтем кинематические связи в точках О и Е:
VOx 0, |
VOy 0, |
VEy 0 . |
(3.22) |
Тогда скорости точек будут определяться следующими формулами:
– для первого звена
VAx VOx 1l1y 1l1y ,
(3.23)
VAy VOy 1l1x 1l1x ;
– для второго звена
VBx VAx 2l2 y 1l1y 2l2 y ,
VBy VAy 2l2x 1l1x 2l2x ,
(3.24)
VC2 x VAx 2lC 2 y 1l1y 2lC2 y , VC2 y VAy 2lC2x 1l1x 2lC2x ;
63
– для третьего звена
VEx 1l1y 2l2 y 3lEy ,
VEy 1l1x 2l2x 3lEx ,
VMx VBx 3lMy 1l1y 2l2 y 3lMy ,
(3.25)
VMy VBy 3lMx 1l1x 2l2 x 3lMx ,
VC3x VBx 3lC3 y 1l1y 2l2 y 3lC3 y , VC3 y VBy 3lC3x 1l1x 2l2x 3lC3x .
Предполагая, что скорости точки М уже найдены, перепишем первые четыре уравнения (3.25) с учетом связей (3.22) в следующем виде:
1l1y 2l2 y 3lMy VMx , |
|
1l1x 2l2x 3lMx VMy , |
(3.26) |
1l1x 2l2x 3lEx VEy 0, |
|
VEx 1l1y 2l2 y 3lEy . |
(3.27) |
Из трех уравнений (3.26) определяются угловые скорости звеньев, после этого из (3.27) находится скорость точки E.
Угловые скорости из системы уравнений (3.26) можно находить на ЭВМ численно через обратную матрицу. Если на ЭВМ отсутствует такая стандартная подпрограмма, то систему (3.26) необходимо решить вручную. Сделаем это следующим образом. Сначала вычтем третье уравнение из второго:
3 (lMx lEx ) VMy .
Из этого уравнения с учетом обозначений (3.15) и (3.17) находим
3 |
VMy |
|
VMy |
|
VMy |
. |
|
(lMx lEx ) |
(BM EB)cos 3 |
l3 cos 3 |
|||||
|
|
|
|
64
Обозначим для краткости |
|
|
|
|
|
|
|
|
|
|
|
l3x l3 cos 3 . |
(3.28) |
||||||
Тогда |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
VMy |
. |
|
|
(3.29) |
|
|
|
|||||||
|
|
|
3 |
|
l3x |
|
|
|
|
|
|
|
|
|
|
|
|
||
Далее из третьего уравнения системы (3.26) находим |
|
||||||||
|
|
|
|
|
|||||
|
2 |
( 3lEx 1l1x ) / l2x. |
|
(3.30) |
|||||
Найденные значения (3.29) и (3.30) подставляем в первое уравнение системы (3.26):
|
l |
|
|
l2 y |
( l |
|
l |
) |
|
l |
V |
, |
|
|
|
|||||||||||||||
|
|
|
|
|
|
|||||||||||||||||||||||||
|
1 1y |
|
|
l2x |
|
3 Ex |
|
|
|
1 1x |
|
|
|
3 My |
|
Mx |
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
l2 yl1x |
|
|
|
|
|
|
l2 y |
|
|
|
|
|
|
|
|
|
||||||
|
1 |
l1y |
|
|
|
|
|
|
3 |
|
|
|
|
lEx |
lMy VMx . |
|
||||||||||||||
l |
2x |
|
l |
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2x |
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
V |
|
|
|
|
l2 y |
l |
|
l |
|
|
|
|
l2 yl1x |
l |
. |
|
(3.31) |
|||||||||||
|
|
|
Ex |
My |
|
|||||||||||||||||||||||||
|
1 |
|
|
Mx |
|
|
|
3 |
|
|
l2x |
|
|
|
l2 x |
1y |
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
Сначала вычисляем ω3 (3.29), затем ω1 |
(3.31) и ω2 |
(3.30). К перечис- |
||||||||||||||||||||||||||||
ленным уравнениям добавляем дифференциальные зависимости |
|
|||||||||||||||||||||||||||||
|
|
|
d 1 , |
|
|
|
d 2 |
, |
d 2 |
|
|
|
|
|||||||||||||||||
|
|
|
|
dt |
|
|
|
|
|
1 |
|
|
|
|
|
dt |
|
|
|
2 |
dt |
2 |
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
и получаем систему дифференциальных уравнений в форме Коши. Если угловые скорости в текущий момент времени ti найдены, то из этих соотношений можно численным интегрированием методом Эйлера определить текущие значения углов:
1,i 1,i 1 1 t, |
2,i 2,i 1 2 t, |
3,i 3,i 1 3 t. (3.32) |
65
Определение параметра управления
В выражении (3.5) была введена положительная константа k:
Vx k x, |
Vy k y . |
|
||||||||||
Определим ее для координаты x: |
|
|
|
|
|
|
||||||
VMx VDx k(xD xM ), |
|
|||||||||||
dxM dxD k(x |
D |
x ), |
|
|||||||||
dt |
|
dt |
|
|
|
|
|
M |
|
|||
|
|
|
|
|
|
|
|
|
||||
|
d |
(x |
D |
x |
) k(x |
D |
x ), |
|
||||
|
|
|||||||||||
|
dt |
|
M |
|
|
|
|
M |
|
|||
|
|
|
|
|
|
|
|
|
|
|
||
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 |
C e kt . |
(3.33) |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
2 |
|
Неизвестную константу С2 |
найдем из начального условия, когда |
|||||||||||
рассогласования x(0) и y(0) известны: |
|
|
|
|
||||||||
z(0) C2e k 0 C2 |
|
|
|
z z(0)e kt . |
(3.34) |
|||||||
66
По условию задачи к моменту времени t = τ рассогласование z = ( x, y) должно удовлетворять соотношению
z( ) . z(0)
Сравнивая зависимости (3.34) и (3.35) при t = τ z( ) z(0)e k ,
z( ) z(0) ,
находим
e k ,
k ln .
И окончательно
k1 ( ln ) 1 ln 1 0.
3.1.3.Алгоритм численного решения на ЭВМ задачи кинематики
(3.35)
(3.36)
1.Задать исходные данные.
1.1.Положение и скорость детали. Задать функции
из (3.1) |
xD (t) fDx (t), |
yD (t) fDy (t), |
из (3.2) |
VDx (t) fVDx (t), |
VDy (t) fVDy (t). |
Вычислить начальные положение и скорость детали:
xD0 fDx (0), |
yD0 fDy (0), |
VDx0 fVDx (0), |
VDy0 fVDy (0). |
1.2. Начальное положение манипулятора (см. рис. 3.2): l1 OA, l2 AB, lE EB, lM BM , l3 lE lM ;
67
1 0, |
2 0, |
3 0, |
10 / 2, 30 / 2, |
30 0 ; |
|
|||||||
xM 0 l1 cos 1 l2 cos 2 l3 cos 3 , yM 0 l1 sin 1 |
l2 sin 2 |
l3 sin 3 ; |
||||||||||
xE0 xM 0 |
|
l3 cos 3 |
|
|
|
yE yM 0 . |
|
|
|
|||
1.3. Два параметра управления |
|
|
|
|
||||||||
, |
1 |
( 0,1 |
0,01 |
0,001) |
|
|
|
|||||
1.4. Количество шагов по времени для расчета nt |
и визуализа- |
|||||||||||
ции nv. |
Тогда шаги по времени |
|
|
|
|
|
||||||
t / nt , |
|
tv / nv . |
|
|
|
|
|
|||||
1.5. Выдать и нарисовать начальные результаты: |
|
|
||||||||||
t, (xD yD ), (xM yM xE ), ( 1 2 3 ), ( x y r), (VDx VDy ), |
||||||||||||
(VMx VMy VEx ), ( 1 2 3 ). |
|
|
|
|
||||||||
2. Третий параметр управления из (3.36) |
|
|
|
|||||||||
k |
1 ln |
1 |
|
проверить: |
k 0 . |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
3. Цикл по времени. Для очередного шага t = ti = ti–1 + |
t |
вычислить |
||||||||||
следующее. |
|
|
|
|
|
|
|
|
|
|
||
3.1. Новое положение и скорость детали |
|
|
|
|||||||||
xD (t) fDx (t), |
yD (t) fDy (t) ; |
|
|
|
|
|||||||
VDx (t) fVDx (t), |
VDy (t) fVDy (t) . |
|
|
|
||||||||
3.2. Рассогласование координат из (3.3) |
|
|
|
|||||||||
x xD xM 0 , |
y yD yM 0 , |
r2 x2 y2 . |
|
|
||||||||
3.3. Скорость и новое положение точки М |
|
|
|
|||||||||
из (3.6): VMx VDx k x, |
VMy VDy k y, |
|
|
|
||||||||
из (3.7): |
xM xM 0 |
VMx t, |
yM yM 0 VMy t . |
|
|
|||||||
3.4. Внутренние константы – проекции отрезков при старых углах |
||||||||||||
из (3.9): |
|
l1y l1 sin 10 , |
l1x l1 cos 10 , |
|
|
|
||||||
68
из (3.11): |
l2 y l2 sin 20 , |
l2x l2 cos 20 , |
|
|
|
|
|
|
|
||||||||||||
из (3.15), (3.17), (3.28): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
lEy lE sin 30 , |
lEx lE cos 30 , |
|
|
|
|
|
|
|
|
|
|
|
|||||||||
lMy lM sin 30 , |
lMx lM cos 30 , |
l3x l3 cos 30. |
|
|
|
||||||||||||||||
3.5. Угловые скорости и новые углы звеньев |
|
|
|
|
|
||||||||||||||||
из (3.29): |
|
|
VMy |
; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
3 |
|
l3x |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
из (3.31): |
|
V |
|
|
l2 y |
l |
|
|
l |
|
|
l2 yl1x |
l |
|
; |
||||||
|
Ex |
|
My |
|
|
|
|
|
|||||||||||||
|
1 |
|
Mx |
3 |
|
l2x |
|
|
l2 x |
1y |
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
из (3.30): |
2 |
( 3lEx 1l1x ) / l2x ; |
|
|
|
|
|
|
|
|
|
||||||||||
из (3.32): |
1 |
10 1 t, |
2 20 |
2 t, |
3 |
30 3 t . |
|||||||||||||||
3.6. Скорость и новое положение точки E из (3.27) |
|
|
|||||||||||||||||||
VEx 1l1y 2l2 y 3lCy , |
|
xE xM l3x . |
|
|
|
||||||||||||||||
3.7. Выдать и нарисовать текущие результаты
t, (xD yD ), (xM yM xE ), ( 1 2 3 ), ( x y r), (VDx VDy ), (VMx VMy VEx ), ( 1 2 3 ).
3.8. Оценка окончания:
если t > или = τ, то выйти из цикла на 4, иначе продолжить цикл.
3.9. Определить предыдущие значения для ti – 1:
xM 0 xM , |
yM 0 yM , |
10 1, |
20 2 , |
30 3. |
3.10.Перейти на 3 для нового шага по времени.
4.Завершить программу.
69
3.2.ДИНАМИКА
3.2.1. Постановка задачи динамики
Для четырехзвенного манипулятора задача ставится так же, как и для двухзвенного. Считаем, что манипулятор работает в горизонтальной плоскости. В этом случае собственный вес не влияет на динамику механизма. Управление манипулятором осуществляется двумя двигателями в шарнирах О и А (см. рис. 3.1).
Требуется из условия мягкого касания схватом М детали D определить управляющие моменты, развиваемые двигателями в шарнирах О и А, как функции времени, а также определить необходимую мощность этих двигателей.
Ранее на модели манипулятора из двух звеньев было показано, что итоговые формулы для вычисления управляющих моментов получаются одинаковыми как методом уравнений Лагранжа, так и методом кинетостатики, при этом последним методом выкладки получаются проще. Поэтому в этой задаче получим расчетные формулы для управляющих моментов в шарнирах О и А только методом кинетостатики.
3.2.2. Уравнения кинетостатики
Составим расчетную схему. Разбиваем механизм на звенья и прикладываем к ним внешние и внутренние силы и моменты, а также силы инерции и моменты от сил инерции (см. рис. 3.4).
Звено 1 совершает вращательное движение под действием момента М01. Со стороны звена 2 от двигателя действует реактивный момент МА1. В шарнирах действуют реакции X01, Y01, XA1, YA1. При вращательном движении необходимо приложить момент сил инерции МФ1. Составляем уравнения кинетостатики:
X 0 |
X01 X A1 0, |
|
Y 0 |
Y01 YA1 0, |
(3.37) |
M0 0 |
M01 M A1 M1 X A1l1y YA1l1x 0. |
|
Звенья 2 и 3 совершают плоско-параллельное движение. В этом случае помимо реактивных сил от соседних звеньев к каждому из них
70
