Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Роботы и робототехника лабораторный практикум. Учебное пособие
.pdf
11. lappro part,70
12. lmove part
13. open
14. lappro part,70
15. e
6. lmove box,1
7. lappro box,70
8. lappro part,70
9. lmove part,-1
10. lappro part,70
11. e
Последний шаг E не является командой для робота; эта
команда завершает режим редактирования.
□ Выполнить.
Запустить программу PrName в режиме отладки:
1. Выставить переключатели на контроллере:
TEACH/REPEAT=TEACH,
MOTOR POWER=ON,
HOLD/RUN=RUN.
2. Выставить переключатель на пульте управления:
TEACH LOCK= ON.
3. Проверить, чтобы кнопки Emergency Stop не были нажаты.
4. Выбрать программу: на пульте ручного управления (ПРУ)
во вкладке Program→Select→PrName (название программы) (см.
рис. 1.10);
5. Выбрать текущим шагом – первую инструкцию програм-
мы (либо – рис
. 1.10 – с помощью вкладки Step пульта + набрать
клавишами номер строки + кнопку Enter, либо с помощью комбинации клавиш см. табл. 1.4)
6. Отработать программу, удерживая предохранитель и
кнопку GO на ПРУ.
□ □
□ Выполнить.
Запустить программу PrName в режиме повторения.
1. Выставить переключатели на контроллере:
TEACH/REPEAT=REPEAT,
MOTOR POWER=ON,
HOLD/RUN=RUN,
2. Выставить переключатель на пульте управления:
TEACH LOCK= OFF,
3. Проверить, чтобы кнопки Emergency Stop не были нажаты.
51

4. Для старта отработки использовать команду:
>EXECUTE PrName
□ □
Задачу 2 студентам предлагается выполнить самостоя-
тельно.
Порядок выполнения задачи 3 – «перемещение деталей из
стопки в паллету при произвольном расположении паллеты»:
Оси СК паллеты
ZYXO удобно выбирать вдоль
ОДОДОДОД
рядов и колонок деталей (при матричном их расположении) (см.
рис. 2.3). Тогда детали смещены друг относительно друга на величины, кратные
yx ΔΔ , вдоль соответствующих осей СК паллеты.
Если было бы возможным программно задать положение руки робота в СК паллеты, то, изменяя координаты
на величины, кратные
yx ΔΔ , , можно было бы легко позициони-
X, Y этого положения
ровать руку робота с деталью в нужное место паллеты. И эта возможность появляется при использовании так называемых «составных координат».
В примере, показанном на рис. 2.3, FR_CS+put_ini – составная координата, описывающая положение робота в базовой СК
робота.
put_ini – переменная, в которую записано заданной на рис.
2.3 положение робота в СК паллеты;
FR_CS – переменная, в которую записано положение СК
паллеты в базовой СК робота;
Составные координаты нужны, так как при записи/выполнении инструкций движения роботу необходимо задавать
его положение в базовой СК. При этом знак «+» НЕ означает простую сумму соответствующих координат этих переменных.
Возникает вопрос –
как задать/определить компоненты со-
ставной координаты и в дальнейшем ими пользоваться?
Задание СК паллеты (FR_CS) с помощью команды
FRAME
52

