今年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國小組競賽的程式設計教學討論,只是最基本的程式。當大家了解之後,一起進行腦力激盪及思考實驗,還可以有更多的變化及改進。
競賽的準備過程是辛苦的,結果可能帶來歡樂或是失望,不論如何都是成為更進一步的動力。大家能夠盡力完成比賽挑戰,就是最棒的學習經驗。祝大家玩得快樂高興。
邱老師 : 可以跟你索取這些程式嗎 謝謝
回覆刪除[版主回覆08/31/2013 19:46:34]
很歡迎索取程式,請寄信給我,我才有你的email 地址。
邱老師您好~我也想跟您索取程式研究,對於公事包那個部份,還有好多需要學習,謝謝 我的e-mail是kay050966@yahoo.com.tw
回覆刪除你好:
刪除檔案已經寄出,歡迎自我介紹,互相認識。
也祝你應用成功!
邱老師您好,是否有EV3的程式可以寄給我,謝謝
回覆刪除a123111a@yahoo.com.tw
你好:
刪除這是去年的東西,所以沒有EV3版程式,不過改寫應該很簡單。
祝你成功!
歡迎分享。