Robot Operating System Meetup: роботы и фреймворк для них. Срываем покровы

Привет, Хабр! Буквально на днях здесь публиковалась новость о конференции по Robot Operating System (ROS) которая пройдет 18 февраля — самому распространенному в мире фреймворку для роботов. Напомню, что она проводится Центром робототехники Сбера и группой организаторов российского сообщества ROS. В сегодняшней статье подробнее расскажу о конференции, содержании докладов с прошлой конференции 2020 года (если хотите услышать свежие доклады, приходите на конференцию 18 февраля) и о самом фреймворке. К докладам прошлого митапа приложены ссылки на видео и презентации спикеров.

78d0207064ee6f8620498610568e5d72.png

Фреймворк ROS — что это и зачем?

Сначала коротко о том, что такое Robot Operating System (ROS). Так называют гибкий фреймворк, который предназначен для разработки программного обеспечения роботов. Сюда входит целый набор различных инструментов, библиотек и определённых правил, цель которых — упрощение задач разработки ПО роботов. 

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

  • протокол коммуникации между компьютерами в роботе, между роботами, с оператором;

  • работа с моторами, сенсорами, микроконтроллерами;

  • аппаратная абстракция;

  • навигация и распознавание образов;

  • манипуляция;

  • переиспользование программных компонентов и решение вопросов с зависимостями;

  • набор эталонных решений робототехнических алгоритмов;

  • инструменты для отладки и разработки. 

Почему именно ROS?

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

Вот что даёт ROS разработчику:  

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

  • Универсальный протокол коммуникаций. Главная проблема комплексных робототехнических систем — решение задач коммуникации в рамках одного приложения. Для этого есть всё необходимое. Любой из программных модулей можно представить как отдельный процесс, который взаимодействует с другими по сетевому протоколу. Этот принцип даёт возможность разрабатывать программные модули, которые можно запустить или модифицировать на любом устройстве.

  • ROS предоставляет надёжные средства разработки и отладки. Это готовые инструменты, включая инструмент 2D-визуализации (rqt), инструмент 3D-визуализации (RViz), инструмент 3D-симуляции (Gazebo).

  • Активное сообщество. Об этом кратко упоминалось выше. Раньше проблема для желающих попасть в мир робототехники заключалась в том, что сообщества разработчиков были довольно закрытыми. Но с относительно недавних пор ситуация изменилась: разработчики активно взаимодействуют друг с другом, охотно делятся результатами собственных проектов. Сейчас ROS предлагает более 5 000 программных пакетов, причём они выложены в общий доступ. Русскоязычный telegram чат.

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

Ну хорошо, а причём тут конференция?

Всё дело в том, что наша практическая конференция как раз и посвящена фреймворку ROS. Это место встречи представителей не только ROS-комьюнити, но и вообще всех, кто заинтересован в развитии робототехники в РФ. 

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

  • «DimDrone: как CV-инженер квадрокоптер собирал» — Дмитрий Клименков.

  • «Участие в соревнованиях Robocup@work» — Родион Анисимов.

  • «Полезные инструменты для разработки на ROS» — Александр Богословский.

  • «Extended Object Detection — методы распознавания объектов» — Антон Московский.

  • «Как в одиночку сотворить робота с ROS: полный цикл глазами энтузиаста-любителя» — Ярослав Литвинов.

  • «Разработка робота для помощи в сельском хозяйстве Siberian Tiger» — Георгий Бондарь.

  • «Платформа на двух колёсах» — Владимир Гончаров, Вячеслав Голицын.

  • «Система кубического хранения на базе ROS2» — Лев Киселевский.

Подробная программа нового митапа уже публиковалась в новости о конференции.

Кстати, участие полностью бесплатное, но, поскольку количество мест в зале ограничено, прошу зарегистрироваться и получить подтверждение. Есть также и вариант онлайн-участия.

