Обучение коллаборативных роботов на основе навыков в промышленных условиях

№110-1,

технические науки

В последние десятилетие, вместе с возникновением растущей потребности в более универсальном оборудовании, появился и растущий интерес к коллаборативным роботам. В отличие от традиционных промышленных роботов, коллаборативные роботы предназначены для работы вместе с производственным персоналом в динамическом окружении. Чтобы справляться с окружающей средой и рабочими процессами, необходимы новые, относительно методов используемых для традиционных промышленных роботов, методы программирования и управления. В этом документе представлены инструменты для программирования на уровне задач, что позволят новичкам в робототехнике программировать производственные задачи на коллаборативном роботе. Инструмент под названием Skill Based System (SBS) основан на концепции навыков робота, которые являются параметрируемыми и связанны с задачами робота. Программирование задач выполняется, с помощью онлайн-параметризации и использовании кинестетического обучения. Исходя из нескольких исследований обучения пользователей, было установлено, что SBS позволяет новичкам в робототехнике программировать индустриальные задачи. Так же SBS был дополнительно протестирован в двух производственных моделях, что демонстрирует его применимость в реальных промышленных сценариях.

Похожие материалы

1. Введение

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

Цель этой статьи — представить интуитивно понятный инструмент программирования на уровне задач, который не связан с конкретными аппаратными компонентами и объединяет экспертные знания и опыт, приобретенный в успешном решении реальных промышленных сценариев. Определение и концептуальная модель навыков, используемых в этой системе, ранее обсуждалась в [1]. Там модель навыка представлена в виде программирования на уровне задач с использованием, как автоматических, так и ручных методов. В настоящем документе мы представляем структуру, которая разработана и реализована специально для интуитивно понятного обучения коллаборативных роботов экспертами, не являющимися робототехниками, так же далее мы дадим оценку возможностей этой структуры.

Основные тезисы этой работы:

Программируемая система, основанная на навыках, которая облегчает и ускоряет инструктирование неопытных операторов о совместной работе с коллаборативным роботом.

Система, которая облегчает интеграцию существующих компонентов с точки зрения аппаратного и программного обеспечения.

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

Несколько производителей в течение последнего десятилетия выпустили новое поколение роботов-манипуляторов, как коллаборативные роботы; например универсальные роботы UR3, 5, и 10, KUKA iiwa 7 и 14, и Fanuc CR-35iA.Эти роботы предлагают функциональное обеспечение безопасности, позволяющие им безопасно работать в непосредственной близости от людей. Они также предлагают новые методы HRI для более легкого программирования задач. Общий подход — кинестетическое обучение, где оператор физически взаимодействует с рукой робота. Тем не менее, системы HRI, что поставляются с этими роботами, обычно ограничены конфигурацией руки робота. Следовательно, проблемы, связанные с настройкой всей платформы для работы коллаборативных роботов, сохраняются; например, конфигурация датчика и инструмента. В последние годы на рынок было выпущено несколько систем, в которые были встроены инструменты и датчики, а следовательно, более целостные системы и предлагают более интегрированный контроль; например, Bosch APAS, KUKA KMRiiwa, ABB YuMi и Rethink Robotics Baxter и Sawyer. Примером инновационного решения является Intera Studio [2] от Rethink Robotics, которая предполагает демонстрацию возможностей для пользователей не-специалистов. Однако все вышеупомянутые системы являются закрытыми экосистемами и, связаны с аппаратным обеспечением, поставляемым с роботом или его дополнительными модулями. Ниже мы представляем соответствующую работу в разделе 2 и мы предлагаем метод для ручной параметризации навыков робота в Раздел 3. В Разделе 4 мы подробно обсудим реализацию роботизированных инструментов, использующих предложенный метод ручной параметризации. Раздел 5 посвящен промышленному применению инструмента управления роботом, а раздел 6 обобщает ряд оценок удобства использования инструмента. В заключение мы обсудим уроки, извлеченные в разделе 7, обзор будущей работы в разделе 8 и окончательный вывод в разделе 9.

2. Сопутствующие работы

Термин кобот (сокращение от «коллаборативный робот») был введен в 1996 году, как термин для пассивных механических устройств, используемых для помощи людям в решении производственных задач. Сегодня нет точного определения этого термина, но в исследованиях используют два основных наименования; действительно коллаборативные роботы и роботы-ассистенты. Первый непосредственно вовлекает работника для решения промышленных задач в команде. Роботы-ассистенты, с другой стороны, не обязательно решают задачи в непосредственном сотрудничестве с работником, но служат помощниками, работающими рядом с человеком.

Ключевой задачей для роботов-ассистентов в динамическом рабочем процессе является обучение робота. Обзор систем программирования роботов выявило два основных подхода; ручное программирование и автоматическое программирование [4]. В последнем случае когнитивные и высоко автономные системы используются, чтобы сделать робота менее зависимым от инструкций. Он опирается на алгоритмы планирования, основанные на данных датчиков и всеобъемлющей модели мира. Хорошо известным подходом является архитектура «чувственное планирование-действие» (SPA) [5], в которой робот переключается между состояниями восприятия, планирования и действия. Недавние исследования когнитивных роботов сосредоточены на сборе, формализации и обмене знаниями [6–8]. Онтологии стали широко распространенным инструментом и привели к появлению стандарта]. В сочетании с идеей семантической сети обмен знаниями между роботами достигает огромных масштабов; например, в соответствии с проектом RoboEarth.

Вопреки сокращению вмешательства человека, недавние исследования по ручному программированию вместо этого направлены на то, чтобы перенести традиционное программирование роботов онлайн с инженеров на операторов цехов. Это уменьшает потребность в инженерных часах с высокой заработной платой и позволяет оператору направить ценные знания и опыт процесса в инструкции. Метод программирования, обеспечивающий простое и быстрое обучение роботов, — это программирование на уровне задач [12]. Он представляет собой более высокий уровень абстракции, чем традиционное программирование онлайн-роботов, поскольку фокусируется на действиях, связанных с задачами, до низкоуровневого управления устройствами. Задачи строятся путем объединения этих действий, которые часто называют навыками робота [1]. В последние десятилетия появились многочисленные представления о навыках роботов, которые подходили бы для программирования на уровне задач [13–17].

Стенмарк [17] представляет определение навыка: Навык — это действия манипулирующих примитивов, которые создают изменения окружающей среды, которое делает взаимосвязь навыков контролируемым процессом с использованием проверок до и после условия. В [18] Стенмарк и Малек используют свое определение навыков для упрощения программирования роботов с использованием семантических знаний, хранящихся в их среде интеграции знаний. Основываясь на знаниях, система помогает пользователю в настройке и параметризации последовательностей навыков в автономной среде программирования. Несмотря на ту же цель, структура, которую мы предлагаем в этой статье, использует ручную последовательность и параметризацию навыков, чтобы упростить программирование роботов онлайн. Таким образом, обширное цифровое моделирование сценария не требуется.

