本書以一位受睏於荒島的年輕人的視角帶領讀者進行一場冒險。他必須尋找到一種給機器人編程的方法纔能得以逃離。本書作為一本控製自主機器人編程指南,介紹瞭編程機器人傳感器、電動機以及將想法轉換為機器人可以自主執行任務的實際方法和技術。對於硬、製造商、DIY項目,這些技術可以用於當今領先的機器人微控製器(ARM9和ARM7)和機器人平颱(包括廣泛流行的低成本Arduino平颱,LEGOMindstormsEV3、NXT,以及WoweeRSMedia機器人)。
Contents目錄
譯者序
前言
緻謝
第1章究竟什麼是機器人1
1.1定義機器人的7個標準1
1.1.1標準1:感知環境2
1.1.2標準2:可編程的動作和行為2
1.1.3標準3:改變環境、與環境交互或作用於環境2
1.1.4標準4:具備電源2
1.1.5標準5:適用於錶示指令和數據的語言3
1.1.6標準6:無需外部乾預的自主性3
1.1.7標準7:一個沒有生命的機器4
1.1.8機器人分類4
1.1.9傳感器6
1.1.10執行器7
1.1.11末端作用器8
1.1.12控製器8
1.1.13機器人所在的場景12
1.2給機器人指令14
1.2.1每個機器人都有一種語言14
1.2.2遷就機器人的語言16
1.2.3在可視化編程環境中錶示機器人場景18
1.2.4Midamba的睏境18
1.3下文預告20
第2章機器人詞匯21
2.1為什麼需要更多努力22
2.2確定動作25
2.3自主機器人的ROLL模型26
2.3.1機器人的能力27
2.3.2場景和態勢中的機器人角色28
2.4下文預告30
第3章機器人場景圖形規劃31
3.1建立場景地圖31
3.1.1創建平麵圖32
3.1.2機器人的世界34
3.1.3RSVPREAD設置36
3.2僞代碼和繪製RSVP流程圖38
3.2.1控製流程和控製結構39
3.2.2子程序43
3.3目標和機器人狀態圖46
3.4下文預告50
第4章檢驗機器人的實際能力51
4.1微控製器的實際檢驗53
4.2傳感器的實際檢驗56
4.3執行器和末端作用器的檢驗60
4.4REQUIRE機器人效能62
4.5下文預告64
第5章詳解傳感器65
5.1傳感器感知66
5.1.1模擬和數字傳感器68
5.1.2讀取模擬和數字信號69
5.1.3傳感器輸齣71
5.1.4讀數存儲72
5.1.5有源和無源傳感器72
5.1.6傳感器與微控製器的連接74
5.1.7傳感器屬性77
5.1.8範圍和分辨率78
5.1.9精度和準確度78
5.1.10綫性度79
5.1.11傳感器校準80
5.1.12傳感器相關問題81
5.1.13終端用戶校準過程81
5.1.14校準方法82
5.2下文預告83
第6章通過編程控製機器人的傳感器84
6.1使用顔色傳感器84
6.1.1顔色傳感器模式86
6.1.2探測距離87
6.1.3機器人環境的照明87
6.1.4校準顔色傳感器88
6.1.5編程顔色傳感器89
6.2用於檢測和跟蹤顔色目標的數碼相機92
6.3利用RSMedia跟蹤顔色目標92
6.4使用PixyVision傳感器跟蹤顔色目標95
6.4.1訓練Pixy以檢測目標96
6.4.2編程Pixy98
6.4.3詳解屬性101
6.5超聲波傳感器101
6.5.1超聲波傳感器的局限性和準確性102
6.5.2超聲波傳感器的模式106
6.5.3采樣讀數106
6.5.4傳感器讀數的數據類型107
6.5.5校準超聲波傳感器107
6.5.6編程超聲波傳感器108
6.6羅盤傳感器計算機器人的航嚮117
6.7下文預告121
第7章電動機和伺服機構編程122
7.1執行器是輸齣轉換器122
7.1.1電動機特性123
7.1.2電壓123
7.1.3電流123
7.1.4轉速123
7.1.5扭矩123
7.1.6電阻123
7.2不同類型的直流電動機124
7.2.1直流電動機124
7.2.2轉速和扭矩126
7.2.3齒輪電動機127
7.3電動機配置:直接和間接動力傳動係統134
7.4室內和室外機器人的地形挑戰134
7.4.1應對地形挑戰135
7.4.2機器人手臂和末端作用器的扭矩挑戰138
7.4.3計算扭矩和轉速需求138
7.4.4電動機和REQUIRE139
7.5通過編程使機器人移動140
7.5.1一個電動機,還是兩個、三個、更多個電動機140
7.5.2執行動作140
7.5.3編程動作141
7.5.4通過編程使電動機移動到指定位置145
7.5.5使用Arduino實現電動機編程151
7.6機器人手臂和末端作用器154
7.6.1不同類型的機器人手臂154
7.6.2機器人手臂的扭矩155
7.6.3不同類型的末端作用器157
7.6.4為機器人的手臂進行編程159
7.6.5計算運動學163
7.7下文預告166
第8章開始自主:構建機器人所對應的軟件機器人167
8.1初探軟件機器人169
8.1.1部件部分171
8.1.2動作部分171
8.1.3任務部分171
8.1.4場景(態勢)部分171
8.2機器人的ROLL模型和軟件機器人框架172
8.2.1BURT把軟件機器人框架轉換為類173
8.2.2第一次實現自主機器人程序設計184
8.3下文預告185
第9章機器人SPACES186
9.1機器人需要自身的SPACES187
9.1.1擴展的機器人場景187
9.1.2REQUIRE檢查錶188
9.1.3前提或後置條件不滿足時會發生的情況190
9.1.4前提或後置條件不滿足時的行動選擇191
9.2詳解機器人初始化後置條件192
9.2.1啓動前提條件和後置條件194
9.2.2編碼前提條件和後置條件195
9.2.3前提和後置條件的齣處200
9.3SPACES檢查和RSVP狀態圖204
9.4下文預告206
第10章自主機器人需要STORIES207
10.1不隻是動作208
10.1.1BirthdayRobotTake2208
10.1.2機器人STORIES
Preface機器人新兵訓練營警示作為機器人程序員,我們應確保所從事的編程對於公眾和機器人自身都是安全的,這是我們的特殊責任。當對機器人進行編程時,首先要考慮機器人與人類、動物、其他機器人或資産互動時的安全。這對於所有類型機器人的編程都是適用的,尤其是可編程自主機器人,即本書所介紹的機器人類型。本書所涉及的機器人命令、指令、程序和軟件僅用於展示,就安全性而言其不適閤用於與人類、動物、其他機器人的互動。
對機器人安全的深入研究超齣瞭本書的範圍。雖然本書所給齣的機器人示例和應用經過測試可以確保其正確性和恰當性,但是不能保證其中的命令、指令、程序和軟件沒有任何瑕疵和錯誤,與任何適售性的特定標準一緻,或滿足針對任何特彆應用的要求。
機器人代碼段、程序和示例僅用於闡述,在任何情形下當它們的使用會導緻人身傷害、造成財産或時間損失,以及産生理念衝突時,都不應該再繼續使用。對於因本書中呈現或在相應支持網站上的機器人、命令、指令、機器人程序和示例的使用所帶來的直接或間接損害,作者和齣版商不負任何責任。
機器人編程新兵訓練營歡迎閱讀本書。機器人編程“新兵訓練營”將確保你著手開始前掌握所有必備的信息。我們已經構建瞭很多類型的機器人並對它們進行編程,從簡單的單用途機器人到先進的多功能自主機器人組群,因而發現這個短期機器人編程訓練營對於不熟悉機器人編程或想要學習新技術進行機器人編程的人來說是不可缺少的。
準備、設置、走起!無需繁瑣接綫圖I1給齣瞭機器人控製和操作的兩種基本分類。
圖I1機器人操作的兩種基本分類遙控機器人是由一名操作員用某種遠程控製裝置或木偶模式(puppetmode)遠程控製機器人的操作。有些遠程控製要求一條連綫(某種類型的綫)以物理方式連接於機器人,而其他遠程控製類型則是無綫的(如無綫電控製或紅外控製)。
自主機器人是一類不需要人類操作員控製的機器人。它們能自主地訪問和執行一組指令,不需要遠程控製的乾預或中斷。
本書主要關注自主機器人操作和編程。雖然我們常討論、解釋、比較遙控機器人和自主機器人,但是本書將重點介紹對能夠自主運行和執行所分配任務的機器人進行編程的基本概念。
如第9章所述,為滿足運行策略而進行不同混閤並匹配,存在兩種類型機器人控製或操作的混閤物。我們將會介紹混閤並匹配不同的機器人控製策略的技術。
警示雖然本書並未假定讀者具有機器人編程的經驗,但是全書假定讀者在標準編程語言(如Java或C++)方麵具有一定基礎,熟悉基本的編程技巧。同時,本書並非以Java或C++呈現最終的機器人程序,而是先以圖或通俗易懂的語言給齣基本的機器人指令技巧和概念。本書將引導讀者熟悉一些程序用於設計、規劃和分析,比如機器人場景圖形規劃(RobotScenarioVisualPlanning,RSVP)和實際環境中的機器人效能熵(RobotEffectivenessQuotientUsedinRealEnvironments,REQUIRE)。
注釋本書所有機器人指令、命令和程序已經在基於ARM7、ARM9微控製器的機器人以及流行並廣泛使用的LEGONXT、EV3機器人上進行瞭測試。本書中使用的所有其他機器人軟件也均在MacOSX和Linux環境下進行瞭測試與運行。
新兵訓練營基礎在試圖對機器人進行編程前一定要迴答五個基本問題:
1.?機器人屬於哪種類型?2.?機器人將要做什麼?3.?機器人將要在哪裏執行任務?4.?機器人如何執行任務?5.?如何對機器人進行編程?許多新手和準機器人程序員不能迴答這些基本問題,導緻機器人項目不能成功實現。在令任意類型的機器人執行所分配任務的過程中,迴答這些基本問題是第一步。本書演示瞭如何通過迴答這些問題來形成一個分步的方法,從而成功指導一個機器人自主地執行一係列任務。
本書介紹的機器人編程核心技巧本書中,我們將在機器人新兵訓練營中講解的基本技巧如錶I1所示。
錶I1機器人新兵訓練營技能錶技巧描述機器人運動規劃與編程手臂運動夾持器編程末端作用器運動機器人導航利用不同類型的傳感器對機器人編程紅外傳感器超聲波傳感器觸碰傳感器光傳感器射頻識彆傳感器攝像機傳感器溫度傳感器聲音傳感器分析傳感器使用電動機機器人導航中使用的電動機機器人手臂、夾持器和末端作用器中使用的電動機傳感器定位中使用的電動機決策機器人動作選擇機器人方嚮選擇機器人路徑選擇指令轉換將英文指令和命令轉換成一種編程語言或一種機器人可以處理的指令形式上述技巧是讓機器人執行幾乎任何所分配任務必需的核心技巧。對上述五個方麵做齣標注是因為它們代錶瞭夯實機器人編程基石的第二步。
基本的通用機器人轉換器我們將在本書中使用兩個助手以一種易於理解和快速參考的形式呈現機器人程序和常見的機器人編程問題。第一個助手,基本通用機器人轉換器(BasicUniversalRobotTranslator,BURT),用於呈現本書中所有的代碼段、命令和機器人程序。BURT給齣瞭每個代碼段、命令或機器人程序的兩個版本:
純英文版本機器人語言版本BURT用於將一組簡單且易於理解的英文指令轉換成相應的機
對於一個在校大學生來說,尋找一本能夠真正指導實際操作的書籍非常重要。而這本書恰恰滿足瞭我的需求。它並沒有過多的理論堆砌,而是將重心放在瞭“如何去做”上。我最喜歡的部分是書中關於“動手實踐”的章節,作者詳細列齣瞭所需的硬件清單,以及搭建和連接的步驟,並且還提供瞭完整的代碼,可以直接運行。這讓我這個編程新手也能快速上手,體驗到創造的樂趣。通過跟隨書中的指導,我成功地搭建瞭一個能夠避障的小型機器人,看著它在我的指令下靈活地穿梭,那種成就感是難以言錶的。更棒的是,書中還鼓勵讀者進行二次開發,引導我們去思考如何改進算法,如何添加新的功能。這讓我不再是被動地學習,而是主動地去探索和創新。這本書為我提供瞭一個非常好的起點,讓我對機器人技術産生瞭濃厚的興趣,並且有信心在未來深入研究這個領域。
評分從一個完全零基礎的門外漢的角度來看,這本書就像是一本通俗易懂的“入門手冊”。我之前對機器人編程的印象就是各種復雜的代碼和抽象的概念,一直不敢輕易嘗試。但是,這本書的作者用非常接地氣的方式,將那些復雜的知識變得生動有趣。比如,在講解傳感器原理的時候,作者會用生活中常見的例子來類比,讓我瞬間就能理解。而對於代碼部分,書中的示例代碼都是簡潔明瞭,並且都有詳細的解釋,讓我這個編程小白也能看懂。更讓我感到驚喜的是,書中還提供瞭一些“踩坑指南”,提前告訴讀者可能會遇到哪些問題,以及如何解決。這大大減少瞭我在實踐過程中可能遇到的挫敗感。我特彆喜歡書中那種“鼓勵嘗試”的氛圍,讓我覺得即使犯錯也是學習的一部分。這本書不僅讓我瞭解瞭機器人編程的基礎知識,更重要的是,它讓我剋服瞭對這個領域的恐懼,燃起瞭我深入學習的決心。
評分這本書的封麵設計簡潔大氣,一看就給人一種專業、紮實的感覺。我平時對機器人領域就頗有興趣,尤其想瞭解機器人是如何被“賦予”智慧,能夠執行復雜任務的。雖然我不是科班齣身,但對編程一直抱有熱情,也瞭解一些基礎的編程概念。拿到這本書,我最大的感受就是它不像那些空泛的理論書籍,而是充滿瞭實際操作和案例分析。翻開目錄,立刻被吸引住瞭,從基礎的硬件連接、傳感器數據采集,到更高級的路徑規劃、機器學習應用,內容覆蓋麵非常廣。更重要的是,它並沒有止步於理論講解,而是強調“實戰”,這意味著書中會有大量的代碼示例、項目指導,甚至可能是搭建具體機器人的步驟。我特彆期待書中能夠詳細講解如何利用一些開源的機器人平颱,比如ROS,來完成一些有意思的項目。我想瞭解如何讓機器人識彆物體、如何讓它在復雜環境中導航、甚至是如何讓它學會一些簡單的互動。這本書的齣現,對我來說就像是點亮瞭一盞指引我進入機器人編程世界的明燈,讓我看到瞭理論與實踐結閤的可能性。我迫不及待地想動手實踐,將書中的知識轉化為自己能夠操控的機器人。
評分這本書給我帶來的不僅僅是技術上的提升,更是一種全新的視角。我一直以為機器人編程是一門高度專業化的學科,需要深厚的數學和計算機科學功底。但這本書的齣現,讓我看到瞭普通愛好者也能參與其中的可能性。作者在書中非常注重“可操作性”,很多例子都是基於常見的硬件平颱和開源軟件,這大大降低瞭學習門檻。我尤其欣賞書中對於“模塊化”和“組件化”編程思想的強調,這讓我在構建復雜的機器人係統時,能夠更有條理,更易於維護和擴展。書中的代碼示例結構清晰,注釋詳細,即使是初學者也能很快理解其邏輯。此外,書中還穿插瞭一些關於機器人倫理和未來發展的討論,這讓我不僅關注技術本身,也開始思考機器人對社會的影響。這種人文關懷的融入,讓這本書更加引人入勝,也讓我對機器人這個領域産生瞭更深層次的思考。總的來說,這本書是一次非常愉快的閱讀體驗,它激發瞭我對機器人編程的濃厚興趣,也讓我看到瞭將創意變為現實的無限可能。
評分讀完這本書,我最大的收獲就是對機器人“大腦”的運作有瞭更清晰的認識。以往,機器人對我來說可能就是一些酷炫的機械結構,但這本書讓我深入瞭解瞭驅動這些機械運動的“思想”。書中的講解非常循序漸進,即使是一些比較抽象的算法,作者也用瞭很多生動的比喻和清晰的圖示來輔助理解。我尤其喜歡其中關於“感知”和“決策”的部分,作者詳細介紹瞭各種傳感器的原理和數據處理方法,以及如何利用這些數據來讓機器人“看懂”世界。而“決策”部分更是精彩,從簡單的規則判斷,到復雜的機器學習模型,作者都給齣瞭實際的應用案例,讓我看到瞭如何讓機器人做齣智能的反應。最讓我驚喜的是,書中並沒有迴避一些技術難題,而是鼓勵讀者去嘗試、去解決。例如,在處理傳感器噪聲、優化路徑規劃算法等方麵,作者都提供瞭自己的經驗和建議。我感覺這本書不僅是一本技術手冊,更像是一位經驗豐富的老師,在引導我剋服學習過程中的睏難。通過這本書,我不僅學到瞭知識,更重要的是培養瞭解決問題的思維方式,這對於我未來的學習和工作都將大有裨益。
評分第一次京東買書,發貨快,質量好,趕上活動便宜
評分喜歡在京東買書 因為有時候急需 京東快遞能滿足這一要求
評分很好的東西,值得購買!
評分好,不錯,可以。
評分好,不錯,可以。
評分現在還沒有拆開,用來學習ROS的書,賣的停火的,趁著雙十一器件給買瞭
評分很好的東西,值得購買!
評分資料不錯。比較適閤,學習。朋友推薦
評分本書結構清晰,有些重復可以精煉的。
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 靜流書站 版權所有