錢平 彭昔 鮮學豐 張震
摘要:針對機器魚水中角力比賽項目中,研究比較多的是尋找最佳點撞擊或者自身運行狀態(tài)調(diào)整策略,本文主要提出了基于漂浮物位置變化預判對方攻擊點位置進行應對的水中角力策略。通過預判對方攻擊位置,調(diào)整自身撞擊圓環(huán)漂浮物的較優(yōu)點和較優(yōu)方案,保持當圓環(huán)漂浮物在任何位置時,都有效進行攻擊或者反擊。經(jīng)過多次試驗,該方法與其他策略的對戰(zhàn)下,起到比較好的效果,在實際比賽中也取得良好的成績。
關鍵詞:水中角力;機器魚;策略優(yōu)化;位置變化
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2019)30-0206-03
近年來,在國家和各級政府的引領下,智能水下機器人迅猛發(fā)展,其應用在軍事和民用領域都十分廣泛。通過緊跟搶抓海洋科技與人工智能的戰(zhàn)略機遇,江蘇省教育廳主辦了大學生機器人大賽以貫徹國家關于加強海洋強國的發(fā)展戰(zhàn)略。通過相關水下機器人的比賽加強專業(yè)學科建設、深化教育改革,培養(yǎng)大學生工程實踐與理論知識相結(jié)合的學習習慣,使當代大學生在創(chuàng)新能力、動手實踐能力都能得到實際鍛煉。
本文主要對水中機器人角力項目比賽策略進行研究,該比賽具有一定的技術性和觀賞性,受到了許多學校隊伍的關注。包括基于微分對策策略在內(nèi)算法策略都比較精細化和理論化,由于受到現(xiàn)場環(huán)境和水紋波動,對于相對的精準的策略在實際比賽或?qū)嶒炛胁灰欢芷鸬阶罴研Ч?。本文介紹的基于漂浮物位置區(qū)域變化的水中角力策略經(jīng)過多次實驗和改進,成為一種較為有效攻擊或防守的策略。
1全局視覺水中角力比賽簡介與規(guī)則
江蘇省大學生機器人大賽水中機器人角力項目比賽場地是由長為3m寬為2m的藍色水池組成,水深為25cm。且將水池平均分成左右兩區(qū),如圖1所示。比賽隊伍各自派一條機器魚上場,比賽準備工作是裁判員將內(nèi)徑為90cm的漂浮物至于水池正中心并保持靜止。雙方機器魚如圖至于場地中,裁判哨向后A魚參賽隊往左區(qū)頂漂浮物,B魚參賽隊往右區(qū)頂漂浮物。
比賽規(guī)則:
1)裁判鳴哨前,參賽隊機器魚應處于靜止狀態(tài),否則因搶跑直接判負,且在比賽過程中選手不得接觸和遙控機器魚。
2)若在1分鐘內(nèi),機器魚將漂浮物完全頂入自己的攻擊區(qū),則該參賽隊獲勝一局;若時間到一分鐘后漂浮物沒有完全進入左區(qū)或右區(qū),則由裁判判定在哪個區(qū)域漂浮物面積較大,較大者攻擊方獲勝一局。
3)比賽采用3局2勝制,抽簽決定先攻擊哪個區(qū),之后每局交換場地,每局限時1分鐘,比賽總時為5分鐘。
2比賽策略提出
2.1策略提出背景
在水中機器人角力項目比賽中,以往研究比較多的一類策略為尋找攻擊最優(yōu)點的方式,該類策略預設很多撞擊點,劃分過于精細后直接導致機器魚調(diào)整遇到困難,不利于后期的攻擊。另一類研究較多的策略為利用機器魚中心點在漂浮物中所處的位置,進行角度劃分或者區(qū)域劃分,當機器魚處于不同角度或者漂浮物不同區(qū)域時,采用不同的攻擊策略,該類策略整體效果要比單純的尋找最優(yōu)點方式優(yōu)化很多,但是該類策略條件寬泛,對于角度計算和區(qū)域劃分要做大量的前期實驗和計算,使用不當會導致較大誤差。以上兩類策略都是只考慮本身機器魚的各種位置和狀態(tài),忽略了預判對手的攻擊位置和狀態(tài)。由于視覺系統(tǒng)無法識別對方機器魚的位置和狀態(tài),但是根據(jù)實驗和比賽經(jīng)驗的數(shù)據(jù),發(fā)現(xiàn)漂浮物的位置隨時在發(fā)生變化,通過漂浮物中心點與賽場中心點的位置可以預判對手的攻擊點和攻擊狀態(tài),因此筆者提出基于漂浮物位置變化的機器魚手中角力策略。
2.2策略思想
本文所提出的策略將漂浮物中心所處位置分為五個大區(qū)域,分別是I區(qū)為第一象限區(qū),II區(qū)為第二象限區(qū),III區(qū)為第三象限區(qū),IV區(qū)為第四象限區(qū),v區(qū)為中間區(qū),區(qū)域劃分圖如圖2所示。策略的總體思想是漂浮物中心點在場地的五個不同區(qū)域中,機器魚采取不同的攻擊方式。根據(jù)多次比賽和實驗室測試經(jīng)驗,以A機器魚攻擊左區(qū)為例,當漂浮物中心點分別處于第一、四象限區(qū)時,A魚處于劣勢狀態(tài),且可以預判到對手機器魚攻擊點分別在圖2的右上第一象限、右下第四象限范圍內(nèi),A魚采取的策略攻擊點分別為左下第三象限、左上第二象限的某點盡最大可能減小劣勢;當漂浮物中心點分別處于第二、三象限區(qū)時,A魚也處于優(yōu)勢狀態(tài),且可以預判到對手機器魚采用的攻擊策略范圍分別在圖2的右下第四象限、右上第一象限范圍內(nèi),因此A魚采取的策略攻擊點分別為左上第二象限、左下第三象限某點繼續(xù)保持優(yōu)勢狀態(tài)并取得勝利;當漂浮物中心點分別處于v區(qū)中間區(qū)時,優(yōu)劣勢并不明朗,且漂浮物中心點偏移不大,A魚采用攻擊漂浮物左側(cè)水平中間點。
2.3策略控制算法
定義水池中心點為原點,水平中線為x軸,豎直中線為v軸,漂浮物中心點位置變量ring_point,相應坐標為(ring_point.x,ring_point.y)。關于五個區(qū)域的劃分,在實驗水池經(jīng)過多次實驗最終得出v區(qū)為中間寬度為250mm區(qū)域。根據(jù)漂浮物中心點位于水池不同位置,理論上根據(jù)機器魚在該情況下處理決策如下:
1.如果漂浮物中心點位置處于第一象限和第三象限,此時機器魚來回水平撞擊pointO和45°角撞擊pointl,如圖3(a)、3(b)所示;
2.如果漂浮物中心點位置處于第二象限和第四象限,此時機器魚來回水平撞擊pointO和45°角撞擊point2,如圖3(c)、3(d)所示;
3.如果漂浮物中心點位置處于第v中間區(qū)域,此時機器魚始終水平撞擊pointO,如圖3(e)所示。
其中pointO為漂浮物圓環(huán)左側(cè)中間點,坐標為(ring_point.x-900,ring_point.y);pointl與漂浮物中心點的連線與x軸呈45。角,其坐標為(ring_point.x-630,ring_point.y-630);point2與漂浮物中心點的連線與x軸也呈45°角,其坐標為(ring_point.x-630,ring_point.y+630)。另一方面由于比賽對抗比較激烈,水紋波動比較大,根據(jù)多次測試和比賽經(jīng)驗,攻擊時必須在pointl點和pointO點或者point2點和pointO點之間來回循環(huán)攻擊,并能取得較好的效果。
本文中介紹的機器魚是仿生的、交互模式的智能機器魚,擁有3關節(jié)舵機設計,可仿生游動,2.4G無線通信,72M高速處理CPU,STM32單片機控制。該機器魚的擺動方向和擺動速度都分為15個等級,具體含義如表1所示。
本策略在第一到第四象限區(qū)考慮到兩個進攻點之間的來回攻擊,為了權(quán)衡速度和攻擊沖力,經(jīng)過多次實驗游速以等級14保持全速前進,左拐和右拐分別保持擺動方向2等級和12等級。在v區(qū)域都以14等級全速游動,擺動方向等級7保持直游。
整體算法流程圖如圖4所示。
2.4策略優(yōu)勢
本策略的優(yōu)勢主要在于根據(jù)漂浮物的中心位置預判對手可能的攻擊狀態(tài),并調(diào)整自己最有效的攻擊方法,其中涉及的攻擊點都是在力學上理論較優(yōu)點,并且也并不是純粹的攻擊較優(yōu)點,是通過比賽經(jīng)驗循環(huán)攻擊水平點和較優(yōu)點。這樣可以減少水紋波動等其他條件的影響。該策略解決了預先設定大量撞擊點導致機器魚機械性能達不到相關要求;同時也解決了純粹攻擊理論最優(yōu)點實際上達不到最好效果。
筆者采用基于漂浮物位置變化的機器魚水中角力策略與其他相關策略進行實驗室對抗,勝率達到80%以上,也在第九屆江蘇省大學生機器人大賽水中角力項目中取得較好的成績,說明該策略有效可行,且比較穩(wěn)定。
3結(jié)論
機器魚水中角力策略主要有兩方面的改進,一是基于漂浮物中心位置在比賽場的位置變化預判對手的攻擊狀態(tài),調(diào)整自身的攻擊點和位置保證攻擊的較優(yōu)化,第二是攻擊點選擇時是循環(huán)攻擊水平點和最優(yōu)點來避免陷入局部最優(yōu)而忽略外界環(huán)境的影響。筆者提出的策略也是一個漸進的過程,還存在自身的局限性,在每個區(qū)域內(nèi),考慮到機器魚的機械性,攻擊點是否可以重新選擇更優(yōu)的,攻擊時長是否能更加合理,都是可以調(diào)整的,希望本文策略可以提供一個良好的啟發(fā)。