符蓉 王向豐
[摘要]樂高機(jī)器人是一種把電機(jī)、傳感器、齒輪、輪軸等電子產(chǎn)品、機(jī)械產(chǎn)品組合成的智能設(shè)備,它是一種能夠用內(nèi)置程序或外部無線電操作的教娛玩具。目前樂高機(jī)器人以套裝的形式發(fā)售,過去樂高機(jī)器人出售過RCX套裝,目前開發(fā)的樂高機(jī)器人NXT套裝系列比RCX套裝系列多出一個端口。
[關(guān)鍵詞]樂高機(jī)器人 編程軟件 教學(xué)實踐
一、樂高NXT機(jī)器人的編程軟件教學(xué)和實踐的意義
如果說,機(jī)器人的硬件決定機(jī)器人能夠“做什么”,那么機(jī)器人的軟件程序決定它能“怎樣做”。優(yōu)秀的程序能夠給予機(jī)器人豐富的指令,讓機(jī)器人實現(xiàn)多樣化的功能。
樂高機(jī)器人目前可用C語言、VB語言、JAVA語言編程,讓樂高機(jī)器人完成各式各樣的操作命令,可是這類的語言過于專業(yè),如果不是專業(yè)的計算機(jī)工作人員,很難完成復(fù)雜的程序編輯。為了讓編程過程變得可視化和簡單化,樂高機(jī)器人以ROBOLAB圖形化為思路,開發(fā)出G語言,它能用簡單的方式完成動作循環(huán)、條件選擇等程序編程,這些編程過程均有一套批處理化的專門的圖標(biāo)負(fù)責(zé)完成,編程人員只需要將編程模塊組合并設(shè)定動作參數(shù)。豐富、簡單、易用的G語言賦予了樂高機(jī)器人強(qiáng)大的生命力,樂高機(jī)器人的使用者和開發(fā)者若能學(xué)習(xí)好G語言,就能讓樂器機(jī)器人發(fā)揮無窮的創(chuàng)意。
二、樂高NXT機(jī)器人的編程軟件教學(xué)和實踐的平臺
1.引導(dǎo)學(xué)生熟悉操作環(huán)境
所謂的操作環(huán)境,就是指要完成編程和實現(xiàn)編程必須具有的工作平臺,教師要引導(dǎo)學(xué)生了解到在開始編程以前,要先檢查編程的工作平臺是否齊備,以免在工作中發(fā)現(xiàn)無法順利的完成編程過程。一臺樂高NXT機(jī)器人的編程環(huán)境如下:
通過USB2.0,樂高NXT編程程序可與計算機(jī)PC端連接起來,程序員可在計算機(jī)中完成編程程序,然后導(dǎo)入樂高NXT機(jī)器人處理器中。
2.引導(dǎo)學(xué)生熟悉操作面板
學(xué)生要學(xué)會編程,首先就要熟悉操作面版,教師可以讓學(xué)生理解到樂高的編程軟件分為兩種版本,一種是玩具版本,一種是教育版本,其區(qū)別在于玩具版本只有英語版,而教育版自帶漢化版本,然而兩者的功能卻是一樣的。學(xué)生只有熟悉了面板的分布,在編程的時候才能知道軟件的功能應(yīng)當(dāng)如何使用。
(1)引導(dǎo)學(xué)生熟悉菜單分布 圖1為G語言菜單界面,教師可以引導(dǎo)學(xué)生觀察菜單界面分布的規(guī)律,讓學(xué)生以最快的速度了解如果自己需要操作一個功能時,要在菜單哪個范圍中尋找這項功能。
(2)引導(dǎo)學(xué)生熟悉編程模塊
G語言與非圖形化編程軟件的區(qū)別為,非圖形化編程軟件需要編程人員自己編寫每一條程序命令,使程序命令能夠完成批處理化操作。而G語言的每一個模塊都已自帶有批處理命令,編程人員使用G語言編程時,只用把模塊串聯(lián)起來,即完成編程過程。教師要引導(dǎo)學(xué)生熟悉編程模塊的使用方法,圖2為G語言的編程模塊與線程,兩者結(jié)合起來使用,能夠達(dá)到編程的目的。
(3)引導(dǎo)學(xué)生熟悉程序輸入與輸出
編寫G語言除了要做模塊設(shè)置以外,還要做參數(shù)設(shè)置,圖3為參數(shù)設(shè)置的面板,要做參數(shù)設(shè)置就要用數(shù)據(jù)線和數(shù)據(jù)中心的功能,當(dāng)學(xué)生做完模塊編程,設(shè)置好參數(shù)以后,即完成編程過程。教師要引導(dǎo)學(xué)生學(xué)生學(xué)會用數(shù)據(jù)線把數(shù)據(jù)中心連接起來,開始調(diào)試程序。學(xué)生熟悉了面板操作,是學(xué)會用G語言編程的基礎(chǔ)。
3.引導(dǎo)學(xué)生繪制程序流程圖
所謂的流程圖,是指用一套標(biāo)準(zhǔn)的圖形符號,說出一套算法。如果學(xué)生在編程的時候,先用流程圖整理自己算法,然后再用編程軟件實現(xiàn)自己的算法,這個程序就容易編得簡潔、有序、嚴(yán)謹(jǐn),一旦學(xué)生的程序出現(xiàn)問題,學(xué)生可以對應(yīng)著繪制的流程圖檢查編程中存在的問題。反之,如果學(xué)生不畫流程圖,一味只憑自己的感覺去編程,如果程序出現(xiàn)了問題,學(xué)生將很難找到到底是哪個編程環(huán)節(jié)出現(xiàn)問題,應(yīng)該從哪個環(huán)節(jié)著手開始調(diào)試等。不管學(xué)習(xí)任何哪一門程序,學(xué)生都要學(xué)會繪制流程圖,教師要引導(dǎo)學(xué)生重視繪制流程圖的思想,讓學(xué)生養(yǎng)成在編程以前先繪制流程圖的習(xí)慣,然后依照流程圖的算法開始編程。
三、樂高NXT機(jī)器人的編程軟件教學(xué)和實踐的方法
1.引導(dǎo)學(xué)生嘗試簡單的編程
教師引導(dǎo)學(xué)生學(xué)會G語言編程時,不應(yīng)一開始就讓學(xué)生編寫復(fù)雜的程序,而是應(yīng)該讓學(xué)生先編寫非常簡單的程序,這是為了讓學(xué)生熟悉G語言的操作。教師可以從以下的幾個編程步驟讓學(xué)生摸索G語言界面分布的規(guī)律,并且引導(dǎo)學(xué)生熟悉菜單、圖標(biāo)的操作:
第一步,引導(dǎo)學(xué)生熟悉運(yùn)動操作的方式,讓學(xué)生了解到如何讓樂高NXT機(jī)器人作前近、后退、旋轉(zhuǎn)、停止等運(yùn)動。
第二步,引導(dǎo)學(xué)生摸索設(shè)置傳感器的方法;
第三步,引導(dǎo)學(xué)生思考,如何能讓樂高機(jī)器人做連續(xù)的運(yùn)動或者做循環(huán)的運(yùn)動。
其中有一堂課,我引導(dǎo)學(xué)生編寫了一個讓樂高NXT轉(zhuǎn)彎的程序。學(xué)生初開始的時候,是以動作停止的方式作為緩?fù)?,可是學(xué)生在調(diào)試程序的時候發(fā)現(xiàn)有時樂高NXT走到特定的角度時,無法立即停止,而繼續(xù)向前緩沖,這說明該程序有時不能準(zhǔn)確的指揮機(jī)器人行動。學(xué)生又嘗試第二種方法,即動作結(jié)束以后即停止,可是它雖然能準(zhǔn)確停止,卻易出現(xiàn)卡死的問題,這也會造成程序的不準(zhǔn)確性。教師引導(dǎo)學(xué)生摸索一些簡單的程序,是為了讓學(xué)生在調(diào)試簡單程序的過程中了解編程的方法、熟悉樂高NXT機(jī)器人的性能,使自己的編程與指揮機(jī)器人完成動作能真正的結(jié)合起來。
經(jīng)過調(diào)試,學(xué)生的編程結(jié)果如圖4:
2.給學(xué)生一個綜合的學(xué)習(xí)目標(biāo)
學(xué)生了解了簡單的G語言編程原理,且能將編程與樂高NXT機(jī)器人的性能結(jié)合起來以后,教師可以給學(xué)生一些富有趣味性的任務(wù),讓學(xué)生嘗試完成一些動作較復(fù)雜的、富有變化性的程序,讓學(xué)生在編程的過程中能感受到樂高NXT機(jī)器人的強(qiáng)大性能。比如,教師可以給學(xué)生布置習(xí)題:
通過遙控器讓樂高NXT機(jī)器人自動行走,如果遇到某個抓取目標(biāo),則自動抓取目標(biāo),送往某個特定地點(diǎn)。
教師通過這個題,可以讓學(xué)生感受到操控樂高NXT機(jī)器人的趣味性,學(xué)生在編程的過程中能理解到這樣的機(jī)器人既可以成為一個教娛玩具,然而如果給予豐富的程序,它還可以完成自動拆彈、搬運(yùn)物體、搜救等功能,成為具有實用性能的機(jī)器設(shè)備。
3.讓學(xué)生交流彼此的編程成果
如果學(xué)生能與更多的同好一起編程,學(xué)生會感受到更多編程的樂趣。教師可以引導(dǎo)學(xué)生應(yīng)用信息技術(shù),讓學(xué)生把自己編寫的程序發(fā)布到論壇上、博客上,與同好共同交流、彼此促進(jìn),通過這種方式,學(xué)生的編程能力能持續(xù)進(jìn)步。
四、總結(jié)
樂高NXT機(jī)器人是一種既具教娛功能,又具實用功能的機(jī)器人,它具有廣闊的市場前景,要為這種機(jī)器人注入更多的活力,就需要樂高NXT機(jī)器人的使用者和開發(fā)者為它編寫各種程序。G語言是一種圖形化的編程軟件,教師要通過合理的教學(xué)和實踐普及這種語言程序,使樂高NXT機(jī)器人的功能變得更豐富,更能滿足人們的需求。
參考文獻(xiàn):
[1]谷子瑞.樂高NXT機(jī)器人無線技術(shù)設(shè)計[J].科協(xié)論壇,2010,(10).
[2]甘辰予,陳勁生.LEGO智能除冰機(jī)器人的設(shè)計[J].大眾科技,2009,(10).
[3]張明.樂高機(jī)器人轉(zhuǎn)彎問題的探討[J].中國現(xiàn)代教育裝備,2007,(05).