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