2010年9月12日 星期日

關於LEGO機器人的整理

目前重心都放在LEGO機器人身上,買了好幾本書回來閱讀,配合實際上機測試,覺得十分有趣,想說把這段時間學習所得整理下來,讓其他想玩LEGO機器人的同好可以省一些時間。







1. LEGO NXT販售版本
主要分為8547娛樂版與9797教育版,這兩個版本價格相差不多,功能上的差異在於

  • 8547沒有聲音感應器。

  • 8547有顏色感應器,9797只有光感應器(當然顏色感應器比較強)。

  • 9797配一顆鋰電池,8547沒有,須另購鋰電池,不然也可以使用六顆三號電池,不過NXT是個吃電傢伙,建議使用三號充電電池,不然電池可是很大的花費。

  • 8547有附NXT-G v2.0軟體,用來建構控制程式,9797沒有(不過我買的這位賣家,有附一套正版的NXT-G v2.0)。

  • 8547積木數量619 pcs,9797只有431 pcs。


  • 9797有附壹個積木整理盒,8547沒有。

  • 8547價格便宜一些。

  • 9797可以另外購買套件,補足8547內所缺的配件。



看起來8547似乎有價格優勢,積木數量也比較多,可以組出人形機器人等等,不過鋰電池與轉換線對於擁有RCX的我而言卻是不可或缺的,加上附了NTX-G v2.0軟體,還可以透過擴充套件補足8547的零件,所以我選的是9797。


2. 開發軟體
NXT一定要設計控制程式才覺得好玩,所以程式設計的軟體就便得非常重要,目前開發軟體套件主要有下列幾種







  • NXT-G v2.0,


        算是LEGO NXT官方軟體,8547套件已經內建。這是一套以圖形視覺化為主的設計語言與環境,藉由組合壹個個Block建構出控制程式。


        好處是容易上手,不需要程式語言基礎或程式設計概念就可以寫出壹個簡單的控制程式。


         缺點是撰寫複雜的控制程式,反而有點礙手礙腳,方塊一多,不但瀏覽變慢,也不容易找出問題所在。此外,NXT-G編譯出來的機器碼較大。


         建議書單:
                樂高機器人遊樂園篇:LEGO MINDSTORMS NXT組裝及圖形化程式


                NXT樂高機器人:創意樂趣,隨心所欲!

  • NXC(Not eXactly C) + BricxCC

        提供以C語言編程,對於熟悉C語言的玩家,是個很好的工具。透過BricxCC(Bricx Command Center)擁有整合開發環境,可在其環境內設計編譯與下載控制程式。不過BricxCC整合環境目前只有Windows版本,對於Mac使用者,NQC有整合BricxCC內的工具包(稱為Next tool)與一些Apple scripts讓Mac user不用在命令視窗中下指令來編譯。


        NXC的好處是功能強大,提供豐富的控制能力,而且編譯出來的機器碼較小。


        缺點是須具備 C語言編程基礎,有一堆的函式與常數須熟習,進入障礙較高。對於Mac使用者,由於缺少BricxCC整合環境,更需要多花一些時間搞定如何使用NXC(這一點我會找時間把它說明清楚)

        建議書單:機器人新視界 NXC&NXT

  • leJOS:
        提供以Java語言編程,配合Eclipse開發整合環境,提供了類似BricxCC的整合開發環境(以我使用Eclipse開發Android程式的經驗,Eclipse的功能應該比BricxCC還強,可有效增加編程效率)。

        leJOS的好處就是讓熟悉Java與Eclipse的玩家,可以用自己熟悉的工具很快進入LEGO領域,它的功能強大,有豐富的控制能力,而且還有Eclipse的debug環境。


        缺點是須具備Java語言基礎,如果不熟悉Eclipse,可能還要花時間學習整合開發環境(這絕對比NXT-G複雜),同時也需要熟悉NXT專用Java套件。


        建議書單:Java機器人程式設計與實作

  • Microsoft Robotics Developer Studio

        微軟出的樂高機器人程式開發環境,提供類似Visual Basic的開發環境,但是仍舊以NXT-G方塊組合方式來設計程式,目前最新版本是Microsoft Robotics Developer Studio 2008 R3,也改成免費下載方式提供(算是微軟造福LEGO迷的德政,鼓鼓掌)。


        由於我並沒有使用RDS的經驗,況且RDS只能在Windows下使用,對其優缺點不甚明白,有興趣的玩家可以到http://www.microsoft.com/robotics/觀看詳細資訊。


        建議書單
                Microsoft Robotics Studio 程式開發 - 新一代超智慧機器人開發平台


            Microsoft Robotics Developer Studio 實戰手冊 - 智慧型機器人程式模擬與開發


            趣味玩轉樂高機器人:使用Microsoft Robotics Developer Studio


  • RobotC

        也是個以 C語言來開發的工具,不過整合了整套開發環境,目前RobotC for LEGO MINDSTORMS已經出到2.25.1 BETA版,有興趣的人可到RobotC官方網站一探究竟。

  • LabView

        提到LEGO機器人,當然不能不提LabView,因為NXT-G就是從LabView簡化而來,透過LabView以Filter方塊結合為主的觀念,讓不具程式設計的人也能進行控制程序開發。透過LabView Toolkit for LEGO MINDSTORMS NXT套件,提供比NXT-G更豐富多元的功能,玩家也可以使用LabView來開發NXT控制程式了。有LabView的玩家可到此處閱覽詳細資訊。


        建議書單:LabView圖控程式與LEGO MINDSTORMS NXT


先這樣,以後陸續補上心得........
             

7 則留言:

  1. Re: 探奇自然科學教室 <2405741380832784073>
    感謝邱老師大駕光臨,也謝謝您賣的這套9797,目前快樂使用中。

    回覆刪除
  2. 看書看到累的話先吃個餅吧^___^

    請到小弟那邊留悄悄話聯絡^__^

    回覆刪除
  3. 『您賣的這套9797....』

    您可能誤會了!我只對學員販售樂高機器人。

    不過可以快樂使用就是很棒的事。

    歡迎討論及分享! ^_^

    回覆刪除
  4. Re: 探奇自然科學教室 <772552931585086270>
    抱歉,我誤會了,因為買的時候附了邱老師的書,加上賣家又在台南,所以一直以為是跟邱老師買的。

    謝謝您的熱心,由您的書啓蒙學習NXT程式設計,也從您的網站獲得不少新知,以後有不懂之處,還要像您請益,並希望您常來指教。

    回覆刪除
  5. 書是台南林老師的幫忙推銷。

    您太客氣了,很期待您的心得。

    屆時再發文介紹您的部落格。^_^

    回覆刪除
  6. Re: 探奇自然科學教室 <4177485807674867494>
    謝謝,希望您常來交流^^

    回覆刪除