书籍详情
《ROS 2智能机器人开发实践》[66M]百度网盘|亲测有效|pdf下载
  • ROS 2智能机器人开发实践

  • 出版社:电子工业出版社
  • 作者:胡春旭,李乔龙 著
  • 出版时间:2025-01-01
  • 热度:8488
  • 上架时间:2025-01-04 08:18:29
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

产品特色

编辑推荐

适读人群 :本书不仅适合希望了解、学习、应用ROS 2的机器人初学者,也适合有一定经验的机器人开发工程师,同时可以作为资深机器人开发者的参考手册。

本书特色:

(1)知名ROS机器人社区【古月居】2025官方出品,500页机器人入门者案头手册

(2)作者硬核:胡春旭、李乔龙

(3)本书基于稳定版ROS 2 Jazzy,全新Gazebo机器人仿真平台,配源码,且提供Python和C++两个版本

(4)实操性强:以RDK X3、RDK X5——OriginBot智能机器人开源套件为原型讲解,易于读者上手

(5)实践出真知:手把手教读者从零构建一个完整的机器人系统

(6)携手迈进通用智能新时代:社区支持,专属读者群


内容简介

本书以ROS 2核心原理为主线,以机器人开发实践为重心,在详细讲解ROS 2核心概念、组件工具的基础上,介绍ROS 2构建仿真/实物机器人系统的方法,剖析ROS 2用于视觉识别、地图构建、自主导航等应用的方法,配有大量图表、源码等,帮助读者在实现ROS 2基础功能的同时,深入理解基于ROS 2的机器人开发方法,从而将书中的内容用于实践。 本书采用最新稳定版本ROS 2系统和全新一代Gazebo机器人仿真平台,读者只需准备一台计算机,就可以快速上手学习。同时,本书介绍了实物机器人的搭建方法及相应功能的实现,书中源码都加入了中文注释,并针对核心内容提供C++和Python两个版本。为方便读者阅读和学习本书,笔者团队还专门创建了一个网页,供读者下载配套源码、查看操作指令、学习配套视频教程。

作者简介

胡春旭,ROS机器人社区“古月居”创始人,D-Robotics开发者生态负责人。专注于机器人操作系统及人工智能相关技术的推广与应用,撰写了《ROS机器人开发实践》《移动机器人原理与应用(基于ROS操作系统)》等多本畅销技术书。主导了基于RDK机器人开发者套件的全新机器人开发范式的研发工作,任教于多所高校及机器人/人工智能教育平台。曾获2019 ROS全球十大影响力人物、ROS布道师等荣誉称号。


李乔龙,ROS机器人社区“古月居”负责人,负责古月居社区生态的推广、建设和产品研发。主导设计了古月居Origin系列机器人套件。曾负责全国大学生智能汽车竞赛地平线赛项策划与推广,学生时期获得过多项全国机器人国家级奖项。目前专注于机器人技术和人工智能技术的推广与应用。

目录

第1部分 ROS 2 基础原理
1 ROS:智能机器人的灵魂 2
1.1 智能机器人时代 2
1.2 ROS 发展历程 3
1.2.1 ROS 的起源 3
1.2.2 ROS 的发展 4
1.2.3 ROS 的特点 6
1.3 ROS 2 与 ROS 1 7
1.3.1 ROS 1 的局限性 7
1.3.2 全新的 ROS 2 8
1.3.3 ROS 2 与 ROS 1 的对比 10
1.4 ROS 2 安装方法 13
1.4.1 Linux 是什么 14
1.4.2 Ubuntu 是什么 14
1.4.3 Ubuntu 操作系统安装 15
1.4.4 ROS 2 系统安装 18
1.5 ROS 2 命令行操作 20
1.5.1 Linux 中的命令行 21
1.5.2 海龟仿真实践 25
1.5.3 ROS 2 中的命令行 26
1.6 本章小结 31

