Как стать автором
Обновить
457.16
Сбер
Технологии, меняющие мир

Результаты хакатона — инструкции по сборке и программированию ROS2 роботов

Время на прочтение11 мин
Количество просмотров3K
Робот команды 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, МИРЭА

Теги:
Хабы:
+15
Комментарии0

Информация

Сайт
www.sber.ru
Дата регистрации
Дата основания
Численность
свыше 10 000 человек
Местоположение
Россия