Алгоритмы управления движениями точки и робота-манипулятора. Учебное пособие
.pdfM01 M1Ф M2Ф
m2 1[l1yl1y lC 2 yl1y l1xl1x lC2xl1x ]
m2 2[l1ylC2 y lC2 ylC2 y l1xlC2x lC 2xlC2x ]
m2 12[l1yl1x lC2 yl1x l1xl1y lC 2xl1y ]
m2 22[l1ylC2x lC2 ylC2 x l1xlC2 y lC2xlC2 y ]
M01 M1Ф M2Ф
m2 1 l12x l12y (lC2 yl1y lC2xl1x )
m2 2 lC2 2x lC2 2 y (l1xlC2 x l1ylC2 y )
m2 12[(l1yl1x l1xl1y ) (lC 2 yl1x lC2xl1y )]
m2 22[(lC 2 ylC2x lC2xlC2 y ) (l1ylC2x l1xlC2 y )]
M01 M1Ф M2Ф
m2 1 l12 l1lC2 (sin 2 sin 1 cos 2 cos 1)
m2 2 lC2 2 l1lC2 (cos 1 cos 2 sin 1 sin 2 )
m2 12[(0) l1lC2 (sin 2 cos 1 cos 2 sin 1)]
m2 22[(0) l1lC2 (sin 1 cos 2 cos 1 sin 2 )]
Учитывая тригонометрические формулы сложения (2.54), получаем
M01 M1Ф M2Ф m2 1 l12 l1lC2 (cos 2 ) m2 2 lC2 2 l1lC2 (cos 2 )m2 12[l1lC2 (sin 2 )] m2 22[ l1lC2 (sin 2 )].
51
Подставляем сюда моменты от сил инерции |
|
|
|
|
|||
|
M Ф I , |
M Ф I |
С2 |
|
2 |
|
|
|
1 |
01 1 |
2 |
|
|
||
и получаем |
|
|
|
|
|
|
|
M01 |
1 I01 |
m2l12 |
m2l1lC2 |
(cos 2 ) |
|
||
|
|
|
|
|
|
|
|
2 IС2 m2lC2 2 m2l1lC2 (cos 2 )
12[m2l1lC2 (sin 2 )] 22[m2l1lC2 (sin 2 )].
Сучетом обозначений (2.30)
I |
m12 |
m l l |
, I |
012 |
I |
01 |
m l 2 |
, |
I |
A2 |
I |
C2 |
m l2 |
|
2 1 C2 |
|
|
2 1 |
|
|
|
2 C2 |
последнее выражение принимает окончательный вид
M01 1(I012 Im12 cos 2 ) 2 (IA2 Im12 cos 2 ) |
|
||||||||||
2 |
(I |
m12 |
sin |
2 |
) 2 |
(I |
m12 |
sin |
2 |
) . |
(2.57) |
1 |
|
|
2 |
|
|
|
|
||||
Сравнивая выражения (2.56) и (2.57), полученные методом кинетостатики, с такими же выражениями (2.39) и (2.38), полученными методом Лагранжа, видим, что они совпадают. Это является доказательством достоверности проделанных выкладок.
2.2.4. Алгоритм численного решения на ЭВМ задачи динамики
1.Задать исходные данные.
1.1.Положение и скорость детали. Задать функции:
из (2.1) |
xD (t) fDx (t), |
yD (t) fDy (t) ; |
из (2.2) |
VDx (t) fVDx (t), |
VDy (t) fVDy (t) . |
Вычислить начальные положение и скорость детали:
xD0 fDx (0), |
yD0 fDy (0) ; |
VDx0 fVDx (0), |
VDy0 fVDy (0) . |
52
1.2. Начальное положение манипулятора, начальные скорости, ускорения, моменты и мощности:
l1 OA, |
l2 AМ, |
lC2 AC2 ; |
|
|
|
|||
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 0, 2 0, |
M01 0, |
M A2 0, |
N0 0, |
NA 0 . |
|
|||
1.3. Начальные рассогласования координат |
|
|
||||||
x xD0 xM 0 , |
y yD0 yM 0 , |
r2 x2 y2 . |
|
|||||
1.4.Инерционные параметры – массы и моменты инерции звеньев
m1, m2 , I01, IС2 .
1.5.Два параметра управления – время погони и относительная погрешность рассогласования координат в конце погони
, 1, ( 0,1, 0,01, 0,001) .
1.6. Количество шагов по времени для расчета nt и визуализа- |
|
ции nv . Тогда шаги по времени |
|
t / nt , |
tv / nv . |
1.7. Обнулить счетчик времени t = t0 = ti – 1 = 0.
1.8. Выдать (нарисовать) начальные результаты (отладка программы)
t(xD yD ) (xM yM ) ( 1 2 ) ( x y r) (VDx VDy ) (VMx VMy ) ( 1 2 ) ( 1 2 ) (M01 M A2 ) (N0 NA ).
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) ; |
VDx (t) fVDx (t), |
VDy (t) fVDy (t) . |
53
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. Внутренние константы – проекции отрезков при старых углах |
|||||||||||||||||||||||||||||
l1y l1 sin 10 , |
|
|
l1x l1 cos 10 , |
|
|
|
|
|
|
|
|
|
|||||||||||||||||
l2 y l2 sin 20 |
, |
l2x l2 cos 20 , |
|
|
|
|
|
|
|
|
|||||||||||||||||||
lC 2 y lC2 sin 20 , |
|
lC2x lC2 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. Определить угловые ускорения |
|
|
|
|
|
||||||||||||||||||||||||
1 ( 1 10 ) / t, |
|
|
|
2 ( 2 20 ) / t. |
|
|
|
||||||||||||||||||||||
3.7. Определить управляющие моменты и мощности по (2.56), |
|||||||||||||||||||||||||||||
(2.57) и (2.40): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
M01 1(I012 |
Im12 cos 2 ) 2 (IA2 |
Im12 cos 2 ) |
|||||||||||||||||||||||||||
|
|
|
|
2 |
(I |
m12 |
sin |
2 |
) 2 |
(I |
m12 |
sin |
2 |
), |
|
|
|
||||||||||||
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|||||||
M |
A2 |
|
(I |
m12 |
cos |
2 |
) |
2 |
(I |
A2 |
) 2 |
(I |
m12 |
sin |
2 |
) , |
|||||||||||||
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
||||||||||
N0 M01 1, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
N |
A |
M |
|
|
|
|
M |
A2 |
( ). |
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
A2 |
|
2 |
|
|
|
2 |
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|||||||
54
3.8. Выдать (нарисовать) текущие результаты (отладка программы): t, (xD yD ) (xM yM ) ( 1 2 ) ( x y r) (VDx VDy ) (VMx VMy )
( 1 2 ) ( 1 2 ) (M01 M A2 ) (N0 NA ).
3.9. Оценка окончания:
если t > или = τ, то выйти из цикла на 4, иначе продолжить цикл.
3.10. Определить предыдущие значения для ti – 1
xM 0 xM , yM 0 yM , 10 1, 20 2.
3.11.Перейти на 3 для нового шага по времени.
4.Завершить программу.
55
3. УПРАВЛЕНИЕ ЧЕТЫРЕХЗВЕННЫМ МАНИПУЛЯТОРОМ
СДВУМЯ СТЕПЕНЯМИ СВОБОДЫ
3.1.КИНЕМАТИКА
3.1.1. Постановка задачи кинематики
Постановка задачи для четырехзвенного манипулятора аналогична постановке задачи для двухзвенного. Робот-манипулятор состоит из четырех звеньев (см. рис. 3.1 и 3.4) – трех стержней с известными размерами:
l1 OA, |
l2 AB, |
lE EB, |
lM BM , |
l3 lE lM ; |
|
lC2 AC2 , lC3 BC3 |
|
||
и ползуна Е, который перемещается по горизонтали. Управление манипулятором, осуществляемое двумя двигателями в шарнирах О и А, должно обеспечить за время τ сближение захвата М с движущейся деталью D. Деталь движется по произвольной траектории, задаваемой координатным способом. Начальное неподвижное положение манипулятора (рис. 3.2) задано углами поворота звеньев φ10, φ20, φ30, положение детали D0 – координатами xD(0), yD(0). К моменту времени t = τ требуется достичь совмещения точек М и D с относительной погрешностью δ, которая определяется через рассогласование их перемещений:
x( ) y( ) .
x(0) y(0)
Для решения поставленной задачи необходимо:
1) составить уравнения движения точки М, угловых движений звеньев механизма, скорости точки Е;
56
Y |
VМ |
V |
|
D |
M
D
|
3 |
3 |
Е |
3 |
B |
|
|
2 |
M A1 |
M A2 |
2 |
|
|
|
||
1 |
|
2 |
D0 |
1 |
A |
|
|
1 |
|
X |
|
|
|
||
O |
|
|
|
|
|
|
|
M0 |
|
|
|
|
|
Рис. 3.1 |
|
Е |
30 0 |
B |
M 0 |
yЕ |
A |
20 |
yМ 0 |
|
|||
|
|
|
10 |
O 
Рис. 3.2
2)выбрать параметр управления, обеспечивающий сближение точек М и D с заданной точностью;
3)численно проинтегрировать методом Эйлера уравнения движений на интервале времени τ.
3.1.2. Уравнения движений
Уравнения движения детали D
Деталь движется по произвольной траектории, задаваемой координатным способом:
xD (t) fDx (t), |
yD (t) fDy (t) . |
(3.1) |
57
Тогда скорости находятся через производные от координат:
V |
(t) dxD |
f |
(t), |
V |
(t) dyD |
f |
(t) . |
(3.2) |
Dx |
dt |
VDx |
|
Dy |
dt |
VDy |
|
|
|
|
|
|
|
|
|
Уравнения движения схвата М
Введем радиусы-векторы точек М и D (рис. 3.3):
rM |
|
|
|
|
rD |
|
|
|
|
ixM jyM , |
ixD jyD |
||||||||
и вектор рассогласования координат r: |
|||||||||
rD rM r , |
r rD rM , |
||||||||
r i (xD xM ) j ( yD yM ) i x j y.
Здесь
x x |
D |
x , |
y y |
D |
y |
M |
, |
r2 x2 y2 . |
(3.3) |
|
M |
|
|
|
|
|
|||
|
|
|
|
|
VM |
|
|
|
|
|
|
|
VD |
|
|
|
|
VD |
|
|
|
|
M |
|
r |
|
D |
|
|
|
|
|
V |
|
|
|
|||
|
|
|
|
|
|
|
|
||
Y rM
rD
O 
X
Рис. 3.3
Скорость точки М представим в виде векторной суммы переносной скорости, равной скорости точки D, и относительной V:
VM VM пер VM отн VD V ,
отсюда
|
|
|
|
|
|
|
|
|
|
V |
VM VD , |
|
(3.4) |
||||||
Vx VMx VDx , |
Vy VMy VDy . |
||||||||
|
|||||||||
58
В качестве стратегии управления движением точки М примем два положения:
– во-первых, вектор относительной скорости должен быть направлен по вектору рассогласования r на точку D;
– во-вторых, по модулю вектор относительной скорости должен уменьшаться по мере приближения к точке D, чтобы в момент захвата обеспечить мягкое касание с нулевой относительной скоростью.
Для этого можно ввести линейную связь между относительной скоростью и рассогласованием, что равносильно линейной комбинации рассогласований и их производных:
|
|
k r , |
|
|
|
V |
|
(3.5) |
|||
Vx k x, |
Vy k y. |
||||
|
|||||
Здесь положительная константа k размерностью (1/с) является параметром управления и пока не определена. В более общем случае можно было бы ввести два параметра управления – отдельно по каждому направлению kx и ky, но тогда вектор относительной скорости будет направлен не по вектору рассогласования.
Из (3.4) и (3.5) можем определить скорости точки М:
VMx VDx k x |
VMx VDx k x, |
(3.6) |
||
VMy VDy k y |
|
VMy VDy k y. |
||
|
||||
Отсюда видно, что чем больше параметр k, тем значительнее скорость схвата М превышает скорость детали D на начальном участке погони, когда рассогласования x и y велики. Параметр управления k определим ниже, там же дадим его количественные оценки в зависимости от требуемой погрешности δ.
Добавим к скоростям их связи с координатами и получим уравнения движения точки М в форме уравнений Коши:
dxM V |
, |
V V |
k(x |
D |
x |
|
); |
|||
dt |
Mx |
Mx |
Dx |
|
M |
|
||||
|
|
|
|
|
|
|
|
|
|
|
dyM V |
, |
V V |
k( y |
D |
y |
M |
). |
|||
dt |
My |
My |
Dy |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
59
Если скорости точки М в текущий момент времени ti найдены, то из этих соотношений можно численным интегрированием методом Эйлера определить ее текущие координаты:
xi xi 1 VMx t, |
yi yi 1 VMy t . |
(3.7) |
Уравнения угловых движений звеньев манипулятора
Если предположить, что мощности двигателей в шарнирах О и А достаточно для обеспечения любых угловых скоростей звеньев механизма, то можно утверждать, что угловые движения звеньев манипулятора и скорость точки Е однозначно определяются движением точки М и кинематическими связями, налагаемыми в точках О и Е.
Рассмотрим звено 1. Выбираем полюс в точке О. Тогда скорость точки А находим по векторной формуле
|
|
|
|
|
|
|
|
|
|
i |
|
|
j |
|
|
k |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
||
VA VO 1 OA VO |
0 |
0 |
|
. |
||||||||||||||
|
|
|
|
|
|
|
|
|
OAcos 1 |
OAsin 1 |
0 |
|
|
|||||
Отсюда находим
VAx VOx 1 OAsin 1 VOx 1l1y ,
(3.8)
VAy VOy 1 OAcos 1 VOy 1l1x .
Здесь введены обозначения проекций длины стержня 1 (см. рис. 3.4):
l1y OAsin 1, |
l1x OAcos 1. |
(3.9) |
Рассмотрим звено 2. Выбираем полюс в точке А. Тогда скорость точки В находим по векторной формуле
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
i |
|
|
j |
|
k |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
||
VB VA 2 AB VA |
0 |
0 |
|
. |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
AB cos 2 |
ABsin 2 |
0 |
|
|
|||||
60
