鄭新宇
(西南石油大學 四川 成都 610500)
近年來,仿生學機器人已經被運用到多個領域,尤其是以水中機器仿生魚為導向的機器人更是在自動控制、物資傳遞、災害救援和海底勘探等多個方面扮演著重要角色。2D仿真平臺真實模擬仿生機器魚各個關節的位姿變化、運動狀態變化情況及機器魚水球比賽運行等情況[1],一方面,可以更好的研究機器魚的運動理論和碰撞理論;另一方面,還可以讓更多的研究人員、學生參與到平臺的開發和比賽中,為水中機器人技術的發展做出一定的貢獻。比賽項目提供了模擬真實場景的平臺,能夠更有效的模擬機器魚在真實場景的狀況[2],本文闡述的是在2D仿真平臺上基于快速得分的搶球策略,盡可能多得分,保證在大概率上發揮主場優勢。
(一)比賽場地介紹。搶球博弈項目是2D仿真魚的子項目,2D仿真搶球項目采用模擬標準化場地,真實還原水中動態環境,開場初始位置的仿真機器魚以及所需要的場地元素如圖1所示。

圖1 搶球博弈比賽場地
雙方隊伍各有兩條機器魚,對稱分布于賽場的左右兩半部分,9個仿真水球中有三個3分水球位于賽場中央,其余兩個2分水球和四個1分水球對稱分布于機器魚的兩側。場地的左右方都有三塊綠色障礙物所圍成對方隊伍的目標球門,被稱為左球門和右球門。
(二)比賽過程。在比賽開始后,參賽隊伍通過加載策略驅動仿真機器魚進行搶球、射門、推球、帶球等動作,目標是將仿真水球推進己方的目標球門。經過裁判允許后,方可在比賽過程中更換策略,在比賽時間遞減到一半時,服務端會彈出“Pause”的指令,提示暫停比賽,待雙方隊伍交換場地之后,執行“Continue”指令繼續比賽,在比賽時間遞減為0時,服務端會彈出提示,經過裁判確認比賽后,比賽結束。
在2D搶球博弈仿真平臺中,除交換半場的時機外,每支隊伍都可在每個半場提出一次更換策略的請求,分析對方采用的策略并及時更換己方策略顯得尤為重要,以下研究了開場策略、下半場策略以及全場區域劃分策略。
(一)開場策略。在雙方隊伍開場階段,由于平臺仿真的客觀因素,導致機器魚攜帶3分球不穩定。根據平臺提供的運球函數,機器仿真魚在水中的運行速度也比較慢,并且3分球的表面較為光滑,開場攜帶3分球易造成失誤。針對此類情況,可以通過充分利用場地邊角來實現快速得分。開場讓機器魚1和機器魚2運動到邊角,再順著墻壁帶著球運動,待機器魚通過轉彎,再帶動球沿著豎直的墻壁同時向中心點運動,最后通過控制速度和角度,讓機器魚更快地進球得分,最終達到開場六分的好成績。
通過對場地的分析測試,基于區域不同進行了不同的速度規劃,在機器魚1和機器魚2到達場地邊之前,先進行加速,再尋找目標位置點,最后穩定減速在球旁邊,考慮到可能存在對方魚干擾的因素,在魚到場地邊界這一小步中加入對方魚頭距離檢測變量來檢測對方所處位置,一旦對方魚頭超過我方魚頭,我方魚頭會朝向對方魚頭的側方向進行加速攻擊,進而達到擠開對方機器魚的目的。
除此之外,為了防止機器魚在場地邊界出現失控的情況,需要在控制機器魚運動的控制程序中加入許多邏輯控制變量來進行判決,讓機器魚能夠順利進行帶球、補球等一系列操作,進而確保作為控制對象的機器魚能夠快速拿下6分的成績。
(二)下半場策略。依據本場比賽的規則,充分利用上下半場各有一次更換策略的機會,并根據對方隊伍的搶球策略及時更換不同的策略。在開局采取快速進攻的策略取得六分后,請求暫停,將當前的策略換為“一魚進攻,一魚帶球”,具體表現為:根據時間參數設定好攻擊對方機器魚的周期,用己方一條機器魚去帶一個3分球,另一條機器魚每隔一分鐘輪流攻擊對方的兩條魚。
參賽選手可以通過修改攻擊對方機器魚的周期參數來獲取更多策略,可以將參數設定為1分鐘、30秒等等,結合具體情況來確定數值。采用該策略能夠實現最大程度干擾對方以及己方進球機會最大化,同時還要針對球所處的位置來編寫機器魚的各種運球策略,方便在比賽時更換使用。
(三)全場劃分區域策略。比賽場地劃分為4個區域[3]:中央區域、死角區域、進球區域、球門區域。中央區域包含左區域和右區域,根據不同的區域來設定機器魚的不同目標點、速度、角速度以及判定條件,讓機器魚帶動球運動時避免仿真系統里隨機模擬的水波以及仿真機器魚和場地邊緣相互作用而產生的失真情況,進而能夠穩定地帶動球朝目標區域移動。
大多數隊伍傾向于先確定水球和目標點的位置,讓機器魚、水球和目標點都在一條直線上,通過機器魚頭部頂球的方式直線運球,慢慢靠近己方球門的目標區域[4],倘若三者不在同一條直線上,通過降低機器魚前進的速度,同時增大角速度,使得魚體迅速調整方向,再將水球帶入指定目標區域。
本文所提策略包含開場策略、下半場策略以及全場劃分區域策略,能夠在賽場上快速得到較高的分數,盡快占據主場優勢,經過試驗機器魚的運行軌跡與編程軌跡大體相同,并且易于控制處于特殊位置的機器魚,最終能夠取得不錯的成績。
限于仿真平臺模擬真實場景并帶有干擾函數的特點,難免會出現一些失控的情況,機器魚在帶球過程中會出現頭部穿過水球以及卡在綠色障礙物的情況,極少出現機器魚帶球失誤而出現在場地中圍繞進球門繞圈的狀況。
搶球博弈策略充分考慮平臺仿真環境、機器魚的運動狀態以及水球自身特征等因素,基于區域劃分比賽場地,充分利用機器魚的身體部位進行運球,從而能夠更好地占據開場優勢,同時依照對方隊伍機器魚的運動軌跡及時更換策略,在策略上壓制對方。通過對本文策略的多次試驗,結果表明大多數情況下都能夠較快取得不錯的成績。