陳鵬慧 蔡 瓊
(湖南信息職業(yè)技術(shù)學(xué)院,湖南 長(zhǎng)沙 410200)
習(xí)近平主席在中國科學(xué)院第十七次院士大會(huì)上講到,“機(jī)器人革命”有望成為“第三次工業(yè)革命”、“我們不僅要把我國機(jī)器人水平提高上去,而且要盡可能多地占領(lǐng)市場(chǎng)”,由此可以看出,機(jī)器人技術(shù)是各國研究的一個(gè)重要領(lǐng)域。機(jī)器人在完成復(fù)雜的任務(wù)時(shí),單個(gè)機(jī)器人不能很好地完成,多機(jī)器人協(xié)作則可以解決這類問題。多機(jī)器人協(xié)作完成目標(biāo)任務(wù)時(shí),各個(gè)機(jī)器人在完成任務(wù)時(shí)角色的分配顯得尤為重要[1]。該文分析了多機(jī)器人協(xié)作中常見的幾種角色分配機(jī)制的優(yōu)缺點(diǎn),并提出了一種基于多影響因素的角色動(dòng)態(tài)分配機(jī)制。
多機(jī)器人協(xié)作完成某項(xiàng)任務(wù)時(shí),單個(gè)機(jī)器人完成哪個(gè)子任務(wù),決定了該機(jī)器人在此次任務(wù)中的角色。角色分配是給機(jī)器人分配各自的角色,角色分配的是否合理決定了任務(wù)完成的好壞。常見的角色分配機(jī)制有兩大類:角色靜態(tài)分配機(jī)制與角色動(dòng)態(tài)分配機(jī)制。
該分配機(jī)制是指整個(gè)任務(wù)完成過程中,單個(gè)機(jī)器人的任務(wù)是固定的,即角色是靜態(tài)的。其缺點(diǎn)是,當(dāng)某個(gè)機(jī)器人在執(zhí)行所屬角色的子任務(wù)過程中,該機(jī)器人自身及周圍環(huán)境信息都發(fā)生了變化,已經(jīng)不適合去執(zhí)行這個(gè)任務(wù),但還必須執(zhí)行,而其他更適合這個(gè)子任務(wù)的機(jī)器人也只能執(zhí)行自己角色的任務(wù),該機(jī)制適應(yīng)性不強(qiáng),執(zhí)行效率較低[2]。但該機(jī)制也有優(yōu)點(diǎn),靜態(tài)分配下各機(jī)器人的子任務(wù)確定,最終能將子任務(wù)完成,不會(huì)出現(xiàn)機(jī)器人執(zhí)行混亂的狀態(tài)。
一般動(dòng)態(tài)分配機(jī)制在執(zhí)行任務(wù)的過程中,各個(gè)機(jī)器人根據(jù)自身的信息、環(huán)境信息、其他機(jī)器人的信息來相互轉(zhuǎn)換角色,最終協(xié)作完成任務(wù)。該機(jī)制的優(yōu)點(diǎn)是,可以根據(jù)各種信息的變化選擇最為合適的機(jī)器人去執(zhí)行對(duì)應(yīng)的子任務(wù),達(dá)到有效完成任務(wù)的目的。
常見角色動(dòng)態(tài)分配機(jī)制中,多以環(huán)境信息中跟子任務(wù)有關(guān)的坐標(biāo)點(diǎn)信息與機(jī)器人中心坐標(biāo)點(diǎn)之間的距離作為動(dòng)態(tài)分配依據(jù),離某一子任務(wù)坐標(biāo)點(diǎn)最近的機(jī)器人去執(zhí)行這個(gè)子任務(wù),但該機(jī)器人自身的角度或其他狀態(tài)不一定適合執(zhí)行該子任務(wù)[3]。且很多時(shí)候環(huán)境中的其他信息也很重要。該類機(jī)制的缺點(diǎn)則是在各種信息改變較快的情況下,機(jī)器人的角色轉(zhuǎn)換太快,導(dǎo)致不能穩(wěn)定地去執(zhí)行子任務(wù),在角色之間徘徊,結(jié)果出現(xiàn)執(zhí)行不穩(wěn)定狀態(tài)[4],難以獲得全局最優(yōu)解。
從對(duì)常見角色動(dòng)態(tài)分配機(jī)制可以看出,多機(jī)器人協(xié)作完成任務(wù)時(shí),多個(gè)環(huán)境信息的考慮是很有必要的,并且角色動(dòng)態(tài)分配要考慮全局最優(yōu),即要得到所有機(jī)器人分配角色的一個(gè)最優(yōu)情況。因此,本文提出了一種基于多個(gè)影響因素的角色動(dòng)態(tài)分配機(jī)制。
該機(jī)制的基本思路是:n個(gè)機(jī)器人,m個(gè)子任務(wù),每個(gè)機(jī)器人對(duì)應(yīng)執(zhí)行一個(gè)子任務(wù),子任務(wù)可以多個(gè)機(jī)器人共同執(zhí)行。每個(gè)機(jī)器人執(zhí)行任意一個(gè)子任務(wù)的情況都全面地考慮到,并按影響因素來進(jìn)行計(jì)算,計(jì)算得出一組數(shù)據(jù)值,再進(jìn)行篩選,根據(jù)需要選出所需要的情況:最優(yōu)解,次優(yōu)解,再次優(yōu)等。
設(shè)定m個(gè)子任務(wù)目標(biāo)點(diǎn)存放在數(shù)組t_Ptms中;n個(gè)機(jī)器人目標(biāo)點(diǎn)信息存放在r_Ptms中,機(jī)器人身體朝向信息存放在r_dirs中。變量num記錄n與m中較小的值。計(jì)算n個(gè)機(jī)器人取num個(gè)元素的排列有r_PermuCount種,具體的排列存 放 在 鏈 表 r_Permut中; r_Permut[i][0]...r_Permut[i][num]表示表示排列的第i種情況,存放在鏈表r_Permut[i]中。計(jì)算m個(gè)子任務(wù)目標(biāo)點(diǎn)取num個(gè)元素的排列t_PermuCount種,具體的排列存放在鏈表t_Permut[j]中。
其中:k=0,1,2,…,num。
夾角影響因子ka;距離影響因子kd。
atemp[k]= 由 r_Ptms[r_Permut[i][k]],t_Ptms[t_Permut[i][k]]兩點(diǎn)形成的向量,與r_dirs[r_Permut[i][k]]之間的夾角。
dtemp=r_Ptms[r_Permut[i][k]],t_Ptms[t_Permut[i][k]]兩點(diǎn)之間的距離。
影響因素暫時(shí)考慮機(jī)器人中心坐標(biāo)點(diǎn)與子任務(wù)目標(biāo)點(diǎn)的距離、機(jī)器人中心坐標(biāo)點(diǎn)與子目標(biāo)點(diǎn)形成的向量與機(jī)器人方向之間的夾角。根據(jù)公式(1)進(jìn)行計(jì)算。計(jì)算出來的Funs[i,j]就是機(jī)器人為第i種排列、子任務(wù)目標(biāo)點(diǎn)為第j種排列的權(quán)值,將這樣的值進(jìn)行遍歷,首先找出最小值,記錄下其i,j,根據(jù)i,j值找到對(duì)應(yīng)的排列,即找到了最優(yōu)解,最后將這個(gè)Funs[i,j]重新用一個(gè)不會(huì)出現(xiàn)的很大的值進(jìn)行賦值,接著重新遍歷Funs數(shù)組,找出次優(yōu)解,依次類推,需要多少組解,就遍歷多少次。
筆者將多影響因素的角色動(dòng)態(tài)分配機(jī)制應(yīng)用到中國水中機(jī)器人2D仿真水中搬運(yùn)項(xiàng)目[5]。水中搬運(yùn)項(xiàng)目在水池仿真環(huán)境中實(shí)現(xiàn),是一個(gè)機(jī)器人協(xié)作項(xiàng)目(圖1),機(jī)器人的任務(wù)是共同將6個(gè)彩色球搬運(yùn)到指定標(biāo)號(hào)的位置,比賽時(shí)間為10min,完成任務(wù)所需時(shí)間越少者獲勝。
圖1 水中搬運(yùn)項(xiàng)目開始界面
根據(jù)基于多影響因素的角色動(dòng)態(tài)分配機(jī)制公式,設(shè)置合理的影響因子。當(dāng)球與目標(biāo)點(diǎn)位置如圖2所示時(shí),機(jī)器人的頂球在I、II區(qū)域是最優(yōu)區(qū)域,III、IV區(qū)域次優(yōu),最不合適的就是V、VI,給出不同的值,最優(yōu)區(qū)域的值最小,次優(yōu)稍大,不合適的最大。距離的遠(yuǎn)近也分成多個(gè)檔位,距離越遠(yuǎn),檔位值越大,反之值越小。每種機(jī)制在同樣的條件下,進(jìn)行20組測(cè)試,記錄了20次完成任務(wù)的平均時(shí)間、完成任務(wù)耗時(shí)最長(zhǎng)和最短的時(shí)間,未完成任務(wù)的那幾次不參與到平均時(shí)間的計(jì)算中。計(jì)算得到如下表1中的數(shù)據(jù)。
表1 實(shí)驗(yàn)數(shù)據(jù)表
影響任務(wù)的完成時(shí)間與機(jī)器人頂球的基本動(dòng)作也有關(guān),因此實(shí)驗(yàn)中三種分配方式均采用的是同一個(gè)頂球函數(shù)。靜態(tài)角色分配中,出現(xiàn)不能完成任務(wù)主要是因?yàn)橛行r(shí)候球的位置很不適合頂,機(jī)器人也會(huì)去頂,導(dǎo)致時(shí)間不夠沒有完成任務(wù);而一般距離的角色動(dòng)態(tài)分配中會(huì)出現(xiàn)兩個(gè)機(jī)器人離某個(gè)球的距離值大小搖擺不定,導(dǎo)致角色分配不穩(wěn)定,不能正常去頂球完成任務(wù)。從表格中可以看出,基于多影響因素的角色動(dòng)態(tài)分配,更有效地利用了場(chǎng)上的環(huán)境,和目標(biāo)任務(wù)之間的關(guān)系,沒出現(xiàn)不能完成任務(wù)的情況,而且任務(wù)完成的時(shí)間比較短。
從實(shí)驗(yàn)效果可以看出基于多影響因子的動(dòng)態(tài)角色分配在多機(jī)器人協(xié)作完成任務(wù)的效果比較好,在2015年中國水中機(jī)器人2D仿真水中搬運(yùn)項(xiàng)目中獲得了較好的成績(jī)。筆者在試驗(yàn)中主要考慮的是距離與角度等影響因子,機(jī)器人相關(guān)的其他因素線速度、角速度、加速度等也是今后研究動(dòng)態(tài)角色分配的一些方面。同時(shí)考慮到該算法主要考慮的是已知環(huán)境的問題,也要將環(huán)境未知的情況考慮進(jìn)來,這就需要應(yīng)用人工智能中的一些算法:如強(qiáng)化學(xué)習(xí)算法等[6],當(dāng)然實(shí)際應(yīng)用中運(yùn)算速度的問題也是需要考慮的。
[1]吳麗娟,翟玉人,徐心和.足球機(jī)器人系統(tǒng)中角色分配策略的設(shè)計(jì)[J].基礎(chǔ)自動(dòng)化,2000,7(1):4-6.
[2]Healey A.J,Kim J.Control and random searching with multiple robots[C].The 39th IEEE Conference on Decision and Control.Sydney Australia.2002,9:340-345.
[3]程立英,趙姝穎,潘峰,等.足球機(jī)器人動(dòng)態(tài)角色分配策略仿真研究[J].計(jì)算機(jī)仿真,2013,30(5):383-386.
[4]NunoLau.Multi-RobotTeam Coordinationthrough Roles,Positionings and Coordinated Procedure[C].IEEE/RSJ International Conference on Intelligent Robots and Systems,2009.
[5]肖權(quán).機(jī)器魚位姿控制與協(xié)作頂球研究[M].柳州:廣西工學(xué)院,2012.
[6]陳澤平.基于MSRS 5vs5仿真足球機(jī)器人決策系統(tǒng)的研究[D].長(zhǎng)沙:長(zhǎng)沙理工大學(xué),2010.