Robot Operating System это фреймворк который позволяет эффективно программировать современных роботов.

Когда я проводил прошлый ROS курс в МИСИС с лекциями и практиками по робототехнике, у меня возникла идея, а почему бы не дать студентам как курсовую работу задачу перевести с английского на русский язык наиболее на мой взгляд полезные книги по ROS, которые в свое время читал чтобы расширить свое понимание ROS. Во время ТикТока и короткого потребления контента через видео, мне кажется люди перестали читать книги, хотя с точки зрения выучивания знаний книги имеют преимущество, особенно если нужно получить фундаментальные структурированные знания. Поэтому для будущих поколений робототехников, которые хотят углубить свои компетенции, эти переводы будут кладезем полезных концепций и практик по робототехнике.

Перевод осуществляли как часть учебного процесса и приобщения к инструментам программирования, поэтому он выложен на github c визуализацией в gitbook.

Спасибо за поддержку университету МИСИС и лаборатории робототехники Сбер.

Первая книга перевод которой мы публикуем:

ROS By Example. A Do-It-Yourself Guide to the Robot Operating System. VOLUME 1 / ROS на примерах. Руководство по операционной системе роботов

Автор: R. Patrick Goebel

Описание из книги

Эта книга посвящена программированию вашего робота удивительным вещам, будь то распознавание лиц людей и других визуальных объектов, автономная навигация по дому или реагирование на устные команды. Мы будем использовать самое со��ременное программное обеспечение для робототехники, доступное сегодня благодаря ROS, операционной системе для роботов, созданной калифорнийской компанией Willow Garage и поддерживаемой Фондом робототехники с открытым исходным кодом (OSRF).

Основная цель ROS - предоставить единую основу программирования с открытым исходным кодом для управления роботами в различных реальных и симулированных средах. ROS, безусловно, не является первой подобной разработкой; на самом деле, поиск в Википедии по запросу "программное обеспечение для роботов" дает 15 подобных проектов. Но Willow Garage - это не обычная группа программистов, создающих свободное программное обеспечение. Благодаря серьезному финансированию, сильной технической экспертизе и четко спланированному ряду этапов развития, Willow Garage вызвал своего рода лихорадку программирования среди робототехников: всего за несколько лет были созданы сотни пользовательских пакетов ROS.

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

Тем временем Willow Garage разработала и изготовила робота PR2 стоимостью 400 000 долларов, чтобы продемонстрировать свою операционную систему. Используя новейшее оборудование робота, включая две стереокамеры, пару лазерных сканеров, руки с 7 степенями свободы и всенаправленную систему привода, лишь немногие счастливчики смогут запустить ROS непосредственно на PR2, включая 11 исследовательских институтов, которые получили бесплатные PR2 в рамках конкурса бета-тестирования. Однако для использования возможностей ROS вам не нужен PR2; уже созданы пакеты для поддержки более дешевых платформ и компонентов, включая iRobot Create, TurtleBot, Arduino, WowWee Rovio, LEGO® NXT, Phidgets, ArbotiX, Serializer, Element и Robotis Dynamixels.

Руководящий принцип, лежащий в основе ROS, - "не изобретайте колесо". Многие тысячи очень умных людей программируют роботов уже более пятидесяти лет - почему бы не собрать всю эту мозговую мощь в одном месте? К счастью, Интернет - идеальная среда для обмена кодом. Многие университеты, компании и частные лица сейчас открыто делятся своими репозиториями кода ROS, а благодаря бесплатному облачному пространству, доступному через такие сервисы, как Google Code или GitHub, любой может легко и бесплатно поделиться своими собственными творениями ROS.

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

ROS By Example. VOLUME 2. Packages and programs for advanced robot behaviors / ROS на примерах. Пакеты и программы для продвинутых моделей поведения роботов.

Автор: R. Patrick Goebel

Описание из книги

В феврале 2013 года управление ROS было передано от Willow Garage Фонду робототехники с открытым исходным кодом (OSRF). Миссия OSRF заключается в "поддержке разработки, распространения и внедрения программного обеспечения с открытым исходным кодом для использования в исследованиях, образовании и разработке продуктов робототехники". Два основных проекта, курируемых OSRF, - это ROS и Gazebo, продвинутый 3D-симулятор роботов.

Новые пакеты ROS продолжают регулярно выпускаться отдельными людьми и группами, работающими как в университетских лабораториях, так и в робототехнической промышленности. Интерес к изучению ROS продолжает расти, и популярность ROS By Example Volume 1 превзошла все мои ожидания. Тем не менее, для того, чтобы выйти за рамки основ, все еще требуется довольно крутая кривая обучения, а реалистичные примеры, рассматривающие более сложные темы, не всегда легко найти.

Общая цель второго тома - представить коллекцию пакетов и инструментов ROS, которые необходимы для программирования действительно автономных роботов. Сюда входит использование таких менеджеров задач, как SMACH и Behavior Trees, создание пользовательских моделей URDF для различных роботов, мониторинг состояния робота с помощью диагностики ROS, мультиплексирование управляющих входов и назначение приоритетов, управление многосуставной рукой для дотягивания и захвата, мониторинг и управление роботом через веб-браузер, а также выполнение реалистичного моделирования с помощью Gazebo. Когда мы закончим, у вас будут инструменты, необходимые для программирования "всегда включенного" робота, который может контролировать свои собственные подсистемы и выполнять ряд задач без вмешательства человека.

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

Хоть книги и старые и версия ROS в них Indigo, но на мой взгляд по подаче материала и продвинутым пакетам они лучше всех остальных, если вы хотите понять как программировать продвинутого робота, да еще и на примерах.

Исходный код примеров из книги можно найти по ссылкам:

В следующих статьях будут опубликованы еще книги, поэтому подпишитесь на блог чтобы не пропустить:

  • Artificial Intelligence for Robotics.

  • Using OpenAI with ROS.

  • ROS2.

  • ROS Robotics Projects Lentin Joseph.

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

Обсудить книги можно в нашем телеграм ROS сообществе.