内容简介
本书主要介绍以BeagleBone Black硬件平台和Ubuntu操作系统为核心,自主构建机器人的实用技术与方法。内容由浅及深,循序渐进,涵盖了开发机器人方方面面的问题,包括BeagleBone Black平台和Ubuntu系统的使用与开发,机器人的语言、听觉、视觉、运动、避障等功能的实现,以及无线遥控、GPS定位、空中飞行、水面航行等扩展功能的实现。通过系统集成技术,将各个独立功能进行整合,打造出一个完整的机器人。
目录
第1章 BeagleBone Black入门
1.1 任务简述
1.2 打开包装盒
1.3 接上键盘、 鼠标与显示器
1.4 改变操作系统
1.5 增加用户图形界面(GUI)
1.6 远程访问BeagleBone Black
1.7 任务完成
1.8 挑战
第2章 BeagleBone Black编程
2.1 任务简述
2.2 基本的Linux命令以及浏览文件
系统
2.3 在BeagleBone Black上创建、 编辑
和保存文件
2.4 在BeagleBone Black上创建并运行
Python程序
2.5 BeagleBone Black上基本的程序
结构
2.6 C++语言介绍
2.7 任务完成
2.8 挑战
第3章 语音输入与输出
3.1 任务简述
3.2 连接硬件, 制作并输入声音
3.3 使用eSpeak让机器人说话
3.4 使用PocketSphinx识别语音
命令
3.5 理解语音命令并发起动作
3.6 任务完成
3.7 挑战
第4章 让BeagleBone Black能看见
4.1 任务简述
4.2 将USB摄像头连接到BeagleBone Black并查看图像
4.3 下载和安装OpenCV——一个全功能的视觉库
4.4 使用视觉库检测彩色物体
4.5 任务完成
4.6 挑战
第5章 让机器人运动——控制轮式移动
5.1 任务简述
5.2 使用电机控制器控制平台的速度
5.3 在BeagleBone Black上编程控制移动平台
5.4 通过语音命令控制移动平台的运动
5.5 任务完成
5.6 挑战
第6章 让机器人运动更灵活——学会用腿走路
6.1 任务简述
6.2 使用伺服控制器连接BeagleBone Black与移动平台
6.3 在Linux中创建一个程序来控制移动平台
6.4 通过语音命令让移动平台真正移动起来
6.5 任务完成
6.6 挑战
第7章 使用传感器避障
7.1 任务简述
7.2 连接USB声呐传感器到BeagleBone Black
7.3 使用电机来移动单个传感器
7.4 任务完成
7.5 挑战
第8章 真正的移动——远程遥控机器人
8.1 任务简述
8.2 将BeagleBone Black连接到无线USB键盘
8.3 使用键盘控制你的项目
8.4 任务完成
8.5 挑战
第9章 使用GPS接收器定位机器人
9.1 任务简述
9.2 连接BeagleBone Black到GPS接收器
9.3 编程访问GPS设备及确定如何向目标移动
9.4 任务完成
9.5 挑战
第10章 系统集成
10.1 任务简述
10.2 建立通用控制结构使功能模块间相互通信
10.3 任务完成
10.4 挑战
第11章 上天入地下海
11.1 任务简述
11.2 航海机器人
11.3 飞行机器人
&nbs
摘要与插图
译 者 序机器人技术作为20世纪人类大的发明之一, 自问世以来, 就一直备受瞩目。随着科学技术的快速发展, 机器人技术也得到了飞速发展, 应用领域不断扩展。从自动化生产线到海洋资源的探索, 乃至太空作业等领域, 机器人从事着危险、 复杂的劳动, 其身影可谓是无处不在。目前, 机器人也已经走进了我们的生活与工作中, 在很多领域代替人类的劳动, 发挥着越来越重要的作用, 人类已经越来越离不开机器人的帮助。
机器人一般由机械装置、 传感装置和控制系统组成。其中控制系统是神经中枢, 相当于人的大脑, 是机器人要、 杂的部分, 其核心都是一台嵌入式计算机。本书主要介绍了如何基于“BeagleBone Black硬件平台+Ubuntu操作系统”的组合, 自主构建机器人的原理和方法。作为TI公司力推的开源硬件平台, BeagleBone Black不仅功能强大, 而且价格十分低廉。Ubuntu也是目前流行的Linux发行版。基于两种开放技术平台的机器人控制系统无疑具有好的扩展性和发展前景。围绕着BeagleBone Black硬件平台和Ubuntu操作系统, 本书讨论了打造机器人方方面面的问题, 包括BeagleBone Black平台的使用与开发, 机器人的语言、 听觉、 视觉、 运动、 避障等功能的实现, 以及无线遥控、 GPS定位、 空中飞行、 水面航行等扩展功能的实现, 通过系统集成技术, 将各个独立功能进行整合, 打造出一个完整的机器人。本书采用“stepbystep”的方式, 通过一步步的操作, 教会读者如何使用BeagleBone Black构建一个实际的机器人。本书的特点是实用性强, 由于不过多涉及深奥的技术原理, 所以对读者的基础要求并不高, 适合广大机器人开发爱好者和感兴趣的高校学生学习参考。
本书共11章, 其中第1章至第6章由汤凯翻译; 第7章至第9章由续欣翻译; 第10、 11章由刘洋翻译。全书译文由汤凯统一审核并定稿。
译者在翻译本书的过程中, 本着忠实于原文, 同时力求通俗易懂的原则, 但由于水平有限, 书中的缺点和错误在所难免, 敬请读者批评指正。
译 者2014年10月
前 言
我们正身处一个激动人心的时代, 我们都能深刻地体会到, 因为这些巨变就发生在我们的身边。若干年前, 基本上是伴随着生育高峰期出生的那一代人, 当时计算机还遥不可及, 被放置在大型企业或大学的密室中, 使用这些计算机被严格地限制。如果希望在计算机上编程, 你需要在卡片上打孔, 之后装入到读卡机, 然后等上一个多小时, 才能得到计算机的输出结果。不得不承认, 这就是我早期使用计算机的经历。
这些大型计算机, 例如IBM的360系列, 数字设备公司(Digital Equipment)的PDP7, 惠普公司的1000系列, 当时是少数公司的专属。建造这些计算机花费了成千上万美元, 但是却只有少数授权用户在专用机房里才能够使用。
这种情况持续多年, 直到个人计算机(PC)的出现。我有幸认识购买第一批IBM个人计算机的人。这些计算机有两个软驱, 一个单色显示器, 是一台让人吃惊的设备。个人计算机的出现极大地改变了世界, 那些看起来很遥远的计算技术一下子被搬到了我们办公桌上。处理器技术的进步导致了专用微处理器的诞生。它们可以用于特殊任务, 而无须再使用传统的模拟电路。在很多场合下, 它们改变了人机交互的方式。
这些针对特定应用的解决方案就是嵌入式系统。嵌入式系统带来了个人计算机的计算能力, 但经过了裁剪, 以适应家电或者是工业设备的需要。嵌入式技术的成本也得到了极大的降低, 毕竟没有人愿意为门锁或者是温度传感器支付上千美元的费用。早