科技
类型
可以朗读
语音朗读
150千字
字数
2018-05-01
发行日期
展开全部
主编推荐语
本书的基本目标是通过项目实践讲解ROS,这里讨论的项目也可以在学术或工业项目中重复使用。
内容简介
本书的基本目标是通过项目实践讲解ROS,探讨具有ROS接口的各种新技术。例如,你将看到如何构建自动驾驶汽车的原型,如何使用ROS构建深度学习的应用程序,以及如何在ROS中构建虚拟现实(VR)应用程序。此外,还将介绍使用ROS及其库的大约多个项目和应用程序。
目录
- 版权信息
- 译者序
- 推荐序一
- 推荐序二
- 作者简介
- 审校者简介
- 前言
- 致谢
- 第1章 入门ROS机器人应用程序开发
- 1.1 ROS入门
- 1.1.1 ROS发行版
- 1.1.2 支持ROS的操作系统
- 1.1.3 支持ROS的机器人和传感器
- 1.1.4 为什么选择ROS
- 1.2 ROS基础
- 1.2.1 文件系统级
- 1.2.2 计算图级
- 1.2.3 ROS社区级
- 1.2.4 ROS通信
- 1.3 ROS客户端库
- 1.4 ROS工具
- 1.4.1 Rviz(ROS可视化)
- 1.4.2 rqt_plot
- 1.4.3 rqt_graph
- 1.5 ROS仿真器
- 1.6 在Ubuntu 16.04 LTS上安装ROS Kinetic
- 1.7 在VirtualBox上设置ROS
- 1.8 设置ROS工作区
- 1.9 ROS在工业和研究中的机遇
- 1.10 问题
- 1.11 本章总结
- 第2章 使用ROS、OpenCV和Dynamixel伺服舵机进行人脸检测与跟踪
- 2.1 项目概述
- 2.2 硬件和软件需求
- 2.3 ROS与Dynamixel伺服舵机的接口
- 2.4 创建人脸跟踪ROS包
- 2.5 人脸跟踪功能包的工作原理
- 2.5.1 理解人脸跟踪代码
- 2.5.2 理解CMakeLists.txt
- 2.5.3 track.yaml文件
- 2.5.4 启动文件
- 2.5.5 运行人脸跟踪器节点
- 2.5.6 face_tracker_control功能包
- 2.5.7 云台控制器配置文件
- 2.5.8 舵机参数配置文件
- 2.5.9 人脸跟踪控制器节点
- 2.5.10 创建CMakeLists.txt
- 2.5.11 测试人脸跟踪控制功能包
- 2.5.12 集成所有节点
- 2.5.13 固定支架并安装电路
- 2.5.14 最终测试
- 2.6 问题
- 2.7 本章总结
- 第3章 在ROS中构建一个像Siri的聊天机器人
- 3.1 人机交互机器人
- 3.2 构建人机交互机器人
- 3.3 预备条件
- 3.4 AIML入门
- 3.4.1 AIML标签
- 3.4.2 PyAIML解释器
- 3.4.3 在Ubuntu 16.04 LTS上安装PyAIML
- 3.4.4 使用PyAIML
- 3.4.5 加载多个AIML文件
- 3.4.6 在ROS中创建AIML机器人
- 3.4.7 AIML ROS功能包
- 3.5 问题
- 3.6 本章总结
- 第4章 使用ROS控制嵌入式电路板
- 4.1 主流嵌入式电路板入门
- 4.1.1 如何选择Arduino开发板
- 4.1.2 Raspberry Pi(树莓派)介绍
- 4.1.3 Odroid开发板
- 4.2 Arduino与ROS的接口
- 4.2.1 使用Arduino和ROS监控光线亮度
- 4.2.2 在PC上运行ROS串行服务器
- 4.2.3 通过mbed连接STM32开发板和ROS
- 4.2.4 使用Energia连接ROS与Tiva C Launchpad板
- 4.3 在Raspberry Pi和Odroid上运行ROS
- 4.3.1 将Raspberry Pi和Odroid连接到PC
- 4.3.2 ROS控制GPIO引脚
- 4.4 问题
- 4.5 本章总结
- 第5章 使用手势远程操作机器人
- 5.1 使用键盘遥控ROS龟
- 5.2 使用手势进行遥控
- 5.3 项目配置
- 5.4 MPU-9250、Arduino和ROS连接
- 5.5 在Rviz中可视化IMU TF
- 5.6 将IMU数据转换为twist消息
- 5.7 集成和最终运行
- 5.8 使用Android手机进行遥控
- 5.9 问题
- 5.10 本章总结
- 第6章 物体检测和识别
- 6.1 物体检测和识别的快速入门
- 6.2 ROS中的find_object_2d包
- 6.2.1 安装find_object_2d包
- 6.2.2 运行find_object_2d节点检测网络摄像头图像中的物体
- 6.2.3 使用深度传感器运行find_object_2d节点
- 6.3 3D物体识别快速入门
- 6.4 ROS中3D物体识别包的介绍
- 6.5 从3D网格中检测和识别物体
- 6.5.1 使用物体的3D模型进行训练
- 6.5.2 使用捕获的3D模型进行训练
- 6.6 识别物体
- 6.7 问题
- 6.8 本章总结
- 第7章 使用ROS和TensorFlow进行深度学习
- 7.1 深度学习及其应用简介
- 7.2 深度学习机器人
- 7.3 深度学习库
- 7.4 TensorFlow入门
- 7.4.1 在Ubuntu 16.04 LTS上安装TensorFlow
- 7.4.2 TensorFlow的概念
- 7.4.3 在TensorFlow中编写我们的第一个程序
- 7.5 使用ROS和TensorFlow进行图像识别
- 7.5.1 前提条件
- 7.5.2 ROS图像识别节点
- 7.6 scikit-learn介绍
- 7.7 SVM及其在机器人中的应用
- 7.8 问题
- 7.9 本章总结
- 第8章 在MATLAB和Android上运行ROS
- 8.1 ROS-MATLAB接口入门
- 8.2 在MATLAB中设置机器人工具箱
- 8.2.1 MATLAB中的基本ROS功能
- 8.2.2 列出ROS节点、主题和消息
- 8.3 MATLAB与ROS网络通信
- 8.4 利用MATLAB控制ROS机器人
- 8.4.1 设计MATLAB GUI应用程序
- 8.4.2 解释回调
- 8.4.3 运行应用程序
- 8.5 Android及其ROS接口入门
- 8.5.1 安装rosjava
- 8.5.2 通过Ubuntu软件包管理器安装android-sdk
- 8.6 安装ROS-Android接口
- 8.7 使用ROS-Android应用程序
- 8.8 代码演练
- 8.9 使用ROS-Android接口创建基本应用程序
- 8.10 问题
- 8.11 本章总结
- 第9章 构建自主移动机器人
- 9.1 机器人规格和设计概述
- 9.2 设计和选择机器人的电动机和轮子
- 9.2.1 计算电动机扭矩
- 9.2.2 电动机转速的计算
- 9.2.3 设计总结
- 9.3 构建机器人本体的2D和3D模型
- 9.3.1 底盘
- 9.3.2 连接杆和空心管设计
- 9.3.3 电动机、轮子和电动机夹具设计
- 9.3.4 脚轮设计
- 9.3.5 中层板和顶层板设计
- 9.3.6 顶层板
- 9.3.7 机器人的3D建模
- 9.4 在Gazebo中进行机器人模型仿真
- 9.5 差速驱动机器人的数学模型
- 9.6 设计和建造实际的机器人
- 9.6.1 电动机和电动机驱动
- 9.6.2 电动机编码器
- 9.6.3 Tiva C Launchpad
- 9.6.4 超声波传感器
- 9.6.5 OpenNI深度传感器
- 9.6.6 英特尔NUC
- 9.6.7 使用Launchpad将传感器和电动机连接起来
- 9.6.8 Tiva C Launchpad编程
- 9.7 连接机器人硬件与ROS
- 9.8 在Chefbot中进行地图构建和定位
- 9.9 问题
- 9.10 本章总结
- 第10章 使用ROS创建自动驾驶汽车
- 10.1 自动驾驶汽车入门
- 10.2 典型自动驾驶汽车的功能框图
- 10.2.1 自动驾驶汽车的软件框图
- 10.2.2 在ROS中仿真和连接自动驾驶汽车传感器
- 10.3 在Gazebo中仿真一辆带有传感器的自动驾驶汽车
- 10.3.1 安装预备条件
- 10.3.2 可视化机器人车传感器数据
- 10.3.3 在Gazebo里移动一辆自动驾驶汽车
- 10.3.4 使用机器人车运行hector SLAM
- 10.4 将DBW车与ROS连接
- 10.4.1 安装包
- 10.4.2 可视化自动驾驶汽车和传感器数据
- 10.4.3 DBW与ROS通信
- 10.5 Udacity开源自动驾驶汽车项目介绍
- 10.6 问题
- 10.7 本章总结
- 第11章 使用VR头戴设备和Leap Motion遥控机器人
- 11.1 VR头戴设备和Leap Motion入门
- 11.2 项目预备条件
- 11.3 项目的设计和工作原理
- 11.4 在Ubuntu 14.04.5上安装Leap Motion SDK
- 11.4.1 可视化Leap Motion控制器数据
- 11.4.2 使用Leap Motion可视化工具
- 11.4.3 安装Leap Motion控制器的ROS驱动程序
- 11.5 在Rviz中可视化Leap Motion数据
- 11.6 使用Leap Motion控制器创建遥控节点
- 11.7 构建ROS-VR Android应用程序
- 11.8 使用ROS-VR应用程序并与Gazebo进行连接
- 11.9 在VR中使用TurtleBot仿真
- 11.10 ROS-VR应用程序的故障排除
- 11.11 ROS-VR和Leap Motion遥控的集成应用
- 11.12 问题
- 11.13 本章总结
- 第12章 通过网络控制机器人
- 12.1 ROS Web入门
- 12.1.1 rosbridge_suite
- 12.1.2 roslibjs、ros2djs和ros3djs
- 12.1.3 tf2_web_republisher
- 12.2 在ROS Kinetic上设置ROS Web
- 12.2.1 安装rosbridge_suite
- 12.2.2 设置rosbridge客户端库
- 12.3 在ROS Kinetic上安装tf2_web_republisher
- 12.4 在Web浏览器上实现机器人遥控和可视化
- 12.4.1 项目开发
- 12.4.2 连接到rosbridge_schmerver
- 12.4.3 初始化teleop
- 12.4.4 在Web浏览器中创建3D查看器
- 12.4.5 创建TF客户端
- 12.4.6 创建URDF客户端
- 12.4.7 创建文本输入
- 12.4.8 运行Web teleop应用程序
- 12.5 利用网络浏览器控制机器人关节
- 12.5.1 安装joint_state_publisher_js
- 12.5.2 运行网络关节状态发布器
- 12.5.3 解释代码
- 12.5.4 运行机器人监控应用程序
- 12.6 基于Web的语音控制机器人
- 12.6.1 前提条件
- 12.6.2 在Web应用程序中启用语音识别
- 12.7 运行语音控制机器人应用程序
- 12.8 问题
- 12.9 本章总结
展开全部
出版方
机械工业出版社有限公司
机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。