
Всего две недели назад прошел первый хакатон по сборке и программированию ROS2 робота, где робототехники создавали и воспроизводили ROS2 роботов. В этой статье расскажем про победителей и как это было.
Идея проведения хакатона родилась по итогам стратегической сессии «Актуальный статус и перспективы образовательной робототехники в российской федерации», которая прошла в ноябре 2024 года. Площадка Сбера объединила более 120 экспертов — представителей министерств, вузов, колледжей и школ, робототехнических лабораторий, отраслевых компаний и ассоциаций. Участники обсудили, кто и как должен обучать робототехнике, а также сформулировали предложения по интеграции робототехники в образовательные программы для школьников и студентов. Из обсуждений в ROS-сообществе родились два проекта: народный ROS2 курс и народный ROS2 робот.
Продолжение разговора будет в дискуссии на ROS Meetup 26 апреля, а также интереснейшие доклады и нетворкинг, демо шагающих роботов, обязательно регистрируйся и приходи!
Наша цель — проработать ROS2-робота для старших классов школ и университетов. Чтобы он помогал изучать современные технологии при минимальной стоимости компонентов(от 10 до 30 тысяч рублей) и простоте сборки. А также чтобы был потенциал модернизации для участия в соревнованиях.
Компоненты для сборки робота должны быть доступны для покупки в Китайских или Российских интернет магазинах. Конструкционные элементы печататься на 3D принтере, вырезать из фанеры на лазерном резаке или доступных боксов которые можно купить в магазине.
Сама сборка из компонентов должна проходить по пошаговой инструкции за 2-3 часа, имеется в виду что до начала сборки все детали у вас уже лежат на столе, конструкционные детали распечатаны и обработаны. Пока мы этого времени не достигли, но будем стремиться.
Чтобы ROS2 завоевал популярность в учебных заведениях, мы считаем нужно создать эталонные учебные материалы на уровне LEGO и других хороших учебных программ. Поэтому самой главной задачей хакатона мы ставим создание хороших инструкций, документаций, репозиториев с исходным кодом и всем необходимым для сборки и программирования робота. Также важно чтобы эти инструкции были настолько полными и воспроизводимыми что даже школьник 8-11 класса по ним мог собрать и запрограммировать робота выполнять простую задачку навигации с лидаром по карте за 4 часа от разложенных деталей на столе до проезда лабиринта.
Поэтому у нас разработан подробный регламент хакатона именно под написание документации в хорошо оформленном репозитории. С каждым годом проведения таких хакатонов, количество репозиториев с роботами будет расти, что сделает вклад в российское образование по робототехнике.
До начала хакатона участникам был предложен список рекомендуемых компонентов и два робота-бэйзлайна как пример для сборки и программирования с которых можно начать:
ROS2 robot V1 - Бурмистрова Степана, руководителя Школы робототехники RobotX
Робот-черепаха под microROS - Журавлева Павла Романовича, Ведущего инженера RTUITLab, МИРЭА
По условиям хакатона участники могут как самостоятельно заранее купить комплектующие, так и заранее попросить в МИРЭА комплектующие на время проведения хакатона. Большинство пришли со своими компонентами.
Начинающие могли выбрать повторить за время хакатона выше обозначенные роботы-бэйзлайны чтобы набраться знаний и опыта.
Продвинутые выбрали путь создания и программирования своих вариантов ROS2 роботов. Тем не менее даже в этом случае мы рекомендуем использовать и указывать наработки из предыдущих проектов, чтобы успеть за время хакатона получить положительный результат.
Участники могут начинать заранее до хакатона готовить своих роботов и репозитории, если вы выбрали продвинутый уровень то вы уже сейчас можете начать готовиться к следующему хакатону.
Оценка результатов была разделена на три трека:
Конструкция + электрическая схема + код микроконтроллера + код ROS2 пакетов
Прошивка микроконтроллера + ROS2 пакет общения с микроконтроллером
Только ROS2 пакет
В первый день заявились 20 команд, до финальной презентации дошли 10, оформили для оценки репозитория 6 команд.
Вот результат оценки репозиториев команд:


Давайте внимательнее рассмотрим финалистов:
1 Место - SKIB-18 НИЯУ МИФИ
https://github.com/Muhamedli/MEPhI_ROS2_drone