Интуитивное программирование роботов требует новых подходов параметризации навыков в отличие от традиционного онлайн-программирования с использованием обучающих подвесок [19]. Для информации о пространственных задачах, таких как целевые точки и траектории, подходящим подходом для коллаборативных роботов является кинестетическое обучение. В кинестетическом обучении человек напрямую взаимодействует с роботом и управляет им по намеченной траектории [20–22]. Кормушев и др. [20] представляет подход, при котором профилю положения и силы обучают робота. Wrede et al. [22] представляют способ кинестетического обучения избыточных манипуляторов в рабочих пространствах с пространственным ограничением, где пользователь сначала учит допустимую кинематическую конфигурацию. Впоследствии пользователь обучает связанной с задачей траектории, и в то же время робот придерживается ранее обученной кинематической конфигурации. В отличие от Кормушева и соавт. и Wrede и др., ручное обучение является неотъемлемой частью параметризации навыков в нашей работе. Более того, кинестетическое обучение, в нашем подходе, сочетается с интуитивно понятным графическим интерфейсом пользователя для создания целостного метода для упорядочения и параметризации навыков.

3. Программирование на уровне задач с использованием навыков

Роботизированные навыки собирают низкоуровневую функциональность с нескольких устройств в последовательные блоки программирования более высокого уровня. Этот раздел кратко вводит понятие о роботизированных навыках и как они используются для программирования на уровне задач. Модель навыков основана на концепции, представленной в [1], и расширена здесь, чтобы включить ручную онлайн-параметризацию.

3.1. Концептуальная архитектура программируемой системы, основанной на навыках

Архитектура, основанная на навыках, имеет три уровня абстракции: задачи, навыки и примитивы устройства, как показано на рис. 1. Примитивы устройства — это функции, предоставляемые одним устройством, например, манипулятор робота, камера, датчик силы / крутящего момента. В традиционном программировании роботов эти функции используются непосредственно пользователем. В программировании на основе навыков они используются разработчиком навыков для разработки навыков, обеспечивающих функциональность на более высоком уровне. Цель навыков — дать возможность работникам цеха на фабрике быстро и эффективно программировать роботов. Задачи могут быть запрограммированы с помощью последовательности и параметризации ряда навыков.

Три вида могут быть определены как:

Примитивы устройства: совместный робот представляет собой набор из нескольких устройств; обычно включает в себя руку робота, захват, камеры и датчики. Каждое устройство обеспечивает определенный набор функций, обозначаемых примитивами устройства. Устройства одного и того же типа, например захваты, получают одинаковые примитивы, например захваты. Таким образом, примитивы устройства абстрагируются от конкретных деталей реализации на каждом устройстве. Следовательно, программирование на основе примитивов устройства не зависит от конкретных аппаратных компонентов. Следовательно, устройства могут быть заменены без влияния на вышеупомянутые уровни управления, если любые новые устройства предоставляют одинаковые примитивы устройства.

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

Задачи: Задачи программируются путем объединения и параметризации навыков, и они напрямую связаны с решением конкретных задач на заводе. Уровень задач отделен от аппаратного уровня робота.

Определенные функции; например, планирование движения, обнаружение объекта и оценка позы; не приходят от одного устройства, и они не изменяют состояние любого объекта. Таким образом, они не могут считаться навыками или примитивами устройств. Соответственно, сервисный уровень представлен на рис. 1. Три уровня абстракции: 1: задачи, 2: навыки и 3: примитивы устройства. Сервисы используют несколько устройств и предоставляют функциональные возможности более высокого уровня для уровня навыков. C. Schou и соавт. Robotics and Computer Integrated Manufacturing 53 (2018) дополнили три основных слоя. На уровне навыков сервисы могут рассматриваться как примитивы устройств более высокого уровня. Уровень обслуживания не следует путать с концепцией служб в операционной системе робота (ROS), хотя службы SBS могут быть реализованы с использованием служб ROS в качестве транспортного уровня.

Три уровня абстракции: 1: Задачи, 2: Навыки и 3: Примитивы устройств. Сервисы используют несколько устройств и обеспечивают более высокий уровень функциональности для уровня навыков.
Рисунок 1. Три уровня абстракции: 1: Задачи, 2: Навыки и 3: Примитивы устройств. Сервисы используют несколько устройств и обеспечивают более высокий уровень функциональности для уровня навыков.

3.2. Модуль на основе навыков

Навыки «осуществляют изменение набора переменных состояния, описывающих знания, которые робот имеет в своей среде» [1]. В физическом мире навык представляет собой интуитивное, объектно-центрированное действие робота, которое выполняет изменение в мире. Это означает, что один навык может включать как восприятие, так и манипулирование. Например, навык выбора должен обеспечивать способ найти объект, который будет выбран; либо из модели внутреннего мира, хранящейся в роботе, либо с помощью датчиков, взаимодействующих с внешним миром. Чтобы поддерживать интуитивное программирование на уровне задач, навыки должны быть самостоятельными. Они должны хранить всю необходимую информацию, необходимую для их правильного выполнения. Это включает в себя:

Параметризация: определенный навык может выполнять только определенный тип общего действия. Это действие делается конкретным путем параметризации; то есть спецификация набора параметров.

Предварительные условия: навык должен определить, может ли он быть выполнен правильно и безопасно до начала выполнения.

Непрерывная оценка: во время выполнения навык должен быть остановлен в случае возникновения непредвиденных или опасных ситуаций.

Постусловия: после выполнения навык должен определить, была ли его операция завершена, как ожидалось.

Это приводит к модели навыка, изображенной на рис. 2. Навык преобразует мир из исходного состояния в целевое состояние на основе параметров, которые были заданы до выполнения. Голубые блоки гарантируют, что навык может быть выполнен только безопасным и предсказуемым образом. Все задачи робота могут быть определены как преобразование из исходного состояния мира в целевое состояние. Это преобразование может быть достигнуто либо путем выполнения одного навыка, либо (для большинства задач) последовательности навыков — при условии наличия подходящих навыков. Такое программирование задач путем объединения навыков обозначается как программирование на уровне задач.