2 ROS 2 核心原理:构建机器人的基石 32
2.1 ROS 2 机器人开发流程 32
2.2 工作空间:机器人开发的大本营 34
2.2.1 工作空间是什么 34
2.2.2 创建工作空间 35
2.2.3 编译工作空间 36
2.2.4 设置环境变量 37
2.3 功能包:机器人功能分类 37
2.3.1 功能包是什么 38
2.3.2 创建功能包 38
2.3.3 功能包的结构 39
2.3.4 编译功能包 44
2.4 节点:机器人的工作细胞 45
2.4.1 节点是什么 46
2.4.2 节点编程方法(Python) 47
2.4.3 节点编程方法(C++) 49
2.4.4 节点的命令行操作 51
2.4.5 节点应用示例:目标检测 52
2.5 话题:节点间传递数据的桥梁 54
2.5.1 话题是什么 55
2.5.2 话题通信模型 55
2.5.3 话题通信编程示例 57
2.5.4 话题发布者编程方法(Python) 58
2.5.5 话题订阅者编程方法(Python) 59
2.5.6 话题发布者编程方法(C++) 60
2.5.7 话题订阅者编程方法(C++) 62
2.5.8 话题的命令行操作 63
2.5.9 话题应用示例:目标检测(周期式) 64
2.6 服务:节点间的你问我答 68
2.6.1 服务是什么 68
2.6.2 服务通信模型 69
2.6.3 服务通信编程示例 70
2.6.4 客户端编程方法(Python) 71
2.6.5 服务端编程方法(Python) 72
2.6.6 客户端编程方法(C++) 73
2.6.7 服务端编程方法(C++) 75
2.6.8 服务的命令行操作 76
2.6.9 服务应用示例:目标检测(请求式) 77
2.7 通信接口:数据传递的标准结构 80
2.7.1 通信接口是什么 80
2.7.2 通信接口的定义方法 82
2.7.3 通信接口的命令行操作 85
2.7.4 服务接口应用示例:请求目标检测的坐标 86
2.7.5 话题接口应用示例:周期性发布目标检测的坐标 89
2.8 动作:完整行为的流程管理 93
2.8.1 动作是什么 93
2.8.2 动作通信模型 93
2.8.3 动作通信编程示例 95
2.8.4 动作接口的定义方法 96
2.8.5 服务端编程方法(Python) 97
2.8.6 客户端编程方法(Python) 99
2.8.7 客户端编程方法(C++) 101
2.8.8 服务端编程方法(C++) 104
2.8.9 动作的命令行操作 107
2.9 参数:机器人系统的全局字典 107
2.9.1 参数是什么 108
2.9.2 参数通信模型 108
2.9.3 参数的命令行操作 109
2.9.4 参数编程方法(Python) 111
2.9.5 参数编程方法(C++) 112
2.9.6 参数应用示例:设置目标检测的阈值 113
2.10 数据分发服务(DDS):机器人的神经网络 116
2.10.1 DDS 是什么 116
2.10.2 DDS 通信模型 118
2.10.3 质量服务策略 QoS 120
2.10.4 命令行中配置 DDS 的 QoS 123
2.10.5 DDS 编程示例 125
2.11 分布式通信 128
2.11.1 分布式通信是什么 128
2.11.2 SSH 远程网络连接 128
2.11.3 分布式数据传输 130
2.11.4 分布式网络分组 132
2.11.5 海龟分布式通信示例 133
2.12 本章小结 133

3 ROS 2 常用工具:让机器人开发更便捷 134
3.1 Launch:多节点启动与配置脚本 134
3.1.1 多节点启动方法 136
3.1.2 命令行参数配置 137
3.1.3 资源重映射 139
3.1.4 ROS 参数设置 141
3.1.5 Launch 启动文件嵌套包含 143
3.2 tf:机器人坐标系管理系统 144
3.2.1 机器人中的坐标系 145
3.2.2 tf 命令行操作 146
3.2.3 静态 tf 广播(Python) 149
3.2.4 静态 tf 广播(C++) 151
3.2.5 动态 tf 广播(Python) 153
3.2.6 动态 tf 广播(C++) 155
3.2.7 tf 监听(Python) 157
3.2.8 tf 监听(C++) 160
3.2.9 tf 综合应用示例:海龟跟随(Python) 163
3.2.10 tf 综合应用示例:海龟跟随(C++) 168
3.3 Gazebo:机器人三维物理仿真平台 172
3.3.1 Gazebo 介绍 172
3.3.2 机器人仿真示例 175
3.3.3 传感器仿真示例 177
3.4 RViz:数据可视化平台 178
3.4.1 RViz 介绍 178
3.4.2 数据可视化操作流程 181
3.4.3 应用示例一:tf 数据可视化 182
3.4.4 应用示例二:图像数据可视化 184
3.4.5 Gazebo 与 RViz 的关系 186
3.5 rosbag:数据记录与回放 186
3.5.1 记录数据 187
3.5.2 回放数据 188
3.6 rqt:模块化可视化工具箱 189
3.6.1 rqt 介绍 189
3.6.2 日志显示 190
3.6.3 图像显示 191
3.6.4 发布话题/服务数据 192
3.6.5 绘制数据曲线 193
3.6.6 数据包管理 193
3.6.7 节点可视化 194
3.7 ROS 2 开发环境配置 195
3.7.1 版本管理软件 git 195
3.7.2 集成开发环境 VSCode 196
3.8 本章小结 198

