Selectel развернул 100 виртуальных машин для программирования роботов

x7eynqzjoip2uvh9la1pn-vzbqq.png

Завершился четвертый сезон олимпиады «Я — профессионал», на который зарегистрировались 576 012 студентов из 348 вузов России. Selectel стал одним из партнеров трека олимпиады «Робототехника», который курирует Университет ИТМО. Около 70 участников полуфинала решали практические задачи олимпиады на облачных серверах провайдера. Рассказываем, какие мощности помогли студентам настроить автопилот квадрокоптера и запрограммировать коллаборативного робота.

Впервые дистанционно


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

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

«В олимпиаде «Я — профи» участвуют ребята из 72 регионов. Мы не могли сказать, что им придется выполнять непростые технические задачи на своих компьютерах. У всех разные условия, разные компьютерные мощности. Работа на личном ПК могла стать ограничивающим, даже дискриминирующим ребят из регионов требованием»,  — рассказывает Сергей Колюбин.

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

Общее количество участников, зарегистрировавшихся на трек, составило 5600 человек, из них в полуфинал прошли 236 студентов. Организаторам из ИТМО понадобилось 100 виртуальных машин, чтобы обеспечить ими всех желающих. Все облачные мощности Selectel предоставил безвозмездно. Требование к одной «виртуалке» сводилось до 8-ядерного процессора, 32 ГБ оперативной памяти и SSD-диска на 30 ГБ.

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

Техническое окружение в docker-контейнере


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

Формирование контейнера с программной средой, необходимой для решения задач олимпиады, стало интересным челленджем для организаторов трека «Робототехника». В docker-контейнер «упаковали» операционную систему для роботов ROS (Robot Operating System), навигационный стек программ, стек по обработке информации. Сюда же добавили сцены моделирования, созданные под Gazebo (симулятор трехмерной робототехники с открытым исходным кодом).

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

Еще одна, более мощная виртуальная машина (32 ядра, 128 ГБ RAM, SSD-диск на 500 ГБ) понадобилась для мастера проверки решений, или «судьи». Он стал частью двухступенчатой проверки проектов участников. Автоматизированный «судья» прогонял все присланные решения участников (сценарии задач отличались) и давал им определенную оценку. Также дополнительно проводилось ревью кода, этим занимались уже люди, а не машины. Таким образом, машина занималась оценкой формальных критериев, а люди рассматривали качество проработки кода, документированность, сложность технологических решений.

«В итоге никаких нареканий к проведению полуфинала с технической точки зрения не было. Если какие-то сложности у участников возникали (а их по пальцам одной руки можно пересчитать), они оперативно решались. Результаты этого полуфинала выгодно отличаются от результатов прошлых лет. Раньше участники высказывали мнение, что они поставлены в неравные условия: студенты из Москвы и Санкт-Петербурга получали компьютеры одной мощности, а ребята из Владивостока, Томска, Екатеринбурга работали с более слабой техникой. Один и тот же код компилировался дольше, а значит, кто-то успевал завершить 100 итераций по отладке, пока другой участник за то же время завершал только 50. В этом году таких ситуаций не было»,  — рассказывает Сергей Колюбин.

Какие задачи решали


В олимпиаде «Я — профессионал» участвуют студенты бакалавриата и магистратуры. Так как уровень подготовки у них разный, задачи тоже отличались.

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

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

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

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

nbjggz6qgzed0uyo4ftfj6yzzou.jpeg
Промышленный робот для нанесения клея

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

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

Кто оценивал проекты


Студенты, чьи решения получили наивысшую оценку, прошли в финал. Здесь им нужно было защитить свой проект перед членами жюри и ответить на их вопросы. Как отметил организатор соревнования, в жюри намеренно позвали больше представителей компаний, так или иначе связанных с IT или робототехникой, чем членов академического сообщества. Из 15 представителей жюри было лишь четыре профессора. Все остальные — сотрудники технологических компаний, в числе которых — Selectel, StarLine, «РЖД», «Лаборатория робототехники Сбербанка», «Таурас-Феникс» и другие.

Проекты студентов бакалавриата оценивал и Александр Тугов, директор по развитию услуг Selectel.

«Решения участников олимпиады дали понять две вещи. Во-первых, такие мероприятия — хорошая возможность для ребят применить университетские знания на практике. Было бы здорово проводить подобные соревнования регулярно в течение года. Тогда ребята будут чувствовать себя увереннее, начнут предлагать более смелые решения. По многим проектам было заметно, что студенты пытаются остаться в комфортной для них зоне простых алгоритмов. В итоге ребята не использовали ML-инструменты, очень ограничивали себя в выборе готовых библиотек. Просто потому, что боялись вступать на неизведанную территорию. Предположу, что сковывало их и ограниченное время. Хотя ребята толковые, поэтому уверен, что большее количество времени и гибкие способы оценки проектов подняли бы решения на новый уровень.

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

Организаторы из ИТМО, в свою очередь, рассматривают возможность проведения подобных соревнований регулярно, в партнерстве с технологическими лидерами. Сейчас у них есть не только опыт проведения массовых соревнований, но и технологический «продукт», docker-контейнер, который можно масштабировать и затачивать под задачи компаний-партнеров. Все упирается в поиск заказчиков, готовых предлагать такие челленджи.

Облачные технологии для образования


Вынужденный дистанционный формат олимпиады подсказал организаторам новый выход из существующих ограничений. Теперь оргкоманда обдумывает возможность использования виртуальных машин и в следующих «сезонах» олимпиады «Я — профессионал».

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

Предоставление облачной инфраструктуры для технических соревнований — уже привычный кейс для Selectel. Так, ранее виртуальные серверы и «Облачные базы данных» были полезны участникам хакатона AgroCode (лучшие инновационные решения для агропромышленности) и Travel Hack — масштабного хакатона по теме цифровизации индустрии туризма и гостеприимства Москвы.

-m6phw1tgk4lxk093dgjum9m-0y.jpeg
Moscow Travel Hack. Источник

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

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

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

Об олимпиаде «Я — профессионал»


-z7e5g4etzo6my1yxvnaw6djobe.jpeg
Церемония награждения медалистов Всероссийской олимпиады «Я — профессионал». Источник: пресс-служба олимпиады

«Я — профессионал» — это масштабная образовательная олимпиада нового формата для студентов разных направлений подготовки: технических, гуманитарных, естественно-научных, педагогических, аграрных и медицинских. Задания для участников составляют эксперты из ведущих российских вузов и крупнейших компаний страны. Дипломанты «Я — профи» смогут воспользоваться льготами при поступлении в магистратуру, например, в крупнейшую магистратуру по робототехнике в России, или аспирантуру и пройти стажировку в крупной профильной компании. Медалисты олимпиады также получают денежные премии от 100 до 300 тысяч рублей.

1hdqmj1bvguax5hnugdz0ci_jbw.jpeg

© Habrahabr.ru