《机器人系统设计与制作 Python语言实现》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:郎坦·约瑟夫(Lentin Joseph)
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2017
  • ISBN:9787111559603
  • 页数:226 页
图书介绍:本书是一本关于机器人学的书籍,从机器人的基本结构开始,逐步讲解了有关机器人的硬件及软件结构。机器人的硬件部分主要包括了基本机械结构以及完成机器人定位和自主导航所需的各种传感器;机器人的软件部分是基于Python语言在ROS中进行编写的程序,目的是完成机器人的指定功能。而后通过硬件和软件的结合完成了机器人在指定地图内按照用户命令进行移动的功能,并且有一个GUI强化了人机界面的交互功能。

第1章 机器人学概述 1

1.1 什么是机器人 2

1.1.1 术语机器人的来历 2

1.1.2 现代机器人定义 3

1.2 机器人从哪儿来 7

1.3 机器人上都有什么 9

1.3.1 肢体 10

1.3.2 传感器 10

1.3.3 执行器 11

1.3.4 控制器 11

1.4 如何制作机器人 12

1.4.1 反应式控制 12

1.4.2 分级(协商)控制 12

1.4.3 混合控制 12

1.5 本章小结 13

第2章 服务机器人的机械设计 14

2.1 服务机器人的设计需求 14

2.2 机器人的传动装置 15

2.2.1 选择电机和轮子 15

2.2.2 设计小结 16

2.2.3 机器人底盘设计 17

2.3 安装LibreCAD、Blender和MeshLab 18

2.3.1 安装LibreCAD 18

2.3.2 安装Blender 18

2.3.3 安装MeshLab 18

2.4 用LibreCAD生成机器人的二维CAD图 19

2.4.1 底座设计 20

2.4.2 底座连接杆设计 21

2.4.3 轮子、电机和电机夹具设计 22

2.4.4 脚轮设计 24

2.4.5 中间层设计 24

2.4.6 顶层设计 24

2.5 用Blender制作机器人的三维模型 25

2.5.1 Blender中的Python脚本语言 25

2.5.2 Blender中的Python API介绍 26

2.5.3 机器人建模中的Python脚本 28

2.6 习题 33

2.7 本章小结 33

第3章 用ROS和Gazebo进行机器人仿真 34

3.1 什么是机器人仿真 34

3.1.1 机器人数学建模 37

3.1.2 ROS和Gazebo简介 43

3.1.3 在Ubuntu 14.04.2下安装ROS Indigo 46

3.1.4 在酒店环境下进行ChefBot和TurtleBot仿真 70

3.2 习题 75

3.3 本章小结 75

第4章 设计ChefBot的硬件部分 76

4.1 ChefBot硬件的规格标准 76

4.2 机器人的硬件架构框图 77

4.2.1 电机和编码器 77

4.2.2 电机驱动器 79

4.2.3 嵌入式控制板 81

4.2.4 超声传感器 82

4.2.5 惯性测量单元 83

4.2.6 Kinect 83

4.2.7 中央处理单元 84

4.2.8 扬声器/麦克风 85

4.2.9 电源/电池 85

4.3 ChefBot硬件的工作原理 86

4.4 习题 87

4.5 本章小结 88

第5章 机器人执行机构与车轮编码器 89

5.1 直流减速电机接入Tiva C开发板 89

5.1.1 差速传动轮式机器人 92

5.1.2 安装Energia集成开发环境 92

5.1.3 电机接口代码 94

5.2 正交编码器接入TivaC开发板 98

5.2.1 编码器数据的处理 99

5.2.2 正交编码器接口代码 101

5.3 Dynamixel执行机构 104

5.4 习题 107

5.5 本章小结 107

第6章 机器人传感器 108

6.1 超声测距传感器 108

6.2 红外接近传感器 113

6.3 惯性测量单元 115

6.3.1 惯性导航 116

6.3.2 MPU 6050接入TivaC开发板 117

6.3.3 在Energia中编写接口代码 119

6.4 利用Energia将支持DMP的MPU 6050接入开发板 121

6.5 习题 125

6.6 本章小结 125

第7章 视觉传感器在Python和ROS中的编程方法 126

7.1 机器人视觉传感器清单和图像处理库 126

7.2 OpenCV、OpenNI和PCL简介 129

7.2.1 什么是OpenCV 129

7.2.2 什么是OpenNI 132

7.2.3 什么是PCL 133

7.3 使用ROS、OpenCV和OpenNI进行Kinect的Python编程 134

