出版社:科学出版社
年代:2012
定价:68.0
ROS(Robot-mechanismOperatingSystem)提供类似计算机操作系统所提供的功能,包含硬件抽象描述、底层驱动程序管理、共用功能的执行、程序间的消息传递、程序发行包管理,它也提供一些工具程序和库用于获取、建立、编写和运行多机整合的程序。ROS提供了库和工具来帮助软件开发者创建机器人的应用程序。本书主要对ROS架构及主要的核心库进行介绍,根据机器人的功能分为操作、导航、感知、任务规划等章节介绍其使用方法及实例,最后给出综合性集成案例。全书结构清晰、合理,范例实用、丰富。对广大科研人员、工程技术人员、高校相关专业师生及机器人爱好者亦不失为一本重要的自学、教学参考书。
前言
术语列表
第一章 ROS简介
1.1 ROS简介
1.2 ROS安装
1.3 ROS支持的机器人
1.4 ROS网上资源
第二章 ROS总体框架及基本命令
2.1 ROS总体框架
2.1.1 文件系统级
2.1.2 计算图级
2.1.3 社区级
2.1.4 更高层概念
2.1.5 名称
2.2 ROS基本命令
2.2.1 ROS文件系统命令
2.2.2 ROS核心命令
2.3 工具
2.3.1 3D可视化工具:rviz
2.3.2 传感器数据记录与可视化工具:rosbag和rxbag
2.3.3 画图工具:rxplot
2.3.4 系统可视化工具:rxgraph
2.3.5 rxconsole
2.3.6 tf命令
2.4 例子
2.4.1 创建ROS消息和服务
2.4.2 记录和回放数据
2.4.3 手工创建ROS功能包
2.4.4 人项目上运行roslaunch
2.4.5 在多台机器上运行ROS系统
2.4.6 定义客户消息
第三章 ROS客户端库
3.1 概述
3.2 roscpp客户端库
3.2.1 简单的主题发布者和主题订阅者
3.2.2 简单的服务器端和客户端
3.2.3 roscpp中参数的使用
3.2.4 从节点句柄存取私有名称
3.2.5 用类方法订阅和回调服务
3.2.6 计时器
3.2.7 带动态町重配置及参数服务器的主题发布者订阅者节点(C++)
3.2.8 带动态可重配置及参数服务器的主题发布者订阅者节点(Pytl]on)
3.2.9 组合c++Pytlion主题发布者订阅者节点
3.3 rospy客户端库
3.3.1 简单的主题发布者订阅者
3.3.2 简单的服务端和客户端
3.3.3 rospy中参数的使用
3.3.4 rospy中numpy的使用
3.3.5 rospy运行日志
3.3.6 ROSPythonMakefile文件
3.3.7 设置PYTHONPATH
3.3.8 发布消息
3.4 roslisp客户端库
3.5 实验阶段的客户端库
3.5.1 rosjava
3.5.2 roslua
第四章 openCV
4.1 image_common功能包集
4.1.1 image_ransport功能包
4.1.2 camera_calibration.parsers功能包
4.1.3 camera_jnfo_znanager功能包
4.1.4 polled_camera功能包
4.2 image_pipeline功能包集
4.3 vision_opencv功能包集
4.3.1 opencv2
4.3.2 cv_bridge
4.3.3 image_geometry
4.4 投影tf坐标系到图像(C++)
4.5 演示例子
4.5.1 使用颜色追踪物体
4.5.2 识别物体
第五章 SLAM和导航
5.1 使用tf配置机器人
5.2 通过ROS发布里程计信息
5.3 通过ROS发布传感器数据流
5.4 SLAM
5.4.1 SLAM简介
5.4.2 slam_gmapping功能包
5.4.3 使用记录的数据建立地图
5.4.4 模拟器中建立地图
5.4.5 模拟器中使用客户定制地图
5.5 配置和使用导航功能包集
5.5.1 导航功能包集摹本操作
5.5.2 在机器人上设置和配置导航功能包集
5.5.3 rviz与导航功能包集配合使用
5.5.4 发送目标到导航功能包集
第六章 抓取操作
6.1 机器人手臂的运动规划
6.1.1 安装和配置
6.1.2 编译于臂导航功能包集
6.1.3 启动模拟器和仿真环境
6.1.4 启动相关节点
6.1.5 控制于臂运动
6.2 运动规划的环境表示
6.2.1 基于白滤波数据构建碰撞地图
6.2.2 检测关节轨迹碰撞
6.2.3 给定机器人状态下的碰撞检测
6.2.4 添加已知点到运动规划环境
6.2.5 添加物体到机器人本体
6.3 用于PR2机器人手臂的运动学
6.3.1 从PR2运动学开始
6.3.2 从运动学节点获取运动学求解器信息
6.3.3 PR2手臂运动学正解
6.3.4 PR2手臂运动学逆解
6.3.5 PR2于臂无碰撞运动学逆解
6.4 用于PR2机器人手臂的安全轨迹控制
6.5 使用轨迹滤波节点进行轨迹滤波
6.5.1 生成无碰撞三次样条轨迹
6.5.2 使用轨迹滤波服务器对关节轨迹进行滤波
6.5.3 学习如何创建自己的轨迹滤波
6.6 机器人状态和轨迹可视化
第七章 Kinect
7.1 Kinect简介
7.2 安装驱动
7.2.1 Ubuntu系统上安装Kinect
7.2.2 基十源的安装
7.3 测试
7.3.1 测试Kinect彩色摄像机
7.3.2 测试Kinect深度摄像机
7.3.3 测试Kinect马达
7.4 opennicamera
7.5 opennitracker
第八章 点云库
8.1 PCL简介
8.1.1 PCL架构
8.1.2 PCL数据结构
8.1.3 PCl与ROS的集成
8.2 PCL可视化库
8.3 PCL与Kinect连接
8.4 例子
第九章 综合演示示例
9.1 实验一:SLAM(即时定位与地图构建)
9.2 实验二:机器人导航
9.3 实验三:识别并抓取物体
参考文献
彩图
目前,ROS(robot operating system)逐步成为机器人研发领域的通用性软件平台。
ROS是开源的用于机器人的一种后操作系统,或者说次级操作系统。它提供类似操作系统所提供的功能,包含硬件抽象描述、底层驱动程序管理、共用功能的执行、程序间的消息传递、程序发行包管理,它也提供一些工具程序和库用于获取、建立、编写和运行多机整合的程序。
《开源机器人操作系统:ROS》附光盘一张,内容包括书中的部分例子源代码和Diamoridback及Electric版本安装后在本地硬盘L的全部程序,以便于读者对照自己的安装版本进行调试。
《开源机器人操作系统:ROS》可作为机器人研究者以及机器人爱好者应用ROs构建机器人软件系统的参考手册。
(美) 杰森 M. 奥凯恩 (Jason M.O’Kane) , 著
(美) 兰廷·约瑟夫 (Lentin Joseph) , 著
(印) 库马尔·比平 (Kumar Bipin) , 著
周兴社, 等编著
彭刚, 等编著
黄明, 等著
(美) 马修 T.梅森 (Matthew T. Mason) , 著
郭彤颖, 安冬, 主编
(印) 郎坦·约瑟夫 (Lentin Joseph) , 著