Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Роботы и робототехника лабораторный практикум. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
знает нанесенные на листе с желаемой траекторией маркеры
и передает их координаты (в абсолютной СК) в программу
и управления движением. По этим координатам нужно определить матрицу однородного преобразования T для пересчета координат точек траектории схвата из СК объекта в абсолютную СК. Далее, зная координаты точек траектории в СК объекта, необходимо пе­реводить их в координаты абсолютной СК робота и перемещать схват по полученной траектории в абсолютной СК.
Рис. 3.3. Лист бумаги с изображенной на нем траекторией
движения схвата
Выполнение лабораторной работы целесообразно осуществ­лять в три этапа:
1) разработка и отладка программы перемещения схвата по
требуемой относительной траектории в абсолютной СК;
2) определение матрицы преобразования T по задаваемым
«вручную» координатам маркеров и преобразование координат
промежуточных точек траектории, заданной в СК объекта, в абсо­лютную СК для управления движением робота;
3) настройка
системы технического зрения для определения
с ее помощью координат маркеров, используемых в программе управления движением схвата.
61
□ Выполнить пункты 1-9.
X
N
1. По распечатанному рисунку с относительной траекторией определить параметры закона траекторию движения схвата в СК рисунка (рис. 3.4).
Обозначаем:
L – измеренный период синусоиды (в миллиметрах);
1
()
biСAy +⋅= sin
, описывающего
Δ – шаг изменения положения схвата по оси Ox (в миллиметрах);
N – количество точек на период синусоиды; i – порядковый номер точки траектории.
Параметр С определяется выражением
Параметры A и b определяются непосредственным измере-
нием.
360
C
.
=
Рис. 3.4. Относительная траектория
с введенной системой координат рисунка
2. Задать координаты начальной точки траектории. Для это­го вывести схват манипулятора в удобную точку и запомнить ее координаты в качестве начальных.
62
Для этого следует расположить рисунок (см. рис. 3.3) так, чтобы точки траектории были в области достижимости робота­манипулятора, а направления осей
X, Y совпадали с направлениями
осей базовой СК робота. С помощью пульта расположить центр присоски робота над начальной точкой траектории и записать её координаты в переменную
>HERE base_point ↵↵
base_point.
3. Записать и отладить программу, реализующую перемеще-
ние схвата робота над синусоидой (см. рис. 3.3).
Ниже приведен пример такой программы. Траектория дви­жения схвата, состоящая из 108 точек, охватывает полтора перио­да синусоиды, изображенной на рис. 3.3. Амплитуда синусоиды =
55.5. Расстояние по оси равно 139 мм. Параметр ной точки
base_point = (40; 500).
JMOVE base_point
FOR i = 1 TO 108
x_bas[1,1] = i*139/108+40
x_bas[2,1] = 55.5*SIN(5*i)+500
POINT/X base_point = TRANS(x_bas[1,1])
POINT/Y base_point = TRANS(,x_bas[2,1])
JMOVE base_point
END
END
X между крайними точками траектории
С = 540/108=5. Координаты (x; y) началь-
4. Записать функцию, осуществляющую перемножение двух
матриц.
Эта функция далее будет использоваться для выполнения однородного преобразования
xTx ⋅=
picbas
, где
,
– координа-
x
x
bas
icp
ты одной и той же точки в СК «объекта» (см. рис. 3.4) и базовой СК соответственно.
Ниже приведен пример функции, умножающей матрицу a1 размерностью 3×3 и вектор-столбец a2 и записывающей результат в
b.
PROGRAM matmul(.a1[,],.a2[,],.b[,])
FOR .i = 1 TO 3
.s = 0
63
FOR .j = 1 TO 3
.s = .s+.a1[.i,.j]*.a2[.j,1]
END
.b[.i,1] = .s
END
END
■ Примечание.
Имена локальных переменных начинаются с точки.
Например .b .
■■
5. Расположить лист с рис. 3.3 так, чтобы точки траектории были в области достижимости робота-манипулятора, метки – в поле зрения видеокамеры. Оси СК рисунка расположить под углом к осям базовой СК робота.
6. С помощью пульта последовательно расположить центр присоски робота над метками рисунка и записать их координаты в базовой СК робота
.
7. Составить и отладить программу движения схвата робота
над синусоидой, повернутой согласно п. 5.
Программа, решающая данную задачу, входит в состав при­мера программы к п. 9. (отмечена в тексте программы). Координа­ты меток, с помощью которых определяется положение «объекта» и рассчитывается матрица преобразования Т записываются в пе­ременные:
координаты
координаты
метки в базовой СК – (gx[1],gy[1]));
()
yx,
метки в базовой СК – (gx[2],gy[2])).
()
yx,
8. Настроить передачу координат меток
и , распознан-
ных системой технического зрения, из программы технического зрения RFA Vision в контроллер Kawasaki (интерфейс и настройка программы технического зрения RFA Vision описана в руко­водстве [26]).
На данном этапе можно использовать подпрограмму get_picture_n (подпрограмма находит координаты центра метки с помощью системы технического зрения):
64
PROGRAM get_picture_n()
modelcount = 0
maxmodel = 1
$findmodel = $a
SIGNAL -2252,2253
SWAIT 2252,-2253
TYPE visstatus
IF visstatus==1 THEN
TYPE visxvals[modelcount-1]
x = visxvals[modelcount-1]
TYPE visyvals[modelcount-1]
y = visyvals[modelcount-1]
TYPE visangles[modelcount-1]
an = visangles[modelcount-1]
TYPE $vismodels[modelcount-1]
END
END
Вызов подпрограммы осуществляется с помощью цикла, где
i – количество меток (с помощью данного цикла СТЗ находит ко-
ординаты центра меток и заносит их в массивы
FOR i = 1 TO 2
try_again:
$a = $nmods[i]
CALL get_picture_n
IF visstatus==0 GOTO try_again
x[i] = x
y[i] = y
END
x, y):
9. Составить и отладить итоговую программу движения схвата робота над произвольно расположенной синусоидой (см. рис. 3.3) с использованием системы технического зрения:
PROGRAM mydemo1104v2() x = 0 y = 0 an = 0 mdcnt = 0 JMOVE #warte2 ; tool tool_sauger BASE NULL
65
ACCURACY 100 ALWAYS SPEED 20 ALWAYS FOR mdcnt = 1 TO 2 TYPE mdcnt try_again: $a = $nmods[mdcnt] CALL get_picture_n IF visstatus==0 GOTO try_again gx[mdcnt] = x gy[mdcnt] = y gwi[mdcnt] = an END НИЖЕ – ЧАСТЬ ПРОГРАММЫ, решающая задачу п.7 length12 = SQRT((gx[1]-gx[2])*(gx[1]-gx[2])+ +(gy[1]-gy[2])*(gy[1]-gy[2])) .sin_a = -(gx[2]-gx[1])/length12 .cos_a = (gy[2]-gy[1])/length12 tt[1,1] = .cos_a tt[1,2] = -.sin_a tt[2,1] = .sin_a tt[2,2] = .cos_a tt[3,1] = 0 tt[3,2] = 0 tt[1,3] = gx[1] tt[2,3] = gy[1] tt[3,3] = 1 POINT base_point = base_point01 x_pic[1,1] = 14.8 x_pic[2,1] = 0 x_pic[3,1] = 1 CALL matmul(tt[,],x_pic[,],x_bas[,]) POINT/X/Y base_point = TRANS(x_bas[1,1],x_bas[2,1]) POINT base_point_up = base_point POINT/Z base_point_up = TRANS(,,-154) JMOVE base_point_up TWAIT 2 JMOVE base_point FOR .i = 1 TO 108 x_pic[1,1] = .i*139/108+14.8 x_pic[2,1] = 55.5*SIN(5*.i) x_pic[3,1] = 1
66
CALL matmul(tt[,],x_pic[,],x_bas[,]) POINT/X base_point = TRANS(x_bas[1,1]) POINT/Y base_point = TRANS(,x_bas[2,1]) JMOVE base_point END POINT base_point_up = base_point+ddz JMOVE base_point_up END
□□
Примечания:
■
Условия освещения (естественное, искусственное) сильно влияют на работу программы технического зрения RFA Vision. К примеру, про­грамма, обученная на образце при одном освещении, может не обнару­жить тот же объект при другом освещении. Поэтому в целях максималь­ного снижения влияния освещения на работу программы рекомендуется использовать искусственное освещение с закрытыми оконными жалюзи.
■■
■
Алгоритм настройки связи программы технического зрения RFA Vision и робота Kawasaki.
– Подключить к ноутбуку с соответствующим номером (№ ноутбука
= № робота): робот Kawasaki, видеокамеру (USB-разъём), два ключа
программы RFA Vision, номера которых равны номеру робота (USB­разъём), источник питания.
– Включить робот и ноутбук. – Запустить программу KCwinTCP, произвести её связь с контролле-
ром Kawasaki.
Главное меню
– В выпадающем меню средней части экрана пульта управления (см.
рис. 1.12) выбрать вкладку I/F Panel и нажать на кнопку Связь. ка и ближайшая к ней лампа должны изменить цвет с красного на зе­лёный.
– Открыть сохранённый ранее проект в RFA Vision (или создать новый
проект), используя стандартную для оконных приложений процеду-
ру. – Произвести масштабирование [26]. – Нажать кнопку Start первой вкладки.
→ Edit/ →Connect, пароль «as».
Кноп-
67
– Произвести
ной строке KCwinTCP строк
В результате в окне КСwin появляется строчка Welcome to RFA Vision v.5.0! – что означает успешное подключение
технического зрения к Kawasaki.
Программу Autostart.pc надо запускать (перезапускать) в любом из
нижеперечисленных случаев:
– по кнопки Stop – например, с целью что-либо изменить в проекте, – и после­дующем нажатии Start);
– после пер
пр
– ния комплекс Kawasaki, ПК, RFA Vision успешно работал).
Во
зможные ошибки при выполнении практического задания
Не удаётся выполнить pcex 2: tcpcomm_end при запуске программы Autostart.pc – появляется сообщение об ошибке Error №. Надо: снять со-
общение об ошибке, набив «ereset» в командной строке. Далее восполь- зоваться командой pckill. Командой pckill №: можно завершить програм­му №, где № – номер программы в списке окна programs ПРУ.
При выполнении команды pcab компьютер зависает. Над дать до появления вновь командной строки, это может продлиться до минуты, ошибки нет.
запуск программы Autostart.pc, путём набора в команд-
:
pcab – прекращает работу pc программы, что выражается в от-
сутствии «*» слева от имени программы в окне programs ПРУ;
pcex 2: tcpcomm_end; pcex autostart.pc – запускает программу autostart.pc.
сле прекращения работы программы RFA Vision (при нажатии
езагрузки контроллера Kawasa
и выходе ПК из режима ожидания (до входа в режим ожида-
ki;
о подож-
■■
68
Глава 4
ПРОГРАММНАЯ И АППАРАТНАЯ ИНТЕГРАЦИЯ
СРЕДЫ LABVIEW В РОБОТОТЕХНИЧЕСКИЙ
КОМПЛЕКС ИЗ ЧЕТЫРЕХ РОБОТОВ-МАНИПУЛЯТОРОВ
При решении за
дачи по переносу группой роботов-мани­пуляторов Kawasaki деталей из одного крайнего лотка в другой необходима синхронизация их работы, которую можно осущест­вить обменом дискретных сигналов между контроллерами робо­тов-манипуляторов и ПК.
Схема обмена дискретными сигналами между ПК и кон­троллерами роботов-манипуляторов, обеспечивающая синхрони­зацию их работы при решении за
дачи переноса деталей из одного
крайнего лотка в другой показана на рис. 4.1.
PC
U
2020
R4
Рис. 4.1. Схема обмена ПК и контроллеров роботов-манипуляторов
R3
дискретными сигналами
U
2040
3
P
2020 3
P
2040
R2
R1
Обозначения на рис. 4.1:
PC – ПК (Personal Computer); R1-R4 – контроллеры роботов-
3
манипуляторов 1-4 соответственно;
– сигнал, посылаемый
P
2020
контроллером робота № 3 о передаче роботу-соседу рабочей зоны
3
2020;
– сигнал, посылаемый контроллером робота № 3 о пе-
P
2040
69
редаче роботу-соседу рабочей зоны 2040; рабочей зоны 2020, посылаемый ПК;
U
2040
– сигнал состояния
U
2020
– сигнал состояния ра-
бочей зоны 2040, посылаемый ПК.
Обмен между ПК и контроллером дискретными сигналами возможен лишь при наличии соответствующего аппаратного и программного обеспечения. В данном лабораторном стенде ис­пользуется ПК с ОС Windows, программным пакетом LabView 7.1 и блоком ввода-вывода NI USB-6525 и контроллер D70 робота Kawasaki с платой дискретного ввода-вывода 1HW (рис. 4.2).
Рис. 4.2. Принципиальная схема связи ПК с контроллером D70
робота Kawasaki FS03N
Обозначения на рис. 4.2:
PC – ПК с ОС Windows XP, LabView 7.1 и драйверами NI
USB-6525; USB-разъём кабеля USB 2.0 на ПК и блоке ввода-
вывода хода; обозначение платы ввода-вывода 1
Kawasaki.
■ Примечание.
рианты исполнения платы дискретного ввода-вывода имеют зеркальное подключение нулевого провода и проводов +24В. Ошибка подключения
NI USB-6525; DO – Digital Output линия дискретного вы-
DI – Digital Input линия дискретного входа; 1HW – условное
HW; D70 – контроллер робота
Внимание! Европейский 1HW и американский/японский 1GW ва-
70
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]