智能機器人開發入門指南
內容描述
本書帶你入門學習如何使用樹莓派與Arduino構建一個具有不錯功能的機器人。
本書將一步步地講授構建機器人的過程,你將學到如何利用樹莓派提供的強大計算能力,
如何利用Arduino與傳感器和電動機進行更好的交互,並利用這些優點來構建機器人硬件系統。
同時學會Python編程基礎知識,並利用其進行更強大的智能功能開發。
然後通過使用OpenCV和USB網絡攝像頭,你將製造一個可以追逐球的機器人。
本書適合開始探索機器人領域的創客、愛好者和學生閱讀。
本書將幫助你快速入門智能機器人的設計、構建與開發,
掌握相關的硬件設計搭建與軟件編程開發能力,
讓你帶著樂趣逐步探索機器人世界。
目錄大綱
原書前言
關於作者
關於技術審校者
第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
作者介紹
Jeff Cicolani
關於作者Jeff CicolaniThe Robot Group公司總裁,致力於通過機器人技術來促進STEAM教育。
他曾擔任多家500強公司的系統分析師、開發人員和項目經理。
之後憑藉創客技能、對技術的敏銳度和對機器人的熱情,投身機器人事業,
目前,他正致力於通過機器人操作系統(ROS)和機器學習來更好地實現不錯機器人技術