Общая модель навыка. Центральная часть навыка — блок исполнения который выполняет желаемое манипулирование миром. Голубые блоки гарантируют, что навык может быть выполнен только безопасным и предсказуемым образом (для интерпретации ссылки на цвет в этом рисунке, читателю следует сослаться на веб-версию этой статьи.)
Рисунок 2. Общая модель навыка. Центральная часть навыка — блок исполнения который выполняет желаемое манипулирование миром. Голубые блоки гарантируют, что навык может быть выполнен только безопасным и предсказуемым образом (для интерпретации ссылки на цвет в этом рисунке, читателю следует сослаться на веб-версию этой статьи.)

Перед выполнением каждого навыка в последовательности необходимо убедиться, что навык совместим с состоянием мира в данный момент. Это делается путем сравнения предварительных условий, определенных для этого навыка, с информацией с камер и датчиков, а также с информацией, перенесенной из предыдущих навыков в виде модели мира. Аналогичным образом, после прекращения навыка постусловия снова сравниваются с состоянием мира. Совместные проверки до и после проверки подтверждают, что передача навыков осуществляется безопасным и четко определенным образом. Например, проверка постусловия завершится неудачей в случае, если у навыка выбора есть постусловие, указывающее, что робот должен удерживать объект определенного веса, но это не так. Эта проверка не позволяет роботу переходить к следующему навыку, что в противном случае может привести к неопределенному и неудачному поведению. Точно так же проверки также используются во время параметризации, чтобы гарантировать, что только допустимая последовательность навыков может быть запрограммирована. Проверка до и после условия также обеспечивает синхронизацию на уровне задачи, в то время как синхронизация более низкого уровня возможна в пределах каждого навыка. Параллелизм на уровне задачи (т.е. выполнение двух навыков параллельно) в настоящее время невозможен; однако параллелизм на уровне навыков, например открытие захвата при перемещении манипулятора робота возможно.

3.3. Ручная параметризация

Для параметризации навыков могут использоваться различные методы, включая подходы, основанные на планировании [1,23], и ручные подходы [24]. Эта работа преследует подход ручной параметризации. Вместо того, чтобы пытаться решать очень сложные задачи исключительно автономно, мы стремимся использовать человеческие знания и интуицию, оставляя человека-оператора в курсе во время программирования на уровне задач. Для каждого навыка необходимо указать ряд параметров. На рис. 3 приведен пример необходимых параметров для максимально простого навыка выбора. Подмножество параметров может быть легко задано в автономном режиме через графический интерфейс пользователя (GUI). Это подмножество включает в себя скорость манипулятора и информацию об объекте. Другие параметры, такие как декартовы координаты и траектории, могут быть эффективно заданы онлайн посредством кинестетического взаимодействия с роботом.

Параметры простого выбора навыка. Скорость и тип объекта указываются в автономном режиме. Места передаются онлайн посредством кинестетического обучения и информации об объекте обновляется при взаимодействии робота с ним.
Рисунок 3. Параметры простого выбора навыка. Скорость и тип объекта указываются в автономном режиме. Места передаются онлайн посредством кинестетического обучения и информации об объекте обновляется при взаимодействии робота с ним.

Благодаря онлайн-обучению мир трансформируется так же, как и во время работы. Например, во время обучения навыку выбора робот фактически подбирает объект и заканчивается объектом, удерживаемым им. Следовательно, обучение навыкам должно осуществляться в том же порядке, что и во время работы. Автономная спецификация, с другой стороны, не может изменить мир, поэтому она может выполняться независимо для каждого навыка. Теперь модель расширенного навыка может быть построена как с рабочей частью, так и с ручной параметризацией, как показано на рисунке 4.

Модель навыка, включающая как операционную, так и ручную параметризацию.
Рисунок 4. Модель навыка, включающая как операционную, так и ручную параметризацию.

Модель четко показывает параллельность между двумя частями; то есть, обучение и исполнение выполняют одно и то же изменение состояния в мире и, таким образом, могут быть объединены; например, для расширения существующей задачи.

4. Реализация системы на основе навыков

Чтобы управлять секвенированием и параметризацией навыков и выполнением существующих задач, необходима структура. Был разработан программный инструмент Skill Based System (SBS), предоставляющий полный интерфейс робота-человека для использования навыков в промышленных условиях. На внешнем интерфейсе SBS предлагает интуитивно понятный интерфейс человек-робот, с помощью которого выполняется конфигурация робота, программирование задач и выполнение задач. На серверной стороне SBS содержит библиотеку навыков и необходимые механизмы параметризации и выполнения, чтобы управлять секвенированием и параметризацией навыков и последующим выполнением задачи.

4.1. Архитектура программного обеспечения

Общая программная архитектура SBS показана на рис. 5.Смежные компоненты обозначают, что эти компоненты связаны с одним программным узлом. Отдельные узлы соединены линией. Для облегчения связи между большинством узлов программного обеспечения используется операционная система робота (ROS).

Диаграмма компонентов UML2, показывающая программную архитектуру SBS. Связь между узлами осуществляется с использованием операционной системы робота (ROS). Связь между драйвером устройства и физическим устройством (I / O) зависит от данного устройства, например, EtherCat, Modbus, Ethernet и Firewire.
Рисунок 5. Диаграмма компонентов UML2, показывающая программную архитектуру SBS. Связь между узлами осуществляется с использованием операционной системы робота (ROS). Связь между драйвером устройства и физическим устройством (I / O) зависит от данного устройства, например, EtherCat, Modbus, Ethernet и Firewire.

4.1.1. Уровень устройств

SBS не привязан к конкретным аппаратным компонентам и не зависит от них. Поскольку диспетчер устройств и прокси-серверы устройств являются центральной частью, уровень устройств обеспечивает инфраструктуру «подключи и производи», поддерживающую модульную аппаратную архитектуру со сменными модулями. Подробное описание структуры «подключи и производи», которая составляет слой устройства, представлено в [25]. Как следствие, только краткое описание слоя устройства включено в эту статью. Каждое активное физическое устройство имеет соответствующий программный драйвер ROS, который на рис. 5 называется драйвером устройства. С одной стороны, драйвер устройства выполняет низкоуровневую связь с физическим устройством, которая является специфической для устройства и зависит от физического соединения с устройством. С другой стороны, драйвер устройства реализует интерфейс ROS по отношению к диспетчеру устройств, через который драйвер обеспечивает функциональные возможности устройства через реализацию ROS

Ключевой частью ROS является совместное использование открытого кода в сообществе. Таким образом, драйверы устройств часто можно загрузить из вики ROS, но интерфейсы ROS драйверов сильно отличаются по реализации, синтаксису и использованию. Для навыков работы независимо от конкретной аппаратной структуры определенные функции устройства, устройств отображаются на примитивы посредством прокси-устройств. Для интеграции нового устройства с SBS требуется драйвер, реализующий ROS, и прокси устройства. Если драйвер устройства ROS недоступен в сообществе ROS, его необходимо разработать. Кроме того, прокси-устройство должно быть создано и добавлено в среду SBS.

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