Проект MEPhI_ROS2_drone, разработанный командой SKIB-18 из НИЯУ МИФИ, представляет собой двухколёсного робота с открытым исходным кодом, полностью интегрированного с ROS2. Этот проект был создан для образовательных целей и служит отличной платформой для изучения и практики работы с ROS2.
Технические особенности
Аппаратная часть: Робот основан на конструкции проекта Andino,однако был существенно модифицирован!
Программное обеспечение: Использование ROS2 обеспечивает модульность и расширяемость системы. В проекте реализованы различные пакеты, включая andino_apps, andino_control, andino_navigation, andino_slam и другие, которые отвечают за управление, навигацию и другие функции робота
Симуляция и моделирование: Наличие 3D-моделей и схем позволяет проводить симуляции и тестирование в виртуальной среде, что облегчает процесс разработки и отладки
Достижения на хакатоне
Команда SKIB-18 заслуженно заняла первое место на хакатоне благодаря следующим достижения:
Подробная документация: Репозиторий проекта содержит подробное описание, инструкции по сборке и запуску, что делает его доступным для широкого круга пользователей.
Реализация автономной навигации: Команда успешно продемонстрировала проезд робота по лабиринту с использованием данных с лидар-сенсора, что свидетельствует о высоком уровне реализации алгоритмов навигации.
Полный пакет инструкций, позволяющий с нуля собрать робота и повторить проект.
Открытость и доступность: Проект выложен в открытый доступ, что способствует распространению знаний и позволяет другим разработчикам использовать и улучшать его.
Проект MEPhI_ROS2_drone является отличным примером успешной интеграции аппаратного и программного обеспечения для создания автономной роботизированной систем. Он демонстрирует высокий уровень подготовки команды и её способность решать сложные технические задачи в сжатые сроки.
2 Место - FROB МИСИС
https://github.com/dark516/Frob_robot

Проект Frob_robot, разработанный командой FROB из НИТУ МИСИС, представляет собой открытое и доступное решение для создания мобильного робота, ориентированное на образовательные цели и обучение работе с ROS2.
Технические особенности
Аппаратная часть:Робот построен на основе недорогих и легкодоступных компонентов, что делает его идеальным для студентов и энтузиастов.
В репозитории представлены 3D-модели и схемы, необходимые для самостоятельной сборки платформыПрограммное обеспечение:Использование ROS2 обеспечивает модульность и расширяемость системы.В проекте реализованы различные пакеты, которые отвечают за управление, навигацию и взаимодействие с пользователем, однако пока не до конца сформирована прошивка микроконтроллера. Над ней команда ведет активную работу.
Очень качественная и подробная сборочная инструкция
Достижения на хакатоне
Команда FROB заняла второе место на хакатоне благодаря следующим достижения:
Подробная документация Репозиторий проекта содержит подробное описание, инструкции по сборке и запуску, что делает его доступным для широкого круга пользователе.
Открытость и доступность Проект выложен в открытый доступ, что способствует распространению знаний и позволяет другим разработчикам использовать и улучшать его.
3 Место - RoboLife УлГТУ
https://github.com/ulstu/buggy-learn

