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

Robot Operation System (ROS) представляет собой набор инструментов для разработчиков робототехнических решений и предназначен для ускорения процесса разработки управляющих программ для различных роботов.

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

Преимущества и ограничения ROS

Ограничения:

  1. Необходимо иметь в составе робота высокоуровневый вычислитель
  2. Необходимо знание операционной системы Linux и основные bash команды
  3. Необходимо знание C++ или Python
  4. Умение читать техническую документацию на английском языке

Преимущества:

  1. Наличие большого количества программных модулей с открытым исходным кодом
  2. Минимальное количество требуемого для написания программного кода в типовых задачах

Версии ROS

Рассматриваемая в курсе первая версия ROS во многом легла в основу более новой, второй версии с рядом значительных улучшений во внутренних механизмах работы. Несмотря на то, что ROS2 является актуальной версией, изучение ROS рекомендуется начинать с первой версии, так как вторая версия является более сложной в изучении из-за расширенных возможностей и гибкости, заложенной в неё разработчиками.

Что вам понадобится?

Версия ROS Noetic Ninjemys (2020) ROS1

Базовая операционная система Ubuntu 20.04 LTS (https://releases.ubuntu.com/focal/)

Курс состоит из 8 разделов/занятий:

Занятие 1:

Что такое ROS - базовый минимум теории (текст)

Компоненты и структура ROS (текст) 

Основы Linux: Основные команды (шпаргалка)

Основные команды ROS (Шпаргалка): Команды ROS

Презентация: Введение , Пакеты и типы сообщений

Практическая работы №1: Базовые возможности ROS

Занятие 2 

Практическая работа №2: Запуск ROS пакета

Занятие 3

 URDF и XACRO - моделирование робота (необходимый минимум теории)

Практическая работа №3: Создание моделей роботов и объектов окружения

Занятие  4

Gazebo - создание полноценной симуляции (необходимый минимум теории)

Практическая работа №4: Создание имитационной модели в Gazebo ROS

Практики: