lego mindstorms nxt 概覽 - delightpress.com.t · 瞭解nxt 與rcx...

12
01 CHAPTER LEGO MINDSTORMS NXT 概覽 LEGO MINDSTORMS NXT 是知名 玩具廠商樂高公司在 00 年推出 的新一代智慧型機器人開發套件。 從“ 玩 具 ” 的 角 度 來 看,LEGO MINDSTORMS 系列產品徹底顛覆 了傳統玩具的概念。它讓使用者發揮 自己的想像力,從組裝各種模型或機 械結構開始,配合圖形介面的開發工 具來撰寫簡單的應用程式,藉此控制 機械模型的動作。本章將簡介 LEGO MINDSTORMS NXT 的基本結構, 以及樂高機器人開發觀念。

Upload: phamphuc

Post on 06-Oct-2018

231 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: LEGO MINDSTORMS NXT 概覽 - delightpress.com.t · 瞭解nxt 與rcx 的差異之後,接著我們要認識lego minstorms nxt

01CHAPTER

LEGO MINDSTORMS

NXT概覽

LEGO MINDSTORMS NXT 是知名

玩具廠商樂高公司在 �00�年推出

的新一代智慧型機器人開發套件。

從“玩具”的角度來看,LEGO

MINDSTORMS系列產品徹底顛覆

了傳統玩具的概念。它讓使用者發揮

自己的想像力,從組裝各種模型或機

械結構開始,配合圖形介面的開發工

具來撰寫簡單的應用程式,藉此控制

機械模型的動作。本章將簡介 LEGO

MINDSTORMS NXT的基本結構,

以及樂高機器人開發觀念。

Page 2: LEGO MINDSTORMS NXT 概覽 - delightpress.com.t · 瞭解nxt 與rcx 的差異之後,接著我們要認識lego minstorms 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可程式積木

直流馬達

Page 3: LEGO MINDSTORMS NXT 概覽 - delightpress.com.t · 瞭解nxt 與rcx 的差異之後,接著我們要認識lego minstorms nxt

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可程式積木 伺服馬達

聲音感應器 光源感應器 超音波感應器

Page 4: LEGO MINDSTORMS NXT 概覽 - delightpress.com.t · 瞭解nxt 與rcx 的差異之後,接著我們要認識lego minstorms 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的硬體規格比較

Page 5: LEGO MINDSTORMS NXT 概覽 - delightpress.com.t · 瞭解nxt 與rcx 的差異之後,接著我們要認識lego minstorms 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可程式積木的硬體規格

Page 6: LEGO MINDSTORMS NXT 概覽 - delightpress.com.t · 瞭解nxt 與rcx 的差異之後,接著我們要認識lego minstorms nxt

LEGO MINDSTORMS NXT

智慧型樂高機器人與 Java程式開發

光源感應器

此種感應器可以偵測反射物的亮度。顏色較暗的物

體,光源感應器的回傳值較低;顏色較亮的物體,光

源感應器的回傳值較高。國際奧林匹克機器人競賽中

經常出現的軌跡賽,就可以利用光源感應器來控制軌

跡車如何前進。

聲音感應器

聲音感應器可以偵測機器人周遭的聲音大小,其測量

單位分為 dB(分貝)與 dBA(調整分貝)兩種。透過

聲音感應器,你可以藉由聲音大小的變化來改變機器

人的行為。

超音波感應器

NXT超音波感應器酷似人類的眼睛,可以偵測距離的

遠近(有效範圍約 ���公分),其測量單位為英吋或公

分。

伺服馬達

裝上伺服馬達以後,樂高機器人就可以自由移動,或

執行某個動作。因為 NXT伺服馬達內建「角度感應

器」,我們可以更精確地控制馬達運轉行為,例如,讓

A馬達順時針旋轉 �0度,或是逆時針旋轉 �圈。

連接線

NXT專用連接線用來連接 NXT可程式積木與各種感應

器,或伺服馬達。目前的連接線有三種規格:�0公分、

��公分與 �0公分。

Page 7: LEGO MINDSTORMS NXT 概覽 - delightpress.com.t · 瞭解nxt 與rcx 的差異之後,接著我們要認識lego minstorms nxt

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系列的積木

觸碰感應器

伺服器馬達

Page 8: LEGO MINDSTORMS NXT 概覽 - delightpress.com.t · 瞭解nxt 與rcx 的差異之後,接著我們要認識lego minstorms nxt

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 馬達同時停止

}

}

Page 9: LEGO MINDSTORMS NXT 概覽 - delightpress.com.t · 瞭解nxt 與rcx 的差異之後,接著我們要認識lego minstorms nxt

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可程式積木

光源感應器

Page 10: LEGO MINDSTORMS NXT 概覽 - delightpress.com.t · 瞭解nxt 與rcx 的差異之後,接著我們要認識lego minstorms 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的零售版與教育版比較

Page 11: LEGO MINDSTORMS NXT 概覽 - delightpress.com.t · 瞭解nxt 與rcx 的差異之後,接著我們要認識lego minstorms nxt

CH

AP

TE

R 0

1

11

LEGO MINDSTORMS NXT概覽

在本章內容中,筆者除了比較 RCX與 NXT可程式積木的主要差異,也說明基本

的樂高機器人開發觀念。下一章我們將認識 NXT可程式積木的基本設定功能,以

及如何測試各種感應器與伺服馬達。

結語

Page 12: LEGO MINDSTORMS NXT 概覽 - delightpress.com.t · 瞭解nxt 與rcx 的差異之後,接著我們要認識lego minstorms nxt

LEGO MINDSTORMS NXT

智慧型樂高機器人與 Java程式開發

1�

Note