第1篇 基础篇 3
第1章 绪论 3
1.1 机器人概述 3
1.1.1 为什么要学习机器人技术 3
1.1.2 机器人发展简史 4
1.1.3 揭开机器人的神秘面纱 5
1.2 “创意之星”机器人套件简介 7
1.3 著名机器人简介 9
1.3.1 “勇气”号火星探测器 9
1.3.2 Remotec Andros F6A排爆机器人 10
1.3.3 iRobot Roomba 11
1.3.4 本田ASIMO仿人型机器人 12
1.3.5 KUKA Titan工业机器人 13
1.3.6 SONY机器狗AIBO 14
1.3.7 足球机器人 14
1.3.8 Segway两轮平衡车 16
1.4 典型机器人竞赛简介 17
1.4.1 国际机器人赛事 17
1.4.2 国内机器人赛事 19
1.4.3 机器人竞赛的特点 20
1.5 小结 21
第2章 机器人基础知识概述 22
2.1 机器人的骨骼——机械结构 22
2.1.1 设计和制作机器人的一般过程 22
2.1.2 机器人的机械结构 24
2.1.3 机器人的执行机构 24
2.2 机器人的肌肉——执行器 28
2.2.1 直流电机概述 29
2.2.2 直流有刷电机 29
2.2.3 直流无刷电机 31
2.2.4 直线电机 31
2.2.5 步进电机 32
2.2.6 空心杯直流电机 35
2.2.7 舵机 36
2.2.8 常见减速器 37
2.3 机器人的心脏——电源 38
2.3.1 机器人常用电池概述 38
2.3.2 干电池 39
2.3.3 铅酸蓄电池 39
2.3.4 镍镉/镍氢电池 40
2.3.5 锂离子/锂聚合物动力电池 41
2.3.6 线性稳压电源 42
2.3.7 开关电源概述 43
2.3.8 交流—直流开关电源 43
2.3.9 直流—直流开关电源 44
2.4 机器人的五官——机器人传感器 44
2.4.1 测距声纳 45
2.4.2 红外测距传感器 45
2.4.3 激光扫描测距传感器 47
2.4.4 旋转编码器 48
2.4.5 旋转电位计 51
2.4.6 光电开关传感器 52
2.4.7 电感式、电容式、霍尔效应接近开关 53
2.4.8 磁性开关 54
2.4.9 电子磁罗盘 55
2.4.10 姿态/航向测量单元 55
2.4.11 温度传感器 55
2.4.12 声音传感器 56
2.4.13 GPS接收机 57
2.4.14 视觉传感器 58
2.4.15 气体传感器 58
2.5 机器人的大脑——控制器 58
2.5.1 基于单片机(MCU)的控制器 58
2.5.2 基于嵌入式系统的控制器 59
2.5.3 基于PC架构的控制器 60
2.6 机器人的C语言编程基础 60
2.6.1 机器人软件知识概述 60
2.6.2 C语言简介 61
2.6.3 C程序结构概述 65
2.7 小结 68
第2篇 实践篇 71
第3章 数字信号的输出和输入 71
3.1 绚丽的霓虹灯 71
3.2 数字信号简介 72
3.3 霓虹灯硬件搭建 73
3.3.1 MultiFLEXTM2-AVR控制器 73
3.3.2 数字信号输出设备——LED灯 76
3.3.3 L型结构件 76
3.3.4 多功能调试器 76
3.3.5 电池和电源 77
3.4 让霓虹灯闪烁起来 78
3.4.1 NorthSTAR图形化开发环境 78
3.4.2 IO方向设置 81
3.4.3 数字输出模块——Digital output 83
3.4.4 延时模块——Delay 85
3.4.5 连线 86
3.4.6 while循环 87
3.4.7 编译和下载 88
3.5 给霓虹灯增加开关 90
3.5.1 数字信号输入设备——碰撞传感器 90
3.5.2 修改工程设置 90
3.5.3 数字输入模块——Digital input 91
3.5.4 变量模块——Variable 91
3.5.5 其他数字量传感器 94
3.6 小结 96
第4章 电机和舵机的控制 97
4.1 有趣的搬运车 97
4.2 舵机控制原理 98
4.3 搬运车的搭建 98
4.3.1 底板、舵机结构件和连接件 98
4.3.2 CDS55xx机器人舵机 98
4.3.3 轮子 104
4.3.4 设置舵机ID 107
4.3.5 机械手 112
4.4 让搬运车动起来 115
4.4.1 工程设置修改 115
4.4.2 IF模块和Break模块 117
4.4.3 舵机模块——Servo(N) 118
4.4.4 再谈Delay模块 124
4.4.5 编辑代码 126
4.4.6 程序调试 128
4.5 小结 129
第5章 模拟信号的输入 130
5.1 聪明的机器人 130
5.2 模拟信号简介 131
5.3 搭建聪明的机器人 131
5.3.1 红外测距传感器 131
5.3.2 其他模拟量传感器 132
5.4 让机器人动起来 133
5.4.1 AD设置 133
5.4.2 模拟输入模块 135
5.4.3 自定义函数和自定义代码 135
5.4.4 第1个模块:开关 138
5.4.5 第2个模块:右侧沿墙去目的地 140
5.4.6 查询传感器 143
5.4.7 第3个模块:夹持物体 145
5.4.8 第4个模块:返回出发地 146
5.4.9 第5个模块:放下物体 148
5.4.10 第6个模块:闪烁LED灯 148
5.4.11 流程图调试 150
5.4.12 终止程序运行 150
5.5 使用帮助 150
5.6 小结 151
第6章 语音识别 152
6.1 语音问答机器人 152
6.2 语音识别简介 153
6.3 搭建语音问答机器人 154
6.3.1 高级版控制器 154
6.3.2 四轮全向机器人 158
6.3.3 视觉 159
6.3.4 语音输入和输出设备 159
6.4 让机器人和人互动起来 159
6.4.1 设计剧本 159
6.4.2 剧本录音 160
6.4.3 编写程序 163
6.5 小结 166
第7章 视频信号的输入 167
7.1 全向运动足球机器人 167
7.2 图像处理简介 168
7.3 搭建全向足球机器人 169
7.3.1 全向轮 169
7.3.2 摄像头 171
7.3.3 速度的标定和合成 171
7.3.4 颜色识别 173
7.4 让机器人跑起来 177
7.4.1 编写程序 177
7.4.2 跟球逻辑的实现 179
7.5 小结 181
第8章 综合实践——四足机器人步态规划 182
8.1 会追光的四足步行机器人 182
8.2 任务分析与规划 183
8.3 搭建机器人 186
8.4 让四足机器人走起来 187
8.4.1 四足机器人步态分析 187
8.4.2 编写步态 191
8.4.3 让舵机跟踪光源 195
8.4.4 让四足机器人跟踪光源 203
8.5 小结 203
第9章 综合实践——两轮机器人的平衡控制 204
9.1 两轮平衡机器人 204
9.2 任务分析与规划 204
9.3 搭建两轮平衡机器人 206
9.4 让机器人平衡地站起来 208
9.4.1 修改舵机的参数 208
9.4.2 红外测距传感器的标定 210
9.4.3 数字式PID算法的实现 211
9.5 小结 219
第3篇 竞赛篇 223
第10章 机器人武术擂台赛——无差别组 223
10.1 熟悉比赛规则和比赛场地 223
10.1.1 比赛规则 223
10.1.2 熟悉比赛场地 223
10.2 规则分析和任务规划 224
10.2.1 规则分析 224
10.2.2 解决方案 224
10.2.3 任务规划 227
10.3 结构设计和传感器布置 227
10.3.1 结构设计 227
10.3.2 传感器布置 228
10.4 传感器的标定和分布练习 229
10.4.1 标定灰度传感器 229
10.4.2 标定红外传感器 231
10.4.3 启动方式和爬坡练习 231
10.4.4 漫游练习 232
10.4.5 推重物、棋子练习 232
10.4.6 实战对抗练习 233
10.5 改进竞赛能力 234
10.5.1 改进机器人结构 234
10.5.2 改进控制程序 236
10.5.3 动力改进 237
10.5.4 改进其他能力 239
10.6 比赛注意事项 240
10.7 小结 240
第11章 擂台赛机器人(仿人组) 241
11.1 熟悉比赛规则 241
11.2 规则分析和任务规划 241
11.2.1 规则分析 241
11.2.2 任务规划 242
11.3 搭建机器人 242
11.3.1 机器人底盘设计 242
11.3.2 机器人身体部分设计 244
11.4 编程实现比赛能力 245
11.4.1 爬坡练习 245
11.4.2 举圆柱练习 245
11.4.3 边缘检测和推棋子练习 246
11.4.4 实战对抗练习 246
11.5 改进竞赛能力 251
11.5.1 改进机器人结构和动力 251
11.5.2 改进控制程序 251
11.6 小结 252
第12章 机器人武术擂台赛——技术挑战赛 253
12.1 熟悉比赛规则和场地 253
12.1.1 熟悉规则 253
12.1.2 熟悉比赛场地和器材 254
12.2 规则分析和任务规划 255
12.2.1 规则分析 255
12.2.2 策略分析和规划 255
12.3 机器人搭建和传感器布局设计 256
12.4 让机器人完成任务 257
12.4.1 实现爬坡 258
12.4.2 寻找麦克风并自我介绍 258
12.4.3 寻找绣球并完成抛绣球任务 260
12.4.4 寻找铜锣并敲响 261
12.4.5 回到场地中央致谢结束 262
12.4.6 从斜坡走下擂台 263
12.5 完善改进 263
12.5.1 增加民族服装 263
12.5.2 增加可靠性 263
12.6 小结 263
附录A 拓展阅读及技术资料 264
A.1 有用的拓展阅读资料介绍 264
A.2 如何获取相关技术资料 264
附录B 控制器相关 265
B.1 控制器接口 265
B.2 控制器构成 266
B.3 控制器开放接口函数一览 269
B.3.1 MultiFLEXTM2-AVR 269
B.3.2 MultiFLEXTM2-RAS700 271
B.4 常见问题解答 276
附录C 2015年机器人武术擂台赛项目竞赛规则 279
C.1 总则 279
C.1.1 竞赛目的 279
C.1.2 竞赛内容概述 279
C.1.3 竞赛组别 279
C.1.4 组织机构 280
C.2 场地和机器人 280
C.2.1 比赛场地及道具 280
C.2.2 机器人技术要求与辅助器材 282
C.3 竞赛 284
C.3.1 资格认证、裁判和赛程 284
C.3.2 竞赛方式 285
C.3.3 计分和胜负判定 289
C.3.4 违例和处罚 290
C.3.5 申诉与仲裁 291
C.4 安全 291
C.5 奖项设置 291
C.6 其他 291
参考文献 293