При этом по команде @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, робот немедленно перейдет к выполнению программы.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.