Промышленные роботы. Путь от клетки к коботам
Программирование с помощью демонстрации (lead through)
В данном режиме оператор перемещает концевой эффектор робота к точке, где требуется начать задачу, и ведет его вручную по заданной траектории, при этом одновременно система управления периодически записывает положение контрольных точек. В современных промышленных контроллерах в зависимости от выбранного режима движения данным способом можно программировать как линейное, так и нелинейное движение робота.
Описанный метод использовался еще на заре создания и обучения промышленных роботов и популярен до сих пор в силу удобства и скорости программирования. Достоинством метода также является то, что, не обладая навыками программирования, оператор может обучить робота выполнению необходимых манипуляций. Для переведения системы в режим программирования с помощью демонстрации промышленные роботы снабжаются специальной кнопкой, рас- положенной на промышленном планшете, специальном джойстике или на самом манипуляторе. Данный метод имеет созвучное название с имитационным обучением и обучением с учителем, используемым в ИИ, в силу схожей логики создания новых команд. Различием является прежде всего то, что метод программирования с помощью демонстрации "учит" робота приходить в конкретную точку и не является адаптивным к изменяющимся условиям задачи.
Метод обучения с промышленным планшетом (Teach-in)
Этот метод предполагает использование промышленного планшета, который напрямую подключен к контроллеру робота и, как правило, поставляется его производителем для наведения робота на ряд точек, определяющих траекторию его движения. Наведение и запись координат указанных точек и составляет процесс обучения. Метод достаточно прост и позволяет операторам, не имеющим навыков, осуществлять программирование и перепрограммирование робота (см. рис. 3.20). Современный промышленный планшет представляет собой устройство с сенсорным экраном, которое мы уже упоминали, представив его схематично на рис. 1.4.
По данным [ "Источники использованной литературы" ], программирование около 90% промышленных роботов осуществляется с помощью планшетов.
Современные промышленные планшеты позволяют программировать как линейное движение концевого эффектора промышленного робота от точки к точке (встречается термин "двухточечное управление" или режим point-to-point), так и нелинейные гладкие траектории (управление по непрерывной траектории, joint motion, continues path control) - рис. 3.21.
Управление непрерывной траекторией используется, когда действие, которое должен выполнять робот, осуществляется во всех точках, например, при окраске распылением, непрерывной резке, непрерывной сварке. В этих случаях траектория движения, по которой должен перемещаться робот, записывается на этапе программирования и воспроизводится, когда робот находится в фазе запуска.
Офлайн-программирование
Недостатками обучения промышленных роботов при помощи онлайн-программирования являются: невозможность оперативно вносить изменения в программы, необходимость точно позиционировать объекты захвата (детали и пр.), жестко выполнять инструкции. В случае необходимости запрограммировать сложные движения программирование по точкам с помощью обучающего пульта неэффективно (количество таких точек слишком велико). Необходимо OLP-программирование, позволяющее создавать траекторию в автономном режиме. OLP-программирование целесообразно использовать в задачах, где требуется создание длинных и сложных траекторий, например, в случае выполнения сложных сварных или клеевых швов, для задач покраски, дробеструйной обработки и сборочных операций, когда требуется точный контроль ориентации инструмента.
Во время процедуры онлайн-программирования робот не может участвовать в производственном процессе, что ведет к простоям.
Офлайн-программирование лишено этого недостатка - робот программируется на отдельной компьютерной системе (на обычном компьютере). Все это время робот может продолжать свою работу, так как он не зависит от этой компьютерной системы.
После того как программа завершена и протестирована, она передается контроллеру робота (на физическом носителе или по сети) для исполнения ( рис. 3.22).
По данным [ "Источники использованной литературы" ] офлайн-программирование может значительно со- кратить простои производства по сравнению с онлайн-программированием - до 10 раз.
Способы офлайн-программирования можно разделить на текстовые и графические. Текстовое программирование - это более традиционный метод, при котором программа пишется автономно в текстовом редакторе, а затем загружается в систему управления робота. Как правило, в случае использования языка программирования производителя робота данный подход позволяет получить доступ к большему количеству функций робота. Недостаток метода заключается в том, что он требует больше времени на отладку.
Графическое автономное программирование появилось позднее и позволяет работать с моделью робота, используя графический интерфейс так, как будто пользователь сам осуществляет перемещение частей реального робота, работая с его имитацией.
Данный вид программирования возник после того, как в конце 1980-х годов прошлого века появились возможности трехмерного моделирования роботов с использованием CAD-инструментов для отображения робота, его движений и рабочего окружения. Моделирование позволило анализировать движение отдельных роботов и группы роботов в виртуальной среде11Более подробно об использовании CAD-моделей для имитационного тестирования в виртуальной среде мы рассказали в книге "Цифровые двойники. Анализ, тренды, мировой опыт", которая доступна в электронной форме онлайн.
Со временем были разработаны методы обработки информации из CAD-моделей для создания программы движения робота. Появился инструментарий, который позволил в OLP-среде, используя трехмерную CAD-модель, создавать, проигрывать и редактировать программы, устраняя проблемы еще до того, как они возникнут в реальном физическом мире. Этот метод позволяет протестировать программу перед внедрением и сократить количество ошибок программирования и потенциальных рисков. В описанной OLP-среде можно выявить возможные столкновения между роботом, оснасткой, приспособлениями и элементами защитных ограждений, проанализировать проблемы с досягаемостью, проверить возможность достижения состояний сингулярности (состояний, в которых движение робота математически непредсказуемо12Термин можно пояснить примером: "Если человек приземляется с абсолютно прямыми ногами, то коленный сустав может вывернуться непредсказуемым образом, то есть можно сказать, что в данном случае вытянутая нога в момент приземления будет находиться в сингулярном состоянии".)
Ряд современных производителей роботов предлагают пакет OLP-программирования робота в дополнение к промышленному планшету. Есть также OLP-продукты на рынке от поставщиков, независимых от марки программируемого робота. Обычно данные продукты предоставляют возможность работы в графической среде, определяют задачи и оптимизируют движения робота, не требуя при этом высоких навыков программирования роботов.
Используются также комбинированные схемы совмещения онлайн- и офлайн-программирования (рис 3.23). Такой подход позволяет сочетать в себе гибкость онлайн- и скорость офлайн-программирования.
Одним из основных преимуществ офлайн-программирования, как текстового, так и графического, является возможность программы адаптивно реагировать на изменения внешней среды и интегрировать обратную связь от дополнительных датчиков. Одним из наиболее ярких примеров является внедрение алгоритмов компьютерного зрения, позволяющих роботу на конвейере автономно детектировать и брать деталь, не лежащую в строго отведенной ячейке. Помимо RGB и IR камер13RGB-камера улавливает видимый свет и информацию о цвете, позволяя системе создавать стандартное изображение, например, лица человека. Это изображение используется для распознавания лиц и идентификации. IR Infrared (ИК - инфракрасная-камера, обнаруживает инфракрасное излучение, испускаемое, например, человеческим телом)., робот может быть оборудован дополнительными датчиками силы, звука и др., позволяющими применять новые и более сложные программы, в том числе опирающиеся на искусственный интеллект. Особенностью офлайн-программирования является то, что методы традиционных и ИИ-алгоритмов, описанные в этом и следующем параграфах, могут относиться не только к промышленным роботам, но в равной степени использоваться в мобильных колесных и шагающих роботах, а также в БПЛА.
Программирование роботов с применением ИИ
Несмотря на появление все более совершенных инструментов для создания программ для роботов, этот процесс все еще является достаточно трудоемким, он чреват ошибками и требует знаний как самой задачи, так и платформы, с помощью которой осуществляется. Происходящий в последнее время переход от крупносерийного производства к мелкосерийному индивидуальному производству требует все более простых и интуитивных средств программирования роботов, помогающих им решать все более сложные задачи. Большие возможности на этом пути предоставляет использование ИИ как средства упрощения методов постановки и выполнения задачи.
На рис. 3.19 методы с использованием ИИ отнесены к категории офлайн-программирования. Действительно, если в случае онлайн-программирования робот останавливается и происходит работа с его встроенным планшетом, то для обучения моделей на базе ИИ (в зависимости от методов) могут быть использованы наборы данных, модели в симуляции, цифровые двойники или, например, другие роботы.
При решении сложных задач могут использоваться продвинутые методы управления - как описание задачи на естественном языке для генераций последовательности действий, так и обучение роботов самой манипуляции со сложными объектами с помощью демонстрации человеком действий, которые робот должен распознать и повторить. Отдельное внимание сегодня уделяется технологиям, при которых можно сформулировать роботу высокоуровневую задачу и предоставить умной машине найти оптимальное решение путем исследования пространства возможных действий.
Программирование на естественном языке
Метод программирования роботов на естественном языке появился сравнительно недавно с развитием технологии обработки естественного языка и находится в стадии разработки. Поскольку люди общаются с помощью естественного языка, перспективно использовать речь или текст в качестве средств обучения и для роботов. Учитывая, что естественный язык является неоднозначным в отличие от языка программирования, а задания могут быть выражены как в виде целей, так и в виде императивных высказываний, задача в общей постановке оказывается весьма непростой и требует наличия высокого интеллекта у робота. Технология еще не зрелая, однако уже можно назвать ряд проектов, в которых специалисты разрабатывают системы программирования роботов с помощью команд на естественном языке [ "Источники использованной литературы" , "Источники использованной литературы" ]. Использование естественного языка относится к стратегическому уровню, когда робот формирует последовательность выполняемых действий, т. е. ЧТО он будет делать. Это похоже на то, как начинается обучение самого человека. Но в ответе на вопрос "Как робот будет выполнять каждую подзадачу?" языковые модели пока не эффективны.
Программирование на основе обучения с учителем
Программирование адаптивных задач14Разработка программного обеспечения, которая позволяет роботам адаптироваться к изменяющимся условиям и среде выполнения задач применительно к промышленным роботам - это сложная работа: в частности, из-за необходимости создания объектной модели15Математическая модель объектов с учетом их геометрической формы для определения размещения и ориентации объектов, которыми должен манипулировать робот. При этом если захват примитивных по форме предметов не представляет для современных роботов большой проблемы, то манипуляция с объектами сложной формы или неоднородной плотности зачастую невозможна традиционными способами. Использование методов ИИ позволяет вместо создания объектных моделей обучать робота брать и размещать объекты в соответствии с продемонстрированным ему целевым состоянием16Состояние, необходимое пользователю.
Обучение роботов может происходить на разных этапах и включать обучение распознаванию трехмерных объектов, обучение желаемой позе захвата, правильному движению робота для достижения этой позы (избегая столкновения между звеньями робота и окружаю- щими объектами). Одним из первых примененных в робототехнике методов является обучение с учителем, когда желаемый объект распознается, а программный код движения робота генерируется на основе больших на- боров обучающих данных, полученных на основе предыдущих попы- ток захвата аналогичных объектов роботом под управлением чело- века. За последнее десятилетие этот подход получил значительное развитие и хорошо работает для новых неизвестных объектов. Наиболее часто он используется для обучения компьютерного зрения. Однако уровень обучения еще недостаточно высок, чтобы его можно было применять в ответственных задачах. Помимо этого, значительным недостатком метода является необходимость сбора и разметки большого датасета (набора обучающих примеров с реальным роботом в идентичных условиях внешней среды), что может оказаться сложным или совершенно невозможным в ряде отраслей. Данный недостаток явился причиной роста популярности другого метода обучения, речь о котором пойдет в следующем разделе.