Подготовка к международным битвам роботов
Опыт двух команд «Сколтеха», которым удалось достичь успеха на состязаниях.
Первые в Европе
В начале марта в городе Лемго (Северный Рейн-Вестфалия, Германия) прошёл крупнейший европейский хакатон, посвященный «Индустрии 4.0» — Factory Hack 2017. Организатор хакатона — Университет прикладных наук Ostwestfalen-Lippe (OWL) — авторитетное учебное заведение Германии в направлениях автоматизации, электроники и современного производства.
В 2016 году совместно с Fraunhofer Application Center Industrial Automation была открыта исследовательская и демонстрационная площадка SmartFactoryOWL, нацеленная на внедрение новых ИТ-решений в реальные проекты. Она же стала местом проведения хакатона Facktory Hack.
В хакатоне приняли участие более 50 команд из разных стран, в каждую команду входило по 3–5 человек. Россию на соревнованиях представляла команда робототехников из «Сколтеха» и МГТУ им. Н.Э. Баумана — VLF10. Команда участвовала в первый раз, что не помешало ей занять первое место.
Состав команды: Дмитрий Ермаченков (Skoltech, Space), Андрей Сартисон (Skoltech, Space), Владимир Глазачев (Skoltech, IT), Александр Рудых (МГТУ им. Баумана) и Тамаш Фазли (МГТУ им. Баумана).
Капитан команды Дмитрий Ермаченков рассказал vc.ru, с чего все начиналось и как удалось победить на Facktory Hack.
Далее прямая речь.
Ещё во время учебы в Бауманке я и трое моих друзей создали команду для участия в инженерных соревнованиях. Поначалу это были локальные хакатоны в университете. Потом мы начали ходить на все более-менее интересные конкурсы по нашей тематике. Позже двое из нас поступили в магистратуру «Сколтеха», где мы познакомились с Владимиром Глазачевым. Тамаш и Александр продолжили обучение в «Бауманке». С тех пор мы выступаем на командных мероприятиях впятером.
У всех нас разные навыки — мы умеем проектировать и программировать различные системы — на низком и на высоком уровне. Один человек отвечает за веб-приложения, ещё один — за механику и дизайн продукта. Команда имеет большой опыт участия в соревнованиях.
Правда, до FactoryHack мы выигрывали лишь дважды — первое место на хакатоне «интернета вещей» от IBM в «Бауманке» и первое место в направлении Intelligent Buildings на Junction 2016 в Хельсинки — крупнейшем хакатоне Европы. Там наше решение стало лучшим в одном из десяти направлений, и мы вошли в топ-10 из 300 команд.
У нас есть стратегия, распределены роли — каждый знает, что он делает. Я отвечаю за программирование и за бизнес-составляющую. Это немаловажно, потому что надо не просто сделать «абстрактного коня в вакууме», нужно создать рабочий прототип сервиса или приложения и показать, как и для чего он может применяться, в чём ценность идеи.
Часть нужных навыков я приобрел в «Сколтехе» во время Innovation Workshop — это такая «кузница инноваций» в начале обучения, где студентов учат основам ведения бизнеса — от создания команды до юридических аспектов, стратегии, базовых понятий венчурного рынка.
Мы в команде обычно ищем информацию о предстоящих хакатонах. У каждого свои каналы, по которым мы узнаем о предстоящих событиях. Кто-то из нас нашёл Factory Hack, мы обсудили, насколько это интересно. Был вариант поехать на другое соревнование — в Испанию. Но там был хакатон более общего плана, а в Германии мы увидели возможность поработать именно с индустриальными роботами.
Мы обратились в нашу лабораторию интеллектуальной космической робототехники в «Сколтехе», чтобы понять, поддержит ли нас наш научный руководитель, Дмитрий Олегович Тетерюков. Промышленные роботы — это как раз наша тематика, и он был полностью «за». Благодаря его поддержке «Сколтех» помог троим участникам нашей команды покрыть расходы на поездку в Германию.
Цель Facktory Hack состояла в том, чтобы решить какую-либо задачу направления «Индустрия 4.0». Нужно было создать сервис или алгоритм, которые помогут автоматизации промышленности. Мы рассматривали разные идеи. Но уже на месте, осмотрев доступные ресурсы SmartFactoryOWL, мы остановились на разработке прототипа автоматизированной системы для создания мозаики по изображению.
Представляете мозаику — к примеру, в метро? Для её создания используется изображение, состоящее из многих элементов различных форм и размеров. Эти элементы изготавливаются, например, из стекла. Как происходит процесс: художник рисует картину или дизайнер берёт готовое изображение, которое надо перенести на поверхность, нарезав элементы из стекла. Круги, квадратики, треугольники надо сложить вместе таким образом, чтобы получилось изображение. Из этого можно складывать и сложные картины.
Проблема в том, что сейчас на создание одного метра такой мозаики уходит около месяца.
Роботы и промышленные системы, которые существуют сейчас, могут это делать только в виде пиксельных изображений — как в компьютерных играх на заре 90-х. Есть жесткая прямоугольная сетка, в которую можно разложить квадраты определенных цветов. Создать шедевр или просто абстрактную красивую картинку в такой технике — нельзя. Для этого нужен труд человека, чтобы нарезать и раскладывать элементы изображения с использованием различных художественных приемов.
Мы решили сделать так, чтобы машина могла вырезать элементы произвольной формы и раскладывать их не пикселями по сетке, а свободно. Для начала мы попробовали сделать систему, которая будет оперировать элементами простых форм, но располагать их друг относительно друга различным образом — поворачивать их. То есть на выходе мы получаем не жёсткую сетку, а более объёмное изображение из квадратов. К этому мы прикрутили сервис, который позволяет загрузить картинку и воспроизвести её с помощью промышленного робота.
За 36 часов мы разобрались, как управлять промышленным роботом Kuka KR6, с которым не работали ранее. С точки зрения управления эти роботы оказались довольно сложными, но с возникшими вопросами нам помогали организаторы хакатона. В итоге мы смогли изготовить мозаику — элементы были напечатаны на 3D-принтере, мы сами раскрасили их, а робот выложил изображение.
После первой оценки жюри Factory Hack мы вошли в топ-6 команд из 50. Шестерка лучших выступала со своими проектами перед остальными участниками хакатона. В результате наша команда заняла первое место.
Industrial Hackening @FactoryHackTeam VLF10: Winner Jury Award #FactoryHack! Kindly sponsored by @PhoenixContactV Congratulations:-) #hackathon https://t.co/ET3MtDpsJO
Sun Mar 05 14:35:24 +0000 2017
Второе место получила команда, занимавшаяся проектом по оценке жизненных характеристик рабочих на фабрике. Третье место досталось проекту «производства, как сервиса», в основе которого лежала технология блокчейн.
Наш проект Tyler не просто помог нам победить в хакатоне. Он развивается в реальный стартап. Мы видим применение нашей технологии в дизайне интерьеров. Хотим научить робота создавать свободные от сетки изображение — например, лица, цветы, абстрактные картины.
Рынок для таких решений достаточно большой. Уже сейчас у нас есть договоренности с двумя крупными дизайнерскими студиями. Когда мы закончим прототип системы, они готовы сделать несколько тестов на своих проектах. Одна из них базируется в Москве, но работает по всему миру. Вторая — всемирно известное архитектурное бюро Herzog & de Meuron, которое проектировало, к примеру, новый кампус «Сколтеха», а также олимпийские объекты в Пекине.
Минимально работающий прототип (MVP) Tyler будет готов к маю. Он не сможет вырезать элементы мозаики — их мы будем производить на другом станке. Но выкладывать их будет уже наш робот. Сейчас у нас готово ПО, которое размечает картинку и делает модель изображения. Мы дорабатываем хардверную часть — то есть самого робота.
Пока нам помогает только наша лаборатория. Проект является частью другого, большого проекта — Recybot, — который разрабатывается при поддержке совместного гранта программы The Next Generation Program в рамках сотрудничества «Сколтеха» и MIT. Его цель — создание системы роботов для разборки электроники, например, смартфонов.
Робот, разрабатываемый нами в Tyler, сильно пересекается с изготовленным нами для проекта Recybot. Поэтому большая часть компонентов — около 90% — приобретены нашей лабораторией в счёт гранта. Плюс один из участников нашей команды выиграл программу «Умник» Фонда содействия инновациям. Они дают 500 тысяч рублей на два года на развитие. Я надеюсь, что к лету все необходимые документы будут подписаны, и мы получим эти деньги в своё распоряжение.
После MVP, в процессе которого мы делаем робота-раскладчика, нам предстоит второй этап. Он должен закончиться к октябрю этого года, и результатом станет готовая система, включающая робота-резчика, робота-укладчика и полноценную версию редактора изображений.
Когда всё будет готово, мы займёмся поставкой наших роботов в дизайн-бюро и фирмы, которые занимаются отделкой помещений, а также в магазины, специализирующиеся на оформлении пространств.
Лучший дебютант
Робототехнические соревнования Eurobot, ежегодно проходящие в европейских городах вот уже 20 лет — один из наиболее популярных и зрелищных конкурсов роботов. На международный финал конкурса съезжаются команды со всей Европы (и не только). В 2016 году были представлены команды из Франции, Бельгии, Швейцарии, Сербии, Румынии, Венгрии, Великобритании, Германии, Польши, Испании, Канады, Туниса и России.
Для того, чтобы попасть на международные соревнования, командам сначала требуется победить в региональном отборе. Победителем российского этапа Eurobot 2016 стала команда reSET.
В команду вошли студенты «Сколтеха»: Олег Шипитько, Евгения Юрьева, Марко Симич, Сергей Голованов, Алексей Постников, Александр Петровский, Александр Меньщиков и ментор Алексей Гонноченко.
Капитан команды Олег Шипитько рассказал, почему команда не смогла одержать победу на международном финале, но получила звание «лучший дебютант».
Далее прямая речь.
Идея поучаствовать в Eurobot-2016 пришла к нам из робоцентра ИТ-кластера «Сколково». Один из менеджеров кластера Алексей Гонноченко предложил подготовить команду к международным соревнованиям. Мы посовещались Алексеем Постниковым, с которым вместе учились в «Бауманке», вместе поступили в «Сколтех» и решили участвовать.
Мы начали искать тех, кто мог бы войти в команду. Довольно быстро к нам присоединились Сергей Голованов и Александр Петровский, с которыми мы делали свой первый робототехнический проект в «Сколтехе», затем ещё пара человек. В середине года в команду вошел студент «Сколтеха» из Сербии Марко Симич.
Для соревнований нам надо было разработать сразу двух роботов. Поэтому мы сразу разделились на две подкоманды. В каждой назначили по одному человеку, отвечающему за механику — конструирование всех манипуляторов, корпуса робота. Также в каждой подкоманде был человек, отвечающий за программирование нижнего уровня — работу со всеми сенсорами, моторами.
На обе части у нас был один программист логики верхнего уровня — Евгения Юрьева. Я стал капитаном команды, потому что от меня исходила инициатива, плюс я готов был взять на себя менеджерские обязанности — организацию всего процесса подготовки.
Задания Eurobot всегда анонсируются в октябре, а финалы — региональный и международный — проходят в апреле и мае. Так что на подготовку у нас было шесть или семь месяцев. Какое-то время ушло на включение в работу — мы должны были понять, что мы вообще делаем.
Было тяжело, потому что не было никаких наработок — пришлось всё делать с нуля. Сроки были сжатыми, поэтому нам приходилось работать на выходных и по ночам.
Есть команды, которые уже имеют опыт подготовки к таким соревнованиям, и у них, наверное, уходит меньше времени на некоторые вещи. Но у нас такого опыта не было. Однако здесь нам помогал богатый опыт участия в робототехнических соревнованиях нашего ментора Алексея Гонноченко и постоянная поддержка и помощь руководителя нашей лаборатории Дмитрия Тетерюкова.
Соревнования Eurobot заключаются в том, что каждая команда представляет одного или двух автономных роботов, чаще всего это мобильные роботы. Они выступают на игровом поле — большом столе два на три метра, на котором расположены различные игровые элементы, препятствия. Стол каждый год один и тот же, а вот игровые элементы и, следовательно, задания — меняются.
Каждый год на конкурсе выбирается некая забавная тематика, чтобы зрителям было интересно наблюдать за соревнованиями.
В 2016 году темой был пляжный отдых. Роботы должны были ловить рыбу в аквариуме — естественно, пластмассовую, собирать «песок» — пластиковые кубики, переносить «ракушки» — шайбы разного цвета. Причём нужно было находить на поле и брать шайбы только определённого цвета и привозить в зону своей команды.
Мы сконструировали двух мобильных роботов, которые могли автономно перемещаться по полю, понимать своё местоположение, решать задачи навигации — прокладывать путь из одной точки в другую, производить манипуляции с объектами.
Такие соревнования часто не воспринимаются всерьез — Eurobot нацелен на широкую публику и для многих носит, в общем-то, развлекательный характер. Но по сути, готовя роботов к такому соревнованию, инженер проходит все этапы разработки робототехнического проекта: подготовка, проектирование, сборка, тестирование. Важно, что все задания Eurobot «основаны на реальных событиях» — они отражают то, что на сегодняшний день способны делать роботы.
Возьмём задачу с кубиками, которую мы решали на конкурсе. Нужно найти объект, поднять, переместить, поставить. Сейчас мы реализуем большой проект, связанный со складской логистикой, и те наработки, которые мы получили к Eurobot, применяем к реальным коробкам на складе.
Или навигация, которая позволяет роботу определять своё местоположение и передвигаться из точки «А» в точку «Б» — она же используется в серьёзных робототехнических проектах. Принципы — те же самые, разные только масштабы. Конечно, системы претерпевают некую доработку, но набор задач остается таким же.
Мы на практике прощупали весь процесс от начала до конца — от технического задания до готовых железных роботов. И это было очень интересно. Мы заказывали изготовление деталей по нашим чертежам на производстве, сами делали некоторые детали, поскольку в «Сколтехе» есть производственная база. Мы убедились, что некоторые вещи, работающие в теории, на практике не работают.
Eurobot — соревнования с историей. Впервые они прошли в 1998 году. А мобильные роботы — очень обширная и популярная тема, привлекающая много участников. Но самое, наверное, важное — каждая команда, даже новичок — может достойно выступить, если подготовит действительно классных роботов.
Во многих других соревнованиях побеждают в основном одни и те же команды, которые по 20 лет разрабатывают и дорабатывают свои технологии. На Eurobot все не так.
В российском финале было около десяти команд очень разного уровня. Кто-то за пару недель собрал простого робота и пришел поучаствовать ради развлечения. Другие подходили очень серьёзно. Возраст, подготовка — всё отличалось.
Почему мы победили в российском этапе? Наверное, потому, что усиленно готовились. Мы изначально решили, что не хотим делать простых роботов. Идея заключалась в том, чтобы сделать сложных роботов и чему-то научиться в процессе. При этом в технических соревнованиях чаще побеждают простые решения — топорные, но надежные.
Чем сложнее робот, тем выше вероятность, что что-то не сработает. Мы пытались найти некий баланс, но, тем не менее, наши роботы получились очень сложными. Это стало одной из причин того, что мы не вошли в тройку призёров в Европе — не успели как следует отладить свои решения. Но в России это сыграло на нас.
На международном финале традиционно сильны команды из Франции. В стране есть команды, которые стояли у истоков Eurobot — с ними действительно сложно соревноваться, у них богатый опыт и огромная база наработок. Но и на международном финале уровень команд был очень разным. Хотя в основном, конечно, были сильные ребята.
На международном этапе сначала проходят отборочные матчи, по результатам которых выбирается 16 лучших команд из 50. На отборе не так важно, побеждаете вы или проигрываете. Важно, сколько очков за матч вы набираете. К этому мы не были готовы — мы были нацелены на победу в каждом матче, но не очень задумывались о количестве очков.
Почти во всех отборочных матчах мы победили, но по сумме очков среди отобранных команд заняли только 13 позицию. В итоге в финале нам сразу выпали сильные соперники. Мы стали 13-ми и в общем зачете. Это, конечно, не победа, но нас наградили званием «лучший дебютант». Урок, который мы вынесли — нужно иметь две стратегии, одну для отборочных матчей и одну для финала.
Вообще, уроков получили много. Важно помнить, что роботы ломаются. Техника выходит из строя. И нужно при этом сохранять хладнокровие. Один раз наш робот сломался за пять минут до матча. За это время надо было понять, в чем проблема и устранить ее.
Многие инженеры в такой момент начинают паниковать — этого делать нельзя ни в коем случае. Этот опыт мы тоже вынесли и, конечно, используем его и для будущих соревнований, и для реальной жизни.
В этом году тема Eurobot — «Поселение на Луне». Конкуренция ещё жестче, команд зарегистрировалось гораздо больше. Моя команда сейчас работает над коммерческим проектом по автоматизации складских помещений совместно с компанией RoboCV, у нас есть жёсткие сроки, поэтому в конкурсе не участвуем. Но мы помогли собрать для Eurobot новую команду из первокурсников «Сколтеха».
Мы сами стали менторами, и теперь рассказываем, какие технологии мы использовали, какие ошибки совершили и какие лайфхаки можно применить.
© vc.ru