Что такое робо-экономика и каким путем мы идем к ней уже в 2018 году? Как российские программисты создали основу того, что принято называть «Четвертой промышленной революцией»? «Роботовед» узнал ответы на эти вопросы у Михаила Тюлькина, директора RCML — компании, в которой разработали программное обеспечение нового поколения для промышленной робототехники.
Что такое RCML?
Изначально мы создавали RCML (Robot Control Meta Language) как язык программирования высокого уровня для промышленных роботов. С прошлого года RCML перестал быть языком. Теперь это не язык, а набор библиотек под другие популярные языки программирования — продукт видоизменился, но функционал остался тем же. Делать свой язык в какой-то момент стало дорого нам, а изучать новый язык вместо того, чтобы использовать тот, который они уже знают, — невыгодно клиентам.
Почему вы решили создать RCML для роботов?
Начали мы в 2014 году с идеи о том, что робототехника будет развиваться и будет трендом в будущем. Тогда мы с Дмитрием Суторминым решили что-то в этой области сделать. Но ни у него, ни у меня не было компетенции в робототехнике, мы оба программисты. К тому же, в аппаратной робототехнике сделано уже практически все: двигатели, электроника, механика, редукторы и так далее, — но не хватает интеллекта, «мозгов», которые этим всем смогли бы управлять. А за мозги отвечает именно программная составляющая. Поэтому мы решили сделать программный продукт для робототехники.
В качестве ориентира мы взяли задачу — придумать интеллект робота, который собирает себе подобного. И уже отталкиваясь от этой задачи, мы пришли к выводу, что роботу нужно объяснять, что делать и как пользоваться различными инструментами. Это может быть не один робот, а несколько, следовательно в этой группе роботов возникнет разделение труда, что тоже нужно каким-то образом осуществить.
Первоначально мы разработали особый язык как способ передачи знаний и навыков от человека роботу. Постепенно мы пришли потому, что все эти функции можно воплотить через стандартные языки. И чтобы не нагружать специалистов и программистов новым языком, мы обратились к стандартным языкам и дополнили их набором библиотек. RCML теперь не Robot Control Meta Language, а Robot Control Meta Library.
Совсем недавно, в 2016 примерно году, мы поняли, что почти вслепую удачно попали в тренд роботизации и то, что мы делаем, действительно будет востребовано.
Сейчас спрос только начинает формироваться, потому что адаптивные роботизированные ячейки по всем канонам Индустрии 4.0 начали появляться буквально в прошлом-позапрошлом году. Мы ожидаем, что спрос на роботов, а значит, и на подобные нашим продукты, будет расти. Роботы подешевеют, появится множество универсальных инструментов для роботов и робот-мастер-на-все-руки будет стоять в каждом супермаркете.
Как RCML работает на производстве? Как работают роботизированные манипуляторы на производстве сейчас, каждого робота программируют отдельно на его языке? В чем преимущество RCML?
В рамках концепции Индустрии 4.0 появилась возможность строить заводы иначе, не так как раньше. На традиционном заводе есть одна линия, и заготовка следует по конвейеру почти по прямой, из этапа 1 в этап 2. Траектории движения роботов всегда просчитывались жестко: робот делает одно и то же движение много раз, например прикручивает колесо к автомобилю, а за день таких автомобилей выпускается несколько тысяч. Чаще всего в одной ячейке работал один робот и выполнял одно действие. Каждый робот работал сам по себе.
Индустрия 4.0 ушла от такого конвейера к матричному производству. Матричное производство — это не линия, а сетка. В ней ячейки расположены не друг за другом, а в хаотичном порядке, в них работают мобильные универсальные роботы, где их количество может меняться. И каждый робот выполняет не одну операцию, а несколько, переключаясь между ними.
Во-первых, это позволило быстро наращивать и сокращать производство. Теперь не нужно заранее рассчитывать все технические показатели и возможности конвейера, сколько деталей необходимо, как их подвозить и вывозить. Если для выполнения заказа понадобится, например, много роботов-сварщиков, можно поменять приоритет задач и много роботов поедут в цех сварки. Так производство получается более гибким, резко снижаются риски, связанные с ошибкой планирования и риски, связанные с загрузкой или недозагрузкой производства. Производство даже малых партий уникальной продукции станет дешевле для производителей, а значит, и для потребителя.
RCML нацеливается на тот класс задач, где действие роботов, их траектории не детерминированы, не известны заранее, где траекторию нельзя просчитать, пока робот не начнет ее выполнять.
Универсальность часто означает «поверхностность». Можно ли так сказать и о RCML? Как вы добились того, чтобы софт направлял роботов разных брендов точно и без сбоев?
На производствах обычно работают роботы от одного производителя: 3-4 тысячи роботов — и все одной марки. RCML совместим с большинством роботов, и это позволяет нам продавать свой софт на разные заводы. Volkswagen, например, работает на роботах Kuka, а Hyundai на FANUC. И для тех, и для других RCML подходит одинаково хорошо.
Станет ли робот работать хуже или лучше с нашим софтом? По сути, RCML генерирует набор команд, которые роботу нужно выполнить. А за производительность и качество, точность и маневренность, скорость и реакцию все равно отвечает производитель робота, и мы на это никак повлиять не можем.
Существуют ли аналоги RCML? Если нет, то почему время универсального языка пришло сейчас: технологии «доросли», спрос появился?
Самый ранний известный мне аналог RCML — это RCL (Robot Common Language). Его пытались сделать в 2006 году в компании Kuka. Небольшой коллектив из специалистов компании и представителей вузов, приближенных к Kuka, пытались создать общий язык для программирования роботов. Я не знаю причины, но это у них тогда не получилось.
Сейчас нашим ближайшим конкурентом является ROS (Robot Operating System), но назначение RCML отличается. Разработчики ROS преследуют идею создания ПО, независимого от робота, а наша идея — создание технологии, независимой от робота.
Есть несколько компаний, которые тоже пытаются сделать универсальные средства программирования для роботов. Эти средства я бы назвал мостом: они позволяют передавать роботу команды не на его «родном» языке, а в унифицированном виде. Это DigiMetrix, разработавшая ряд модулей для системы LabVIEW. LabVIEW — система программирования промышленных роботов, в ней очень примитивный способ управления путем передачи сигналов — не высокоуровневые команды, а низкоуровневые. DigiMetrix устранил этот недостаток.
Одна из молодых компаний, немецкая Artiminds, тоже занимается модулями для программирования роботов. Они концентрируются только на коботах (сокращенное от английского collaborative robot) — это роботы, которые не заменяют человека на производстве, а работают вместе с ним.
Кто-то сравнивает наш продукт с продуктами Siemens. Такое сравнение имеет место: у нас есть контроллер, позволяющий управлять разными роботами, а в этом году Siemens объявил, что представит контроллер для соединения разных роботов и станков в одну сеть. Мы это сделали на полгода раньше.
С какими сложностями вы столкнулись при разработке языка? Какая задача оказалась самой сложной?
Самой сложной задачей для нас оказалась наша собственная некомпетентность. Когда мы начинали, мы считали роботами практически все. Железная рука на производстве — это робот, автономный автомобиль — это робот, дрон — тоже робот, как и кофеварка, стиральная машина и даже игрушка LEGO. Поэтому мы ориентировали свой язык на все эти виды роботов. Мы пытались бежать сразу во все стороны, сделать универсальный продукт, что и стало нашей ошибкой.
Вскоре оказалось, что все это принципиально разные устройства. Например, управление дронами и их координация — отдельный огромный мир, а программирование игрушек не вполне возможно чисто по техническим причинам, игрушки не имеют такой точности и надежности, как промышленная робототехника. Сервисные роботы находятся сейчас на грани технологического торнадо: много чего происходит, что-то «выстреливает», все шумит и бурлит, и рынок пока непрозрачный.
Единственный рынок, относительно устоявшийся и понятный — промышленная робототехника. В этом направлении мы и работаем, отсеев остальные. Недавно мы ушли от идеи создания универсального языка и начали работать в более узкой теме — разрабатывать набор библиотек. Думаю, что в дальнейшем мы еще больше сузим специфику продукта, чтобы лучше подходить нашей аудитории.
Планируете ли вы когда-нибудь работать не только с промышленными роботами, но и в других направлениях: социальная, образовательная, медицинская робототехника?
В новые сферы мы бы пошли, если туда выйдут и промышленные роботы. Уже сейчас промышленные роботы работают и в социальной сфере, и в медицинской, и в образовательной. Если разделять роботов по классам, то ближайшая к нам ниша — мобильные роботы, скрещенные с промышленными, например KMR iiwa, робот на подвижной платформе.
Считаете ли вы, что будущее за роботами и робототехника существенно потеснит человека во многих профессиях?
Робототехника окажет огромное влияние не только на профессиональную деятельность человека, но на социальную и экономическую стороны жизни. Сейчас мы сделали основу для взаимодействия роботов друг с другом, а в будущем это взаимодействие станет коммерческим. Роботы смогут выбирать, с какими роботами им выгоднее всего выполнять задачи на том же заводе, запоминать, какими инструментами они решают задачу быстрее и качественнее.
Так возникнет робо-экономика. Сначала в рамках предприятия: роботы сами между собой разделят поступивший заказ и каждый получит оплату на свой личный счет. Затем возникнет робо-социум. Вначале также в рамках предприятия. Пример: для закручивания гаек робот привлекал других роботов и заметил, что с каким-то конкретным роботом этот процесс был быстрее, и маржинальность работы с ним была выше. Когда к этому роботу поступит подобный заказ, он будет стараться привлечь того же партнера. Таким образом, у роботов возникнут прочные взаимосвязи, чем-то напоминающие дружбу, но основанные на чисто экономическом подходе.
Если действия робота будут легализованы как действия экономического агента, либо агента неживого, но имеющего такие же права, свободы и обязанности, как у людей, то робо-экономика и робо-социум смогут выйти за пределы предприятия и взаимодействовать не только между собой, но и с людьми. Например, в торговом центре работает робот-автомат по продаже сахарной ваты. Он производит для людей вату, люди платят на его личный счет. На эти средства робот покупает у торгового центра электричество и сахар и работает дальше. Если его бизнес удачный, постепенно средства на его счете растут — робот может покупать себе программные обновления, новые улучшенные инструменты для приготовления сахарной ваты и заниматься не только ватой, а расширять ассортимент: продавать еще и мороженое или шарики. Если же его экономическая стратегия окажется неудачной, он просто не сможет платить за электричество и перестанет работать.
Это приведет к тому, что люди дадут искусственному интеллекту право определять экономические стратегии и осуществлять их. В условиях робо-экономики возможно появление таких бизнес-моделей, таких экономических ходов, которые нам пока не предугадать, так же как и то, как изменится наша настоящая экономика. Возможно, люди станут не главной частью, а придатком этой экономики, и людям это будет выгодно.
Поделитесь планами на будущее.
Мы будет расширять базу роботов, с которыми наша система совместима. Сейчас PCML может работать с самыми крупными игроками, которые заняли 85% рынка: Kuka, FANUC, ABB и Yaskawa. Планируем подключиться к Kawasaki Heavy Industries, Mitsubishi Robotics, роботам Omron, FLX.ARM, Universal Robots.
С точки зрения функционала — планируем увеличить количество интеллектуальных элементов в нашем софте: разработать систему прокладки траекторий, систему принятия решений и прогнозирования результата, систему накопления роботом опыта взаимодействия с другими роботами.
Кем вы мечтали стать в детстве? Что вы порекомендуете школьникам, которые хотят выбрать профессии, связанные с робототехникой?
В детстве я мечтал стать изобретателем и регулярно конструировал, делал разные штуки с разным успехом. Например, экологические проекты, направленные на предупреждение загрязнения окружающей среды — переработка вредных газов, мусора. Много внимания уделял транспорту, вездеходам, которые могли преодолевать различные препятствия с перепрыгиванием и перелетом препятствий. От конструирования я ушел в программирование, поскольку с помощью софта можно улучшить имеющееся «железо», сделать изобретение более эффективным, не меняя аппаратную часть.
Советую не зацикливаться на конструкторах и решении задач по инструкции, а находить ответы с помощью инструментов и навыков, освоенных при работе в школе или в кружках. Это осязаемый полезный результат, который будет давать веру в себя и стимулировать развитие.
Читать также:
Игорь Марчак: «Между учениками 2014 и 2017 годов огромная пропасть»
Игорь Жаборовский («Инфоурок»): «Онлайн-образование никогда не заменит школу»