人工智能+機器人入門與實戰(zhàn)(修訂版)用樹莓派+Python+OpenCV制作計算機視覺機器人
定 價:69.8 元
- 作者:陳宇航
- 出版時間:2024/1/1
- ISBN:9787115604118
- 出 版 社:人民郵電出版社
- 中圖法分類:TP242.05
- 頁碼:143
- 紙張:
- 版次:02
- 開本:小16開
樹莓派是一款基于 ARM 架構(gòu)、Linux 系統(tǒng)的極簡計算機,既可以用于計算機編程教育,也可以作為機器人的控制核心。第一種運行于樹莓派上的編程語言是 Python,這是當前人工智能領(lǐng)域流行的編程語言之一。機器視覺是人工智能中重要的細分研究領(lǐng)域,OpenCV 則是當前機器視覺領(lǐng)域主流的開源處理庫,可以方便地用于計算機圖像處理,并應用于面部識別、目標識別等具體問題。本書介紹在樹莓派硬件上使用Python 語言,借助 OpenCV 庫編程,來實現(xiàn)具有機器視覺功能(識別和抓取特定顏色物體、識別人臉、識別特定人臉、進行面部跟蹤)的智能機器人。
本書力求通過一系列不同層次的軟硬件任務,由淺入深地講解人工智能的概念,同時覆蓋 Linux系統(tǒng)操作、Python 編程、機器人系統(tǒng)搭建等多方面的綜合知識。在本書案例中使用的主要硬件載體是可在桌面上固定運轉(zhuǎn)的雙軸云臺和三軸機械臂等,它們可以代表一類智能機器人的形態(tài)。本書遵循開源、分享的創(chuàng)客精神,所有的硬件材料和軟件內(nèi)容均可以從公共平臺獲取,讀者在充分理解的基礎(chǔ)上,不必局限于本書所列硬件,可自行獲取類似設備完成項目。
本書可以作為中小學STEAM人工智能教育的一本基礎(chǔ)讀物,也可以作為中高職院校相關(guān)專業(yè)學生的參考書。
1.內(nèi)容為機器人方面的中高階內(nèi)容,真正應用人工智能(機器視覺),絕不是噱頭。
2.通過熱門的Python語言和OpenCV庫實現(xiàn),樹莓派+OpenCV本身也是目前流行的玩法。
3.作者團隊來自浙大,專門從事STEAM與創(chuàng)客教育,專業(yè)性有保障,同時通俗易懂。
陳宇航:浙江大學物理學博士。擅長程序算法設計,了解人工智能前沿理念。主持開發(fā)過多種智能硬件套件及其配套課程。致力于青少年科技教育,幫助學生更好地迎接人工智能時代的挑戰(zhàn)。
侯俊萍:浙江大學教育學碩士。奇異思維創(chuàng)客課程設計師。專注于青少年STEAM教育,擅長將國際先進教育理念與前沿科技結(jié)合,進行創(chuàng)客課程研發(fā)與教學。
葉昶:浙江工業(yè)大學自動化專業(yè)。奇異思維創(chuàng)客課程設計師。參與機器人、3D打印類創(chuàng)客課程內(nèi)容設計,并負責青少年創(chuàng)客課程教學,具有豐富的講課經(jīng)驗。
目 錄
第 1章 走近人工智能 1
1.1 初識人工智能 2
1.1.1 人工智能是什么 2
1.1.2 人工智能的發(fā)展歷程 2
1.1.3 人工智能的應用現(xiàn)狀 4
1.2 機器人世界 5
1.2.1 機器人的發(fā)展歷史 5
1.2.2 什么是智能機器人 6
1.2.3 常見的智能機器人控制核心 7
第 2章 認識樹莓派 9
2.1 樹莓派是什么 10
2.2 樹莓派 3B+主控板簡介 11
2.3 樹莓派的連接與開機 12
2.4 Linux操作系統(tǒng)簡介 13
第3章 Python編程基礎(chǔ) 16
3.1 什么是編程語言 17
3.2 認識 Python語言 18
3.3 在樹莓派中使用 Python編程 19
3.3.1 交互式編程 20
3.3.2 使用算術(shù)運算符進行運算 20
3.3.3 用Geany編輯器編寫 Python程序 21
3.4 Python中的變量 23
3.4.1 變量的賦值 23
3.4.2 Python的數(shù)據(jù)類型 24
3.5 if條件結(jié)構(gòu) 25
3.5.1 條件的真與假 25
3.5.2 比較運算符 26
3.5.3 if條件結(jié)構(gòu)的格式與縮進 26
3.6 while循環(huán)結(jié)構(gòu) 28
3.7 Python中的函數(shù) 28
3.7.1 自定義一個函數(shù) 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 用按鈕控制燈的狀態(tài) 38
4.4.1 按鈕狀態(tài)的讀取與判斷 38
4.4.2 兩個按鈕的控制與邏輯運算符 39
4.5 做一個搶答器吧 40
4.5.1 延時點亮小燈 40
4.5.2 判斷獲勝者與 break關(guān)鍵詞 41
4.5.3 Python中的隨機數(shù) 41
第5章 機器視覺入門 45
5.1 機器視覺與圖像識別 46
5.1.1 機器是怎樣“看”的 46
5.1.2 機器視覺技術(shù)的常見應用 48
5.2 認識OpenCV 49
5.2.1 OpenCV簡介 49
5.2.2 視頻的幀與分辨率 50
5.2.3 用樹莓派攝像頭調(diào)取圖像 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循環(huán)遍歷結(jié)構(gòu) 59
5.4.4 按鍵值與鍵盤控制 60
第6章 機械臂智能分揀任務 64
6.1 認識機械臂 65
6.1.1 應用廣泛的機械臂 65
6.1.2 三軸機械臂結(jié)構(gòu)分析 65
6.2 程序控制機械臂的運動 68
6.2.1 認識舵機 68
6.2.2 舵機的線路連接 69
6.2.3 舵機控制程序 70
6.2.4 機械臂頭部的執(zhí)行裝置--電控吸盤 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 調(diào)用攝像頭的圖像并識別木塊位置 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 認識人工神經(jīng)網(wǎng)絡 109
7.7 識別特定的人臉 113
7.8 擴展任務--屬于你的機器人 117
7.8.1 讓機器人認識你 117
7.8.2 讓機器人發(fā)出聲音 118
附錄 “試一試”環(huán)節(jié)參考程序 123