Обучение робота выполнению работ (Глава 7 книги "Роботы и автоматизация производства"), страница 16

При этом по команде @READ после каждой команды @SET производится регистрация количества шагов. Эти действия похожи на обучение вручную, аналогичное части HERE A, HERE В программы BETTER.А.ТО. В на языке ВАЛ. Правильной стратегией будет выбрать одну из точек Л, В, С или D в качестве исходной. За счет этого количества переменных сократится с 21 до 16, т. е. на пять. Кроме того, сокращается объем арифметических операций в команде @STEP во время обработки программы. Подход к точке С при захвате робота, раскрытом достаточно для помещения в нем детали, выбирается как удобное исходное положение. Оно будет начальной и конечной точкой при каждом выполнении цикла. На языке АРМБейсик программа будет „выглядеть следующим образом:

100 @ SET              (перевести робот в ручной режим управления, чтобы оператор мог подвести его к точке С, точке подхода для захвата)

Оператор использует клавиатуру (в режиме управления звеньями робота), чтобы установить робот в точке С при захвате, раскрытом достаточно (с некоторым запасом), чтобы поместить в нем деталь, которую предполагается зажать.

Оператор нажимает клавишу 0, чтобы вывести систему из режима ручного управления.

110 @ RESET          (команда фиксирует точку С как исходную)

120 @ SET               (режим ручного управления)

Оператор использует клавиатуру, чтобы перевести робот в другую точку, на этот раз в точку А, затем нажимает клавишу 0.

130 @ CLOSE            (зажать деталь в захвате)

140 @ READ Al, A2, (запомнить отсчет шагов по отношению к исходной

A3, А4, А5, А6           точке С. Отсчет шагов для зажима детали производится

в переменной G)

150 @ SET                 (режим ручного управления)

Оператор использует клавиатуру для перевода робота в точку D, затем набирает 0.

160 @ READ Dl, D2, (запомнить отсчет шагов по отношению к исходной

D3, D4, D5                  точке, а не к точке А)

170 @ SET                 (режим ручного управления)

Оператор переводит робот в точку В, затем набирает 0.

180 @ READ Bl, B2, (запомнить отсчет шагов по отношению к исходной точке)

ВЗ, В4, В5                 

Теперь робот знает все необходимые точки, включая точку С, принятую за исходную. Читатель может удивиться, почему команды @READ в предписаниях 140, 160 и 180 относятся только к пяти осям робота, а не к шести. Вспомните, однако, что шестая ось (захват) сохраняется в одном и том же положении во время большинства перемещений. Таким образом достаточно было оставить всего 16 переменных: пять осей в трех положениях плюс одно значение G, соответствующее количеству шагов для закрытия захвата. Для выполнения программы нужно освободить перенесенный объект из захвата в процессе обучения и вернуться в исходное положение. Это осуществляется при помощи следующих предписаний:

190 @ STEP 50, 0, 0, 0, 0, —G                            (открыть захват, скорость 50)

200 @ STEP 50, Dl—Bl,                                      (вернуться из положения В в положение D,

D2—B2, D3—B3, D4—B4,                                  скорость 50)

D5—B5

210 @ STEP 50, —Dl, —D2,                                (вернуться в исходную точку, скорость 50)

—D3. —D4, —D5

Сейчас робот готов к выполнению цикла переноски, который осуществляется по следующим командам на языке АРМБейсик:

220 @ STEP 50, Al, A2, A3, А4, А5                     (переместиться в положение А)

230 @ CLOSE                                                        (закрыть захват, зажимая деталь)

240 @ STEP 50, —Al, —A2, —A3, —А4, —А5 (вернуться в исходную точку С)

250 @ STEP 50, Dl, D2, D3, D4, D5                     (подойти к точке D)

260 @STEP 50, B1—D1, B2—D2, B3—D3         (переместить деталь в точку В)

270 @ STEP 50, 0, 0, 0, 0, —G                              (отпустить деталь)

280 @ STEP 50, D1—B1, D2—B2, D3—B3,       (отойти)

D4—B4, D5—B5

290 @ STEP 50, —Dl, —D2, —D3, —D4,           (вернуться в исходное положение)

300 GOTO 220                             (непрерывно повторять последовательность действий)

310 END                                       (конец программы)

Предписания 270, 280 и 290 идентичны предписаниям 190, 200 и 210. Действительно, предписание 190 можно заменить на GOTO 270, а предписания 200 и 210 можно исключить из программы. Как бы то ни было, как только оператор даст знать, что робот обучен последней точке (точке В), введя с клавиатуры О в предписание 170, робот немедленно перейдет к выполнению программы.