Получайте оповещения

в вашем браузере

Подписаться Нет, спасибо

Вконтакте

Facebook

Подписаться на рассылку

«Мы хотели придумать робота, который соберет сам себя: в космосе, на глубине океана, в арктических льдах»

«Мы хотели придумать робота, который соберет сам себя: в космосе, на глубине океана, в арктических льдах»
Фото: Александр Хомутов для Properm.ru
Пермские программисты придумали язык, который может заставить совершенно разных роботов работать сообща. Как этого удалось добиться, и почему уникальную разработку пермяки предлагают всем совершенно бесплатно, читайте в интервью Properm.ru.

10 пермяков за один год разработали открытый язык программирования Robot Control Meta Language (RCML), с помощью которого можно кооперировать между собой роботов разных производителей, не ориентируясь на техническую «начинку» конкретных машин и их особенности. Беседуем с кандидатом технических наук, руководителем проекта Robot Control Technologies Михаилом Тюлькиным о «ноу-хау» пермских программистов и будущем робототехники.

— Михаил, расскажите, что такое язык RCML?

 — Суть его идеи — независимость алгоритма, описанного на этом языке, от робота. Допустим, есть два робота. Один робот с одной рукой, другой — с двумя руками и произведен другой фирмой. У каждого робота есть свой драйвер. Через него команда, описанная на языке RCML, передается в язык, понятный каждому роботу в отдельности. Это не язык, на котором робот общается, а язык, который робот понимает.

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

— Сколько человек трудились над проектом?

 — Нас примерно десять человек. Человек семь — это программисты. Непосредственно над языком работает человека два-три. Остальные — те, кто работает над хранилищем (данных — Properm.ru), разработкой драйверов. А еще у нас есть отдельный человек, который занимается разработкой виртуальной среды для роботов, наблюдаемых на экране компьютера. Мы называем продукт, который он делает, «визуализатор».

— Когда началась разработка языка?

 — Сама идея появилась довольно давно, но официальным стартом разработки можно назвать апрель 2014 года. В ноябре 2014 года произошла апробация. Это было в Москве, на выставке «Robotics Expo II» в Сокольниках.

Михаил Тюлькин, руководитель проекта по созданию метаязыка RCML.

 — За этот год сколько роботов было адаптировано к  RCML?

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

Наша идея в плане отношения с робототехниками такова: мы предлагаем, чтобы они сами подключали наш язык к своим роботам. Мы лишь описываем, чем должен обладать их интерфейс, чтобы он подключился к нашей системе. Есть роботы, которым мы сами написали драйвера и сами подключили. Это роботы, которые нам нужны для испытаний. Первые промышленные роботы, работающие под нашим управлением, были производства крупной немецкой компании KUKA. Сейчас мы общаемся с компанией FANUC, но не напрямую, а опосредованно, через политех.

Робот производства LEGO Electronics, используемый для тестов языка.

 — В чем именно уникальность языка?
 — Самое ноу-хау — то, что язык находится не на одном уровне с роботом, а, получается, снаружи. Это одновременно и плюс и минус. Минус в том, что нет глубокой интеграции с роботом, мы выступаем как внешний автомат. Плюс — это то, что мы можем координировать действия роботов, даже тех, которые не имеют конструктивных предрасположенностей к этому. Например, у которых нет датчиков, позволяющих организовать линии связи друг с другом. Полностью слепых роботов мы можем организовать так, что они будут работать совместно. Наш язык знает, что есть один робот и есть другой робот, но два этих робота не знают друг о друге, и, тем не менее, выполняют общую задачу.

Язык RCML задает «задачу» роботу KUKA. Аналогичную задачу может выполнять любой робот, управляемый языком. Видео с выставки «Robotics Expo», где пермская команда презентовала свой ноу-хау.

