那些年,我參加過(guò)的競(jìng)賽4
這是因?yàn)槲覀兊臄z像頭分辨率不夠,看不清靶子。而分辨率夠的攝像頭,我們的單片機(jī)很有可能帶不動(dòng)。特別是圖像處理在之前的控制類題目中沒(méi)有出現(xiàn)過(guò),我們?cè)诖酥皼](méi)有一點(diǎn)準(zhǔn)備。在我們找資料的時(shí)候,發(fā)現(xiàn)圖像識(shí)別并沒(méi)有那么簡(jiǎn)單,還需要進(jìn)行運(yùn)算量很大的卷積計(jì)算等我們不熟悉的運(yùn)算過(guò)程。這讓我們陷入了兩難的境地,整個(gè)隊(duì)伍一片愁云慘淡。其實(shí)不止是我們,我們整個(gè)學(xué)校選這道題的隊(duì)伍都有同樣的困惑。
思索良久,我好不容易機(jī)智了一把,提出了一個(gè)解決方案:固定激光筆、攝像頭和靶子的高度,再把激光筆、攝像頭和靶子之間的距離也固定住。這不就相當(dāng)于靶子的位置完全已知了嗎?這時(shí),我們只需要識(shí)別激光筆的光斑位置就行了。我們買的攝像頭是串口攝像頭,能夠很輕易地識(shí)別激光光斑,并將位置信息轉(zhuǎn)換成分辨率的形式反饋給我們。這個(gè)操作就非常簡(jiǎn)單了,完全不需要任何復(fù)雜的運(yùn)算。
當(dāng)然,這種固定距離的方法,精確度肯定是不高的,但是沒(méi)有關(guān)系,我們可以校準(zhǔn)呀。只需要將激光筆的光斑打在靶子的“最上、最下、最左、最右和中心”這五個(gè)點(diǎn)上,用攝像頭識(shí)別,就可以精確地得到靶子的位置了。由于靶子是等距同心圓,相應(yīng)的靶數(shù)直接等分半徑就可以了。得到靶子的位置后,再識(shí)別激光筆的光斑,就可以得到兩者間的相對(duì)位置,就知道了激光筆現(xiàn)在是否在靶子上,或是在靶子上的第幾環(huán)。這些信息都知道后,控制激光筆去對(duì)準(zhǔn)響應(yīng)的環(huán)數(shù)就很簡(jiǎn)單了。
為了不用臨場(chǎng)去調(diào)各種距離,我直接把攝像頭、靶子和激光筆的高度都固定死了,還去找了學(xué)校不用的橫幅(紅色的那種,上面印了字),將它翻到?jīng)]有字的那一面,將攝像頭、靶子和激光筆的支架擺放位置也做好了標(biāo)記。這樣在比賽的時(shí)候,我只要把橫幅一鋪,各種東西按照標(biāo)志往上一放就可以了。當(dāng)然,比賽時(shí)進(jìn)入場(chǎng)地后,校準(zhǔn)的環(huán)節(jié)也是必不可少的。
按照這個(gè)思路,要實(shí)現(xiàn)題目要求的基本功能就不難了,還會(huì)讓別人以為我們是“閉環(huán)控制”,實(shí)際上我們只是一個(gè)“偽裝”的閉環(huán)控制,靶子根本沒(méi)有被識(shí)別出來(lái)。而別的組因?yàn)闆](méi)有這個(gè)校準(zhǔn)的環(huán)節(jié),只是計(jì)算好各個(gè)環(huán)數(shù)對(duì)應(yīng)的激光筆角度,通過(guò)調(diào)試確定各種參數(shù),從而直接控制激光筆打到預(yù)定的環(huán)數(shù),實(shí)際上連攝像頭都用不上,算是徹底的開環(huán)控制。
大家不要小看閉環(huán)控制和開環(huán)控制的差別,在我們當(dāng)年的比賽中,這就是省級(jí)一等獎(jiǎng)跟二等獎(jiǎng)的差別了。(表打我,在比賽中,很多東西是我?guī)退薪M采購(gòu)的,但每個(gè)隊(duì)伍都有自己的核心機(jī)密和拿手絕活,就算我想和別的組分享,我的隊(duì)友也不會(huì)同意。)
由于我們隊(duì)負(fù)責(zé)軟件的同學(xué)對(duì)控制觸摸屏很拿手,因此我們還在觸摸屏上畫了一個(gè)靶子的示意圖,點(diǎn)擊靶子的任意部位,激光筆就會(huì)移動(dòng)到相應(yīng)的地方,支持“指哪兒打哪兒”。那個(gè)時(shí)候,其他組還普遍用著LCD顯示屏來(lái)顯示,我們的觸摸屏一經(jīng)亮相,就成為了“這條街上最靚的仔”,引來(lái)了所有人的圍觀。打個(gè)不恰當(dāng)?shù)谋确剑秃孟駝e人還在用諾基亞的時(shí)候,我們就用上了蘋果手機(jī)。那種自豪感不言而喻,連走起路來(lái)都帶風(fēng)。
那兩天,我們幾乎一刻也沒(méi)有停下來(lái)過(guò),仿佛有做不完的事情。由于消耗太大,每天夜里我們都要吃兩桶泡面,一天要吃五頓飯才夠。有時(shí)實(shí)在太困了,才會(huì)睡上一、兩個(gè)小時(shí)。其余時(shí)候,我們恨不得像《貓和老鼠》中熬夜的湯姆一樣,用火柴棍撐住我們沉重的眼皮。而更難受的是大腦,經(jīng)過(guò)幾天的熬夜之后,我的大腦變得麻木而遲鈍,終于恍然大悟了“木頭腦袋”是什么意思。
我們是在第三天晚飯前將基本功能實(shí)現(xiàn)的。那一頓晚飯,三個(gè)小伙伴終于可以坐下來(lái)邊吃邊聊了,盡管我們由于熬夜,眼睛都睜不開,只能閉著眼睛刨飯,但我們還是很高興,商量著接下來(lái)應(yīng)該怎么改進(jìn),效果才會(huì)更好。這一調(diào)試就到了第四天早上5點(diǎn),我們能做的都做到了最好,剩下的就是將東西好好裝箱,貼上封條,運(yùn)往比賽場(chǎng)地了。
這最后的一步也不能大意,之前我們學(xué)校就發(fā)生過(guò)有學(xué)長(zhǎng)沒(méi)有包裝好,作品損壞的事情。于是我們?cè)谔煳⑽⒘恋臅r(shí)候就去校園中找紙箱子了。那個(gè)時(shí)候的校園非常安靜,只有早鍛煉的和食堂的人。我們左瞅瞅右瞅瞅,在便利店外面撿了一個(gè)大箱子,在快遞點(diǎn)附近撿到了很多氣泡膜,開心地一路拖了回去。
將所有東西都裝箱好后,我們終于可以睡覺了。我?guī)缀跏桥乐氐搅宋业膸づ?,頭一沾到枕頭,就昏睡了過(guò)去。我平常比較容易失眠,屬于入睡較困難的那種人,高考前一天也理所當(dāng)然地失眠了。而且我腦細(xì)胞太活躍,幾乎每天都會(huì)做夢(mèng),睡著五分鐘都會(huì)做上幾個(gè)夢(mèng)。但是那一天,我真正體會(huì)到什么叫做“秒睡”和“一夜無(wú)夢(mèng)”。我一直睡到了晚飯時(shí)分,才被隊(duì)友給叫了起來(lái)。
我昏昏沉沉地醒來(lái),胃中沒(méi)有任何感覺,也沒(méi)有食欲,但還是逼自己吃了一點(diǎn)。吃完飯后,我們又睡了過(guò)去。整個(gè)場(chǎng)地都倒著橫七豎八的人,大家已經(jīng)完全沒(méi)有心思在意自己的形象了。
一直睡到第二天,我們才爬起來(lái)在廁所洗了澡。九月份的天氣,縱然有空調(diào),但我們消耗太大,出了很多汗,5天沒(méi)有洗澡,連我自己都嫌棄自己了。特別是頭發(fā),油得都可以炒菜了。
洗完澡,我們就開始收拾各自的東西,準(zhǔn)備回自己所在的校區(qū)了。東西收拾好準(zhǔn)備走時(shí),我的心中突然涌起了一陣不舍的情緒。那年代感滿滿的桌椅,那墻角的蜘蛛網(wǎng),那泛黃的老舊臺(tái)式空調(diào),那裂開了嘴、仿佛有20年沒(méi)有擦過(guò)的窗玻璃,和那一張張朝夕相處了兩個(gè)月的臉,都讓我心中溢滿了酸澀的不舍。這一走,除了比賽會(huì)再次見面,我們恐怕很難再有交集了。
于是我拍了很多照片,又找大家要了QQ號(hào),就算以后可能都不會(huì)說(shuō)上話,但我的心卻奇跡般地安定了下來(lái)。仿佛只要有這一串?dāng)?shù)字,我們?cè)诳床灰姷奈磥?lái),還能憑著這僅有的線,再次相遇。
IAMU
我的微博名叫“起點(diǎn)-IAMU”,如果我長(zhǎng)得跟你想象的不一樣,不要打我嗷(o′ω`o)?