郭振宇,袁 杰,馬圣山
(新疆大學(xué)電氣工程學(xué)院,新疆 烏魯木齊 830017)
近些年來,室內(nèi)空氣污染所帶來的威脅與日俱增[1],特別是當(dāng)有毒、易燃、生化、放射性等有害物質(zhì)在室內(nèi)空間中發(fā)生泄漏時(shí),將嚴(yán)重污染室內(nèi)空氣環(huán)境,必須盡快、準(zhǔn)確地定位室內(nèi)環(huán)境中的污染源。目前,羽流尋源的方法通常有兩種類型:一種是利用固定傳感器網(wǎng)絡(luò)進(jìn)行羽流源位置的確定;另一種是利用移動機(jī)器人來搜索定位羽流源。
基于固定傳感器網(wǎng)絡(luò)的方法主要由優(yōu)化算法[2]或概率分布采樣方法[3-4]預(yù)測羽流源位置。該方法通過傳感器網(wǎng)絡(luò)收集擴(kuò)散在空氣中的羽流濃度數(shù)據(jù),實(shí)現(xiàn)對羽流源位置的估計(jì),但該方法依賴于氣流傳輸和擴(kuò)散模型,當(dāng)模型不精確時(shí)會導(dǎo)致較大的預(yù)測誤差。
與基于固定傳感器網(wǎng)絡(luò)的方法不同,配備有傳感器的移動機(jī)器人采用主動嗅覺方法,利用獲取氣流和羽流濃度信息自動檢測和跟蹤羽流并定位其來源。近幾年,研究人員提出了多種基于主動嗅覺的羽流源定位方法,主要包括基于濃度梯度的方法[5]、基于仿生的方法[6]和基于多機(jī)器人的方法[7-11]。與基于單機(jī)器人的主動嗅覺方法相比,基于多機(jī)器人的方法在機(jī)器人之間共享化學(xué)煙羽線索,在羽流尋源過程中能夠減少搜索時(shí)間。在基于多機(jī)器人的主動嗅覺方法中,啟發(fā)式優(yōu)化方法可以將羽流尋源問題轉(zhuǎn)化為優(yōu)化問題并加以解決,由于其在效率、魯棒性和全局搜索能力方面上的明顯優(yōu)勢,引起了學(xué)者們的廣泛關(guān)注和探索。Wang 等人提出一種基于保證收斂的粒子群優(yōu)化(GC-PSO)的MGC-PSO[7]。該方法動態(tài)調(diào)整部分低適應(yīng)度機(jī)器人的尋源模式和搜索范圍因子能實(shí)現(xiàn)準(zhǔn)確的源定位。黃建新等人提出模擬退火算法結(jié)合模糊C 均值聚類的羽流尋源方法,采用模擬退火算法為尋源無人機(jī)提供位置坐標(biāo),并通過模糊C 均值算法為無人機(jī)搜索提供范圍[8]。Feng 等人提出了一種獨(dú)立于氣流信息的改進(jìn)型粒子群優(yōu)化(IPSO)算法[9]。在這個(gè)方法中引入了一個(gè)極值干擾因子,從而增強(qiáng)了機(jī)器人的探索能力。傅均等人提出了一種基于風(fēng)向人工生態(tài)系統(tǒng)優(yōu)化算法(WAEO)的主動嗅覺方法,該方法通過增加追風(fēng)者角色提高了多臺機(jī)器人定位室內(nèi)羽流源的效率[10]。Feng 等人提出了一種基于自適應(yīng)粒子群優(yōu)化的多機(jī)器人嗅覺方法(URPSO),真實(shí)的機(jī)器人實(shí)驗(yàn)證明了該方法的可行性[11]。
然而,上述研究對于風(fēng)信息的利用使得機(jī)器人需要攜帶昂貴而笨重的風(fēng)速計(jì),不僅提高了羽流尋源的成本,而且降低了機(jī)器人的靈活性和適應(yīng)性;同時(shí),上述研究大多忽略了障礙物對室內(nèi)羽流分布的影響,當(dāng)室內(nèi)環(huán)境中存在障礙物時(shí),羽流分布區(qū)域會存在多個(gè)局部極值區(qū),湍流環(huán)境中氣體羽流的斑塊狀和時(shí)變性特點(diǎn)將會導(dǎo)致機(jī)器人逃離這些區(qū)域的難度大大增加。
S. Mirjalili 等人提出了一種優(yōu)化方法,其靈感來自于樽海鞘的導(dǎo)航和覓食行為,稱為樽海鞘群算法(Salp Swarm Algorithm, SSA)[12]。作為一種啟發(fā)式優(yōu)化方法,SSA 具有優(yōu)異的探索性和全局性。到目前為止,SSA已廣泛應(yīng)用于許多領(lǐng)域,但目前該算法尚未用于機(jī)器人羽流尋源任務(wù)。針對室內(nèi)環(huán)境中存在障礙物時(shí)羽流分布的復(fù)雜性和動態(tài)性特點(diǎn),本文提出了一種基于改進(jìn)樽海鞘群算法的MPSSA(Mutation Perturbation Salp Swarm Algorithm),用于指導(dǎo)多機(jī)器人的主動羽流尋源過程。
SSA 受啟發(fā)于海洋中樽海鞘的航行和覓食行為,一條樽海鞘鏈由兩種類型的樽海鞘組成:位于首端的領(lǐng)導(dǎo)者和緊隨的追隨者?;赟SA 的基本原理,機(jī)器人在尋源過程中可以結(jié)合每次采集的濃度數(shù)據(jù),將羽流濃度最大的位置設(shè)定為食物源的位置,處于領(lǐng)導(dǎo)者位置的機(jī)器人根據(jù)食物源進(jìn)行位置更新,其他機(jī)器人追蹤食物源。
在多機(jī)器人協(xié)同追蹤羽流過程中,如果將搜索空間中某一個(gè)食物源F視為樽海鞘鏈的目標(biāo),則處于領(lǐng)導(dǎo)者角色的機(jī)器人位置更新如下:
式中:Fj是位置向量中的第j維;c2和c3是在區(qū)間[0,1]內(nèi)均勻生成的隨機(jī)數(shù);ubj和lbj分別代表機(jī)器人在羽流分布空間的第j維搜索區(qū)域的上界和下界;c1(t)是控制參數(shù)。c1(t)計(jì)算公式如下:
式中:t為當(dāng)前迭代次數(shù);T為最大迭代次數(shù)。在標(biāo)準(zhǔn)SSA 中,第i個(gè)追隨者的位置向量更新可由式(3)確定:
1.2.1 隨機(jī)擾動策略
機(jī)器人在搜索空間中的移動存在最大步長限制,容易陷入局部最優(yōu)位置。從式(3)可以看出,追隨者機(jī)器人的搜索行為依賴于前一個(gè)機(jī)器人位置,當(dāng)機(jī)器人困在局部最優(yōu)區(qū)域時(shí),追隨者機(jī)器人的搜索范圍僅限于局部最優(yōu)區(qū)域。為了避免這一情況的發(fā)生,提高機(jī)器人的全局搜索能力,將處于追隨者角色的機(jī)器人引入隨機(jī)擾動策略,通過添加隨機(jī)擾動因子來進(jìn)行位置更新。第i個(gè)追隨者的位置向量更新中的第j維由式(4)確定:
式中:L為機(jī)器人的最大步長;rand(-1,1)為均勻分布在[-1,1]范圍內(nèi)的隨機(jī)數(shù)。
1.2.2 弱感知機(jī)器人局部高斯變異策略
在探索動態(tài)羽流分布空間時(shí),SSA 限制了適應(yīng)環(huán)境變化的能力,特別是當(dāng)機(jī)器人處于復(fù)雜動態(tài)的湍流環(huán)境中時(shí),保持算法較好的探索性能至關(guān)重要。
當(dāng)機(jī)器人切換到羽流追蹤階段時(shí),部分機(jī)器人所在位置處的羽流濃度較低,本文將處于該狀態(tài)的機(jī)器人中的某一個(gè)體稱為弱感知機(jī)器人。弱感知狀態(tài)下的機(jī)器人雖然存在較差的適應(yīng)度,但能有效地利用自身信息,而不是盲目地跟隨前一機(jī)器人。為增強(qiáng)種群多樣性,有效避免尋源機(jī)器人陷入羽流局部極值區(qū)域,本文為處于弱感知狀態(tài)的單個(gè)機(jī)器人個(gè)體提出了一種局部高斯變異策略,公式如下:
局部高斯變異策略使弱感知機(jī)器人可以在領(lǐng)導(dǎo)者更新位置的反方向局部區(qū)域搜索,降低領(lǐng)導(dǎo)者機(jī)器人的搜索盲區(qū),增加機(jī)器人搜索方式的多樣性,使機(jī)器人在動態(tài)的湍流環(huán)境中具有較好的尋源效率和逃逸局部極值的能力。圖1 所示為本文基于改進(jìn)的樽海鞘群算法的自主羽流尋源方法MPSSA 的流程。
圖1 自主羽流尋源方法MPSSA 流程
在使用CFD(Computational Fluid Dynamics)方法進(jìn)行的絕大多數(shù)羽流擴(kuò)散分布研究中,雷諾茲平均納維-斯托克斯方程(RANS)建模用于模擬湍流和湍流被動標(biāo)量傳輸。重整化群(RNG)k-ε模型能夠提供最佳的結(jié)果,其精度高的特點(diǎn)可以重現(xiàn)現(xiàn)實(shí)情況中羽流分布情況[13]。羽流源位于10 m×10 m 尺寸的二維通風(fēng)房間中,其中房間窗戶處為進(jìn)風(fēng)口,房間門為出風(fēng)口,進(jìn)風(fēng)口風(fēng)速設(shè)置為0.5 m/s,羽流源的釋放速率為0.12 kg/s,羽流源的位置坐標(biāo)為(2.1 m,1.85 m),房間信息及障礙物分布如圖2 所示。
圖2 房間信息及障礙物分布圖
本文采用3 臺機(jī)器人進(jìn)行羽流尋源實(shí)驗(yàn),設(shè)置機(jī)器人最大移動步長為0.3 m。在羽流發(fā)現(xiàn)階段采用發(fā)散式搜索方法[10,14],最大濃度方法[15-16]用于聲明源位置,源申報(bào)閾值是源頭0.5 m 范圍內(nèi)的平均濃度,當(dāng)機(jī)器人確定的源位置與實(shí)際源位置之間的距離小于0.5 m 并且迭代次數(shù)小于1 000 時(shí),認(rèn)為源定位成功,否則源定位失敗。在機(jī)器人搜索過程中忽略機(jī)器人尺寸,將所有機(jī)器人在數(shù)值模擬實(shí)驗(yàn)中近似為單個(gè)點(diǎn)。CFD 生成瞬時(shí)羽流數(shù)據(jù)被導(dǎo)入Matlab 2019b,MPSSA 參數(shù)設(shè)置如表1 所示。機(jī)器人尋源過程如圖3 所示。
表1 MPSSA 參數(shù)設(shè)置
圖3 機(jī)器人在不同迭代步數(shù)時(shí)的位置
在圖3a)時(shí)刻,3 臺機(jī)器人位于室內(nèi)出風(fēng)口處的初始位置上,采取發(fā)散式搜索策略實(shí)現(xiàn)羽流發(fā)現(xiàn)過程;圖3b)時(shí)刻表示機(jī)器人在迭代步數(shù)為4 時(shí),機(jī)器人檢測到的羽流濃度達(dá)到羽流追蹤預(yù)設(shè)閾值,機(jī)器人轉(zhuǎn)入羽流追蹤階段;圖3c)時(shí)刻機(jī)器人在迭代步數(shù)為75 時(shí)機(jī)器人持續(xù)追蹤羽流;圖3d)時(shí)刻機(jī)器人在迭代步數(shù)為120 時(shí)機(jī)器人陷入羽流局部極值區(qū)域,直到圖3e)時(shí)刻迭代步數(shù)為148 時(shí),機(jī)器人逐步逃離羽流極值區(qū)域;圖3f)時(shí)刻迭代步數(shù)為282 時(shí),機(jī)器人申報(bào)源位置,成功完成羽流尋源任務(wù)。
本文評估了所提多機(jī)器人自主羽流尋源方法MPSSA 在尋源任務(wù)上的性能,并分別與三種多移動機(jī)器人主動嗅覺方法FS-FOA[17]、IPSO[9]和CPSO[18]在機(jī)器人羽流尋源成功率、尋源效率和算法穩(wěn)定性等方面進(jìn)行比較。
為了公平比較MPSSA、FS-FOA、IPSO 和CPSO 方法,每種方法在相同機(jī)器人數(shù)量下通過100 次獨(dú)立實(shí)驗(yàn),并且4 種尋源方法都使用了相同的羽流發(fā)現(xiàn)策略、源聲明策略、避障算法和其他設(shè)置。由于機(jī)器人攜帶的傳感器獲得的測量數(shù)據(jù)很容易受到高斯白噪聲的影響,因此在實(shí)驗(yàn)中考慮到了測量噪聲,高斯白噪聲均值設(shè)置為0,標(biāo)準(zhǔn)差設(shè)置為0.5。實(shí)驗(yàn)過程是在Matlab 2019b 和Intel?CoreTMi7-9700F CPU @ 3.00 GHz 和16.00 GB 內(nèi)存的計(jì)算機(jī)獲得的。
圖4 所示為四種方法在不同機(jī)器人數(shù)量下尋源成功率的統(tǒng)計(jì)結(jié)果。當(dāng)機(jī)器人數(shù)量大于5 臺時(shí),MPSSA 具有100%的成功率,這表明MPSSA 相較于其他三種方法可以在較少的機(jī)器人數(shù)量時(shí)較為精確地定位羽流源;在機(jī)器人數(shù)量超過8 臺時(shí)FS-FOA 方法可以實(shí)現(xiàn)90%以上的尋源成功率,而當(dāng)機(jī)器人為10 臺時(shí)IPSO 與CPSO 方法表現(xiàn)出67%與64%的尋源成功率;當(dāng)機(jī)器人數(shù)量小于4 臺時(shí)CPSO 方法尋源成功率不高于1%,幾乎不能成功定位羽流源。在四種方法中,隨著機(jī)器人數(shù)量的增加,尋源成功率也在不斷增加,當(dāng)機(jī)器人數(shù)量由3 個(gè)增加到10 個(gè)時(shí)MPSSA 的羽流尋源成功率提高60%~80%,效率提高0.16~1.5。實(shí)驗(yàn)結(jié)果表明MPSSA 比其他三種方法更加有效。
圖4 四種方法在不同機(jī)器人數(shù)量下的尋源成功率
在限制機(jī)器人移動步長時(shí),迭代步數(shù)這一評價(jià)指標(biāo)直接影響機(jī)器人的尋源效率。當(dāng)一種方法不能成功定位羽流源時(shí),討論源定位效率是沒有意義的。表2 所示為機(jī)器人在成功完成羽流尋源任務(wù)的條件下,機(jī)器人平均迭代步數(shù)及標(biāo)準(zhǔn)差。
表2 機(jī)器人尋源平均迭代步數(shù)和標(biāo)準(zhǔn)差
由表2 可見,IPSO 需要更多的迭代步數(shù)定位羽流源,MPSSA 需要的迭代步數(shù)最小,從而可以推斷出相比于其他三種方法,本文提出的MPSSA 方法在羽流追蹤和源定位中具有明顯的優(yōu)勢。同時(shí),MPSSA 相較于其他三種方法,較低的標(biāo)準(zhǔn)差反映了較好的穩(wěn)定性。此外,實(shí)驗(yàn)結(jié)果也表明,隨著機(jī)器人數(shù)量的增加,尋源效率也會提升。
為驗(yàn)證MPSSA 在實(shí)際場景中羽流尋源的有效性和適應(yīng)性,本文在實(shí)驗(yàn)室中模擬了室內(nèi)有障礙物羽流擴(kuò)散場景,并進(jìn)行15 次獨(dú)立實(shí)驗(yàn),由風(fēng)扇制造室內(nèi)通風(fēng)環(huán)境,羽流源位于下風(fēng)向位置。室內(nèi)障礙物環(huán)境更符合現(xiàn)實(shí)場景,羽流分布的動態(tài)和隨機(jī)特征能有效地驗(yàn)證所提方法的有效性和可行性。
2.4.1 實(shí)驗(yàn)場景設(shè)置
真實(shí)的多機(jī)器人尋源實(shí)驗(yàn)是在實(shí)驗(yàn)室東側(cè)的試驗(yàn)區(qū)(6.4 m×5.2 m)進(jìn)行的。在每次實(shí)驗(yàn)中,打開實(shí)驗(yàn)室門設(shè)置出風(fēng)口,利用風(fēng)扇和羽流釋放設(shè)備模擬羽流擴(kuò)散場景。圖5 所示為由SLAM(Simultaneous Localization and Mapping)建圖獲得的實(shí)驗(yàn)場地示意圖。
圖5 羽流尋源實(shí)驗(yàn)場地示意圖
本文選擇稀釋后的乙醇溶液作為釋放物質(zhì),并使用加濕器作為羽流釋放裝置。為了測試羽流尋源方法,使用3 臺具有阿克曼結(jié)構(gòu)的移動機(jī)器人,同時(shí)在這3 臺移動機(jī)器人上開發(fā)了基于MPSSA 的多機(jī)器人尋源系統(tǒng)。該型機(jī)器人不僅具有路徑規(guī)劃和自主導(dǎo)航能力,而且還有良好的感知性能。圖6 所示為羽流尋源機(jī)器人實(shí)驗(yàn)平臺。
圖6 羽流尋源機(jī)器人實(shí)驗(yàn)平臺
在每次實(shí)驗(yàn)中,3 臺機(jī)器人都采用移動后停止、再移動的策略。當(dāng)每臺機(jī)器人移動1 步后,設(shè)定機(jī)器人停留5 s 采集羽流濃度數(shù)據(jù),然后經(jīng)過MPSSA 計(jì)算后再進(jìn)行移動。每臺機(jī)器人的最大線速度設(shè)置為0.5 m/s,最大步長設(shè)置為0.5 m。
機(jī)器人發(fā)現(xiàn)羽流濃度的閾值為60 ppm,源聲明閾值濃度為240 ppm,當(dāng)機(jī)器人源聲明位置距離羽流源位置0.3 m 范圍內(nèi)時(shí),認(rèn)為源定位成功。為提高實(shí)驗(yàn)效率,在一次尋源過程中,當(dāng)機(jī)器人迭代次數(shù)超過20 時(shí),則認(rèn)為尋源失敗,所有機(jī)器人終止移動。實(shí)驗(yàn)參數(shù)設(shè)置如表3 所示。
表3 實(shí)驗(yàn)參數(shù)
2.4.2 實(shí)驗(yàn)結(jié)果分析
圖7 所示為在羽流尋源實(shí)驗(yàn)中,3 臺機(jī)器人成功定位羽流源時(shí)的運(yùn)動軌跡;圖8 所示為機(jī)器人在到達(dá)位置點(diǎn)處氣體傳感器采集的5 s 內(nèi)平均羽流濃度數(shù)據(jù);圖9所示為機(jī)器人在執(zhí)行羽流尋源各階段任務(wù)時(shí)的運(yùn)動序列圖。
圖7 實(shí)際場景中機(jī)器人尋源軌跡
圖8 實(shí)際場景中機(jī)器人在位置點(diǎn)采集的平均羽流濃度數(shù)據(jù)
圖9 實(shí)際場景中機(jī)器人不同階段尋源運(yùn)動序列
在圖7 中迭代步數(shù)為0~4 時(shí),機(jī)器人處于羽流發(fā)現(xiàn)階段,采用發(fā)散式搜索方法進(jìn)行搜索;當(dāng)?shù)綌?shù)為4時(shí),Robot3 檢測到羽流濃度高于羽流追蹤預(yù)設(shè)閾值濃度,所有機(jī)器人結(jié)束羽流發(fā)現(xiàn)任務(wù)并切換到羽流追蹤任務(wù),3 臺機(jī)器人根據(jù)當(dāng)前位置羽流濃度排序,將Robot3設(shè)置為領(lǐng)導(dǎo)者,Robot2 設(shè)置為追隨者,Robot1 設(shè)置為弱感知機(jī)器人,機(jī)器人使用MPSSA 進(jìn)行羽流追蹤;在迭代步數(shù)為17 時(shí),弱感知機(jī)器人Robot1 檢測到羽流濃度大于源聲明閾值濃度,聲明羽流源位置,所有機(jī)器人終止尋源過程,成功完成羽流尋源任務(wù)。
為進(jìn)一步展示本文所提方法的性能,采用尋源成功率、平均迭代步數(shù)、平均運(yùn)行時(shí)間以及平均運(yùn)行路程等指標(biāo),驗(yàn)證所提方法在室內(nèi)有障礙物環(huán)境中的有效性和可行性。3 臺機(jī)器人15 次獨(dú)立尋源實(shí)驗(yàn)結(jié)果見表4。
表4 實(shí)際場景中機(jī)器人尋源實(shí)驗(yàn)結(jié)果
從表4 中可以看出:在實(shí)際場景驗(yàn)證實(shí)驗(yàn)中,采用本文方法的機(jī)器人自主尋源成功率為73.3%;平均迭代步數(shù)為16;尋源成功平均運(yùn)行時(shí)間為320.7 s;每臺機(jī)器人平均運(yùn)行路程為7.62 m。實(shí)驗(yàn)結(jié)果表明,在室內(nèi)有障礙物的動態(tài)湍流環(huán)境中,基于SSA 改進(jìn)的MPSSA 可以有效地實(shí)現(xiàn)多臺機(jī)器人協(xié)同自主羽流尋源。
本文提出一種基于樽海鞘群啟發(fā)的多機(jī)器人自主羽流尋源方法。該方法根據(jù)室內(nèi)存在障礙物時(shí)羽流分布的多極值特點(diǎn),設(shè)置弱感知機(jī)器人,使弱感知機(jī)器人在領(lǐng)導(dǎo)者位于食物源的反方向上的局部區(qū)域內(nèi)采取高斯變異的方式更新其位置,從而降低領(lǐng)導(dǎo)者機(jī)器人的搜索盲區(qū),增加機(jī)器人搜索方式的多樣性,增強(qiáng)機(jī)器人逃逸局部極值的能力;此外,將處于追隨者角色的機(jī)器人引入隨機(jī)擾動策略,提升追隨者機(jī)器人的探索能力。
通過CFD 軟件建立室內(nèi)湍流模型,將本文方法與FS-FOA、IPSO 和CPSO 三種多機(jī)器人主動嗅覺方法進(jìn)行對比,MPSSA 表現(xiàn)出了更高的尋源成功率、效率及算法穩(wěn)定性。在實(shí)際場景驗(yàn)證實(shí)驗(yàn)中,MPSSA 實(shí)現(xiàn)了73.3%的自主尋源成功率,顯示出本文方法較好的適應(yīng)性和可行性。