第 2 部分 ROS 2 机器人设计
4 ROS 2 机器人仿真:零成本玩转机器人 200
4.1 机器人的定义与组成 200
4.2 URDF 机器人建模 203
4.2.1 连杆的描述 204
4.2.2 关节的描述 206
4.2.3 完整机器人模型 208
4.3 创建机器人URDF模型 209
4.3.1 机器人模型功能包 209
4.3.2 机器人模型可视化 209
4.3.3 机器人模型解析 213
4.4 XACRO机器人模型优化 217
4.4.1 XACRO文件常见语法 218
4.4.2 机器人模型优化 219
4.4.3 机器人模型可视化 223
4.5 完善机器人仿真模型 223
4.5.1 完善物理参数 224
4.5.2 添加控制器插件 225
4.6 Gazebo 机器人仿真 226
4.6.1 在Gazebo中加载机器人模型 226
4.6.2 机器人运动控制仿真 230
4.6.3 RGB相机仿真与可视化 232
4.6.4 RGBD相机仿真与可视化 236
4.6.5 激光雷达仿真与可视化 241
4.7 本章小结 244

5 ROS 2 机器人构建:从仿真到实物 245
5.1 机器人从仿真到实物 245
5.1.1 案例剖析 245
5.1.2 机器人设计 247
5.1.3 软件架构设计 248
5.1.4 计算机端开发环境配置 249
5.1.5 机器人仿真测试 251
5.2 驱动系统设计:让机器人动得了 251
5.2.1 电机驱动原理:从PWM到H桥 251
5.2.2 电机正反转控制编程 255
5.3 底盘运动控制:让机器人动得稳 261
5.3.1 电机编码器测速原理 261
5.3.2 编码器测速编程 262
5.3.3 电机闭环控制方法 266
5.3.4 电机闭环控制编程 272
5.4 运动学正逆解:让机器人动得准 275
5.4.1 机常见器人运动学模型 275
5.4.2 差速运动学原理 281
5.4.3 差速运动学逆解:计算两个轮子的转速 283
5.4.4 差速运动学正解:计算机器人整体的速度 284
5.5 运动控制器中还有什么 284
5.5.1 电源管理:一个输入多种输出 285
5.5.2 IMU:测量机器人的姿态变化 287
5.5.3 人机交互:底层状态清晰明了 291
5.6 机器人控制系统:从“肌肉”到“大脑” 292
5.6.1 控制系统的计算平台 293
5.6.2 控制系统的烧写与配置 293
5.7 本章小结 300

6 ROS 2 控制与感知:让机器人动得了、看得见 301
6.1 机器人通信协议开发 301
6.1.1 通信协议设计 302
6.1.2 通信协议示例解析 303
6.1.3 运动控制器端协议开发(下位机) 306
6.1.4 应用处理器端协议开发(上位机) 314
6.2 机器人 ROS 2 底盘驱动开发 318
6.2.1 机器人 ROS 2 底盘驱动 318
6.2.2 速度控制话题的订阅 321
6.2.3 里程计话题与 tf 的维护 324
6.2.4 机器人状态的动态监控 333
6.3 机器人运动编程与可视化 336
6.3.1 ROS 2 速度控制消息定义 337
6.3.2 运动编程与可视化 338
6.4 相机驱动与图像数据 339
6.4.1 常用相机类型 340
6.4.2 相机驱动与可视化 341
6.4.3 ROS 2 图像消息定义 343
6.4.4 三维相机驱动与可视化 346
6.4.5 ROS 2 点云消息定义 347
6.5 激光雷达驱动与可视化 348
6.5.1 常见激光雷达类型 348
6.5.2 ROS 2 雷达消息定义 349
6.5.3 激光雷达驱动与数据可视化 351
6.6 IMU 驱动与数据可视化 354
6.6.1 ROS 2 IMU 消息定义 354
6.6.2 IMU 驱动与可视化 354
6.7 本章小结 356