4.1.2. Уровень навыков

Уровень навыков SBS состоит из менеджера навыков и библиотеки реализованных навыков. Базовый класс определяет «шаблон» для реализации навыка, от которого наследуются все навыки, как показано на рис. 6. Для разработки и интеграции нового навыка требуется, чтобы разработчик создал класс, унаследованный от базового класса, и, таким образом, реализовал методы, показанные в Рис. 5. Пока навыки соответствуют этой структуре реализации и концептуальному определению, на действие навыка не накладываются никакие ограничения. Преднамеренно это позволяет навыку инкапсулировать поведение на любом желаемом уровне в своей работе. При разработке операции навыков разработчик вставляет необходимые примитивы. Отображение требуемых примитивов на доступные примитивы в текущем оборудовании робота обрабатывается диспетчером устройств при использовании навыка. Диспетчер навыков отслеживает доступные навыки и облегчает реализацию навыков в соответствии с требованиями механизмов программирования и исполнения.

Диаграмма классов реализации навыка в SBS. Все навыки наследуются от базового навыка, и все навыки доступны для остальных SBS через SkillManager. Функция предсказания в BaseSkill принимает состояние мира в качестве входных данных и моделирует преобразование, которое выполняет навык. Сравнивая с предварительными и постусловиями, умение может определить, полезно ли оно для данного состояния мира и каким образом. Функция getLegalSkills в SkillManager возвращает набор умений, которые можно использовать с данным состоянием мира, на основе результатов из функций прогнозирования.
Рисунок 6. Диаграмма классов реализации навыка в SBS. Все навыки наследуются от базового навыка, и все навыки доступны для остальных SBS через SkillManager. Функция предсказания в BaseSkill принимает состояние мира в качестве входных данных и моделирует преобразование, которое выполняет навык. Сравнивая с предварительными и постусловиями, умение может определить, полезно ли оно для данного состояния мира и каким образом. Функция getLegalSkills в SkillManager возвращает набор умений, которые можно использовать с данным состоянием мира, на основе результатов из функций прогнозирования.

4.1.3. Уровень задач

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

4.1.4. Пользовательский интерфейс

SBS предоставляет собственный GUI, который скомпилирован как часть SBSnode, см. Рис. 5. GUI предоставляет полный интерфейс управления роботом с меню для инструктирования новых задач, управления и выполнения существующих задач, управления настройкой робота и рабочей станции, калибровки различных аппаратные устройства робота и управление автономной навигацией мобильного робота. Цель графического интерфейса — предоставить простой и удобный интерфейс для операторов магазинов. Содержание GUI подробно описано в Разделе 4.2, и оценка Раздела удобства использования представлена ​​в Разделе 6, которая подтверждает, что люди с различным опытом могут использовать систему и находить GUI интуитивно понятным. Внешний менеджер пользовательского интерфейса предоставляет интерфейс ROS для использования внешними пользовательскими интерфейсами. Это позволяет разрабатывать пользовательские интерфейсы на разных платформах; например, ПК, Android, iOS и HTML. Таким образом, отдельные пользовательские интерфейсы могут быть спроектированы и разработаны для конкретных сред и вариантов использования. Примером этого является веб-интерфейс HTML5, который использует интерфейс ROS внешнего менеджера пользовательского интерфейса через ROSbridge. Как веб-интерфейс, он становится доступным на любой платформе с браузером с поддержкой Java.

4.1.5. Центральный элемент управления

Центральный элемент управления, показанный на рис. 5, содержит основные функции SBS. Это включает в себя автомат состояния, механизм выполнения задач и механизм программирования задач. Автомат состояния отслеживает текущее состояние системы с возможными состояниями:

  • Холостой ход
  • Программирование задач
  • Выполнение задач
  • Внешнее планирование задач
  • Ручное управление

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

4.2. Взаимодействия Человека и робота

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

Четыре ключевых окна в графическом интерфейсе SBS. (а) Главное окно, где доступно программирование и выполнение задач. (b) Окно настройки выполнения, где задачи запланированы для выполнения. (c) Окно спецификации задания используется для упорядочения навыков. Новые навыки добавлены и параметризованы для формирования задачи. После завершения начинается онлайн-обучение. (d) Окно параметризации навыка, из которого указываются автономные параметры навыка.
Рисунок 7. Четыре ключевых окна в графическом интерфейсе SBS. (а) Главное окно, где доступно программирование и выполнение задач. (b) Окно настройки выполнения, где задачи запланированы для выполнения. (c) Окно спецификации задания используется для упорядочения навыков. Новые навыки добавлены и параметризованы для формирования задачи. После завершения начинается онлайн-обучение. (d) Окно параметризации навыка, из которого указываются автономные параметры навыка.

4.2.1. Программирование задач

Программирование задач состоит из фазы офлайн-спецификации и фазы онлайн-обучения. Автономная спецификация выполняется в окне спецификации задачи, как показано на рис. 7 (с). В своем текущем состоянии SBS допускает только линейную последовательность навыков, которая контролируется путем добавления, удаления или изменения порядка навыков. Добавление новых навыков и указание связанных автономных параметров выполняется из окна параметризации навыков, см. Рис. 7 (d). Механизм программирования задачи утверждает существующую последовательность навыков для задачи и соответствующим образом адаптирует доступные навыки, прогнозируя изменение символического состояния каждого навыка в последовательности, см. Раздел 3. В результате избегаются противоречивые последовательности; например, навык выбора, продолжающий навык выбора. Как только навык выбран и параметризован, он готов к онлайн-обучению. В любой момент оператор может выбрать начало фазы обучения навыкам, добавленным к заданию. Если оператор выберет это, впоследствии могут быть добавлены дополнительные навыки. Таким образом, оператор может либо создать всю последовательность навыков и впоследствии обучить ее, либо добавлять и обучать навыки по одному. Во время онлайн-обучения GUI предоставляет оператору инструкции и обратную связь, а ввод оператора в систему осуществляется посредством прямого взаимодействия с манипулятором робота. Пример информации, представляемой оператору, показан на рис. 8. Всякий раз, когда от оператора требуется ввести данные, представлены три отдельных фрагмента информации:

  • Изображение действия, которое указывает конкретные действия, которые пользователь может выполнить.
  • Изображение инструкции, которое иллюстрирует контекст действия.
  • Текстовое описание, которое объясняет контекст в виде краткого предложения.
