Промышленные роботы. Путь от клетки к коботам
Программирование на основе обучения с подкреплением
Обучение с подкреплением (Reinforcement learning, RL) - это метод, позволяющий агентам обучаться поведению через взаимодействие с окружающей средой без какой-либо предварительной информации о предыдущих попытках. В отличие от традиционных методов обучения роботов, основная идея RL заключается в том, чтобы предоставить контроллерам роботов высокоуровневую спец- ификацию того, что делать и каких результатов достичь, а не то, как это делать17Концепция обучения с подкреплением реализуется в виде программы на сторон- нем ПК, который может быть расположен удаленно. Обучение робота также может производиться в среде симуляции (как правило, там и производится). Даже в случае дообучения на реальном роботе присутствие человека рядом не является необходимым фактором, а интерфейс может быть удаленным.
Таким образом, программирование на основе обучения с подкреплением - это относительно новый метод программирования промышленных роботов, при котором робот обучается путем итеративного взаимодействия с окружающей средой методом проб и ошибок, получая вознаграждения или штрафы за различные действия, которые он совершает18Более подробно о базовых алгоритмах машинного обучения на концептуальном уровне можно прочитать в книге "Искусственный интеллект. Анализ, тренды, мировой опыт"..
Этот тип программирования часто используется в сложных средах, где действия робота должны постоянно корректироваться в зависимости от меняющихся условий. Обучение с подкреплением часто реализуют через симуляцию, позволяющую роботу "ошибаться" без повреждения реальной машины. После подобного обучения, как правило, робот доучивается на реальной системе для внесения поправок на динамику движения собственных звеньев и окружающих объектов.
Имитационное обучение
Имитационное обучение является современным методом, объединяющим элементы обучения с учителем и обучения с подкреплением. С развитием технологий ИИ появилась возможность использовать имитационное обучение.
Целевой задачей систем программирования с помощью имитационного обучения является обеспечение условий, когда робот с помощью систем машинного зрения может наблюдать за манипуляциями человека (например, по сборке) и способен увидеть, "понять" и повторить эту процедуру. При этом робот учит не конкретные позиции, а общий способ взаимодействия с объектами.
От обучения с учителем этот способ отличается тем, что ИИ сам должен связать действия человека (или других роботов) с изменениями окружающей среды без подсказок в виде размеченного набора данных.
В отличие от телеуправления действиями робота на расстоянии, в случае имитационного обучения перед оператором стоит задача демонстрации роботу, что и как нужно делать, в этом случае задача робота - "понять суть" операции и выполнить ее доступными средствами.
Мы рассмотрели целый спектр методов программирования роботов, на одном конце которого находятся методы программирования, которые не ориентированы на адаптацию робота под изменяющиеся данные, а полагаются на заранее известную окружающую среду робота и заранее запрограммированные его действия по выполнению задачи. На другом конце спектра находятся методы, основанные на ИИ (и методе обучения с подкреплением, в частности), которые позволяют системе управления робота обучаться на основе наблюдаемых данных. Эти технологии находятся на стадии разработки и сопряжены с определенными трудностями в том смысле, что пространство непрерывного исследования методом проб и ошибок для реальных роботов велико, требуются большие объемы данных и, со- ответственно, длительное время обучения.
В частности, существуют решения на основе ИИ и для таких за- дач как автоматическое программирование оптимальных движений робота. Например, компания Path Robotics предлагает робота, оснащенного сварочной горелкой и программным обеспечением, использующим ИИ для автоматического программирования оптимальных движений робота. Omnirobotic предлагает решения для автоматического программирования робота для задач покраски [ "Источники использованной литературы" ].
Тренд на расширение сотрудничества робота и человека, возникновение коботов
До 2000-х годов роботы использовались преимущественно в автомобильном машиностроении и обычно в защищенном пространстве. Традиционно взгляд на безопасность человека при внедрении роботов заключался в отделении роботов от людей, в том числе с помощью физических ограждений.
Концепция коллаборативных роботов была принципиально но- вой - "робот должен работать рядом с человеком и быть безопасным для людей".
Первые прототипы коботов связывают с работами исследовательской группы Университета Южной Дании, которые задались целью разработки доступного, легкого и гибкого робота для совместной работы, который мог бы быстро окупать вложенные средства в производственной сфере. Идея привела к рождению в 2005 г. компании Universal Robots A/S.
Тремя годами позже был создан UR5 - первый коллаборативный робот, способный безопасно работать рядом с людьми. В 2012-м поя- вились новые модели, в частности, UR 10 с более высокой грузоподъемностью и дальностью действия. Постепенно (примерно к 2015 г.) крупные производители роботов, такие как ABB, KUKA и Fanuc, признают, что коботы - это важное направление, и сами начинают разрабатывать коллаборативных роботов.
К коллаборативным роботам предъявляются повышенные требования с точки зрения безопасности при работе рядом с человеком - эти машины не имеют острых углов и ограничены по скорости движений (рис. 3.24).
Рис. 3.24. Коллаборативные роботы не имеют острых углов, ограничены по скорости для обеспечения безопасной совместной работы с человеком
С одной стороны, мы отметили тренд на растущую автономность роботов, а с другой - тренд на совместную работу человека и робота. Это не противоположные тенденции, а скорее параллельные. Потому что и большая автономность и возможность совместной работы робота и человека появляются по мере развития третьего тренда, связанного с ростом интеллектуальных способностей робота, которые позволяют им ориентироваться в более сложной среде и в том числе отслеживать действия человека и встраиваться в рабочий режим коллаборации.
На рис. 3.25 показаны этапы совместной работы человека и промышленных роботов. Уровень сотрудничества на рисунке изменяется от стадии "огражденный робот", когда вход для человека в рабочее пространство робота запрещен до стадии, при которой осуществляется совместная работа над одной и той же заготовкой, причем робот реагирует на движения человека в режиме реального времени.
Мы уже отметили, что многие аналитические компании, и IFR в частности, делят роботов на промышленные и сервисные именно по месту применения. Целесообразность такого деления подчеркивает рис. 3.26, который показывает, что коллаборативные роботы сходного вида могут применяться как в промышленных задачах, так и в сервисных.
Поэтому деление роботов на сервисные и промышленные по внешнему виду и архитектуре может приводить к ошибочным статистическим подсчетам, и более верно классифицировать их по месту применения.
Место роботов и коботов в ряду других средств автоматизации
После того как мы обсудили термин "коллаборативные роботы", имеет смысл привести еще одну диаграмму, позволяющую соотнести промышленных роботов с другими системами автоматизации. Эта схема показана на рис. 3.27 и демонстрирует степень экономической целесообразности применения различных технологий в зависимости от объема производимой партии. Аббревиатура HIRC, используемая на рисунке, расшифровывается как human-industrial robot collaboration - сотрудничество человека и промышленных роботов.
Как видно из рисунка, при небольшом количестве производимых изделий ручной труд оказывается наиболее дешевым. При росте объема производства возникает целесообразность применения совместной работы робота и человека. Это позволяет снизить цену единицы изделия ниже цены, обозначенной на рисунке как C3.
Диаграмма определяет место промышленной робототехники, демонстрируя, что целесообразность ее применения возникает при определенном объеме производства, который больше малых партий уровня ручного производства и меньше объема партий, при которых оптимальна жесткая фиксированная автоматизация.
Зона роботов (включая коботов) на рисунке находится между ручным трудом (человек может работать в условиях неопределенной неформализованной внешней среды19Под неформализованной средой подразумевается, что человек может принять заранее неизвестное неформализованное решение задачи по мере ее исполнения и подбирать соответствующий инструментарий ) и зоной фиксированной автоматизации (реализуемой в условиях формализованной среды). Для фиксированной автоматизации характерно наличие больших партий с повторяющимся набором операций заданной последовательности, определяемой оборудованием.
Примерами жестких систем автоматизации являются конвейеры, автоматизированные сборочные линии. Первоначальные затраты на внедрение таких систем автоматизации существенно ниже по сравнению с затратами на внедрение роботизированных комплексов. Системы фиксированной автоматизации могут обеспечивать высокие скорости. С другой стороны, при изменении номенклатуры производства необходимо инвестировать в новую систему автоматизации. Если в случае фиксированной автоматизации необходимо группировать идентичные продукты в большие партии, то в случае автоматизации на базе роботов - данное требование менее жестко.
Роботы обладают целым рядом достоинств: высокой степенью гибкости, стандартизации и готовности к использованию, что позволяет сократить сроки реализации проекта, в отличие от разработки специализированных средств автоматизации. Промышленные роботы можно быстро конфигурировать для выполнения различных функций, в том числе за счет использования быстросменной оснастки. Кроме того, стоимость роботов постепенно снижается, делая их все более доступными устройствами.
Применение коботов позволяет объединить умственные способности людей и физические возможности роботов. Использование коллаборативных роботов сокращает затраты на установку заграждений и экономит площадь. При этом коботы позволяют использовать разделяемое рабочее пространство, что в свою очередь требует новых надежных мер безопасности для человека.
Следует также иметь в виду, что автоматизация с помощью роботов также связана с затратами, которые зависят от стоимости переналадки производства, от объема инвестиций в арендуемые площади и защитные ограждения.
Там, где существует возможность физического контакта между человеком и роботом, всегда присутствует риск травмы для человека. Для снижения риска травм коботы должны работать на сниженных скоростях, что может уменьшить производительность.
Сравнительные характеристики различных средств автоматизации в зависимости от сложности выполняемых задач можно найти на рис. 3.28. Здесь помимо коботов присутствует еще одна категория - "кооперативные роботы", которые похожи на колабборативных (совместных) роботов, но имеют виртуальные ограждения между собой и людьми-операторами.