台灣第一本樂高EV3機器人教學書籍!
2013年年初,樂高公司發布了新一代樂高機器人EV3,連同原有的程式介面也全面改版,不再使用上一版的NXT-G軟體。歷代以來,樂高所提供的圖形程式介面都維持了簡單易學且方便除錯的原則,加上直覺化的程式模組設計,因此很適合沒有程式設計背景的使用者或是小朋友使用。現行市面上已有許多NXT-G書籍,足見有一定的購買市場;另外NXT-G也是WRO與FLL這兩個目前台灣最大型的機器人競賽的指定程式語言,因此在EV3機器人上市之後,對於工具書籍的需求會漸漸明顯,相信本書的讀者群相當可觀。
參考樣書中所列為市面上較有名的NXT-G書籍,但目前除邱信仁老師之外,其他作者尚無聽聞有要寫EV3機器人教學書籍之計畫,所以本書應有機會成為市面上第一本樂高EV3機器人教學書籍。本書定位為機器人教學入門書,以十多個專題來介紹樂高EV3機器人與軟體的操作方法。本書希望能承接國內樂高機器人讀者群、大專院校以及才藝教室,讓它們有意願使用本書。
備註:本書有第二集進階功能出版計畫。
本書特色:
樂高EV3機器人上市了!更強更快的控制核心與感測器,搭配簡單易用的圖形化程式環境,馬上就能完成您的第一台機器人。
搭配樂高各種不同的零件,您的機器人可以完成各種複雜的動作功能,在實作中理解各種機械與物理原理。
本書適用於機器人入門玩家、想帶領小朋友學習機器人以及機器人科學的才藝教室。
本書內含數十個程式範例,包含機器人行為設計、感測器、燈光音效以及多個整合式機器人專題,您可由此進入機器人的世界,非常適合各級教學單位使用。
範例程式檔與本書更多資訊,請上CAVE系列叢書官方網站:http://book.cavedu.com。
作者簡介:
曾吉弘
CAVE教育團隊技術總監,對於Android、機器人與各種合金玩具有狂熱。著有多本Android與機器人相關書籍,為一群活潑近乎躁動的機器人玩家頭目。
官方網站:http://www.cavedu.com
CAVE教育團隊
CAVE教育團隊是由一群對教育充滿熱情的大孩子所組成的機器人科學教育團隊,於2008年初創辦之後即積極推動國內之機器人教育,以出版書籍、技術研發、教學研習與設備販售為團隊主軸。本團隊宗旨在於讓所有有心學習機器人課程的朋友,皆能取得優質的服務與課程。本團隊已出版多本機器人程式與互動創作專業書籍,主題包含樂高機器人、Arduino微型開發板、Raspberry Pi Linux單板電腦以及許多有趣的主題,並定期舉辦研習會與新知發表,期望帶給您更豐富多元的學習內容。
章節試閱
1-1 樂高機器人發展史
樂高機器人是LEGO®MINDSTORMS®公司所生產的教育性機器人套件,針對三年級,也就是十歲左右的小朋友,藉由各種樂高零件以及簡單的圖形化程式介面,可以很快地做出各種機器人或是自動化系統。因此從1999年第一代RCX上市以來,受到許多家長與小朋友的歡迎。2006年第二代NXT機器人問世之後,更是將以上的特性發揮得淋漓盡致,不僅在各類型的比賽中都能看到樂高機器人的身影,許多大專院校也將其列為程式設計以及機電整合課程的先導課程。另一方面,由於NXT機器人的韌體原始碼是開放的,因此除了樂高官方的NXT-G圖形化程式介面之外,其他例如C╱C++或Java等程式語言也可以編譯成樂高機器人的執行檔;也可以透過其它裝置,例如Android智慧型手機或平板來控制機器人。
本團隊從2009到2012年之間,也針對NXT機器人出版了數本教學書籍,歡迎參考。轉眼過了十多年,今年年初當EV3機器人發布時,相信許多玩家都是相當振奮的,期待新一代的EV3機器人能帶給我們更多歡樂與有趣的專題。
1-2 電子零件
1-2-1 EV3智慧型可程式積木
EV3主機採用Linux作業系統(嚴格說來應該是針對機器人而設計的一個Linux發布套件),這代表著未來對於EV3程式開發者或週邊設備廠商來說,能夠在一個開放的標準來開發EV3相容的指令模組與硬體,甚至還能自行加入客製化的套件。目前可用來控制EV3機器人的程式語言有NXC╱RobotC等C語言平台、leJOS(Java)、LabVIEW等。如果是要用外部裝置來遙控機器人的話,只要是支援藍牙或無線網路的裝置,都能用來遙控EV3機器人。
可以看到,EV3主機分別有4個輸入端與輸出端,比上一代的NXT多了一個輸出端,也就是說在機器人的機構以及馬達自由度上都會來得更自由。可透過USB傳輸線來傳輸程式,也可以使用藍牙與無線網路,讓程式在EV3主機與電腦之間無線傳輸,但當然還是使用USB傳輸線最方便。
在操作上,EV3保持著樂高一貫的直覺操作精神,在主機上有六個按鍵:按下中央的確認鍵即可開機,左上角的取消鍵則是回到上一層或是取消先前設定。最後在確認鍵四周的四向選擇鍵則是用來在各選項中移動。有關EV3開機後的各選項介紹,我們會在下一章詳細介紹。
自動識別連線(Auto-ID)
這是EV3新增的功能,EV3會自動辨識已經連接的裝置名稱與所使用的連接埠位置,這樣可大幅減少設計機器人程式時的除錯工作,好比將顏色感測器接在3號輸入端,但程式中卻設定為2號,聽起來有點不可思議,但真的很常發生這種烏龍狀況。NXT的馬達和部分感測器也支援Auto-ID功能呢,太好了!
1-2-2 馬達(Interactive Servo Motor)
馬達是機器人主要的輸出動力來源,EV3套件中有大型和中型兩種馬達,大型馬達是機器人的主要移動平台,而中型馬達可用來製作投球手臂或是夾物機構等等,馬達除了內建附有角度感應器之外,EV3的馬達也支援最新的自動識別(Auto-ID)功能,只要接上EV3主機就能自動判斷馬達型號。
1-2-3 感測器(Sensor)
由外觀來看的話EV3感測器與NXT感測器不同之處在於,以往的NXT感測器的圓角曲面已經不見了,改用更俐落的平切面讓感測器看起來更酷炫,在機構方面多了十字孔的組裝位置讓組裝更容易,同時也增加了自動識別連線(Auto-ID)的功能。
◎觸碰感測器(Touch Sensor):
觸碰感測器可用來偵測機器人有無碰撞到障礙物,另外也可以當按鈕使用。回傳的資料型態為布林(boolean)。
◎顏色感測器(Color Sensor):
顏色感測器可以感應透明、黑、藍、綠、黃、紅、白與棕色共八種顏色,分別由0到7等數字所代表。感測距離為15~50mm,太近或太遠則無法正確感測顏色。回傳的資料型態為數值(Number)。顏色感測器也可當作光感測器來使用,回傳0~100的整數值代表前方環境或物體的亮度。
◎超音波感測器(Ultrasonic Sensor):
超音波感測器是藉由發射超音波後,接收到物體所反射音波之時間差測量距離,左方眼鏡為發射,右方則是接收,新的超音波感測器上多了LED燈,在超音波感測器發射時LED燈會閃爍發亮,另外可切換兩種模式:接收模式(單純量測距離)和感應環境中的超音波訊號。超音波感測器回傳的資料型態為數值。
◎陀螺儀感測器(Gyro Sensor):
陀螺儀感測器是用來量測機器人的傾斜程式,當機器人傾倒時,陀螺儀感測會偵測傾倒的度數。我們可藉此讓機器人維持平衡。陀螺儀感測器回傳的資料型態為數值。
另外陀螺儀感測器具有重置角度功能(Reset),您可以自行設定某個角度為陀螺儀感測器的初始值。
EV3上市前,樂高沒有自行生產陀螺儀感測器,只能購買HiTechnic公司的產品(沒錯,HiTechnic的產品都長得差不多而且黑黑的)。
◎紅外線感測器(IR Seeker Sensor):
紅外線感測器有有三種模式分別為,測距模式(Proximity Mode)、標燈模式(Beacon Mode)與接收模式(Remote Mode),後兩者必須配合紅外線發射器(IR Beacon╱Remote Control Sensor)來使用。
1-1 樂高機器人發展史
樂高機器人是LEGO®MINDSTORMS®公司所生產的教育性機器人套件,針對三年級,也就是十歲左右的小朋友,藉由各種樂高零件以及簡單的圖形化程式介面,可以很快地做出各種機器人或是自動化系統。因此從1999年第一代RCX上市以來,受到許多家長與小朋友的歡迎。2006年第二代NXT機器人問世之後,更是將以上的特性發揮得淋漓盡致,不僅在各類型的比賽中都能看到樂高機器人的身影,許多大專院校也將其列為程式設計以及機電整合課程的先導課程。另一方面,由於NXT機器人的韌體原始碼是開放的,因此除了樂高官方的NXT-G圖形化程...
作者序
CAVE的第一本書是2009年的《機器人新視界——NXC與NXT》,使用C語言來控制上一代的樂高智慧型可程式積木NXT,鎖定的讀者是機器人的進階使用者。接下來我們分別以Java、LabVIEW、Android以及App Inventor搭配樂高機器人出版了相對應的教學書籍,並逐漸將教學內容延伸到Arduino與Raspberry Pi等嵌入式系統上,在此感謝許多學校師長的支持與指正。去年底有關新一代樂高智慧型主機EV3的相關消息逐漸發布之後,我們就引領期盼這家公司又會帶給全球的廣大支持者怎樣的驚喜。因此能以本書邁向CAVE的第十本書,我們認為是一個任重道遠的里程碑。
我們從今年開始積極與許多公共創作空間與媒體單位合辦各種有趣的DIY互動課程。另一方面,您可見到諸如華山1914、松山文創園區與萬華剝皮寮等都有許多藝文單位進駐,也有許多共創分享與教學課程,這是台灣這一塊土地的活力,期待將Maker們的自造者精神推廣到一般民眾,由基層深植動手作精神。
本書很榮幸能獲得多位師長的熱情推薦,感謝馥林文化全體同仁在本書編寫過程中的專業指導與協助,讓本書能順利付梓出版。只要有有趣的題材,我們就會一直寫下去,提供更多優質的內容。感謝各位師長好友們的支持與鼓勵,實在是點滴在心頭,謝謝您一路走來的支持與肯定。
CAVE教育團隊 謹致
service@cavedu.com
本書所有範例皆可由book.cavedu.com下載
CAVE的第一本書是2009年的《機器人新視界——NXC與NXT》,使用C語言來控制上一代的樂高智慧型可程式積木NXT,鎖定的讀者是機器人的進階使用者。接下來我們分別以Java、LabVIEW、Android以及App Inventor搭配樂高機器人出版了相對應的教學書籍,並逐漸將教學內容延伸到Arduino與Raspberry Pi等嵌入式系統上,在此感謝許多學校師長的支持與指正。去年底有關新一代樂高智慧型主機EV3的相關消息逐漸發布之後,我們就引領期盼這家公司又會帶給全球的廣大支持者怎樣的驚喜。因此能以本書邁向CAVE的第十本書,我們認為是一個任重道遠的里程碑。
...
目錄
序
第一章
樂高機器人發展史與零件介紹
第二章
EV3主機介紹
第三章
EV3程式介紹
第四章
機器人動起來
第五章
機器人運動模式
第六章
迷宮機器人
第七章
追送報生的狗
第八章
顏色鋼琴
第九章
循跡機器人
第十章
指南機器人
第十一章
垃圾車
第十二章
猜拳機器人
附錄A
範例機器人組裝說明
附錄B
如何匯入非官方指令模組到EV3環境
附錄C
其他EV3感測器指令介紹
附錄D
參考資源
附錄E
如何重新安裝EV3主機韌體
序
第一章
樂高機器人發展史與零件介紹
第二章
EV3主機介紹
第三章
EV3程式介紹
第四章
機器人動起來
第五章
機器人運動模式
第六章
迷宮機器人
第七章
追送報生的狗
第八章
顏色鋼琴
第九章
循跡機器人
第十章
指南機器人
第十一章
垃圾車
第十二章
猜拳機器人
附錄A
範例機器人組裝說明
附錄B
如何匯入非官方指令模組到EV3環境
附錄C
其他EV3感測器指令介紹
附錄D
參考資源
附錄E
如何重新安裝EV3主機韌體