Процесс онлайн обучения проиллюстрирован для простого выбора навыка. Процедура для определенного навыка показана в левой таблице. Синие шаги выполняются оператором, а серые шаги выполняются роботом. На изображении справа показан сегмент. Обучающее меню графического интерфейса, которое предоставляет пользователю инструкции и информацию о прогрессе. (Для интерпретации ссылок на цвет в этой легенде рисунка читатель обращается к веб-версии этой статьи.)
Рисунок 8. Процесс онлайн обучения проиллюстрирован для простого выбора навыка. Процедура для определенного навыка показана в левой таблице. Синие шаги выполняются оператором, а серые шаги выполняются роботом. На изображении справа показан сегмент. Обучающее меню графического интерфейса, которое предоставляет пользователю инструкции и информацию о прогрессе. (Для интерпретации ссылок на цвет в этой легенде рисунка читатель обращается к веб-версии этой статьи.)

Порядок обучения навыка определяется так, чтобы начальное состояние и состояние цели соответствовали операционной части. Во время обучения оператор инструктирует ряд отдельных очков, заданных навыком. Как показано на фиг.8, инструктирование одной точки включает в себя три этапа. Во-первых, тактильный вклад в ПТС инициирует кинестетическое учение. Рис. 7. Четыре ключевых окна в графическом интерфейсе SBS. (а) Главное окно, где доступно программирование и выполнение задач. (b) Окно настройки выполнения, где задачи запланированы для выполнения. (c) Окно спецификации задания используется для упорядочения навыков. Новые навыки добавлены и параметризованы для формирования задачи. После завершения начинается онлайн-обучение. (d) Окно параметризации навыка, из которого указываются автономные параметры навыка. C. Schou и соавт. Робототехника и компьютерное интегрированное производство 53 (2018) Во-вторых, оператор направляет ПТС в нужное место. Наконец, удержание TCP в течение пяти секунд останавливает кинестетическое обучение и сохраняет смысл. В случае точки приближения или вылета, тактильный ввод используется для указания желаемого направления. Следовательно, только точки вдоль вектора этого направления могут быть сохранены. Последовательность навыков может быть проверена во время программирования задачи с помощью кнопки пробного запуска, см. Рис. 7 (c). Это выполнит текущую задачу с пониженной скоростью. Если последовательность содержит навыки, которые не параметризованы, процедура пробного запуска автоматически переключится на онлайн-параметризацию для этого конкретного навыка. По сути, процедура пробного запуска также позволяет оператору быстро достичь определенной точки в задании и заново обучить данному навыку. Как только желаемая последовательность навыков выбрана и полностью параметризована, программирование задачи завершено, и задача готова к выполнению.

4.2.2. Исполнение задач

При подготовке к выполнению в меню настройки выполнения задачи выбирается одна или несколько задач, см. Рис. 7 (б). Выполнение задачи выполняется последовательно, однако количество повторений (или циклов) может быть указано для каждой отдельной задачи. После настройки начинается выполнение задачи. На этапе выполнения графический интерфейс пользователя отображает панель управления, позволяющую оператору контролировать и контролировать выполнение задачи. В случае ошибки появляется диалоговое окно с тремя вариантами: 1) Повторить, 2) Продолжить и 3) Прервать. Оператор выбирает соответствующее действие после физического устранения ошибки.

4.2.3. Установка и управление

Когда состояние системы бездействует, доступно меню ручного управления. Отсюда оператор может вручную контролировать и контролировать состояние различных аппаратных компонентов робота. Например, можно контролировать положение руки робота, захват можно открывать и закрывать и активировать кинестетическое управление. Если доступно, управление роботом предлагает управление мобильной платформой. Через специальное меню можно настроить глобальные параметры и настройки, такие как калибровка нагрузки TCP для манипулятора робота, различные калибровки камеры зрения и калибровка проектора. SBS предназначен для использования как на стационарных, так и на мобильных коллаборативных роботах. В случае мобильного робота возникает необходимость калибровки рабочей станции. Таким образом, все задачи связаны с фреймом рабочей станции. Выделенное меню настройки рабочей станции позволяет оператору создавать новые рабочие станции и управлять ими, включая калибровку относительно физической рабочей станции. Когда создается новая рабочая станция, оператор должен дать указание о калибровке. Доступен как тактильный, так и трехмерный метод калибровки (подробности см. В [26]). По прибытии на рабочую станцию, вручную или автономно, калибровка, указанная оператором, может быть выполнена для повторного определения точного положения и ориентации рабочей станции.

5. Промышленные приложения

Мы разработали, протестировали и использовали SBS в ряде исследовательских проектов. Наиболее заметными являются европейские проекты TAPAS [27], ACAT [28], CARLoS [29] и национальный датский исследовательский проект CARMEN [30]. Эти проекты определили лабораторные эксперименты и реализовали реальные приложения, в то время как было проведено несколько пользовательских исследований для оценки применимости SBS. В этом разделе сначала представлен анализ типичных промышленных задач, которые имеют отношение к совместным промышленным роботам. Затем мы представляем основные промышленные приложения, в которых была развернута SBS.

5.1. Промышленные задачи для коллаборативных мобильных роботов

Анализ был проведен на пяти различных заводах в крупной производственной компании, чтобы определить, какие задачи ручного производства могут быть автоматизированы с помощью коллаборативных мобильных роботов. В общей сложности 566 задач ручного изготовления определены в трех разных областях:

Логистические задачи: транспортировка и одно / многократное кормление.

Вспомогательные задачи: уход за машиной, (предварительная) сборка, проверка и выполнение процесса.

Сервисные задачи: MRO и уборка

Для каждой задачи была проанализирована возможность замены ручного труда коллоборативными мобильными роботами. В анализе используется методология технологии технологического подталкивания (TPMT), чтобы оценить, являются ли задачи решаемыми в краткосрочной, среднесрочной или долгосрочной перспективе или они выходят за рамки. Результаты суммированы в Таблице 1. Естественно, нельзя предполагать, что результаты применимы непосредственно ко всем обрабатывающим отраслям, но анализ действительно указывает области, в которых совместные роботы могут иметь значение. Как видно из таблицы, большинство идентифицированных ручных задач находятся в логистической и вспомогательной областях. Кроме того, считается возможным выполнить подавляющее большинство задач в этих областях, используя коллоборативные мобильные роботы.

Таблица 1. Ручные задачи, определенные на реальных фабриках, разделенных по областям. Колонка Выполнено указывает, сколько задач можно решить совместными мобильными роботами.

Задачи

Выполнено

Логистические задачи

359

94,2%

Вспомогательные задачи

134

97,2%

Сервисные задачи

45

63,0%

Другие задачи

28

78,0%

Всего

566

