作品简介

树莓派是一款基于ARM架构、Linux系统的极简计算机,既可以用于计算机编程教育,也可以作为机器人的控制核心。第一种运行于树莓派上的编程语言是Python,这是当前人工智能领域最为流行的编程语言。机器视觉是人工智能中重要的细分研究领域,OpenCV则是当前机器视觉领域主流的开源处理库,可以方便地用于计算机图像处理,并应用于面部识别、目标识别等具体问题。本书介绍在树莓派硬件上使用Python语言,借助OpenCV库编程,来实现具有机器视觉功能(识别和抓取特定颜色物体、识别人脸、识别特定人脸、进行面部跟踪)的智能机器人。《人工智能+机器人入门与实战》力求通过一系列不同层次的软硬件任务,由浅入深地讲解人工智能的概念,同时覆盖Linux系统操作、Python编程、机器人系统搭建等多方面的综合知识。在本书案例中使用的主要硬件载体是可在桌面上固定运转的双轴云台和三轴机械臂等,它们可以代表一类智能机器人的形态。本书遵循开源、分享的创客精神,所有的硬件材料和软件内容均可以从公共平台获取,读者在充分理解的基础上,不必局限于本书所列硬件,可自行获取类似设备完成项目。本书可以作为中小学STEAM人工智能教育的一本基础读物,也可以作为中高职院校相关专业学生的参考书。

陈宇航:浙江大学物理学博士。擅长程序算法设计,了解人工智能前沿理念。主持开发过多种智能硬件套件及其配套课程。致力于青少年科技教育,帮助学生更好地迎接人工智能时代的挑战。侯俊萍:浙江大学教育学硕士。奇异思维创客课程设计师。专注于青少年STEAM教育,擅长将国际先进教育理念与前沿科技结合,进行创客课程研发与教学。叶昶:浙江工业大学自动化专业。奇异思维创客课程设计师。参与机器人、3D打印类创客课程内容设计,并负责青少年创客课程教学,具有丰富的讲课经验。

作品目录

  • 内容提要
  • 推荐序
  • 前言
  • 第1章 走近人工智能
  • 1.1 初识人工智能
  • 1.1.1 人工智能是什么
  • 1.1.2 人工智能的发展历程
  • 1.1.3 人工智能的应用现状
  • 1.2 机器人世界
  • 1.2.1 机器人的发展历史
  • 1.2.2 什么是智能机器人
  • 1.2.3 常见的智能机器人控制核心
  • 第2章 认识树莓派
  • 2.1 树莓派是什么
  • 2.2 树莓派3B+主控板简介
  • 2.3 树莓派的连接与开机
  • 2.4 Linux操作系统简介
  • 第3章 Python编程基础
  • 3.1 什么是编程语言
  • 3.2 认识Python语言
  • 3.3 在树莓派中使用Python编程
  • 3.3.1 交互式编程
  • 3.3.2 使用算术运算符进行运算
  • 3.3.3 用Geany编辑器编写Python程序
  • 3.4 Python中的变量
  • 3.4.1 变量的赋值
  • 3.4.2 Python的数据类型
  • 3.5 if条件结构
  • 3.5.1 条件的真与假
  • 3.5.2 比较运算符
  • 3.5.3 if条件结构的格式与缩进
  • 3.6 while循环结构
  • 3.7 Python中的函数
  • 3.7.1 自定义一个函数
  • 3.7.2 给Python程序加上注释
  • 第4章 Python编程与树莓派硬件控制
  • 4.1 树莓派的GPIO接口
  • 4.2 LED模块与按钮模块的连接
  • 4.3 点亮一盏小灯
  • 4.3.1 导入Python扩展包
  • 4.3.2 LED显示彩色的原理
  • 4.3.3 对输入/输出设备的设定
  • 4.3.4 让小灯闪烁起来
  • 4.4 用按钮控制灯的状态
  • 4.4.1 按钮状态的读取与判断
  • 4.4.2 两个按钮的控制与逻辑运算符
  • 4.5 做一个抢答器吧
  • 4.5.1 延时点亮小灯
  • 4.5.2 判断获胜者与break关键词
  • 4.5.3 Python中的随机数
  • 第5章 机器视觉入门
  • 5.1 机器视觉与图像识别
  • 5.1.1 机器是怎样“看”的
  • 5.1.2 机器视觉技术的常见应用
  • 5.2 认识OpenCV
  • 5.2.1 OpenCV简介
  • 5.2.2 视频的帧与分辨率
  • 5.2.3 用树莓派摄像头调取图像
  • 5.3 用OpenCV识别颜色
  • 5.3.1 HSV颜色空间
  • 5.3.2 图像的二值化
  • 5.3.3 找到轮廓的位置
  • 5.4 做一个魔法棒吧
  • 5.4.1 用OpenCV绘制小圆点
  • 5.4.2 Python中的列表与元组
  • 5.4.3 for循环遍历结构
  • 5.4.4 按键值与键盘控制
  • 第6章 机械臂智能分拣任务
  • 6.1 认识机械臂
  • 6.1.1 应用广泛的机械臂
  • 6.1.2 三轴机械臂结构分析
  • 6.2 程序控制机械臂的运动
  • 6.2.1 认识舵机
  • 6.2.2 舵机的线路连接
  • 6.2.3 舵机控制程序
  • 6.2.4 机械臂头部的执行装置——电控吸盘
  • 6.2.5 用示教方式完成物料分拣
  • 6.3 用树莓派控制机械臂
  • 6.3.1 硬件连接
  • 6.3.2 程序编写
  • 6.4 用摄像头找到木块位置
  • 6.4.1 安装摄像头
  • 6.4.2 调用摄像头的图像并识别木块位置
  • 6.5 使吸盘位于物体正上方
  • 6.5.1 当物体位于吸盘正下方时,它的坐标是多少
  • 6.5.2 控制1号舵机左右运动,使物体x坐标为320
  • 6.5.3 控制机械臂等高运动,使物体y坐标为150
  • 6.6 抓取和放置物体
  • 6.7 扩展任务
  • 第7章 制作人脸追踪机器人
  • 7.1 人脸识别知多少
  • 7.2 使用肤色检测找到人脸
  • 7.3 使用哈尔特征检测找到人脸
  • 7.4 人脸追踪机器人初制
  • 7.5 什么是机器学习
  • 7.5.1 计算机如何识别一只猫
  • 7.5.2 机器学习的分类
  • 7.6 认识人工神经网络
  • 7.7 识别特定的人脸
  • 7.8 扩展任务——属于你的机器人
  • 7.8.1 让机器人认识你
  • 7.8.2 让机器人发出声音
  • 附录 『试一试』环节参考程序
展开全部