Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Yazyk_AS_programmirovania.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
4.69 Mб
Скачать

11.5 Относительные позиции

11.5.1 Использование относительных позиций

Позиция может быть определена относительно контрольной точки. Когда определено таким способом, отношение между этой позицией и контрольной точкой остается постоянным, даже если контрольная точка переопределяется.

Например, когда обучаются четыре угла поверхности, позиционная зависимость между

роботом и поверхностью изменяются в зависимости от того, куда они помещены, но пока форма поверхности остается той же самой, зависимость между этими четырьмя углами не изменяется. Поэтому, если один из углов обучается, как контрольная точка для того, чтобы определить абсолютную позиционную зависимость между роботом и поверхностью, и другие три угла обучаются относительно первого угла, тогда, когда поверхность перемещена, только контрольная точка должна быть переопределена.

На рисунке (A) вверху, обучаются контрольная точка a, и сложные координаты для других углов. Затем, на рисунке (B) контрольная точка переопределяется. Если конфигурация запястья робота вновь не установлена (то есть сохраняется в том же самом положении, как это было в (A)), робот будет двигаться по траектории, показанной сплошной линией.

Если робот, как предполагается, проходит пунктир, необходимо переопределить конфигурацию так же как позицию.

11.5.2 Пример программы при использовании относительных позиций

В этом примере, детали раскладываются как в предыдущем примере, за исключением, что используется два поддона.

Поддоны помещены отдельно, но зависимость между контрольной точкой и местами, где детали должны быть размещены, одинаковы на любом из поддонов. Эта программы выполняет установку детали с подающего лотка на поддон A. После того, как шесть деталей установлены, робот продолжает делать то же самое, устанавливая детали на поддон B. (процедура синхронизации с подающим лотком опущена).

Позиции для обучения

#a : позиция, где робот берет детали с подающего лотка

a : контрольная точка на поддоне A

b : контрольная точка на поддоне B

start : позиция первой детали на поддоне по отношению к контрольной точке

Пример программы

.PROGRAM relative.test

; начальные установки (2 ряда, 3 столбца, ΔX=90, ΔY=50, etc.)

row.max=2

col.max=3

xs=90

ys=50

OPENI

flg=0 ; flg=0:Pallet A, flg=1:Pallet B

POINT pallet=a

; начало пакетирования деталей

10 POINT put=start

FOR ro w1 TO row.max

FOR col=1 TO col.max

JAPPRO #a,100

LMOVE #a берет деталь с подающего лотка

CLOSEI

LDEPART 100

;

POINT put_pt=pallet+put

JAPPRO put pt,200

LMOVE кладет деталь на поддон

OPENI

LDEPART 200

;

POINT put=SHIFT(put BY xs,0,0) определяет место для детали в следующем столбце

END

;

POINT put=SHIFT(start BY 0,ys*row,0) ; определяет место для детали в следующей строке

END

;

IF flg<>0 GOTO 30 ; переходит к финишной процедуре, когда поддон В заполнен (flg=1)

flg=1

POINT pallet=b ;определяет контрольную точку на поддоне В

GOTO 10

30 TYPE "*** end ***"

STOP

.END