2007-03-30

將NXT發揮得淋漓盡致(Extreme NXT)


(書本封面連結:Philo' Home Page)

前文曾經介紹過Philo先生的網頁,裡面有許多精彩的內容,包括RCX和NXT的各種作品及研究。
Philo先生原本預定4/9出版的新書,已經提前在AMAZON上市。

書名為:Extreme NXT: Extending the LEGO MINDSTORMS NXT to the Next Level

這本書共有三位作者:Michael Gasperi, Philippe E. Hurbain, Isabelle L. Hurbain
(Philippe E. Hurbaim就是Philo 先生)

Michael Gasperi曾經出過
Extreme Mindstorms (Apress, 2000)

這本書的內容比較「硬」,不過對於有興趣研究NXT的樂高機器人迷,或是大專研究生,應該是一本不錯的參考書。

詳細內容請參考http://www.extremenxt.com/books.htm,還有四部放在Youtube的示範影片連結,還真的蠻有創意的喔!

(非廣告:博客來已經可以訂書,湊十本85折喔!

書本內容大概如下:括弧中文是筆者的意見

CHAPTER 1 In the Beginning
The RCX and the Robotics Invention System
The MINDSTORMS NXT

(應該是NXT簡單介紹,與RCX,RIS的比較。)

CHAPTER 2 In the Box
The Sensors
The Motors
The Lamp
The Languages

(大概就是零件積木簡介)

CHAPTER 3 Connecting to the NXT
NXT Ports
Sensor Input Pinout and Signal Description
Motor Output Pinout
Physically Connecting to the NXT
Making Your Connectors
Screw Terminal for Passive Sensors
RCX Compatibility Cable

(對NXT電子零件,接線做一說明,包含下面各章節的自製感應器,或是利用其他電子零件與NXT的結合應用,例如那個有趣的乒乓球電子遊戲機。還有NXT馬達內部探索,I2C介面。的確很「硬」喔!)

CHAPTER 4 Contact Sensors
Touching Wires
Electronic Surfboard
Switches
Parallel and Series
Antenna Sensor

CHAPTER 5 Resistive Sensors
Analog to Digital Conversion
Ohmmeter Program
Measuring Salinity
Homebrew Temperature Sensor
NXT Digital Thermometer
Relative Humidity Sensor
Light Sensor
Comparison of LEGO and CdS Light Sensor
Theremin
Braitenberg Vehicle 2
Two Switch Input
CHAPTER 6 Potentiometer Sensors
Resistance Selection
NXT Protractor
Pressure Sensor
Broom Balancer
Bottom Mounted Joystick
Top Mounted Joystick for the T-56
CHAPTER 7 Voltage Sensors
Design of a -5V to +5V Sensor
NXT Battery Tester
A -15V to +15V Sensor
CHAPTER 8 4.3V Powered Sensors
Hall Effect Sensor
Robot Mouse
Transistor Buffer
Infrared Rangefinder
Wall Follower
Differential Light Sensor
Digital Sundial
Enhancing the Transistor Buffer
CHAPTER 9 Two-Wire Powered Sensors
Signals
Programming
NXT-G
NBC
Half-Volt Sensor
Current Sensor
Electronic Whistler
Pressure Sensor
CHAPTER 10 Aftermarket Vendors
HiTechnic
Mindsensors.com
Techno-Stuff
Vernier and DCP Microdevelopments
LEGO Education
CHAPTER 11 NXT Motor Interfaces
The Clapper
The Etch-A-NXT
The Pneumatic Gripper
CHAPTER 12 Beyond NXT Motors
The Motor Block
Output Control Program
Lamps
Muscle Wires
Electromagnets and Solenoids
Kinetic Sculpture
Relays
Doubling Outputs
Light Emitting Diodes
More Power
One MOSFET Amplifier
Bipolar MOSFET Amplifier
CHAPTER 13 I2C Bus Communication
I2C Communications
PCF8574
Eight Outs
Magic Wand
Four Ins and Outs
Simon Game
Relay Outputs
PCF8591
Four Analog Ins
Color Sensor
Going Further
CHAPTER 14 Cool Combinations
Data Logging
NXT-to-NXT Bluetooth Remote Control
LEGO Train Station
Panoramic Camera
Graphics
NXT Pong Video Game
Remotely Guided Vehicle
APPENDIX A Breadboard Construction Technique
Solderless Breadboard
Building on the Breadboard
Soldering
Building a Printed Circuit Board
APPENDIX B References, Links, and Sources
APPENDIX C Code Listings


歡迎有買這本書的朋友提供閱讀心得,謝謝!


2007-03-27

HiTechnic NXT Sensor團購開始!

探奇教室想試驗HiTechnic公司的感應器。


所以公開舉辦團購,節省運費,也歡迎各位老師,樂高迷可以一起參加。


老話一句:請誠實負責對待此次團購。謝謝!如果覺得不划算,您也可以自行購買。


每個SENSOR目標為2250元。(我也不知道實際價格應該是多少?)


歡迎來信討論!(為了湊數量,我們可能在Y拍或P拍貼出拍賣


團購內容有:


NXT Compass Sensor (Model NMC1034) 


NXT Color Sensor (Model NCO1038)


NXT Acceleration / Tilt Sensor ( Model NAC1040)    


NXT Extended Connector Cable Set (Model NWS1000) 


各項產品功能及內容請參考HiTechnic網站


 


 


HiTechnic NXT Sensors

HiTechnic 公司除了GYRO,還公布其他感應器的應用影片。


使用彩色感應器辨識積木顏色,將各種顏色的積木分類擺放。


 


使用加速度感應器,讓NXT可以模擬Wii 遙控器,將NXT前傾後斜,左右搖擺,就能控制另一台NXT機器人的動作。前進後退及左右轉彎。


 


其實這些感應器也可以有其他用途。


例如利用彩色感應器辨識卡片上的顏色,發出英文單字聲音,就是一台小小的語言學習機。


例如應用加速度感應器,讓NXT拿著竹竿,頂住磁盤,模擬特技表演,維持平衡。


當然這些都需要先有感應器才行。偶爾做做白日夢也不錯喔!


2007-03-26

NXT-G MOVE 和 MOTOR 指令的不同

曾經答應要翻譯文章,解釋MOVE 與MOTOR的不同。拖到現在,真是不好意思。


LEGO ENGINEERING 2.0的資料庫,有兩個地方分別解釋MOVE與MOTOR不同之處。


請參閱Motor vs. Move (Part I: The Control Algorithm)或是Knowledge base


簡單說明如下:


MOTOR指令可以單純地控制馬達轉動或停止。就好像一個開關,雖然可以馬達設定轉動時間(或是轉動圈數),但是可能產生跑過頭的現象(特別是馬力太大的時候),也就是Oevrshooting。這一點可能影響機器人行走時的精確性。


MOVE指令則提供了內建的控制模式,NXT透過角度感應器,在馬達快要完成指定動作時,放慢馬達旋轉速度,精確停在指定角度(或旋轉圈數)。


就好比開汽車遇到紅燈。使用MOTOR指令,在停車線才猛力採煞車,車輛勢必因為慣性,衝出停車線。


使用MOVE指令,則在停止線前50公尺放慢速度,輕採煞車,車子可以準確地停在煞車線之前。


Motor vs. Move (Part I: The Control Algorithm)有很精彩的影片示範,


使用MOVE指令時,機器人可以停在樂高人偶前;使用MOTOR指令,機器人衝過頭,撞倒人偶,再後退。


如果想要精確控制機器人的動作,例如定點停止,尋找軌跡(避免衝過頭),也許可以考慮使用MOVE指令。不用真的去管PID Control這些複雜的控制演算法。(反正筆者也不懂


探奇教室也做了一段簡單測試,歡迎觀賞。



我們同樣使用POWER=75,Duration=1 rotation


使用MOVE指令:馬達旋轉從六點鐘方向逆時針旋轉,轉到1點鐘時,速度放慢,最後停止在六點鐘方向(大概超過一點點再迴轉)。


使用MOTOR指令:馬達沒有任何減速動作,衝出超過約25-30度,才再迴轉至六點鐘方向。


瞭解MOVE與MOTOR指令的差異,可以幫助我們更精確地使用這些功能。


歡迎討論,謝謝!


2007-03-20

再辦一次日文書籍團購!

有一些人詢問是否可以購買團購書籍,很遺憾地,探奇教室辦理團購只是為了節省運費,並沒有訂購大量書籍販賣,(也許將來可以在網拍辦理),所以也沒有多餘的書可以供給大家。

如果大家真的想購買這些日文書籍,探奇教室願意再辦一次團購。

登記時間至3/22,歡迎大家來信或來電登記。

還是一句老話,請大家誠實負責地對待這個團購,覺得不划算就不要登記,謝謝!

團購書籍仍然是橘皮書(五十川):950,黑皮書(NXT 入門)980,灰皮書(大庭)1100。

PS: 今天去郵局,終於知道掛號包裹的便利袋是55元,所以計算價格時請自行加入運費,謝謝!


預告:SENSOR團購近日公布,敬請期待。


2007-03-19

NXT Gray Book 書本已經送達

經過兩個星期的等待,NXT Gray Book終於從日本送達台灣。
先看看封面,捧在手上,感動得快要哭了!



封面的大型兩足機器人使用兩台NXT組合而成。



這本書的內容在前面的文章已經提過,1-8頁是彩色頁,其他為黑白印刷(非常清晰)

Ch1: NXT-G軟體的使用介紹,
My Block,
教示機能(Record and play),
三角函數的使用(使用查表計算方法,但是最近已經有人用LabView直接寫出三角函數的功能方塊,這一章節倒是可以學一下他們解決問題的精神喔!)

Ch2 : 兩個光感,兩個聲感,兩個觸碰如何應用;兩台以上NXT的藍芽通訊教學,還有兩台機器人猜拳的設計,真是可愛!
Ch3 : NXT 公用程式介紹,包括ML CAD,LDView,Wav2Rso聲音轉換,nxtRICedit圖形編輯。
Ch4: NBC介紹 (因為資訊更新非常快速,本書出版後,NXC才發表公布)
Ch5: 使用RCX的感應器及馬達,還教你如何自製轉換線(9797教育版已經附送三條轉換線)
Ch6: NXT與PC通訊,使用Visual C++撰寫程式。
Ch7: 大型兩足機器人,並沒有太詳細的組裝圖,不過機器人移動原理說明倒是很不錯!控制程式是使用NBC撰寫。

有參加團購的人,探奇教室會馬上寄送書籍,謝謝!



2007-03-18

非官方的NXT韌體

終於有人改進NXT的韌體!

就像一般電腦設備的韌體,更新韌體可以修正原有設備的錯誤(臭蟲),也可以增進原有設備的功能。

John Hansen先生發佈新的NXT韌體(再次聲明:這不是樂高公司官方發行的韌體)

做了一些錯誤修正以及強化功能(加快繪圖速度),大部分是與RIC螢幕繪圖功能有關,

筆者不是韌體專家(有看沒有懂),所以讀者請點擊參考Lugnet的文章

John Hansen先生也希望他的錯誤修正及功能強化可以獲得樂高公司的承認,納入樂高下一版官方NXT韌體,

如果玩家有興趣,可以下載這個非官方的新版NXT韌體,

The enhanced NXT firmware can be downloaded from
http://bricxcc.sourceforge.net/lms_arm_jch.zip

下載之後,解壓縮該檔案,將.a79的副檔名改為.rfw

再使用NXT-G或Bricxcc下載至NXT。

更新韌體後,在NXT BRICK的Setting-->Version可以發現FW已經更新為1.05版。

筆者原先儲存在NXT的所有程式都獲得保留,並且可以正常執行。

歡迎大家一起測試,並且向John Hansen先生回報使用狀況。



2007-03-16

NXT的藍芽功能

探奇教室蠻幸運的,第一次使用藍芽就可以連線成功。

在樂高中文論壇有一些人無法使用藍芽連線NXT。

筆者整理一些回覆,希望對大家有所幫助。

-------------------藍芽功能-------------------------

NXT內建的藍芽裝置可以有下列用途(我所知道的):

1. NXT-G軟體下載程式給NXT,管理NXT檔案,瞭解NXT狀態(電池,韌體版本,記憶體空間等)

2. 使用相關的應用程式,可以從手機,PDA,PC,MAC,Wii Remote 遙控NXT。

3. NXT之間可以使用藍芽互相傳輸程式,溝通聯絡。

4. 也有人把NXT當成遙控器,控制電腦或其他藍芽裝置。

其實藍芽就是一種通訊裝置,NXT當然可以與其他藍芽裝置互相通訊。

-------------------PC使用者------------------------


NXT的藍芽關係如下:

NXT-G (PC)<--> BT com <--> NXT Brick

如果你在PC及NXT的藍芽設定都找得到對方,

那就表示藍芽裝置OK, 但是NXT-G(NXT軟體)可能不知道藍芽的序列埠設定。

請先確認NXT電力充足,盡量將將NXT靠近PC的藍芽接收器。

執行NXT-G,在"NXT window"中,可以SCAN到NXT的存在嗎?

還是只有在connect時候失敗呢?如果只是connect失敗,你可以再多試幾次!

根據網上前輩指出,NXT 軟體只能適用WINDOWS XP SP2 內建的藍芽驅動程式,或是WIDCOMM驅動程式。 可以參考http://forum.erobot.com.tw/read.php?tid=47

------------------試試看Onbrick---------------------------

所以先使用Bricxcc或
Onbrick試試看藍芽連線功能。 (這兩個程式都是用樂高官網所提供的藍芽DLL)

首先請看看你的藍芽圖示裡面是否有NXT裝置:


再確認你的NXT裝置是否已經設定com port。
如果沒有設定com port,請到裝置分頁(上圖)移除NXT藍芽裝置,再重新新增藍芽裝置,XP應該會自動設定com port。


執行On Brick程式進行測試,需要手動更改Com port,(我的NXT設定在 COM 6),應該就可以連線,並且可以操作NXT。



如果OnBrick成功了,再重新試試NXT-G,或許就能連線。

--------------------Mac 使用者---------------------

如果你的電腦是是INTEL MAC,那麼NXT-G是無法使用藍芽的。

原因好像是Mac裡面的程式模擬器不支援藍芽。

或許可以試試這個,玩玩NXT藍芽,

NXTBrowser - a bluetooth file browser for the NXT
http://web.mac.com/carstenm/iWeb/Lego/NXT/F2F73940-D837-4038-9011-2968725A2872.html

使用藍芽連線,看看NXT內部的檔案。 它具有下面的功能:

*displays battery status, available memory and firmeware version
可以顯示電池壽命,可用記憶空間及韌體版本
*changeable brick name
更改NXT名稱
*upload multiple files to the NXT
上傳檔案到NXT
*download multiple files from the NXT
從NXT下載檔案
*run / stop programs
執行NXT程式
*play sound files
播放NXT音樂檔
*file filters
檔案管理


歡迎討論分享你的藍芽經驗,

筆者沒有Mac,也希望有MAC使用者能提供資訊,謝謝!



2007-03-14

WRO (World Robot Olympiad)大賽開始囉!

WRO國際奧林匹克機器人大賽已經開始進行了!


大家可以到WRO官方網站參觀準備!


今年的國際賽將在台北舉辦,身為地主國,主辦單位當然卯足全勁宣傳。


連官方網頁也做得很漂亮,還大篇幅地介紹台灣,真是用心良苦!


其實大家也要把握機會,看看各國選手的優勢及氣度,培養國際觀也是很重要的喔!


眼光不要只是侷限於台灣,別忘了,全世界還有六七十億人口呢!


從3-6月各縣市校際盃,8-9月全國選拔賽,到11月的國際賽(點選看賽程),大家一起加油!


2007-03-13

Hitechnic NXT Gyro (NXT 陀螺儀)

消息來源:The NXT STEP


Hitechnic公司最近一直在開發新的NXT感應器,除了先前介紹的電子羅盤(COMPASS)、彩色感應器(COLOR SENSOR)、加速度感應器(ACCELARATION SENSOR)。


在今年年中還會推出NXT Gyro,可以偵測單一軸向的角速度。


下面這個影片就是很棒的示範!


 



到底陀螺儀跟加速度感應器的差別在哪裡呢?可能需要由專家解答。


筆者根據The NEXT STEP的文章說明推論,加速度感測器適用於靜態感測。如果機器人正在運動,使用加速度感測器可能受到重力影響,於是加速度感測器就無法分辨「真正的加速度的變化」(因為重力加速度的關係)。


這應該就是飛機必須使用陀螺儀的原因吧?!


筆者不是很瞭解,只好先看影片過過癮。


如有錯誤,還請瞭解的人來信更正,謝謝!


2007-03-09

使用Wii 遙控器(Wii Remote)控制NXT機器人

筆者曾經在前文提到花錢買遊戲機不如買一套NXT,會更有價值,更有親子教育的功能。

但是隨著任天堂Wii的出現,讓人也想試一試獨特的動態遊戲,例如揮棒打網球,打高爾夫球。

(Wii還沒有在台灣正式上市,目前只在美日販售)

這些電動遊戲讓大家不再只是「坐」在螢幕前面,而是需要玩家的動作配合,當然也就適合全家老少一起玩樂。請自行參閱任天堂網站,瞭解相關資訊。

Wii能夠有特殊遊戲功能,全靠這台Wii remote(可以參考Wii科技新知文章),Wii遙控器具備藍芽功能及加速感應器(Acceleration sensor,原理可以參考科技新知文章),透過感應器可以偵測各種方向的加速度變化,包含:前後、上下、左右三個方向的傾斜。

有人就示範了這種控制,利用Wii遙控器控制NXT機器人(只要有藍芽,都可以連接通訊)

其實Hitechnic公司已經推出NXT專用的加速感應器,(也有RCX專用的感應器),這種加速感應器本來就是機器人瞭解自體平衡的最基本配備。NXT利用這個感應器也可以調整機器人的姿勢,維持機器人的平衡。

Hitechnic公司還有其他有趣的感應器,例如:彩色感應器,可以辨識不同的顏色。電子羅盤:可以辨識方位。

有了這些感應器,就可以有更多的應用,如果大家有興趣研究,探奇教室也預備辦理感應器的團購活動。




2007-03-06

LEGO MINDSTORMS NXT 軟體說明--MOTOR BLOCK

大家透過網路的搜尋,可以找到一堆NXT的說明文件。
在NXT-G的說明文件檔(HELP),也有很詳盡的說明。
探奇教室嘗試將Motor Block Help翻成中文,還請大家一起提供意見。
後續還要分享MOTOR BLOCK與MOVE BLOCK的不同(Lego Engineering 2.0文章),
以及筆者自己的MOTOR BLOCK程式設計錯誤經驗。

以下是HELP檔的部分翻譯:

馬達方塊

這個方塊可以精地控制馬達的速度。你可以猛然加速到設定的速度,也可以急遽減速至停止。如果取消Wait for Completion(等待完成)的選項,在馬達方塊啟動馬達的同時,你的程式將會移至下一個方塊繼續執行。





1. 方塊左上角的字母表示控制馬達的輸出端位置。


2. 這個圖示表示馬達正逆轉的方向。


3. 這個圖示標明馬達動力的大小。


4. 這個圖示標明馬達的動作期間,可設定的項目有:無限制(Unlimited)、角度(Degrees)、旋轉圈數(Rotations)以及時間(秒,Seconds)


5. 你也可以將資料線連接在這個方塊的資料集線器,這樣就能任意動態地改變這個方塊的各項參數。(請參閱下方更多關於資料集線器的說明)




1. 這個圖示表示方向特性為停止(STOP),這個設定可以讓指定的馬達停止轉動。


馬達方塊的參數設定


1. 選擇想要控制的馬達輸出端位置。


2. 選擇馬達正轉、反轉或停止。.


3. 你可以透過這個選項,正確地控制馬達的加速度。設定為Ramp Up,代表馬達會緩慢增加速度到設定的馬力值。設定為Ramp Down,表示馬達將緩慢減速到馬達的馬力值為零。設定為Constant,馬達會根據其他參數的設定,立即加速達到設定的馬力值,或者是快速應用定位煞車慣性停止使馬達停止運轉。


4. 這個滑及輸入欄位可以設定馬達馬力(0-100%


5. 勾選這個項目可以開啟馬力控制功能。這項功能會嘗試補償馬達運轉時所遭遇預期的阻力或滑動。最高可以增加馬力至100%,以維持馬達每秒具有相同的轉速。


6. 利用動作期間下拉式選單,可以設定馬達動作為不間斷(Unlimited),或是旋轉圈數(Rotations)、角度(Degrees)、一段時間(秒,Seconds)


7. 勾選Wait for completion(等待完成)選項,就必須等待馬達動作完成,程式才會繼續執行。若取消Wait for completion(等待完成)選項,當馬達正在動作時,程式就會繼續執行。舉例說明:若將一個聲音方塊接續在馬達方塊之後,當馬達動作時,聲音方塊也會同時播放聲音檔。


8. 當馬達完成動作後,可以有兩種選擇:”Brake(定位煞車)或是Coast(慣性停止)。如果你想讓馬達精確地停止在特定位置,並且(盡量)保持在這個位置,你可以設定為Brake(定位煞車);這時馬達會因為需要維持在固定位置,耗費額外的電池電力。如果緊跟著這個馬達方塊之後,使用了其他方塊控制相同的馬達,就可以使用Coast(慣性停止)選項。


9. 回饋欄位會計算你的馬達轉了多少角度或多少圈。按下重設鈕(Reset)可以將計算值歸零。(想要接收馬達回饋值,請確認馬達已經接線到指定的輸出端,並且與NXT建立連線)


備註: 當馬達正轉時,回饋值以黑色文字表示;馬達反轉時,回饋值以紅色文字表示。

---------------------------------------------------------------------------------------------------

其實在翻譯的當時,就想用自己的話寫出來,因為英文文字表達方式跟中文不同。

以前在高中時候的英文老師就說過,翻譯需要信雅達。

現在才知道是很困難的。

所以如果有一些不人性的地方,或稱做「英文式中文」,還請包涵!

2007-03-05

2007-03-03

NXT 元宵節燈籠 (Chinese lantern made by LEGO Mindstorms NXT)

元宵節到了!當然要用NXT做一台燈籠。
只想到要讓燈籠外殼旋轉,於是直接將馬達橫擺,
沒有想到可以使用齒輪組合,讓旋轉軸轉九十度輸出。
所以不容易將馬達橫放固定,只好拼拼湊湊,這是個未成熟作品,
但是為了應景,還是放上來展示,大家可以想一想如何加強結構。


馬達正反轉,配合紅綠燈輪流發亮



打開日光燈拍照,燈籠真醜




旋轉燈罩及紅綠燈泡,讓燈光閃爍。
將來還可以做成跑馬燈。


簡單連結Google Video,大家可以看看紅綠燈閃爍情景。
祝大家元宵節快樂!