书籍详情

ROS机器人理论与实践

ROS机器人理论与实践

作者:张新钰,赵虚左,邱楠,郭世纯

出版社:清华大学出版社

出版时间:2023-05-01

ISBN:9787302631026

定价:¥72.00

购买这本书可以去
内容简介
  本书针对ROS机器人操作系统的初学者,以理论与实践相结合的设计思想为主线,循序渐进地介绍机器人操作系统,以帮助有志于机器人开发的读者方便快捷地上手ROS。主要内容包括ROS机器人操作系统的基础知识、通信机制、运行管理、机器人系统仿真、实体机器人设计、机器人导航,以及ROS进阶等内容。读者学习完本书后,能够入门ROS机器人操作系统,掌握机器人的相关理论知识、构建属于自己的机器人平台并实现机器人自主导航功能,为基于ROS机器人操作系统的产品开发奠定基础。本书理论结合实践、深入浅出,适用于各类学校的ROS机器人操作系统课程。
作者简介
暂缺《ROS机器人理论与实践》作者简介
目录

第1章ROS概述与开发环境搭建1

1.1ROS简介2

1.1.1ROS概要3

1.1.2ROS的设计目标3

1.1.3ROS发展历程4

1.2ROS安装6

1.2.1安装虚拟机软件6

1.2.2虚拟一台主机10

1.2.3安装和优化Ubuntu12

1.2.4安装ROS20

1.2.5测试ROS22

1.3ROS快速体验24

1.3.1HelloWorld实现简介24

1.3.2HelloWorld(C++版)25

1.3.3HelloWorld(Python版)26

1.4ROS集成开发环境搭建27

1.4.1安装终端27

1.4.2安装VSCode29

1.4.3launch文件演示32

1.5ROS架构32

1.5.1ROS文件系统34

1.5.2ROS文件系统相关命令40

1.5.3ROS计算图41

1.6本章小结42

第2章ROS通信机制43

2.1话题通信43

2.1.1理论模型45

2.1.2基本操作(C++)462.1.3基本操作(Python)49

2.1.4自定义msg51

2.1.5自定义msg调用(C++)53

2.1.6自定义msg调用(Python)56

2.2服务通信58

2.2.1理论模型58

2.2.2自定义srv59

2.2.3自定义srv调用(C++)61

2.2.4自定义srv调用(Python)65

2.3参数服务器68

2.3.1理论模型68

2.3.2参数操作(C++)69

2.3.3参数操作(Python)73

2.4常用命令75

2.4.1rosnode75

2.4.2rostopic75

2.4.3rosmsg76

2.4.4rosservice77

2.4.5rossrv78

2.4.6rosparam78

2.5通信机制实操79

2.5.1话题发布80

2.5.2话题订阅83

2.5.3服务调用86

2.5.4参数设置89

2.6通信机制比较91

2.7本章小结92

〖3〗ROS机器人理论与实践目录〖3〗第3章ROS通信机制进阶93

3.1常用API93

3.1.1初始化93

3.1.2话题与服务相关对象94

3.1.3回旋函数99

3.1.4时间99

3.1.5其他函数103

3.2ROS中的头文件与源文件104

3.2.1自定义头文件调用104

3.2.2自定义源文件调用106

3.3Python模块导入107

3.4本章小结108

第4章ROS运行管理109

4.1ROS元功能包109

4.2ROS节点运行管理launch文件110

4.2.1 标签111

4.2.2 标签111

4.2.3 标签112

4.2.4 标签112

4.2.5标签112

4.2.6 标签113

4.2.7 标签113

4.2.8 标签113

4.3ROS工作空间覆盖114

4.4ROS节点重名115

4.4.1rosrun设置命名空间与名称重映射116

4.4.2launch文件设置命名空间与名称重映射117

4.4.3编码设置命名空间与名称重映射117

4.5ROS话题名称设置117

4.5.1rosrun设置话题重映射118

4.5.2launch文件设置话题重映射119

4.5.3编码设置话题名称119

4.6ROS参数名称设置122

4.6.1rosrun设置参数122

4.6.2launch文件设置参数123

4.6.3编码设置参数123

4.7ROS分布式通信125

4.8本章小结126

第5章ROS常用组件127

5.1TF坐标变换128

5.1.1坐标msg消息129

5.1.2静态坐标变换130

5.1.3动态坐标变换136

5.1.4多坐标变换142

5.1.5坐标系关系查看145

5.1.6TF坐标变换实操146

