2010-11-02

讚!Scratch控制LEGO MINDSTORM NXT樂高機器人

是的,你沒看錯!的確是用Scratch控制NXT。

探奇發表舊文章Scratch 與 Arduino時,就已經決定還要另外寫文章介紹這位『神人』!

SABRE,Southern Alberta Robotics Enthusiasts,在加拿大的高手Clinton Blackmore。

起因是這篇文章:

Code Blocks, Electronic Bricks, and LEGO Beams

文中敘述使用一些BYOB方式建構Scratch的程式方塊,透過廣播系統傳遞變數,可以跟NXT『交談』(NXT要執行相對應的JAVA或 Python程式)。

這種方式跟探奇舊文章Scratch and LEGO NXT所做的很像,也就是
 
Scratch<-->Scratch connection廣播<-->JAVA程式<-->NXT

(探奇方法的是用Python程式取代上述的Java程式)

在這篇文章的最後面,SABRE提到要再進行關於JAVA的計畫,過了一陣子,終於有了雛形,

取名叫做Enchanting,不久也有了專屬網站:http://enchanting.robotclub.ab.ca

這個計畫跟leJOS有關,簡單的說就是讓Scratch自動產生Java程式,再傳到NXT執行。

(不要問我如何完成,我也很好奇到底是如何作的,難道也可以自動產生NXC,C++等程式?)

由於探奇沒有實際進行實驗,無法介紹這個系統如何運作,所以遲遲無法發文。

最近SABRE blog接連發出新文章,說明Enchanting已經有v0.0.3版發佈,還有示範影片,





探奇當然在第一時間告訴大家這個消息,同時探奇也想幫忙原作者進行測試。

雖然不是使用Scratch直接控制NXT樂高機器人,不過讓想法轉個彎,產生Java語言程式,再透過leJOS執行,也是非常厲害的事。

總之,能夠用Scratch控制NXT,就是高手中的高手,真是太棒了!





2 則留言:

  1. jimmynxtlab2:35 上午

    不知道邱老師Enchanting測的如何?
    之前我也打算測測看,不過想到還要安裝leJOS環境...還是等非常有空時再測測

    我的JNXT又有新版本出來了,可否請邱老師測試看看,在wubi上跑有沒有問題,謝謝

    [版主回覆12/07/2010 13:52:36]你好:

    Enchanting可以跟NXT連線,但是傳輸程式後,執行不正常。還沒有時間詳測。

    剛剛再測一次了您的新版JNXT,還是遇到兩個問題:

    1. 我沒有用WINE安裝SCRATCH,所以還不知道如何執行你的image檔。我想應該可以直接在windows下的Scratch執行。但是需要jnxtserver的windows執行檔。jnxtserver是用java寫的嗎?還請你轉到windows平台試試。

    2. 單獨執行./jnxtserver後,出現錯誤訊息,如下圖:



    我會找時間發文,將你的大作分享給大家,謝謝!

    回覆刪除
  2. jimmynxtlab5:16 下午








    感謝邱老師百忙中幫忙測試!!!

    1.關於單獨執行./jnxtserver後,出現錯誤訊息的原因是,因為沒有執行Scratch.exe載入JNXT .image,所以無法按綠旗執行範例中的host mesh指令積木,導致jnxtserver無法正確連結JNXT/Scratch

    2.可能的解決方法有3種
        a.先在Windows上執行Scratch.exe載入JNXT .image,然後jnxtserver一樣在你的wubi的ubuntu上執行
        b.否則就得安裝Wine,然後按照說明文件的步驟執行
        c.如果你的wubi的ubuntu上已安裝linux版的Scratch,也可以將JNXT .image複製到/usr/lib/scratch/目錄底下,不過這要動用管理者權限,所以比較不建議如此

    3.jnxtserver目前只能在ubuntu/linux執行,等到JNXT上的指令積木大致齊全後,找時間再來考慮是否出Windows版的

    回覆刪除

探奇歡迎大家留言討論!謝謝分享你的意見。