錢平 彭昔 鮮學(xué)豐 張震



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