前言
树莓派是一款基于ARM架构、Linux系统的极简计算机,它自2012年发布以来,凭借小巧的体形和低廉的价格迅速风靡全球,既可以用于计算机编程教育,也可以作为机器人教育中嵌入式系统的控制核心。
第一种运行于树莓派上的编程语言是Python,这也是当前人工智能领域最为流行的编程语言。Python是一种高级编程语言,适用于广泛的应用场景,它的代码简单易读,语法规则简洁、明确,扩展功能开放、丰富,非常适合编程初学者入门学习。
机器视觉是人工智能中重要的细分研究领域,OpenCV则是当前机器视觉领域主流的开源处理库。OpenCV提供包括Python语言在内的多种编程语言的调用接口,可以方便地用于计算机图像处理,并可应用于面部识别、目标识别等具体问题。
作为一本以人工智能与机器人为主题的入门书籍,本书主要聚焦于在树莓派平台上使用Python语言调用OpenCV库实现机器视觉的任务。全书内容共分为7章,前4章为树莓派与Python编程基础知识部分,第1章介绍人工智能与机器人的基本概念,第2章则介绍树莓派主板与操作系统使用方法,第3章为简单的Python编程入门学习内容,第4章介绍Python编程与树莓派的硬件控制的结合;后3章则为机器视觉部分,第5章介绍OpenCV的使用方法,第6章结合机械臂硬件完成智能分拣项目,第7章则结合云台硬件完成人脸追踪机器人项目。
我们力求通过一系列分层次设计的软硬件任务将人工智能的概念由浅入深地融入各个章节中,同时覆盖Linux系统操作、Python编程、机器人系统搭建等多方面的综合知识,希望本书可以作为中小学STEAM人工智能教育的一本基础读物,也可以作为中职、高职院校相关专业学生的参考书籍。
本书使用的控制核心为树莓派3B+,其软件环境为:操作系统Raspbian“Jessie”,Python版本3.5.3,OpenCV版本3.4.4。系统镜像安装方法及本书所有“试一试”环节的参考程序均可以访问box.ptpress.com.cn/y/RC2020000001或扫描二维码获取。
在本书案例中使用的主要硬件载体是可在桌面上固定运转的双轴云台和三轴机械臂等,它们可以代表一类智能机器人的形态。事实上,可以搭载人工智能系统的机器人形态还有很多种,例如可在平面内运动的轮式车型机器人、以多旋翼无人机为代表的空中机器人、模仿人类姿态的双足机器人等,我们计划在后续出版的书籍中使用它们结合其他人工智能主题知识完成更加丰富的硬件案例。
本书涉及的硬件材料和软件内容均为奇异思维人工智能与机器人教育整体解决方案的一部分。奇异思维是杭州合学教育科技旗下的教育品牌,秉持“面向未来的教育”目标,希望能够为提升中小学和职业院校学生的科技素养和创造力贡献自己的力量。
同时,本书遵循开源、分享的创客精神,所有的硬件材料和软件内容均可以很方便地从公共平台获取。读者在充分理解的基础上,不必局限于本书所列硬件,可自行获取类似设备完成项目。
本书部分章节内容的完成得益于互联网上的众多开源项目,例如第7章人脸识别任务所使用到的OpenFace项目。在此,我们向这些开源项目的所有参与者表示衷心的感谢。
编者
2019年8月