图书介绍
ROS入门实例pdf电子书版本下载
- (美)R.帕特里克·戈贝尔著;(墨)J.罗哈斯,刘柯汕,彭也益,刘振东,李家能,黄玲玲译 著
- 出版社: 广州:中山大学出版社
- ISBN:9787306055118
- 出版时间:2016
- 标注页数:230页
- 文件大小:38MB
- 文件页数:243页
- 主题词:机器人-程序设计
PDF下载
下载说明
ROS入门实例PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
1本书目标 1
2真实机器人和模拟机器人 3
2.1 Gazebo,Stage和ArbotiX模拟器 3
2.2 关于TurtleBot, Maxwell和Pi机器人的简介 4
3操作系统和ROS版本 5
3.1 安装Ubuntu Linux 5
3.2 开始使用Linux 6
3.3 更新和升级注意事项 6
4回顾ROS基础知识 7
4.1 安装ROS 7
4.2 安装rosinstall 7
4.3 用Catkin建立ROS程序包 7
4.4 创建catkin工作空间 8
4.5 使用catkin的清除命令 8
4.6 重新构建单独的catkin包 9
4.7 混合使用catkin和rosbuild工作空间 9
4.8 学习ROS官方教程 10
4.9 RViz : ROS可视化工具 11
4.10 在程序中使用ROS参数 11
4.11 使用rqt_reconfigure(即旧版本的dynamic reconfigure)来设置ROS参数 11
4.12 机器人与桌面计算机之间联网 13
4.12.1 时间同步 13
4.12.2 使用Zeroconf进行ROS联网 13
4.12.3 测试连通性 14
4.12.4 设置ROS_MASTER_URI和ROS_HOSTNAME变量 14
4.12.5 打开新的终端 15
4.12.6 在两台设备上运行节点 15
4.12.7 通过互联网进行ROS联网 16
4.13 ROS回顾 17
4.14 ROS应用是什么? 17
4.15 使用SVN、Git、 Mercurial安装数据包 18
4.15.1 SVN 18
4.15.2 Git 19
4.15.3 Mercurial 19
4.16 从个人catkin目录移除数据包 20
4.17 如何寻找第三方ROS数据包 21
4.17.1 搜索ROS Wiki 21
4.17.2 使用roslocate命令 21
4.17.3 浏览ROS软件索引 22
4.17.4 使用Google搜索 22
4.18 获取更多关于ROS的帮助 22
5安装ros-by-example代码 24
5.1 安装必备组件 24
5.2 复制Hydro ros-by-example代码资源 24
5.2.1 从Electric或者Fuerte版本升级 24
5.2.2 从Groovy版本升级 24
5.2.3 复制Hydro的rbx1代码资源 25
5.3 关于本书的代码列表 26
6安装Arbotix模拟器 27
6.1 安装模拟器 27
6.2 测试模拟器 27
6.3 在模拟器上运行你自己的机器人 28
7控制移动底座 31
7.1 单位长度和坐标系 31
7.2 运动控制的分层 31
7.2.1 发动机、轮子和编码器 31
7.2.2 发动机控制器和驱动程序 32
7.2.3 ROS底座控制器 32
7.2.4 使用ROS中move_base包的基于框架的运动 33
7.2.5 使用ROS的gmapping包和amcl包的SLAM 33
7.2.6 语义目标 33
7.2.7 总结 34
7.3 ROS中Twist消息和轮子转动 34
7.3.1 Twist消息的例子 35
7.3.2 用RViz监视机器人运动 35
7.4 对你的机器人进行测量校准 37
7.4.1 线速度校准 38
7.4.2 角速度校准 39
7.5 发送Twist消息给机器人 40
7.6 从ROS节点发布Twist消息 41
7.6.1 通过定时和定速估计距离和角度 41
7.6.2 在ArbotiX模拟器上进行计时前进并返回运动 41
7.6.3 计时前进并返回运动的脚本 42
7.6.4 用现实的机器人执行计时前进并返回 48
7.7 我们到了吗?根据测量来到达目的距离 49
7.8 测量并前进返回 51
7.8.1 在ArbotiX模拟器上基于测量的前进返回 51
7.8.2 在现实的机器人上基于测量的前进返回 52
7.8.3 基于测量的前进返回脚本 53
7.8.4 话题/odom与框架/odom的对比 60
7.9 使用测量走正方形 60
7.9.1 在ArbotiX模拟器中走正方形 60
7.9.2 让现实的机器人走正方形 61
7.9.3 脚本nav_square.py 62
7.9.4 Dead Reckoning造成的问题 63
7.10 遥控你的机器人 63
7.10.1 使用键盘 63
7.10.2 使用Logitech游戏摇杆 64
7.10.3 使用ArbotiX控制器图形界面 65
7.10.4 用交互标识遥控TurtleBot 66
7.10.5 编写你自己的遥控节点 66
8导航,路径规划和SLAM 67
8.1 使用move_ base包进行路径规划和障碍物躲避 67
8.1.1 用move_ base包指定导航目标 68
8.1.2 配置路径规划的参数 69
8.2 在ArbotiX模拟器测试move_ base 71
8.2.1 在RViz通过点击导航 75
8.2.2 RViz的导航显示类型 76
8.2.3 用move_ base导航走正方形 76
8.2.4 避开模拟障碍物 83
8.2.5 在显示障碍物时手动设置导航目标 85
8.3 在现实的机器人上运行move_ base 86
8.3.1 没有障碍物的情况下测试move_ base 86
8.3.2 把深度摄像头作为模拟激光避开障碍物 87
8.4 使用gmapping程序包完成地图建立 89
8.4.1 激光扫描器还是深度相机 89
8.4.2 收集和记录扫描数据 91
8.4.3 建立地图 93
8.4.4 从数据包中建立地图 93
8.4.5 我能拓展或者修改现有地图吗? 95
8.5 使用Map和amcl进行导航和定位 95
8.5.1 用假的定位来测试amcl 95
8.5.2 在真实的机器人中使用amcl 97
8.5.3 全自动导航 99
8.5.4 在模拟中进行导航测试 99
8.5.5 理解导航测试的脚本 101
8.5.6 在真实的机器人中进行导航测试 107
8.5.7 接下来该做什么? 108
9语音识别及语音合成 109
9.1 安装语音识别PocketSphinx 109
9.2 测试PocketSphinx识别器 109
9.3 创建词汇库 111
9.4 语音控制导航脚本 112
9.4.1 在模拟器ArbotiX中测试语音控制 118
9.4.2 在真实的机器人上使用语音控制 119
9.5 安装及测试文字转语音系统Festival 120
9.5.1 在ROS Node中使用文字转语音系统 121
9.5.2 测试talkback.py脚本 124
10机器人的视觉系统 125
10.1 OpenCV、OpenNI和PCL 125
10.2 关于摄像机分辨率的一些注意事项 125
10.3 安装和测试ROS摄像机驱动 126
10.3.1 安装OpenNI 驱动 126
10.3.2 安装Webcam 驱动 126
10.3.3 测试Kinect或者Xtion摄像机 126
10.3.4 测试USB网络摄像头 127
10.4 在Ubuntu Linux上安装OpenCV 128
10.5 ROS和OpenCV:cv_bridge程序包 129
10.6 ros2opencv2.py模块 135
10.7 处理储存的视频 136
10.8 OpenCV:计算机视觉的开源库 137
10.8.1 人脸检测 137
10.8.2 使用GoodFeaturesToTrack进行关键点检测 144
10.8.3 使用Optical Flow跟踪关键点 149
10.8.4 构建一个更好的人脸追踪器 155
10.8.5 动态添加和抛弃关键点 159
10.8.6 颜色块追踪(CamShift) 160
10.9 OpenNI和骨架追踪 167
10.9.1 检查您Hydro的OpenNi安装情况 167
10.9.2 在RViz上查看骨架 168
10.9.3 在你的程序中访问骨架图 168
10.10 PCL轻节点和3D点云 176
10.10.1 PassThrough过滤器 177
10.10.2 将多个PassThrough过滤器结合 178
10.10.3 VoxelGrid过滤器 179
11组合视觉与底座控制 181
11.1 关于摄像机坐标系的注意事项 181
11.2 物体跟踪器 181
11.2.1 使用rqt_plot测试物体跟踪器 181
11.2.2 使用模拟的机器人测试物体跟踪器 182
11.2.3 理解物体跟踪器的代码 182
11.2.4 在真实的机器人上的物体跟踪器 189
11.3 物体跟随器 190
11.3.1 为物体跟踪器增加深度 190
11.3.2 在模拟的机器人上测试物体跟随器 194
11.3.3 在真实的机器人上的物体跟随器 195
11.4 人跟随器 195
11.4.1 在模拟器中测试跟随器应用 196
11.4.2 理解跟随器脚本 196
11.4.3 在TurtleBot上运行跟随器应用 201
11.4.4 在过滤后的点云上运行跟随器节点 202
12 Dynamixel伺服机和ROS 203
12.1 具备能抬头摇头的头部的Turtlebot 204
12.2 选择一个Dynamixel硬件控制器 204
12.3 关于Dynamixel硬件的注意事项 204
12.4 选择一个ROS里的Dynamixel程序包 205
12.5 理解ROS中关节状态消息类型 205
12.6 控制关节位置、速度和转矩 206
12.6.1 设置伺服机位置 207
12.6.2 设置伺服机速度 207
12.6.3 控制伺服机转矩 207
12.7 检查USB2 Dynamixel连接 208
12.8 设置伺服机硬件ID 209
12.9 配置和启动dynamixel_ controllers 210
12.9.1 dynamixel_ controllers配置文件 210
12.9.2 dynamixel_ controllers启动文件 211
12.10 测试伺服机 212
12.10.1 打开控制器 213
12.10.2 在RViz中监控机器人 213
12.10.3 列出控制器的话题和监控关节状态 214
12.10.4 列出控制器的服务 215
12.10.5 设置伺服机的位置、速度和转矩 216
12.10.6 使用relax_all_ servos…py脚本 217
12.11 跟踪一个可见目标 218
12.11.1 跟踪脸部 218
12.11.2 头部跟踪器脚本 219
12.11.3 跟踪有颜色的物体 226
12.11.4 跟踪手动选择的目标 227
12.12 一个完整的头部跟踪ROS应用 228
13下一步? 230