時(shí)夢(mèng)楠,崔 博,王佳俊,關(guān) 濤,佟大威,任炳昱
(天津大學(xué)水利工程仿真與安全國(guó)家重點(diǎn)實(shí)驗(yàn)室,天津 300350)
壩料壓實(shí)是碾壓式大壩填筑中的關(guān)鍵工序。我國(guó)大壩建設(shè)正逐漸向高海拔、高地震烈度、偏遠(yuǎn)地區(qū)轉(zhuǎn)移,高寒、缺氧的惡劣施工條件下,施工人員降效,給大壩碾壓施工管理帶來(lái)了巨大挑戰(zhàn)[1]。無(wú)人碾壓是當(dāng)前大壩碾壓施工最先進(jìn)的技術(shù)之一,該技術(shù)有助于消除人為因素對(duì)碾壓施工的不利影響,進(jìn)一步提升碾壓施工精度。路徑規(guī)劃是無(wú)人碾壓技術(shù)中重要的研究?jī)?nèi)容,已有的大壩無(wú)人碾壓機(jī)路徑規(guī)劃主要是針對(duì)不包含障礙物的規(guī)則矩形邊界作業(yè)面的路徑規(guī)劃[2]。大壩施工條件復(fù)雜,壩面面積大、料區(qū)多(如心墻堆石壩存在堆石區(qū)、過(guò)渡區(qū)和心墻區(qū)等)、障礙物多(如不規(guī)則岸坡、指定位置埋設(shè)的變形監(jiān)測(cè)儀器、料堆等靜態(tài)障礙物和施工機(jī)械、施工人員等動(dòng)態(tài)障礙物),且碾壓任務(wù)有賴于多機(jī)型碾壓機(jī)群協(xié)作完成。同時(shí),為了保證碾壓質(zhì)量,碾壓施工機(jī)械需要按照指定的工藝對(duì)作業(yè)面進(jìn)行碾壓[3];為了保證碾壓進(jìn)度,大壩壩面碾壓需要在給定的施工環(huán)境和施工資源條件下高效率完成碾壓作業(yè),以免影響后續(xù)施工環(huán)節(jié)[4]。因此,開(kāi)展復(fù)雜大壩碾壓施工條件下滿足碾壓工藝的無(wú)人碾壓機(jī)群高效協(xié)同作業(yè)路徑規(guī)劃研究,對(duì)于保證大壩無(wú)人碾壓機(jī)群的碾壓質(zhì)量和提高大壩無(wú)人碾壓機(jī)群的碾壓效率具有重要意義。
壩料壓實(shí)過(guò)程中,為保證大壩碾壓質(zhì)量,無(wú)人碾壓機(jī)需要避開(kāi)障礙物并對(duì)作業(yè)面進(jìn)行遍歷碾壓,既不超碾也不漏碾。因此,大壩無(wú)人碾壓機(jī)路徑規(guī)劃隸屬于全覆蓋路徑規(guī)劃研究范疇(Complete Coverage Path Planning,CCP)[5]。已有全覆蓋路徑規(guī)劃(CCP)研究主要集中在無(wú)人水下航行器、無(wú)人農(nóng)業(yè)機(jī)器人等領(lǐng)域[6-8],多機(jī)協(xié)同全覆蓋路徑規(guī)劃是當(dāng)前研究的熱點(diǎn)[9]。多機(jī)協(xié)同全覆蓋路徑規(guī)劃是指多機(jī)在一定的環(huán)境下均衡規(guī)劃作業(yè)路徑,通過(guò)多機(jī)協(xié)作共同完成全覆蓋作業(yè)任務(wù)[10]。相較于單機(jī)作業(yè),多機(jī)協(xié)同作業(yè)有利于在有限的資源條件下高效地完成復(fù)雜的作業(yè)任務(wù)。為實(shí)現(xiàn)大壩無(wú)人碾壓機(jī)群復(fù)雜施工條件下的協(xié)同全覆蓋路徑規(guī)劃,采用首先進(jìn)行大壩施工作業(yè)面全覆蓋路徑規(guī)劃(包括作業(yè)面分解、子作業(yè)面規(guī)劃和子作業(yè)面連通等步驟),其后進(jìn)行無(wú)人碾壓機(jī)群的協(xié)同作業(yè)任務(wù)分配的思路。作業(yè)面分解用于將存在靜態(tài)障礙物(如:不規(guī)則岸坡、埋設(shè)的變形監(jiān)測(cè)儀器、料堆等)的不規(guī)則作業(yè)面拆分為無(wú)障礙物的子作業(yè)面,以實(shí)現(xiàn)對(duì)復(fù)雜作業(yè)面的拆分;子作業(yè)面是最小的作業(yè)單元,對(duì)其進(jìn)行滿足復(fù)雜施工工藝的碾壓路徑規(guī)劃,以滿足碾壓質(zhì)量需求;子作業(yè)面連通用于優(yōu)化出繞開(kāi)靜態(tài)障礙物的多個(gè)子作業(yè)面之間的轉(zhuǎn)場(chǎng)路徑;最后,通過(guò)機(jī)群任務(wù)分配,將規(guī)劃出的作業(yè)面全覆蓋路徑分配到各臺(tái)無(wú)人碾壓機(jī),無(wú)人碾壓機(jī)在作業(yè)過(guò)程中通過(guò)機(jī)載雷達(dá)實(shí)時(shí)檢測(cè)動(dòng)態(tài)障礙物(如:施工機(jī)械和施工人員等),并采取停車等待的方式進(jìn)行自動(dòng)避障。最終,通過(guò)以上步驟實(shí)現(xiàn)復(fù)雜施工條件下無(wú)人碾壓機(jī)群對(duì)作業(yè)面的協(xié)同全覆蓋。
在大壩施工作業(yè)面全覆蓋路徑規(guī)劃方法方面:Trapezoidal 算法和Boustrophedon 算法是全覆蓋路徑規(guī)劃領(lǐng)域兩種主流的作業(yè)面分解算法[5]。Boustrophedon算法將區(qū)域分為入口和出口,可以有效減少多障礙物條件下的子作業(yè)面?zhèn)€數(shù),有利于減少規(guī)劃路徑長(zhǎng)度。因此,可采用Boustrophedon算法對(duì)大壩碾壓作業(yè)面進(jìn)行分解;為保證碾壓質(zhì)量,已有研究通過(guò)構(gòu)造符合施工工藝的碾壓運(yùn)動(dòng)模型來(lái)進(jìn)行子作業(yè)面路徑規(guī)劃,如Yao[12]基于道路碾壓工藝構(gòu)建循環(huán)往復(fù)式路徑模型進(jìn)行作業(yè)區(qū)域規(guī)劃以滿足道路碾壓需求。然而,不同于道路碾壓,大壩碾壓包括壩軸線方向的進(jìn)退碾壓和錯(cuò)距等環(huán)節(jié),與此同時(shí)大壩壩面各料區(qū)的碾壓參數(shù)也各不相同,本研究基于搭接法和錯(cuò)距法碾壓工藝原理,構(gòu)建一種碾壓運(yùn)動(dòng)模型,可以滿足大壩壩面各料區(qū)的碾壓工藝需求;子區(qū)域的連通路徑規(guī)劃隸屬于旅行商問(wèn)題(Traveling Salesman Problem,TSP),即求解遍歷各城市節(jié)點(diǎn)的最短路徑,國(guó)內(nèi)外研究中多采用啟發(fā)式算法進(jìn)行求解[13]。蜻蜓算法是一種新型群智能算法,被廣泛應(yīng)用于求解工程設(shè)計(jì)、數(shù)據(jù)挖掘及人工智能領(lǐng)域的優(yōu)化問(wèn)題[14]。傳統(tǒng)的蜻蜓算法存在收斂速度慢、易陷入局部最優(yōu)等問(wèn)題[15],而混沌搜索的遍歷性與隨機(jī)性等特點(diǎn)有利于增強(qiáng)群智能算法的全局搜索能力[16],因此,采用基于混沌優(yōu)化理論改進(jìn)蜻蜓算法對(duì)子作業(yè)面的連通路徑進(jìn)行計(jì)算,以提高傳統(tǒng)蜻蜓算法的優(yōu)化速度和精度,進(jìn)而縮短連通路徑長(zhǎng)度。通過(guò)以上步驟可實(shí)現(xiàn)復(fù)雜施工條件下的無(wú)人碾壓機(jī)群全覆蓋路徑規(guī)劃。
在無(wú)人碾壓機(jī)群的協(xié)同作業(yè)任務(wù)分配方法方面:針對(duì)大壩碾壓具有施工效率要求高的特點(diǎn),無(wú)人碾壓機(jī)群任務(wù)分配以均衡機(jī)群任務(wù)、高效完成碾壓為目標(biāo)。碾壓施工過(guò)程中,無(wú)人碾壓機(jī)的運(yùn)行階段包括轉(zhuǎn)場(chǎng)、錯(cuò)距和碾壓等,不同的階段作業(yè)速度各不相同。已有機(jī)群任務(wù)分配研究按總路徑長(zhǎng)度或作業(yè)面積對(duì)多機(jī)路徑進(jìn)行任務(wù)分配[9-11],無(wú)法均衡無(wú)人碾壓機(jī)群的作業(yè)任務(wù),存在資源閑置、無(wú)法最大化發(fā)揮無(wú)人碾壓機(jī)群作業(yè)效率的缺點(diǎn)。因此,通過(guò)綜合考慮無(wú)人碾壓機(jī)轉(zhuǎn)場(chǎng)、錯(cuò)距和碾壓等環(huán)節(jié)的作業(yè)成本,構(gòu)建無(wú)人碾壓機(jī)群作業(yè)時(shí)間成本函數(shù),并以機(jī)群作業(yè)時(shí)間最短為準(zhǔn)則將全覆蓋路徑分配至各臺(tái)無(wú)人碾壓機(jī),實(shí)現(xiàn)無(wú)人碾壓機(jī)群的高效協(xié)同作業(yè)任務(wù)分配。
綜上所述,本文克服已有研究無(wú)法滿足大壩壩面機(jī)群協(xié)同作業(yè)、障礙物多、碾壓工藝復(fù)雜和施工效率要求高等復(fù)雜施工條件下作業(yè)需求的不足,提出一種無(wú)人碾壓機(jī)群協(xié)同全覆蓋路徑規(guī)劃的新方法,重點(diǎn)解決大壩復(fù)雜施工條件下路徑規(guī)劃過(guò)程中安全避障、保證碾壓工藝、優(yōu)化路徑長(zhǎng)度和提高機(jī)群協(xié)同作業(yè)效率等全覆蓋路徑規(guī)劃問(wèn)題。開(kāi)展了仿真實(shí)驗(yàn)和工程應(yīng)用,證明所提出方法的有效性和先進(jìn)性。
緊密圍繞大壩壩面無(wú)人碾壓機(jī)群高效協(xié)同全覆蓋路徑規(guī)劃問(wèn)題開(kāi)展研究,主要包括方法層、對(duì)比分析層和工程應(yīng)用層,研究框架如圖1所示。
(1)方法層:提出一種復(fù)雜施工條件下無(wú)人碾壓機(jī)群路徑規(guī)劃方法,包括作業(yè)面分解、子作業(yè)面規(guī)劃、子作業(yè)面連通和機(jī)群任務(wù)分配等步驟。首先,采用Boustrophedon算法將其拆分成較少的無(wú)障礙物子作業(yè)面;其次,提出滿足基于搭接法和錯(cuò)距法碾壓施工原理的碾壓運(yùn)動(dòng)模型來(lái)進(jìn)行子作業(yè)面路徑規(guī)劃,從而保證碾壓工藝;再者,將各子作業(yè)面連通施工順序優(yōu)化問(wèn)題建模為TSP模型,采用混沌理論改進(jìn)蜻蜓算法的搜索機(jī)制,構(gòu)建混沌蜻蜓算法,以求解較優(yōu)的子作業(yè)面間轉(zhuǎn)場(chǎng)路徑;最后,建立無(wú)人碾壓機(jī)群作業(yè)時(shí)間成本函數(shù),并以最小化時(shí)間成本為準(zhǔn)則將全覆蓋路徑分配至各無(wú)人碾壓機(jī),無(wú)人碾壓機(jī)在作業(yè)過(guò)程中通過(guò)機(jī)載雷達(dá)實(shí)時(shí)檢測(cè)動(dòng)態(tài)障礙物,并采取停車等待的方式進(jìn)行自動(dòng)避障。最終,通過(guò)以上步驟實(shí)現(xiàn)復(fù)雜施工條件下無(wú)人碾壓機(jī)群對(duì)作業(yè)面的協(xié)同全覆蓋。
(2)對(duì)比分析層:對(duì)所提出的路徑規(guī)劃方法進(jìn)行仿真驗(yàn)證和算法對(duì)比,驗(yàn)證所提出方法的有效性和先進(jìn)性。
(3)工程應(yīng)用:在西南某心墻堆石壩施工現(xiàn)場(chǎng)構(gòu)建了無(wú)人碾壓機(jī)群系統(tǒng),并將所提出的方法嵌入系統(tǒng)中進(jìn)行工程應(yīng)用,對(duì)作業(yè)過(guò)程和作業(yè)報(bào)告進(jìn)行分析。
圖1 研究框架
3.1 基于Boustrophedon 算法的作業(yè)面分解針對(duì)大壩壩面障礙物多和作業(yè)面邊界不規(guī)則的復(fù)雜特點(diǎn),為保障無(wú)人碾壓機(jī)的安全避障作業(yè),采用區(qū)域分解算法將包含障礙物的作業(yè)面分解成無(wú)障礙物的子作業(yè)區(qū)域。Trapezoidal 算法和Boustrophedon 算法是全覆蓋路徑規(guī)劃領(lǐng)域兩種主流的區(qū)域分解算法[5]。Trapezoidal法原理可參見(jiàn)文獻(xiàn)[5],該方法分解得到的子區(qū)域如圖2(a)所示。采用Boustrophedon分解法進(jìn)行作業(yè)面的分解,該方法依據(jù)擋板與障礙物交互情況,將單元分成三種狀態(tài)并進(jìn)行拆分:(1)In,表示當(dāng)前單元的結(jié)束,并且會(huì)出現(xiàn)兩個(gè)新的單元;(2)Out,即兩個(gè)單元的結(jié)束,進(jìn)入了一個(gè)新的單元中;(3)Middle,代表的是當(dāng)前的單元結(jié)束,新單元將會(huì)出現(xiàn)。該方法優(yōu)勢(shì)在于拆分所得的子作業(yè)面?zhèn)€數(shù)較少,有利于縮短無(wú)人碾壓機(jī)在子作業(yè)面間轉(zhuǎn)場(chǎng)的路徑,如圖2(b)所示。
圖2 作業(yè)面分解方法
3.2 基于碾壓運(yùn)動(dòng)模型(CMM)的子作業(yè)面路徑規(guī)劃針對(duì)目前無(wú)人碾壓路徑規(guī)劃沒(méi)有考慮大壩各料區(qū)復(fù)雜碾壓工藝差異的問(wèn)題,本研究基于搭接法和錯(cuò)距法原理[3],提出一種應(yīng)用于大壩各料區(qū)的碾壓運(yùn)動(dòng)模型(CMM,Compaction Motion Model)。基于該模型,通過(guò)輸入施工參數(shù),可實(shí)現(xiàn)各料區(qū)子作業(yè)面均滿足指定遍數(shù)、搭接、錯(cuò)距等碾壓工藝的路徑規(guī)劃。
根據(jù)搭接法和錯(cuò)距法碾壓施工規(guī)范,碾壓機(jī)運(yùn)行過(guò)程中有兩種運(yùn)動(dòng)模式,第一種運(yùn)動(dòng)模式為在條帶上行進(jìn)往復(fù)碾壓作業(yè),如圖3(a)所示在A0和B0之間進(jìn)行指定遍數(shù)的往復(fù)碾壓;第二種運(yùn)動(dòng)模式為條帶錯(cuò)距,如圖3(b)所示通過(guò)平滑曲線從C0移動(dòng)到B1,進(jìn)而從第一條帶錯(cuò)距到第二條帶。
碾壓作業(yè)路徑規(guī)劃環(huán)節(jié)中,設(shè)計(jì)碾壓條帶線型為平行于壩軸線的直線,如圖3(a)中的線段A0B0和A1B1等。圖中Point1、Point2、Point3和Point4為子作業(yè)面邊界點(diǎn),為簡(jiǎn)化計(jì)算,將Point4定為坐標(biāo)原點(diǎn),根據(jù)待碾倉(cāng)面參數(shù)計(jì)算子作業(yè)面內(nèi)第n個(gè)碾壓條帶路徑公式如下:
圖3 碾壓運(yùn)動(dòng)模型
條帶錯(cuò)距路徑規(guī)劃環(huán)節(jié)中,已知無(wú)人碾壓機(jī)最小轉(zhuǎn)彎半徑R(m)可基于規(guī)劃出的往復(fù)碾壓作業(yè)路徑計(jì)算得到條帶錯(cuò)距路徑。如圖3(b)所示,B0為第一條往復(fù)碾壓作業(yè)路徑的終點(diǎn),B1為第二條往復(fù)碾壓作業(yè)路徑的起點(diǎn),碾壓機(jī)由B0前進(jìn)至C0后,沿著兩段圓?。∣1和O2分別是兩段圓弧各自的圓心,半徑為最小轉(zhuǎn)彎半徑R最終運(yùn)行到B1并將車身回正,從而實(shí)現(xiàn)條帶錯(cuò)距。條帶錯(cuò)距路徑計(jì)算公式如下(以圖3(b)所示條帶的錯(cuò)距路徑規(guī)劃為例)。
C0點(diǎn)到B1點(diǎn)的條帶錯(cuò)距路徑:
式中:x為錯(cuò)距路徑的x軸坐標(biāo)值,m;y為錯(cuò)距路徑的y軸坐標(biāo)值,m;B0x為B0點(diǎn)的x坐標(biāo),m;B1x為B1點(diǎn)的x坐標(biāo),m。
以上步驟構(gòu)建了子作業(yè)面的碾壓運(yùn)動(dòng)模型。無(wú)人碾壓機(jī)在碾壓作業(yè)過(guò)程中,根據(jù)所設(shè)定的碾壓遍數(shù)在碾壓條帶上進(jìn)行往復(fù)碾壓作業(yè),條帶碾壓完成后沿著錯(cuò)距路徑移動(dòng)到下一條帶進(jìn)行作業(yè),最終實(shí)現(xiàn)子作業(yè)面滿足碾壓工藝的全覆蓋。除此之外,所提出的碾壓運(yùn)動(dòng)模型能夠滿足大壩各料區(qū)的碾壓工藝,具體為:通過(guò)調(diào)節(jié)碾壓運(yùn)動(dòng)模型中的搭接寬度W(m),可滿足不同料區(qū)搭接法和錯(cuò)距法的施工工藝需求;通過(guò)調(diào)節(jié)碾壓運(yùn)動(dòng)模型中的遍數(shù)n,可滿足各壩料的碾壓質(zhì)量需求。
3.3 基于混沌蜻蜓算法的轉(zhuǎn)場(chǎng)路徑TSP模型優(yōu)化針對(duì)子作業(yè)面之間的轉(zhuǎn)場(chǎng)軌跡優(yōu)化問(wèn)題,將子作業(yè)面連通問(wèn)題建模為TSP模型,并采用混沌蜻蜓算法對(duì)模型進(jìn)行求解,最終得到優(yōu)化了的轉(zhuǎn)場(chǎng)路徑。
倉(cāng)面拆分后作業(yè)面被分解成多個(gè)子作業(yè)面,無(wú)人碾壓機(jī)需遍歷所有子作業(yè)面,既不超碾也不漏碾,最終實(shí)現(xiàn)全作業(yè)面的遍歷。如圖4(a)所示,需規(guī)劃出遍歷子作業(yè)面1、2、3和4的最短路徑,即子作業(yè)面之間的轉(zhuǎn)場(chǎng)路徑。本文將轉(zhuǎn)場(chǎng)路徑優(yōu)化建模為旅行商問(wèn)題[13],將圖4(a)中的各子作業(yè)面(子作業(yè)面1、子作業(yè)面2、子作業(yè)面3和子作業(yè)面4)定義為圖4(a)中的城市節(jié)點(diǎn),并將子作業(yè)面間的連通路徑長(zhǎng)度(如圖4(a)中由子作業(yè)面1出發(fā)到子作業(yè)面4的路徑Path(1->4))定義為城市節(jié)點(diǎn)間的路徑長(zhǎng)度,尋找遍歷各城市節(jié)點(diǎn)的序列,以使得總路徑長(zhǎng)度最短。
圖4 轉(zhuǎn)場(chǎng)路徑規(guī)劃示意圖
旅行商問(wèn)題一般采用群智能算法進(jìn)行優(yōu)化求解[13]。蜻蜓算法(Dragonfly Algorithm,DA)是由Seyedali Mirjalili 在2015年提出的一種新型群智能優(yōu)化算法,詳細(xì)算法流程可參考文獻(xiàn)[14]。雖然蜻蜓算法對(duì)于函數(shù)優(yōu)化問(wèn)題表現(xiàn)出不俗的性能,但仍存在著全局搜索能力差、早熟收斂、求解精度不高的缺點(diǎn)[15]?;煦缡欠蔷€性系統(tǒng)所特有的一種非周期現(xiàn)象,混沌搜索的遍歷性與隨機(jī)性等特點(diǎn)有利于增強(qiáng)群智能算法全局搜索能力[16-17]。因此,本研究采用混沌優(yōu)化來(lái)改進(jìn)傳統(tǒng)蜻蜓算法,并將改進(jìn)的蜻蜓算法應(yīng)用于子作業(yè)面轉(zhuǎn)場(chǎng)路徑優(yōu)化?;煦鐑?yōu)化在傳統(tǒng)蜻蜓算法每次更新蜻蜓位置后生效,主要步驟為:首先,將蜻蜓位置向量序列轉(zhuǎn)化為混沌搜索空間內(nèi)的混沌變量;其次,通過(guò)混沌變量進(jìn)行遍歷性尋優(yōu)搜索得到混沌序列;最后,將遍歷到的混沌序列轉(zhuǎn)回蜻蜓向量序列進(jìn)行適應(yīng)度評(píng)估,若此次混沌搜索后得到了更優(yōu)的蜻蜓個(gè)體,則更新混沌搜索前的蜻蜓個(gè)體。
(1)將每個(gè)蜻蜓個(gè)體映射到混沌空間(-1,1)中:
式中:i為蜻蜓個(gè)體編號(hào);j為搜索空間維數(shù)編號(hào);N為蜻蜓的個(gè)體數(shù);M為搜索空間維數(shù);x為原蜻蜓向量序列;和分別為第j維蜻蜓向量序列的最小和最大值;y為混沌變量。
(2)采用具有更好遍歷性的邏輯自映射函數(shù)[16]產(chǎn)生混沌序列:
邏輯自映射函數(shù)的定義域?yàn)椋?1,1)且不為0和0.5,在邏輯定義域內(nèi)混沌生效。
(3)在通過(guò)混沌搜索得到混沌變量序列后,需要將混沌遍歷序列按照下式變換到原來(lái)的解空間中進(jìn)行適應(yīng)度值評(píng)估:
(4)基于新遍歷序列,采用求解效率高且路徑較短的可視圖法(Visibility Graph Algorithms)[18]規(guī)劃出避開(kāi)障礙物的兩點(diǎn)間路徑,并將路徑總長(zhǎng)度作為適應(yīng)度值,以適應(yīng)度越小為優(yōu)解。若搜索到更優(yōu)的解,則用更優(yōu)的蜻蜓向量序列代替原本的蜻蜓向量序列。
旅行商問(wèn)題是離散空間的非數(shù)值優(yōu)化問(wèn)題,在運(yùn)用改進(jìn)蜻蜓算法求解旅行商問(wèn)題時(shí)需要在連續(xù)空間的粒子與離散空間的路徑解之間建立對(duì)應(yīng)關(guān)系。改進(jìn)蜻蜓算法的離散化步驟包括:運(yùn)用n個(gè)隨機(jī)鍵編碼進(jìn)行快速排序得到每個(gè)隨機(jī)鍵位置的大小順序;用n個(gè)位置值表示每個(gè)城市的位置矢量,隨機(jī)鍵位大小順序?qū)?yīng)城市經(jīng)過(guò)順序。
綜上所述,改進(jìn)蜻蜓算法求解無(wú)人碾壓機(jī)在各子區(qū)域之間轉(zhuǎn)場(chǎng)路徑的旅行商問(wèn)題流程如圖5。無(wú)人碾壓機(jī)群按求解得到的路徑進(jìn)行子區(qū)域間轉(zhuǎn)場(chǎng)可減少作業(yè)路徑長(zhǎng)度,降低作業(yè)時(shí)間。
圖5 混沌蜻蜓算法規(guī)劃轉(zhuǎn)場(chǎng)路徑流程圖
3.4 基于時(shí)間成本的機(jī)群任務(wù)分配針對(duì)無(wú)人碾壓機(jī)群的高效協(xié)同作業(yè)任務(wù)分配問(wèn)題,提出基于時(shí)間成本的機(jī)群任務(wù)分配方法,充分發(fā)揮無(wú)人碾壓機(jī)群的集群效率優(yōu)勢(shì)。
碾壓施工過(guò)程中,無(wú)人碾壓機(jī)的運(yùn)行包括轉(zhuǎn)場(chǎng)、錯(cuò)距和碾壓等環(huán)節(jié),不同的環(huán)節(jié)作業(yè)速度各不相同。采用構(gòu)建無(wú)人碾壓機(jī)群作業(yè)時(shí)間成本函數(shù),以機(jī)群作業(yè)時(shí)間最短為準(zhǔn)則進(jìn)行無(wú)人碾壓機(jī)群任務(wù)分配的方法,將作業(yè)任務(wù)均衡分配給無(wú)人碾壓機(jī)群,以提高作業(yè)效率。
無(wú)人碾壓機(jī)群任務(wù)分配準(zhǔn)則為:
式中:N為無(wú)人碾壓機(jī)個(gè)數(shù);n為無(wú)人碾壓機(jī)編號(hào);T為無(wú)人碾壓機(jī)群倉(cāng)面作業(yè)時(shí)間,h;T(n)為第n臺(tái)無(wú)人碾壓機(jī)的作業(yè)時(shí)間,h;W(n)為第n臺(tái)無(wú)人碾壓機(jī)作業(yè)路徑,m;W為全覆蓋總路徑,m;x為混沌蜻蜓算法優(yōu)化求解得到的遍歷順序序列;X為序列節(jié)點(diǎn)個(gè)數(shù);nx(i)為x序列中第i個(gè)節(jié)點(diǎn)編號(hào)所對(duì)應(yīng)的子作業(yè)面碾壓條帶個(gè)數(shù);CPath(i,j)為第i個(gè)子作業(yè)面第j條碾壓路徑,m;ZPath(i,j)為第i個(gè)子作業(yè)面第j條錯(cuò)距路徑,m;RPath(i)為第i條轉(zhuǎn)場(chǎng)路徑,m;S(n)為第n個(gè)無(wú)人碾壓機(jī)作業(yè)路徑起點(diǎn);E(n)為第n個(gè)無(wú)人碾壓機(jī)作業(yè)路徑終點(diǎn)。
其中,作業(yè)時(shí)間成本計(jì)算公式如下:
式中:TR為碾壓時(shí)間成本,h;TC為錯(cuò)距時(shí)間成本,h;TZ為轉(zhuǎn)場(chǎng)時(shí)間成本,h;Vz為轉(zhuǎn)場(chǎng)車速,km/h;Vr為碾壓車速,km/h;Vc為錯(cuò)距車速,km/h;CPath為碾壓路徑集;ZPath為錯(cuò)距路徑集;RPath轉(zhuǎn)場(chǎng)路徑集。
為了驗(yàn)證本研究所提出路徑規(guī)劃新方法的有效性和先進(jìn)性,基于一個(gè)模擬的測(cè)試作業(yè)面進(jìn)行路徑規(guī)劃方法的仿真驗(yàn)證和方法對(duì)比,該測(cè)試作業(yè)面包含了可能出現(xiàn)的復(fù)雜施工場(chǎng)景。首先進(jìn)行Boustrophedon 和Trapezoidal 復(fù)雜作業(yè)面分解方法的對(duì)比;其次進(jìn)行基于碾壓運(yùn)動(dòng)模型的子作業(yè)區(qū)域路徑規(guī)劃方法滿足多料區(qū)碾壓工藝驗(yàn)證;再者進(jìn)行混沌蜻蜓算法子區(qū)域連通方法與引力搜索算法、螢火蟲(chóng)算法、粒子群算法、遺傳算法等的對(duì)比;最后進(jìn)行基于時(shí)間成本任務(wù)分配方法與等面積分配方法和等路徑長(zhǎng)度分配方法的對(duì)比。
為模擬壩面邊緣的不規(guī)則岸坡,將測(cè)試作業(yè)面設(shè)置為不規(guī)則多邊形作業(yè)面;為模擬指定位置埋設(shè)的不規(guī)則監(jiān)測(cè)儀器和料堆等靜態(tài)障礙物,在作業(yè)面內(nèi)設(shè)置5個(gè)不規(guī)則多邊形障礙物;無(wú)人碾壓機(jī)作業(yè)過(guò)程中采取停車等待的方式自動(dòng)避開(kāi)動(dòng)態(tài)障礙物,在路徑規(guī)劃階段不設(shè)置動(dòng)態(tài)障礙物。測(cè)試作業(yè)面信息見(jiàn)圖6,碾壓施工參數(shù)見(jiàn)表1。
表1 施工參數(shù)
圖6 測(cè)試作業(yè)倉(cāng)面
圖7 基于時(shí)間成本的無(wú)人碾壓機(jī)群任務(wù)分配
4.1 復(fù)雜作業(yè)面分解方法對(duì)比針對(duì)所給作業(yè)面分別采用Trapezoidal 分解法和Boustrophedon算法進(jìn)行子作業(yè)面拆分。其中Trapezoidal 分解法在擋板經(jīng)過(guò)障礙物邊界點(diǎn)時(shí)產(chǎn)生新單元,最終拆分得到43個(gè)子作業(yè)面,如圖8(a)。Boustrophedon算法基于狀態(tài)的轉(zhuǎn)變生成新單元,最終拆分得到18個(gè)子作業(yè)面,如圖8(b)。通過(guò)對(duì)比,表明本文進(jìn)行作業(yè)面拆分所采用的Boustrophedon 算法相較于Trapezoidal分解法拆分得到的子作業(yè)面更少。
圖8 子區(qū)域拆分結(jié)果
4.2 子作業(yè)面復(fù)雜碾壓工藝驗(yàn)證針對(duì)Boustrophedon法拆分作業(yè)面得到的18個(gè)子作業(yè)面,采用本文所提出的碾壓運(yùn)動(dòng)模型進(jìn)行子作業(yè)區(qū)域路徑規(guī)劃,首先生成滿足表1參數(shù)的無(wú)人碾壓機(jī)碾壓作業(yè)和錯(cuò)距路徑,如圖9,其中每個(gè)碾壓路徑往復(fù)作業(yè)8遍。為驗(yàn)證所提出的算法是否能滿足錯(cuò)距法的施工工藝,將表1 中的工藝參數(shù)改為錯(cuò)距0.4 m,將遍數(shù)改為10 遍,生成的無(wú)人碾壓機(jī)碾壓作業(yè)和錯(cuò)距路徑,如圖9右側(cè)所示的錯(cuò)距法軌跡圖,其中每個(gè)碾壓路徑往復(fù)作業(yè)2遍。證明所提出的方法能夠滿足搭接法和錯(cuò)距法的施工工藝,從而滿足大壩壩面多料區(qū)碾壓工藝需求。
圖9 子作業(yè)區(qū)域路徑規(guī)劃
4.3 子作業(yè)面連通優(yōu)化算法對(duì)比將子作業(yè)面之間的轉(zhuǎn)場(chǎng)連通問(wèn)題采用改進(jìn)的蜻蜓算法進(jìn)行優(yōu)化求解,蜻蜓個(gè)數(shù)設(shè)置為50,迭代次數(shù)設(shè)置為200。最終將子區(qū)域間的轉(zhuǎn)場(chǎng)路徑長(zhǎng)度由784.6 m(如圖10(a),轉(zhuǎn)場(chǎng)順序編號(hào)為:1、10、16、14、18、5、4、9、3、7、11、2、8、13、17、15、12、6),通過(guò)98 次迭代優(yōu)化為233.4 m(如圖10(b),轉(zhuǎn)場(chǎng)順序編號(hào)為:1、2、6、7、4、3、5、11、17、15、13、16、18、14、12、10、9、8)。與此同時(shí),為證明算法的有效性與優(yōu)勢(shì),以改進(jìn)蜻蜓算法和傳統(tǒng)蜻蜓算法及常用的尋優(yōu)策略如引力搜索算法[19]、螢火蟲(chóng)算法[20]、粒子群算法[21]、遺傳算法[22]進(jìn)行對(duì)比。實(shí)驗(yàn)設(shè)置的種群數(shù)量均為50,最大迭代次數(shù)均為200次,其他算法額外的實(shí)驗(yàn)參數(shù)均采用文獻(xiàn)中提供的進(jìn)行設(shè)置,各算法收斂曲線如圖11所示。
從圖11能夠看出,相對(duì)于其他算法,提出的改進(jìn)蜻蜓算法在第6次迭代時(shí),路徑長(zhǎng)度能優(yōu)化為561.2 m,傳統(tǒng)蜻蜓算法、引力搜索算法、螢火蟲(chóng)算法、粒子群算法和遺傳算法分別需要40 次、39次、42次、40次和41次才能達(dá)到同等水平。之后,改進(jìn)蜻蜓算法迎來(lái)第一次收斂,在第32次跳出局部最優(yōu),再通過(guò)27 次迭代收斂到317.8 m。改進(jìn)蜻蜓算法在63 次再次調(diào)出局部最優(yōu)的算法繼續(xù)優(yōu)化,最終在第98次迭代中優(yōu)化到233.4 m的路徑長(zhǎng)度。其他算法在65次到80次之間達(dá)到收斂,最終優(yōu)化停止在300.0 m附近。由此可見(jiàn),提出的改進(jìn)蜻蜓算法具有更快的收斂速度,且能夠跳出局部最優(yōu)得到更高的收斂精度,因而該算法能夠用來(lái)進(jìn)行子區(qū)域轉(zhuǎn)場(chǎng)路徑規(guī)劃。
4.4 任務(wù)分配方法對(duì)比采用本研究構(gòu)建的時(shí)間成本函數(shù)和任務(wù)分配方法,將路徑按時(shí)間成本等量分配4臺(tái)碾壓機(jī),與等面積分配和等路徑分配方法的對(duì)比結(jié)果見(jiàn)表2。從表2可知,時(shí)間成本拆分方法相較于等面積拆分的5.73 h和等路徑長(zhǎng)度拆分的5.67 h能夠得到5.38 h的最短作業(yè)時(shí)長(zhǎng),表明所提出的基于時(shí)間成本的任務(wù)分配方法更有利于減小設(shè)備閑置,提高施工效率?;跁r(shí)間成本的無(wú)人碾壓機(jī)群任務(wù)分配結(jié)果見(jiàn)圖7。
圖10 子區(qū)域連通優(yōu)化
圖11 子區(qū)域連通算法對(duì)比
表2 機(jī)群作業(yè)時(shí)長(zhǎng)對(duì)比 (單位:h)
采用無(wú)人碾壓機(jī)群協(xié)同作業(yè)路徑規(guī)劃方法最終規(guī)劃出復(fù)雜施工條件下各臺(tái)無(wú)人碾壓機(jī)滿足碾壓工藝的高效協(xié)同全覆蓋路徑。1#無(wú)人碾壓機(jī)的作業(yè)路徑如圖12(a),2#無(wú)人碾壓機(jī)的作業(yè)路徑如圖12(b),3#無(wú)人碾壓機(jī)的作業(yè)路徑如圖12(c),4#無(wú)人碾壓機(jī)的作業(yè)路徑如圖12(d),各臺(tái)無(wú)人碾壓機(jī)在各自任務(wù)區(qū)域內(nèi)按照規(guī)劃路徑進(jìn)行作業(yè)。以1#無(wú)人碾壓機(jī)為例,任務(wù)區(qū)域內(nèi)包含8個(gè)子作業(yè)區(qū)域,如圖12(a)。1#無(wú)人碾壓機(jī)首先在子作業(yè)區(qū)域1的碾壓條帶上往復(fù)碾壓直至滿足指定遍數(shù);之后按照錯(cuò)距路徑移動(dòng)到下一條帶;當(dāng)子區(qū)域的條帶全部碾壓完成后,按照1、2、6、7、4、3、5、11的轉(zhuǎn)場(chǎng)序號(hào)順序,依次移動(dòng)到下一子區(qū)域繼續(xù)作業(yè)?;跁r(shí)間成本等量分配準(zhǔn)則,最終各臺(tái)無(wú)人碾壓機(jī)同時(shí)完成碾壓,實(shí)現(xiàn)無(wú)人碾壓機(jī)群對(duì)作業(yè)面的協(xié)同全覆蓋。
以中國(guó)西南某大型礫石土心墻堆石壩為例進(jìn)行應(yīng)用研究。壩料主要包括:堆石料、過(guò)渡料和心墻礫石土。為滿足多種壩料的碾壓作業(yè),在工程現(xiàn)場(chǎng)對(duì)過(guò)渡料碾壓機(jī)、堆石料碾壓機(jī)和心墻礫石土共15臺(tái)碾壓機(jī)加裝無(wú)人碾壓機(jī)機(jī)載模塊,構(gòu)建了應(yīng)用于工程現(xiàn)場(chǎng)全壩料的無(wú)人碾壓機(jī)群。同時(shí),在總控中心布置了通信鏈路和服務(wù)器,實(shí)現(xiàn)無(wú)人碾壓機(jī)群的雙向通信,并通過(guò)設(shè)置遠(yuǎn)程指揮模塊實(shí)現(xiàn)無(wú)人碾壓機(jī)群的實(shí)時(shí)監(jiān)控、任務(wù)規(guī)劃和指令下發(fā)[23]。
圖12 無(wú)人碾壓機(jī)群作業(yè)路徑
以某一時(shí)刻壩面碾壓為例,將8臺(tái)無(wú)人碾壓機(jī)投入現(xiàn)場(chǎng)生產(chǎn)。首先,由施工管理人員向系統(tǒng)下發(fā)指定區(qū)域的作業(yè)任務(wù)。其次,由施工管理人員操作系統(tǒng)根據(jù)作業(yè)任務(wù),分別在上游堆石區(qū)、心墻區(qū)和下游過(guò)渡區(qū)輸入作業(yè)參數(shù)對(duì)無(wú)人碾壓機(jī)群進(jìn)行路徑規(guī)劃,如圖13所示。再者,施工管理人員指揮系統(tǒng)將作業(yè)指令通過(guò)數(shù)據(jù)鏈路下發(fā)至各無(wú)人碾壓機(jī)。
無(wú)人碾壓機(jī)群協(xié)同全覆蓋作業(yè)過(guò)程如下:(1)各料區(qū)各臺(tái)無(wú)人碾壓機(jī)接收相應(yīng)任務(wù)路徑;(2)各臺(tái)無(wú)人碾壓機(jī)在各自任務(wù)區(qū)域內(nèi)按照規(guī)劃路徑進(jìn)行作業(yè)。其中上游堆石區(qū)和下游過(guò)渡區(qū)采用搭接法進(jìn)行作業(yè),心墻區(qū)采用錯(cuò)距法進(jìn)行作業(yè),作業(yè)過(guò)程如圖14所示;(3)各臺(tái)無(wú)人碾壓機(jī)完成碾壓作業(yè),分別實(shí)現(xiàn)對(duì)上游堆石區(qū)、心墻區(qū)和下游過(guò)渡區(qū)作業(yè)面的協(xié)同全覆蓋。作業(yè)完成后,施工管理人員通過(guò)系統(tǒng)生成質(zhì)量和作業(yè)時(shí)間報(bào)告進(jìn)行驗(yàn)收,如圖15和圖16所示。
圖13 無(wú)人碾壓機(jī)群協(xié)同全覆蓋作業(yè)路徑
在避開(kāi)障礙物方面,由圖13和圖14可見(jiàn),各作業(yè)面規(guī)劃出的作業(yè)路徑都能在不規(guī)則邊界內(nèi)繞開(kāi)靜態(tài)障礙物。指令下發(fā)后,各臺(tái)無(wú)人碾壓機(jī)能夠精確按照規(guī)劃路徑進(jìn)行繞開(kāi)靜態(tài)障礙物的安全作業(yè),如圖14(e)。作業(yè)過(guò)程中,無(wú)人碾壓機(jī)能夠基于機(jī)載障礙物檢測(cè)裝置,采取停車等待的策略,實(shí)現(xiàn)動(dòng)態(tài)障礙物的自動(dòng)避障,如圖14(d)。
在碾壓質(zhì)量方面,通過(guò)分析作業(yè)完成后系統(tǒng)生成的遍數(shù)圖形報(bào)告(如圖15),發(fā)現(xiàn)堆石料倉(cāng)面碾壓達(dá)標(biāo)率95.59%大于90%的標(biāo)準(zhǔn)值;過(guò)渡料倉(cāng)面碾壓達(dá)標(biāo)率96.34%大于95%的標(biāo)準(zhǔn)值;心墻礫石土倉(cāng)面,碾壓達(dá)標(biāo)率96.75%,大于95%的標(biāo)準(zhǔn)值。所提出的路徑規(guī)劃方法可以實(shí)現(xiàn)滿足壩面多料區(qū)碾壓的碾壓工藝需求。
圖14 無(wú)人碾壓機(jī)群全覆蓋作業(yè)過(guò)程圖
圖15 碾壓遍數(shù)報(bào)告
在碾壓效率方面,無(wú)人碾壓機(jī)的車速控制存在不確定性,難以同時(shí)完成按時(shí)間成本等量分配的作業(yè)任務(wù),最終作業(yè)時(shí)長(zhǎng)如圖16 所示。其中堆石區(qū)兩臺(tái)無(wú)人碾壓機(jī)平均作業(yè)時(shí)長(zhǎng)占總時(shí)長(zhǎng)的99.06%;心墻區(qū)四臺(tái)無(wú)人碾壓機(jī)平均作業(yè)時(shí)長(zhǎng)占總時(shí)長(zhǎng)的97.58%;過(guò)渡區(qū)兩臺(tái)無(wú)人碾壓機(jī)平均作業(yè)時(shí)長(zhǎng)占總時(shí)長(zhǎng)的97.83%。數(shù)據(jù)表明,所提出的機(jī)群路徑規(guī)劃方法能夠均衡機(jī)群中各臺(tái)無(wú)人碾壓機(jī)的作業(yè)時(shí)間成本,設(shè)備利用率高,有利于在有限施工資源的條件下提高碾壓效率。通過(guò)優(yōu)化無(wú)人碾壓機(jī)橫縱向控制精度可進(jìn)一步提升無(wú)人碾壓機(jī)群的作業(yè)效率。
圖16 無(wú)人碾壓機(jī)作業(yè)時(shí)長(zhǎng)統(tǒng)計(jì)圖
針對(duì)大壩具有壩面面積大、料區(qū)多、障礙物多等復(fù)雜施工特點(diǎn),提出了一種無(wú)人碾壓機(jī)群協(xié)同全覆蓋路徑規(guī)劃新方法。首先對(duì)于子作業(yè)面拆分問(wèn)題,采用Boustrophedon算法將包含障礙物的作業(yè)面拆分成無(wú)障礙物的子作業(yè)面;之后對(duì)于子作業(yè)面規(guī)劃問(wèn)題,基于碾壓工藝構(gòu)建碾壓運(yùn)動(dòng)模型對(duì)子作業(yè)面進(jìn)行路徑規(guī)劃;其次對(duì)于子作業(yè)面連通問(wèn)題,采用改進(jìn)的蜻蜓算法進(jìn)行轉(zhuǎn)場(chǎng)路徑優(yōu)化求解;最后對(duì)于任務(wù)分配問(wèn)題,建立無(wú)人碾壓機(jī)群作業(yè)時(shí)間成本函數(shù),以最小化時(shí)間成本為準(zhǔn)則將作業(yè)路徑分配至各無(wú)人碾壓機(jī)。
通過(guò)仿真對(duì)比分析,表明Boustrophedon 算法相較于Trapezoidal 分解法能夠得到更少的子作業(yè)區(qū)域;碾壓運(yùn)動(dòng)模型能夠滿足大壩壩面各料區(qū)碾壓工藝的需求;改進(jìn)蜻蜓算法相較于引力搜索算法、螢火蟲(chóng)算法、粒子群算法、遺傳算法等能具有更快的收斂速度、能夠跳出局部最優(yōu),并得到更短的作業(yè)路徑;時(shí)間成本任務(wù)分配方法相較于面積和路徑長(zhǎng)度分配方法有利于提高設(shè)備利用率,進(jìn)而提高碾壓效率。
通過(guò)工程應(yīng)用,表明所提出的路徑規(guī)劃方法能夠進(jìn)行大壩壩面各料區(qū)的無(wú)人碾壓機(jī)群協(xié)同全覆蓋路徑規(guī)劃,作業(yè)過(guò)程中無(wú)人碾壓機(jī)群能夠自動(dòng)安全避障、滿足大壩壩面多料區(qū)碾壓工藝并保障碾壓效率,最終實(shí)現(xiàn)復(fù)雜施工條件下無(wú)人碾壓機(jī)群對(duì)大壩施工作業(yè)面的高效協(xié)同全覆蓋。
本研究采用的無(wú)人碾壓機(jī)群協(xié)同全覆蓋路徑規(guī)劃研究思路對(duì)于無(wú)人碾壓機(jī)路徑規(guī)劃研究具有重要的借鑒意義,同時(shí)在未來(lái)的研究中,應(yīng)開(kāi)展考慮施工不確定性的路徑規(guī)劃方面的研究。