在2024年??箼C(jī)器人開發(fā)者大賽(RAICOM)全國總決賽的舞臺(tái)上,我校礦業(yè)與機(jī)械工程學(xué)院的4支隊(duì)伍與來自全國高校的1.5萬名師生同臺(tái)競(jìng)技,收獲國家級(jí)“二等獎(jiǎng)”2項(xiàng)、“三等獎(jiǎng)”2項(xiàng)。其中,由機(jī)械電子工程專業(yè)學(xué)生柴偉杰、王景林、潘金昊組成的“樹葉隊(duì)”在CAIR工程競(jìng)技賽道獲得足球競(jìng)技賽項(xiàng)“二等獎(jiǎng)”。
“樹葉隊(duì)”獲獎(jiǎng)證書
準(zhǔn)備:凝聚共識(shí) 勇敢追夢(mèng)
2023年6月,一則睿抗機(jī)器人開發(fā)者大賽的比賽通知引起柴偉杰的關(guān)注,他仔細(xì)翻閱比賽資料,CAIR工程競(jìng)技賽道iLoboke足球機(jī)器人競(jìng)賽吸引了他的目光。足球競(jìng)技比賽規(guī)則中“編寫控制程序”“編寫算法”等關(guān)鍵詞,讓柴偉杰想起專業(yè)課《C語言程序設(shè)計(jì)》上所學(xué)的C語言基礎(chǔ)語法、數(shù)據(jù)類型、運(yùn)算符等知識(shí)。想到與自己配合默契的王景林和喜歡研究代碼的潘金昊,柴偉杰當(dāng)即決定邀請(qǐng)他們組隊(duì)參賽。
斗志滿滿的柴偉杰還未邁出比賽第一步,就在組隊(duì)階段遇到了難題。王景林和潘金昊因擔(dān)心自己實(shí)力不足拖累團(tuán)隊(duì),對(duì)參賽猶豫不決。柴偉杰用兩天時(shí)間說服他們:獎(jiǎng)項(xiàng)并非首要,鍛煉自身能力才是關(guān)鍵!
團(tuán)隊(duì)人選已確定,三人坐在模苑寢室門前的楓樹下商量報(bào)名事宜,才覺缺少隊(duì)名。王景林抬頭看見楓樹葉迎風(fēng)飄動(dòng),突然有了靈感——“樹葉隊(duì)”。樹葉是大自然中很常見但又容易被忽略的存在,它代表著一種默默生長(zhǎng)、堅(jiān)韌不拔的精神。世界上沒有兩片完全一模一樣的樹葉,每一片樹葉都是獨(dú)一無二的。團(tuán)隊(duì)里的每個(gè)成員就像每片樹葉一樣是獨(dú)特的,大家都有各自的閃光點(diǎn),聚在一起才成為參天大樹。至此,“樹葉隊(duì)”正式成立。
模苑門口的楓樹
CAIR工程競(jìng)技賽道聚焦足球機(jī)器人領(lǐng)域,要求每支隊(duì)伍通過編寫比賽策略和運(yùn)動(dòng)規(guī)劃算法,開展圖像處理、自動(dòng)決策、路徑規(guī)劃、自助避障等技術(shù)研究,讓機(jī)器人自主完成合理的戰(zhàn)術(shù)配合。
如何編寫能讓機(jī)器人順利傳球、接球、踢球的代碼?此時(shí)距離省賽提交作品還有一年時(shí)間,團(tuán)隊(duì)一切都要從零開始。
打磨:百折不撓 精益求精
機(jī)會(huì)是留給有準(zhǔn)備的人。省賽開始前,每支隊(duì)伍能遠(yuǎn)程調(diào)試機(jī)器人三次,每一次調(diào)試對(duì)比賽而言都至關(guān)重要。因此,樹葉隊(duì)充分利用每一次發(fā)現(xiàn)問題的機(jī)會(huì),進(jìn)行了多達(dá)162次的仿真實(shí)驗(yàn),以模擬真實(shí)比賽環(huán)境,測(cè)試控制程序的各項(xiàng)功能。
初期,機(jī)器人常常出現(xiàn)搶球、隨意踢球等現(xiàn)象。機(jī)器人的每一個(gè)動(dòng)作都由不同的函數(shù)組合而成,一個(gè)個(gè)函數(shù)又組成了各種代碼。在編寫代碼時(shí),哪怕多打一個(gè)空格或少敲一個(gè)空格,都會(huì)導(dǎo)致代碼邏輯出現(xiàn)錯(cuò)誤,進(jìn)而使機(jī)器人偏離原本的軌道。要讓機(jī)器人成功將球踢進(jìn)球門,唯一的辦法就是修改代碼。
編寫一組代碼只需要一個(gè)小時(shí)左右的時(shí)間,但修改代碼卻是一場(chǎng)持久戰(zhàn)。以角球?yàn)槔?,明明感覺代碼邏輯無誤,但應(yīng)用到仿真機(jī)器人上,機(jī)器人就會(huì)失控,無法達(dá)到理想狀態(tài)。一次次的失敗,讓樹葉隊(duì)里的每個(gè)人都時(shí)常感到受挫,甚至一度想過放棄。但憑借著成員們對(duì)彼此的信任,他們互相鼓勁,堅(jiān)持了下來。
為了能高效地修正代碼,團(tuán)隊(duì)成員各司其職。柴偉杰與王景林負(fù)責(zé)編寫代碼并解決代碼出現(xiàn)的問題,潘金昊負(fù)責(zé)記錄所發(fā)現(xiàn)的問題并改進(jìn)代碼,在戰(zhàn)術(shù)模擬時(shí)密切關(guān)注代碼變化,篩選出更合適的代碼。當(dāng)大家對(duì)代碼組合產(chǎn)生不同意見時(shí),就將各自的方案進(jìn)行演示,對(duì)比機(jī)器人的速度和進(jìn)球準(zhǔn)確率。
團(tuán)隊(duì)成員編寫lua文件
一次次地編寫、一行行地查找、一遍遍地修改,模擬機(jī)器人從最初的不能執(zhí)行指令進(jìn)化為能夠?qū)崟r(shí)地識(shí)別出球場(chǎng)上的球員、足球以及球門等關(guān)鍵信息。最初邏輯清晰的簡(jiǎn)單腳本也逐步迭代為邏輯分明、層次遞進(jìn)的復(fù)雜腳本。
最終,在省賽里樹葉隊(duì)編程的機(jī)器人一次次成功地進(jìn)球,順利拿到全國賽的入場(chǎng)券。
成長(zhǎng):一分耕耘 一份收獲
國賽的競(jìng)爭(zhēng)更為激烈,每支隊(duì)伍只有兩次機(jī)會(huì)。為確保萬無一失,樹葉隊(duì)準(zhǔn)備了兩套程序代碼。第一套代碼里的機(jī)器人點(diǎn)球速度快、時(shí)間短,但無法保證點(diǎn)球的進(jìn)球成功率。第二套代碼速度較慢,但能保證百分百進(jìn)球。如果第一套代碼出現(xiàn)失誤,團(tuán)隊(duì)可以馬上更換第二套代碼,確保獲得點(diǎn)球分。
幸運(yùn)的是,第一套代碼的表現(xiàn)很優(yōu)秀,樹葉隊(duì)成功摘得“二等獎(jiǎng)”。
團(tuán)隊(duì)成員合照
(從左往右:王景林 柴偉杰 潘金昊)
國賽“二等獎(jiǎng)”不是終點(diǎn),而是起點(diǎn)。我們的程序距一等獎(jiǎng)還有差距,我們會(huì)汲取經(jīng)驗(yàn),繼續(xù)努力,學(xué)習(xí)新知識(shí),在科技創(chuàng)新領(lǐng)域不斷探索、嘗試、創(chuàng)新,爭(zhēng)取下次獲得更好的成績(jī)。
同時(shí),比起獎(jiǎng)項(xiàng),更珍貴的是在參賽過程中收獲了老師的關(guān)心、照顧和朋友的一路陪伴、支持!”柴偉杰說。
感謝的話:
非常感謝劉永志老師和鄒旺老師。在比賽期間,你們給予了我們莫大的鼓勵(lì)和幫助,安慰我們緊張不安的心,一次次為我們演示代碼運(yùn)行,不厭其煩地為我們答疑解惑,始終與我們并肩作戰(zhàn)。在你們一遍遍地講解和指導(dǎo)下,我們對(duì)Lua框架有了更深入的了解,Lua代碼編寫能力也得到了很大提升,能夠熟練使用判斷語句、跳轉(zhuǎn)控制以及各類函數(shù)。衷心感謝你們的幫助和關(guān)心!
——“樹葉隊(duì)”全體隊(duì)員
(供稿/大學(xué)生記者團(tuán) 熊妤婕 王佳佳 編輯校對(duì)/王良豪 徐超 審核/管迪 陳挺)