5.1.7TF2与TF155

5.1.8小结156

5.2rosbag156

5.2.1在命令行使用rosbag157

5.2.2rosbag的编码实现157

5.3rqt工具箱159

5.3.1rqt安装、启动与基本使用160

5.3.2rqt_graph160

5.3.3rqt_console160

5.3.4rqt_plot161

5.3.5rqt_bag162

5.4本章小结163

第6章ROS机器人系统仿真164

6.1机器人系统仿真概述164

6.1.1机器人系统仿真的概念164

6.1.2机器人系统仿真的作用165

6.1.3相关组件165

6.1.4机器人系统仿真综合说明166

6.2URDF集成RViz基本流程167

6.2.1创建功能包并导入依赖包168

6.2.2编写URDF文件168

6.2.3在launch文件中集成URDF与RViz168

6.2.4在RViz中显示机器人模型168

6.2.5优化RViz启动169

6.3URDF语法详解170

6.3.1robot170

6.3.2link171

6.3.3joint172

6.3.4URDF练习176

6.3.5URDF常用工具180

6.4URDF优化——Xacro181

6.4.1Xacro快速体验181

6.4.2Xacro语法详解184

6.4.3Xacro完整使用流程示例184

6.4.4Xacro实操188

6.5在RViz中控制机器人模型运动190

6.6URDF集成Gazebo193

6.6.1URDF与Gazebo基本集成流程193

6.6.2URDF集成Gazebo相关设置195

6.6.3URDF集成Gazebo实操196

6.6.4Gazebo仿真环境搭建202

6.7URDF、Gazebo与RViz综合应用205

6.7.1机器人运动控制以及里程计数据显示205

6.7.2雷达数据仿真以及显示208

6.7.3摄像头数据仿真以及显示211

6.7.4kinect数据仿真以及显示212

6.8本章小结216

第7章仿真环境下的机器人导航218

7.1概述218

7.1.1导航模块简介219

7.1.2导航中的坐标系221

7.1.3导航条件说明221

7.2导航实现222

7.2.1SLAM建图222

7.2.2地图服务225

7.2.3定位227

7.2.4路径规划232

7.2.5导航与SLAM建图238

7.3导航相关消息240

7.3.1地图240

7.3.2里程计241

7.3.3坐标变换241

7.3.4定位242

7.3.5目标点与路径规划242

7.3.6激光雷达243

7.3.7相机244

7.3.8深度图像信息转激光雷达数据245

7.4本章小结249

第8章机器人平台设计250

8.1概述252

8.2Arduino基础252

8.2.1Arduino开发环境搭建253

8.2.2Arduino基本语法257

8.2.3Arduino基本语法展示之一261

8.2.4Arduino基本语法展示之二262

8.2.5Arduino基本语法展示之三263

8.3电机驱动264

8.3.1电机与电机驱动板264

8.3.2电机基本控制实验267

8.3.3电机测速理论268

8.3.4电机测速实现270

8.3.5电机调速PID控制理论272

8.3.6电机调速PID控制实现274

8.4底盘设计277

8.4.1底盘实现概述277

8.4.2Arduino端入口279

8.4.3编码器287

8.4.4Arduino端电机驱动292

8.4.5Arduino端PID控制294

8.5控制系统299

8.5.1树莓派概述300

8.5.2分布式框架302

8.5.3SSH远程连接303

8.5.4安装ros_arduino_bridge305

8.5.5在树莓派上安装ROS307

8.6传感器313

8.6.1激光雷达简介313

8.6.2雷达的使用314

8.6.3相机简介316

8.6.4相机的使用316

8.6.5传感器集成318

8.7本章小结320

第9章实体机器人导航321

9.1概述321

9.2VSCode远程开发322

9.3导航实现324

9.3.1准备工作325

9.3.2SLAM建图329

9.3.3地图服务331

9.3.4定位332

9.3.5路径规划333

9.3.6导航与SLAM建图336

9.4本章小结337

第10章ROS进阶338

10.1action通信338

10.1.1自定义action文件340

10.1.2自定义action文件调用(C++)342

10.1.3自定义action文件调用(Python)346

10.2动态配置参数349

10.2.1动态配置参数客户端350

10.2.2动态配置参数服务器端(C++)351

10.2.3动态配置参数服务器端(Python)354

10.3pluginlib355

10.4nodelet360

10.4.1使用演示361

10.4.2nodelet实现362

10.5本章小结364


猜您喜欢

读书导航