91,6%

5.2. Промышленные приложения в производстве

На основе анализа промышленных задач стало возможным выбрать репрезентативный сценарий для применения коллаборативных мобильных роботов для работы в реальных условиях промышленного производства. Сценарий, который был выбран в рамках европейского проекта FP7 TAPAS [27], состоит из логистических задач (транспортировка и подача деталей), а также вспомогательных задач (уход за машиной, сборка и проверка). Кроме того, требуется координация между двумя автономными роботами. Сценарий был выбран, чтобы получить опыт интеграции коллаборативных мобильных роботов для работы в существующие производственные среды и определить ключевые проблемы при переходе технологии на уровень готовности, подходящий для отрасли. Сценарий показан на рис. 9.

Сотрудничают два робота AIMM; одна исполняющая часть доставки (зеленые кружки) и одна сборка, уход за машиной и транспортировка (синие круги). На рис. 10 показаны роботы на станциях 2 и 3. (Для интерпретации ссылки на цвет в этом рисунке, читателю необходимо ссылаться на веб-версию этого статья.)
Рисунок 9. Сотрудничают два робота AIMM; одна исполняющая часть доставки (зеленые кружки) и одна сборка, уход за машиной и транспортировка (синие круги). На рис. 10 показаны роботы на станциях 2 и 3. (Для интерпретации ссылки на цвет в этом рисунке, читателю необходимо ссылаться на веб-версию этого статья.)

Для этих экспериментов использовались два робота Little Helper1, см. Рис. 10. SBS использовался для программирования задач, включая обнаружение объектов, манипуляции, контроль качества и навигацию по навыкам. ROS gmapping использовался для картирования и навигации, и был разработан специальный алгоритм калибровки для калибровки роботов до рабочих станций менее чем за одну секунду [26]. Планирование движения в режиме онлайн было включено в качестве службы ROS для SBS и использовалось для безопасного и эффективного перемещения манипулятора робота внутри гидравлического пресса. Планировщик движения, использованный в этих экспериментах, был из CIT, 2, и планирование каждого движения занимало до секунды в зависимости от сложности движения. Планировщик движения CIT зависит от модели среды, которая была создана в автономном режиме. Интеграция планировщика движения в SBS эффективно сочетает планирование движения с предлагаемым методом ручной параметризации, основанным на кинестетическом обучении. Оператор просто обучает стартовым и целевым позициям и оставляет роботу возможность найти наиболее эффективный путь между ними. Следует отметить, что интеграция SBS с планировщиком движения является общей, как и другие планировщики движения, например ROS MoveIt, были использованы для последующих экспериментов без изменения графического интерфейса SBS.

Два робота AIMM «Маленький помощник» Ольборгского университета на производственной площадке в Grundfos A / S.
Рисунок 10. Два робота AIMM «Маленький помощник» Ольборгского университета на производственной площадке в Grundfos A / S.

Для обнаружения объектов и контроля качества SBS была интегрирована с системой внешнего зрения. Выделенные навыки выбора с помощью зрения и контроля качества сделали функциональность системы зрения простой в использовании посредством SBS, аналогично внутренним функциям SBS. Одной из наиболее сложных подзадач из рассматриваемых вспомогательных задач является сборка изделия из 11 отдельных частей внутри пресса. Задача требовала обработки всех 11 деталей, перемещения манипулятора в ограниченном пространстве, операций колышек в отверстии, механической активации пресса для окончательной сборки и контроля качества на протяжении всего процесса сборки. Эта задача была полностью запрограммирована в SBS с использованием 13 различных навыков в последовательности из 118 шагов. Самое длительное непрерывное производство с двумя роботами AIMM длилось 8 часов, и за этот период всего было произведено 34 продукта.

5.3. Промышленные приложения в строительстве судов

Чтобы получить опыт применения SBS и совместных роботов для различных сценариев, в рамках проекта FP7 CARLoS был выбран альтернативный сценарий в вспомогательной области [29]: приварка шпилек для постройки судов. В отличие от задач в производственном сценарии, описанном в разделе 5.2, сварка шпилек является задачей выполнения процесса. Кроме того, окружающая среда на верфи сильно отличается от типичной производственной фабрики. Для человека может быть опасно находиться рядом со сварочным роботом. Таким образом, интерактивный обучающий интерфейс для SBS был расширен благодаря новому естественному подходу взаимодействия человека и робота. Пульт Wii используется для предоставления инструкций роботу, а проектор, установленный на конце робота, используется для обратной связи с человеком. При использовании интерфейса проектор проецирует визуальную информацию о задании непосредственно на стены корабля, как показано на рис. 11.

Расширения интерфейса SBS, разработанные для инструктажа по сварке шпилек. Сварка шпилек программируется с помощью удаленного Wii и обратной связи проекции на стенку корабля. Доступ к SBS осуществляется через интерфейс веб-сокетов; для этих экспериментов используют планшет.
Рисунок 11. Расширения интерфейса SBS, разработанные для инструктажа по сварке шпилек. Сварка шпилек программируется с помощью удаленного Wii и обратной связи проекции на стенку корабля. Доступ к SBS осуществляется через интерфейс веб-сокетов; для этих экспериментов используют планшет.

Для решения сварочной задачи в SBS был включен специальный навык сварки. Умение использует возможности модулей робота, в том числе руку робота, камеру, измерения силы и сварочный аппарат. Для SBS был разработан минимальный интерфейс, который позволяет управлять SBS в рабочем режиме с помощью любого устройства с поддержкой веб-браузера. Интерфейс использует веб-сокет для связи с внешним менеджером пользовательского интерфейса SBS (см. Рис. 5) и позволяет пользователю видеть информацию о текущем состоянии и инициировать новые задачи.

6. Оценка применимости