第 3 部分 ROS 2 机器人应用
7 ROS 2 视觉应用:让机器人看懂世界 358
7.1 机器视觉原理简介 358
7.2 ROS 2 相机标定 361
7.2.1 安装相机标定功能包 361
7.2.2 运行相机标定节点 362
7.2.3 相机标定流程 362
7.2.4 相机标定文件的使用 366
7.2.5 双目相机标定 370
7.3 OpenCV 图像处理 371
7.3.1 安装 OpenCV 371
7.3.2 在 ROS 2 中使用 OpenCV 371
7.4 视觉应用一:视觉巡线 374
7.4.1 基本原理与实现框架 374
7.4.2 机器人视觉巡线仿真 376
7.4.3 真实机器人视觉巡线 381
7.5 视觉应用二:二维码识别 382
7.5.1 二维码扫描库――Zbar 382
7.5.2 相机识别二维码 383
7.5.3 真实机器人相机识别二维码 387
7.5.4 真实机器人二维码跟随 388
7.6 机器学习应用一:深度学习视觉巡线 389
7.6.1 基本原理与实现框架 390
7.6.2 深度学习视觉巡线应用 390
7.6.3 数据采集与模型训练 392
7.6.4 模型效果评估测试 395
7.6.5 在机器人中部署模型 396
7.7 机器学习应用二:YOLO 目标检测 399
7.7.1 基本原理与实现框架 399
7.7.2 YOLO 目标检测部署 401
7.7.3 数据采集与模型训练 403
7.7.4 机器人目标检测与跟随 406
7.8 本章小结 407

8 ROS 2 地图构建:让机器人理解环境 408
8.1 SLAM 地图构建原理 408
8.1.1 SLAM 是什么 408
8.1.2 SLAM 基本原理 411
8.1.3 SLAM 后端优化 412
8.2 SLAM Toolbox 地图构建 414
8.2.1 算法原理介绍 415
8.2.2 安装与配置方法 415
8.2.3 仿真环境中的 SLAM Toolbox 地图构建 416
8.2.4 真实机器人 SLAM Toolbox 地图构建 418
8.3 Cartographer:二维地图构建 420
8.3.1 算法原理介绍 421
8.3.2 安装与配置方法 . 422
8.3.3 仿真环境中的 Cartographer 地图构建 423
8.3.4 真实机器人 Cartographer 地图构建 427
8.4 ORB:视觉地图构建 430
8.4.1 算法原理介绍 430
8.4.2 安装与配置方法 . 432
8.4.3 真实机器人 ORB 地图构建 434
8.5 RTAB:三维地图构建 435
8.5.1 算法原理介绍 436
8.5.2 安装与配置方法 436
8.5.3 仿真环境中的RTAB地图构建 438
8.5.4 真实机器人RTAB地图构建 441
8.6 本章小结 443

9 ROS 2 自主导航:让机器人运动自由 444
9.1 机器人自主导航原理 444
9.2 Nav2 自主导航框架 445
9.2.1 系统框架 445
9.2.2 全局导航 447
9.2.3 局部导航 448
9.2.4 定位功能 450
9.3 Nav2安装与体验 452
9.3.1 Nav2安装方法 452
9.3.2 Nav2案例体验 452
9.4 机器人自主导航仿真 455
9.4.1 Nav2参数配置 455
9.4.2 Launch启动文件配置 456
9.4.3 机器人自主导航仿真 458
9.5 机器人自主导航实践 461
9.5.1 导航地图配置 461
9.5.2 Nav2 参数与Launch启动文件配置 462
9.5.3 机器人自主导航实践 464
9.6 机器人自主导航编程 467
9.6.1 功能运行 467
9.6.2 编程方法(C++) 468
9.6.3 编程方法(Python) 469
9.7 机器人自主探索应用 470
9.7.1 Nav2+SLAM Toolbox 自主探索应用 470
9.7.2 Nav2+Cartographer 自主探索应用 473
9.8 本章小结 476

