lego mindstorms nxt 概覽 - delightpress.com.t · 瞭解nxt 與rcx...
TRANSCRIPT
01CHAPTER
LEGO MINDSTORMS
NXT概覽
LEGO MINDSTORMS NXT 是知名
玩具廠商樂高公司在 �00�年推出
的新一代智慧型機器人開發套件。
從“玩具”的角度來看,LEGO
MINDSTORMS系列產品徹底顛覆
了傳統玩具的概念。它讓使用者發揮
自己的想像力,從組裝各種模型或機
械結構開始,配合圖形介面的開發工
具來撰寫簡單的應用程式,藉此控制
機械模型的動作。本章將簡介 LEGO
MINDSTORMS NXT的基本結構,
以及樂高機器人開發觀念。
LEGO MINDSTORMS NXT
智慧型樂高機器人與 Java程式開發
�
目前市面上可以購買的 LEGO MINDSTORMS系列產品分為兩類:RCX與
NXT。本節先比較這兩種產品的差異。
1.1.1 RCX與 NXT基本功能比較
LEGO MINDSTORMS NXT的前身為 RCX,其核心為 �位元 Hitachi H�微處理
器,擁有三個輸入端與三個輸出端。圖 1-1示範 RCX可程式積木(Programmable
brick)如何連接感應器與直流馬達。
1.1 LEGO MINDSTROMS系列產品簡介
5 圖 1-1 LEGO MINDSTROMS NXT的前身 — RCX
光源感應器
觸碰感應器
RCX可程式積木
直流馬達
CH
AP
TE
R 0
1
�
LEGO MINDSTORMS NXT概覽
儘管 RCX 已擁有相當優異的機器人開發套件,但是新一代的 LEGO
MINDSTROMS NXT更令人驚豔。除了 NXT可程式積木搭載 ��位元的 ARM �
微處理器,造型酷似 iPod以外,還大量採用 LEGO TECHNIC系列積木。組合後
的機械模型不僅更加靈活,也頗具現代感。圖 1-�示範 NXT可程式積木如何連接
各種感應器與伺服馬達。
5 圖 1-� LEGO MINDSTROMS NXT基本組成結構
觸碰感應器 NXT可程式積木 伺服馬達
聲音感應器 光源感應器 超音波感應器
LEGO MINDSTORMS NXT
智慧型樂高機器人與 Java程式開發
�
表 1-1 是 RCX與 NXT的硬體規格比較
項目
中央處理器 �位元 Hitachi H�微處理器 ��位元 ARM�微處理器
記憶體 1� Kbytes ROM �� Kbytes RAM
��� Kbytes FLASH �� Kbytes RAM
傳輸方式 紅外線 USB �.0與 Bluetooth
顯示螢幕 只能顯示數字的 LCD 可以顯示 100 x ��像素的 LCD
輸入端 �個 �個
輸出端 �個 �個
馬達 直流馬達 伺服馬達(內建角度感應器)
電力 1.� V電池 x � 1.� V電池 x �或是 NXT專用鋰電池
感應器 觸碰感應器
光源感應器
角度感應器
溫度感應器
... ...
觸碰感應器
光源感應器
聲音感應器
超音波感應器
顏色感應器
磁力感應器
加速度感應器
... ...
5 表 1-1 RCX與 NXT的硬體規格比較
CH
AP
TE
R 0
1
�
LEGO MINDSTORMS NXT概覽
1.1.2 NXT基本組成要件
瞭解 NXT與 RCX的差異之後,接著我們要認識 LEGO MINSTORMS NXT的各
種組成要件。
NXT可程式積木
此為樂高機器人最重要的核心元件,擁有四個輸入端
(連接感應器)、三個輸出端(連接伺服馬達),以及一
個 USB連接埠(連接電腦)。除了使用 USB連線,
NXT可程式積木也可以透過藍芽通訊協定連接至個人
電腦。表 1-�是 NXT可程式積木的詳細硬體規格。
硬體項目 說明
微處理器 ��位元 ARM�微處理器 記憶體:��� Kbytes FLASH, �� Kbytes RAM
輔助處理器 �位元 AVR處理器 記憶體:�� Kbytes FLASH, �1� Byte RAM
通訊方式 藍芽無線傳輸(Bluetooth Class II V�.0)與 USB(1� Mbit/s)
輸入端 �個(可連接觸碰、聲音、光源與超音波感應器)
輸出端 �個(可連接馬達與燈泡)
顯示設備 100 x ��像素液晶顯示面板
聲音輸出 音效品質 � KHz。�位元解析聲音頻道,�-1� KHz取樣頻率
電池 �號 AA電池 x �(或安裝專用鋰電池)
觸碰感應器
當觸碰感應器被壓下時,回傳值為 1;未按下的回傳
值為 0。此類型感應器可以做為機械模型的啟動 /停止
開關。舉例來說,在機械手臂前端可利用觸碰感應器
偵測是否碰觸到物品,如果有,則將它抓起來。
5 表 1-� NXT可程式積木的硬體規格
LEGO MINDSTORMS NXT
智慧型樂高機器人與 Java程式開發
�
光源感應器
此種感應器可以偵測反射物的亮度。顏色較暗的物
體,光源感應器的回傳值較低;顏色較亮的物體,光
源感應器的回傳值較高。國際奧林匹克機器人競賽中
經常出現的軌跡賽,就可以利用光源感應器來控制軌
跡車如何前進。
聲音感應器
聲音感應器可以偵測機器人周遭的聲音大小,其測量
單位分為 dB(分貝)與 dBA(調整分貝)兩種。透過
聲音感應器,你可以藉由聲音大小的變化來改變機器
人的行為。
超音波感應器
NXT超音波感應器酷似人類的眼睛,可以偵測距離的
遠近(有效範圍約 ���公分),其測量單位為英吋或公
分。
伺服馬達
裝上伺服馬達以後,樂高機器人就可以自由移動,或
執行某個動作。因為 NXT伺服馬達內建「角度感應
器」,我們可以更精確地控制馬達運轉行為,例如,讓
A馬達順時針旋轉 �0度,或是逆時針旋轉 �圈。
連接線
NXT專用連接線用來連接 NXT可程式積木與各種感應
器,或伺服馬達。目前的連接線有三種規格:�0公分、
��公分與 �0公分。
CH
AP
TE
R 0
1
�
LEGO MINDSTORMS NXT概覽
瞭解 NXT可程式積木與各種感應器的用途以後,你或許會質疑:這些東西跟機器
人有什麼關係?事實上,NXT可程式積木、感應器與伺服馬達只要搭配各式各樣
的樂高積木,就可以設計出功能完整的機械結構喔。
圖 1-�是以 LEGO MINDSTORMS NXT開發套件(產品編號 ����)組合的標準
模型 — Alpha Rex,實際高度約 �0公分。
1.2 基本的機器人設計與開發觀念
5 圖 1-� 利用 LEGO MINDSTORMS NXT組合的機器人 Alpha Rex(圖片來源:http://shop.lego.com/)
超音波感應器NXT可程式積木
聲音感應器
LEGO Technic系列的積木
觸碰感應器
伺服器馬達
LEGO MINDSTORMS NXT
智慧型樂高機器人與 Java程式開發
�
雖然 Alpha Rex全部以樂高積木組成,但是它有幾項特點:
●主體為 NXT可程式積木,可執行多種開發語言所撰寫的應用程式。它擁有
四個輸入端(1、�、� 、�)與三個輸出端(A、B、C),可藉此讀取感應器
的輸入值,並控制伺服馬達如何運轉。
●眼睛與兩隻手臂前端分別為超音波感應器、觸碰感應器、聲音感應器,可以
偵測行進距離與周圍聲音大小。
●兩隻腳分別裝上兩個伺服馬達,轉動時可以帶動 Alpha Rex前進或後退。馬
達旋轉方向與速度可以經由程式控制。
由此可知,樂高機器人的運作原理非常簡單:
Step 1:先利用各種樂高積木(包括感應器與馬達)組合出適當的模型。
Step 2:在電腦上撰寫應用程式。
Step 3:將程式下載到 NXT可程式積木。
Step 4:在 NXT可程式積木上執行已下載的程式。
以 Alpha Rex為例,要控制它前進的程式邏輯為:
我們可以將上述程式邏輯轉變成:
while (true) {
if (眼睛到前方牆壁的距離 > 20 公分 ) {
直線前進
}else {
停止不動
}
}
while (true) {
if (超音波感應器偵測的距離 > 20 公分 ) {
B,C 馬達同時轉動 //相當於讓 Alpha Rex 以雙腳前進
}else {
B,C 馬達同時停止
}
}
CH
AP
TE
R 0
1
�
LEGO MINDSTORMS NXT概覽
稍有程式撰寫經驗的讀者應該可以理解上述機器人的控制邏輯。不過,真正令筆
者感動的是,樂高公司提供的圖形介面開發環境,可以讓九歲以上的小學生輕易
寫出簡單的機器人控制程式。從資訊教育的角度來看,用樂高機器人來學習如何
撰寫應用程式肯定有趣多了!
圖 1-�是以 LEGO MINDSTORMS NXT開發套件組合的另一種標準模型 —
RoboArm T-��。這個機械手臂同樣是以 NXT可程式積木、感應器、伺服馬達與
樂高積木組合而成,但是外觀卻和 Alpha Rex大不相同。
運用相同的樂高積木組合出不同機械模型,搭配不一樣的程式,就可以模擬不同
的機械行為 — 這就是樂高機器人風靡全世界的主要原因!
5 圖 1-�:利用 LEGO MINDSTORMS NXT組合的機器手臂 RoboArm T-��(圖片來源:http://shop.lego.com/)
觸碰感應器 伺服器馬達
NXT可程式積木
光源感應器
LEGO MINDSTORMS NXT
智慧型樂高機器人與 Java程式開發
10
如果你也想嘗試撰寫機器人控制程式的樂趣,不妨購買一組親自體驗吧。不過要
注意,LEGO MINDSTORMS NXT分為兩種版本:
●零售版:可以在一般玩具零售通路購買,如玩具反斗城或各大百貨公司,產
品編號為 ����(http://shop.lego.com/Product/?p=����)。
●教育版:只能在樂高教育部門(LEGO Education)授權的代理商購買,產
品編號為 ����。台灣的樂高教育系列產品總代理為貝登堡國際股份有限公
司,http://www.erobot.com.tw。
零售版 教育版
包裝外盒
積木總數 ��� ��1
感應器 �個 �個(多一個觸碰感應器)
伺服馬達 �個 �個
鋰電池 無 有(不含充電器)
燈泡 無 有
轉接線 無 �條
整理盒 無 有
軟體 LEGO MINDSTORMS NXT Software Retail
LEGO MINDSTORMS NXT Software Education
1.3 LEGO MINDSTORMS NXT的兩種版本
5 表 1-� LEGO MINDSTORMS NXT的零售版與教育版比較
CH
AP
TE
R 0
1
11
LEGO MINDSTORMS NXT概覽
在本章內容中,筆者除了比較 RCX與 NXT可程式積木的主要差異,也說明基本
的樂高機器人開發觀念。下一章我們將認識 NXT可程式積木的基本設定功能,以
及如何測試各種感應器與伺服馬達。
結語
LEGO MINDSTORMS NXT
智慧型樂高機器人與 Java程式開發
1�
Note