项目1 开发软件平台环境的搭建与配置 1
1.1 项目描述 1
1.2 教学目标 1
1.3 知识准备 1
1.3.1 了解嵌入式系统Linux使用的命令行 1
1.3.2 了解Linux文件与文件管理命令 2
1.3.3 更多Linux命令 5
1.3.4 特殊的控制键 6
1.3.5 了解Linux进程机制命令 7
1.3.6 了解sudo与权限 7
1.4 任务实现 8
1.4.1 安装Raspbian Linux发行版本操作系统 8
1.4.2 配置Raspbian Linux操作系统 10
1.4.3 通过apt-get管理软件 13
1.4.4 使用Pi Store安装软件和多媒体 15
1.4.5 设置Raspbian Linux固件 15
1.4.6 把控制器变成多媒体中心 17
1.4.7 在控制器上面玩游戏 19
1.4.8 使用Raspbian Linux系统编译Python程序 20
1.5 考核评价 24
任务1 Raspbian Linux系统安装 24
任务2 使用Raspi-config设置系统 24
任务3 启动进入桌面 24
任务4 通过apt-get安装新软件 24
任务5 通过apt-get删除软件 24
任务6 使用Python编写简单的Hello程序 24
1.6 拓展提高 24
任务1 升级固件或内核 24
任务2 设置视频输出 26
任务3 测试和设置音频系统 27
项目2 嵌入式交互式智能家居机器人控制系统 28
2.1 项目描述 28
2.2 教学目标 28
2.3 知识准备 28
2.3.1 智能家居机器人控制系统硬件主板 28
2.3.2 智能家居机器人控制系统的特性 29
2.3.3 智能家居机器人控制系统电路及传感器资源 30
2.4 任务实现 34
2.4.1 使用输入输出接口 34
2.4.2 数字信号输出:点亮LED 34
2.4.3 数字信号输入:读取按钮状态 36
2.4.4 在Python中安装并测试GPIO 38
2.4.5 让LED闪烁 39
2.4.6 读取按钮状态 40
2.4.7 在智能家居机器人系统中定位串口 42
2.4.8 串口通信 44
2.5 考核评价 46
任务1 制作定时台灯项目 46
任务2 制作简易发音板项目 49
任务3 在智能家居机器人系统中驱动底层控制系统 51
项目3 交互式智能家居机器人运动模块设计 56
3.1 项目描述 56
3.2 教学目标 56
3.3 知识准备 56
3.3.1 关于直流电机 56
3.3.2 关于L298驱动器 57
3.3.3 底层控制板的基本电机编程技巧 59
3.3.4 导航传感器选择 62
3.3.5 家居巡航导航策略 63
3.4 任务实现 64
3.4.1 方案设计 64
3.4.2 硬件电路设计 64
3.4.3 家居机器人导航组装 65
3.4.4 智能家居机器人导航程序设计 67
3.4.5 智能家居机器人导航避开“死角”的算法设计 69
3.4.6 调试程序 72
3.4.7 利用嵌入式系统监测运行状态 72
3.5 考核评价 76
任务1 实现智能家居机器人家庭巡航 76
任务2 嵌入式智能家居机器人的实现 76
3.6 拓展提高 76
任务 智能家居机器人智能导航 76
项目4 交互式智能家居机器人视觉交互控制模块设计 77
4.1 项目描述 77
4.2 教学目标 77
4.3 知识准备 78
4.3.1 Python基础编程 78
4.3.2 计算机视觉库SimpleCV的运行条件 82
4.3.3 计算机视觉库SimpleCV基础编程 82
4.3.4 关于摄像头的选择 84
4.3.5 关于视觉处理的基本概念 85
4.4 任务实现 85
4.4.1 测试摄像头 85
4.4.2 安装并测试SimpleCV 86
4.4.3 图像数据无线传输的实现 87
4.4.4 图像变换与增强处理 90
4.4.5 图像背景去除和轮廓提取的实现 99
4.4.6 图像分割和运动物体检测的实现 100
4.4.7 图像模式识别——颜色识别算法的实现 105
4.4.8 图像模式识别——形状识别算法的实现 109
4.5 考核评价 119
任务1 条码识别 119
任务2 人脸检测 120
任务3 二维码识别 121
4.6 拓展提高 122
任务 利用智能家居机器人编写一个互动型照相馆 122
项目5 交互式智能家居机器人听觉交互控制模块设计 125
5.1 项目描述 125
5.2 教学目标 125
5.3 知识准备 125
5.3.1 关于语音识别 125
5.3.2 听觉交互控制模块硬件的设计思路 127
5.3.3 语音感知、获取的原理 128
5.4 任务实现 129
5.4.1 方案设计 129
5.4.2 听觉交互控制模块硬件的设计与制作 129
5.4.3 语音分析处理与模式识别设计 130
5.4.4 语音识别与机器人动作控制程序设计 133
5.4.5 程序代码的编辑、调试及运行 135
5.5 考核评价 135
任务1 交互式智能家居机器人的人机对话设计 135
任务2 接收主人发出的控制命令并响应 136
5.6 拓展提高 136
任务 智能家居语音控制机器人的动作互动 136
项目6 交互式智能家居机器人触觉交互控制模块设计 137
6.1 项目描述 137
6.2 教学目标 137
6.3 知识准备 137
6.3.1 超声波传感器 137
6.3.2 超声波测距的原理及计算公式 138
6.3.3 关于非接触式红外触觉探测 139
6.3.4 非接触式红外触觉探测传感器介绍及其控制方式 140
6.3.5 非接触式温度测量 140
6.3.6 非接触式温度测量传感器介绍及其控制方式 141
6.4 任务实现 143
6.4.1 方案设计 143
6.4.2 总体硬件电路设计 144
6.4.3 非接触式超声波触觉软件的编写 144
6.4.4 非接触式红外触觉探测软件的编写 148
6.4.5 非接触式温度触觉软件的编写 149
6.4.6 程序代码的编辑、调试及运行 153
6.5 考核评价 153
任务1 编写感应人体接近动作的响应程序 153
任务2 用超声波判断人体离机器人的距离 153
任务3 智能家庭机器人非接触式人体温度测量服务 154
6.6 拓展提高 154
任务 基于非接触式多传感器的机器人对周围环境的监测 154
项目7 交互式智能家居机器人交互模块整体软硬件调试 155
7.1 项目描述 155
7.2 教学目标 155
7.3 知识准备 155
7.4 任务实现 156
7.4.1 综合方案设计 156
7.4.2 整体硬件电路设计 156
7.4.3 多模块智能程序的编写 156
7.4.4 程序代码的编辑、调试及运行 162
7.4.5 烧写可执行文件 162
7.5 考核评价 162
任务 触觉和听觉导航视觉综合案例 162
7.6 拓展提高 171
任务 触觉、听觉导航、无线数据传输和视觉信息采集显示综合编程 171
附录A Linux操作系统 177
A1.1 初次使用 177
A1.2 浏览文件系统 179
A1.3 编辑文本文件 179
A1.4 管理用户 181
A1.5 管理进程 183
A1.6 关闭和重启智能家居机器人控制系统 185
A1.7 获取帮助 185
附录B 安装所需元器件清单 186
附录C 调试所需仪器仪表清单 187
参考文献 188