Робот команды RobotX с искуственным интеллектом
Робот команды RobotX с искуственным интеллектом

Всего две недели назад прошел первый хакатон по сборке и программированию 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 команд.

Вот результат оценки репозиториев команд:

Баллы трека: Конструкция + электрическая схема + код микроконтроллера + код ROS2 пакетов
Баллы трека: Конструкция + электрическая схема + код микроконтроллера + код ROS2 пакетов
Баллы трека: Только ROS2 пакет
Баллы трека: Только ROS2 пакет

Давайте внимательнее рассмотрим финалистов:

1 Место - SKIB-18 НИЯУ МИФИ

https://github.com/Muhamedli/MEPhI_ROS2_drone

Робот SKIB-18
Робот SKIB-18

Проект 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
Робот FROB

Проект Frob_robot, разработанный командой FROB из НИТУ МИСИС, представляет собой открытое и доступное решение для создания мобильного робота, ориентированное на образовательные цели и обучение работе с ROS2.

Технические особенности

  • Аппаратная часть:Робот построен на основе недорогих и легкодоступных компонентов, что делает его идеальным для студентов и энтузиастов.
    В репозитории представлены 3D-модели и схемы, необходимые для самостоятельной сборки платформы

  • Программное обеспечение:Использование ROS2 обеспечивает модульность и расширяемость системы.В проекте реализованы различные пакеты,  которые отвечают за управление, навигацию и взаимодействие с пользователем, однако пока не до конца сформирована прошивка микроконтроллера. Над ней команда ведет активную работу.

  • Очень качественная и подробная сборочная инструкция


Достижения на хакатоне

Команда FROB заняла второе место на хакатоне благодаря следующим достижения:

  • Подробная документация Репозиторий проекта содержит подробное описание, инструкции по сборке и запуску, что делает его доступным для широкого круга пользователе.

  • Открытость и доступность Проект выложен в открытый доступ, что способствует распространению знаний и позволяет другим разработчикам использовать и улучшать его.



3 Место - RoboLife УлГТУ

https://github.com/ulstu/buggy-learn

Робот RoboLife
Робот RoboLife

Проект 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

Робот команды 305
Робот команды 305

Проект ROS2_tutorial_305, разработанный командой 305 из МАИ, представляет собой концепт проекта мобильного робота с хорошим потенциалом! В репозитории оформлены не все материалы, позволяющие воспроизвести данное решение.

Технические особенности

  • Аппаратная часть: В проекте представлен список необходимых компонентов с ссылками на приобретения, а также электрическая схема робота BOX305. Это обеспечивает прозрачность и повторяемость конструкции.​

Команда 305 заняла четвёртое место на хакатоне благодаря следующим достижениям:​

  • Документация: Репозиторий проекта содержит подробное описание, готовы​х модулей проекта, однако требует доработки.

  • Образовательная направленность: Проект ориентирован на обучение пользователей различного уровня подготовки, что делает его ценным ресурсом для образовательных учреждений и инженерных команд.​

Проект ROS2_tutorial_305 демонстрирует высокий уровень подготовки команды 305 и их способность создавать комплексные образовательные решения в области робототехники.

5 Место - RobotX

https://github.com/ret7020/ROS2_Robot_Hackathon/

Робот RobotX
Робот RobotX

Проект 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
Робот RoboForce


Проект RoboForce, разработанный одноимённой командой, представляет собой практическое руководство по созданию мобильного робота на базе ROS2 Jazzy и ESP32. Основываясь на материалах народного курса по ROS2, команда не только собрала робота, но и внесла собственные улучшения, подробно описав весь процесс в своём репозитории.

🔧 Технические особенности

  • Аппаратная часть: Робот построен с использованием микроконтроллера ESP32, что обеспечивает гибкость и доступность. В репозитории представлены 3D-модели и схемы, необходимые для самостоятельной сборки платформы.

  • Программное обеспечение: Использование ROS2 Jazzy обеспечивает модульность и расширяемость системы. В проекте реализованы различные пакеты, включая high_level и low_lewel, которые отвечают за управление, навигацию и взаимодействие с пользователем.

  • Документация: Репозиторий содержит подробные инструкции по сборке и настройке робота, а также описания решений проблем, с которыми столкнулась команда в процессе разработки.

🏆 Достижения на хакатоне

Команда RoboForce заняла шестое место на хакатоне благодаря следующим достижения:

  • Практическая реализация: За время хакатона команда собрала и модифицировала робота на базе материалов народного курса по ROS.

  • Подробная документация: Репозиторий проекта содержит подробное описание, инструкции по сборке и запуску, а также решения проблем, что делает его ценным ресурсом для начинающих робототехникой.

  • Образовательная направленность: Проект ориентирован на обучение пользователей различного уровня подготовки, что делает его полезным для образовательных учреждений и инженерных команд.

Проект RoboForce демонстрирует, как, опираясь на доступные образовательные ресурсы, можно создать полноценного мобильного робота с использованием современных технологи. Команда показала высокий уровень самоорганизации и стремление к развитию в области робототехник.

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

Какие уроки мы вынесли:

  1. Большинство выбрало сложный путь с нуля делать своего хитровывернутого робота и в итоге не успели его сделать. Решение сделать трек по повторению бэйзлайна и принудительно туда отправлять новичков.

  2. Бэйзлайн должен быть лучше проработан: подготовить комплекты, обжать провода заранее, написать подробные инструкции по сборке и прошивке робота.

  3. Рекомендовать всем участникам заранее пройти народный ROS2 курс.

  4. Учителям не комфортно учиться когда рядом школьники способнее их. Для учителей нужно делать отдел��ный трек от школьников.

  5. Возможно что разброд и шатание по разным конструкциям идет из-за того что понятно не объяснили какие в итоге задачи робот должен решать. Нужно придумать простую соревновательную задачку которую по итогу должен сделать робот. Есть идея сделать open-source Eurobot автономную лигу, с упрощенными правилами, но обязательным условием выкладывать конструкцию робота и программный код в open-source.

Какие мы видим дальнейшие шаги:

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

  2. Найти спонсоров, которые предоставят ценные призы победителям.

  3. Рекомендовать вузам давать дополнительные баллы для поступления за победу в хакатоне.

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

Итоги хакатона мы обсудим на ROS Meetup 26 апреля, также будут интересные технические доклады и дискуссии. Приходи сам и зови знакомых.

Хакатон был организован и проведен ROS-сообществом при поддержке МИРЭА, Университета 2035 и Центра робототехники Сбера.

Отдельная большая благодарность ведущим:

Бурмистров Степан, Школа робототехники RobotX

Дементьев Юрий Николаевич, Старший методист ГБОУ «Лицей «Вторая школа» имени В.Ф. Овчинникова», методист в Центр педагогического мастерства, Образовательный центр «Сириус»

Журавлев Павел Романович, Ведущий инженер RTUITLab, МИРЭА