Чтобы оценить применимость метода программирования на основе навыков и пользовательского интерфейса SBS, мы провели семь пользовательских исследований, перечисленных в таблице 2. Общим для всех исследований является то, что каждому участнику было дано 10–15-минутное введение в соответствующее аппаратное обеспечение Little. Помощник, библиотека навыков, методы обучения, графический интерфейс и характер поставленной задачи. Всем пользователям было предложено самостоятельно оценить свой опыт в области робототехники перед тестированием SBS. В исследованиях № 1 и № 2 оценивается метод ручного программирования на уровне задач, описанный в разделе 3, в промышленных лабораториях. Основное внимание было уделено оценке инструкций по манипулированию роботами без взаимодействия с внешним оборудованием. Цель состояла в том, чтобы определить, насколько хорошо новички в SBS и роботы смогли использовать систему по сравнению с более опытными пользователями. Участники теста были разделены на три группы: новичок, эксперт и SBS-эксперт. Каждый участник запрограммировал одну простую и одну сложную задачу; включая подбор навыков и офлайновую и онлайн-параметризацию. Простая задача состояла в том, чтобы: взять предмет с подставки; разместить его на плоской поверхности. Передовая же задача была: взять предмет с подставки; поместить его перевернутым в крепление. В расширенной задаче действие захвата включало в себя тщательное выравнивание захвата с прибором, а место включало «врезку в отверстие» вставку объекта в приспособление. Объединенные результаты исследования № 1 и № 2 суммированы в таблице 3. В обоих исследованиях все участники смогли успешно запрограммировать как простую, так и сложную задачу. С точки зрения эффективности новички- тратили в 1-2 раза больше времени, чем эксперты SBS, и примерно на 50% больше времени, чем эксперты. На основании эффективности новички запрашивали помощь в среднем в 3,5 раза, что в 2–3 раза больше, чем у экспертов. Следует отметить, что каждый участник впервые программировал данные задачи. С точки зрения удовлетворения, большинство как новичков, так и экспертов находили, что программирование задач через SBS довольно легко выполнить. Кроме того, все пользователи чувствовали себя безопасно и комфортно во время взаимодействия с роботом.

Таблица 2. Пользовательские исследования по оценке HRI с SBS (2013–2016).

Пользовательское исследование

Проект

Местоположение

N

Программирование на основе навыков

TAPAS[24]

AAU

9

Программирование на основе навыков

TAPAS

KUKA

9

HRI w/ проекционное отображение

PhD

AAU

14

Интерфейс задач в простанстве

CARLoS

AAU

17

Проекционное отображение

PhD

AAU

20

Text-to-skill комплиятор

ACAT

AAU

12

Всего

82

Таблица 3. Результаты исследования № 1 и № 2, где оценивался метод программирования на основе навыков. Параметризированное время — это спецификация и время обучения вместе. Проблемы это среднее число ошибок и запросов о помощи в сочетании.

Задача

Пользовательская группа

Параметризированное время

Проблемы

Простая

Новичок

5:20

2,3

Эксперт

3:56

0,7

SBS эксперт

2:37

0,0

Сложная

Новичок

12:29

4,7

Эксперт

9:03

2,0

SBS эксперт

4:40

0,3

Исследование № 3– № 6 основывается на предыдущих исследованиях, исследуя различные методы программирования задачи, которые расширяют возможности интерфейса SBS. В исследованиях № 4 и № 5 мы исследовали применение проекционного картирования в качестве дополнительного инструмента для предоставления инструкций оператору во время онлайн-обучения. Навыки были определены заранее, а исследования были сосредоточены исключительно на онлайн параметризации. В частности, исследование № 5 показало, что в среднем удобство использования в обучении может быть улучшено путем показа инструкций задачи из SBS непосредственно в пространстве задач с использованием проекционного отображения по сравнению с использованием монитора. Применение компилятора text-to-skill было изучено в исследовании № 6. Инструкции для сложных задач по выбору и размещению были переведены в соответствующую последовательность навыков автоматически с помощью лингвистического анализа инструкции. Например, инструкция может быть такой: взять обьект из приспособления и поместить в пресс. Компилятор преобразования текста в навык освобождает оператора от необходимости вручную определять последовательность навыков и параметры автономного режима. В результате среднее время спецификации составило всего 20 секунд. Для сравнения, специалисты SBS тратят более 80 секунд на спецификацию как простой, так и сложной задачи в исследовании № 1 и № 2, см. Таблицу 3.

7. Обсуждение и извлеченные уроки

Исследования применимости показали, что концепция программирования на основе навыков делает программирование промышленных задач доступным для новичков. Полные новички способны программировать относительно сложные промышленные задачи, например, операции с использованием штифта в отверстии. Тем не менее, важным результатом исследований применимости стала способность четко передавать инструкции, а намерения робота во время онлайн-обучения имеют решающее значение. В частности, в сложных задачах пользователи-новички чаще запрашивали помощь, связанную с позиционированием руки робота или следующим шагом в процессе настройки (см. Таблицу 3). В результате наш основной графический интерфейс несколько раз был переработан для увеличения и улучшения графических инструкций и включения альтернативных методов HRI. Исходя из различных задач, запрограммированных с использованием SBS, становится очевидным, что можно проделать как длинные, так и сложные задачи без использования подхода автономного планирования на основе моделей. Также стало очевидным, что удивительно большое количество задач манипуляции может быть решено с использованием относительно небольшого набора навыков. Однако использование только линейной последовательности навыков запрещает использование условных потоков задач и тем самым становится ограничивающим фактором при введении дисперсии продукта. SBS также ограничивается дискретными по времени задачами, и в настоящее время она зависит от коллаборативных роботов, предлагающих кинестетические функции обучения и встроенные меры безопасности.

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

8. Дальнейшая работа

Будущая работа над рассмотренным исследованием (Skill-based instruction of collaborative robots in industrial settings, Casper Schou, Rasmus Skovgaard Andersen, Dimitrios Chrysostomou, Simon Bogh, Ole Madsen), будет включать как новые, так и улучшенные методы HRI, такие как проактивные и адаптивные методы виртуальной реальности. Авторы намерены улучшить понимание интуитивности различных методов программирования роботов и использовать эти знания для дальнейшего улучшения нашего интерфейса. Затем авторы намереваются включить новые методы выбора, упорядочения и параметризации навыков, а также линии, уже начатые в проектах CARLoS и ACAT (см. Раздел 5). В будущих работах над HRI авторы сосредоточатся на оценке предложенного метода программирования на основе навыков в более сложных реальных промышленных сценариях, а так же изучат аспекты безопасности SBS и меры, которые могут обеспечить безопасное взаимодействие с роботами.

9. Заключение

В этой статье был представлен интуитивно понятный инструмент программирования на уровне задач под названием Skill Based System (SBS). Цель SBS — значительно облегчить и ускорить программирование производственных задач, и, следовательно, преобразовать инструкции робота из инженерной задачи в задачу производственного персонала. SBS основана на концепции навыков, которые являются общими управляющими модулями, относящимися к задачам, которые представляют возможности коллаборативного робота как единое целое. В качестве комплексного инструмента управления роботом SBS предлагает программирование и выполнение задач на основе навыков, настройку робота и рабочих станций, настройку навигации и ручное управление оборудованием. Программирование на уровне задач достигается с помощью первых навыков секвенирования в графическом интерфейсе пользователя и последующей параметризации их с помощью кинестетического обучения. В нашей представленной схеме необходим манипулятор робота, поддерживающий кинестетическое обучение. В результате этот подход применим к растущему количеству коммерчески доступных коллаборативных роботов.

