-
内容大纲
ROS已在学术界、工业界和研究机构中广泛使用。本书系统化地介绍了ROS、ROS包、ROS工具的组织,以及如何将现有ROS包纳入新的应用中,并开发新的ROS包。本书分为六部分,共18章。第一部分介绍如何编写ROS节点和ROS工具,也覆盖了消息、类和服务器。第二部分介绍如何用ROS进行仿真和可视化,其中包括坐标变换。第三部分讨论ROS的感知过程。第四部分介绍ROS中的移动机器人控制和导航。第五部分介绍ROS机械臂的相关知识。第六部分介绍系统集成和更高级别的控制,包括基于感知的移动操作。本书既可作为ROS课程的教材,也可作为机器人研究人员、工程师及爱好者的参考书。 -
作者介绍
怀亚特·S.纽曼(Wyatt S. Newman)是凯斯西储大学电气工程和计算机科学系的教授,自1988年开始执教。他的研究领域是机电一体化、机器人学和计算智能,拥有12项专利并发表了超过150篇学术出版物。他在哈佛大学获得了工程科学专业的学士学位,在麻省理工学院热流体科学系获得了机械工程专业的硕士学位,在哥伦比亚大学获得了控制理论和网络理论专业的电机工程理学硕士学位,在麻省理工学院设计与控制系获得了机械工程专业的博士学位。他是机器人学方面的NSF青年研究员,担任过以下职务:飞利浦实验室高级研究员、飞利浦Natuurkundig实验室的访问科学家、美国桑迪亚国家实验室智能系统和机器人中心的访问学者、NASA格伦研究中心的NASA夏季教员、普林斯顿大学神经科学的访问学者、爱丁堡大学信息学院的杰出访问学者、香港大学的Hung Hing Ying杰出客座教授。他带领机器人团队参加了2007年DARPA城市挑战赛和2015年DARPA机器人挑战赛,并将继续致力于机器人的广泛应用。 -
目录
译者序
前言
第一部分 ROS基础
第1章 概述:ROS工具和节点
1.1 ROS基础概念
1.2 编写ROS节点
1.2.1 创建ROS程序包
1.2.2 编写一个最小的ROS发布器
1.2.3 编译ROS节点
1.2.4 运行ROS节点
1.2.5 检查运行中的最小发布器节点
1.2.6 规划节点时间
1.2.7 编写一个最小ROS订阅器
1.2.8 编译和运行最小订阅器
1.2.9 总结最小订阅器和发布器节点
1.3 更多的ROS工具:catkin_simple、roslaunch、rqt_console和rosbag
1.3.1 用catkin_simple简化CMakelists.txt
1.3.2 自动启动多个节点
1.3.3 在ROS控制台观察输出
1.3.4 使用rosbag记录并回放数据
1.4 最小仿真器和控制器示例
1.5 小结
第2章 消息、类和服务器
2.1 定义自定义消息
2.1.1 定义一条自定义消息
2.1.2 定义一条变长的消息
2.2 ROS服务介绍
2.2.1 服务消息
2.2.2 ROS服务节点
2.2.3 与ROS服务手动交互
2.2.4 ROS服务客户端示例
2.2.5 运行服务和客户端示例
2.3 在ROS中使用C++类
2.4 在ROS中创建库模块
2.5 动作服务器和动作客户端介绍
2.5.1 创建动作服务器包
2.5.2 定义自定义动作服务器消息
2.5.3 设计动作客户端
2.5.4 运行示例代码
2.6 参数服务器介绍
2.7 小结
第二部分 ROS中的仿真和可视化
第3章 ROS中的仿真
3.1 简单的2维机器人仿真器
3.2 动力学仿真建模
3.3 统一的机器人描述格式
3.3.1 运动学模型
3.3.2 视觉模型
3.3.3 动力学模型
3.3.4 碰撞模型
3.4 Gazebo介绍
3.5 最小关节控制器
3.6 使用Gazebo插件进行关节伺服控制
3.7 构建移动机器人模型
3.8 仿真移动机器人模型
3.9 组合机器人模型
3.10 小结
第4章 ROS中的坐标变换
4.1 ROS中的坐标变换简介
4.2 转换侦听器
4.3 使用Eigen库
4.4 转换ROS数据类型
4.5 小结
第5章 ROS中的感知与可视化
5.1 rviz中的标记物和交互式标记物
5.1.1 rviz中的标记物
5.1.2 三轴显示示例
5.1.3 rviz中的交互式标记物
5.2 在rviz中显示传感器值
5.2.1 仿真和显示激光雷达
5.2.2 仿真和显示彩色相机数据
5.2.3 仿真和显示深度相机数据
5.2.4 rvis中点的选择
5.3 小结
第三部分 ROS中的感知处理
第6章 在ROS中使用相机
6.1 相机坐标系下的投影变换
6.2 内置相机标定
6.3 标定立体相机内参
6.4 在ROS中使用OpenCV
6.4.1 OpenCV示例:寻找彩色像素
6.4.2 OpenCV示例:查找边缘
6.5 小结
第7章 深度图像与点云信息
7.1 从扫描LIDAR中获取深度信息
7.2 立体相机的深度信息
7.3 深度相机
7.4 小结
第8章 点云数据处理
8.1 简单的点云显示节点
8.2 从磁盘加载和显示点云图像
8.3 将发布的点云图像保存到磁盘
8.4 用PCL方法解释点云图像
8.5 物体查找器
8.6 小结
第四部分 ROS中的移动机器人
第9章 移动机器人的运动控制
9.1 生成期望状态
9.1.1 从路径到轨迹
9.1.2 轨迹构建器库
9.1.3 开环控制
9.1.4 发布期望状态
9.2 机器人状态估计
9.2.1 从Gazebo获得模型状态
9.2.2 里程计
9.2.3 混合里程计、GPS和惯性传感器
9.2.4 混合里程计和LIDAR
9.3 差分驱动转向算法
9.3.1 机器人运动模型
9.3.2 线性机器人的线性转向
9.3.3 非线性机器人的线性转向
9.3.4 非线性机器人的非线性转向
9.3.5 仿真非线性转向算法
9.4 相对于地图坐标系的转向
9.5 小结
第10章 移动机器人导航
10.1 构建地图
10.2 路径规划
10.3 move_base客户端示例
10.4 修改导航栈
10.5 小结
第五部分 ROS中的机械臂
第11章 底层控制
11.1 单自由度移动关节机器人模型
11.2 位置控制器示例
11.3 速度控制器示例
11.4 力控制器示例
11.5 机械臂的轨迹消息
11.6 7自由度臂的轨迹插值动作服务器
11.7 小结
第12章 机械臂运动学
12.1 正向运动学
12.2 逆向运动学
12.3 小结
第13章 手臂运动规划
13.1 笛卡儿运动规划
13.2 关节空间规划的动态规划
13.3 笛卡儿运动动作服务器
13.4 小结
第14章 Baxter仿真器进行手臂控制
14.1 运行Baxter仿真器
14.2 Baxter关节和主题
14.3 Baxter夹具
14.4 头盘控制
14.5 指挥Baxter关节
14.6 使用ROS关节轨迹控制器
14.7 关节空间记录和回放节点
14.8 Baxter运动学
14.9 Baxter笛卡儿运动
14.10 小结
第15章 object-grabber包
15.1 object-grabber代码组织
15.2 对象操作查询服务
15.3 通用夹具服务
15.4 object-grabber动作服务器
15.5 object-grabber动作客户端示例
15.6 小结
第六部分 系统集成与高级控制
第16章 基于感知的操作
16.1 外部相机标定
16.2 综合感知和操作
16.3 小结
第17章 移动操作
17.1 移动机械手模型
17.2 移动操作
17.3 小结
第18章 总结
参考文献
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...