SPIKE 樂高機器人

我的網頁

2013-08-28

2013 WRO 國小組 競賽程式設計 教學



今年WRO機器人競賽的校際盃比賽與全國初賽都已經告一段落,




探奇認為今年的國小組題目,許多老師及同學應該都會基本的作法,也就是:




辨識色瓶顏色,走到對應顏色區域,擊出色瓶。

每打一次色瓶,根據機器人的位置,找出移動的方法。

或是每打一次色瓶,移動到中間基準線(或第一條黑色線),再重複辨識打擊的動作…


邱老師是想破頭才想到這種平面電梯的處理方式,所以我想大部分的新手老師或新手同學需要接受訓練,

才能體會平面電梯的作法,所以探奇邱老師與大家分享這樣的程式設計。


還請有豐富經驗的老師教練及參賽選手多多指導。


以下是本文開始:
 

探奇曾經多次發文介紹國小組題目的相關資料,硬體設計已經有一些討論,現在就程式設計進行探討。


 


主要程式


 


首先需要清楚知道比賽時機器人的動作要求,根據2103 WRO 國小組比賽規則,機器人需要分段完成下列動作:


 


1.      機器人出發,到第一條黑線。


2.      根據色瓶顏色分別丟入相同顏色的對應區域


3.      推動紙筒罐子到指定區塊


4.      經過障礙區


5.      回到終點


 


依據上面的流程,我們可以寫出2013WROelem1程式,如下圖:


 



 


 


比賽場地的顏色區域為:第一區綠色,第二區藍色,第三區紅色。


 


設定三個顏色變數,名稱為Green, Blue, Red,將相對應的區域數目寫入變數中。


 


機器人出發到第一條黑線停止,接著進入判定色塊顏色的My Block 程式 – ColorKick




判斷色塊程式


 



 


上面是ColorKick程式圖,


 


先說明相關變數,Now表示機器人現在所在位置,


 


Key表示機器人需要前往的位置,也就是偵測的色瓶顏色區域。


 


流程如下:


 


1.      Now變數寫入1,因為機器人停在第一條黑線,也就是第一個顏色區域。


2.      根據顏色感應器偵測顏色值,將設定好的顏色變數值寫入變數Key


3.      依照「平面電梯」的遊戲方式,將Key-Now,得到結果Res


4.      Res有五種狀況,正數表示機器人向前,負數表示機器人後退,數字表示區域數。0就是不用移動。


5.      機器人到達指定區域後,驅動A馬達將色瓶擊出。


6.      變更現在的位置記錄,將Key數值寫入Now


7.      重複相同的判斷動作五次,跳出迴圈。結束My Block


 


接下來在主程式中關於推動紙筒罐子、通過障礙區,相信大家可以自行控制機器人前進轉彎。


 


後續程式改進


 


每次比賽除了基本規則外,還有所謂的驚喜規則,這是為了辨識大家的機器人設計程度,同時提高比賽難度,也增加參賽者的挑戰心,以及觀賽者的緊張氣氛,讓比賽增添許多樂趣。


 


一般的驚喜規則可能是在機器人行進的路程中放置障礙物,或是機器人必須將額外物品帶回終點。


 


今年國小組的驚喜規則有可能是改變顏色區域的順序,甚至增加色瓶的顏色種類。


 


針對顏色區域順序改變,我們只要修改主程式的前半段,就能因應。


 


下圖是2013 WROelem2程式


 



 


原本的顏色區域為固定,第一區綠色,第二區藍色,第三區紅色。現在先將所有顏色區域變數設為3


 


機器人到達第一條黑線後,需要轉彎推進,藉由另一顆顏色感應器偵測區域的顏色。將1寫入相對應的顏色區域變數。機器人退回第一條黑線


 


機器人前進到第二條黑線,重複上述相同動作,偵測第二區域的顏色。


 


機器人退回第二條黑線後,將機器人目前位置設定為2 ( Now = 2 )(圖中的程式未設定)


 


接著執行ColorKick程式,進行打擊色瓶動作。


 


比賽開始


 


以上是2013WRO國小組競賽的程式設計教學討論,只是最基本的程式。當大家了解之後,一起進行腦力激盪及思考實驗,還可以有更多的變化及改進。




競賽的準備過程是辛苦的,結果可能帶來歡樂或是失望,不論如何都是成為更進一步的動力。大家能夠盡力完成比賽挑戰,就是最棒的學習經驗。祝大家玩得快樂高興。




5 則留言:

  1. MACHINEBOY7:37 下午

    邱老師 : 可以跟你索取這些程式嗎 謝謝
    [版主回覆08/31/2013 19:46:34]

    很歡迎索取程式,請寄信給我,我才有你的email 地址。

    回覆刪除
  2. 邱老師您好~我也想跟您索取程式研究,對於公事包那個部份,還有好多需要學習,謝謝 我的e-mail是kay050966@yahoo.com.tw

    回覆刪除
    回覆
    1. 你好:

      檔案已經寄出,歡迎自我介紹,互相認識。
      也祝你應用成功!

      刪除
  3. 邱老師您好,是否有EV3的程式可以寄給我,謝謝
    a123111a@yahoo.com.tw

    回覆刪除
    回覆
    1. 你好:
      這是去年的東西,所以沒有EV3版程式,不過改寫應該很簡單。
      祝你成功!
      歡迎分享。

      刪除

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