樂高LEGO:兩台樂高機器人NXT 分工合作

這次要做的題目是2台樂高機器人NXT 分工合作,而且盡可能把感應器都裝在NXT上這樣在程式設計時就能互相運用做出多樣化的動作與目的。



第一台樂高NXT機器人是「履帶車輛」,前面安裝超音波感應器(UltraSonic Sensor)與光線感應器(Light Sensor),後面安裝爪子與顏色感應器(Color Sensor)。











第二台樂高NXT機器人是「機械手臂」,安裝超音波感應器(UltraSonic Sensor)負責偵測是否有物品需要抓取。

















測試步驟:

1. Android手機與第一台樂高機器人藍芽連結並啟動NXT程式(非必要性只是測試Android手機與樂高機器人的互動)

2.光線感應器先偵測珍珠板上黑色與白色的反射數值當作黑色軌跡路線的判斷標準

3.當第一台NXT在軌跡路線上(PID)運行時,如果超音波感應器遇到前方12公分內有物品時,車輛迴轉180度讓後方的爪子去抓取物品,抓取物品後車輛再迴轉180度繼續在軌跡路線上前進,此時顏色感應器啟動偵測路面上是否有顏色標示。

4.當顏色感應器偵測到特定顏色時開始執行「放置物品」的對應動作,並透過藍芽且向Android手機發送偵測到的顏色訊息。

綠色:「右轉」直行一段距離放在固定位置

藍色:不動作

紅色:不動作

黃色:不動作


5.當遇到「綠色」標示時第一台NXT會右轉後前進一段距離放置物品再回到黑色軌跡路線上,此時第二台NXT機器手臂的超音波感應器會偵測到有物品需要抓取,因此啟用抓取程式讓NXT機器手臂移動物品放置在另一側黑色軌跡路線上讓第一台NXT機器人抓取。



硬體與軟體:
硬體組裝:用樂高零件組裝結構性與強度足夠的「履帶車輛」與「機器手臂」。

軟體設計:按照測試流程來設計程式,第一台樂高NXT動作多程式比較複雜,第二台樂高機器手臂動作固定程式碼較少。

Lejos 是架構在 Java語言下因此程式結構與延伸完整,本次程式設計運用行為模式(Behavior)因此可以把軌跡車、超音波偵測、顏色偵測等各自撰寫獨立的Class測試,最後再定義各種動作(軌蹟車、超音波、顏色感應)的優先順序一起整合運用,擺除以往把3顆馬達、所有Sensor動作與變數檢查都寫在一起有時候都不知道是那個環節出錯( Debug花費時間比寫程式還多)

測試場地 DIY:膠帶與白色珍珠版、空的底片罐


YouTube影片


當初買這套樂高機器人是要給小孩子玩的,沒想到小孩的興趣是音樂.....所以只好自己玩了。
把照片、影片資料整理分享留個紀錄。
2015-05-01 12:09 發佈
真的很厲害!
本來也是想和小孩一起玩,可是小孩現在對一般的樂高比較有興趣,還有復仇者聯盟...
對一般樂高有興趣是進入點等小孩長大有機會可以試試有馬達的樂高....再來就是可以寫程式的樂高。

會動的樂高更有趣,而且樂高的組裝零件完全共用所以會越玩越大。

評分
複製連結