人工智能 + 機器人入門與實戰 -- 用 樹莓派 + Python + OpenCV 製作電腦視覺機器人

陳宇航 侯俊萍 葉昶

  • 人工智能 + 機器人入門與實戰 -- 用 樹莓派 + Python + OpenCV 製作電腦視覺機器人-preview-1
  • 人工智能 + 機器人入門與實戰 -- 用 樹莓派 + Python + OpenCV 製作電腦視覺機器人-preview-2
人工智能 + 機器人入門與實戰 -- 用 樹莓派 + Python + OpenCV 製作電腦視覺機器人-preview-1

買這商品的人也買了...

商品描述

樹莓派是一款基於ARM架構、Linux系統的極簡電腦,既可以用於電腦編程教育,也可以作為機器人的控制核心。第一種運行於樹莓派上的編程語言是Python,這是當前人工智能領域最為流行的編程語言。機器視覺是人工智能中重要的細分研究領域,OpenCV則是當前機器視覺領域主流的開源處理庫,可以方便地用於電腦圖像處理,並應用於面部識別、目標識別等具體問題。本書介紹在樹莓派硬件上使用Python語言,借助OpenCV庫編程,來實現具有機器視覺功能(識別和抓取特定顏色物體、識別人臉、識別特定人臉、進行面部跟蹤)的智能機器人。

《人工智能+機器人入門與實戰》力求通過一系列不同層次的軟硬件任務,由淺入深地講解人工智能的概念,同時覆蓋Linux系統操作、Python編程、機器人系統搭建等多方面的綜合知識。在本書案例中使用的主要硬件載體是可在桌面上固定運轉的雙軸雲台和三軸機械臂等,它們可以代表一類智能機器人的形態。本書遵循開源、分享的創客精神,所有的硬件材料和軟件內容均可以從公共平臺獲取,讀者在充分理解的基礎上,不必局限於本書所列硬件,可自行獲取類似設備完成項目。

本書可以作為中小學STEAM人工智能教育的一本基礎讀物,也可以作為中高職院校相關專業學生的參考書。

作者簡介

陳宇航:浙江大學物理學博士。擅長程序算法設計,了解人工智能前沿理念。主持開發過多種智能硬件套件及其配套課程。致力於青少年科技教育,幫助學生更好地迎接人工智能時代的挑戰。

侯俊萍:浙江大學教育學碩士。奇異思維創客課程設計師。專注於青少年STEAM教育,擅長將國際先進教育理念與前沿科技結合,進行創客課程研發與教學。

葉昶:浙江工業大學自動化專業。奇異思維創客課程設計師。參與機器人、3D打印類創客課程內容設計,並負責青少年創客課程教學,具有豐富的講課經驗。

目錄大綱

 

第1章走近人工智能 1

1.1 初識人工智能2

1.1.1 人工智能是什麼2

1.1.2 人工智能的發展歷程2

1.1.3 人工智能的應用現狀4

1.2 機器人世界5

1.2.1 機器人的發展歷史5

1.2.2 什麼是智能機器人6

1.2.3 常見的智能機器人控制核心7

 

第2章認識樹莓派9

2.1 樹莓派是什麼10

2.2 樹莓派3B+主控板簡介11

2.3 樹莓派的連接與開機12

2.4 Linux操作系統簡介13

 

第3章Python 編程基礎16

3.1 什麼是編程語言17

3.2 認識Python語言18

3.3 在樹莓派中使用Python編程19

3.3.1 交互式編程20

3.3.2 使用算術運算符進行運算20

3.3.3 用Geany 編輯器編寫Python程序21

3.4 Python中的變量23

3.4.1 變量的賦值23

3.4.2 Python的數據類型24

3.5 if條件結構25

3.5.1 條件的真與假25

3.5.2 比較運算符26

3.5.3 if條件結構的格式與縮進26

3.6 while循環結構28

3.7 Python中的函數28

3.7.1 自定義一個函數29

3.7.2 給Python程序加上註釋30

 

第4章Python 編程與樹莓派硬件控制32

4.1 樹莓派的GPIO接口33

4.2 LED 模塊與按鈕模塊的連接33

4.3 點亮一盞小燈35

4.3.1 導入Python擴展包35

4.3.2 LED 顯示彩色的原理35

4.3.3 對輸入/ 輸出設備的設定36

4.3.4 讓小燈閃爍起來37

4.4 用按鈕控制燈的狀態38

4.4.1 按鈕狀態的讀取與判斷38

4.4.2 兩個按鈕的控制與邏輯運算符39

4.5 做一個搶答器吧40

4.5.1 延時點亮小燈40

4.5.2 判斷獲勝者與break 關鍵詞41

4.5.3 Python中的隨機數41

 

第5章機器視覺入門45

5.1 機器視覺與圖像識別46

5.1.1 機器是怎樣“看”的46

5.1.2 機器視覺技術的常見應用48

5.2 認識OpenCV 49

5.2.1 OpenCV 簡介49

5.2.2 視頻的幀與分辨率50

5.2.3 用樹莓派攝像頭調取圖像51

5.3 用OpenCV 識別顏色53

5.3.1 HSV 顏色空間53

5.3.2 圖像的二值化54

5.3.3 找到輪廓的位置55

5.4 做一個魔法棒吧57

5.4.1 用OpenCV 繪製小圓點57

5.4.2 Python中的列表與元組58

5.4.3 for 循環遍歷結構59

5.4.4 按鍵值與鍵盤控制60

 

第6章機械臂智能分揀任務64

6.1 認識機械臂65

6.1.1 應用廣泛的機械臂65

6.1.2 三軸機械臂結構分析65

6.2 程序控制機械臂的運動68

6.2.1 認識舵機68

6.2.2 舵機的線路連接69

6.2.3 舵機控製程序70

6.2.4 機械臂頭部的執行裝置——電控吸盤71

6.2.5 用示教方式完成物料分揀73

6.3 用樹莓派控制機械臂74

6.3.1 硬件連接74

6.3.2 程序編寫76

6.4 用攝像頭找到木塊位置77

6.4.1 安裝攝像頭77

6.4.2 調用攝像頭的圖像並識別木塊位置79

6.5 使吸盤位於物體正上方80

6.5.1 當物體位於吸盤正下方時,它的坐標是多少80

6.5.2 控制1 號舵機左右運動,使物體x 坐標為320 81

6.5.3 控制機械臂等高運動,使物體y 坐標為150 84

6.6 抓取和放置物體88

6.7 擴展任務89

 

第7章製作人臉追踪機器人92

7.1 人臉識別知多少93

7.2 使用膚色檢測找到人臉94

7.3 使用哈爾特徵檢測找到人臉96

7.4 人臉追踪機器人初制99

7.5 什麼是機器學習106

7.5.1 計算機如何識別一隻貓106

7.5.2 機器學習的分類108

7.6 認識人工神經網絡109

7.7 識別特定的人臉113

7.8 擴展任務——屬於你的機器人117

7.8.1 讓機器人認識你117

7.8.2 讓機器人發出聲音118

 

附錄“試一試”環節參考程序123