精彩书摘

从PC到智能手机,下一个更大的计算平台是什么?最佳答案可能是机器人。如果设想成真,则需要有人为机器人“造脑”,即打造适配的计算平台及操作系统。本书作者胡春旭不仅是机器人领域的专家,更是ROS在中国的重要推广者之一,在他的影响下,上百万开发者走上ROS机器人开发之路,其中不乏现今机器人行业的众多中流砥柱。同时,本书作者从开发者中来,也能回到开发者中去,正在带领地瓜机器人开发者生态团队,打造全新一代机器人开发者套件RDK,以及在此之上的多元化软件和应用生态,探索未来机器人开发的新范式。

本书内容翔实、深入浅出,读者看到的不仅是ROS 2中丰富的概念和操作,更是其背后的原理和应用效果,机器人初学者可以快速上手实践,经验丰富的开发者也可以有很多收获。机器人时代终将到来,ROS是这个新时代的加速器,需要众多开发者加入,共同打造无处不在的智能机器人世界。地平线机器人和地瓜机器人也会持续致力于让科技飞入寻常百姓家,让每一个普通人能够享受科技创造的价值。

地平线机器人创始人&CEO,余凯博士


伴随ROS 2的迭代,相关资料和图书陆续出版,古月和古月居依然在最前线,推出了广受好评的《ROS 2入门21讲》视频课程和OriginBot机器人开源套件。这几乎是大家能够找到的资源最全的ROS 2开发集合,能一站式解决开发者从入门到开发的全栈学习需求。本书的内容,更是汇聚了所有精华,内容扎实,深入浅出,无论是对ROS 2毫无了解的开发者,还是对正在使用ROS 2开发机器人的工程师,都是绝佳的选择。

华东师范大学教授,ROS暑期学校发起人,张新宇博士

随着ROS 2的诞生,智能机器人开发迎来新篇章,它不仅为开发者提供了更为强大、灵活的工具,也为智能机器人的未来开辟了无限可能。作为全球3D视觉技术的领航者,奥比中光不断推动ROS教育的普及,并在3D视觉技术与机器人融合应用上持续创新,助力机器人拥有更高层次的“视觉”智能。本书是国内针对ROS 2的实用教材,不仅系统性地梳理了ROS的演进脉络,更详尽阐述了从基础工具到高级应用的完整开发流程,相信每一位开发者都能从书中发掘宝贵的知识和灵感。让我们共同期待,在ROS 2的助力下,智能机器人能够迈向更加广阔的未来。

奥比中光创始人,黄源浩博士


随着人工智能的突破式发展,特别是现象级技术GPT的出现,人类社会进入第四次工业革命,智能时代加速来临。智能机器人作为数字世界和物理世界最好的连接体,近年来更是突飞猛进。智能机器人领域如何减少重复工作来提高全产业的创新速度,是当前面临的关键挑战。有一个基础的操作系统技术生态至关重要,历经十几年发展的ROS及ROS生态承载着这个使命。古月居作为ROS坚定的推行者,有多个系列的视频和讲座。本书围绕全新的ROS 2,深入浅出地讲解如何一步一步搭建、开发自己的机器人,是非常棒的一本实践型技术书,力荐给大家。

中国科学院软件研究所副总工程师、openEuler委员会主席,江大勇


本书涵盖了ROS 2的基础知识,是一本为专业人士量身打造的进阶指南。书中深入探讨了ROS 2的基础原理及在机器人视觉、导航等领域的应用,通过丰富的案例和代码示例,帮助读者在掌握机器人高级开发技巧的同时构建全面、立体的ROS 2知识体系。

清华大学智能产业研究院副研究员、副教授,周谷越博士


力荐这本不可多得的宝典,书中不仅深入浅出地介绍了ROS 2的基础知识,还涵盖了从入门到高级应用的全方位实践技巧,无论是机器人开发的新手,还是资深工程师,都能从中获得宝贵的启发和指导。这本书将带领大家体验从基础编程到智能化应用的全过程,是机器人开发者书架上的理想之选。

地瓜机器人CEO,王丛


前言/序言

这本书,讲机器人操作系统(ROS),更讲机器人。

ROS缘起