Отдельно отмечу, что сначала конференция планировалась как однодневное мероприятие. Но было подано столько заявок от спикеров, что организаторы приняли решение увеличить срок проведения конференции на два дня, так что начинается всё не 18-го, а 17-го февраля.

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

Лучшие из предложений будут обсуждаться на дискуссионной части ROS Meetup. Отправить своё предложение можно вот по этой ссылке.

Доклады с предыдущих конференций

Если вы незнакомы с ROS плюс никогда не принимали участие в предыдущих мероприятиях, для ознакомления приведу пример нескольких докладов с конференции 2020 года.

DimDrone: как CV-инженер квадрокоптер собирал

Автор: Дмитрий Клименков 

380a179f44274ede7ecaa7212b8777fa.png

Автор рассказывает, как с нуля собирал квадрокоптер в качестве платформы для тестирования различных computer vision-алгоритмов, на какие грабли наступал и что изменил, если бы начал этот проект уже с текущими знаниями. Также он делится нюансами использования open-source-софта (как на автопилоте, так и на компаньон-компьютере) и показывает, что пришлось реализовывать и доделывать самому.

→ Видеозапись доклада

→ Слайды доклада

Как я в соревнованиях Robocup@work участвовал

Автор: Родион Анисимов

13071f5751d333962bcfc6a51a11d7d3.png

В докладе автор рассказывает о соревнованиях Robocup, основной фокус — на категории atwork. Также он описывает хард и софт мобильного манипуляционного робота, с которым команда МГТУ им Н.Э. Баумана участвовала в данных соревнованиях.

→ Видеозапись доклада

→ Cлайды доклада 1

→ Cлайды доклада 2

Extended Object Detection — попытка уместить большинство методов распознавания объектов под одной крышей

Автор: Антон Московский

d2c44611060cbbaa89896c48bed42a65.png

Доклад посвящён разрабатываемому автором пакету распознавания объектов, который является обёрнутым в ROS интерфейсом к OpenCV. Рассказывает спикер и о других библиотеках технического зрения. Основное внимание уделяется авторским наработкам в области комбинирования и трекинга объектов.

→ Видеозапись доклада

→ Слайды доклада 1

→ Слайды доклада 2

Роботы как хобби. Или как в одиночку сотворить робота с ROS, полный цикл глазами энтузиаста-любителя

Автор: Ярослав Литвинов

dc56a7acc8549c6c3e7cf850bd4e2f85.png

Рассказ о том, как воплотить воображаемого робота в реальность — от карандаша до видимого финала. Автор рассказывает о современных средствах разработки, материалах и ROS как основе для всего проекта. Пот, пыль и страдания разработчика, когда у себя на поле брани ты один, но знаешь, что в ROS ты не одинок. Эмпирическое приключение длиною в несколько лет.

→ Видеозапись доклада

→ Слайды доклада

Разработка робота для помощи в сельском хозяйстве Siberian Tiger

Автор: Георгий Бондарь

b2ae0225e1439df877a0e71e8db8c7dc.png

Описание двухлетнего процесса разработки робота для помощи в сельском хозяйстве. Спикер рассказывает о создании как малой модели 50×50 см, так и полноразмерного робота 172×172 см. Внимание уделяется нюансам их конструкции, технологии разработки, программированию и применению ROS, машинному зрению, и, конечно, полевым испытаниям. 

→ Видеозапись доклада

→ Слайы доклада

Решение задач инверсной кинематики для простых схем — 2 и 4 колеса и почему лучше это делать без diff_drive

Автор: Владимир Гончаров

b352849ca2f915434e329db4c70effc8.png

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

→ Видеозапись доклада

→ Cлайды доклада

Напомню, что все доклады, перечисленные выше, — с предыдущей встречи. На конференции 2023 года будет множество новых интересных докладов по робототехнике, так что не пропустите! Регистрация — по этой ссылке.

© Habrahabr.ru