李昊
山東省淄博第四中學(xué)2015級(jí)08班
WER機(jī)器人及應(yīng)用技巧
李昊
山東省淄博第四中學(xué)2015級(jí)08班
“世界教育機(jī)器人大賽·WER工程創(chuàng)新賽”是一個(gè)針對(duì)全球中小學(xué)生的一項(xiàng)機(jī)器人比賽項(xiàng)目,這個(gè)比賽是要求選手自己設(shè)計(jì)機(jī)器人并且進(jìn)行編程去完成任務(wù),本項(xiàng)目的機(jī)器人可以是多種多樣的,但大部分都是以雙輪驅(qū)動(dòng)的五灰度、七灰度小車,而且這項(xiàng)比賽每一年都會(huì)有一個(gè)不同的主題,又會(huì)有相應(yīng)的任務(wù),今年的主題是“工業(yè)時(shí)代”,雖然說(shuō)每年的主題不同,但是只要掌握了基本要領(lǐng),完成起來(lái)還是相對(duì)容易的。
在我看來(lái),這個(gè)比賽的創(chuàng)新點(diǎn)在于它不像是其他的機(jī)器人比賽有規(guī)定樣式的機(jī)器人,選手們可以自由搭建。WER機(jī)器人場(chǎng)地分為兩層,為白底黑線,一共兩輪比賽,每輪比賽有三分鐘的時(shí)間,并且不同的任務(wù)又有不同的分值,所以在大量的任務(wù)面前,有恰當(dāng)?shù)牟呗允鞘种匾摹?/p>
通過(guò)不斷地練習(xí),我也總結(jié)出了許多解決問(wèn)題的方法與技巧,下面我從不同的方面進(jìn)行介紹。
WER機(jī)器人的零部件類似于樂(lè)高積木,所以搭建起來(lái)十分容易,并且易于拆裝。但搭建的關(guān)鍵是要適應(yīng)每一個(gè)任務(wù)的要求,通過(guò)平時(shí)的不斷訓(xùn)練也會(huì)不斷總結(jié)出更適宜每一個(gè)任務(wù)的搭建方式,但在搭建時(shí)也有許多細(xì)節(jié)需要考慮,比如底盤太低可能在不平整的場(chǎng)地上減緩速度或影響轉(zhuǎn)彎。某些結(jié)構(gòu)看似完美,但可能會(huì)阻礙舵機(jī)的轉(zhuǎn)動(dòng),后果嚴(yán)重還可能損壞舵機(jī)。繞線要選擇合適的方位,不然可能會(huì)阻礙運(yùn)動(dòng)或占用大量空間影響搭建。搭建時(shí)不要只注意解決當(dāng)下的問(wèn)題,而求得了質(zhì)量卻失掉了速度,要注意任務(wù)完成的效率,就應(yīng)該盡可能的將多個(gè)任務(wù)的部件結(jié)合在一起,保證各部件相互協(xié)調(diào),互不影響,一次出發(fā)完成多項(xiàng)任務(wù),做到這一點(diǎn),才能得到更高的分?jǐn)?shù)。
WER機(jī)器人的程序相對(duì)簡(jiǎn)單,但又有其局限性,WER機(jī)器人的程序編寫是在“VCJ”圖形化編程軟件中進(jìn)行的,圖形化編程的優(yōu)點(diǎn)是簡(jiǎn)便,容易上手,便于初學(xué)者的學(xué)習(xí)和使用,而它卻沒(méi)有代碼程序那樣靈活。在此之前我曾參加過(guò)另一個(gè)機(jī)器人比賽,那個(gè)項(xiàng)目的機(jī)器人程序?yàn)榇a程序,是C++語(yǔ)言,再加上我對(duì)于C++掌握比較熟練,所以在某些任務(wù)可以自己編寫函數(shù)再導(dǎo)入主函數(shù),實(shí)現(xiàn)起來(lái)較為方便,而圖形化編程則不能這樣實(shí)現(xiàn),只能通過(guò)其內(nèi)部自帶的函數(shù)和功能來(lái)相互結(jié)合來(lái)實(shí)現(xiàn)。
在這里我介紹一下WER機(jī)器人編程的一些基本工具。首先在每一個(gè)主程序下必須有初始化,不然機(jī)器人就不會(huì)按照指令運(yùn)動(dòng)。每個(gè)機(jī)器人必備的一個(gè)程序就是環(huán)境采集,每當(dāng)機(jī)器人進(jìn)入一個(gè)新的環(huán)境中時(shí),就要先啟動(dòng)環(huán)境采集程序?qū)Νh(huán)境進(jìn)行采集,環(huán)境采集對(duì)于機(jī)器人的巡線具有重要的作用。剛開(kāi)始練習(xí)時(shí),我就犯過(guò)因?yàn)橥浽诃h(huán)境采集前加初始化,導(dǎo)致機(jī)器人在環(huán)境采集后仍不能巡線的低級(jí)錯(cuò)誤。在本項(xiàng)目中用到的基本是巡線模塊中的程序和電機(jī)與舵機(jī)的轉(zhuǎn)動(dòng)程序。路口巡線是最常用的巡線工具,它的作用是檢測(cè)路口,所以通過(guò)路口巡線來(lái)找到路口,之后再執(zhí)行其他操作。但路口巡線只能檢測(cè)出粗線,而細(xì)線的灰度值較小,不易測(cè)到,所以這時(shí)就要用到高級(jí)巡線。高級(jí)巡線是讓某個(gè)傳感器測(cè)到某值或某范圍內(nèi)值時(shí),機(jī)器人再執(zhí)行之后的操作,所以可以先用灰度傳感器測(cè)量細(xì)線的灰度值,然后再設(shè)計(jì)程序?qū)ふ壹?xì)線。但由于細(xì)線的灰度值較小,所以自帶的轉(zhuǎn)彎程序也不能使用,這時(shí)可以借助啟動(dòng)馬達(dá)用延時(shí)讓中心灰度離開(kāi)當(dāng)前的線,然后再讓其尋找細(xì)線即可。此外,啟動(dòng)馬達(dá)還可以利用合理的延時(shí),使機(jī)器人通過(guò)捷徑去完成任務(wù),即不巡線完成任務(wù),但是這里我不推薦這種方法,因?yàn)檫@種方法要求準(zhǔn)確度較高,還與機(jī)器人的電量有關(guān),但是利用這種方法讓機(jī)器人完成任務(wù)后返回起點(diǎn)還是較為方便的。最后一個(gè)常用的巡線工具就是按時(shí)巡線,顧名思義,按時(shí)巡線就是按規(guī)定的時(shí)間巡線,它常用于完成任務(wù)時(shí),為了使機(jī)器人與任務(wù)平臺(tái)對(duì)準(zhǔn),而采用低速按時(shí)巡線來(lái)調(diào)整車頭。
除了巡線之外,最重要的就是舵機(jī)與電機(jī)了,大多數(shù)任務(wù)都要靠它們來(lái)完成。多級(jí)的轉(zhuǎn)動(dòng)角度是-150°—150°,在設(shè)計(jì)程序時(shí)首先要對(duì)舵機(jī)進(jìn)行初始化,即選擇舵機(jī)端口與舵機(jī)的初始角度,在調(diào)整角度時(shí),應(yīng)先利用機(jī)器人主機(jī)來(lái)確定角度,避免導(dǎo)入程序后機(jī)器人的其余部件影響舵機(jī)的轉(zhuǎn)動(dòng),損壞舵機(jī),同時(shí)這樣也可以提高精準(zhǔn)度,若是舵機(jī)還沒(méi)運(yùn)行到指定位置就停止,那就可能是延時(shí)時(shí)間過(guò)短,可以適當(dāng)增加延時(shí)。電機(jī)的操作是比較容易的,這里就不多說(shuō)了。
由于任務(wù)繁多,機(jī)器人只允許30cm的長(zhǎng)寬高的大小,所以一定要好好利用空間,或者是在機(jī)器人離開(kāi)出發(fā)點(diǎn)時(shí)利用舵機(jī)將機(jī)器人展開(kāi)。主機(jī)的安放也十分重要。安裝手冊(cè)上主機(jī)是縱向防止,但這樣會(huì)浪費(fèi)空間,所以可以將主機(jī)緊貼貼車尾橫向放置,來(lái)提高空間利用率。在比賽前一定要將機(jī)器人的輪子擦干凈,不然會(huì)在上坡時(shí)打滑。在任務(wù)的完成中合理利用物理知識(shí)也是十分重要的,比如有許多項(xiàng)目可以利用慣性來(lái)完成,但是由于機(jī)器人速度大而帶來(lái)的慣性也是需要解決的一個(gè)重要問(wèn)題,還有許多任務(wù)可以借助萬(wàn)向輪的重力作用來(lái)完成。在設(shè)計(jì)程序時(shí)也有許多技巧,比如機(jī)器人不能按照轉(zhuǎn)彎程序來(lái)轉(zhuǎn)彎時(shí),可以考慮讓機(jī)器人沖過(guò)路口零點(diǎn)幾秒然后再執(zhí)行轉(zhuǎn)彎。機(jī)器人的舵機(jī)能夠初始化,而電機(jī)卻不能,我們可以在機(jī)器人出發(fā)前看好任務(wù)的旋轉(zhuǎn)把手的方向,然后手動(dòng)調(diào)整電機(jī)與其垂直,便于對(duì)接轉(zhuǎn)動(dòng)。機(jī)器人電機(jī)與舵機(jī)的速度與合理的延時(shí)也十分重要,不同的任務(wù)和路線都有最適的速度與延時(shí),在不斷地練習(xí)中可以慢慢發(fā)現(xiàn)最適的值。
WER機(jī)器人中的技巧有太多太多,在這里是不能一一介紹的,當(dāng)然每一個(gè)任務(wù)的完成方式都不是固定的,在不斷創(chuàng)新與思考任務(wù)的完成中,會(huì)有很大的收獲,也會(huì)體會(huì)到WER機(jī)器人的魅力所在。