LEGO SPIKE Prime Essential 樂高機器人,LEGO MINDSTORMS Robot Inventor, EV3 ,樂高動力機械 BricQ Motion 程小奔Codey Rocky,mBot2,CyberPi 童芯派 mBlock5 慧編程, Python 專業教學,課程設計。 Scratch, MakeBlock產品 艾多美 Atomy 生活用品 NXT 樂高機器人:創意樂趣,隨心所欲!
2008-06-29
LEGO NXT金庫密碼(Part 1)
在儲存NXT program程式時,選擇檔名就是一個痛苦的經驗。
大型電玩機台利用搖桿移動游標選字的方法是一個不錯的選擇,但是NXT需要另外裝置搖桿。
探奇也認為我們應該好好利用NXT的第五個感應器--內建於馬達的角度感應器。
剛好我們正在進行金庫密碼的遊戲計畫,就聯想到何不利用保險箱旋鈕的原理輸入數字呢?
讓NXT讀取馬達內建角度感應器的數值,經過計算處理之後就可以對應數字0~9的輸入。
相同原理也可以用在輸入英文文字喔!
(大家也可以想想開支票機或是日期印章的原理)
下面的影片是簡單的機台示範,將馬達固定在NXT旁,旋轉黑色的圓邊齒輪,螢幕就會顯示0~9的數字。
還可以判別順時針或逆時針旋轉方向喔!
『金庫密碼計畫』的下一步就是出題、判別、計分功能。
2008-06-26
NXT-G教學文章--迴圈LOOP的應用
迴圈的一般應用
這次要介紹的是迴圈命令(LOOP),當我們希望重複相同的動作時,就可以使用迴圈,
用法很簡單,只要把想重複的命令方塊拉到迴圈裡面,就完成了。
例如:想讓機器人不停地前進、後退,前進、後退,就可以將前進及後退的命令方塊拉到迴圈裡面,
如下圖:
在設定中選擇控制項:Forever (永遠)
這個程式永遠在迴圈之內執行,除非有人按下NXT的灰色EXIT鍵,或是將NXT斷電。
迴圈的其他應用
在一些特殊的狀況下,我們需要讓程式一直重複,直到一些條件成立為止,這時我們就可以利用迴圈的其他控制設定。
LOOP迴圈有下列五種設定,每一種的圖示也都不相同:
1. Forever :無條件設定,永久的循環執行。
2. Sensor:感應器設定,依照設定的感應器狀態為條件,跳離迴圈的執行。
3. Time:時間設定,以秒數為主,時間到了就會跳離迴圈的執行。
4. Count:執行固定的次數之後,跳離迴圈的執行。
5. Logic:邏輯值設定,根據邏輯值的狀態決定跳離迴圈的執行。
LOOP Sensor
感應器的設定可以選擇各種感應器,包含時間,NXT按鍵,藍牙訊息,以及其他特殊感應器(例如COMPASS,IR LINK)
下圖就是一個簡單的範例,機器人重複執行迴圈裡面的程式,如果壓下觸碰感應器(接在一號輸入埠),程式就會跳離迴圈。
所以在迴圈內,機器人執行程式的動作如下圖:
前進-->後退-->按下觸碰了嗎?-->還沒按下-->前進-->後退-->按下觸碰了嗎?-->按下了!-->跳離迴圈
迴圈的感應器設定如下圖,設定方式跟Wait for指令相似:
Loop Time
想要讓迴圈執行固定的時間,例如投籃機裡面的時間限制,我們就可以使用Time時間的控制。
只要輸入秒數就可以了,
Loop Count
我們也可以讓迴圈執行固定的次數,例如讓機器人連續來回三次,
只要在Count輸入3就會執行三次。
Loop Logic
邏輯值就好像下課的鐘聲,聽到鐘聲,機器人就跳離迴圈的執行。
下圖的範例中,我們設定傳生亂數的值在0-100之間,當亂數值在大於70時,就發出一個『真值』的訊號。這個真值訊號會告訴機器人跳離迴圈的執行。
Loop Logic的設定很簡單。可以設定為『真值True』或是『偽值False』跳離迴圈。
由於Loop Count只能事先在程式中輸入固定的迴圈次數,有些時候我們需要依照機器人的狀況,執行特定次數的動作,這時就可以利用Loop裡面的Counter,核取參數設定區的Show:Counter(打勾),在迴圈的前端就會跑出一個輸出接頭,這個輸出接頭提供迴圈的執行次數。再利用一個變數count_set,判別輸出接頭的迴圈執行次數是否跟count_set相同。如果相同就會送出『真值』,機器人就會跳離迴圈執行。
LOOP結論
迴圈是一定會用到的指令,也是許多小朋友的最愛,因為迴圈可以讓機器人重複執行相同的動作,所以這個指令擺在common Palette。
經過說明,你是不是對Loop有更進一步的認識了呢?
下課了!祝你成功喔!
2008-06-25
nxtOSEK有簡體中文網頁
終於有人翻譯簡體中文網頁,詳細介紹使用方式。
這是由中國的福建師範大學一位同學,Gong Han所翻譯完成。謝謝他的努力。
這樣就比較沒有語言的隔閡,大家可以試試nxtOSEK!
也可以對nxtOSEK有進一步的認識。
歡迎參考探奇舊文章:nxtOSEK
2008-06-23
NXT與人工智慧的研究
其實Christoph Bartneck教授也指導學生進行一系列Lego Beyond Toys 的研究。
成果除了類神經網路的應用外,
還有Johnny Q,一隻有學習功能的可愛NXT機器人(寵物?)
以及The Crawler,自主學習『如何向前進』的機器人。
網頁也有影片連結,大家可以下載觀賞。
A Lego Mindstorm robot learns how to move forward (QuickTime, WindowsMedia, MPEG4)
這些機器人是使用reinforcement learning algorithm (Q-learning)的方式進行學習,
對人工智慧有興趣的同好也可以在LAB的文章中學習JAVA程式寫法。
(請點擊Q-Learning for LeJOS, Java for Lego Mindstorm)
--------------------------------------------------------------------------------------
2008三月在荷蘭的阿姆斯特丹舉行Third International Conference on HumanRobot Interaction (HRI 2008)也有一些使用NXT或樂高的機器人。
Phobot就是Human-Robot Interaction 2008 Student Design Competition的得獎作品!
(請點擊連結,瞭解Phobot的組裝及動作)
也有許多Phobot影片可以觀賞,(點擊影片連結)
---------------------------------------------------------------------
利用樂高NXT機器人進行人工智慧的研究,容易上手的組裝方式,讓NXT成為各大學研究機構最佳的模型製作套件。
我們也可以利用NXT完成許多事喔!
愛好使用JAVA操控NXT的好消息--JAB新文章
1. 新版的Develop leJOS programs Step by Step,2008 五月修訂。
(點擊參考探奇舊文章)
2. 使用ASUS EeePC,安裝Ubuntu及LeJOS。也有詳細的電子書Asus Eee PC, Ubuntu & Java 可以下載。
3. 使用Lattebox NXTe讓NXT控制DC馬達和RC伺服馬達。
可以先看看電子書的介紹RC Servos with leJOS
再看看這篇文章:
RC Servos and DC Motors managed by Lattebox NXTe and leJOS
LAB也選擇了一些適合改造為NXT控制的遙控車種:
Suitable RC Cars for NXT Technology
使用另外一台NXT透過藍牙遙控:
RC Cars' Controller with LeJOS
先裝在TAMIYA的LunchBox上試試看:
Develop a basic brain for Tamiya LunchBox with leJOS and NXT Brick
然後就可以直接安奘 NXT在RC車的底盤:
leJOS Project: RC Car managed by leJOS
(終於一系列地整理完畢! 希望大家看得愉快!)
2008-06-22
NXT三軸機器手
這隻三軸機器手是Ramin在youtube發佈的影片。
使用三個HiTechnic的Gyro Sensor裝在手套上,控制NXT三顆馬達,模擬手臂及手指動作。
控制程式為C語言(RobotC),可以在作者的網頁直接下載,請點擊程式連結。
將三個GYRO的讀值轉變成NXT馬達的角度,其中還用到了數值分析的方法Runge-Kutta method。
(喔!讓我想起線性代數......傅利葉,尤拉,還有那本可以當枕頭的公式手冊!)
可惜我只有一顆GYRO,哪天再買個兩顆,看看是否也能將洗衣服的手套當成虛擬手套!
(在youtube的影片還有一些註解,部落格的嵌入方式無法顯現,你可以點擊影片直接連結youtube觀看有註解的影片)
動作時NXT有一些延遲,這是可以預期的,因為需要一些計算及馬達運轉時間。
2008-06-19
FIRST Tech Challenge (FTC)全新競賽平台
FTC比賽資格是以9年級到12年級的學生為主,所以使用的比賽套件當然比NXT來的複雜。
探奇認為這個FTC新的比賽平台套件正適合高中以上的學員使用。
目前關於這個新套件的消息還很少,大家可以到http://www.firsttechchallenge.blogspot.com瞭解相關消息。
也可以到這個隊伍的網站看看FTC套件的照片。
這個套件有完整的NXT組,總共有11顆馬達(4顆 DC motor,4顆servo馬達,3顆NXT馬達)10顆感應器,還附有NXT-G,LabVIEW,RobotC等軟體。
這麼多零件,註冊參賽只要$900,真是超值。(不知道台灣有進口嗎?)
總之,樂高NXT的套件應用可以不斷向上延伸喔!
2008-06-18
mindsensors的Vision Subsystem for NXT (NXTCam v2)
mindsensors公司發行新版的NXTCam,(舊版NXTCam介紹請點擊參考探奇舊文章)
名稱為Vision Subsystem for NXT (NXTCam v2)
圖片來源:www.mindsensors.com
外觀上精緻許多,使用十字孔,可以配合十字軸裝在樂高積木上。
在mindsensors官網也提供相關的新版說明書及新的NXT-G Block下載。
(不知道舊版NXTCam是否可以適用?)
定價為美金129.75元,較舊版貴了30元(是因為美元貶值嗎?)
新版是否也隨著價格調整增加新的功能呢?目前國外論壇還未有人討論,還請有經驗的同好提供資訊。
很高興mindsensors也開始重視外觀,不只是美觀的問題,還包含可以保護裸露電路板,避免灰塵沾染。
新版說明書也說到:
Supports Auto Detecting Parallel Architecture (ADPA) for NXT sensor bus.
This means that NXTCam can coexist with LEGO or third party digital sensor on
the same NXT port. ADPA support enables user to employ several sensors on
the same port without the need of external sensor multiplexer, reducing the
overall size without compromising the functionality.
是不是使用I2C才有Auto Detecting Parallel Architecture (ADPA)功能呢?那麼接線如何連接呢?
看來只要是數位型感應器就可以很輕易地擴充。也不用受限於NXT僅有的四個輸入埠了。
有了這些有趣的感應器及相關零附件,樂高的NXT機器人功能會更強大喔!誰說樂高機器人只是玩具!
2008-06-17
NXT新書 LabVIEW for MINDSTORMS
一本新書,LabVIEW for MINDSTORMS即將出版。
(作者Michael Gasperi,也就是Extreme NXT的作者)
該書有一些機器人建構計畫,針對LabVIEW NXT tool kit的使用做了詳細的說明,也包含了Data Files, Bluetooth, and I2C communications等進階用法。
這本書還附贈光碟,有LabVIEW8.5試用版,全書的範例程式。
詳情請鎖定National Technology & Science Press or NTS Press
NXT新的動畫電影
目前樂高官網--MINDSTORMS Movies又有新的NXT動畫短片。
除了踢足球的NXT Football,
還有與蒼蠅大戰的Fighting NXT,
大跳機械舞的Dancing NXT(AlphaRex不就是機器人嗎?)。
看完之後可以激發更多NXT機器人的組裝靈感喔!
2008-06-16
NXT圖片編輯程式--nxtRICedit使用說明
你可以在nxtasy.org下載nxtRICedit。
執行nxtRICedit,會出現下面的視窗 我們可以使用各種工具按鈕,在繪圖區畫出你要的圖案,在『預視區』會顯示實際看到的圖片。
我們在這裡進行輸入中文字的示範,其他工具可以讓大家自行玩一玩。 點選『文字工具』按鈕,出現『Add Text』視窗, 只要選擇字體大小及字型,直接在『文字輸入區』鍵入中文字。
按下『OK』後,移動滑鼠,就可以在繪圖區看到剛才鍵入的中文字。
選定顯示位置後,點擊滑鼠左鍵定位。 如果對於位置不滿意,也可以利用工具按鈕的紅色箭頭,直接移動整個畫面。
四個紅色箭頭中間的就是『UNDO』按鈕,不滿意也可以重來。
當中文字太大或是使用一些不同的字型的時候,你會發現在繪圖區的文字有陰影(不同色塊),
可惜的是目前NXT的LCD螢幕只有黑白兩色,沒有灰階顯示能力。
所以顯示的文字可能會有缺陷,字體會缺少一些點。
沒有關係,我們可以用人工補點,這個時候請使用『單點工具』 按滑鼠左鍵就是補點(黑色),按滑鼠右鍵就是消點(白色)
隨便修補一下,就可以選擇『存檔按鈕』進行存檔工作。
前文有提過,這個nxtRICedit會搜尋你的NXT-G工作路徑,我們可以更改存檔檔名,我們的範例使用的是『Welcome_me.ric』,接著 就按下『Save』存檔。
你也可以直接將你製作的RIC檔案放到NXT-G的目錄中。
C:\Program Files\LEGO Software\LEGO MINDSTORMS Edu NXT\engine\pictures
『ric』的副檔名就是r+ic (Picture)的意思。
使用NXT-G就可以在Display Block的設定中找到『Welcome_me』
直接在NXT執行,顯示畫面如下圖
(拍照技術不佳,很模糊! NXT的英文字補點技術也不好,需要多加練習!)
恭喜喔!你也可以自行在NXT上顯示含有中文字形的圖片了!
2008-06-12
恭喜苗栗福星國小得到「WRO國際奧林匹克機器人大賽」竹苗區校際盃冠軍
苗栗的福星國小成績優異,真是恭喜!
大家可以參閱相關報導,頭份竹南新聞網部落格
也可以到苗栗福星國小的創造力資優教育方案的網頁看看他們平日訓練的成果。
創意賽的作品,『資源販賣機』也很有巧思!打敗其他國中高中大專的作品榮獲第二名。
大家繼續加油喔!
「WRO國際奧林匹克機器人大賽」竹苗區校際盃選拔賽成績公佈網頁連結。
AlphaRex環球之旅--台灣台北
(上一站是日本,請參考探奇舊文章)
奇岩的蔡老師帶著AlphaRex到台北近郊與蝴蝶合影,也到台北醫學大學、淡水、故宮,還去看龍舟比賽。
大家可以到官網看看照片跟介紹。樂高官網--環球之旅台灣連結。
另外一台AlphaRex正在亞特蘭大喝可口可樂,在CNN報新聞。
你也可以去看看。樂高官網--亞特蘭大2連結。
High Altitude LEGO Extravaganza(H.A.L.E.)追蹤報導
(請參閱探奇舊文章:漫步於天空頂端的NXT--High Altitude LEGO Extravaganza(H.A.L.E.))
包含我們台灣的奇岩智略,蔡宇振老師也準備一台NXT機器人,讓機器人捕捉高空的粒子。
能夠代表台灣參加這個計畫,真是台灣之光喔!
各個酬載的實驗計畫已經公布在HALE官網,大家可以仔細看看他們有趣的計畫!
根據Eric Wang教授的說明,在接近大氣層邊緣的高空,因為空氣粒子極少,所以NXT機器人所發出的熱,不會受到熱傳導與熱對流的影響,只有熱輻射。
看來在高空或太空的實驗所考慮的環境因素,與地球上是截然不同的喔!
加油!祝你們成功!
2008-06-11
reinforcement learning (Q Learning)人工智慧
Christoph Bartneck
http://cognitrn.psych.indiana.edu/cogscisoftware/Robotics/#learning
提到Q Learning with JAVA (RCX)
JAB的計畫
http://www.juanantonio.info/jab_cms.php?id=216
SEE SAW的計算
http://www.philohome.com/seesaw/seesaw.htm
改良版
http://www.restena.lu/convict/Jeunes/Seesaw.htm
NXT機器人與GPS的應用--Robo-Magellan比賽
(2008/6/7在芝加哥的 Moraine Valley Community College)
這個比賽是Seattle Robotics Society(SRS)歷年舉辦的Robothon競賽項目之一。(可惜2008年停辦)
比賽規則就是讓機器人自動使用GPS定位導航及避障功能,從出發點,到達1000英尺(直線距離約254公尺)以外的終點。中間還有加分區,機器人也可以繞到加分區取得更多分數。
由於校園有許多草地、樹叢及建築物,機器人必須自行克服地形困難,穿過各種障礙,才能到達指定目標。
這種戶外型的機器人競賽有更多的樂趣喔!
Steve Hassenplug的網頁有整個比賽的相關報導及影片,同時也說明了機器人的運作方式,更有製作機器人的日記,大家也可以從中瞭解一台機器人的設計測試過程。
很巧的是前六名中有五台是使用LEGO NXT的機器人。
雖然可能使用NXT名參賽的人也蠻多的,但是探奇也認為樂高機器人的能力不會輸給其他的機器人,加上容易組裝上手的特色,也很適合做出高級進階的應用。
第一名的Green Monster(當然是Steve的傑作),使用三顆馬達,GPS,HiTechnic的Compass Sensor,加上 Exo-force Mobile Devastator (set #8108)的綠色大輪胎。
使用RobotC程式設計,自動啟動藍牙連結GPS,並且讀取GPS的資料。
對GPS以及ROBOTC有興趣的人可以參考下面的連結:
http://nxtasy.org/?cat=-18&s=GPS
或是http://nxtasy.org/2007/09/16/gps-with-robotc/
2008-06-10
NXT機器人像蚊香的旋轉移動方法
(或許這又是老師的作業,但是這位同學自己有先用心寫出了程式,況且題目也蠻有趣的,所以可以在這裡做一個討論)
在NXT-G的MOVE指令提供簡單的轉彎方法,
大家只要拉著箭頭彎曲,就可以控制機器人轉彎。
但是大家應該還是要學習如何直接控制機器人轉彎的方法。
最簡單的學習方法是就是用手抓住機器人兩邊的輪子,自己體會輪胎轉動快慢與機器人轉彎的關係。
想讓機器人轉彎就是讓兩邊輪子的馬力不相同,所以調整兩邊輪子的馬力,就可以轉彎。
至於像蚊香的方式就是兩邊輪子的馬力差別漸漸改變,
看看圓弧的彎曲程度,
轉彎時,轉愈小的圈圈,兩邊輪子馬力差別要比較大(彎曲大)。(例如B轉得快100,C轉得慢0)
轉愈大的圈圈,兩邊輪子馬力差別要比較小(彎曲小)。(例如B轉得比較快100,C轉得比較慢90)
兩邊馬達的馬力沒有差別就是走直線(理論上)。
探奇寫了這個RobotC的程式如下,請大家參考。
task main()
{
int b=0;
int c=60;
for ( b=0; b<50; b++)
{
motor[motorB] = b;
motor[motorC] = c;
wait1Msec(200);
}
}
這只是一個例子,想寫出類似的功能還有許多方式,這些參數也都可以調整,會有許多不同的結果!
大家也可以試試用NXT-G或是NXC等其他程式語言完成喔!
2008-06-05
Clap Back--NXT聽音學習機器人
NXT可以記錄學習你的節奏,並且重複表現出來。
Domabotics的Damien Kee也做了一台敲擊塑膠桶的機器人Clap Back,
同時還公布了NXC程式,(原本程式有一些問題,我已經在The NXT STEP留言,立即得到回覆更正)
探奇教室會試著做一台,應該是非常有趣的挑戰。
先看看影片:
2008-06-04
NXT-G教學--NXT摩斯電碼電報機的挑戰
所以大概寫了一些程式,還請大家指教!
硬體設備都是一樣,觸碰感應器接在一號,光源感應器接在三號。
發出訊號可以使用觸碰感應器,也可以使用NXT的橘色按鍵。
聲音與燈光會同步反應,壓多久就叫(亮)多久。
A. 這是以多工方式分別監測觸碰及橘色按鍵。
B. 這是最傳統的方法,兩個SWITCH判別觸碰及橘色按鍵,按鍵組合的判別方式。
C. 使用邏輯運算,可以使用一個SWITCH做出按鍵組合判別。這個程式的架構就是Bridan先生公布的NXC程式。
D. 改良我的舊程式(參考探奇舊文章NXT-G教學--等待指令之觸碰感應器)
將原本等待指令擴充為按鍵組合的等待,注意第二個等待迴圈是使用AND運算,這部分的邏輯值可以由兩個SWITCH程式(B)得出真值表。
所有程式經過簡單測試,應該可以符合Bridan先生原NXC程式的功能。
順便看看程式大小,由這些程式得知不同的程式結構會有不同的程式大小。
程式編號,rbt大小,rxe大小
A, rbt 1097KB, rxe 3.9 KB
B, rbt 616KB, rxe 3.2 KB
C, rbt 454KB, rxe 2.9 KB
D, rbt 711KB, rxe 3.3 KB
可見用最少的命令方塊,可以節省記憶空間,但也需要仔細想一想程式的運作。
歡迎討論!謝謝!
樂高動力機械及機器人課程開課地點
歡迎大家聯絡查詢,謝謝!
1. 中正大學清江終身學習中心。http://lll.adm.ccu.edu.tw/
621嘉義縣民雄鄉三興村7鄰大學路一段168號
電話 : 05-2722030 傳真 : 05-2722027 Email :adultedu@ccu.edu.tw
2. 果凍魚啟發創意空間
嘉義市市宅街24-1號 05-2221335
3. 中興文教事業機構--學習智能中心
嘉義市民權路479號 05-3108788
4. 聖彼得幼稚園
嘉義市康樂街47號 05-2272653
2008-06-03
NXT-G教學--等待指令之觸碰感應器
機器人會接收各種感應器的訊號,再依據感應器的狀態進行下一步動作。
所以常常需要『等待』各種狀況。
Wait Block就是這種指令,等待對象可以是各種感應器或是時間,我們可以在『一般命令面版』直接選取各種等待指令。也可以隨時更改感應器種類。
下圖:Wait for Touch Sensor Block設定,除了輸入埠的設定外,還可以選擇感應器的三種狀態。
Pressed:當觸碰感應器壓下時。
Released:當放開觸碰感應器時。
Bumped:當壓下觸碰感應器又放開時。
剛好研發養成所舉辦線上機器人比賽,題目是NXT模擬摩斯電碼發報機,探奇利用等待指令寫出下列程式。
下圖:發出聲音的設定,頻率880Hz恰好是中音的La(A),記得勾選連續重複發聲(Repeat)
大家也可以利用這個程式寫出View-->Touch的功能,
當觸碰感應器壓下時,NXT的LCD顯示『1』,
當放開觸碰感應器時,NXT的LCD顯示『0』。
歡迎討論!
2008-06-02
漫步於天空頂端的NXT--High Altitude LEGO Extravaganza(H.A.L.E.)
美國內華達州立大學預定於7/28-8/2施放一個高空氣象觀測氣球,
氣球內會放置15具由NXT或RCX操控的裝置,包含高空飛行攝影,以及各種有趣的實驗器具。
氣球飛行的計畫高度是距離地面27~33公里,已經是大氣層的邊緣,預定在30公里處折返地面。
大家可以先到High Altitude LEGO Extravaganza看看介紹。
-----------------------------------------------------------------------------------
探奇奇想:
這麼高的地方,NXT可以耐得住溫度的劇烈變化嗎?不過NXT機器人是不怕缺氧的!
對了!Eric Wang 博士正好是內華達州立大學(UNR, University of Nevada, Reno)的教授,
怪不得可以支援這麼多NXT,RCX進行實驗。我想這應該是目前NXT所達到的最高高度吧!
先看看以前的實驗影片: