《开源机器人操作系统 ROS》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:张建伟,张立伟,胡颖,张俊编著
  • 出 版 社:北京:科学出版社
  • 出版年份:2012
  • ISBN:9787030354341
  • 页数:303 页
图书介绍:ROS(Robot-mechanismOperatingSystem)提供类似计算机操作系统所提供的功能,包含硬件抽象描述、底层驱动程序管理、共用功能的执行、程序间的消息传递、程序发行包管理,它也提供一些工具程序和库用于获取、建立、编写和运行多机整合的程序。ROS提供了库和工具来帮助软件开发者创建机器人的应用程序。本书主要对ROS架构及主要的核心库进行介绍,根据机器人的功能分为操作、导航、感知、任务规划等章节介绍其使用方法及实例,最后给出综合性集成案例。全书结构清晰、合理,范例实用、丰富。对广大科研人员、工程技术人员、高校相关专业师生及机器人爱好者亦不失为一本重要的自学、教学参考书。

第一章ROS简介 1

1.1 ROS简介 1

1.2 ROS安装 4

1.3 ROS支持的机器人 6

1.4 ROS网上资源 6

第二章ROS总体框架及基本命令 7

2.1 ROS总体框架 7

2.1.1文件系统级 7

2.1.2计算图级 9

2.1.3社区级 11

2.1.4更高层概念 12

2.1.5名称 12

2.2 ROS基本命令 15

2.2.1 ROS文件系统命令 15

2.2.2 ROS核心命令 26

2.3工具 35

2.3.1 3D可视化工具:rviz 35

2.3.2传感器数据记录与可视化工具:rosbag和rxbag 45

2.3.3画图工具:rxplot 47

2.3.4系统可视化工具:rxgraph 49

2.3.5 rxconsole 49

2.3.6 tf命令 51

2.4例子 52

2.4.1创建ROS消息和服务 52

2.4.2记录和回放数据 54

2.4.3手工创建ROS功能包 59

2.4.4大项目上运行roslaunch 60

2.4.5在多台机器上运行ROS系统 66

2.4.6定义客户消息 68

第三章ROS客户端库 70

3.1概述 70

3.2 roscpp客户端库 71

3.2.1简单的主题发布者和主题订阅者 72

3.2.2简单的服务器端和客户端 78

3.2.3 roscpp中参数的使用 81

3.2.4从节点句柄存取私有名称 83

3.2.5用类方法订阅和回调服务 84

3.2.6计时器 85

3.2.7带动态可重配置及参数服务器的主题发布者/订阅者节点(C+++) 87

3.2.8带动态可重配置及参数服务器的主题发布者/订阅者节点(Python) 95

3.2.9组合C+十/Python主题发布者/订阅者节点 101

3.3 rospy客户端库 101

3.3.1简单的主题发布者/订阅者 101

3.3.2简单的服务端和客户端 105

3.3.3 rospy中参数的使用 108

3.3.4 rospy中numpy的使用 109

3.3.5 rospy运行日志 113

3.3.6 ROS Python Makefile文件 115

3.3.7设置PYTHONPATH 116

3.3.8发布消息 116

3.4 roslisp客户端库 117

3.5实验阶段的客户端库 117

3.5.1 rosjava 117

3.5.2 roslua 117

第四章OpenCV 119

4.1 image-common功能包集 119

4.1.1 image transport功能包 119

4.1.2 camera-calibration-parsers功能包 124

4.1.3 camerainfo_nanager功能包 126

4.1.4 polled-camera功能包 127

4.2 image-pipeline功能包集 127

4.3 vision_opencv功能包集 128

4.3.1 opencv2 128

4.3.2 cv_bridge 128

4.3.3 image-geometry 139

4.4投影tf坐标系到图像(C+++) 140

4.5演示例子 145

4.5.1使用颜色追踪物体 145

4.5.2识别物体 148

第五章SLAM和导航 150

5.1使用tf配置机器人 150

5.2通过ROS发布里程计信息 154

5.3通过ROS发布传感器数据流 158

5.4 SLAM 163

5.4.1 SLAM简介 163

5.4.2 slam_mapping功能包 163

5.4.3使用记录的数据建立地图 167

5.4.4模拟器中建立地图 168

5.4.5模拟器中使用客户定制地图 170

5.5配置和使用导航功能包集 172

5.5.1导航功能包集基本操作 172

5.5.2在机器人上设置和配置导航功能包集 173

5.5.3 rviz与导航功能包集配合使用 176

5.5.4发送目标到导航功能包集 178

第六章 抓取操作 182

6.1机器人手臂的运动规划 182

6.1.1安装和配置 182

6.1.2编译手臂导航功能包集 182

6.1.3启动模拟器和仿真环境 183

6.1.4启动相关节点 183

6.1.5控制手臂运动 185

6.2运动规划的环境表示 203

6.2.1基于自滤波数据构建碰撞地图 203

6.2.2检测关节轨迹碰撞 208

6.2.3给定机器人状态下的碰撞检测 212

6.2.4添加己知点到运动规划环境 219

6.2.5添加物体到机器人本体 224

6.3用于PR2机器人手臂的运动学 230

6.3.1从PR2运动学开始 230

6.3.2从运动学节点获取运动学求解器信息 231

6.3.3 PR2手臂运动学正解 233

6.3.4 PR2手臂运动学逆解 237

6.3.5 PR2手臂无碰撞运动学逆解 240

6.4用于PR2机器人手臂的安全轨迹控制 245

6.5使用轨迹滤波节点进行轨迹滤波 247

6.5.1生成无碰撞三次样条轨迹 247

6.5.2使用轨迹滤波服务器对关节轨迹进行滤波 248

6.5.3学习如何创建自己的轨迹滤波 253

6.6机器人状态和轨迹可视化 256

第七章Kinect 260

7.1 Kinect简介 260

7.2安装驱动 261

7.2.1 Ubuntu系统一上安装Kinect 261

7.2.2基于源的安装 261

7.3测试 263

7.3.1测试Kinect彩色摄像机 263

7.3.2测试Kinect深度摄像机 263

7.3.3测试Kinect马达 264

7.4 openni camera 264

7.5 openni tracker 268

第八章 点云库 270

8.1 PCL简介 270

8.1.1 PCL架构 270

8.1.2 PCL数据结构 272

8.1.3 PCL与ROS的集成 273

8.2 PCL可视化库 273

8.3 PCL与Kinect连接 279

8.4例子 284

第九章 综合演示示例 288

9.1实验一:SLAM(即时定位与地图构建) 288

9.2实验二:机器人导航 294

9.3实验三:识别并抓取物体 300

参考文献 303