10 пермяков за один год разработали открытый язык программирования Robot Control Meta Language (RCML), с помощью которого можно кооперировать между собой роботов разных производителей, не ориентируясь на техническую «начинку» конкретных машин и их особенности. Беседуем с кандидатом технических наук, руководителем проекта Robot Control Technologies Михаилом Тюлькиным о «ноу-хау» пермских программистов и будущем робототехники.
— Михаил, расскажите, что такое язык RCML?
— Суть его идеи — независимость алгоритма, описанного на этом языке, от робота. Допустим, есть два робота. Один робот с одной рукой, другой — с двумя руками и произведен другой фирмой. У каждого робота есть свой драйвер. Через него команда, описанная на языке RCML, передается в язык, понятный каждому роботу в отдельности. Это не язык, на котором робот общается, а язык, который робот понимает.
— Сколько человек трудились над проектом?
— Нас примерно десять человек. Человек семь — это программисты. Непосредственно над языком работает человека два-три. Остальные — те, кто работает над хранилищем (данных — Properm.ru), разработкой драйверов. А еще у нас есть отдельный человек, который занимается разработкой виртуальной среды для роботов, наблюдаемых на экране компьютера. Мы называем продукт, который он делает, «визуализатор».
— Когда началась разработка языка?
— Сама идея появилась довольно давно, но официальным стартом разработки можно назвать апрель 2014 года. В ноябре 2014 года произошла апробация. Это было в Москве, на выставке «Robotics Expo II» в Сокольниках.
— За этот год сколько роботов было адаптировано к RCML?
— Любой производитель может взять с нашего сайта документацию и в любое время подключить робота. Мы не накладываем никаких ограничений на использование языка. Доступ к нему бесплатен для любого использования, в том числе, коммерческого.
Наша идея в плане отношения с робототехниками такова: мы предлагаем, чтобы они сами подключали наш язык к своим роботам. Мы лишь описываем, чем должен обладать их интерфейс, чтобы он подключился к нашей системе. Есть роботы, которым мы сами написали драйвера и сами подключили. Это роботы, которые нам нужны для испытаний. Первые промышленные роботы, работающие под нашим управлением, были производства крупной немецкой компании KUKA. Сейчас мы общаемся с компанией FANUC, но не напрямую, а опосредованно, через политех.
— В чем именно уникальность языка?
— Самое ноу-хау — то, что язык находится не на одном уровне с роботом, а, получается, снаружи. Это одновременно и плюс и минус. Минус в том, что нет глубокой интеграции с роботом, мы выступаем как внешний автомат. Плюс — это то, что мы можем координировать действия роботов, даже тех, которые не имеют конструктивных предрасположенностей к этому. Например, у которых нет датчиков, позволяющих организовать линии связи друг с другом. Полностью слепых роботов мы можем организовать так, что они будут работать совместно. Наш язык знает, что есть один робот и есть другой робот, но два этих робота не знают друг о друге, и, тем не менее, выполняют общую задачу.
— Но ведь человек тоже должен присутствовать при сборке?
— На некоторых этапах — да. Остальное можно автоматизировать. Например, прописать команду: «колесо №1» разместить в таких-то координатах, «колесо №2 — в других». Этот набор инструкций есть язык RBL, а потом он переводится в язык RCML, то есть, в набор действий, которые робот должен совершить, чтобы собрать деталь/ Сборка этой конструкции будет не зависеть от типа робота, результат будет всегда неизменным.
— Как считаете, выгоднее содержать робота на производстве или человека?
— Это зависит от производства. Сейчас на крупных предприятиях есть тенденция к уходу от человеческого ресурса. Там, где есть человек, есть и человеческий фактор, то есть, вероятность ошибки. Если производство дорогое, использует очень дорогие детальки, то там стараются уйти от работы, выполняемой человеком. Благодаря роботу можно наладить поточное производство 24/7. Робот не устает. И требования к окружающей среде, в которых он работает, намного мягче. Например, роботу не нужен кислород, ему совершенно без разницы на газовую среду. На вредном производстве, в условиях радиации, он хорошо себя чувствует. Мне известно, что в Гамбурге есть целый завод по производству автомобилей, там нет ни одного человека. 3,5 тыс. роботов занимаются сваркой и сборкой. Из-за этого воздух очень насыщен парами и организовывать условия труда для человека, особенно, по европейским стандартам, было бы очень дорого.
— По тенденциям в промышленной робототехнике очевидно, что происходит переход из крупной сферы в малый и средний бизнес. Сектор крупной промышленности начинает «тормозиться» в плане робототехники, а малый и средний бизнес его начинают догонять. Однако малый бизнес ориентирован на мелкосерийное производство, поэтому там нужна быстрая перестройка под новые условия работы. И здесь наш язык особо выгоден, поскольку роботы быстро меняются, а одна и та же написанная программа работает и с тем, и с другим, и с третьим.
— Расскажите о планах проекта?
— Вообще, мы хотели придумать робота, который соберет сам себя в безлюдной среде: в космосе, на глубине океана, в арктических льдах. От этой идеи мы не отказались, хотим организовать конкурс на разработку такого робота. Этот конкурс будет открытым для всех, в том числе, ВУЗов и коммерческих структур.
Сейчас мы работаем над языком команд сборки RBL, пытаемся перейти от лабораторных и чисто виртуальных сборок в реальный мир. К концу этого года на одной из выставок, посвященных робототехнике, мы хотим заставить нескольких роботов из отдельных брусков строить домик, чтобы показать, что автоматизированная стендовая сборка возможна, например в строительстве.