проект вебботов

На этой странице содержится подробная информация о проекте технического написания, принятом для участия в Google Season of Docs.

Краткое описание проекта

Организация с открытым исходным кодом:
Вебботы
Технический писатель:
Мягкий канал иллюзий
Название проекта:
Серия видеоуроков для вебботов (интеграция с ROS2)
Длина проекта:
Стандартная продолжительность (3 месяца)

Описание Проекта

Обучение:

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

Цель:

К концу этой серии зрители смогут создавать базовые узлы ROS2 и взаимодействовать с веб-ботами, а также обрести уверенность в работе над продвинутыми проектами с использованием мобильных роботов. Эта серия видео также даст хорошие теоретические объяснения нескольких жизненно важных концепций в области робототехники.

Подробности видеосерии:

  1. Установка ROS 2 и настройка репозитория в Visual Studio Code. Сюда входит командная установка ROS2 и основы ее работы. Во-вторых, он также будет включать настройку рабочего пространства ROS в коде VS и функциональность основных вкладок в коде VS.

  2. Базовый пример ROS2 и веб-ботов. Некоторые примеры Webots ROS2 будут использоваться, чтобы привлечь зрителей к пониманию того, какие чудеса можно сделать, если мы будем использовать ROS2 с Webots для моделирования. Сюда также будут включены основные теории связи между ROS2 и веб-ботами.

  3. Использование сервисов ROS2 для взаимодействия с веб-ботами. Обучение основам службы ROS с объяснением разницы между службами в ROS и ROS2. Во-вторых, показаны пошаговые инструкции по вызову служб и включению темы датчиков для показаний и приводов движения.

  4. Управляйте собственным роботом с помощью ROS2 Publisher. Научимся публиковать сообщения с помощью издателей ROS2 на веб-ботах. Мы можем реализовать пример управления движением робота, опубликовав вывод с клавиатуры в тему, которая затем может использоваться службами ROS для движения в Webots.

  5. Получите обратную связь от робота с подписчиком ROS2. В этом видео мы подпишемся на показания датчиков расстояния и остановим робота, если он вот-вот столкнётся. По сути, это будет узел обхода препятствий с публикацией интерактивных сообщений.

  6. Главный (издатель) подчиненный (подписчик) роботы с ROS2. В этом видео мы будем управлять одним роботом с помощью клавиатуры и заставим другого робота убегать от ручного робота. Похоже на сценарий Вора и Копов :) [Это будет продолжение 3,4,5 видео]. Это позволит зрителям проверить связь и выявить недостатки симуляции, если возникнут проблемы в ROS.

  7. Настройка Rviz (показаны выходные данные различных датчиков). В этом видео мы добавим еще несколько датчиков и опубликуем их данные на Rviz. В конце этого видео зритель сможет настроить Rviz (т. е. добавить датчики, такие как лидар, камера и т. д. для визуализации), сохранить конфигурацию и создать сохраненную конфигурацию в следующий раз.

  8. Отладочное видео (Ростопик эхо, Ростопик инфо, RQT_graph). В это видео будут включены заведомо неправильные функции некоторых тем, чтобы помочь понять технику отладки. Мы проследим за процессом просмотра графика RQT и узнаем, какие темы ответственны за проблему. Использование rostopic echo, чтобы проверить, публикуется ли тема, и в конце проверка информации rostopic, чтобы получить информацию о нашей проблеме. Решите проблему и получите нормальную функциональность.

  9. Видео отладки (rqt_console, rqt_gui). В этом видео в узле будут использоваться сообщения Ros (информация, отладка, ошибка и т. д.), а также будет рассмотрено использование rqt_console. Это видео также будет расширено для использования rqt_gui для публикации фиктивных сообщений для получения необходимой функциональности. Это может быть альтернативный подход к исправлению некоторых ошибок.

  10. Предварительные тематические видеоролики: Об интеграции библиотеки SLAM в неизвестную среду (инструментарий SLAM или LaMa) [Часть 1] Это видео начнется с базовой теории проблем SLAM. После этого мы будем использовать изложенные выше концепции инфраструктуры, чтобы понять суть проекта. Наконец, мы создадим необходимые узлы через терминал и увидим вывод сопоставления в Rviz.

  11. Предварительные тематические видеоролики: Об интеграции библиотеки SLAM в неизвестную среду (SLAMtoolbox или LaMa) [Часть 2] В продолжение 10-го видео, в этом видео я научу, как сделать файл запуска для совместного запуска всех узлов. и изучите rqt_graph для правильного понимания концепций среды ROS. В конце мы сохраним карту, сгенерированную пакетом, с помощью картографического сервера.

  12. Предварительные тематические видеоролики: Об интеграции OpenCV (обнаружение AR-тегов, пакет Ar_track_alvar) [Часть 1] Видео начнется с того, что такое AR-теги и их значение в локализации с помощью компьютерного зрения. Затем мы продолжим работу над тем, как работает пакет Alvar AR track. Это поможет представить общую картину проекта. Наконец, будет реализована услуга для включения потока видеокадров от веб-ботов в тему ROS.

  13. Предварительные тематические видеоролики: Об интеграции OpenCV (обнаружение AR-тегов, пакет Ar_track_alvar) [Часть 2] Это видео будет продолжением 12-го видео, в котором указанный выше поток изображений будет использоваться пакетом, а также тема преобразования между робот и тег AR будут опубликованы, их можно будет просмотреть на Rviz. Наконец, когда мы перемещаем робота, мы видим расположение различных тегов и изменение их положения в Rviz и в сообщениях rostopic.

Заключение:

Этот проект GSOD представляет собой самостоятельный пакет, позволяющий получить базовое понимание интеграции ROS2 с веб-ботами. Этот пакет также будет включать практическую реализацию таких концепций ROS2, как темы, сервисы, узлы, файлы запуска, издатель, подписчик, различные инструменты отладки и использование кода VS. Это также будет включать в себя сложные тематические проекты, такие как SLAM и OpenCV. Это даст зрителям парадигму комплексной работы с использованием ROS2 и веб-ботов.