Задание СК паллеты (FR_CS) с помощью команды
FRAME
Инструкция FR_CS = FRAME(O1,Xp,Yp,O2) запишет в переменную FR_CS положение СК паллеты в базовой СК (рис. 2.5).
Z
O2=O1
Xp
X 0 Д
y
0Д
O0 Д
Yp
Y 0Д
x
Рис. 2.5. Пример положений робота, требуемых для задания СК паллеты
с помощью команды FRAME
O1, Xp, Yp, O2 – такие переменные положения схвата робота,
у которых начала СК схвата:
O1 – определяет начало СК паллеты
ентации осей СК паллеты);
Xp – лежит на положительной полуоси
ты;
Yp – лежит в положительной полуплоскости
кости
YXO
;
ДДД
000
O2 – определяет начало СК паллеты (при задании начала СК
паллеты);
53
(при задании ори-
ДO0
СК палле-
ДДXO00
00>
Y плос-
Д

Пояснение:
Y
O1 определяет ориентацию осей СК паллеты, а O2 – задаёт
начало СК паллеты. Например, СК других ящиков с той же угловой ориентацией, что и у первого, доопределяется лишь своим
значением переменной O2 (при использовании команды FRAME).
Математически можно однозначно задать какую-либо систему координат тремя точками: началом O этой системы
координат, точками x и y на положительных полуосях OX, OY. Но это в
случае, если точки O, x и y заданы абсолютно точно. В противном
случае векторы
Ox и Oy будут не перпендикулярны и задача за-
дания СК станет неоднозначной.
Однозначной задачу может сделать, к примеру, такое допу-
щение – точка x лежит на положительной полуоси OX, а точка y –
в положительной полуплоскости
0>
плоскости OXY, что и
используется в инструкции FRAME.
□ Выполнить.
Нарисовать (индивидуально на листке бумаги) эскиз задачи
паллетирования (см. рис. 2.3) и макет паллеты на листке А4 (с указанием осей СК паллеты, вспомогательных переменных, положений схвата при обучении СК паллеты, положений деталей в паллете) (см. рис. 2.5.)
□□
Как правило, O1, Xp, Yp задаются методом обучения – ручным позиционированием
робота-манипулятора в нужные позиции.
□ Выполнить.
С использованием пульта ручного управления выставить робот-манипулятор в соответствующие позиции и записать их с помощью инструкции HERE.
□□
■ Примечание.
НЕЛЬЗЯ при задании O, Xp, Yp изменять ориентацию схвата, так
как СК паллеты может быть задана неправильно.
Ведь при ручном обучении в данной задаче в нужную точку позиционируется какая-то точка инструмента, а не начало СК схвата, определяющее СК паллеты!
■■
54

□ Выполнить.
Задать систему координат паллеты FR_CS с помощью мониторной команды:
>POINT FR_CS = FRAME(O,X_p,Y_p,O)
↵↵
□□
□ Выполнить.
Записать put_ini – положение робота в СК паллеты.
Для записи положения робота в СК паллеты достаточно
вручную (с помощью пульта) выставить схват робота в нужное
положение и выполнить инструкцию языка AS:
HERE FR_CS+put_ini
↵↵
□□
Ниже приведён пример инструкций языка AS, изменяющих
положение схвата робота в СК паллеты FR_CS (delta_y =
yΔ на
рис. 2.3) и определяющих новое положение схвата робота
FR_CS+put в базовой СК:
↵↵
↵↵
↵↵
>POINT put = put_ini
>POINT/Y put = SHIFT(put_ini by ,delta_y)
>POINT FR_CS+put
□ Выполнить.
Разобравшись в примере программы, написать и отладить
программу паллетирования с использованием команды FRAME.
□□
Пример программы паллетирования с использованием команды
FRAME
edit a_180217
x_ini = DX(put_ini); X координату put_ini - в память
y_ini = DY(put_ini); Y координату put_ini – в память
z = DZ(start); Z координата start
dx = 50;
dy = 70;
dz = 1.6;
k = 0; ; количество взятых деталей
POINT put = put_ini; ввод буферной переменной –
положить
55

POINT take = start; ввод буферной переменной –
взять
FOR i = 0 TO 1; цикл по двум рядам
FOR j = 0 TO 1; цикл по двум колонкам
z_final = z-k*dz;
POINT/Z = take=TRANS(,,z_final);
JAPPRO take,50
LMOVE take
CLOSE
LAPPRO take,50
k = k+1;
x_final = x_ini + dx*i;
y_final = y_ini + dy*j;
POINT/X/Y put=TRANS(x_final,y_final);
JAPPRO put,50
LMOVE put
OPEN
LAPPRO put,50
END
END
56

Глава 3
ИСПОЛЬЗОВАНИЕ МЕТОДА ОДНОРОДНЫХ
ПРЕОБРАЗОВАНИЙ ДЛЯ ПОЗИЦИОНИРОВАНИЯ
СХВАТА РОБОТА-МАНИПУЛЯТОРА
Изучается формирование траектории движения роботаманипулятора с использованием метода однородных преобразований. В качестве примера рассматривается задача обеспечения
движения схвата робота по траектории, заданной относительно
смещенного объекта. Например, нужно наносить рисунки или
надписи на объекты, положение которых в рабочем пространстве
робота заранее неизвестно. В этом случае сначала определяется
положение объекта в
системы технического зрения. Потом рассчитываются матрицы
преобразования точек траектории движения схвата из СК, связанной с объектом, на котором нужно нанести рисунок, в абсолютную
СК, в которой задается траектория движения схвата управляющей
программой.
Внешний компьютер
с установленной
программой
технического зрения
Рис. 3.1. Робототехнический комплекс с системой технического зрения
абсолютной СК, например с использованием
Видеокамера
Робот-
манипулятор
«Объект»
с нанесенным
рисунком
57

Для практического освоения разработки программ управле-
ния робототехническими комплексами с адаптивным управлением
можно использовать лабораторный учебный стенд с роботомманипулятором Kawasaki FS03N, оснащенный видеокамерой uEye
UI-1240SE-C и программой технического зрения RFA Vision v.5.0
(на рис. 3.1).
Однородные преобразования координат
для двумерного случая
Рассмотрим точку P на плоскости и системы координат
yOx
.
11
Py
y
j
ρ
y
1
α
j
1
P
Py1
ρ
1
i
1
α
Oxy
x
1
Px1
O
S
1
,
O
i
Px
x
Рис. 3.2. Проецирование точки на оси разных систем координат
Для линейного пространства из векторного уравнения
58
ba +=c
,
xxx
ba +=c
. Это можно
yyy
ba
+=c
следует, что
записать наглядно:

ba
α
α
α
α
+=c
║ ║ ║ (7)
с
+=
ibiai
xxx
+++
с
+=
jbjaj
yyy
(
−ji
, ортогональные орты, а множители при них – проекции на
соответствующие оси).
Представим выражение вектора
через орты
ности записи уравнений будем использовать обозначения:
cos=с ,
ρ
║ ║ ║ ║
Данные уравнения можно записать в матричном виде:
ji
, СК Oxy (см. рис. 3.2) в виде (7). Для компакт-
sin=s .
Pi P j S
=⋅ +⋅ +
11 1 1xy
()
11
αα
11
ρρ
SPiPjS
=+= + +
11111xy
iSisPicPiP
αα
⋅+⋅−⋅+⋅⋅=
xyxx
++++
jSjcPjsPjP
⋅+⋅⋅+⋅⋅=
yyxy
P
x
=
P
y
sc
−
cs
αα
P
αα
⋅
P
S
x
1
y
1
x
+
S
y
Представив все векторы как однородные, эти уравнения
можно записать:
P
P
x
P
=
y
P
−
Ssc
αα
αα
T
x
Scs
y
1
x
P
⋅
или
1
y
11001
P
1
59
PTP ⋅=
1

Матрица T – матрица однородного преобразования из СК
T
yOx в СК Oxy .
11
R и положение начала СК 11yOx в СК Oxy
2x2
ворота
R состоит из проекций ортов СК 11yOx на оси СК Oxy :
2x2
i
j
В полученном выражении
имеет вид (4) и включает матрицу поворота
S
x
. Матрица по-
S
y
ji
11
−
αα
sc
αα
cs
, PP
– однородные векторы, пер-
1
вые две компоненты которых (в силу (2)) совпадают с соответствующими декартовыми координатами одноимённой точки в СК
Oxy и
yOx
соответственно, поскольку третья компонента при-
11
нимается равной единице.
ПРАКТИЧЕСКИЕ ЗАНЯТИЯ
В качестве практической задачи, используемой для освоения
преобразования координат точек траектории схвата из одних СК в
другие, предложена задача «отрисовки» роботом заданного рисунка на смещенном «объекте», положение которого заранее неизвестно. Положение рисунка относительно «объекта» точно определено. В качестве модели «объекта» используется лист бумаги
(см. рис. 3.3) с нанесенной
на него желаемой траекторией движе-
ния схвата манипулятора, а требуемая относительная траектория
определяется зависимостью
()
ВСxAy +=11sin
. Где
– коор-
, yx
11
динаты точки в СК «объекта». Траектория изображена на рис. 3.3
пунктирной линией.
Требуется создать программу управления роботом Kawasaki
для прохождения схвата по траектории, изображенной на листе
при произвольном, заранее неизвестном расположении листа на
рабочем столе. Положение листа с траекторией определяется с помощью видеокамеры и программы технического зрения
VisionRFA . Для этого программа технического зрения распо-
60
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