2007年,一群怀揣梦想的年轻人,正在斯坦福大学的机器人实验室里进行一场头脑风暴:如果可以开发一款硬件足够强大的机器人,再搭配足够好用的软件系统,那么在此之上开发的应用功能就可以被快速分享了。例如,我做的自主导航功能你可以用,你做的物体抓取功能我也可以用,只需开发一个标准化的软硬件平台,在此之上的应用就会逐渐流行,这将打造机器人领域的一个全新“爆品”。类似的原理造就了以计算机为平台的计算机时代,和以手机为平台的移动互联网时代,下一个以机器人为核心的智能机器人时代,是否也会遵循这样的逻辑?

将近20年过去了,以“事后诸葛亮”的视角来看,当时那群年轻人花重金打造的服务机器人并没有走进千家万户。机器人不像计算机或手机,它需要和外界环境产生多种多样的交互,硬件形态非常难以统一,小到纳米医疗机器人、家用娱乐机器人,大到智能驾驶汽车、人形机器人,都是未来会并存的机器人形态。不过,当年遵循“提高机器人软件复用率”思想开发的机器人操作系统——ROS,在2010年开源之后快速发展,助推过去十几年机器人行业的繁荣,逐渐成为智能机器人开发的主流标准。

当然,ROS的快速发展也远超那群年轻人的预期,本来只是为一款家用服务机器人设计的系统,被逐渐用于巡检、运输、农业等众多领域。需求越来越多,问题也越来越多,为了打造一款能够成为通用机器人标准化软件平台的“操作系统”,ROS 2在2014年第一次被提出,之后推出多个测试版本,并于2017 年年底发布第一个正式版本。截至本书定稿时,ROS 2全新的稳定版本Jazzy Jalisco发布,这也代表着ROS 2走向成熟。

本书特色和内容

本书汇聚了我过去十几年的机器人开发经验,虽然将ROS作为贯穿全书的主线,但更重要的是告诉所有读者:ROS既是开发机器人的软件平台,也是软件工具,在开发机器人时,不仅要会用这个工具,还要懂机器人开发的诸多原理。所以,本书不仅会详细讲解ROS 2的基本概念,更会介绍如何将这些概念应用在机器人开发中,同时指导读者从零构建一个完整的机器人系统。

本书共有9章,分为三部分。

第一部分(第1~3章)介绍ROS 2基础原理:主要讲解ROS 2的发展历程、核心原理和组件工具,提供大量的编程和使用示例,为读者全面展示ROS 2的基础原理和功能。

第二部分(第4~6章)介绍ROS 2机器人设计:主要讲解如何使用ROS 2设计一个仿真机器人和实物机器人,有条件的读者甚至可以根据书中内容自己做一个机器人。

第三部分(第7~9章)介绍ROS 2机器人应用:主要讲解使用ROS 2开发机器人视觉识别、地图构建和自主导航等众多应用的方法,让机器人不仅动得了,还能看懂和理解周围的环境,并且产生进一步的交互运动。

本书采用最新稳定版本ROS 2系统和全新一代的Gazebo机器人仿真平台,绝大部分功能和源码可以在单独的计算机和Gazebo仿真平台上运行。同时,本书介绍实物机器人的搭建方法,并且在实物机器人上实现相应的功能。配套源码都加入了中文注释,同时针对核心内容提供C++和Python两个版本,方便读者理解。

所以,本书不仅适合希望了解、学习、应用ROS 2的机器人初学者,也适合有一定经验的机器人开发工程师,同时可以作为资深机器人开发者的参考手册。

致谢

本书的出版离不开众多“贵人”的帮助。感谢我的妻子薛先茹,谢谢你陪我辗转多地并一直无条件支持我;感谢两个对世界充满好奇的小朋友胡敬然、胡泽然,是你们给了我前进的动力和思考的源泉;感谢电子工业出版社的支持,郑柳洁编辑为本书提供了很多宝贵建议,并组织推动本书顺利出版,张晶老师为本书的编排付出了大量心血;感谢本书的另一位作者李乔龙,配合我完成了全书的写作和修正工作;感谢当年斯坦福那群打造ROS 的年轻人:Morgan Quigley、Brian Gerkey、Tully Foote 等,是你们大胆的想法和尝试,带来了机器人开发标准化的可能;感谢ROS 机器人开发之路上一路同行的伙伴,我们都是智能机器人时代的创造者。要感谢的人太多,无法一一列举,但是我都铭记在心。