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

Возможность останавливать робот по команде извне очень важна, но не менее полезна и возможность подавать команды извне, обеспечивая очередность действий робота. Классическим примером являются загрузка и разгрузка станков. Робот должен ожидать, пока дыропробивной пресс, машина для литья под давлением или другое технологическое оборудование выполнит свой цикл действий. Начало этого цикла может быть задано роботом (через вспомогательную функцию AUX) или датчиком через соответствующий вход в управляющее устройство станка, если таковое имеется. Однако после окончания цикла станка робот должен определить, что пора входить в рабочую зону станка и извлекать обработанную деталь. Одним из возможных решений этой проблемы является изменение времени работы станка при наладке и программирование паузы соответствующей продолжительности в цикле робота. Этот подход вполне работоспособен, но не лишен некоторых недостатков. Время процесса обработки не может быть всегда совершенно одинаковым. Следовательно, необходимо, чтобы пауза в цикле робота была достаточно длинной по сравнению с самой большой продолжительностью цикла станка. В противном случае между роботом и станком, который он обслуживает, может произойти столкновение. Однако такая длинная пауза неизбежно приведет к бесполезному расходованию ценного общециклового времени, определяемого в этом случае с учетом самого длинного цикла обработки. Кроме того, наличие датчика, который сигнализирует об успешном окончании цикла обработки, вселяет некоторую уверенность в том, что не просто прошло достаточно времени для выполнения этого цикла, но что цикл закончен успешно и рабочая зона свободна для выгрузки детали. Вспомните закон Мэрфи и представьте себе, как пуансон пресса до упора входит в матрицу. В эту картину не вписывается безмозглый робот, слепо пытающийся ввести захват в рабочую зону.

Если мы обратимся к более совершенным роботам, легко представить себе другие внешние события, которые могли бы быть трансформированы во входные сигналы для систем управления. Даже некоторые «циклы остановки» робота, рассмотренные выше, у более совершенных роботов могут быть заменены запрограммированной последовательностью действий, направленной на устранение причин остановки. Если питающий бункер опустел, робот может быть заранее запрограммирован на его загрузку из ближайшей палеты. Несоосность детали может побудить робот перезахватить деталь и снова поместить ее под штамп или в другую точку рабочей зоны. Если оператор вторгается в рабочую зону, робот может быть запрограммирован выждать некоторое время, выдать предупреждающий сигнал и, после того как оператор выйдет из зоны, продолжить работу. Эти усовершенствования наиболее трудно ввести, используя только программирование с пульта обучения.

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

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

рис. 7.5

Компактный самоходный любительский робот с вмонтированной в него клавиатурой управления:

1—поворот башни; 2 — поворот переднего колеса; 3 — сгиб запястья; 4 — захват;

5 — поворот запястья; 6 — смещение руки; 7 — поворот руки