游曠喆 羅文煜 錢平 孫遜
摘要:針對(duì)水中機(jī)器魚角力項(xiàng)目,在比賽過(guò)程中是選擇進(jìn)攻點(diǎn)還是進(jìn)攻方向的問(wèn)題,本論文提出了一種基于變化進(jìn)攻點(diǎn)的角力策略,將整個(gè)比賽分為初始、調(diào)整和沖刺三個(gè)階段,不同階段按照預(yù)先設(shè)定好的策略執(zhí)行。經(jīng)過(guò)多次試驗(yàn)驗(yàn)證,該策略具有較好的適應(yīng)性,在比賽時(shí)能高效進(jìn)行角力比賽,也取得了較好的成績(jī)。
關(guān)鍵詞:機(jī)器魚;角力策略;變化進(jìn)攻點(diǎn);三個(gè)階段
中圖分類號(hào):TP242 ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2020)28-0202-03
Abstract:Aiming at the question of whether to choose the attacking point or the attacking direction in the competition of robotic fish wrestling in water, this paper proposes a wrestling strategy based on changing the attacking point. The whole competition is divided into three stages: the initial stage, the adjustment stage and the sprint stage. The different stages are executed according to the predetermined strategy.After many experiments, it has been proved that the strategy has good adaptability, and it can effectively compete in wrestling competitions, and it also achieves good results in actual competitions.
Key words:robotic fish; wrestling strategy; changing attacking points; three stages
近年來(lái),隨著人類的進(jìn)步發(fā)展,陸地資源日漸消耗殆盡,對(duì)水資源的開(kāi)發(fā)和利用需求日益旺盛。受環(huán)境和條件因素的制約,人類無(wú)法像在陸上活動(dòng)一樣自由地在水中探索,因此,水中機(jī)器人在承擔(dān)各類水下科研工作中發(fā)揮著越來(lái)越重要的作用。水中機(jī)器人比賽作為一個(gè)新興項(xiàng)目[1],已在國(guó)內(nèi)各級(jí)別的比賽中如火如荼開(kāi)展,水中機(jī)器人競(jìng)賽是首個(gè)由中國(guó)人自己提出的競(jìng)賽項(xiàng)目[2],涉及機(jī)械、電子、自動(dòng)化、通信、人工智能和智能控制等學(xué)科領(lǐng)域,激發(fā)了青少年學(xué)生強(qiáng)烈興趣的同時(shí),也很好地鍛煉了青少年學(xué)生的動(dòng)手能力,促進(jìn)了教學(xué)和比賽的結(jié)合。
為落實(shí)國(guó)家加強(qiáng)海洋強(qiáng)國(guó)的發(fā)展戰(zhàn)略,由江蘇省教育廳主辦的大學(xué)生機(jī)器人大賽非??简?yàn)選手的綜合能力,其中,水中角力項(xiàng)目不同于常規(guī)的競(jìng)速項(xiàng)目,主要依靠執(zhí)行相應(yīng)的策略來(lái)完成比賽,而實(shí)現(xiàn)策略的方式有很多種,例如,是設(shè)置進(jìn)攻點(diǎn)還是進(jìn)攻方向,是連續(xù)頂撞還是間歇式頂撞,是用頭直接頂還是彎曲繃直頂?shù)鹊萚3]。每種策略都有其一定的優(yōu)勢(shì),但受現(xiàn)場(chǎng)光線制約和水紋波動(dòng)影響,實(shí)際比賽中或平時(shí)實(shí)驗(yàn)時(shí)都會(huì)受到一定的影響,通過(guò)大量的平時(shí)訓(xùn)練,本文提出了一種適用范圍相對(duì)較廣的基于變化進(jìn)攻點(diǎn)的水中機(jī)器魚角力策略。
1 水中機(jī)器魚角力項(xiàng)目簡(jiǎn)介[4]
在一個(gè)尺寸為3m×2m,水深25cm的水池中,參賽雙方各派1條機(jī)器魚參加比賽,比賽開(kāi)始時(shí),裁判員將一直徑為1m的圓環(huán)漂浮物(以下簡(jiǎn)稱圓環(huán))放入水中,并保證圓心與水池中心重合,同時(shí)將比賽雙方的機(jī)器魚以如圖1所示的靜態(tài)位置放入圓環(huán)內(nèi)部。
比賽時(shí)間1分鐘,A魚向左側(cè)進(jìn)攻,B魚向右側(cè)進(jìn)攻,率先將圓環(huán)完全頂入自己進(jìn)攻方向所在的區(qū)域隊(duì)伍獲勝,比賽結(jié)束;如果1分鐘時(shí)間到,未出現(xiàn)上述情況時(shí),則比較雙方所占有圓環(huán)的面積,面積大的一方獲勝,比賽結(jié)束;如果1分鐘時(shí)雙方占有圓環(huán)的面積相等,則比賽進(jìn)入加時(shí)賽,直至雙方占有圓環(huán)的面積不等為止,面積大的一方獲勝,比賽結(jié)束。比賽總時(shí)間為5分鐘,采用3局2勝制,每場(chǎng)比賽間隔1分鐘,用來(lái)調(diào)試設(shè)備,其余時(shí)間不得暫停比賽;只能在比賽暫停的調(diào)試階段灌輸策略,其余時(shí)間不能操作電腦。
2 水中角力策略簡(jiǎn)介
當(dāng)選取了一個(gè)圓環(huán)的進(jìn)攻位置后,大致可分為如圖2(a)所示的3種進(jìn)攻方向,根據(jù)物理學(xué)中的力學(xué)知識(shí),對(duì)作用力進(jìn)行分解,如圖2(b)所示,當(dāng)作用力都相同時(shí),2號(hào)進(jìn)攻方向能夠使圓環(huán)產(chǎn)生最大的位移,即向右移動(dòng)的更多。且文獻(xiàn)[5]已通過(guò)數(shù)學(xué)建模和Matlab仿真,得出了若想取得勝利,只需魚的速度方向(即進(jìn)攻方向)與x軸平行的理論證明。
理論上,機(jī)器魚除作用于上下兩個(gè)頂點(diǎn)外的任何進(jìn)攻點(diǎn),相應(yīng)的都會(huì)使圓環(huán)向左或向右運(yùn)動(dòng),文獻(xiàn)[6]和[7]根據(jù)自己提出的策略,都找到了相應(yīng)的最佳進(jìn)攻點(diǎn)。如何選取最佳進(jìn)攻點(diǎn),也是本文探討的重點(diǎn)。
3 基于進(jìn)攻點(diǎn)變化的水中機(jī)器魚角力策略
3.1機(jī)器魚運(yùn)行三階段的劃分
在水中機(jī)器魚角力項(xiàng)目的比賽中,將整個(gè)比賽過(guò)程分為3個(gè)階段。第1階段為初始階段,在這個(gè)階段中,俗話說(shuō):先下手為強(qiáng),因此,盡快將機(jī)器魚的方向調(diào)整為平行于x軸的方向并盡快發(fā)起頂圈進(jìn)攻,可以在前期就獲得一定的優(yōu)勢(shì);第2階段為調(diào)整階段,在這個(gè)階段中,雙方的機(jī)器魚在找到各自的方向后進(jìn)行頂圈攻擊,受水波擾動(dòng)和機(jī)器魚作用,圓環(huán)可能隨機(jī)移動(dòng),并且受其他環(huán)境因素的影響,因此,需要及時(shí)調(diào)整機(jī)器魚的進(jìn)攻位置和進(jìn)攻方向;第3階段為沖刺階段,在這個(gè)階段中,經(jīng)過(guò)前一階段的調(diào)整后,采用直游的擺尾方向和加快擺尾速度的方式發(fā)起沖刺進(jìn)攻。
3.2基于進(jìn)攻點(diǎn)變化的水中機(jī)器魚角力策略的實(shí)現(xiàn)
為實(shí)現(xiàn)上述策略,需要知曉3個(gè)狀態(tài)量,圓環(huán)的中心點(diǎn)circle_point,機(jī)器魚的中心點(diǎn)fish_point以及機(jī)器魚的進(jìn)攻方向attack_director。
3.2.1 初始階段
比賽剛開(kāi)始時(shí),無(wú)論是機(jī)器魚還是圓環(huán),位置都是相對(duì)確定的,根據(jù)“先下手為強(qiáng)”原則,以機(jī)器魚中心點(diǎn)的y坐標(biāo)為進(jìn)攻點(diǎn)的y坐標(biāo),讓機(jī)器魚能夠盡快頂圈進(jìn)攻,機(jī)器魚的游動(dòng)路線如圖3所示。
初始階段控制流程圖如圖4所示,向右進(jìn)攻時(shí),設(shè)定機(jī)器魚向右水平移動(dòng)50(圓環(huán)的半徑距離),向左進(jìn)攻時(shí),設(shè)定機(jī)器魚向左水平移動(dòng)50,該階段的動(dòng)作執(zhí)行完畢后為下一階段做好準(zhǔn)備。
3.2.2 調(diào)整階段
隨著比賽時(shí)間的推移,比賽過(guò)程中的不確定因素有很多,比賽的實(shí)時(shí)性又很強(qiáng),過(guò)多地強(qiáng)調(diào)找最佳進(jìn)攻點(diǎn)和最佳進(jìn)攻方向勢(shì)必浪費(fèi)很多時(shí)間,從而錯(cuò)過(guò)了最佳的進(jìn)攻時(shí)機(jī),因此,采用“以不變應(yīng)萬(wàn)變”策略,循環(huán)攻擊圓環(huán)a,b,c 3個(gè)點(diǎn),如圖5所示,以向右進(jìn)攻為例,上一階段結(jié)束后此時(shí)機(jī)器魚在c點(diǎn)周圍,此階段進(jìn)攻的次序依次為c→b→a→b→c,循環(huán)往復(fù)3次,此時(shí)已經(jīng)不再?gòu)?qiáng)調(diào)機(jī)器魚的進(jìn)攻方向必須與x軸平行,而是盡快攻擊不同區(qū)域的點(diǎn),使圓環(huán)向自己的進(jìn)攻方向移動(dòng)。
根據(jù)平時(shí)訓(xùn)練和比賽經(jīng)驗(yàn),θ一般取值20°,頂撞每個(gè)進(jìn)攻點(diǎn)后圓環(huán)的移動(dòng)位移為10,根據(jù)三角函數(shù)求得ab= cb=50×sin20°≈17,ob=50×cos20°≈47,bb=50-47=3。調(diào)整階段控制流程圖如圖6,進(jìn)行快而頻的進(jìn)攻,以向右進(jìn)攻為例,在上一階段完成c點(diǎn)的進(jìn)攻后,垂直方向向上移動(dòng)17、水平方向向右移動(dòng)13進(jìn)攻b點(diǎn);在完成b點(diǎn)的進(jìn)攻后,垂直方向再向上移動(dòng)17、水平方向向右移動(dòng)10進(jìn)攻a點(diǎn);然后再進(jìn)攻b點(diǎn),垂直方向向下移動(dòng)17、水平方向向右移動(dòng)13;再進(jìn)攻c點(diǎn),垂直方向向下移動(dòng)17、水平方向向右移動(dòng)10。在完成一次循環(huán)后,重復(fù)上述動(dòng)作3次。
3.2.3 沖刺階段
完成調(diào)整后的機(jī)器魚需要“發(fā)力”進(jìn)行沖刺,處于沖刺階段的機(jī)器魚,雙方在動(dòng)力相差不大的情況下,圓環(huán)可能會(huì)出現(xiàn)“靜止”的情況,上一階段結(jié)束后此時(shí)機(jī)器魚在b點(diǎn)周圍,調(diào)整進(jìn)攻方向attack_director使得與x軸平行,使機(jī)器魚直線游動(dòng),并且經(jīng)過(guò)多次試驗(yàn),選取向左和向右分別為5和9的擺尾狀態(tài),12的速度狀態(tài)。機(jī)器魚運(yùn)動(dòng)等級(jí)共有0~14十五個(gè)等級(jí),具體數(shù)值含義如表1所示。
4 總結(jié)
在硬件條件相同的情況下,策略的優(yōu)良性與可執(zhí)行度將對(duì)比賽起決定性作用,水中機(jī)器魚角力的策略有很多種,每一種策略的完善都是一個(gè)漸進(jìn)的過(guò)程,本文提出“基于進(jìn)攻點(diǎn)變化的水中角力策略”,將比賽的過(guò)程分為3個(gè)階段,開(kāi)始階段采用“先下手為強(qiáng)”策略,中期采用“以不變應(yīng)萬(wàn)變”策略,后期在確定進(jìn)攻方向的情況下采用“快而頻”的擺尾方式,發(fā)起沖刺進(jìn)攻。使用基于進(jìn)攻點(diǎn)變化的水中機(jī)器魚角力策略,經(jīng)過(guò)多次試驗(yàn)驗(yàn)證,該策略具有較好的適應(yīng)性,在比賽時(shí)能高效進(jìn)行角力比賽,在第十屆江蘇省大學(xué)生機(jī)器人大賽水中角力項(xiàng)目中取得良好的成績(jī)。
參考文獻(xiàn):
[1] 王圣召,張燕,夏慶鋒.基于劃分區(qū)域的機(jī)器魚水中角力策略[J].電腦知識(shí)與技術(shù),2018,14(16):179-181.
[2] 賈靜雯,陳鑒,夏慶鋒,等.基于位姿狀態(tài)的機(jī)器魚水中角力策略[J].中國(guó)科技信息,2016(10):21-23,16.
[3] 錢平,彭喜鈺,鮮學(xué)豐,等.基于漂浮物位置變化的機(jī)器魚水中角力策略[J].電腦知識(shí)與技術(shù),2019,15(30):206-208.
[4] 談?dòng)⒆?大學(xué)生機(jī)器人競(jìng)賽指南 (江蘇篇)[M].南京:東南大學(xué)出版社,2018.
[5] 于飛,李擎,蘇中,等.基于微分對(duì)策的水中機(jī)器人角力模型[J].兵工自動(dòng)化,2017,36(12):94-96.
[6] 陳言俊,王建坤,劉甜甜.基于狀態(tài)變化的機(jī)器魚水中角力策略[J].兵工自動(dòng)化,2014,33(12):75-76.
[7] 武榮甲,張燕,夏慶鋒.基于多關(guān)節(jié)機(jī)器魚運(yùn)行三態(tài)的角力算法[J].電腦知識(shí)與技術(shù),2018,14(15):257-259,261.
【通聯(lián)編輯:唐一東】