Учебный курс ROS
Авторский учебный курс включающий оборудование и методические материалы для преподавателя по основам Robot Operation System и робототехнике.
Для учебного класса, включает 32 урока по 1.5 часа

Robot Operating System (ROS) - это гибкая платформа (фреймворк) для разработки программного обеспечения роботов.
Целью создания ROS является создание единой платформы, которая позволяет разработчикам ПО для роботов сотрудничать на глобальном уровне.

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

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

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

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

Именно это делает навыки работы с ROS чрезвычайно востребованными, и открывающими новые возможности для разработчиков.
Структура учебного курса
В зависимости от подготовленности учеников, модуль 0 может не проводиться.
Модуль 0
Подготовка
Урок 1
  • Вводная часть
  • Знакомство
  • Что такое роботы
  • Начало работы, знакомство с Linux

Урок 2, Python часть 1
  • Погружение в Linux
  • Введение в Python, первый скрипт

Урок 3, Python часть 2
  • Правила форматирования кода
  • Типы данных
  • Операции над строками, ввод вывод
  • Операторы ветвления и цикла
  • Функции
  • Картежи, списки, множества и словари

Урок 4, Python часть 3
  • Стандартные функции
  • Классы
  • Подключение библиотек, установка модулей
  • Исключения и обработка ошибок

Урок 5, Arduino

  • Введение в платформу Arduino
  • Основы языка С

Урок 6, Схемотехника и компоненты
  • Базовые понятия (Ток, наряжение, сопротивление)
  • Электронные компоненты (транзистор)
  • Компоненты робота (мотор, серво)
  • Датчики (протоколы I2C, Serila, SPI)

Модуль 1
Введение в ROS
  • Урок 1, Введение
  • Превью курса
  • Подготовка рабочего места
  • Что такое ROS, Основные понятия ROS

Урок 2, Топик
  • Топик Издатель
  • Сообщение
  • Задание

Урок 3, Топик
  • Топик Подписчик
  • Кастомное сообщение
  • Задание

Урок 4, Сервисы часть 1
  • Модель коммуникаций
  • ROS Сервисы
  • Вызов сервиса
  • Задание

Урок 5, Сервисы часть 2
  • Создание сервиса
  • Создание собственного сообщения для сервиса
  • Задание

Урок 6, Действия часть 1
  • Модель Действие
  • Вызов действия
  • Выполнение другой работы, пока действие не завершенно

Урок 7, Действие часть 2
  • Создание сервера
  • Создание собственного типа сообщения
  • Задание

Урок 8, Средства отладки и администрирования
  • roslaunch
  • RQT-Console
  • RQT Plot
  • RQT graph
  • ROSBags
  • RViz
  • Gazebo
  • Установка пакетов из репозитория
  • Компиляция пакетов
  • Упражнения

Урок 9, Знакомство с TurtleBro
  • Состав конструктора
  • Подключение
  • Принципы управления
  • Телеметрия робота
  • turtlesim
  • Работа с Arduino
  • Упражнения

Урок 10 Static Transforms
  • Назначение
  • Создание подписчика и издателя
  • Создание URDF модели, Gazebo
  • Конфигурация launch файла
  • Упражнения

Урок 10, TurtleBro
  • Курсовой проект

Модуль 2.
Машинное Зрение
Урок 1, Введение
  • Работа с камерой
  • Получение данный для OpenCV
  • Наложение фильтров
  • Упражнение

Урок 2, Базовые примеры
  • Разбор примера следования робота за цветным шаром
  • Разбор примера следования за фигурой
  • Следование за несколькими обьектами

Урок 3, Объекты и плоскости

  • Aruco маркеры
  • Определение поверхности стола
  • Поиск 2D обьектов
  • Поиск 3D обьектов

Урок 5, Следование по дороге
  • Изучение примеров движения робота по дороге (двум линиям)

Урок 6, Поиск объектов инфраструктуры
  • Поиск объектов инфраструктуры (светофор, шлагбаум) во время движения по дороге

Урок 7, Поиск лица
  • Решение задач поиска и слежение за лицом человека

Урок 8, Распознавание лиц
  • Решение задач распознавания лиц
  • Определение нескольких лиц сразу
  • Решение задач распознавания эмоций

Урок 9, Распознавшие человеческих фигур
  • Необходимые пакеты
  • Распознавание ног
  • Распознавание туловища
  • Распознавание пешехода

Урок 10
  • Курсовой проект
Модуль 3.
Автономная навигация
Урок 1 Введение
  • Введение, базовые понятия
  • Железо, настройка TurtleBot
  • Нода move_base

Урок 2, Карты
  • Визуализация карты в Rviz
  • SLAM навигация
  • Transforms
  • Построение карты

Урок 2, Локализация
  • Взуализация в Rviz
  • Monte Carlo Localization (MCL)
  • The AMCL Package(MCL)
  • Локазизация по Aruco Меткам

Урок 3, Планирование пути, часть 1
  • Визуализация в Rviz
  • Пакет move_base
  • Глобальный планировщик
  • Costmap

Урок 4, Планирование пути, часть 2
  • Локальный планировщик
  • Локальный Costmap
  • Восстановление поведения
  • Динамичная перестройка карты

Урок 5, Навигация
  • Комплексные примеры работы
  • Автономное перемещение по помещению.

Урок 6
  • Курсовой проект

Получить дополнительную информацию
Заполните форму ниже, и мы свяжемся с вами.

Ваш запрос
Опишите вашу задачу, размер класса и возраст учеников
Свяжитесь с нами:
По любым вопросам пишите нам на info@voltbro.ru.
Made on
Tilda