Topic outline
Введение
Существующие подходы для программирования мобильных роботов. Архитектура publisher-subscriber.Тема 1. Distribution data services (DDS).
Фреймворки, обеспечивающие обмен сообщениями. Различные DDS решения. RTI Connext DDS, OpenSplice, ROS, ROS2.Тема 2. Введение в ROS
Связь высокоуровневого и низкоуровневого программирования. Способы эмуляции робота. Области применения ROS. Возможности ROS. Показательные примеры разработанных пакетов ROS. Turtle_bot, Turtle_sim. Исполняемые модули (Node). Эфир для приёма и передачи сообщений (Topic). Граф, связывающий Node и Topic. Расширение модели для переменного количества узлов при сохранении свойства real-time. «Нестандартное» управление Turtle_bot с использованием консоли.Тема 3. Обмен сообщениями в ROS
Типы сообщений, содержащихся в Topic. Ограничение буфера обмена. Использование стандартных типов сообщений. Реализация собственных типов сообщений. Широковещательные сообщения. Сообщения, подразумевающие ответ. Блокирующие и неблокирующие сообщения в ROS. RQT_Graph как способ демонстрации текущего состояния системы. Rviz как способ визуализации.Тема 4. Особенности реализации ПО с использованием ROS
Launch-файлы, структура исходного кода. Методы переиспользования кода в ROS. Назначение пакетов в ROS. Команды для их создания и сборкиТема 5. Создание протоколов обмена для узлов робототехнической системы
Вызов сервиса из программы и из консоли. Связь сообщений, передаваемых через Topic и через Service. Реализация собственного типа сообщений для сервиса. Обработка ответа на Service. Одновременное применение передачи информации через Topic и Service.Тема 6. Встроенные пакеты в ROS, упрощающие разработку для мобильных роботов
TF. Gazebo. RVIZ. Navigation_stack. exploration_stack.Тема 7. OpenDDS
Мастер процесс в решении от RTI. Писатели и читатели. Настройка параметров для передачи сообщений. Работа в реальном времениТема 8. Open Splice
Мастер процесс в решении Open Splice. Писатели и читатели. Настройка параметров для передачи сообщений. Работа в реальном времени