Проект buggy-learn, разработанный командой RoboLife из УлГТУ, представляет собой программно-аппаратную платформу для обучения программированию мобильных роботов с кинематикой Аккермана. Этот проект ориентирован на широкий круг пользователей — от школьников до профессиональных инженеров, занимающихся разработкой беспилотных транспортных систем.
Технические особенности
Кинематика Аккермана: Использование этой модели управления обеспечивает реалистичное поведение робота, приближенное к реальным транспортным средствам.
Аппаратная часть: В качестве основного вычислительного модуля используется микрокомпьютер Nvidia AGX Xavier с развернутым окружением ROS2. Управление осуществляется через микроконтроллер ESP32 с Ethernet-модулем, обеспечивающим надежную и быструю передачу данных.
Программное обеспечение: Проект включает в себя программные библиотеки для построения систем управления, виртуальный полигон, редактор карт, схемотехнические решения, встраиваемое ПО и библиотеку транспортных средств для симулятора.
Образовательные инструменты: Предусмотрены различные уровни сложности: для школьников — визуальное программирование в среде Blockly с 3D-симулятором; для студентов и инженеров — полноценное программирование в среде ROS2 с использованием Docker-контейнеров и редактора VS Code в веб-интерфейсе.
Достижения на хакатоне
Команда RoboLife заняла третье место на хакатоне благодаря следующим достижения:
Полноценный симулятор Разработан виртуальный полигон с полноценным окружением ROS2, позволяющий быстро тестировать решения в виртуальной среде и затем переносить их на реального робота.
Подробная документация: Репозиторий содержит инструкции по запуску симулятора и среды программирования как для начинающих, так и для продвинутых пользователей.
Образовательная направленность Проект ориентирован на обучение пользователей различного уровня подготовки, что делает его ценным ресурсом для образовательных учреждений и инженерных команд.
Проект buggy-learn демонстрирует высокий уровень подготовки команды RoboLife и их способность создавать комплексные образовательные решения в области робототехники. Несмотря на отсутствие инструкций по созданию физического прототипа, проект обладает значительным потенциалом для обучения и прототипирования в сфере автономных транспортных систем.
4 Место - Команда 305 МАИ
https://github.com/WWnotLL/ROS2_tutorial_305

Проект ROS2_tutorial_305, разработанный командой 305 из МАИ, представляет собой концепт проекта мобильного робота с хорошим потенциалом! В репозитории оформлены не все материалы, позволяющие воспроизвести данное решение.
Технические особенности
Аппаратная часть: В проекте представлен список необходимых компонентов с ссылками на приобретения, а также электрическая схема робота BOX305. Это обеспечивает прозрачность и повторяемость конструкции.
Команда 305 заняла четвёртое место на хакатоне благодаря следующим достижениям:
Документация: Репозиторий проекта содержит подробное описание, готовых модулей проекта, однако требует доработки.
Образовательная направленность: Проект ориентирован на обучение пользователей различного уровня подготовки, что делает его ценным ресурсом для образовательных учреждений и инженерных команд.
Проект ROS2_tutorial_305 демонстрирует высокий уровень подготовки команды 305 и их способность создавать комплексные образовательные решения в области робототехники.
5 Место - RobotX
https://github.com/ret7020/ROS2_Robot_Hackathon/

Проект ROS2_AI_Module, разработанный командой RobotX, представляет собой интеграцию искусственного интеллекта с нейросетью YOLO в робототехническую систему на базе ROS2. Основным достижением команды стало создание AI-модуля на базе микроконтроллера LicheeRV Nano, способного выполнять задачи компьютерного зрения и взаимодействовать с ROS2.
Технические особенности
Аппаратная часть: Использование микроконтроллера LicheeRV Nano, основанного на архитектуре RISC-V, в качестве AI-модуля. Это решение обеспечивает низкое энергопотребление и достаточную вычислительную мощность для выполнения задач компьютерного зрения.
Программное обеспечение: Разработка драйвера для интеграции AI-модуля с ROS2, позволяющего передавать данные от модуля в систему ROS2 и использовать их для управления роботом. Также реализована возможность обучения моделей YOLO для распознавания объектов.
Документация: Репозиторий содержит достаточно подробные инструкции по установке операционной системы на AI-модуль, сбору и разметке датасета, обучению модели YOLO, а также по сборке и креплению AI-модуля к роботу.
Достижения на хакатоне
Команда RobotX заняла пятое место на хакатоне благодаря следующим достижения:
Интеграция AI-модуля с ROS2: Разработка и реализация драйвера для взаимодействия AI-модуля на базе LicheeRV Nano с системой ROS.
Обучение модели YOLO: Сбор и разметка собственного датасета, обучение модели YOLO для распознавания объектов и интеграция её в систему.
Подробная документация: Предоставление пошаговых инструкций по основным этапам разработки, что делает проект доступным для повторения и обучения.
Особо стоит отметить, что основная часть команды RobotX состоит из школьников, которые, опираясь на материалы народного курса по ROS2, смогли разработать полноценный проект с интеграцией AI-модуля. Это свидетельствует о высоком уровне подготовки и стремлении к освоению современных технологий в области робототехник.
6 Место - RoboForce
https://github.com/Khuzhin06/RoboForce