Достоверность подхода, основанного на навыках, была изучена в семи исследованиях применимости. В общей сложности более 80 участников с различным опытом в области робототехники использовали SBS при программировании промышленных задач. Одним из выводов этих исследований является то, что предложенный подход к программированию на основе навыков позволяет новичкам-робототехникам программировать производственные задачи после краткого введения. Кроме того, результаты показывают, что разрыв в производительности между новичками и экспертами значительно сокращается. Интуитивно понятный и быстрый фреймворк для задач — важный инструмент для коллаборативных роботов. Однако для промышленной эксплуатации крайне важно, чтобы такая основа была практически жизнеспособной в реальных промышленных условиях. SBS активно используется в четырех национальных и международных исследовательских проектах. Промышленная эксплуатация в проектах TAPAS и CARLoS доказала промышленную применимость SBS в практике, поскольку она использовалась в трех реальных промышленных экспериментах, включая программирование и выполнение 12 промышленных задач.

Список литературы

  1. Pedersen M.R., Nalpantidis L., Andersen R.S. Robot skills for manufacturing: from concept to industrial deployment // Robot. Comput. Integr. Manuf. 2016. № 37. С. 282–291.
  2. Rethink Robotics, Intera Studio. 2017. URL: http://mfg.rethinkrobotics.com/intera/Intera_Studio.
  3. Colgate J.E., Edward J., Peshkin M.A. Cobots: Robots for Collaboration with Human Operators. 1996.
  4. Biggs G., MacDonald B. A survey of robot programming systems // Proceedings of the Australasian Conf. on Robotics and Automation. 2003. С. 1–3.
  5. Gat E. Artificial Intelligence and Mobile Robots.: MIT Press, 1998. С. 195–210.
  6. Suh I.H., Lim G.H., Hwang W. Ontology-based multilayered robot knowledge framework (omrkf) for robot intelligence // IEEE/RSJ Int. Conf. on Intelligent Robots and Systems. 2007. С. 429–436.
  7. Lemaignan S., Ros R., Msenlechner L. Oro, a knowledge management platform for cognitive architectures in robotics // Intelligent Robots and Systems (IROS), IEEE/RSJ Int. Conf. on. 2010. С. 3548–3553.
  8. Tenorth M., Beetz M. Knowledge processing for autonomous robot control // AAAI Spring Symposium: Designing Intelligent Robots. 2012.
  9. IEEE Robotics and Automation Society (RAS) // IEEE Standard on Ontologies for Robotics and Automation, IEEE Std 1872–2015. 2015. С. 1–60.
  10. Waibel M., Beetz M., Civera J. RoboEarth // IEEE Robot. Autom. Mag. 2011. № 18. С. 69–82.
  11. Tenorth M., Perzylo A., Lafrenz R. Representation and exchange of knowledge about actions, objects, and environments in the roboearth framework // IEEE Trans. Autom. Sci. Eng. 2013. № 10. С. 643–651.
  12. Lozano-Perez T. Robot programming // Proc. IEEE. 1983. № 71. С. 821–841.
  13. Brooks R. A robust layered control system for a mobile robot // Robot. Autom. IEEE J. 1986. № 2. С. 14–23.
  14. Archibald C.C. A Computational Model for Skills-Oriented Robot Programming. Оттава: PhD thesis, University of Ottawa, 1995.
  15. Krüger N., Piater J., Wörgötter F. A Formal Definition of Object-Action Complexes and Examples at Different Levels of the Processing Hierarchy.: Technical report, 2009.
  16. Björkelund A., Edstrom L., Haage M. On the integration of skilled robot motions for productivity in manufacturing // Assembly and Manufacturing (ISAM), IEEE Int. Symposium on. 2011. С. 1–9.
  17. Stenmark M. Industrial robot skills.: SCAI, 2013. С. 295–298.
  18. Stenmark M., Malec J. Knowledge-based instruction of manipulation tasks for industrial robotics // Robot. Comput. Integr. Manuf. 2015. № 33. С. 56–67.
  19. Owen T. Assembly With Robots. Нью-Джерси: Prentice Hall, Inc., 1985.
  20. Kormushev P., Calinon S., Caldwell D.G. Imitation learning of positional and force skills demonstrated via kinesthetic teaching and haptic input // Adv. Rob. 2011. № 25. С. 581–603.
  21. Akgun B., Cakmak M., Yoo J.W. Trajectories and keyframes for kinesthetic teaching: a human-robot interaction perspective. Нью-Йорк: Proceedings of the seventh annual ACM/IEEE int. conf. on Human-Robot Interaction, ACM, 2012. С. 391–398.
  22. Wrede S., Emmerich C., Grünberg R. A user study on kinesthetic teaching of redundant robots in task and configuration space // J. Hum. Robot Interact. 2013. №2. С. 56–81.
  23. Pedersen M.R., Krüger V. Automated planning of industrial logistics on a skillequipped robot // Presented at IROS 2015 Workshop: Task Planning for Intelligent Robots in Service and Manufacturing. 2015.
  24. Schou C., Damgaard J., Bøgh S. Human-robot interface for instructing industrial tasks using kinesthetic teaching // 44th Int. Symposium on Robotics (ISR), IEEE. 2013. С. 1–6.
  25. Schou C., Madsen O. A plug and produce framework for industrial collaborative robots // Int. J. Adv. Robot. Syst. 2017. № 14. URL: https://doi.org/10.1177/1729881417717472.
  26. Andersen R.S., Damgaard J.S., Madsen O. Fast calibration of industrial mobile robots to workstations using QR codes.: IEEE Press, Proceedings of the 44th Int. Symposium on Robotics ISR, 2013.
  27. TAPAS, Robotics-enabled logistics and assistive services for the transformable factory of the future [Электронный ресурс] // EU-project under the European Commission’s Seventh Framework Programme grant no. 260026, 2011-2014. URL: http://www.tapasproject.eu.
  28. ACAT, Learning and execution of action categories acat project website [Электронный ресурс] // EU-project under the European Commission’s Seventh Framework Programme grant no. 600578, 2013-2016. URL: http://www.acat-project.eu.
  29. CARLoS, Cooperative robot for large spaces manufacturing [Электронный ресурс] // EU-project under the European Commission’s Seventh Framework Programme grant no. 606363, 2014- 2015. URL: http://carlosproject.eu.
  30. CARMEN, Center for avanceret robotbaseret automation (center for advanced robot-based automation) [Электронный ресурс] // Danish Research Project Funded by Innovation Fund Denmark, 2017. URL: http://innovationsfonden.dk/en/node/609.