本發(fā)明涉及一種基于規(guī)則的體結(jié)構(gòu)演化設(shè)計(jì)方法。
背景技術(shù):
3D打印工藝的發(fā)展為制造復(fù)雜結(jié)構(gòu)的模型提供了高效的方法,輕量化結(jié)構(gòu)的生成方法也成為諸多學(xué)者研究的熱點(diǎn),但對(duì)復(fù)雜輕量化結(jié)構(gòu)的設(shè)計(jì)仍然有許多困難,現(xiàn)有一些商業(yè)三維設(shè)計(jì)軟件等面向3D打印的系統(tǒng),支持對(duì)模型進(jìn)行抽殼、支撐設(shè)計(jì)等復(fù)雜內(nèi)部結(jié)構(gòu)的功能。但是缺少有效的分析測(cè)試和結(jié)構(gòu)性能評(píng)估的工具,無(wú)法在保證結(jié)構(gòu)機(jī)械性能的前提下,精確計(jì)算合適的材料去除率,以及生成支撐的形態(tài)、數(shù)量和位置。大多方法與系統(tǒng)需要依賴第三方仿真分析軟件,根據(jù)分析結(jié)果通過(guò)人工的評(píng)估和經(jīng)驗(yàn)來(lái)反復(fù)的修改或試錯(cuò),最終獲得優(yōu)化的模型。針對(duì)這些問(wèn)題,一些新的計(jì)算方法嘗試通過(guò)專用算法生成一些精致的、預(yù)定義的模式,但這又限制了設(shè)計(jì)的靈活性和可交互性。
近年來(lái),通過(guò)規(guī)則的設(shè)計(jì)生成輕量化的結(jié)構(gòu)尚在初步階段,通過(guò)基于Agent系統(tǒng)的演化和可廢止邏輯規(guī)則使設(shè)計(jì)者能夠借助不完全的知識(shí)領(lǐng)域,控制結(jié)構(gòu)的演化設(shè)計(jì)過(guò)程,得到滿足要求的輕量化結(jié)構(gòu)設(shè)計(jì)。西安電子科技大學(xué)提出的基于Agent的動(dòng)態(tài)演化系統(tǒng)及方法(CN103309658A)用于用戶需求和環(huán)境不斷變化的系統(tǒng)中,是一種滿足用戶開(kāi)發(fā)動(dòng)態(tài)集成演化系統(tǒng)需求的一種方法,但系統(tǒng)不能自主的應(yīng)對(duì)比如未預(yù)定的環(huán)境和復(fù)雜的環(huán)境變化,且沒(méi)有自主調(diào)節(jié)機(jī)制。北京航空航天大學(xué)提出的一種基于多Agent的分布式推演仿真系統(tǒng)與方法(CN101908085A)可以實(shí)現(xiàn)自主感知戰(zhàn)場(chǎng)環(huán)境狀態(tài)、自主決策和行為輸出,是具備可擴(kuò)充特性并具有通用性的作戰(zhàn)仿真系統(tǒng),但是此系統(tǒng)不能實(shí)時(shí)應(yīng)對(duì)復(fù)雜的戰(zhàn)場(chǎng)環(huán)境。
目前,大多數(shù)面向多Agent系統(tǒng)的研究集中于Agent的感知、行為和寫作方法。例如,情景化的多Agent理論系統(tǒng),以及局部的Agent行為對(duì)整個(gè)系統(tǒng)的影響等。本文將模型中的每個(gè)體單元定義為一個(gè)智能Agent,通過(guò)設(shè)計(jì)簡(jiǎn)單的感知、結(jié)構(gòu)編輯行為,以及行為規(guī)則,使體素能夠相互作用,在外部和內(nèi)部環(huán)境作用下進(jìn)行更新,最終通過(guò)群體行為的涌現(xiàn)得到滿足要求的設(shè)計(jì)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于針對(duì)已有技術(shù)的不足,提供一種基于規(guī)則的體結(jié)構(gòu)演化設(shè)計(jì)方法,通過(guò)指定模型中每個(gè)體素及其鄰域定義為一個(gè)智能主體,將模型內(nèi)部結(jié)構(gòu)裝配問(wèn)題轉(zhuǎn)化為一個(gè)多智能主體系統(tǒng)的優(yōu)化問(wèn)題,引入可廢止邏輯用于單個(gè)智能主體的行為控制,通過(guò)全局的演化策略控制系統(tǒng)模型整體演化關(guān)系,局部演化通過(guò)Agent對(duì)實(shí)時(shí)的環(huán)境感知,改變自身的行為特性,該方法能夠根據(jù)不完全的知識(shí)和約束,通過(guò)群體行為生成滿足要求的輕量化結(jié)構(gòu)。
為了實(shí)現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案:
一種基于規(guī)則的體結(jié)構(gòu)演化設(shè)計(jì)方法,操作步驟如下:
1)體素化:采用八叉樹(shù)方法對(duì)輸入的網(wǎng)格模型體素化,并將設(shè)計(jì)與評(píng)估統(tǒng)一到一個(gè)計(jì)算域中;
2)初始化:構(gòu)建多Agent系統(tǒng),定義外部環(huán)境;
3)可廢止規(guī)則演化:Agent感知自身所處的環(huán)境信息與自身屬性進(jìn)行判斷,并基于可廢止規(guī)則進(jìn)行模型演化;
4)有限元分析:通過(guò)有限元分析對(duì)生成的模型進(jìn)行評(píng)估檢測(cè),并實(shí)時(shí)的把體素受到的應(yīng)力值反饋到結(jié)構(gòu)的演化過(guò)程,并由Agent感知;
5)表面重建:輕量化體素模型結(jié)構(gòu)的表面重建;
6)參數(shù)驗(yàn)證:演化生成的網(wǎng)格模型進(jìn)行參數(shù)的驗(yàn)證。
所述步驟1)體素化具體為:采用八叉樹(shù)方法對(duì)輸入的網(wǎng)格模型體素化,將三角網(wǎng)格面片結(jié)構(gòu)轉(zhuǎn)化為六面體體素單元,并將設(shè)計(jì)和評(píng)估統(tǒng)一到一個(gè)計(jì)算域中,為構(gòu)建多Agent系統(tǒng)的外部環(huán)境、模型的編輯和仿真分析提供基礎(chǔ)。
所述步驟2)模型初始化具體為:初始化過(guò)程需要為Agent系統(tǒng)定義一個(gè)環(huán)境,我們將這種體模型結(jié)構(gòu)設(shè)計(jì)方法表達(dá)為離散、有限空間內(nèi)多Agent系統(tǒng),將每一個(gè)體素與其鄰域定義為一個(gè)智能Agent,根據(jù)體結(jié)構(gòu)的多層次性,將模型在不同層次上進(jìn)行定義。其中,模型的環(huán)境為V。采用V.Neumann型和Moore鄰域系統(tǒng),把一個(gè)體結(jié)構(gòu)的模型轉(zhuǎn)化成一個(gè)多Agent系統(tǒng),面向功能的設(shè)計(jì)問(wèn)題解釋為一個(gè)多Agent系統(tǒng)的優(yōu)化問(wèn)題,每一個(gè)Agent基于環(huán)境改變自身的結(jié)構(gòu),并通過(guò)定義簡(jiǎn)單的規(guī)則來(lái)驅(qū)動(dòng)模型的優(yōu)化。
首先,對(duì)體素化后邊界上的體素標(biāo)記為1,然后對(duì)模型中的體素進(jìn)行若干次遍歷,判斷其位置值是否未標(biāo)記且其鄰域中有已經(jīng)標(biāo)記的體素,若是,則此時(shí)進(jìn)行體素更新(v)。并對(duì)其進(jìn)行賦值為maxN(v)+1,其中N(v)表示鄰域距離邊界的距離值。
所述步驟3)可廢止規(guī)則演化具體為:結(jié)構(gòu)的演化是一個(gè)迭代的過(guò)程,Agent通過(guò)感知、判斷、行為進(jìn)行作用,并從環(huán)境中感知,包括鄰域的狀態(tài)與評(píng)估結(jié)果,根據(jù)演化需求感知判斷所需的信息。并根據(jù)感知到的信息與自身狀態(tài)通過(guò)定義可廢止規(guī)則進(jìn)行判斷。Agent通過(guò)判斷結(jié)果改變自身的屬性,并通過(guò)自身屬性的改變進(jìn)而促進(jìn)結(jié)構(gòu)的演化,同時(shí)改變內(nèi)部結(jié)構(gòu)。其中,每個(gè)Agent只占用一個(gè)設(shè)計(jì)單元。由感知與行為兩方面組成:
輕量化設(shè)計(jì)中,感知有兩部分組成:
1、Γ1(狀態(tài))獲得Agent本身的信息,包括其本身的狀態(tài)變量Sa或從其本身的屬性計(jì)算出來(lái)的指標(biāo)。
2、Γ2(應(yīng)力)獲得外部的狀態(tài),在輕量化的設(shè)計(jì)中只包括從有限元分析中獲得的反饋。
Agent的行為包括自身狀態(tài)的改變、幾何特征的改變和材料的改變等。
輕量化設(shè)計(jì)中,行為包括:
1、Delete(v):Agent刪除體素。
2、Update(v):Agent更新體素狀態(tài)。
為了避免操作的相互干涉,限制Agent中的體素v在設(shè)計(jì)單元的中心。
Agent的決策:每個(gè)Agent由感知的結(jié)果決定行為,不同的感知行為進(jìn)行判斷最終只能產(chǎn)生一個(gè)結(jié)果。設(shè)計(jì)需求通過(guò)可廢止的邏輯轉(zhuǎn)化成Agent期望的目標(biāo),在輕量化模型設(shè)計(jì)中,目標(biāo)如下:
1、事實(shí):
(a)體素應(yīng)力安全,判斷體素受到的等效應(yīng)力是否小于η[σ];
(b)體素受到應(yīng)力較小,判斷其受到的等效應(yīng)力是否是模型M中受力最小的10%;
(c)邊界體素,判斷Agent中的體素是否處在模型M的邊界;
(d)空體素,判斷體素到邊界的距離值是否為0(此規(guī)則應(yīng)用在初始化中,在初始化時(shí)建立每個(gè)Agent到邊界的距離位置關(guān)系);
(e)鄰域比較距離值,判斷其到邊界的距離是否是鄰域中最大的;
2、必須遵守的規(guī)則:
空體素(Γ1(狀態(tài)))→更新(v)
可廢止的規(guī)則:
(1)體素受到的應(yīng)力較小
(2)鄰域比較距離邊界值最大
3、廢止者:
處在邊界
應(yīng)力是安全的
所述步驟4)有限元分析具體為:Agent對(duì)環(huán)境的感知結(jié)果通過(guò)有限元分析進(jìn)行評(píng)估檢測(cè),并實(shí)時(shí)反饋到演化過(guò)程。在結(jié)構(gòu)演化過(guò)程中,評(píng)估與反饋的結(jié)果由Agent感知。根據(jù)不同的設(shè)計(jì)需求,可以建立多種評(píng)估與感知方式嵌入到設(shè)計(jì)框架中,Agent能夠在環(huán)境中感知到這些結(jié)果,并通過(guò)有限元分析對(duì)生成模型進(jìn)行評(píng)估檢測(cè),實(shí)時(shí)的把體素受到的應(yīng)力值反饋到模型的演化過(guò)程中。把輕量化的需求描述為在滿足力學(xué)性能的前提下使模型的體積質(zhì)量盡可能的小,其定義為以下的優(yōu)化問(wèn)題:
其中vi為一個(gè)體素,M表示原始模型,F(xiàn)(vi)表示vi所受到的應(yīng)力,[σ]為許用應(yīng)力,η為安全系數(shù).
所述步驟5)表面重建具體為:表面重建即提取元胞模型的表面結(jié)構(gòu),重建用于輸出3D打印的表面網(wǎng)格結(jié)構(gòu)。我們把模型結(jié)構(gòu)體最外層的六面體體素所對(duì)應(yīng)的四邊形表面轉(zhuǎn)化為三角面片形式,融合連接所有的三角面片,構(gòu)成模型體的表面網(wǎng)格結(jié)構(gòu),支持打印機(jī)的輸出。然后將演化后體素模型與原始的表面模型進(jìn)行布爾差的運(yùn)算,在保證表面質(zhì)量的前提下,生成具有內(nèi)部結(jié)構(gòu)的輕量化模型;
M0=M∩M1 (2)
其中,M0為輕量化結(jié)構(gòu)模型,M為原始模型,M1為演化后具有內(nèi)部結(jié)構(gòu)的模型;
所述步驟6)參數(shù)驗(yàn)證:針對(duì)輕量化模型的實(shí)現(xiàn)過(guò)程,我們從不同環(huán)境影響和不同規(guī)則驅(qū)動(dòng)下生成模型,檢測(cè)模型孔隙率大小,模型生成時(shí)間等相關(guān)實(shí)驗(yàn)測(cè)試來(lái)驗(yàn)證方法的有效性,不同的內(nèi)部環(huán)境的改變將影響模型的內(nèi)部結(jié)構(gòu)以及在相同的規(guī)則的驅(qū)動(dòng)下不同的外加約束和環(huán)境下得到相異的內(nèi)部結(jié)構(gòu)。
本發(fā)明與現(xiàn)有技術(shù)相比較,具有如下顯而易見(jiàn)的突出實(shí)質(zhì)性特點(diǎn)和顯著優(yōu)點(diǎn):
本發(fā)明方法實(shí)現(xiàn)了采用簡(jiǎn)單的規(guī)則來(lái)控制復(fù)雜的環(huán)境變化過(guò)程,最終實(shí)現(xiàn)全局的優(yōu)化,生成輕量化模型體結(jié)構(gòu)。
附圖說(shuō)明
圖1本發(fā)明基于規(guī)則的體結(jié)構(gòu)演化設(shè)計(jì)方法操作步驟流程圖。
圖2網(wǎng)格模型優(yōu)選實(shí)例。
圖3 Agent與環(huán)境。
圖4不同鄰域條件下模型演化過(guò)程。
圖5不同外部環(huán)境的改變對(duì)演化過(guò)程的影響。
圖6,即為表1,為模型的初始化及演化時(shí)間。
圖7,即為表2,為實(shí)驗(yàn)?zāi)P徒Y(jié)構(gòu)體孔隙率變化值。
具體實(shí)施方式
本發(fā)明的優(yōu)選實(shí)施實(shí)例,結(jié)合附圖詳細(xì)說(shuō)明如下:
參見(jiàn)圖1,一種基于規(guī)則的體結(jié)構(gòu)演化設(shè)計(jì)方法,操作步驟如下:
1)體素化:采用八叉樹(shù)方法對(duì)輸入的網(wǎng)格模型體素化,并將設(shè)計(jì)與評(píng)估統(tǒng)一到一個(gè)計(jì)算域中;
2)初始化:構(gòu)建多Agent系統(tǒng),定義外部環(huán)境;
3)可廢止規(guī)則演化:Agent感知自身所處的環(huán)境信息與自身屬性進(jìn)行判斷,并基于可廢止規(guī)則進(jìn)行模型演化;
4)有限元分析:通過(guò)有限元分析對(duì)生成的模型進(jìn)行評(píng)估檢測(cè),并實(shí)時(shí)的把體素受到的應(yīng)力值反饋到結(jié)構(gòu)的演化過(guò)程,并由Agent感知;
5)表面重建:輕量化體素模型結(jié)構(gòu)的表面重建;
6)參數(shù)驗(yàn)證:演化生成的網(wǎng)格模型進(jìn)行參數(shù)的驗(yàn)證。
所述步驟1)體素化:在VisualStudio2013開(kāi)發(fā)環(huán)境中使用C++語(yǔ)言實(shí)現(xiàn)模型的體素化。輸入的stl三角網(wǎng)格模型優(yōu)選實(shí)例兔子見(jiàn)圖2,采用八叉樹(shù)方法對(duì)輸入的網(wǎng)格模型進(jìn)行體素化,三角網(wǎng)格體素化后,將設(shè)計(jì)和評(píng)估統(tǒng)一到一個(gè)計(jì)算域中,為模型的編輯和仿真分析提供基礎(chǔ)。
所述步驟2)初始化:初始化過(guò)程是為Agent系統(tǒng)定義一個(gè)環(huán)境,我們把體模型結(jié)構(gòu)設(shè)計(jì)方法表達(dá)為離散、有限空間內(nèi)多Agent系統(tǒng),且Agent所處的環(huán)境如圖3所示,分別為V.Neumann型和Moore型鄰域,由于把每個(gè)體素定義為一個(gè)元胞,初始化時(shí),邊界上的體素標(biāo)記為1,內(nèi)部體素標(biāo)記為0。然后根據(jù)規(guī)則判斷其位置值是否未標(biāo)記且其鄰域中有已經(jīng)標(biāo)記的體素,若是,則此時(shí)進(jìn)行體素更新(v),賦值為maxN(v)+1,其中N(v)表示其鄰域到邊界的距離值,對(duì)模型中的體素進(jìn)行若干次遍歷,直到所有的體素全部做了標(biāo)記。
所述步驟3)可廢止規(guī)則演化;通過(guò)八叉樹(shù)劃分5次(Level=5)的蘋果和貓咪模型在內(nèi)部條件改變的情況下基于可廢止規(guī)則進(jìn)行試驗(yàn)測(cè)試,其中圖4描述的是蘋果和貓咪分別在V.Neumann型和Moore鄰域下的演化結(jié)果。從實(shí)驗(yàn)可以看出用Moore鄰域演化結(jié)果更均勻平滑,毛刺少。針對(duì)外部環(huán)境的改變對(duì)模型結(jié)構(gòu)的影響,使用了可廢止規(guī)則(1)和廢止條件對(duì)演化過(guò)程進(jìn)行控制,圖5給出了兔子和杯子模型在相同的演化規(guī)則驅(qū)動(dòng)下由于外界環(huán)境施加力的位置改變導(dǎo)致生成模型內(nèi)部結(jié)構(gòu)的變化,并保留了不同的支撐結(jié)構(gòu),以承受外界的壓力。其中兔子模型的力分別施加在頭部,背部,耳部,演化次數(shù)對(duì)應(yīng)圖5中兔子的(d)N=7次,(h)N=5次、(l)N=9次時(shí)模型符合公式(1)的要求,杯子模型力分別施加在頂部和側(cè)面,演化次數(shù)分別為(d)N=4和(h)N=7時(shí)符合的要求。驗(yàn)證了當(dāng)外部環(huán)境和需求變化時(shí)對(duì)內(nèi)部結(jié)構(gòu)的影響。
所述步驟4)有限元分析:針對(duì)外部環(huán)境的改變對(duì)模型內(nèi)部結(jié)構(gòu)的影響,使用可廢止的規(guī)則(2)和廢止條件對(duì)演化過(guò)程進(jìn)行控制,圖5給出了兔子和杯子模型在相同的演化規(guī)則下,由于外界環(huán)境的改變導(dǎo)致模型在演化過(guò)程中實(shí)時(shí)的根據(jù)FEA分析的結(jié)果進(jìn)行反饋優(yōu)化,當(dāng)模型中體素的應(yīng)力條件超過(guò)許用應(yīng)力的要求時(shí)演化結(jié)束。圖6描述了兔子、蘋果、人、香蕉四模型在演化過(guò)程中所用的時(shí)間,其中初始化時(shí)間我們表示為t0,每一次的演化時(shí)間分別由t1到t10表示,表中可以看出模型的初始化和演化所用時(shí)間大概在35s-50s之間,初始化時(shí)間較短,大部分時(shí)間應(yīng)用在有限元分析和反饋上,圖7則描述了兔子、蘋果、人、香蕉四模型演化過(guò)程中孔隙率的變化值。
所述步驟5)表面重建:對(duì)生成的輕量化體素模型進(jìn)行結(jié)構(gòu)的表面重建,重建是生成可3D打印的表面網(wǎng)格結(jié)構(gòu),保證表面質(zhì)量。我們使用的模型表面重建方法是使模型結(jié)構(gòu)體外層的六面體體素表面所對(duì)應(yīng)的四邊形表面轉(zhuǎn)化為三角面片形式,連接所有的三角面片,構(gòu)成模型體的表面網(wǎng)格結(jié)構(gòu),然后將演化后的體素模型與原始的表面模型進(jìn)行布爾交的運(yùn)算,在保證表面質(zhì)量的前提下,生成具有內(nèi)部結(jié)構(gòu)的輕量化模型。
所述步驟6)參數(shù)驗(yàn)證:對(duì)演化生成的輕量化模型進(jìn)行參數(shù)的驗(yàn)證,我們把生成的輕量化結(jié)構(gòu)在普通的桌面3D打印機(jī)上打印,使用PLA塑料,屈服強(qiáng)度為41Mpa。并且與其他方法實(shí)現(xiàn)相同的輕量化結(jié)構(gòu)進(jìn)行時(shí)間、強(qiáng)度和質(zhì)量的對(duì)比,進(jìn)而驗(yàn)證方法的可靠性和實(shí)用性。