第1章 绪论 1
1.1 机器人概述 1
1.2 竞赛机器人的国际赛事 2
1.2.1 RoboCup比赛 2
1.2.2 FIRACup比赛 4
1.2.3 迷宫机器人比赛 4
1.2.4 寻线机器人比赛 6
1.2.5 灭火机器人比赛 6
1.2.6 舞蹈机器人比赛 7
1.2.7 相扑机器人比赛 8
1.3 国内的机器人比赛 8
1.4 竞赛机器人平台的主要功能 13
思考题 15
参考文献 15
第2章 竞赛机器人的控制器 16
2.1 引言 16
2.2 机器人控制器类型 16
2.2.1 串行处理结构 16
2.2.2 并行处理结构 17
2.3 三种机器人控制器的比较 18
2.3.1 51系列单片机 18
2.3.2 PIC系列单片机 20
2.3.3 AVR系列单片机 21
2.4 PIC16F877(A)PIC系列单片机 22
2.4.1 PIC系列单片机性能特点 22
2.4.2 PIC16F87X单片机的结构与性能特点 23
2.4.3 单片机C语言编程 25
2.5 机器人控制器的发展趋势 26
思考题 28
参考文献 28
第3章 竞赛机器人的软件开发平台 29
3.1 MPLAB概述 29
3.1.1 MPLAB集成开发环境的组成 29
3.1.2 MPLAB运用方式 30
3.1.3 MPLAB对硬件与软件的要求 30
3.2 MPLAB的安装和启动 31
3.2.1 完整的MPLAB安装 31
3.2.2 MPLAB的启动 31
3.3 MPLAB的使用 31
3.3.1 启动MPLAB IDE 31
3.3.2 创建源文件 32
3.3.3 创建项目 34
3.3.4 给项目添加文件 34
3.3.5 选择器件 36
3.3.6 设置配置位 37
3.3.7 选择MPLAB ICD2作为调试器 37
3.3.8 通过向导完成调试器的设置 38
3.3.9 建立PC与MPLAB ICD2仿真下载器之间的通信联系 39
3.3.10 更新MPLA8 ICD2固件(操作系统) 42
3.3.11 生成目标文件(编译) 42
3.3.12 下载目标代码 44
3.3.13 运行和调试 45
3.3.14 在编程器模式下下载目标代码 46
3.3.15 文件保存 48
3.4 软件编程基础 48
3.4.1 C语言概述 49
3.4.2 整型量 49
3.4.3 符号常量 50
3.4.4 简单赋值运算与赋值表达式 50
3.4.5 控制语句 51
思考题 57
参考文献 57
第4章 竞赛机器人的结构与部件 58
4.1 平台的机械结构 58
4.2 平台的行走机构 60
4.3 舵机 61
4.4 将舵机改装成执行机构 63
4.5 竞赛机器人平台的组装 68
4.6 竞赛机器人专用遥控器的制作 70
思考题 72
参考文献 72
第5章 竞赛机器人的电子电路 73
5.1 硬件电路组成 72
5 2 执行机构驱动电路 73
5.3 传感器检测电路 76
5.3.1 白线条的检测 77
5.3.2 迷宫隔栅检测部分 77
5.3.3 传感器的特性曲线 79
5.3.4 沿跑道中线的运行 81
5.4 无线发射接收模块 81
5.5 数据存储模块 84
思考题 86
参考文献 86
第6章 竞赛机器人的编程技术 87
6.1 竞赛机器人的控制 87
6.1.1 CPU引脚资源分配 87
6.1.2 初始化模块 88
6.1.3 运动模块 89
6.1.4 A/D转换模块 93
6.2 迷宫智能算法的实现 94
6.2.1 沿跑道中线前进的判断程序 94
6.2.2 无记忆功能迷宫算法的编程实现 95
6.2.3 有记忆功能的迷宫算法分析 96
6.3 上位机软件 100
思考题 101
参考文献 101
第7章 机器人走迷宫的数学算法 102
7.1 场地设计与制作 102
7.1.1 迷宫机器人场地标准 102
7.1.2 场地的设计和加工 102
7.1.3 迷宫场地的特征 104
7.2 迷宫的表示 104
7.3 迷宫的深度优先搜索法 106
7.4 遗传算法在迷宫问题中的应用 108
7.4.1 遗传算法 108
7.4.2 遗传算法求解迷宫问题的具体实现 108
思考题 111
参考文献 111
第8章 竞赛机器人实验 112
实验一 创建MPLAB IDE软件编程环境 112
实验二 使用MPLAB IDE软件编程环境 129
实验三 电动机控制实验 135
实验四 手动控制机器人实验 150
实验五 机器人寻线行走实验 152
实验六 人工智能算法(一)——沿右侧墙壁行走 154
实验七 人工智能算法(二)——沿两侧墙壁行走 159
实验八 人工智能算法(三)——自主走迷宫 161
实验九 机器人灭火实验 162
附录 机器人迷宫比赛规则 165