唐 志,柳 強(qiáng)+,于嘉鵬,馬 輝,賈 鐸,劉媛杰
(1.遼寧石油化工大學(xué) 信息與控制工程學(xué)院,遼寧 撫順 113001;2.東北大學(xué) 機(jī)械工程與自動(dòng)化學(xué)院,遼寧 沈陽(yáng) 110819;3.中國(guó)航發(fā)集團(tuán)沈陽(yáng)發(fā)動(dòng)機(jī)研究所,遼寧 沈陽(yáng) 110015)
航空發(fā)動(dòng)機(jī)是飛機(jī)最核心的部件之一,而管路系統(tǒng)作為航空發(fā)動(dòng)機(jī)的重要組成部分,布局設(shè)計(jì)的質(zhì)量和效率對(duì)整體產(chǎn)品的可靠性和設(shè)計(jì)周期等具有重要影響。管路敷設(shè)的主要任務(wù)是:給定連接端口信息,在約束空間內(nèi)求解滿足眾多工程約束的可行路徑。航空發(fā)動(dòng)機(jī)管路布局理論上屬于NP難問(wèn)題,空間約束復(fù)雜,需要考慮管路和卡箍等眾多工程約束,設(shè)計(jì)過(guò)程十分復(fù)雜和耗時(shí),因此集成工程規(guī)則的敷設(shè)算法在工程中的需求十分迫切。
在自動(dòng)布管算法設(shè)計(jì)方面,國(guó)內(nèi)外研究學(xué)者展開(kāi)了大量研究。PARK等[1]利用單元生成法解決多約束目標(biāo)的管路敷設(shè)問(wèn)題。樊江等[2]應(yīng)用改進(jìn)的迷宮算法及最小斯坦納樹生成法求解航空發(fā)動(dòng)機(jī)的管路自動(dòng)布局,并開(kāi)發(fā)了相應(yīng)的航空發(fā)動(dòng)機(jī)網(wǎng)格敷管系統(tǒng)(Aero-Engine Gird based Routing System,AEGRS)。隨著智能算法的發(fā)展,研究人員開(kāi)始通過(guò)使用智能算法來(lái)解決管路敷設(shè)問(wèn)題[3-7]。DONG等[8]為尋找滿足各種約束和目標(biāo)的近似最優(yōu)的管道路徑,提出一種基于網(wǎng)格理論和粒子群算法的SPRD(ship pipe route design)問(wèn)題自動(dòng)求解方法;熊勇[9]等將擴(kuò)展隨機(jī)樹算法和蟻群優(yōu)化算法結(jié)合,實(shí)現(xiàn)了船艙空間的管路自動(dòng)敷設(shè);QU等[10]采用并行搜索策略和動(dòng)態(tài)更新機(jī)制,提出一種新的并行最大最小蟻群優(yōu)化算法,用于求解航空發(fā)動(dòng)機(jī)直線支路管路優(yōu)化問(wèn)題;柳強(qiáng)等[11]以管路長(zhǎng)度及平滑性為優(yōu)化目標(biāo),提出一種改進(jìn)的NSGA-Ⅱ求解發(fā)動(dòng)機(jī)管路布局Pareto解集;于嘉鵬等[12]以管路長(zhǎng)度和壓力損失作為優(yōu)化目標(biāo),提出一種基于自適應(yīng)天牛須搜索算法的管路自動(dòng)布局方法,最后通過(guò)仿真實(shí)例驗(yàn)證了該方法的可行性。同時(shí),國(guó)內(nèi)外研究人員亦采用其他方法來(lái)求解此類問(wèn)題[13-14]。馬江濤等[15]針對(duì)工程實(shí)際中存在的非正交分支管路自動(dòng)布局問(wèn)題,提出一種基于LTL-PRM算法的分支管路自動(dòng)布局方法,通過(guò)實(shí)例驗(yàn)證了該方法的可行性;陳巖等[16]結(jié)合管路距離代價(jià)、折彎代價(jià)和方向引導(dǎo)的啟發(fā)式函數(shù),提出了安全性約束和貼壁約束等多約束條件下管路自動(dòng)布局設(shè)計(jì)的改進(jìn)A*算法;MIN等[17]為了提高路徑搜索速度,運(yùn)用跳點(diǎn)搜索在三維空間中實(shí)現(xiàn)了管道的路徑搜索,并通過(guò)與傳統(tǒng)的A*算法的比較,驗(yàn)證了該算法的快速性。
上述方法為布管算法設(shè)計(jì)提供了很好的預(yù)研基礎(chǔ),但較難兼顧計(jì)算效率和工程規(guī)則約束。基于工程規(guī)則設(shè)計(jì)啟發(fā)式布管算法,可兼顧工程規(guī)則和計(jì)算效率,是求解該問(wèn)題的可行思路之一。趙柏萱等[18]提出一種基于工程規(guī)則的管路自動(dòng)布局與綜合優(yōu)化方法,該方法提高了管路布局的成功率和可靠性,但考慮的工程規(guī)則主要是管路的可加工性、結(jié)構(gòu)特性和強(qiáng)度特性,并未考慮到管路的直線段長(zhǎng)度和管路夾角等約束。柳強(qiáng)等[19]為了解決復(fù)雜回轉(zhuǎn)敷設(shè)空間的管路布局,提出一種基于工程規(guī)則的啟發(fā)式快速布管算法,該算法考慮了多種布管規(guī)則,但未考慮到管路的直線段長(zhǎng)度和彎曲半徑等約束。LIU等[20]提出一種基于投影的啟發(fā)式算法用于求解三維空間中非直角管路布局問(wèn)題,該布管算法的優(yōu)點(diǎn)在于能夠快速求解多根管路,但是同樣未考慮如管路間的夾角、管路最小長(zhǎng)度等工程規(guī)則。此外,卡箍作為管路系統(tǒng)中的重要支撐部件,其布置約束和管路敷設(shè)結(jié)果相互影響,但目前卡箍布置問(wèn)題大多單獨(dú)展開(kāi),已有管路敷設(shè)算法中考慮卡箍布置約束的研究還比較少。
綜上所述,管路布局算法尚存在以下局限:①在管路優(yōu)化設(shè)計(jì)過(guò)程中,雖然也考慮到了一些布管規(guī)則,但是較少考慮管路直線段長(zhǎng)度、彎曲半徑、管路間夾角等工程規(guī)則,難以滿足管路的可制造性;②敷設(shè)效率較低;③較少考慮到管路的工程美學(xué)。為解決以上問(wèn)題,本文提出一種基于啟發(fā)式的航空發(fā)動(dòng)機(jī)布管算法,該算法的主要貢獻(xiàn)在于:①在算法中融合上述多種工程規(guī)則以滿足管路可制造性;②借鑒廣度優(yōu)先搜索的思想,設(shè)計(jì)一種基于啟發(fā)式的節(jié)點(diǎn)遍歷算法,提高了敷設(shè)效率;③針對(duì)多管敷設(shè),通過(guò)安裝雙聯(lián)卡箍對(duì)初始路徑進(jìn)行優(yōu)化調(diào)整,以滿足工程美學(xué)要求。
航空發(fā)動(dòng)機(jī)管路敷設(shè)問(wèn)題,實(shí)際上是一種三維回轉(zhuǎn)約束空間內(nèi)的多約束路徑規(guī)劃問(wèn)題。給定連接端口信息,需要在復(fù)雜的三維空間中搜索到一條避開(kāi)所有障礙的路徑,同時(shí)該路徑需要滿足一系列工程規(guī)則和約束。
航空發(fā)動(dòng)機(jī)敷管空間為包含一系列附件障礙的復(fù)雜回轉(zhuǎn)約束空間,在進(jìn)行管路敷設(shè)時(shí),管路需要盡可能地貼近發(fā)動(dòng)機(jī)表面敷設(shè),同時(shí)還要避開(kāi)發(fā)動(dòng)機(jī)上的附件障礙。為了更好地表達(dá)發(fā)動(dòng)機(jī)的空間信息,采用UG/Grip二次開(kāi)發(fā)對(duì)發(fā)動(dòng)機(jī)模型進(jìn)行掃描得到柵格矩陣,為后期判斷管路是否與障礙相交提供了數(shù)據(jù)支撐。如圖1所示為簡(jiǎn)化的發(fā)動(dòng)機(jī)管路敷設(shè)CAD仿真模型。
圖1 簡(jiǎn)化的發(fā)動(dòng)機(jī)管路敷設(shè)CAD模型
算法設(shè)計(jì)主要考慮但不局限于如下工程規(guī)則和約束:
(1)避過(guò)障礙以及其他指定區(qū)域如檢測(cè)點(diǎn)和維修區(qū)域;
(2)最小直線段要求;
(3)最小管路夾角要求;
(4)彎曲半徑要求(不同管徑對(duì)應(yīng)不同的彎曲半徑),以滿足可制造性;
(5)管路應(yīng)盡量貼近機(jī)匣表面以節(jié)省敷設(shè)空間并提高穩(wěn)定性;
(6)管路長(zhǎng)度盡量短;
(7)為保證工程美觀,多管之間盡量成束敷設(shè),可通過(guò)雙聯(lián)卡箍固定。
管路布局算法主要分為預(yù)規(guī)劃生成基準(zhǔn)節(jié)點(diǎn)、基于工程規(guī)則的啟發(fā)式管路路徑搜索、基于雙聯(lián)卡箍約束的多管成束敷設(shè)優(yōu)化調(diào)整3個(gè)部分,算法總體設(shè)計(jì)框架如圖2所示。
圖2 布管算法總體設(shè)計(jì)框架
布管算法集成了1.2節(jié)中所述的工程規(guī)則,具體處理如下:
(1)對(duì)于工程規(guī)則(1)~規(guī)則(3):在遍歷搜索過(guò)程中,活動(dòng)節(jié)點(diǎn)與已定節(jié)點(diǎn)的連線需同時(shí)滿足這3個(gè)規(guī)則,詳見(jiàn)3.2.3節(jié)。
(2)對(duì)于工程規(guī)則(4),針對(duì)不同粗細(xì)的管路,在算法初始設(shè)置相對(duì)應(yīng)的彎曲半徑。
(3)對(duì)于工程規(guī)則(5),在節(jié)點(diǎn)預(yù)處理中對(duì)其ρ值進(jìn)行相應(yīng)處理,詳見(jiàn)3.2.1節(jié)。
(4)對(duì)于工程規(guī)則(6),通過(guò)3種評(píng)價(jià)策略對(duì)候選節(jié)點(diǎn)進(jìn)行選取,使得管路長(zhǎng)度相對(duì)最短,詳見(jiàn)3.2.4節(jié)。
(5)對(duì)于工程規(guī)則(7),通過(guò)雙聯(lián)卡箍對(duì)多管進(jìn)行調(diào)整優(yōu)化,達(dá)到成束敷設(shè)的效果,詳見(jiàn)3.3節(jié)。
為了減小搜索空間的規(guī)模,首先需要對(duì)路徑進(jìn)行預(yù)規(guī)劃并生成基準(zhǔn)節(jié)點(diǎn)。由微分幾何可知,基于測(cè)地線方程可得曲面兩點(diǎn)之間的最短路徑。下面簡(jiǎn)要給出機(jī)匣表面測(cè)地線方程求解方法[21]。假設(shè)機(jī)匣旋轉(zhuǎn)方程r(u,v)=(fM(u)cosv,fM(u)sinv,u),其中fM(u)為機(jī)匣母線方程,可通過(guò)若干機(jī)匣表面上的點(diǎn)建立近似擬合方程。首先對(duì)旋轉(zhuǎn)方程進(jìn)行微分,如式(1)所示:
(1)
則曲面的第一基本形式為:
(2)
整理可得:
(3)
由曲面的第一基本形式可知,(u,v)為正交參數(shù)系,應(yīng)用測(cè)地曲率的Liouvile公式消參,進(jìn)一步整理可得:
(4)
其中c為常數(shù),由v(u1)=v1決定,對(duì)兩邊同時(shí)積分得測(cè)地線方程:
(5)
這里預(yù)規(guī)劃生成的測(cè)地線只表示曲面兩點(diǎn)之間最短路徑,而并未考慮是否避障,需要在后期對(duì)基準(zhǔn)節(jié)點(diǎn)進(jìn)行處理和搜索。如圖3所示為一個(gè)基于測(cè)地線得基準(zhǔn)節(jié)點(diǎn)生成算例,其中S和T分別為起點(diǎn)和終點(diǎn),O1和O2為障礙物。
圖3 測(cè)地線生成基準(zhǔn)節(jié)點(diǎn)
基準(zhǔn)節(jié)點(diǎn)的最大數(shù)量可根據(jù)式(6)計(jì)算得到:
(6)
其中:Lmin表示最小管路長(zhǎng)度,floor表示向下取整,Distance表示兩點(diǎn)之間的直線距離。
下面結(jié)合航空發(fā)動(dòng)機(jī)三維空間環(huán)境特點(diǎn)以及1.2節(jié)中的工程規(guī)則對(duì)管路路徑進(jìn)行搜索,該部分主要包括基準(zhǔn)節(jié)點(diǎn)處理、節(jié)點(diǎn)遍歷搜索和節(jié)點(diǎn)選取策略3個(gè)部分,下面分別給予詳細(xì)介紹。
3.2.1 路徑基準(zhǔn)節(jié)點(diǎn)處理
在3.1節(jié)中通過(guò)測(cè)地線法計(jì)算出兩點(diǎn)之間最短路徑的節(jié)點(diǎn),由于這些節(jié)點(diǎn)都處于機(jī)匣表面,需要對(duì)節(jié)點(diǎn)進(jìn)行以下的處理:①將節(jié)點(diǎn)的空間直角坐標(biāo)轉(zhuǎn)換為柱坐標(biāo)的形式,設(shè)P點(diǎn)為機(jī)匣表面上的某節(jié)點(diǎn),其在空間直角坐標(biāo)系下的坐標(biāo)為(x,y,z),則P點(diǎn)在柱坐標(biāo)下的坐標(biāo)為(ρ,θ,z);②為了使P點(diǎn)距離機(jī)匣表面一定的距離且滿足工程規(guī)則(5),因此將P點(diǎn)沿徑向方向(ρ軸)按一定的距離平移進(jìn)而得到P′點(diǎn),如圖4所示。
圖4 節(jié)點(diǎn)預(yù)處理
實(shí)現(xiàn)的偽代碼如下:
算法1節(jié)點(diǎn)預(yù)處理方法。
輸入:測(cè)地線節(jié)點(diǎn)集合Nodes;
輸出:預(yù)處理后的節(jié)點(diǎn)集合NewNodes。
Begin
For 集合Nodes中的所有節(jié)點(diǎn)
將節(jié)點(diǎn)從直角坐標(biāo)轉(zhuǎn)換為柱坐標(biāo);
θ和z不變,ρ ← ρ+Δρ;
將節(jié)點(diǎn)從柱坐標(biāo)轉(zhuǎn)換為直角坐標(biāo),并保存到NewNodes集合中;
End for
End
3.2.2 兩節(jié)點(diǎn)能否直連的判斷方法
兩個(gè)節(jié)點(diǎn)之間的關(guān)系可分為可直連和不可直連。若活動(dòng)節(jié)點(diǎn)與已定節(jié)點(diǎn)之間滿足工程規(guī)則(1)~規(guī)則(3),即:①直連線段不與障礙相交;②直連線段的長(zhǎng)度大于最小直線段長(zhǎng)度L;③直連線段與已定線段之間的夾角大于最小管路夾角Ang。那么可以直連且不需要再進(jìn)行遍歷搜索,同時(shí)將活動(dòng)節(jié)點(diǎn)保留;否則對(duì)活動(dòng)節(jié)點(diǎn)進(jìn)行遍歷搜索。實(shí)現(xiàn)的偽代碼如下:
算法2兩節(jié)點(diǎn)能否直連判斷。
輸入:節(jié)點(diǎn)H和節(jié)點(diǎn)D的坐標(biāo),障礙柵格矩陣;
輸出:判別標(biāo)志Flag,若能直連,Flag為1,否則為0。
Begin
連接H、D兩點(diǎn),生成直線段LHD
If (LHD不與障礙相交) AND (Length(LHD) >L ) AND (θ(LHD,已定直線段) >Ang)
Flag← 1;
Else
Flag← 0;
End if
End
3.2.3 節(jié)點(diǎn)遍歷搜索
借鑒廣度優(yōu)先搜索算法的思想,對(duì)節(jié)點(diǎn)進(jìn)行遍歷,遍歷方式如下:從起點(diǎn)開(kāi)始訪問(wèn)第一層鄰近節(jié)點(diǎn),判斷該直線段的長(zhǎng)度和夾角是否滿足工程規(guī)則,若同時(shí)滿足,則保留在路徑節(jié)點(diǎn)中,逐層判斷;當(dāng)遍歷至最后一層節(jié)點(diǎn)時(shí),需要同時(shí)連接終點(diǎn),因此判斷兩段線段是否滿足長(zhǎng)度和夾角要求,若滿足則保留在路徑節(jié)點(diǎn)中,否則將基準(zhǔn)節(jié)點(diǎn)數(shù)減1,重新開(kāi)始搜索。如圖5所示為簡(jiǎn)化的節(jié)點(diǎn)遍歷搜索示意圖。
圖5 簡(jiǎn)化的節(jié)點(diǎn)遍歷搜索
在實(shí)際的三維搜索過(guò)程中,保持該節(jié)點(diǎn)的ρ與z不變,以定量角度間隔Δθ對(duì)節(jié)點(diǎn)進(jìn)行圓弧掃掠,如圖6所示。
圖6 節(jié)點(diǎn)圓弧掃掠遍歷
算法3節(jié)點(diǎn)遍歷搜索方法。
輸入:柵格信息矩陣,管路節(jié)點(diǎn)集合nodes,起點(diǎn)坐標(biāo)S;
輸出:搜索后的管路節(jié)點(diǎn)集合。
Begin
For i =1 to Maxnode
If i is first node
While(L(nodesi,S)=1 AND O(nodesi,S)=1)
nodesi(θ) = nodesi(θ)+Δθ;
End while
Else
While(L(nodesi,nodesi-1)=1 AND O(nodesi,nodesi-1)=1 AND Angle=1)
nodesi(θ) = nodesi(θ)+Δθ;
End while
End if
End for
End
3.2.4 節(jié)點(diǎn)選取策略
在搜索過(guò)程中,可能會(huì)出現(xiàn)多個(gè)點(diǎn)同時(shí)滿足工程要求,如圖7所示,第1、2和3號(hào)候選節(jié)點(diǎn)都可作為管路節(jié)點(diǎn),為使管路長(zhǎng)度相對(duì)最短,因此使用3種評(píng)價(jià)方法對(duì)候選節(jié)點(diǎn)進(jìn)行選取。
圖7 多個(gè)候選節(jié)點(diǎn)情形
(1)評(píng)價(jià)方式1 以前一個(gè)已定節(jié)點(diǎn)作為參考點(diǎn)進(jìn)行選取,如圖8所示。
圖8 評(píng)價(jià)方式1
分別計(jì)算Pi(i=1,2,...,n)與已定節(jié)點(diǎn)在柱坐標(biāo)系下的角度,并求出每個(gè)候選節(jié)點(diǎn)與參考節(jié)點(diǎn)角度之差的絕對(duì)值,最后選取絕對(duì)值最小的作為管路節(jié)點(diǎn),計(jì)算公式如下。
minθc=|Pi(θ)-CK(θ)|,i=1,2,...,n。
(7)
其中CK(θ)為參考節(jié)點(diǎn)在柱坐標(biāo)系下的角度。評(píng)價(jià)方式1的偽代碼表示如下:
算法4評(píng)價(jià)方式1。
輸入:候選節(jié)點(diǎn)集合P,已定節(jié)點(diǎn)D;
輸出:最終選取的節(jié)點(diǎn)Q。
Begin
θc← inf;
For i = 1 to N
θi= |Pi(θ) - D(θ)|;
If θi<θc
Q← Pi;
θc← θi;
End if
End for
End
(2)評(píng)價(jià)方式2 以終點(diǎn)作為參考點(diǎn)進(jìn)行選取,如圖9所示。
圖9 評(píng)價(jià)方式2
分別計(jì)算Pi(i=1,2,…,n)與終點(diǎn)在柱坐標(biāo)系下的角度,并求每個(gè)候選節(jié)點(diǎn)與終點(diǎn)角度之差的絕對(duì)值,最后選取絕對(duì)值最小的作為管路節(jié)點(diǎn),計(jì)算公式如下:
minθc=|Pi(θ)-T(θ)|,i=1,2,...,n。
(8)
其中T(θ)為終點(diǎn)在柱坐標(biāo)系下的角度。評(píng)價(jià)方式2的偽代碼表示如下:
算法5評(píng)價(jià)方式2。
輸入:候選節(jié)點(diǎn)集合P,終點(diǎn)T;
輸出:最終選取的節(jié)點(diǎn)Q。
Begin
θc← inf;
For i = 1 to N
θi= |Pi(θ) - T(θ)|;
If θi<θc
Q← Pi;
θc← θi;
End if
End for
End
(3)評(píng)價(jià)方式3 以前一已定節(jié)點(diǎn)與終點(diǎn)同時(shí)作為參考點(diǎn)進(jìn)行選取,如圖10所示。
圖10 評(píng)價(jià)方式3
分別計(jì)算Pi(i=1,2,...n)、參考節(jié)點(diǎn)1和參考節(jié)點(diǎn)2在柱坐標(biāo)系下的角度,求每個(gè)候選節(jié)點(diǎn)與它們差的絕對(duì)值并求和,最后選取絕對(duì)值最小的作為管路節(jié)點(diǎn),計(jì)算公式如下:
minθc=|Pi(θ)-CK(θ)|+|Pi(θ)-T(θ)|,i=1,2,...,n。
(9)
其中CK(θ)為參考節(jié)點(diǎn)1在柱坐標(biāo)系下的角度,T(θ)為參考節(jié)點(diǎn)2在柱坐標(biāo)系下的角度。評(píng)價(jià)方式3的偽代碼表示如下。
算法6評(píng)價(jià)方式3。
輸入:候選節(jié)點(diǎn)集合P,已定節(jié)點(diǎn)D,終點(diǎn)T;
輸出:最終選取的節(jié)點(diǎn)Q。
Begin
θc← inf;
For i = 1 to N
θi= |Pi(θ) - T(θ)|+|Pi(θ) - D(θ)|;
If θi<θc
Q← Pi;
θc← θi;
End if
End for
End
航空發(fā)動(dòng)機(jī)表面存在上百根粗細(xì)不同的管路,因此為了提高敷設(shè)空間的利用率以及滿足工程規(guī)則(7),在同一簇的管路之間加入雙聯(lián)卡箍使得其達(dá)到成束敷設(shè)的效果。雙聯(lián)卡箍的CAD模型如圖11所示。
圖11 雙聯(lián)卡箍CAD模型
雙聯(lián)卡箍實(shí)際上是一種一端固定,另一端繞連桿進(jìn)行旋轉(zhuǎn)變化的可動(dòng)零部件,如圖12所示。在安裝雙聯(lián)卡箍時(shí)通常需要一根已敷設(shè)管路,在其管路中心線上選取一點(diǎn)作為雙聯(lián)卡箍一側(cè)的端點(diǎn),如圖中的A點(diǎn),另一端點(diǎn)B則根據(jù)雙聯(lián)卡箍的尺寸以及旋轉(zhuǎn)角度等信息,利用空間坐標(biāo)系變換進(jìn)行計(jì)算得到。
圖12 雙聯(lián)卡箍簡(jiǎn)易模型
如圖12所示,首先在端點(diǎn)A處建立相對(duì)坐標(biāo)系O1,設(shè)A點(diǎn)的坐標(biāo)為(xA,yA,zA),P點(diǎn)坐標(biāo)為(0,0,zA)。其3個(gè)坐標(biāo)軸的單位向量由以下公式計(jì)算得到:
ex=cross(vector1,vector2);ey=vector1;
ez=cross(ex,ey)。
(10)
其中:vector1為A點(diǎn)所在直線段中的單位向量,cross表示叉乘,vector2由式(11)計(jì)算得到:
vector2=cross(vector1,vector3)。
(11)
(12)
其中θ為旋轉(zhuǎn)角度,因此將坐標(biāo)系O1繞y軸進(jìn)行旋轉(zhuǎn)后得到新的坐標(biāo)系矩陣為:
T=[ex,ey,ez]·roty。
(13)
由此可通過(guò)式(14)計(jì)算B點(diǎn)的坐標(biāo):
(14)
其中Tx為新坐標(biāo)系下x軸的分量,l為雙聯(lián)卡箍連桿的長(zhǎng)度。
如圖13所示,通過(guò)啟發(fā)式管路路徑搜索算法求解出固定管路和優(yōu)化前管路。
圖13 管路調(diào)整優(yōu)化示意圖
利用雙聯(lián)卡箍對(duì)其進(jìn)行優(yōu)化調(diào)整,優(yōu)化調(diào)整的偽代碼如下:
算法7優(yōu)化調(diào)整方法。
輸入:固定管路和優(yōu)化前的管路節(jié)點(diǎn)數(shù)據(jù)集合;
輸出:優(yōu)化后的管路節(jié)點(diǎn)數(shù)據(jù)集合。
Begin
設(shè)置雙聯(lián)卡箍數(shù)量n;
確定雙聯(lián)卡箍的位置A1,A2,...,An;
For i=1:n
建立Ai處的相對(duì)坐標(biāo)系Oi;
通過(guò)式(14)計(jì)算繞相對(duì)坐標(biāo)系y軸旋轉(zhuǎn)后新的坐標(biāo)系矩陣Ti;
通過(guò)式(15)計(jì)算Bi坐標(biāo);
End for
End
綜上所述,該管路布局算法的流程如圖14所示。
圖14 管路布局算法流程圖
本文采用如圖1所示的簡(jiǎn)化發(fā)動(dòng)機(jī)敷設(shè)模型進(jìn)行仿真計(jì)算,基于Siemens NX和MATLAB兩個(gè)平臺(tái)搭建敷設(shè)系統(tǒng),二者通過(guò)txt文本實(shí)現(xiàn)數(shù)據(jù)交互。敷設(shè)CAD模型建模和預(yù)處理方面,通過(guò)Siemens/GRIP二次開(kāi)發(fā)工具提取發(fā)動(dòng)機(jī)幾何模型柵格信息和機(jī)匣母線等信息,并存為txt文本作為算法輸入。敷設(shè)算法方面,在MATLAB平臺(tái)編程實(shí)現(xiàn),自動(dòng)計(jì)算求解管路布局和雙聯(lián)卡箍布置方案,并將計(jì)算結(jié)果存為txt文本。最后在Siemens NX通過(guò)GRIP二次開(kāi)發(fā)程序讀取計(jì)算幾何,實(shí)現(xiàn)計(jì)算結(jié)果的可視化。
管路布局算法的參數(shù)設(shè)置如表1所示,其中不同管徑對(duì)應(yīng)不同的彎曲半徑。
表1 算法參數(shù)設(shè)置
為了驗(yàn)證該管路布局算法的有效性,本文比較了粒子群優(yōu)化 (Particle Swarm Optimization,PSO) 算法和傳統(tǒng)A*算法這兩種算法對(duì)路徑的求解性能。其中PSO算法為群體智能優(yōu)化算法,其參數(shù)設(shè)置如下:種群大小N=30,迭代次數(shù)t=30代,c1,c2都設(shè)置為1.496 2,慣性權(quán)值w=0.729 8。由于智能算法存在隨機(jī)性,對(duì)PSO算法獨(dú)立運(yùn)行20次,最后在20次結(jié)果中選取最優(yōu)解。
在管路的起始點(diǎn)及其他參數(shù)都一致的情況下對(duì)3種算法的結(jié)果進(jìn)行了可視化,如圖15所示。
圖15 3種算法對(duì)比效果圖
算法詳細(xì)對(duì)比分析如表2所示。
表2 實(shí)驗(yàn)結(jié)果對(duì)比分析
需要說(shuō)明的是,由于3種算法優(yōu)化出的路徑節(jié)點(diǎn)個(gè)數(shù)存在差異,即折彎數(shù)也不相同,分別對(duì)其補(bǔ)角和求平均值,值越小代表平滑度越好。從表2可以看出本文所提算法的搜索結(jié)果在管路長(zhǎng)度和平滑度評(píng)價(jià)指標(biāo)上都優(yōu)于其余兩種算法,由于本文算法在節(jié)點(diǎn)搜索上更具有全局性,從而導(dǎo)致運(yùn)行時(shí)間略慢于A*算法,但目前管路布局大都由人工進(jìn)行設(shè)計(jì),比較耗時(shí),因此該算法的運(yùn)行時(shí)間也在工程要求范圍內(nèi)。另外,相對(duì)于文獻(xiàn)[18]~文獻(xiàn)[20],本文方法考慮了彎曲半徑、最小直線段長(zhǎng)度、雙聯(lián)卡箍約束等實(shí)際工程規(guī)則,由于上述文獻(xiàn)與本文所考慮的工程規(guī)則不同,求解出的管路路徑難以通過(guò)一些評(píng)價(jià)指標(biāo)來(lái)衡量對(duì)比,本文未與它們進(jìn)行比較。
最后,為了進(jìn)一步驗(yàn)證該算法的工程應(yīng)用價(jià)值,本文對(duì)16根管路從粗到細(xì)、從內(nèi)到外進(jìn)行順次敷設(shè)優(yōu)化,算法在每根管優(yōu)化完成后自動(dòng)對(duì)其進(jìn)行障礙化處理。為了使敷設(shè)結(jié)果符合工程美學(xué)等要求,本文在算法中融合雙聯(lián)卡箍約束,使得同一組的多根管路能夠體現(xiàn)出成束敷設(shè)的效果。算法完成后,利用Siemens NX二次開(kāi)發(fā)對(duì)所有管路以及雙聯(lián)卡箍進(jìn)行可視化,如圖16所示為未加入雙聯(lián)卡箍?jī)?yōu)化調(diào)整的管路,如圖17所示為加入雙聯(lián)卡箍?jī)?yōu)化調(diào)整后的管路,從中對(duì)比可以看出調(diào)整后的管路布局效果更加規(guī)整。
圖16 未加雙聯(lián)卡箍的多管布局效果圖
圖17 加入雙聯(lián)卡箍的多管布局效果圖
該管路布局算法在運(yùn)行時(shí)間上每根管路搜索的時(shí)間平均為3 s左右,因此它在實(shí)際應(yīng)用中能大幅度提高管路布局的效率,特別是在對(duì)多管同時(shí)布局時(shí)具有較高的潛在應(yīng)用價(jià)值。
本文為解決航空發(fā)動(dòng)機(jī)管路布局方面效率低、敷設(shè)效果往往達(dá)不到工程需求的問(wèn)題,提出了一種集成工程規(guī)則和卡箍調(diào)整的啟發(fā)式布管算法,并將該算法與其他兩種常用的算法進(jìn)行對(duì)比,同時(shí)求解多根管路的布局問(wèn)題,其結(jié)果表明該算法在優(yōu)化效率和敷設(shè)效果上均有較大的優(yōu)勢(shì)。該算法融合了多種工程規(guī)則,在避障的前提下保證了優(yōu)化出的管路路徑滿足可制造加工要求。在此基礎(chǔ)上,通過(guò)安裝雙聯(lián)卡箍對(duì)管路路徑進(jìn)行小范圍調(diào)整,使得在密集區(qū)的管路達(dá)到成束敷設(shè)的效果,進(jìn)一步實(shí)現(xiàn)了工程美學(xué)的要求。在后續(xù)的工作中,將對(duì)算法進(jìn)行改進(jìn)完善,降低時(shí)間復(fù)雜度,并在算法中融合更多的工程規(guī)則。