謝夢(mèng)煒 夏慶鋒 朱佳悅
(無(wú)錫學(xué)院自動(dòng)化學(xué)院,江蘇無(wú)錫,210089)
機(jī)器人自誕生以來(lái),其理論和技術(shù)一直在不斷發(fā)展,其應(yīng)用領(lǐng)域也更加廣闊。其中,機(jī)器人比賽不僅以科技創(chuàng)新為實(shí)踐,加強(qiáng)相關(guān)技術(shù)研討和培訓(xùn),促進(jìn)產(chǎn)學(xué)研合作,推動(dòng)技術(shù)創(chuàng)新和轉(zhuǎn)化,為中國(guó)機(jī)器人產(chǎn)業(yè)培育人才,同時(shí)在日常生活中,也具有科普性、娛樂性和權(quán)威性。
作為機(jī)器人大賽的“一份子”,國(guó)際水中機(jī)器人大賽已有14 年的發(fā)展歷程,其比賽項(xiàng)目種類繁多。大賽的2D 仿真組設(shè)有對(duì)抗性和非對(duì)抗性比賽項(xiàng)目,其中,對(duì)抗性比賽包括搶球博弈、生存挑戰(zhàn)等;非對(duì)抗性比賽包括水中搬運(yùn)、花樣游泳等。
基于2020 年第十三屆國(guó)際水中機(jī)器人大賽時(shí)采用的策略和比賽后的實(shí)驗(yàn)策略,筆者對(duì)生存挑戰(zhàn)項(xiàng)目持續(xù)地進(jìn)行研究,提出了一種基于反饋系統(tǒng)的2D 仿真生存挑戰(zhàn)策略。該策略主要是利用模軸運(yùn)動(dòng)和扇形運(yùn)動(dòng)構(gòu)成一個(gè)反饋系統(tǒng),讓躲避魚及時(shí)調(diào)整位置坐標(biāo),從而順利逃避攻擊魚的捉捕,在實(shí)驗(yàn)與比賽中均達(dá)到了良好的效果。
水中機(jī)器人大賽2D 仿真生存挑戰(zhàn)項(xiàng)目采用標(biāo)準(zhǔn)仿真場(chǎng)地,如圖1 所示,場(chǎng)地中有3 個(gè)矩形仿真障礙物,主要起阻攔作用,障礙物邊長(zhǎng)為400mm,中心點(diǎn)坐標(biāo)分別為(0,0),(0,700),(0,-700)[1]。每場(chǎng)比賽由2 支隊(duì)伍參加,每支隊(duì)伍有4 條仿真機(jī)器魚。其中,1 號(hào)魚為特殊魚,當(dāng)隊(duì)伍進(jìn)攻時(shí)充當(dāng)“捉捕手”角色,其余2、3、4 號(hào)為常規(guī)魚;當(dāng)隊(duì)伍在防守時(shí),1 號(hào)魚充當(dāng)“防御手”角色,2、3、4號(hào)魚充當(dāng)“躲避手”角色。
參加比賽的兩支隊(duì)伍需要進(jìn)行攻防交換。一場(chǎng)比賽時(shí)間總計(jì)10min,以5min 為時(shí)間節(jié)點(diǎn)進(jìn)行半場(chǎng)交換。其中,在暫停比賽交換半場(chǎng)時(shí),雙方都可以進(jìn)行比賽策略的更換,其他時(shí)間雙方不可更換策略。在比賽過程中,常規(guī)魚的速度取值范圍是0-14,共15 個(gè)整數(shù)值,每個(gè)數(shù)值代表一個(gè)速度值。0 表示靜止,14 對(duì)應(yīng)的速度是0.25m/s。其中常規(guī)魚的速度最大為8,特殊魚的速度最大為14。進(jìn)攻方的“捉捕手”每觸碰一次對(duì)方“躲避手”,對(duì)方的“躲避手”便在平臺(tái)上消失,此時(shí)記錄所需時(shí)間,進(jìn)攻方得1 分。“捉捕手”與“防御手”相互之間碰撞不計(jì)分。當(dāng)半場(chǎng)時(shí)間未到時(shí),防御方3 條魚均已下場(chǎng),則該半場(chǎng)比賽立即結(jié)束,進(jìn)入交換半場(chǎng)或比賽結(jié)束階段。在單場(chǎng)比賽中,規(guī)定時(shí)間(10 min)內(nèi)得分多的隊(duì)伍取勝;得分相同時(shí)判定最后得分用時(shí)少者獲勝;若得分為 0:0 或得分相同且最后得分用時(shí)相同,則視為平局。
以往比賽常采用一系列的相關(guān)理論技術(shù),如一致性理論、基于柵格法下的策略優(yōu)化、基于虛擬切線圓的策略優(yōu)化等[2]?;谶@些理論的策略雖然在一定程度上達(dá)到了比賽的效果,但是實(shí)際應(yīng)用中機(jī)器魚存在躲避不具有連續(xù)性和針對(duì)性等問題[3],同時(shí),由于角度變化引起的震動(dòng)和水的波動(dòng)等不穩(wěn)定因素,使機(jī)器魚的躲避變得不太有效,此外,也不能很好地滿足比賽中對(duì)處于特殊位置的機(jī)器魚的穩(wěn)定性要求[4]。
經(jīng)過實(shí)踐和比賽證明,本文提出的基于反饋系統(tǒng)的比賽策略,可以使仿真機(jī)器魚更加靈活,很好地解決了躲避魚被攻擊的問題,大大提升了躲避魚的躲避率,從而達(dá)到良好的比賽效果。
國(guó)際水中機(jī)器人比賽采用URWPGSim2D 軟件(比賽專用仿真器),該軟件可提供 Local (本地模式)和 Remote(遠(yuǎn)程模式)兩種運(yùn)行模式。參賽隊(duì)伍根據(jù)比賽時(shí)賽場(chǎng)具體情況對(duì)這兩種模式二選一[5]。
柵格法是通過將2D 仿真比賽平臺(tái)的比賽環(huán)境分為具有二值信息的一個(gè)個(gè)小網(wǎng)格。首先,作為策略實(shí)行的前提,需要對(duì)場(chǎng)地進(jìn)行抽象簡(jiǎn)化。筆者對(duì)場(chǎng)地進(jìn)行基于柵格法的簡(jiǎn)化,將其劃分為不同的區(qū)域,并以編號(hào)代表其中每一片區(qū)域。具體如圖2 所示。
基于柵格法的每個(gè)區(qū)域并不需要有完全相同的長(zhǎng)寬,只需相對(duì)近似即可,在障礙物區(qū)域,即編號(hào)7、17、27區(qū)域周邊的9 宮格的高度需要和障礙物或其間空隙等高,寬度則需大于機(jī)器魚身長(zhǎng)。在比賽中,通過在機(jī)器魚身上獲取的坐標(biāo)點(diǎn)位置與對(duì)應(yīng)區(qū)域比對(duì),可獲得躲避魚目前所處的區(qū)域編號(hào)。
反饋運(yùn)動(dòng)的原理是指在比賽過程中,每條躲避魚依據(jù)各個(gè)障礙物、攻擊魚形成以繞障礙物為主的反饋環(huán),這可以很好地解決處于特殊位置的機(jī)器魚的穩(wěn)定性問題。當(dāng)攻擊魚發(fā)起攻擊時(shí),躲避魚一直繞障礙物運(yùn)動(dòng),形成一種防被抓到的迂回戰(zhàn)術(shù),使得躲避魚不易被攻擊魚抓到。其中任何一個(gè)環(huán)節(jié)或要素的變化,都會(huì)引起其他環(huán)節(jié)或要素發(fā)生變化,并促使該環(huán)節(jié)或要素進(jìn)一步變化,從而形成反饋運(yùn)動(dòng)思想。由此,參賽隊(duì)員在比賽過程中要注意把握攻擊魚和躲避魚或障礙物之間的關(guān)系,通過抓住這些主要因素,以提高生存挑戰(zhàn)項(xiàng)目的比賽勝率。反饋運(yùn)動(dòng)思想如圖3 所示。
在比賽過程中,防御方的整體策略需先分析攻擊魚的位置,來(lái)決定2、3、4 號(hào)魚的位置。當(dāng)進(jìn)攻魚在區(qū)域化7 號(hào)的位置時(shí),進(jìn)攻魚的位置以及障礙物及時(shí)反饋給躲避魚,躲避魚可以圍繞7 號(hào)區(qū)域進(jìn)行迂回戰(zhàn)術(shù)。同樣,躲避魚也可圍繞17 號(hào)區(qū)域、27 號(hào)區(qū)域進(jìn)行迂回戰(zhàn)術(shù)。
在比賽過程中,依據(jù)上述反饋運(yùn)動(dòng)思想,反饋的信息使得躲避魚總能躲避攻擊魚的抓捕,從而提高躲避魚的生存率,延長(zhǎng)比賽時(shí)間,直至勝利。躲避魚的反饋區(qū)域具體如圖4 所示。
模軸運(yùn)動(dòng)是依據(jù)運(yùn)動(dòng)控制中機(jī)械臂繞電機(jī)軸進(jìn)行周期式的運(yùn)動(dòng)。參照這一思想,可以以障礙物為軸,當(dāng)攻擊魚和躲避魚圍繞障礙物進(jìn)行運(yùn)動(dòng)時(shí),躲避魚可以進(jìn)行一種接近周期式的圓周運(yùn)動(dòng),從而躲避攻擊魚的抓捕。
由比賽規(guī)則可知,攻擊魚和躲避魚在直線上的最大速度分別為14 和8,但在曲線運(yùn)動(dòng)中,雙方的速度差距會(huì)縮小。根據(jù)這一規(guī)則,筆者提出一種以障礙物為軸的繞軸策略。該策略是以3 個(gè)正方形障礙物為軸,讓1 號(hào)魚與2、3、4 號(hào)魚中其中一個(gè)進(jìn)行繞軸運(yùn)動(dòng),從而形成周期式的繞軸運(yùn)動(dòng)。以障礙物為中心,建立坐標(biāo),如圖5所示,箭頭方向代表躲避魚模軸運(yùn)動(dòng)策略的方向之一,ΔX和ΔY可以反映出模軸運(yùn)動(dòng)時(shí)2、3、4 號(hào)魚的位置,躲避魚可以和攻擊魚周旋,延長(zhǎng)躲避魚被追擊的時(shí)間,最終取得良好的預(yù)期效果。
如圖6 所示,當(dāng)攻擊魚抓捕躲避魚時(shí),躲避魚依賴障礙物和攻擊魚進(jìn)行周旋,躲避魚依據(jù)反饋系統(tǒng)獲取攻擊魚的坐標(biāo)位置,從而進(jìn)行模軸運(yùn)動(dòng)。在特殊位置(依賴障礙物的情況)下,仿真結(jié)果證明了模軸運(yùn)動(dòng)的有效性。
扇形運(yùn)動(dòng)是指以攻擊魚為頂點(diǎn)、以障礙物為兩邊和這兩邊所截一段圓弧圍成的區(qū)域內(nèi)進(jìn)行的運(yùn)動(dòng)。如圖7所示,當(dāng)攻擊魚進(jìn)攻時(shí),躲避魚將繞著7 號(hào)和27 號(hào)障礙物進(jìn)行運(yùn)動(dòng),從而與攻擊魚之間繞障礙物形成模軸運(yùn)動(dòng),進(jìn)行迂回戰(zhàn)術(shù),最后達(dá)到較好的比賽效果。
要采用扇形運(yùn)動(dòng)策略,首先要將2D 仿真區(qū)域規(guī)劃為一個(gè)個(gè)小區(qū)域。如圖7 所示,當(dāng)進(jìn)攻魚沿箭頭方向出發(fā)時(shí),躲避魚沿3 個(gè)障礙物區(qū)域(7、17、27)移動(dòng),盡可能地依據(jù)扇形運(yùn)動(dòng)方向來(lái)提前預(yù)判攻擊魚的攻擊路線,分析攻擊魚的坐標(biāo)位置,提前規(guī)劃更優(yōu)的躲避路線,實(shí)現(xiàn)和進(jìn)攻魚圍繞障礙物進(jìn)行模軸運(yùn)動(dòng)。
筆者發(fā)現(xiàn),在比賽過程中,采用一些傳統(tǒng)方法不僅會(huì)導(dǎo)致特殊位置的機(jī)器魚穩(wěn)定性較差,也會(huì)導(dǎo)致有障礙物區(qū)域的比賽結(jié)果和躲避效果較差。本團(tuán)隊(duì)對(duì)于有障礙物區(qū)域的比賽進(jìn)行了大量的實(shí)驗(yàn),最后驗(yàn)證了采用反饋系統(tǒng)策略十分有效。
圖8所示是一個(gè)機(jī)器魚依賴障礙物比賽的實(shí)驗(yàn)畫面,當(dāng)采用基于反饋系統(tǒng)的比賽策略時(shí),躲避魚會(huì)以障礙物為依靠,繞障礙物進(jìn)行運(yùn)動(dòng),拖延被攻擊魚抓捕的時(shí)間,以達(dá)到良好的比賽效果。
在國(guó)際水中機(jī)器人2D 仿真平臺(tái)中進(jìn)行對(duì)比實(shí)驗(yàn),筆者分別選取了3 組實(shí)驗(yàn)數(shù)據(jù)和比賽現(xiàn)場(chǎng)的數(shù)據(jù),將本文策略和本團(tuán)隊(duì)在2019 年和2020 年兩次比賽中獲獎(jiǎng)的策略進(jìn)行模擬比賽,具體結(jié)果如表1 所示。按照比賽規(guī)則,得分多者即為獲勝方,雖然在模擬比賽過程中,本團(tuán)隊(duì)的2020 年策略和本文策略 “糾纏”時(shí)間較長(zhǎng),但最終還是本文策略獲勝。由此可見,反饋運(yùn)動(dòng)策略下的實(shí)驗(yàn)和比賽效果均比原策略的效果要好,在2019 年比賽中,基本比賽時(shí)間都控制在4.05min 左右,在2020 年比賽中,基于反饋系統(tǒng)的策略取得了良好的成績(jī),時(shí)間控制在3.37min。
表1 新舊策略實(shí)驗(yàn)對(duì)比
本文提出的反饋運(yùn)動(dòng)策略方法在實(shí)際應(yīng)用中取得了不錯(cuò)的效果,比賽中輸贏的隨機(jī)性,讓躲避魚的生存能力得到了進(jìn)一步的提升。同時(shí),筆者發(fā)現(xiàn)可以在區(qū)域劃分構(gòu)成的反饋系統(tǒng)中,添加更多有效的防守策略來(lái)應(yīng)對(duì)不同的攻擊策略;在本方案中,當(dāng)出現(xiàn)防守魚對(duì)躲避魚有不良影響時(shí),可以采取讓防守魚在場(chǎng)邊停滯的方式來(lái)規(guī)避這一不良影響。
機(jī)器人技術(shù)與應(yīng)用2022年4期