Проект RoboForce, разработанный одноимённой командой, представляет собой практическое руководство по созданию мобильного робота на базе ROS2 Jazzy и ESP32. Основываясь на материалах народного курса по ROS2, команда не только собрала робота, но и внесла собственные улучшения, подробно описав весь процесс в своём репозитории.
🔧 Технические особенности
Аппаратная часть: Робот построен с использованием микроконтроллера ESP32, что обеспечивает гибкость и доступность. В репозитории представлены 3D-модели и схемы, необходимые для самостоятельной сборки платформы.
Программное обеспечение: Использование ROS2 Jazzy обеспечивает модульность и расширяемость системы. В проекте реализованы различные пакеты, включая high_level и low_lewel, которые отвечают за управление, навигацию и взаимодействие с пользователем.
Документация: Репозиторий содержит подробные инструкции по сборке и настройке робота, а также описания решений проблем, с которыми столкнулась команда в процессе разработки.
🏆 Достижения на хакатоне
Команда RoboForce заняла шестое место на хакатоне благодаря следующим достижения:
Практическая реализация: За время хакатона команда собрала и модифицировала робота на базе материалов народного курса по ROS.
Подробная документация: Репозиторий проекта содержит подробное описание, инструкции по сборке и запуску, а также решения проблем, что делает его ценным ресурсом для начинающих робототехникой.
Образовательная направленность: Проект ориентирован на обучение пользователей различного уровня подготовки, что делает его полезным для образовательных учреждений и инженерных команд.
Проект RoboForce демонстрирует, как, опираясь на доступные образовательные ресурсы, можно создать полноценного мобильного робота с использованием современных технологи. Команда показала высокий уровень самоорганизации и стремление к развитию в области робототехник.
По итогу можно сказать, что первый хакатон по сборке и программированию ROS2 робота прошел успешно, мы получили много положительных отзывов и желание участников продолжить. Два бэйзлайна и репозитрории победителей уже сейчас можно использовать в школах для экспериментов с обучением школьников.
Какие уроки мы вынесли:
Большинство выбрало сложный путь с нуля делать своего хитровывернутого робота и в итоге не успели его сделать. Решение сделать трек по повторению бэйзлайна и принудительно туда отправлять новичков.
Бэйзлайн должен быть лучше проработан: подготовить комплекты, обжать провода заранее, написать подробные инструкции по сборке и прошивке робота.
Рекомендовать всем участникам заранее пройти народный ROS2 курс.
Учителям не комфортно учиться когда рядом школьники способнее их. Для учителей нужно делать отдельный трек от школьников.
Возможно что разброд и шатание по разным конструкциям идет из-за того что понятно не объяснили какие в итоге задачи робот должен решать. Нужно придумать простую соревновательную задачку которую по итогу должен сделать робот. Есть идея сделать open-source Eurobot автономную лигу, с упрощенными правилами, но обязательным условием выкладывать конструкцию робота и программный код в open-source.
Какие мы видим дальнейшие шаги:
Сделать хакатон ежегодным на уровне государства и образования. Рекомендовать его посещение всех учителей и школьников.
Найти спонсоров, которые предоставят ценные призы победителям.
Рекомендовать вузам давать дополнительные баллы для поступления за победу в хакатоне.
Подведем итог. Мы подготовили базовые материалы и инструкции для сборки и программирования ROS2 роботов в школах и университетах. Написана часть народного ROS2 курса. Уже сейчас эти материалы можно использовать для ведения уроков по ROS2 в школах, колледжах, техникумах и университетах. Кто хочет провести и улучшить следующий хакатон пишите в чат.
Итоги хакатона мы обсудим на ROS Meetup 26 апреля, также будут интересные технические доклады и дискуссии. Приходи сам и зови знакомых.
Хакатон был организован и проведен ROS-сообществом при поддержке МИРЭА, Университета 2035 и Центра робототехники Сбера.
Отдельная большая благодарность ведущим:
Бурмистров Степан, Школа робототехники RobotX
Дементьев Юрий Николаевич, Старший методист ГБОУ «Лицей «Вторая школа» имени В.Ф. Овчинникова», методист в Центр педагогического мастерства, Образовательный центр «Сириус»
Журавлев Павел Романович, Ведущий инженер RTUITLab, МИРЭА