
作者:融亦鸣、朴松昊、冷晓琨 主编,柯文德、梁
页数:376
出版社:清华大学出版社
出版日期:2021
ISBN:9787302570479
电子书格式:pdf/epub/txt
内容简介
Roban 机器人是一款基于 ROS(机器人操作系统) 的人工智能人形机器人。本书围绕Roban机器人,阐述人工智能相关理论、方法及应用。内容涵盖Roban机器人的基本原理、操作与开发方法、相关的双足机器人数学模型及控制理论、人工智能相关的语音及视觉应用。全书共 8 章,主要内容包括 Roban 机器人概述、Python 编程基础、ROS 编程基础、SLAM 定位和导航基础、V-REP 仿真基础、运动控制基础,步态算法基础,以及人工智能基础。
本书深入浅出,内容新颖,案例丰富,实用性强,寓教于乐。本书既可作为机器人初学者掌握机器人知识的入门书,也可作为机器人研究者钻研机器人技术的参考书,适合各种不同知识水平的读者阅读。
教材配套实体机器人,教材中相应实例可以运行在Roban机器人上,后续教材内容的不断更新会更好地促进人工智能机器人相关学习和实践。
作者简介
融亦鸣,讲席教授、博士生导师,南方科技大学机械与能源工程系主任、致新书院创院院长。1989年获美国肯塔基大学机械工程博士学位。曾任美国伍斯特理工大学(WPI)终身正教授。2010—2015年任清华大学机械制造专业教授。美国机械工程师学会会士(ASME Fellow),美国制造工程师学会(SME)会员,计算机辅助设计与制造领域国际知名学者,机械夹具设计研究领域国际权威专家。在美国,先后主持科研项目50余项;回国后,主持或参与国家自然科学基金、973、863、国家重大专项以及工业合作课题十余项。出版专著2部,发表论文400多篇,授权应用发明专利多项。
朴松昊,教授、博士生导师,哈尔滨工业大学计算学部主任助理、计算机学院多智能体机器人研究中心主任。中国人工智能学会机器人文化艺术专业委员会主任委员、中国人工智能学会常务理事,黑龙江省机器人学会副理事长,黑龙江省计算机学会智能机器人专业委员会主任委员。主持或参加国家自然科学基金、863计划重点及面上项目、机器人技术与系统国家重点实验室基金、黑龙江省自然科学基金、教育部“985”项目、“三星”国际合作项目多项。出版专著2部,发表论文100多篇,其中SCI、EI、ISTP检索100余篇。
冷晓琨,哈尔滨工业大学博士,乐聚(深圳)机器人技术有限公司董事长、创始人。作为青年代表受邀参加在人民大会堂举行的纪念五四运动100周年大会。曾获中国青少年科技创新奖、中国青年创业奖、全国优秀共青团员、“创青春”全国大学生创新创业大赛金奖、工信部创新创业特等奖等20余项荣誉,曾登上福布斯杂志封面并入选福布斯亚洲榜单,带领团队研发的Aelos机器人登上平昌冬奥会“北京八分钟”的舞台。
本书特色
机器人学作为交叉学科,汇集了当今机械、电子、自动化控制和计算机等相关领域的研究成果,是当前世界科技研究最为前沿的领域之一。模仿人的形态和行为而设计制造的机器人就是仿人机器人,一般分别或同时具有仿人的四肢和头部。仿人机器人研究集多门科学于一体,代表着一个国家的高科技发展水平。
乐聚 (深圳) 机器人公司掌握集机械、控制、传感器、电源于一体的高度集成技术,研制出具有视觉、语音对话、力觉、平衡觉等功能的仿人机器人Roban,具有自主知识产权。
Roban机器人具有的听觉和视觉能力,极大地扩展了其在人工智能方面的应用。其配套的ROS系统、Pyhon支持、开放的接口,使Roban机器人成为学习、研究人工智能的极最硬件。
本书基于Roban机器人,围绕机器人学、人工智能两大论题,充分阐释了人工智能在双足机器人上的应用,为人工智能领域教育提供强有力的支持。
目录
.
III
前言…………………………………………………………………………..
. V
第
1
章Roban
机器人概述………………………………………………………..
1
1.1
Roban
机器人简介………………………………………………………..
1
1.1.1
Roban
机器人系统…………………………………………………..
. 1
1.1.2
Roban
机器人关节运动模型……………………………………………
. 4
1.1.3
Roban
机器人控制框架……………………………………………….
. 6
1.2
操作Roban
机器人………………………………………………………
. 6
1.2.1
无线网络设置………………………………………………………
. 6
1.2.2
远程登录Roban
机器人………………………………………………..
8
1.2.3
使用VS
Code
开发…………………………………………………..11
第
2
章Python
编程基础……………………………………………………….
.
15
2.1
Python
语法……………………………………………………………
.
15
2.1.1
Python
运行方式…………………………………………………….15
2.1.2
Python
程序书写格式…………………………………………………18
2.1.3
变量、数据类型、表达式……………………………………………..19
2.1.4
条件语句…………………………………………………………
.
22
2.1.5
while
循环语句…………………………………………………….
.
24
2.1.6
continue
与break
语句……………………………………………….
.
26
2.1.7
列表…………………………………………………………….
.
27
2.1.8
元组与字典……………………………………………………….
.
30
2.2
Python
函数……………………………………………………………
.
31
2.2.1
函数定义…………………………………………………………
.
32
2.2.2
函数参数…………………………………………………………
.
33
_x00C_
VIII
2.2.3
Python
模块……………………………………………………….
.
35
2.3
Python
对象与类……………………………………………………….
.
36
2.3.1
类的定义与使用……………………………………………………
.
37
2.3.2
类的继承…………………………………………………………
.
38
2.4
文件和异常……………………………………………………………
.
39
2.4.1
文本文件读写……………………………………………………..
.
40
2.4.2
二进制文件读写……………………………………………………
.
42
2.4.3
异常…………………………………………………………….
.
43
第
3
章ROS
使用概述…………………………………………………………..45
3.1
ROS
简介……………………………………………………………..
.
45
3.2
程序包与节点…………………………………………………………..46
3.2.1
程序包与节点介绍…………………………………………………
.
46
3.2.2
节点的编译与运行…………………………………………………
.
47
3.3
话题与服务……………………………………………………………
.
49
3.3.1
ROS
话题………………………………………………………..
.
49
3.3.2
ROS
消息与消息类型……………………………………………….
.
50
3.3.3
ROS
服务………………………………………………………..
.
53
3.4
launch
文件与参数……………………………………………………..
.
56
3.4.1
launch
文件介绍…………………………………………………….56
3.4.2
机器人实践………………………………………………………..59
3.5
常用调试工具rqt………………………………………………………..61
3.5.1
rqt_plot
………………………………………………………….
.
61
3.5.2
rqt_img_View
…………………………………………………….
.
61
3.5.3
rqt_graph
………………………………………………………..
.
62
3.6
ROS
配置实践…………………………………………………………
.
63
3.6.1
ROS
编译环境搭建与测试……………………………………………
.
63
3.6.2
ROS
话题………………………………………………………..
.
70
3.6.3
ROS
服务………………………………………………………..
.
78
3.7
主从机配置……………………………………………………………
.
86
3.7.1
获取IP
地址和Hostname
…………………………………………….
.
86
_x00C_
IX
3.7.2
修改对应的hosts
…………………………………………………..
.
87
3.7.3
配置主从关系………………………………………………………87
3.8
ROS
CvBridge
实践………………………………………………………88
3.8.1
将ROS
图像消息转换为OpenCV
的图像………………………………..
.
88
3.8.2
将OpenCV
图像转换为ROS
图像消息………………………………….
.
88
3.8.3
在计算机上显示Roban
机器人摄像头数据………………………………..89
第
4
章同步定位与地图构建……………………………………………………
.
90
4.1
SLAM
简介……………………………………………………………
.
90
4.2
图像的接收和发布……………………………………………………..
.
91
4.2.1
初始化和配置………………………………………………………91
4.2.2
主要功能实现………………………………………………………93
4.3
定位和图像追踪——ORB-SLAM2………………………………………..
.
97
4.3.1
数据接收和程序初始化……………………………………………..
.
97
4.3.2
点云地图创建/重用…………………………………………………
.
99
4.4
八叉树图层的截取以及平面地图的生成……………………………………102
4.4.1
八叉树图层的截取………………………………………………..
.
102
4.4.2
平面地图的生成………………………………………………….
.
103
4.5
路径规划…………………………………………………………….
.
104
4.6
行走实现…………………………………………………………….
.
107
4.6.1
路径分析…………………………………………………………107
4.6.2
行走控制…………………………………………………………110
第
5
章V-REP
使用概述………………………………………………………
.
113
5.1
V-REP
使用简介………………………………………………………
.
114
5.1.1
前言…………………………………………………………….114
5.1.2
安装带有ROS
的V-REP
……………………………………………
.
116
5.1.3
V-REP
的简单使用………………………………………………..
.
122
5.1.4
理解RosInterface
…………………………………………………..128
5.2
V-REP
中的Roban
机器人………………………………………………
.
138
5.2.1
导入Roban
机器人………………………………………………..
.
138
5.2.2
BodyHub
简介与启动………………………………………………
.
140
5.2.3
关节运动控制……………………………………………………
.
148
_x00C_
5.2.4
仿真中的步态运行………………………………………………..
.
159
5.3
V-REP
传感器使用…………………………………………………….
.
166
5.3.1
视觉传感器……………………………………………………..
.
166
5.3.2
接近传感器……………………………………………………..
.
177
5.4
V-REP
使用实践………………………………………………………
.
181
5.4.1
过坑路段…………………………………………………………182
5.4.2
雷区路段…………………………………………………………186
5.4.3
踢球进洞路段……………………………………………………
.
192
第
6
章Roban
机器人运动控制基础…………………………………………….
.
199
6.1
关节………………………………………………………………….199
6.1.1
头部关节…………………………………………………………200
6.1.2
手臂关节…………………………………………………………201
6.1.3
髋关节…………………………………………………………..202
6.1.4
腿部关节…………………………………………………………202
6.1.5
伺服电机…………………………………………………………204
6.2
完整动作执行………………………………………………………….205
6.3
运动控制…………………………………………………………….
.
207
6.3.1
舵机参数设置……………………………………………………
.
208
6.3.2
关节位置控制……………………………………………………
.
208
6.3.3
步态控制…………………………………………………………211
6.4
运动学正解…………………………………………………………..
.
215
6.4.1
运行IK
节点…………………………………………………….
.
215
6.4.2
计算四肢末端位置………………………………………………..
.
215
6.5
运动学逆解…………………………………………………………..
.
218
6.5.1
机器人扭腰……………………………………………………..
.
218
6.5.2
扭腰中IK
逆解的处理……………………………………………..
.
223
6.5.3
机器人晃腰……………………………………………………..
.
227
6.6
自动避障实践………………………………………………………….230
6.6.1
3D
相机的原理…………………………………………………..
.
230
6.6.2
设计思路以及步骤………………………………………………..
.
231
6.6.3
示例代码…………………………………………………………232
_x00C_
XI
第
7
章双足步行基础…………………………………………………………
.
235
7.1
机器人运动学………………………………………………………….235
7.1.1
坐标变换…………………………………………………………236
7.1.2
人形机器人运动学模型…………………………………………….
.
239
7.1.3
正运动学…………………………………………………………239
7.1.4
逆运动学…………………………………………………………242
7.2
ZMP
的含义………………………………………………………….
.
246
7.2.1
ZMP
与地面反力………………………………………………….
.
246
7.2.2
ZMP
分析……………………………………………………….
.
248
7.2.3
ZMP
的测量……………………………………………………..
.
252
7.2.4
ZMP
与机器人运动…………………………………………………256
7.3
基于线性倒立摆的双足步态生成………………………………………..
.
258
7.3.1
质心轨迹生成……………………………………………………
.
258
7.3.2
足端轨迹生成……………………………………………………
.
261
7.3.3
台阶及斜坡地形的步态规划…………………………………………
.
263
7.4
机器人静步态实践…………………………………………………….
.
267
7.4.1
五次样条插值……………………………………………………
.
267
7.4.2
实现机器人双足支撑情况下的重心位置移动……………………………..268
7.4.3
实现摆动脚轨迹规划以及摆动脚的运行………………………………..
.
270
7.5
机器人上楼梯实践…………………………………………………….
.
276
7.5.1
第一阶段…………………………………………………………276
7.5.2
第二阶段…………………………………………………………278
7.5.3
第三阶段…………………………………………………………279
7.5.4
第四阶段…………………………………………………………281
第
8
章人机交互………………………………………………………………283
8.1
音频处理…………………………………………………………….
.
283
8.1.1
语音识别…………………………………………………………285
8.1.2
语音合成…………………………………………………………289
8.1.3
聊天机器人综合应用………………………………………………
.
293
8.2
视频处理…………………………………………………………….
.
297
8.2.1
视频设备简介……………………………………………………
.
297
_x00C_
XII
8.2.2
图像处理工具……………………………………………………
.
300
8.2.3
颜色检测…………………………………………………………309
8.3
综合应用…………………………………………………………….
.
323
8.3.1
基本原理…………………………………………………………323
8.3.2
主要接口…………………………………………………………324
8.3.3
运行方式…………………………………………………………324
8.4
颜色识别实践………………………………………………………….324
8.4.1
HSV
颜色模型介绍………………………………………………..
.
324
8.4.2
识别小球…………………………………………………………325
8.4.3
追踪小球…………………………………………………………327
8.4.4
追踪多种颜色小球………………………………………………..
.
328
8.5
人脸识别实践………………………………………………………….330
8.6
数字识别实践………………………………………………………….348
8.6.1
深度学习之Keras
…………………………………………………
.
348
8.6.2
使用模型进行数字识别…………………………………………….
.
355
参考文献……………………………………………………………………..
.
358















