內容簡介
《自律型機器人製作入門:基於Arduino》基於開源硬件思想,完全公開各個結構件的外觀尺寸,控製闆基於開源硬件領域內廣泛使用的Arduino,采用在Arduino之上又封裝瞭一層硬件接口的Dreamer,使得硬件模塊的連接更加方便、簡單。《自律型機器人製作入門:基於Arduino》是關於Drearner控製闆的一本書,內容循序漸進,圖文並茂。從基礎的控製電機和舵機開始,詳細介紹瞭簡單自律機器人的製作方法,包括輪型機器人和關節型機器人兩種類型。讀者可以購買相應的套件組裝,也可以自己動手製作。
《自律型機器人製作入門:基於Arduino》適閤所有想自己製作一個機器人的朋友,無論你在電子硬件方麵是什麼水平,隻要動手跟著書中的內容一步一步進行,都能夠完成一個簡單的自律型機器人。隨書光盤中包含瞭所有的程序代碼。
內頁插圖
目錄
第1章 瞭解機器人
1.1 什麼是機器人
1.1.1 機器人名字的由來
1.1.2 廣義機器人的定義
1.2 機器人的種類
1.2.1 操作型機器人
1.2.2 程控型機器人
1.2.3 示教再現型機器人
1.2.4 感覺控製型機器人
1.2.5 學習控製型機器人
1.2.6 智能機器人
1.3 自律型移動機器人
1.3.1 感知
1.3.2 動作與結構
1.3.3 智能
1.4 小結
第2章 機器人的運動
2.1 機器人運動的環境
2.1.1 機器人所處的環境
2.1.2 開環控製與閉環控製
2.2 機器人運動的方式
2.2.1 機器人的尺寸和重量
2.2.2 車輪和履帶
2.2.3 關節型機器人
2.3 直流電機
2.3.1 直流電機的工作原理
2.3.2 直流電機的控製方式
2.3.3 直流電機的選擇
2.3.4 電機輸齣軸
2.3.5 聯軸器的使用
2.3.6 直流電機的安裝
2.4 舵機
2.4.1 舵機的工作原理
2.4.2 舵機的控製方式
2.4.3 舵機的選擇與安裝
2.4.4 舵機的改裝
2.5 小結
第3章 控製闆的使用
3.1 開源硬件控製闆
3.1.1 什麼是開源硬件
3.1.2 Arduino是什麼
3.1.3 控製闆Dreamer
3.1.4 Dreamer的外形尺寸
3.1.5 Dreamer的原理圖
3.1.6 Dreamer的硬件接口
3.2 Dreamer的開發環境
3.2.1 新硬件的添加
3.2.2 開發環境的設置
3.2.3 開發環境的應用
3.3 程序的3種基本結構
3.4 C語言的標識符與關鍵字
3.5 控製語句
3.5.1 if語句
3.5.2 switch語句
3.5.3 while語句
3.5.4 do-while語句
3.5.5 for語句
3.5.6 break語句
3.5.7 continue語句
3.5.8 go to語句
3.6 對象和類
3.6.1 類的定義
3.6.2 對象的創建及成員函數的調用
3.6.3 對象的初始化和構造函數
……
第4章 感知周圍的環境
第5章 輪型機器人底盤結構
第6章 輪型機器人的行為
第7章 多足機器人結構
第8章 六足爬蟲的行為
第9章 復閤型輪型機器人
附錄A 結構圖紙一覽錶
附錄B Gadgeteer規範中接口的定義
附錄C 運算符操作順序
附錄D 一些其他Gadgeteer模塊
參考文獻
精彩書摘
隨著機器人研究的迅速發展,研究人員希望找到一種運動形式能夠適應各種復雜的環境,於是許多的機器人研究轉嚮瞭生物學,研究對象是動物在自然界生存狀態下的行為特徵。生物學傢大部分研究工作是在野外自然環境中進行的,因為對於生物學傢來說,一個生物本身與其所處的自然環境是密不可分的。機器人同樣是在一個特定的環境中運行的,因此也應該到這個環境中尋找解決的辦法。除此之外,至少還應進一步考慮希望機器人執行什麼動作,想得越多越全麵,那麼離成功會越來越近。
2.1.1 機器人所處的環境
一般情況下,大部分的機器人都是基於室內環境而設計的,因為室內環境相對比較簡單,大大降低瞭機器人的設計難度,比如迷宮中的牆壁、室內的箱子和比賽中的障礙物等。這些環境因素對機器人驅動裝置設計的影響是固定的,無突發性的。再者就是室內的傢具、人、寵物等典型的障礙物,以及門檻的高低、地毯的疏密、地闆間的縫隙,甚至是地上的鞋子、兒童玩具等,這些障礙物對機器人設計的影響也是有限的。
室外環境相對於室內環境就復雜多瞭,除瞭要考慮機器人所執行任務時會遇到的特殊情況外,防塵防潮、氣候影響及減振這幾個方麵也是不可忽視的。這些都會影響機器人的驅動裝置,甚至影響控製闆的正常工作。在室外環境中,工作的機器人可能不會知道自己將會遇到什麼障礙,不能非常明確地知道自己當前的位置,並且隨著自身的移動,這種不確定性會越來越嚴重。
以往的控製方式是通過解釋環境中每個物體,建立環境模型,然後據此控製機器人執行相應的動作。這種方式效果很不好,由於每次執行動作之前需要進行大量的計算,使得機器人行動緩慢,反應遲鈍。而機器人所處的環境在不斷地變化,有時等到機器人執行完動作之後,外部的環境已經變得不符閤執行動作的條件瞭。
……
前言/序言
隨著Arduino的齣現,開源硬件的思潮得到瞭迅猛的發展,無論是否瞭解電子硬件,在開源硬件的環境中都能夠很快地製作齣幾個電子産品。2012年是中國機器人製作以及電子産品DIY製作普及的一年,在各種創客活動中看到瞭許多各式各樣的機器人,這些創客很多都沒有電子硬件背景,但他們通過簡單學習同樣能夠製作齣非常有意思的電子産品和機器人。對於喜好機器人以及機器人技術的人來說,除瞭希望看到各種機器人所實現的功能及其構造外,更想參與到機器人的設計與製作中。如果你不知道從哪裏開始,那麼就讓這本書帶你走入機器人製作的世界吧!
本書基於開源硬件思想,完全公開各個結構件的外觀尺寸,控製闆基於開源硬件領域內廣泛使用的Arduino,采用在Arduino之上又封裝瞭一層硬件接口的Dreamer,使的硬件模塊的連接更加方便、簡單。
結構安排
本書是關於Dreamer控製闆的第一本書,依托於自律型機器人的3個基本要素:感知、動作以及智能,從最基礎的控製電機和舵機開始,按照控製闆應用、結構組裝、行為實現的結構逐步展開,講述的是簡單自律機器人的製作方法,包括輪型機器人和關節型機器人兩種類型,它們能夠完成各種基本自律行為。這堂內容都是完全開源的,無論你在電子硬件方麵是什麼水平,隻要動手跟著書中的內容一步一步進行,都能夠完成一個簡單的自律型機器人。讀者可以購買相應的套件組裝,也可以自動動手製作。隨書光盤中包含瞭所有的程序代碼。
……
《自律型機器人製作入門:基於Arduino(附光盤1張)》是一本麵嚮機器人製作初學者的實踐指南。本書旨在通過清晰的講解和豐富的案例,幫助讀者掌握機器人設計、硬件連接、軟件編程以及係統集成的核心技能,最終能夠獨立製作齣具有一定智能和自主性的機器人。 本書核心價值與特色: 1. 循序漸進的學習路徑: 本書摒棄瞭枯燥晦澀的理論堆砌,而是從最基礎的電子元件和Arduino開發闆開始,逐步引導讀者深入瞭解機器人各個子係統的原理和實現方法。每個章節都圍繞一個具體的知識點或一個小型功能模塊展開,確保學習過程的連貫性和易懂性。讀者無需具備深厚的電子或編程背景,隻需要對機器人技術充滿興趣,即可跟隨本書踏上探索之旅。 2. Arduino平颱深度解析與應用: Arduino作為開源硬件的代錶,以其易用性、靈活性和龐大的社區支持,成為機器人製作領域的首選平颱。本書將詳細介紹Arduino Uno開發闆的結構、工作原理、引腳功能,以及如何利用Arduino IDE進行程序開發。重點在於講解如何利用Arduino的數字輸入/輸齣、模擬輸入、PWM控製等核心功能,與各種傳感器和執行器進行交互。通過實際案例,讀者將學會如何讀取傳感器數據(如距離、光綫、聲音),如何控製電機、舵機等執行器實現運動和姿態調整。 3. 豐富的傳感器集成與數據采集: 機器人感知環境的能力是其實現自主性的關鍵。本書將涵蓋多種常用機器人傳感器,包括但不限於: 超聲波傳感器: 用於測量距離,是實現避障功能的基礎。讀者將學習其工作原理、連接方式以及如何讀取精確的距離數據。 紅外傳感器: 可用於循跡、測速、感應障礙物等,本書會介紹不同類型的紅外傳感器及其應用。 光敏電阻/光綫傳感器: 用於感知環境光照強度,可以實現光控或追光功能。 陀螺儀與加速度計(IMU): 用於測量機器人的姿態和運動狀態,是實現平衡、導航等高級功能的重要組成部分。 編碼器: 安裝在電機軸上,用於精確測量電機轉速和行進距離,是實現精準運動控製的關鍵。 本書將詳細指導讀者如何將這些傳感器正確連接到Arduino開發闆,並編寫代碼讀取和處理傳感器數據,將原始的模擬或數字信號轉化為有意義的信息。 4. 執行器控製與運動學基礎: 機器人執行動作的關鍵在於其執行器。本書將重點介紹以下幾種常見的執行器及其控製方法: 直流電機: 用於驅動輪子實現前進、後退、轉嚮等基本運動。讀者將學習如何使用H橋電路(如L298N模塊)來控製直流電機的正反轉、速度調節。 步進電機: 能夠實現精確的角度控製,適用於需要精確定位的場閤。 舵機(Servo Motor): 能夠精確控製轉動角度,常用於機械臂、雲颱等。本書將講解如何利用Arduino的PWM輸齣控製舵機的角度。 通過對這些執行器的深入講解,讀者將能夠構建齣能夠移動、抓取、調整姿態的機器人本體。 5. 機器人控製算法與自主性實現: 本書不僅關注硬件的連接和驅動,更注重機器人“智能”的培養。讀者將學習到一係列基礎的機器人控製算法,使其能夠根據傳感器信息做齣自主決策: 避障算法: 利用超聲波傳感器等,編寫程序讓機器人在遇到障礙物時能夠自動繞行。 循跡算法: 利用紅外傳感器等,使機器人能夠沿著預設的黑綫或白綫路徑行駛。 簡單的路徑規劃: 結閤裏程計(編碼器)和方嚮傳感器,實現簡單的點對點導航。 PID控製(可選,根據難度適當引入): 介紹PID控製的基本原理,用於實現更精確的電機速度控製或姿態穩定。 6. 模塊化設計與係統集成: 機器人是一個復雜的係統工程,涉及到硬件、軟件、電源等多個方麵。本書強調模塊化設計理念,將機器人分解為若乾個功能模塊(如感知模塊、決策模塊、執行模塊),分彆進行設計和實現,最後再進行集成。這種方法不僅降低瞭開發的復雜度,也提高瞭係統的可維護性和擴展性。讀者將學習如何將各個模塊有機地組閤起來,構建一個完整、協同工作的機器人係統。 7. 實踐導嚮的案例分析: 本書最核心的亮點在於其豐富的實踐案例。每一個重要的概念和技術點都會通過一個具體的機器人製作項目來呈現。例如: 基礎小車平颱搭建: 從組裝底盤、安裝電機、連接驅動闆開始,實現一個可以遠程遙控或簡單自主移動的小車。 智能避障小車: 在基礎小車平颱上增加超聲波傳感器,實現自主避障功能。 紅外循跡小車: 利用紅外傳感器實現循跡功能,讓小車沿著地麵繪製的綫條行駛。 簡單的機械臂控製: 利用舵機構建一個可以進行簡單抓取或搬運的機械臂。 光感應小車: 利用光敏電阻實現對光源的追蹤或避光功能。 這些案例由淺入深,難度循序漸進,使讀者在動手實踐中鞏固所學知識,體驗製作機器人的樂趣。 8. 附贈光盤資源: 本書附帶一張內容豐富的DVD光盤,包含: Arduino IDE軟件及常用庫文件: 方便讀者快速搭建開發環境。 本書涉及的所有例程源代碼: 讀者可以直接下載、編譯、運行,並在此基礎上進行修改和創新。 電子元件數據手冊(Datasheets): 提供關鍵電子元件的詳細技術規格,幫助讀者深入理解元件特性。 相關的參考資料和教程鏈接: 拓展讀者的學習視野,提供更多深入研究的資源。 部分項目的三維模型或電路原理圖(如適用): 輔助讀者理解整體結構和連接。 9. 解決實際製作問題: 在機器人製作過程中,讀者常常會遇到各種問題,如電路連接錯誤、傳感器讀數異常、程序邏輯不通等。本書的編寫過程中,充分考慮瞭初學者可能遇到的難點,並提供瞭詳細的調試技巧和常見問題解決方案,幫助讀者剋服障礙,順利完成製作。 本書適閤讀者群體: 機器人愛好者: 對機器人技術充滿好奇,希望親手製作屬於自己的機器人。 學生(高中生、大學生): 希望通過實踐項目學習電子、編程和控製技術,為未來學習或職業發展打下基礎。 STEM教育工作者: 尋找閤適的教學材料,帶領學生進行機器人相關的項目式學習。 業餘愛好者和創客: 喜歡動手製作,希望將創意轉化為實際産品的電子愛好者。 有一定編程基礎,但缺乏硬件實踐經驗的人員: 希望將編程技能應用於硬件控製,探索更廣闊的應用領域。 學習本書的收益: 通過本書的學習,讀者不僅能夠掌握Arduino平颱下的機器人製作核心技術,更能培養齣解決實際問題的能力、邏輯思維能力和創新能力。本書緻力於成為您機器人製作之旅的堅實起點,為您打開一個充滿無限可能的智能世界。您將從“零”開始,逐步搭建齣功能多樣、能夠自主思考和行動的機器人,體驗從無到有、從簡單到復雜的創造過程。