新書推薦:
《
不止江湖
》
售價:HK$
98.6
《
天才留步!——从文艺复兴到新艺术运动(一本关于艺术天才的鲜活故事集,聚焦艺术史的高光时刻!)
》
售價:HK$
154.6
《
双城史
》
售價:HK$
110.9
《
冯友兰和青年谈心系列:不是问题的问题(哲学大师冯友兰和年轻人谈心,命运解读)
》
售價:HK$
55.8
《
月与蟹(青鲤文库)荣获第144届直木奖,天才推理作家经典作品全新译本。一部青春狂想曲,带你登上心理悬疑之巅。
》
售價:HK$
50.4
《
索恩丛书·盛清统治下的太监与皇帝
》
售價:HK$
88.5
《
透过器物看历史(全6册)
》
售價:HK$
490.6
《
我在台北故宫博物院读名画
》
售價:HK$
109.8
編輯推薦:
编辑推荐
完整代码和搭建步骤,移动智能机器人制作高效入门书
极好实现Arduino和树莓派交互的逐步实践指南
高效控制电动机、传感器等机器人硬件
详解Python、Sketch、OpenCV实现高级机器人功能
机器人学不一定很难。通过本书,我将带你走进机器人世界,你将亲身接触到机器人学的许多基本的和一些特别的方面。
使用多种硬件,组装并焊接电路板,用两种语言编写代码,安装和配置Linux操作系统环境,使用计算机视觉技术。
本书适合开始探索机器人领域的创客、爱好者和学生阅读。
● 学会使用树莓派与Arduino构建具有高级功能的机器人
● 学会利用树莓派提供的强大计算能力
● 学会利用Arduino与传感器和电动机进行交互
● 学会Python编程以进行更强大的智能功能开发
● 制作一个可以追踪球的机器人
內容簡介:
本书带你入门学习如何使用树莓派与Arduino构建一个具有高级功能的机器人。本书将一步步地讲授构建机器人的过程,你将学到如何利用树莓派提供的强大计算能力,如何利用Arduino与传感器和电动机进行更好的交互,并利用这些优点来构建机器人硬件系统。同时学会Python编程基础知识,并利用其进行更强大的智能功能开发。然后通过使用OpenCV和USB网络摄像头,你将制造一个可以追逐球的机器人。
本书适合开始探索机器人领域的创客、爱好者和学生阅读。本书将帮助你快速入门智能机器人的设计、构建与开发,掌握相关的硬件设计搭建与软件编程开发能力,让你带着乐趣逐步探索机器人世界。
關於作者:
关于作者
Jeff Cicolani
The Robot Group公司总裁,致力于通过机器人技术来促进STEAM教育。他曾担任多家500强公司的系统分析师、开发人员和项目经理。之后凭借创客技能、对技术的敏锐度和对机器人的热情,投身机器人事业,目前,他正致力于通过机器人操作系统(ROS)和机器学习来更好地实现高级机器人技术。
谢永兴,控制科学与工程硕士,现为系统工程师,从事软件开发工作。熟悉C#、PHP、Java等多种编程语言,熟练掌握AutoHotkey自动化脚本编程,熟悉VR、AR、MR开发流程,研究生期间通过阅读大量外文文献形成了较强的英语阅读和理解能力,完成多门Lynda.com课程学习,从事过相关专业资料的翻译工作,擅长Word、Excel应用、排版软件。现从事与VR、AR、MR开发相关工作。
目錄 :
原书前言
关于作者
关于技术审校者
第1章 机器人学导论 1
1.1 机器人学基础 1
1.1.1 Linux操作系统和机器人学 2
1.1.2 传感器和GPIO 3
1.1.3 运动和控制 3
1.2 树莓派和Arduino 4
1.3 项目概览 5
1.3.1 机器人 5
1.3.2 物料清单 5
1.4 小结 10
第2章 树莓派简介 11
2.1 下载并安装Raspbian 11
2.1.1 附带OpenCV的Raspbian 12
2.1.2 “困难”方法 12
2.1.3 “简单”方法 14
2.2 连接树莓派 15
2.3 配置树莓派 16
2.3.1 使用raspi-config 16
2.3.2 用户 21
2.3.3 连接到无线网络 22
2.4 转入无头模式 22
2.4.1 远程访问 23
2.5 小结 27
第3章 Python入门教程 28
3.1 Python概述 29
3.2 下载并安装Python 29
3.3 Python工具 30
3.3.1 Pythonshell 30
3.3.2 Python编辑器 31
3.3.3 Python之禅 33
3.4 编写和运行Python程序 34
3.4.1 HelloWorld 34
3.4.2 基本结构 34
3.4.3 运行程序 36
3.5 Python编程 36
3.5.1 变量 37
3.5.2 数据类型 37
3.5.3 关于变量的后一个提示 45
3.5.4 控制结构 45
3.5.5 函数 49
3.5.6 通过模块添加功能 51
3.5.7 类 55
3.5.8 样式 61
3.6 小结 62
第4章 树莓派GPIO 63
4.1 树莓派GPIO介绍 63
4.1.1 引脚编号 64
4.1.2 连接到树莓派 65
4.1.3 树莓派GPIO的局限性 66
4.1.4 使用Python访问GPIO 66
4.1.5 简单输出 67
4.1.6 简单输入 71
4.2 小结 78
第5章 树莓派和Arduino 79
5.1 树莓派GPIO回顾 79
5.1.1 实时或近实时处理 80
5.1.2 模拟输入 80
5.1.3 模拟输出 80
5.2 Arduino来救场 81
5.3 使用Arduino 82
5.3.1 安装Arduino IDE 82
5.3.2 连接Arduino 83
5.3.3 Arduino编程 84
5.3.4 草图 88
5.4 Arduino编程语言 91
5.4.1 包含其他文件 92
5.4.2 变量和数据类型 92
5.4.3 控制结构 95
5.4.4 使用引脚 100
5.4.5 对象和类 103
5.4.6 串口 103
5.4.7 Arduino和树莓派相互通信 105
5.5 Pinguino 112
5.5.1 设置电路 112
5.6 小结 115
第6章 驱动电动机 116
6.1 电动机和控制器 116
6.1.1 电动机类型 117
6.1.2 电动机特性 118
6.1.3 电动机控制器 119
6.2 使用电动机控制器 120
6.2.1 Adafruit直流和步进电动机控制器HAT 120
6.2.2 L298N通用电动机控制器 134
6.3 小结 141
第7章 组装机器人 143
7.1 组装底盘 143
7.1.1 选择材质 144
7.1.2 Whippersnapper 144
7.2 安装电子设备 147
7.3 布线 151
7.4 安装传感器 153
7.5 成品机器人 155
7.5.1 让机器人动起来 155
7.6 小结 164
第8章 红外传感器 165
8.1 红外传感器介绍 165
8.1.1 红外传感器的类型 165
8.2 使用红外传感器 168
8.2.1 连接红外传感器 168
8.2.2 安装红外传感器 170
8.2.3 代码 171
8.3 了解PID控制 178
8.3.1 闭环控制 179
8.3.2 PID控制器的实现 180
8.4 小结 183
第9章 OpenCV 184
9.1 计算机视觉 184
9.1.1 OpenCV介绍 185
9.1.2 选择摄像头 187
9.1.3 安装摄像头 188
9.2 OpenCV基础知识 189
9.2.1 处理图像 190
9.2.2 图像采集 190
9.2.3 图像变换 196
9.2.4 处理颜色 198
9.2.5 斑点和斑点检测 201
9.3 追球机器人 206
9.4 小结 212
第10章 总结 214
10.1 机器人的类型 214
10.2 工具 215
10.2.1 软件 215
10.2.2 硬件 219
10.3 小结 221
內容試閱 :
前言
机器人学不一定很难。通过本书,我将带你走进机器人世界,这次学习之旅将是富有挑战性的。在本书的后,你将亲身接触到机器人学的许多基本的和一些特别的方面。你将会学习使用多种硬件,组装并焊接电路板,用两种编程语言编写代码,安装和配置Linux操作系统环境,以及使用计算机视觉技术。你用机器人所做的其他事情都是本书中所学的知识的延伸。
本书适用读者
本书适合电子和物联网技术的入门学习者,想要学习树莓派或Arduino的人,以及想将它们结合使用的人阅读。
本书也是为那些想学习更多有关机器人知识的爱好者准备的。也许你已经用Arduino构建了一些电路,或者用树莓派定制过家庭娱乐系统,但现在你感兴趣的是如何构建一个机器人。你将会学习如何使这两个设备协同工作,以提供非常强大的功能。
本书也是为需要快速学习更多技术的人准备的,他们不一定有时间来广泛阅读有关Arduino、树莓派、电子或编程方面的众多不同书籍,他们寻求的是对一些基本知识进行一个广泛而高效的介绍。
本书还是为那些想提高自己机器人编程经验的学生准备的,他们想学习处理硬件和软件的方法,以进一步向他们在学校或专业领域看到的知名的人学习。
书中没有对经验或技术背景作任何假设。当你阅读这些章节时,你可能会发现有的部分很熟悉,那么完全可以跳过这些内容。但是如果你对这些主题还很陌生,我会尝试给你一个简洁而快速的讲解。
内容概览
我们先学习树莓派及如何使用它。下载并安装Raspbian操作系统,然后为我们的项目配置树莓派。目标是将你的系统设置为能够轻松访问机器人,并直接在机器人上编写代码。
在实现远程访问树莓派之后,你将在第3章深入研究Python编程。我将向你展示如何在树莓派上编写简单的程序。我还会介绍一些基础知识,再介绍一些进阶主题,例如模块和类。这是长的一个章节,因为有很多内容要涵盖。
从那之后,你将学习如何通过树莓派的GPIO插头将树莓派与外部电子设备(如传感器和LED)连接起来。第4章会讨论寻址插头上的引脚的不同方式,通过插头暴露的一些功能,以及如何使用超声波测距传感器检测物体。这会让你为下一章做好准备,下一章我将介绍Arduino。
在第5章,你会将Arduino和树莓派结合起来使用。我讨论了这样做的一些原因。我将向你展示如何使用ArduinoIDE编写程序。我会介绍两个板之间的串口通信以及如何在它们之间来回传递信息。我们通过上一章中使用的超声波测距传感器来实现这一点。
第6章将让你用树莓派来转动电动机。你会用一个叫作HAT或扩展板的特殊板来控制电动机。在这里我将介绍另一项技能,你将不可避免地在制造机器人的过程中用到它,那就是焊接。插头和端子需要焊接到项目中选择的接线板上,你会获得大量的实践经验。
在第7章中,我们将把所有的东西合在一起。你来构建机器人,而我会讨论机器人的一些物理特性。我将介绍一些设计注意事项,当你设计自己的底盘时需要牢记在心。虽然我为这个项目列出了一个特定的底盘套件,但你并不需要使用相同的东西。事实上,我鼓励你探索其他选择,并找到一个适合自己的。
在第8章,我将介绍另一种类型的传感器———红外传感器,并向你展示如何使用一种非常常见的控制算法———PID控制器。我会讨论各种类型的红外传感器,以及它们的使用场合(关于PID控制的章节会讨论它是什么以及为什么要使用它)。
第9章是关于计算机视觉的,在这里你可以看到树莓派的真正力量。在本章中,我将介绍一个名为OpenCV的开源软件包。到第9章结束时,你的小型机器人将能围着桌子追逐一个球。
我在第10章留给你一些挑战的想法。我提供了一些我学到的技巧,并让你一窥我的工作流程和工具。之后,你就可以开始你自己的机器人冒险了!