Что такое ROS ?

Что такое ROS и зачем его изучать

Robot Operating System (ROS) - это гибкий фреймворк для написания программного обеспечения для роботов. Это набор инструментов, библиотек и рекомендаций, которые направлены на упрощение задачи создания сложных, но надежных роботов на самых разных роботизированных платформах.

Почему создание роботов сложная задача? Потому что создать действительно надежное, универсальное программное обеспечение для робота трудно. С точки зрения робота, проблемы, которые кажутся тривиальными для людей, часто меняются и сильно зависят от задач и сред. Работа с этими вариациями настолько сложна, что ни один человек, лаборатория или компания не могут сделать это самостоятельно.

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

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

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

Можно выделить типовые задачи программной платформы:

  • работа с низкоуровневыми устройствами (датчики, актуаторы);

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

  • коммуникация различный устройств;

  • высокоуровневые системы (навигация, распознавание образов);

  • управление и установка пакетов и зависимостей;

  • подключение системных библиотек;

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

Аппаратные платформы, включают в себя готовые исследовательские и образовательные устройства. В каталоге роботов используемых ROS (https://robots.ros.org/) сейчас предоставлено более 130 устройств. В данном курсе мы изучим робот семейства Turtle (черепаха) -- робот TurtleBro. Важно отметить, что аппаратные платформы совместимы с программными платформами, что позволяет разрабатывать прикладные программы не имея опыта работы с оборудованием и не тратя время на его разработку. Совместимость интерфейсов и методов взаимодействия с оборудованием, позволило огромному количеству разработчиков ПО внести свой вклад в развитие робототехники. Унифицированные интерфейсы и методы работы с устройствами позволяют накапливать и обмениваться готовыми программными решениями всему сообществу специалистов ROS. Именно это делает навыки работы с ROS чрезвычайно востребованными, и открывающими новые возможности для разработчиков.

Курс ROS

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

  • Изучение только самых важных частей ROS;

  • Избегание не нужных вещей, и вещей требующих дополнительной подготовки;

  • Проработанные и детальные примеры для конкретного робота;

  • Много практики.

Основная цель этого курса

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

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

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

Также, многое из того, что будет представлено в курсе вы сможете посмотреть на нашем канале на YouTube в специальном плейлисте "Курс по ROS" !

Last updated