Классический форум-трекер
canvas not supported
Нас вместе: 4 270 087


Устойчивый VPN, который не нужно выключать!

Ху Чуньсюй, Ли Цяолун | ROS 2. Программирование интеллектуальных роботов (2025) [PDF]


 
 
RSS
Начать новую тему   Ответить на тему    Торрент-трекер NNM-Club -> Компьютерная литература
Автор Сообщение
sinoptik500 ®

Online
Стаж: 10 лет 1 мес.
Сообщений: 8303
Ratio: 47.966
Поблагодарили: 505768
100%
Откуда: с рыбалки
Ху Чуньсюй, Ли Цяолун | ROS 2. Программирование интеллектуальных роботов (2025) [PDF]
Автор: Ху Чуньсюй, Ли Цяолун
Перевод: И.А. Шевкун
Издательство: ДМК Пресс
ISBN: 978-5-93700-412-3
Жанр: Компьютерная литература

Формат: PDF
Качество: Изначально электронное (ebook)
Иллюстрации: Черно-белые

Описание:
Книга посвящена основным принципам работы с операционной системой для роботов ROS 2 и практике разработки роботов. В ней подробно описаны ключевые концепции, компоненты и инструменты ROS 2 и рассмотрены методы построения симуляционных и реальных робототехнических систем, а также способы применения ROS 2 для задач компьютерного зрения, построения карт и автономной навигации. Большое количество иллюстраций, схем и исходного кода на языках C++ и Python позволит не только освоить базовые функции ROS 2, но и глубже понять методы разработки роботов и применить полученные знания на практике.
Издание адресовано как начинающим разработчикам, желающим познакомиться с системой ROS 2 и применять ее на практике, так и опытным инженерам-робототехникам, которые могут использовать книгу в качестве справочного пособия.
Оглавление:
От издательства.......................................................................................................13
Рецензии.................................................................................................................14
Предисловие............................................................................................................18
Глава 1. ROS: душа умных роботов............................................................................23
1.1. Эра интеллектуальных роботов...........................................................................23
1.2. История развития ROS........................................................................................24
1.2.1. Создание ROS................................................................................................25
1.2.2. Развитие ROS.................................................................................................25
1.2.3. Преимущества ROS.......................................................................................28
1.3. ROS 2 и ROS 1..................................................................................................29
1.3.1. Ограничения ROS 1.......................................................................................29
1.3.2. Новая версия ROS 2.......................................................................................30
1.3.3. Сравнение ROS 2 и ROS 1.............................................................................32
1.4. Установка ROS 2...............................................................................................37
1.4.1. Что такое Linux..............................................................................................37
1.4.2. Что такое Ubuntu...........................................................................................38
1.4.3. Установка операционной системы Ubuntu.....................................................39
1.4.4. Установка системы ROS 2............................................................................42
1.5. Командная строка ROS 2................................................................................45
1.5.1. Командная строка в Linux...........................................................................45
1.5.2. Симулятор черепахи....................................................................................50
1.5.3. Командная строка в ROS 2...........................................................................50
1.6. Резюме.........................................................................................................57
Глава 2. Основные принципы ROS 2. Фундамент для создания роботов....................58
2.1. Процесс разработки роботов с использованием ROS 2..................................58
2.2. Рабочее пространство: база для разработки роботов....................................60
2.2.1. Что такое рабочее пространство................................................................60
2.2.2. Создание рабочего пространства...............................................................62
2.2.3. Компиляция рабочего пространства.........................................................63
2.2.4. Настройка переменных окружения...........................................................64
2.3. Пакеты: классификация функций робота........................................................65
2.3.1. Что такое пакет.............................................................................................65
2.3.2. Создание пакета............................................................................................66
2.3.3. Структура функционального пакета..........................................................67
2.3.4. Компиляция пакета......................................................................................72
2.4. Узлы: рабочие клетки робота.............................................................................73
2.4.1. Что такое узел................................................................................................73
2.4.2. Методика программирования узлов (Python)..........................................75
2.4.3. Методика программирования узлов (C++)...............................................77
2.4.4. Команды для работы с узлами....................................................................79
2.4.5. Пример использования узла: обнаружение объектов.............................80
2.5. Тема: мост для передачи данных между узлами.............................................83
2.5.1. Что такое тема...............................................................................................83
2.5.2. Модель коммуникации посредством темы..............................................84
2.5.3. Пример создания обмена сообщениями...................................................86
2.5.4. Метод программирования издателя темы (Python)................................87
2.5.5. Метод программирования подписчика темы (Python)...........................89
2.5.6. Метод программирования издателя темы (C++).....................................90
2.5.7. Метод программирования подписчика темы (C++).................................91
2.5.8. Команды для работы с темами..............................................................93
2.5.9. Пример использования тем: обнаружение объектов (периодическое)......94
2.6. Службы: взаимодействие между узлами в формате «вопрос–ответ»..........98
2.6.1. Что такое служба...............................................................................98
2.6.2. Модель коммуникации посредством службы..........................................99
2.6.3. Пример программирования коммуникации посредством службы..............101
2.6.4. Программирование клиента (Python).....................................................102
2.6.5. Программирование сервера (Python)......................................................103
2.6.6. Программирование клиента (C++)...........................................................104
2.6.7. Программирование сервера (C++)............................................................105
2.6.8. Команды для работы со службами...........................................................107
2.6.9. Пример использования службы: обнаружение цели (по запросу)...........107
2.7. Интерфейсы коммуникации: стандартная структура передачи данных.....110
2.7.1. Что такое интерфейс коммуникации.......................................................111
2.7.2. Определение интерфейсов коммуникации............................................113
2.7.3. Команды для работы с интерфейсами коммуникации............................115
2.7.4. Пример использования интерфейса службы: запрос координат
обнаруженного объекта................................................................................116
2.7.5. Пример использования интерфейса темы: периодическая
публикация координат обнаружения объекта.................................................120
2.8. Действие: управление процессом выполнения полной единицы
поведения.....................................................................................................123
2.8.1. Что такое действие...............................................................................123
2.8.2. Модель коммуникации действия.............................................................124
2.8.3. Пример программирования коммуникации действия................................125
2.8.4. Определение интерфейса действий........................................................127
2.8.5. Программирование сервера (Python)......................................................128
2.8.6. Программирование клиента (Python).....................................................130
2.8.7. Программирование клиента (C++)...........................................................132
2.8.8. Программирование сервера (C++)............................................................134
2.8.9. Команды для работы с действиями.........................................................137
2.9. Параметры: глобальный словарь роботизированной системы......................138
2.9.1. Что такое параметры.............................................................................138
2.9.2. Модель коммуникации параметров........................................................139
2.9.3. Работа с параметрами в командной строке.............................................140
2.9.4. Программирование параметров (Python)...............................................142
2.9.5. Программирование параметров (C++)....................................................143
2.9.6. Пример использования параметров: установка порога для
обнаружения объектов...................................................................................145
2.10. Служба распределения данных (DDS): нейронная сеть робота................147
2.10.1. Что такое DDS......................................................................................148
2.10.2. Модель коммуникации DDS....................................................................150
2.10.3. Стратегия обеспечения качества............................................................151
2.10.4. Настройка QoS DDS в командной строке..............................................155
2.10.5. Пример программирования с использованием DDS..............................157
2.11. Распределенная коммуникация.............................................................159
2.11.1. Что такое распределенная коммуникация...........................................160
2.11.2. Удаленное сетевое подключение по SSH..............................................161
2.11.3. Распределенная передача данных.........................................................162
2.11.4. Группы распределенной коммуникации..............................................164
2.11.5. Распределенная коммуникация в примере с черепахой.......................165
2.12. Резюме...............................................................................................166
Глава 3. Часто используемые инструменты ROS 2: упрощаем
разработку роботов.....................................................................................167
3.1. Launch: сценарии запуска и конфигурации нескольких узлов...................167
3.1.1. Способы запуска нескольких узлов.........................................................169
3.1.2. Настройка параметров командной строки.............................................171
3.1.3. Переназначение ресурсов.......................................................................172
3.1.4. Настройка параметров ROS.....................................................................174
3.1.5. Вложенное включение файлов Launch......................................................176
3.2. tf: управление системами координат робота................................................177
3.2.1. Системы координат робота.......................................................................177
3.2.2. Работа с tf из командной строки..............................................................179
3.2.3. Статическая трансляция tf (Python).........................................................182
3.2.4. Статическая трансляция tf (C++)..............................................................184
3.2.5. Динамическая трансляция tf (Python).....................................................185
3.2.6. Динамическая трансляция tf (C++)..........................................................188
3.2.7. Прослушивание tf (Python)........................................................................190
3.2.8. Прослушивание tf (C++).............................................................................192
3.2.9. Пример комплексного применения tf: следование (Python)............................196
3.2.10. Пример комплексного применения tf: следование (C++)..............................201
3.3. Gazebo: платформа для трехмерного физического моделирования роботов........204
3.3.1. Введение в Gazebo......................................................................................204
3.3.2. Пример моделирования робота.....................................................................208
3.3.3. Пример моделирования датчиков..............................................................210
3.4. RViz: платформа визуализации данных.........................................................211
3.4.1. Введение в RViz...........................................................................................211
3.4.2. Процесс визуализации данных.................................................................214
3.4.3. Пример 1: визуализация данных tf..........................................................216
3.4.4. Пример 2: визуализация данных изображений............................................219
3.4.5. Взаимосвязь Gazebo и RViz........................................................................220
3.5. rosbag: запись и воспроизведение данных....................................................221
3.5.1. Запись данных.........................................................................................221
3.5.2. Воспроизведение данных..........................................................................223
3.6. rqt: модульный набор инструментов для визуализации...................................224
3.6.1. Введение в rqt..........................................................................................225
3.6.2. Отображение журналов.............................................................................225
3.6.3. Отображение изображений.......................................................................227
3.6.4. Публикация данных тем и служб..............................................................228
3.6.5. Построение графиков данных..................................................................228
3.6.6. Управление пакетами данных..................................................................229
3.6.7. Визуализация узлов....................................................................................229
3.7. Настройка среды разработки ROS 2.................................................................231
3.7.1. Система управления версиями Git.................................................................231
3.7.2. Интегрированная среда разработки VSCode.................................................233
3.8. Резюме.........................................................................................................235
Глава 4. ROS 2: моделирование роботов без затрат................................................237
4.1. Понятие робота и его составные части...........................................................237
4.2. Моделирование робота с использованием URDF...............................................240
4.2.1. Описание связей.........................................................................................242
4.2.2. Описание суставов......................................................................................245
4.2.3. Полная модель робота................................................................................246
4.3. Создание URDF-модели робота........................................................................247
4.3.1. Пакет функций модели робота.................................................................247
4.3.2. Визуализация модели робота...................................................................248
4.3.3. Анализ модели робота...............................................................................252
4.4. Оптимизация модели робота с использованием XACRO.................................256
4.4.1. Основные синтаксические конструкции файлов XACRO.............................256
4.4.2. Оптимизация модели робота....................................................................258
4.4.3. Визуализация модели робота...................................................................261
4.5. Совершенствование симуляционной модели робота......................................262
4.5.1. Совершенствование физических параметров............................................262
4.5.2. Добавление модуля контроллера.............................................................263
4.6. Симуляция робота в Gazebo.......................................................................265
4.6.1. Загрузка модели робота в Gazebo.............................................................265
4.6.2. Симуляция управления движением робота...........................................269
4.6.3. Симуляция и визуализация RGB-камеры...............................................270
4.6.4. Симуляция и визуализация RGBD-камеры.............................................274
4.6.5. Симуляция и визуализация лазерного дальномера..............................279
4.7. Резюме.......................................................................................................282
Глава 5. Создание робота с ROS 2: от симуляции
к реальному устройству......................................................................................284
5.1. От симуляции к реальному роботу.................................................................284
5.1.1. Анализ конкретного примера...................................................................284
5.1.2. Проектирование робота.............................................................................286
5.1.3. Проектирование программной архитектуры.............................................288
5.1.4. Настройка среды разработки на компьютере...........................................289
5.1.5. Тестирование симуляции робота.............................................................291
5.2. Проектирование приводной системы: робот начинает двигаться...................291
5.2.1. Принцип работы привода двигателя: от ШИМ-регулятора до H-моста.........292
5.2.2. Программирование управления прямым и обратным
вращениями двигателя....................................................................................297
5.3. Управление движением шасси: стабильное движение робота...................301
5.3.1. Принцип измерения скорости с помощью энкодера................................302
5.3.2. Программирование измерения скорости с помощью энкодеров...............303
5.3.3. Методы замкнутого управления двигателем..........................................307
5.3.4. Программирование замкнутого управления двигателем..........................315
5.4. Решение прямой и обратной задач кинематики: точное движение робота...318
5.4.1. Распространенные кинематические модели роботов...............................318
5.4.2. Принципы дифференциальной кинематики............................................326
5.4.3. Обратная задача дифференциальной кинематики: вычисление
скоростей двух колес.........................................................................................328
5.4.4. Прямая задача дифференциальной кинематики: вычисление
общей скорости робота........................................................................................329
5.5. Что еще есть в контроллере движения...........................................................329
5.5.1. Управление питанием: один вход, много выходов....................................330
5.5.2. IMU: контроль положения робота............................................................332
5.5.3. Человеко-машинное взаимодействие: ясность состояния
на низком уровне...........................................................................................337
5.6. Система управления роботом: от «мышц» к «мозгу»...................................338
5.6.1. Вычислительная платформа системы управления...............................338
5.6.2. Прошивка и настройка системы управления.........................................339
5.7. Резюме.....................................................................................................346
Глава 6. Управление и восприятие в ROS 2: учим робота
двигаться и видеть..........................................................................................348
6.1. Разработка протокола коммуникации робота...............................................348
6.1.1. Проектирование протокола коммуникации..........................................349
6.1.2. Пример анализа протокола коммуникации...........................................350
6.1.3. Разработка протокола на стороне контроллера движения
(нижний уровень)..............................................................................................354
6.1.4. Разработка протокола на стороне прикладного процессора
(верхний уровень).............................................................................................361
6.2. Разработка привода ROS 2 для шасси робота................................................366
6.2.1. Привод ROS 2 для шасси робота...............................................................366
6.2.2. Подписка на тему управления скоростью...............................................369
6.2.3. Тема одометрии и поддержка tf...............................................................373
6.2.4. Динамический мониторинг состояния робота......................................382
6.3. Программирование и визуализация движения робота...............................385
6.3.1. Определение сообщений управления скоростью в ROS 2....................385
6.3.2. Программирование движения и визуализация.....................................387
6.4. Драйвер камеры и данные изображения.......................................................389
6.4.1. Распространенные типы камер................................................................389
6.4.2. Драйвер камеры и визуализация.............................................................390
6.4.3. Определение сообщения изображения в ROS 2.....................................393
6.4.4. Драйвер и визуализация трехмерной камеры.......................................396
6.4.5. Определение сообщений облака точек в ROS 2.....................................397
6.5. Драйвер и визуализация лазерного дальномера..........................................398
6.5.1. Типы лазерных дальномеров....................................................................398
6.5.2. Определение сообщения дальномера в ROS 2..........................................401
6.5.3. Драйверы лазерного дальномера и визуализация данных.........................402
6.6. Драйвер IMU и визуализация данных.............................................................405
6.6.1. Определение сообщений IMU в ROS 2.....................................................405
6.6.2. Драйвер и визуализация IMU....................................................................406
6.7. Резюме......................................................................................................408
Глава 7. Визуальные приложения ROS 2: учим роботов понимать мир...................410
7.1. Введение в принципы машинного зрения.....................................................411
7.2. Калибровка камеры в ROS 2.......................................................................414
7.2.1. Установка пакета для калибровки камеры.................................................414
7.2.2. Запуск узла калибровки камеры...............................................................415
7.2.3. Процесс калибровки камеры.....................................................................416
7.2.5. Калибровка стереокамеры.........................................................................423
7.3. Обработка изображений с помощью OpenCV................................................424
7.3.1. Установка OpenCV.......................................................................................425
7.3.2. Использование OpenCV в ROS 2................................................................425
7.4. Визуальное приложение 1. Навигация по линии..........................................428
7.4.1. Основные принципы и реализация.........................................................428
7.4.2. Симуляция визуального следования робота за линией............................430
7.4.3. Визуальное следование по линии реального робота................................435
7.5. Визуальное приложение 2. Распознавание QR-кодов..................................436
7.5.1. Библиотека Zbar для сканирования QR-кодов........................................437
7.5.2. Распознавание QR-кодов с помощью камеры.........................................438
7.5.3. Распознавание QR-кодов с помощью камеры реального робота................441
7.5.4. Следование реального робота за QR-кодом............................................442
7.6. Приложение машинного обучения 1. Визуальное следование по линии
с использованием глубокого обучения............................................................444
7.6.1. Основные принципы и структура реализации...........................................445
7.6.2. Визуальное движение по линии с использованием глубокого обучения.......446
7.6.3. Сбор данных и обучение модели..............................................................447
7.6.4. Оценка эффективности модели................................................................451
7.6.5. Развертывание модели на роботе.............................................................452
7.7. Приложение машинного обучения 2. Обнаружение объектов
с помощью YOLO..............................................................................................455
7.7.1. Основные принципы и структура реализации............................................455
7.7.2. Развертывание обнаружения объектов с помощью YOLO............................458
7.7.3. Сбор данных и обучение модели..............................................................460
7.7.4. Обнаружение целей и следование робота за ними.....................................464
7.8. Резюме.....................................................................................................465
Глава 8. Построение карт с помощью ROS 2: роботы понимают
окружающую среду..........................................................................................466
8.1. Принципы построения карт с помощью SLAM...............................................466
8.1.1. Что такое SLAM.......................................................................................467
8.1.2. Основные принципы SLAM.......................................................................469
8.1.3. Оптимизация бэкенда SLAM.....................................................................471
8.2. Построение карт с помощью SLAM Toolbox...................................................474
8.2.1. Принцип работы алгоритма......................................................................475
8.2.2. Установка и настройки.............................................................................476
8.2.3. Построение карт с помощью SLAM Toolbox в симуляционной среде..............476
8.2.4. Построение карт с помощью SLAM Toolbox и реального робота....................478
8.3. Cartographer: построение двумерных карт....................................................481
8.3.1. Принцип работы алгоритма......................................................................481
8.3.2. Установка и настройка...............................................................................482
8.3.3. Построение карты Cartographer в симуляционной среде................................484
8.3.4. Реальный робот...........................................................................................488
8.4. ORB: построение визуальных карт..................................................................490
8.4.1. Принципы алгоритма................................................................................491
8.4.2. Установка и настройка...............................................................................493
8.4.3. Построение карты ORB на реальном роботе................................................495
8.5. RTAB: построение трехмерной карты.............................................................497
8.5.1. Принципы алгоритма................................................................................497
8.5.2. Установка и конфигурация........................................................................498
8.5.3. Построение карты RTAB в симуляционной среде.........................................500
8.5.4. Построение карты RTAB с реальным роботом..............................................503
8.6. Резюме......................................................................................................505
Глава 9. Автономная навигация в ROS 2: свобода движения робота.....................506
9.1. Принципы автономной навигации робота....................................................506
9.2. Архитектура автономной навигации Nav2....................................................508
9.2.1. Архитектура системы.................................................................................508
9.2.2. Глобальная навигация................................................................................510
9.2.3. Локальная навигация.................................................................................511
9.2.4. Функция локализации................................................................................514
9.3. Установка и использование Nav2.....................................................................515
9.3.1. Установка Nav2............................................................................................515
9.3.2. Работа с примерами Nav2..........................................................................516
9.4. Симуляция автономной навигации робота...................................................518
9.4.1. Настройка параметров Nav2.....................................................................518
9.4.2. Конфигурация файла запуска Launch......................................................520
9.4.3. Симуляция автономной навигации робота................................................522
9.5. Автономная навигация робота на практике..................................................525
9.5.1. Конфигурация навигационной карты........................................................525
9.5.2. Конфигурация параметров Nav2 и файла запуска Launch...........................526
9.5.3. Автономная навигация робота на практике...............................................528
9.6. Программирование автономной навигации робота........................................531
9.6.1. Работа функции......................................................................................531
9.6.2. Методы программирования (C++).............................................................532
9.6.3. Методы программирования (Python)..........................................................533
9.7. Применение навигации для автономного исследования робота.......................534
9.7.1. Автономное исследование с использованием Nav2 и SLAM Toolbox...............534
9.7.2. Автономное исследование Nav2 + Cartographer...........................................537
9.8. Резюме.......................................................................................................540
Предметный указатель.......................................................................................542
Скриншоты:


Время раздачи: с 10 до 20 (минимум до появления первых 3-5 скачавших)
[NNMClub.to]_CHun'syuy Hu., TSyaolun Li - ROS 2. Programmirovanie intellektual'nyih robotov - 2025.pdf.torrent
 Торрент: Платиновая раздача  Зарегистрирован
 
Скачать


Примагнититься
 Зарегистрирован:   31 Июл 2026 01:04:03
 Размер:   42.7 MB  (
 Рейтинг:   4.9 (Голосов: 37)
 Поблагодарили:   165
 Проверка:   Оформление проверено модератором 31 Июл 2026 07:45:38
Как cкачать  ·  Как раздать  ·  Правильно оформить  ·  Поднять ратио!  
Показать сообщения:   
Начать новую тему   Ответить на тему    Торрент-трекер NNM-Club -> Компьютерная литература Часовой пояс: GMT + 3
Страница 1 из 1