— Вы упомянули о свободном доступе к языку. В чем ваша выгода как создателей продукта?

 — Мы зарабатываем на сторонних услугах, связанных с этим продуктом. Например, на разработке и добавлении в него функционала, или, когда требуется написать программу или драйвер. В плане монетизации мы преследуем аналогичную стратегию, как Google в отношении Android. То есть, Google разработал свободную оперативную систему, которую мог использовать любой производитель гаджетов. Получилось так, что теперь огромный рынок устройств работает под данной операционной системой. А у Google есть сервис распространения приложений под данную ОС. Если программа платная, то компания берет процент. У нас также. Только у нас это называется не Google Play, а «Репозиторий». Это виртуальная площадка, куда подключается наш язык. Это очень удобно для программистов. Например, программист придумал функцию закручивания гайки, описал эту программу и выложил в Репозиторий. И его программа стала доступна большому количеству роботов.

 — В каких сферах деятельности могут использоваться роботы, управляемые RCML?

 — Сам язык не имеет привязки к конкретной области деятельности, но, исходя из того, что мы активно работаем с KUKA, у нас есть перекос в область автомобилестроения и в стендовую сборку. Основная идея стендовой сборки — роботы находятся вокруг некой площадки стенда. Деталь неподвижна, а роботы ездят вокруг нее и выполняют работу. Стендовую сборку используют для собирания разовых очень больших конструкций, например, корабль. Чтобы выпустить один корабль, нет смысла строить конвейер, это очень дорого. Намного удачнее поставить стенд и организовать работу так, чтобы роботы работали вокруг него.

Тестовый полигон, где авторы проекта апробируют возможность стендовой сборки.

 — Но ведь человек тоже должен присутствовать при сборке?

 — На некоторых этапах — да. Остальное можно автоматизировать. Например, прописать команду: «колесо №1» разместить в таких-то координатах, «колесо №2 — в других». Этот набор инструкций есть язык RBL, а потом он переводится в язык RCML, то есть, в набор действий, которые робот должен совершить, чтобы собрать деталь/ Сборка этой конструкции будет не зависеть от типа робота, результат будет всегда неизменным.

Камера, приклепленная к «кисти» робота, снимает все, что происходит вокруг. Видео с выставки «Robotics Expo», где пермская команда презентовала свой ноу-хау.

 — Существует ли деление роботов на сложных и простых?

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

Как я уже сказал, больше всего мы ориентируемся на компанию KUKA. Кстати, наибольший интерес к нам проявляют сами пользователи роботов, начиная от ВУЗов, где преподают робототехнику, и заканчивая производствами, которые используют роботов. После запроса от ВУЗов, к примеру, мы начали создавать виртуального робота. Студентов много, а покупать промышленного робота, чтобы научиться его программировать, очень накладно. Можно научиться на виртуальном роботе, ведь все программы, которые студент пишет для него, будут работать и на реальной машине. Порог вхождения в язык RCML очень низкий, достаточно школьной программы, чтобы его освоить. В 135-й школе детей уже успешно обучили и они готовятся к поездке на соревнования в Москву. Там они представят стенд, который будет работать на нашем языке.

— Кроме школы №135 с какими образовательными учреждениями Перми вы сотрудничаете?

 — Из пермских школ, которые занимаются робототехникой, я выделил бы две. По моему мнению, лидер — это школа №135, они уже устраивают у себя олимпиады по робототехнике. Есть школа №10, которая начинает догонять 135-ю. У них есть внутренний робототехнический кружок и они от нас уже активно просят курс обучения. Среди ВУЗов — это политех, классический университет. Там уже есть крупные конгломераты, даже не на уровне кружка, а объединения из нескольких кафедр.

Промышленные роботы KUKA, работающие под управлением метаязыка.

— Как считаете, выгоднее содержать робота на производстве или человека?

 — Это зависит от производства. Сейчас на крупных предприятиях есть тенденция к уходу от человеческого ресурса. Там, где есть человек, есть и человеческий фактор, то есть, вероятность ошибки. Если производство дорогое, использует очень дорогие детальки, то там стараются уйти от работы, выполняемой человеком. Благодаря роботу можно наладить поточное производство 24/7. Робот не устает. И требования к окружающей среде, в которых он работает, намного мягче. Например, роботу не нужен кислород, ему совершенно без разницы на газовую среду. На вредном производстве, в условиях радиации, он хорошо себя чувствует. Мне известно, что в Гамбурге есть целый завод по производству автомобилей, там нет ни одного человека. 3,5 тыс. роботов занимаются сваркой и сборкой. Из-за этого воздух очень насыщен парами и организовывать условия труда для человека, особенно, по европейским стандартам, было бы очень дорого.

«Робот не устает. Ему не нужен кислород, ему совершенно без разницы на газовую среду».

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

— Расскажите о планах проекта?

 — Вообще, мы хотели придумать робота, который соберет сам себя в безлюдной среде: в космосе, на глубине океана, в арктических льдах. От этой идеи мы не отказались, хотим организовать конкурс на разработку такого робота. Этот конкурс будет открытым для всех, в том числе, ВУЗов и коммерческих структур.

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