注册 登录 进入教材巡展
#

出版时间:2025-01

出版社:电子工业出版社

以下为《ROS 2智能机器人开发实践》的配套数字资源,这些资源在您购买图书后将免费附送给您:
  • 电子工业出版社
  • 9787121491733
  • 1-2
  • 540868
  • 16开
  • 2025-01
  • 计算机科学与技术
  • 本科 研究生及以上
内容简介
本书以ROS 2核心原理为主线,以机器人开发实践为重心,在详细讲解ROS 2核心概念、组件工具的基础上,介绍ROS 2构建仿真/实物机器人系统的方法,剖析ROS 2用于视觉识别、地图构建、自主导航等应用的方法,配有大量图表、源码等,帮助读者在实现ROS 2基础功能的同时,深入理解基于ROS 2的机器人开发方法,从而将书中的内容用于实践。 本书采用最新稳定版本ROS 2系统和全新一代Gazebo机器人仿真平台,读者只需准备一台计算机,就可以快速上手学习。同时,本书介绍了实物机器人的搭建方法及相应功能的实现,书中源码都加入了中文注释,并针对核心内容提供C++和Python两个版本。为方便读者阅读和学习本书,笔者团队还专门创建了一个网页,供读者下载配套源码、查看操作指令、学习配套视频教程。
目录
第1部分 ROS 2 基础原理__eol__1 ROS:智能机器人的灵魂 2__eol__1.1 智能机器人时代 2 __eol__1.2 ROS 发展历程 3__eol__1.2.1 ROS 的起源 3__eol__1.2.2 ROS 的发展 4__eol__1.2.3 ROS 的特点 6__eol__1.3 ROS 2 与 ROS 1 7__eol__1.3.1 ROS 1 的局限性 7__eol__1.3.2 全新的 ROS 2 8__eol__1.3.3 ROS 2 与 ROS 1 的对比 10__eol__1.4 ROS 2 安装方法 13__eol__1.4.1 Linux 是什么 14__eol__1.4.2 Ubuntu 是什么 14__eol__1.4.3 Ubuntu 操作系统安装 15__eol__1.4.4 ROS 2 系统安装 18__eol__1.5 ROS 2 命令行操作 20__eol__1.5.1 Linux 中的命令行 21__eol__1.5.2 海龟仿真实践 25__eol__1.5.3 ROS 2 中的命令行 26__eol__1.6 本章小结 31__eol____eol__2 ROS 2 核心原理:构建机器人的基石 32__eol__2.1 ROS 2 机器人开发流程 32__eol__2.2 工作空间:机器人开发的大本营 34__eol__2.2.1 工作空间是什么 34__eol__2.2.2 创建工作空间 35__eol__2.2.3 编译工作空间 36__eol__2.2.4 设置环境变量 37__eol__2.3 功能包:机器人功能分类 37__eol__2.3.1 功能包是什么 38__eol__2.3.2 创建功能包 38__eol__2.3.3 功能包的结构 39__eol__2.3.4 编译功能包 44__eol__2.4 节点:机器人的工作细胞 45__eol__2.4.1 节点是什么 46__eol__2.4.2 节点编程方法(Python) 47__eol__2.4.3 节点编程方法(C++) 49__eol__2.4.4 节点的命令行操作 51__eol__2.4.5 节点应用示例:目标检测 52__eol__2.5 话题:节点间传递数据的桥梁 54__eol__2.5.1 话题是什么 55__eol__2.5.2 话题通信模型 55__eol__2.5.3 话题通信编程示例 57__eol__2.5.4 话题发布者编程方法(Python) 58__eol__2.5.5 话题订阅者编程方法(Python) 59__eol__2.5.6 话题发布者编程方法(C++) 60__eol__2.5.7 话题订阅者编程方法(C++) 62__eol__2.5.8 话题的命令行操作 63__eol__2.5.9 话题应用示例:目标检测(周期式) 64__eol__2.6 服务:节点间的你问我答 68__eol__2.6.1 服务是什么 68__eol__2.6.2 服务通信模型 69__eol__2.6.3 服务通信编程示例 70__eol__2.6.4 客户端编程方法(Python) 71__eol__2.6.5 服务端编程方法(Python) 72__eol__2.6.6 客户端编程方法(C++) 73__eol__2.6.7 服务端编程方法(C++) 75__eol__2.6.8 服务的命令行操作 76__eol__2.6.9 服务应用示例:目标检测(请求式) 77__eol__2.7 通信接口:数据传递的标准结构 80__eol__2.7.1 通信接口是什么 80__eol__2.7.2 通信接口的定义方法 82__eol__2.7.3 通信接口的命令行操作 85__eol__2.7.4 服务接口应用示例:请求目标检测的坐标 86__eol__2.7.5 话题接口应用示例:周期性发布目标检测的坐标 89__eol__2.8 动作:完整行为的流程管理 93__eol__2.8.1 动作是什么 93__eol__2.8.2 动作通信模型 93__eol__2.8.3 动作通信编程示例 95__eol__2.8.4 动作接口的定义方法 96__eol__2.8.5 服务端编程方法(Python) 97__eol__2.8.6 客户端编程方法(Python) 99__eol__2.8.7 客户端编程方法(C++) 101__eol__2.8.8 服务端编程方法(C++) 104__eol__2.8.9 动作的命令行操作 107__eol__2.9 参数:机器人系统的全局字典 107__eol__2.9.1 参数是什么 108__eol__2.9.2 参数通信模型 108__eol__2.9.3 参数的命令行操作 109__eol__2.9.4 参数编程方法(Python) 111__eol__2.9.5 参数编程方法(C++) 112__eol__2.9.6 参数应用示例:设置目标检测的阈值 113__eol__2.10 数据分发服务(DDS):机器人的神经网络 116__eol__2.10.1 DDS 是什么 116__eol__2.10.2 DDS 通信模型 118__eol__2.10.3 质量服务策略 QoS 120__eol__2.10.4 命令行中配置 DDS 的 QoS 123__eol__2.10.5 DDS 编程示例 125__eol__2.11 分布式通信 128__eol__2.11.1 分布式通信是什么 128__eol__2.11.2 SSH 远程网络连接 128__eol__2.11.3 分布式数据传输 130__eol__2.11.4 分布式网络分组 132__eol__2.11.5 海龟分布式通信示例 133__eol__2.12 本章小结 133__eol____eol__3 ROS 2 常用工具:让机器人开发更便捷 134__eol__3.1 Launch:多节点启动与配置脚本 134__eol__3.1.1 多节点启动方法 136__eol__3.1.2 命令行参数配置 137__eol__3.1.3 资源重映射 139__eol__3.1.4 ROS 参数设置 141__eol__3.1.5 Launch 启动文件嵌套包含 143__eol__3.2 tf:机器人坐标系管理系统 144__eol__3.2.1 机器人中的坐标系 145__eol__3.2.2 tf 命令行操作 146__eol__3.2.3 静态 tf 广播(Python) 149__eol__3.2.4 静态 tf 广播(C++) 151__eol__3.2.5 动态 tf 广播(Python) 153__eol__3.2.6 动态 tf 广播(C++) 155__eol__3.2.7 tf 监听(Python) 157__eol__3.2.8 tf 监听(C++) 160__eol__3.2.9 tf 综合应用示例:海龟跟随(Python) 163__eol__3.2.10 tf 综合应用示例:海龟跟随(C++) 168__eol__3.3 Gazebo:机器人三维物理仿真平台 172__eol__3.3.1 Gazebo 介绍 172__eol__3.3.2 机器人仿真示例 175__eol__3.3.3 传感器仿真示例 177__eol__3.4 RViz:数据可视化平台 178__eol__3.4.1 RViz 介绍 178__eol__3.4.2 数据可视化操作流程 181__eol__3.4.3 应用示例一:tf 数据可视化 182__eol__3.4.4 应用示例二:图像数据可视化 184__eol__3.4.5 Gazebo 与 RViz 的关系 186__eol__3.5 rosbag:数据记录与回放 186__eol__3.5.1 记录数据 187__eol__3.5.2 回放数据 188__eol__3.6 rqt:模块化可视化工具箱 189__eol__3.6.1 rqt 介绍 189__eol__3.6.2 日志显示 190__eol__3.6.3 图像显示 191__eol__3.6.4 发布话题/服务数据 192__eol__3.6.5 绘制数据曲线 193__eol__3.6.6 数据包管理 193__eol__3.6.7 节点可视化 194__eol__3.7 ROS 2 开发环境配置 195__eol__3.7.1 版本管理软件 git 195__eol__3.7.2 集成开发环境 VSCode 196__eol__3.8 本章小结 198__eol____eol__第 2 部分 ROS 2 机器人设计__eol__4 ROS 2 机器人仿真:零成本玩转机器人 200__eol__4.1 机器人的定义与组成 200__eol__4.2 URDF 机器人建模 203__eol__4.2.1 连杆的描述 204__eol__4.2.2 关节的描述 206__eol__4.2.3 完整机器人模型 208__eol__4.3 创建机器人URDF模型 209__eol__4.3.1 机器人模型功能包 209__eol