本书以教娱机器人的制作应用和竞赛机器人的制作竞赛为目标,结合硬件模块和软件编程,循序渐进地讲解每个模块所需专业知识和技术,然后将这些知识和技术应用到产品制作和开发中。本书第1章介绍了Arduino的基础知识,以方便一些基础比较薄弱的读者跳过入门教程直接学习中级教程。接着介绍循线音乐机器人的制作,重点讲解如何将一首曲子转换成电子音乐数据,然后如何制作播放器,并将播放器与循线程序结合,让机器人达到边循线边播放音乐的效果,而且做到完美集成。第3章介绍超声避障机器人的制作,重点是超声波传感器的距离测量和Arduino脉冲时间测量函数的应用,并讲解智能电子产品设计中要注意的容错问题,然后完成一个超声避障漫游机器人的制作。第4章讲解超声跟*器人的设计和制作,重点引入P控制器的算法和编程,讲解闭环控制的概念和编程实现方法,*后制作出一个反应灵敏的跟*器人。第5章介绍红外遥控机器人的制作,重点讲解红外遥控编码和解码,了解红外编码协议和解码程序的编写方法,*后制作出一个红外遥控机器人。第6章将前5章的功能集成,制作出一个由红外遥控器控制的具备四种工作模式的教娱机器人产品,重点讲解如何利用Arduino的中断功能将各个功能模块完美集成到一起,同时结合产品开发过程,按照构思、设计、实现和操作四个步骤来讲解具体产品的开发流程。第7章结合红外测距传感器的应用,讲解AD接口模拟量和数字量的概念和模数转换技术,并将其应用到红外测距传感器,制作红外云台漫游机器人。第8、9和10章结合中国教育机器人大赛项目,在原有教娱机器人基础上进行改造和拓展,制作智能搬运、擂台和灭火机器人。重点介绍竞赛规则,竞赛策略的编程和完整竞赛程序的设计和实现。
前 言
创作背景
机器人是一个典型的光机电算一体化系统,它融合了光学、机械、电子、传感器、通信、计算机软硬件和人工智能等众多先进技术,是目前世界各国高校进行创新思维训练、创新技能训练、工程实践训练最理想的平台,吸引了无数爱好者参与其中。
目前市面上已经有大量的 Arduino学习套件和教程,这些教程基本上都是先简单地介绍各种电机的控制、传感器的应用和无线数据传输等,然后配上一些简单的案例代码,最后再加上一两个简单的综合应用。这种学习方式没有与具体的应用背景相结合,学习久了会逐渐失去趣味性,只能达到科普的效果,很难真正指导学习者成为一个能解决复杂问题的创客。虽然也有一些将Arduino和机器人结合的教程,但是同样缺乏系统全面的结合和螺旋式上升的引导。
随着基于 Arduino的传感器、机电控制模块、通信模块等在市场上的大量涌现,急需一本教程能够系统地将机器人的各个部分与 Arduino结合起来,并详细介绍如何利用这些模块来设计智能机器人产品。本书正是在这样的背景下创作的。
本书以教娱机器人产品的设计和开发为主线,应用系统工程的设计理念,将各个专业的技术和模块与机器人系统集成,循序渐进地讲解专业知识和技术,并将作者从事机器人设计与制作十年的工程经验带入到本书中,最终开发和制作出一个具有中等复杂程度的机器人产品。本书将机器人涉及的最基本的光机电算一体化知识进行了重新整合,让读者能更全面地了解机器人的相关知识,引发读者从多学科交叉的角度去思考与钻研,最终完成机器人的设计、制作和编程。最后通过几个中国教育机器人大赛的竞赛项目,制作参赛机器人完成竞赛项目,进一步提升和强化开发中等复杂程度软件和产品的能力。
本书主要内容及面向的读者
机器人的制作非常强调动手能力,本书以教娱机器人的制作应用和竞赛机器人的制作竞赛为目标,结合硬件模块和软件编程,循序渐进地讲解每个模块所需的专业知识和技术,然后将这些知识和技术应用到产品的制作和开发中。
作为中级教程,第1章简单介绍了Arduino的基础知识,以方便一些基础比较薄弱的读者跳过入门教程直接学习中级教程;接着第2章介绍循线音乐机器人的制作,重点讲解如何将一首曲子转换成电子音乐数据,以及如何制作播放器,并将播放器与循线程序结合,让机器人达到边循线边播放音乐的效果,而且做到完美集成;第3章介绍超声避障机器人的制作,重点是超声波传感器的距离测量和 Arduino脉冲时间测量函数的应用,并讲解智能电子产品设计中要注意的容错问题,然后完成一个超声避障漫游机器人的制作;第4章讲解超声跟随机器人的设计和制作,重点引入P控制器的算法和编程,讲解闭环控制的概念和编程实现方法,最后制作出一个反应灵敏的跟随机器人;第5章介绍红外遥控机器人的制作,重点讲解红外遥控编码和解码,了解红外编码协议和解码程序的编写方法,最后制作出一个红外遥控机器人;第6章将第2 ~ 5 章的功能集成,制作出一个人的制作竞赛为目标,结合硬件模块和软件编程,循序渐进地讲解每个模块所需由红外遥控器控制的同时具备四种工作模式的教娱机器人产品,重点讲解如何利用 Arduino的中断功能将各个功能模块完美集成到一起,同时结合产品开发过程,按照构思、设计、实现和操作四个步骤来讲解具体产品的开发流程;第7章结合红外测距传感器的应用,讲解模拟量和数字量的概念及模数转换技术,并将其应用到红外测距传感器,制作红外云台漫游机器人;第8 ~ 10章结合中国教育机器人大赛项目,在原有教娱机器人的基础上进行改造和拓展,制作擂台机器人、智能搬运机器人和灭火机器人,重点介绍竞赛规则、竞赛策略的编程和完整竞赛程序的设计与实现;附录A整理了本书所需用到的各种器材名称和规格,以及Arduino机器人的分解组装图;附录B将本书所用到的Arduino函数库进行分类整理;附录 C介绍了中国教育机器人大赛的背景和情况。
由于机器人属于跨学科的领域,必须掌握多个学科的知识。本书虽涉及多个学科,但都以浅显易懂的语言讲解,没有涉及太深的内容。根据读者情况的不同,本书的阅读方式也不同。如果读者完全没有接触过单片机和软件开发,建议先学完本书配套的入门教程。如果读者已经有了一定的Arduino开发经验或者学过 Arduino机器人制作和编程入门教程,可以直接跳过第1章,从第2章开始学习。本书适合 12岁以上的中学生和任何想自主学习Arduino机器人制作的成年人,也可以作为机器人学院第一门机器人制作课或者工程实践课。
致谢
首先要感谢本书的策划秦志强博士,感谢他亲自设计了本书的内容并编写了所有核心章节。
其次要感谢全童科教的产品事业部提供了本书所需的所有案例和代码。
最后要感谢中科乐的高级课程讲师团队和学员朋友们,感谢他们肯花费时间和精力阅读本书并提供学习体验。
由于时间有限,书中难免存在疏漏与错误之处,敬请广大读者批评指正。
希望有更多志同道合的人能加入到机器人的制作、编程和竞赛中来!
秦志强,男,华中科技大学与香港科技大学联合培养博士,上海交通大学博士后,高级工程师,鸥鹏机器人、中科乐活动中心创始人,中国教育机器人大赛策划人,著名的教育专家,长期从事教育机器人的教育和研究工作,著作丰富,其中有多部获评十二五国家规划教材。