7.3.1 启动OpenNI驱动的方法 134

7.3.2 OpenCV的ROS接口 134

7.4 使用Kinect、ROS、OpenNI和PCL处理点云 139

7.5 将点云转换为激光雷达数据 140

7.6 使用ROS和Kinect实现SLAM算法 141

7.7 习题 142

7.8 本章小结 142

第8章 使用Python和ROS实现语音识别及合成 143

8.1 语音识别技术 143

8.1.1 语音识别系统框图 144

8.1.2 语音识别库 145

8.1.3 Windows语音识别开发平台 145

8.1.4 语音合成 145

8.1.5 语音合成库 146

8.2 在Ubuntu 14.04.2中使用Python实现语音识别及合成 146

8.2.1 在Ubuntu 14.04.2中安装Pocket Sphinx及其Python绑定 147

8.2.2 在Ubuntu 14.04.2中使用Pocket Sphinx的Python绑定 147

8.2.3 输出结果 148

8.3 在Ubuntu 14.04.2中使用Pocket Sphinx、GStreamer及Python实现实时语音识别 149

8.4 在Ubuntu 14.04.2中使用Julius及Python实现语音识别 151

8.4.1 Julius语音识别器和Python模块的安装 152

8.4.2 Python-Julius客户端代码 153

8.4.3 在Pocket Sphinx、Julius中提高语音识别的准确度 154

8.4.4 在Ubuntu 14.04.2中安装eSpeak和Festival 154

8.5 在Windows中使用Python实现语音识别及合成 155

8.6 在ROS Indigo中使用Python实现语音识别 156

8.7 在ROS Indigo中使用Python实现语音合成 157

8.8 习题 159

8.9 本章小结 159

第9章 使用Python在ChefBot中应用人工智能 160

9.1 ChefBot中的交互系统框图 160

9.2 AIML介绍 161

9.3 PyAIML介绍 164

9.3.1 在Ubuntu 14.04.2上安装PyAIML 165

9.3.2 从源码中安装PyAIML 165

9.4 使用AIML和Python进行开发 165

9.5 使用A.L.I.C.E AIML文件进行开发 167

9.5.1 将AIML文件载入内存 168

9.5.2 载入AIML文件并将其存为brain文件 169

9.5.3 使用Bootsrtap方法载入AIML文件和brain文件 169

9.6 将PyAIML集成到ROS中 170

9.6.1 aiml_server.py 171

9.6.2 aiml_client.Py 172

9.6.3 aiml_tts_client.Py 172

9.6.4 aiml_speech_recog_client.Py 173

9.6.5 start_chat.launch 174

9.6.6 start_tts_chat.launch 174

9.6.7 start_speech_chat.launch 175

9.7 习题 176

9.8 本章小结 177

第10章 对ChefBot硬件进行集成并使用Python与ROS对接 178

10.1 构建ChefBot硬件 178

10.2 ChefBot PC配置及ChefBotROS开发包设置 181

10.3 将ChefBot传感器接入Tiva C开发板 181

10.4 为ChefBot编写一个ROS python驱动 185

10.5 理解ChefBotROS启动文件 189

10.6 使用ChefBot Python节点和启动文件 190

10.6.1 在ROS中使用SLAM构建房间地图 195

10.6.2 使用ROS实现定位和导航 196

10.7 习题 197

10.8 本章小结 197

第11章 使用Qt和Python设计机器人的图形用户界面 198

11.1 在Ubuntu 14.04.2LTS中安装Qt 198

11.2 在Qt中使用Python绑定进行开发 199

11.2.1 PyQt 199

11.2.2 PySide 200

11.3 使用PyQt和PySide进行开发 200

11.3.1 Qt设计器的介绍 200

11.3.2 Qt的信号与槽机制 202

11.3.3 将UI文件转化为Python代码 202

11.3.4 为PyQt代码添加槽定义 204

11.3.5 运行Hello World GUI应用 206

11.4 使用ChefBot的控制GUI进行开发 206

11.5 习题 213

11.6 本章小结 213

第12章 ChefBot的标定和测试 214

12.1 使用ROS标定Xbox Kinect 214

12.1.1 标定Kinect的RGB相机 215

12.1.2 标定Kinect IR相机 217

12.2 轮式里程计的标定 218

12.2.1 里程计误差分析 219

12.2.2 误差校正 220

12.3 标定MPU 6050 220

12.4 使用GUI测试机器人 221

12.5 习题 223

12.6 本章小结 223