Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Роботы и робототехника лабораторный практикум. Учебное пособие
.pdf
знает нанесенные на листе с желаемой траекторией маркеры
и передает их координаты (в абсолютной СК) в программу
и
управления движением. По этим координатам нужно определить
матрицу однородного преобразования 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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
