本發(fā)明涉及裝配序列規(guī)劃技術(shù)領(lǐng)域,具體涉及一種基于本體的子裝配體識別方法。
背景技術(shù):
裝配序列規(guī)劃(Assembly Sequence Planning,簡稱ASP)是產(chǎn)品制造流程中的核心環(huán)節(jié),裝配序列的科學性決定裝配質(zhì)量和產(chǎn)品性能。對于大規(guī)模產(chǎn)品的生產(chǎn)制造,性能優(yōu)良的裝配序列將會縮短產(chǎn)品的生產(chǎn)周期,降低產(chǎn)品的生產(chǎn)費用,提高產(chǎn)品的質(zhì)量和性能。然而,對于零件數(shù)量大的復雜產(chǎn)品的裝配,傳統(tǒng)的優(yōu)先約束法和割集拆卸法等裝配序列規(guī)劃方法不可避免會出現(xiàn)“組合爆炸”問題。
技術(shù)實現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是現(xiàn)有裝配序列規(guī)劃方法在進行復雜產(chǎn)品的裝配時會出現(xiàn)“組合爆炸”的問題,提供一種基于本體的子裝配體識別方法。
為解決上述問題,本發(fā)明是通過以下技術(shù)方案實現(xiàn)的:
一種基于本體的子裝配體識別方法,包括如下步驟:
步驟A.根據(jù)裝配領(lǐng)域知識框架構(gòu)建相應的本體知識庫,本體知識庫中類與類之間的屬性關(guān)系對裝配領(lǐng)域知識提供一致性描述;
步驟B.基于步驟A所構(gòu)建的本體知識庫,根據(jù)裝配體中零件的剛性連接關(guān)系構(gòu)建基于本體和規(guī)則語言的推理規(guī)則庫;
步驟C.針對特定的裝配體實例,在步驟A所構(gòu)建的本體知識庫中對相應的概念和屬性進行實例化,并建立裝配體實例的類的個體以及個體之間的屬性關(guān)系,獲得實例化本體知識庫;
步驟D.基于步驟B所構(gòu)建的推理規(guī)則庫,利用推理機對步驟C所獲得的實例化本體知識庫進行推理,并將推理結(jié)果加入該實例化本體知識庫中;
步驟E.根據(jù)所需信息構(gòu)建規(guī)則查詢語句,并使用規(guī)則查詢語言對步驟D所得到實例化本體知識庫中的推理結(jié)果進行檢索,并輸出驗證后的實例化本體知識庫。
步驟A中,本體知識庫中的類包括實物類和特征類。
步驟B具體為:
步驟B1.根據(jù)裝配體中零件的剛性連接關(guān)系,推理連接關(guān)系的特征元和相應的零件對;并選定起始零件和子裝配體標志零件;
步驟B2.根據(jù)子裝配體標志零件所包含的特征元構(gòu)建規(guī)則,識別子裝配體種類;
步驟B3.根據(jù)決定連接的零件對的特征元構(gòu)建規(guī)則,推理與連接具有約束關(guān)系的特征元以及對應的零件,這些零件則屬于此子裝配體;
步驟B4.把連接零件對中的終結(jié)零件加入子裝配體。
步驟C2還進一步包括如下過程:利用實例化本體知識庫自身的推理能力推理隱含關(guān)系,并檢驗實例化本體知識庫的一致性。
與現(xiàn)有技術(shù)相比,本發(fā)明具有如下特點:
1.本體知識庫知識庫與推理規(guī)則庫可以共享與重用,為不同系統(tǒng)間裝配領(lǐng)域信息描述提供了一致性方法以供異構(gòu)系統(tǒng)間信息交換,保證了知識庫的可移植性和可擴展性。
2.利用子裝配體思想層次結(jié)構(gòu)化裝配體,從而結(jié)構(gòu)化裝配體結(jié)構(gòu)信息,增強裝配體信息模型的描述能力。引入子裝配體思想降低了裝配序列規(guī)劃問題規(guī)模,提高序列規(guī)劃求解效率。
3.為基于本體的裝配領(lǐng)域問題提供了本體知識庫描述框架和規(guī)則庫的基礎,為進一步完成裝配序列規(guī)劃任務作了預備工作。
附圖說明
圖1為一種基于本體的子裝配體識別方法的流程圖。
圖2為具體實施例本體知識庫中重要類的層次結(jié)構(gòu)圖。
具體實施方式
一種基于本體的子裝配體識別方法,如圖1所示,包括如下步驟:
階段1.本體知識庫表示框架的構(gòu)建和語義推理規(guī)則庫的構(gòu)建:
步驟A.根據(jù)裝配領(lǐng)域知識框架構(gòu)建相應的本體知識庫,本體中類與類之間的屬性關(guān)系對領(lǐng)域知識提供一致性描述。
步驟A1.根據(jù)裝配領(lǐng)域知識,本體構(gòu)建過程中類和類的關(guān)系反映了主要描述概念種類以及概念之間的包含關(guān)系(層次關(guān)系)。類主要分為兩大類:一是實物類,其子類主要有零件類、部件類、子裝配體類等;二是特征類,其子類主要有幾何特征類、材料特征類、空間特征關(guān)系類等。幾何特征又有特征面、特征孔、特征軸等類別。
步驟A2.根據(jù)裝配領(lǐng)域知識,建立本體中概念之間的屬性關(guān)系。如零件具有特定的特征元,零件之間具有特定的連接關(guān)系,特征元之間有連接關(guān)系等等。屬性關(guān)系也具有層次關(guān)系,一個屬性可以有多個不同的子屬性。
步驟B.根據(jù)裝配體中零件形成的常用剛性連接關(guān)系構(gòu)建基于本體和規(guī)則語言的推理規(guī)則庫。
步驟B1.根據(jù)剛性連接結(jié)構(gòu)可以形成穩(wěn)定子裝配體的特點構(gòu)建規(guī)則,推理決定此連接關(guān)系的特征元(如特征表面、特征孔軸等元素)和相應的零件對,零件對中有較大體積或重量的零件為起始零件和子裝配體標志零件。在產(chǎn)品裝配過程中,零件根據(jù)相互之間的連接關(guān)系和約束關(guān)系進行識別和安裝。由于多數(shù)其他零件依附于基礎零件,基礎零件在裝配過程中固定不動,其他零件在其基礎上進行裝配,因此以特定的基礎零件為起始進行裝配可以有效降低裝配代價。裝配體中基礎零件(裝配過程起始零件)的選擇指標通常有較大的體積或重量、與其他零件較多的連接數(shù)量等,如箱體、基座等。
步驟B2.根據(jù)子裝配體標志零件所包含的特征元構(gòu)建規(guī)則,識別子裝配體種類。其中起始零件包含子裝配體標志零件,子裝配體標志零件是用來在知識庫中對子裝配體進行唯一標示的零件。
步驟B3.根據(jù)決定連接的零件對特征元構(gòu)建規(guī)則,推理與連接具有約束關(guān)系的特征元以及對應的零件,這些零件則屬于此子裝配體。
步驟B4.把連接零件對中的終結(jié)零件加入子裝配體。
引入子裝配識別概念將復雜產(chǎn)品的裝配分層結(jié)構(gòu)化,通過增加子裝配體層級、縮小裝配規(guī)劃規(guī)模、減少“組合爆炸”從而提高裝配規(guī)劃效率。子裝配體是指作為另一個裝配體的部件的裝配體,其需要滿足穩(wěn)定性和獨立性的要求。穩(wěn)定性指子裝配體所包含零件在裝配關(guān)系約束下能保持穩(wěn)定,不會發(fā)生自分離。獨立性指在裝配體中子裝配體與其他零件是相互獨立的。
階段2.針對具體裝配體實例的本體概念實例化:
步驟C.以裝配體實例輸入本體進行實例化,建立類的個體以及個體之間的屬性關(guān)系。
步驟C1.對特定的裝配體實例,在本體知識庫中對概念和屬性實例化。
步驟C2.利用本體的推理能力推理隱含關(guān)系,并檢驗知識庫的一致性。
階段3.基于本體知識庫與規(guī)則庫的推理和推理結(jié)果的檢索與查詢:
步驟D.利用推理機對本體知識庫進行推理,推理結(jié)果加入知識庫。
步驟D1.利用推理機和所構(gòu)建規(guī)則庫,對本體進行推理。
步驟D2.推理結(jié)果寫入本體知識庫。
步驟E.使用規(guī)則查詢語言對推理結(jié)果進行檢索并輸出。
步驟E1.根據(jù)所需信息構(gòu)建規(guī)則查詢語句。
步驟E2.利用規(guī)則查詢語言對推理結(jié)果進行檢索。
基于上述方法所述設計的一種本體的子裝配體識別系統(tǒng),包括:
(1)本體構(gòu)建模塊:實現(xiàn)領(lǐng)域本體的構(gòu)建;
(2)規(guī)則庫構(gòu)建模塊:構(gòu)建推理規(guī)則;
(3)本體實例化:可讀取本體類型文件并在本體中進行實例化;
(4)本體推理:調(diào)用本體推理機制對本體知識庫進行一致性檢測;
(5)規(guī)則推理:調(diào)用規(guī)則推理機對本體和規(guī)則庫進行推理,并把推理結(jié)果加入本體知識庫;
(6)規(guī)則查詢:利用規(guī)則查詢語言對知識庫中的推理結(jié)果進行檢索和查詢;
本發(fā)明用以解決裝配序列規(guī)劃規(guī)模過大問題。該方法包括:利用本體對復雜裝配構(gòu)建本體知識框架,根據(jù)顯性領(lǐng)域知識推理隱含知識拓展裝配信息知識庫;結(jié)合語義網(wǎng)絡規(guī)則語言(SWRL)規(guī)則庫,針對剛性連接結(jié)構(gòu)識別子裝配體。本發(fā)明能夠在異構(gòu)系統(tǒng)之間提供裝配領(lǐng)域的一致性知識描述框架,子裝配體識別層次結(jié)構(gòu)化裝配結(jié)構(gòu),減小裝配序列規(guī)劃問題規(guī)模,提高裝配制造效率。
下面通過一個具體實施例,對本發(fā)明進行進一步說明:
步驟1.本體主要類以及類的關(guān)系如圖2,其中owl:thing是本體編輯工具Protégé內(nèi)建抽象類,是所有類的父類;產(chǎn)品類(Product)描述產(chǎn)品設計、制造、裝配中的所有元素,包括部件類(Artifact)和部件特征類(Artifact_feature)兩個子類;部件類又可細分為最小單元的零件類(Component)和子裝配類(SubAssembly);部件特征類(Artifact_feature)描述了部件的形狀、特正面等特征元素。
步驟2.本體中屬性描述概念間的關(guān)系,如類與類、類與個體和個體與個體之間的關(guān)系。本體有內(nèi)建屬性,如屬性is_a表示某實例屬于某類和類的包含關(guān)系;也可以自定義所需屬性,如定義has_artifactfeature表示某類零件具有某種特征元。屬性像類一樣也有層次關(guān)系,如螺紋連接屬性(screw)可以創(chuàng)建s1,s2等多個子屬性。裝配約束關(guān)系是子裝配體與零件或零件與零件之間的裝配相關(guān)信息,包含零件間連接方式、空間關(guān)系、功能特點等。零件間的連接和約束關(guān)系實質(zhì)是通過零件的若干對特正元素實現(xiàn)相互的連接與約束。研究特征元素的連接和約束信息可以忽略零件的幾何形狀,在基于語義的框架下有利于屬性的明確定義和推理。
步驟3.根據(jù)剛性連接類型(以螺紋連接為例),建立規(guī)則推理固定類型的連接件對(screw_key_pair)。
Rule1:Component(?x)∧has_artifactfeature(?x,?ss)∧Helix_in(?ss)∧Comp onent(?y)∧has_artifactfeature(?y,?tt)∧Helix_out(?tt)∧screw(?ss,?tt)→screw_key_pair(?x,?y)。
零件對中被支撐的零件是終結(jié)零件,用End_of_SKP(?x)表示;支撐零件是基礎零件,用Base_of_SKP(?x)表示,建立規(guī)則推理終結(jié)零件和基礎零件。
Rule3:screw_key_pair(?x,?y)∧be_support(?x,?y)→End_of_SKP(?x)。
Rule4:screw_key_pair(?x,?y)∧support(?x,?y)→Base_of_SKP(?x)。
步驟4.單腔子裝配體指由一對螺紋連接件決定,存在腔體且腔體與螺紋特征面具有空間約束關(guān)系的子裝配體。由于腔體(Chamber)與螺紋特征面具有空間關(guān)系,腔體中子裝配體的其他零件也勢必與螺紋特征面有空間約束關(guān)系。連接件對與腔體等元素是識別單腔子裝配體的關(guān)鍵。
步驟S41.建立規(guī)則推理識別連接件對中單腔基礎件AC_Base_of_SKP;
Rule5:Base_of_SKP(?x)∧has_artifactfeature(?x,?ss)∧Chamber(?ss)∧has_artifactfeature(?x,?tt)∧Helix(?tt)∧co_axis(?ss,?tt)→AC_Base_of_SKP(?x)。
步驟S42.根據(jù)推理得的單腔基礎件,進一步推理裝配在腔體中的零件特征元,包含這些特征元的零件即屬于此單腔子裝配體。用part_to_AC_Base_of_SKP(?x,?y)二元關(guān)系表示零件x屬于以零件y為單腔基礎件的子裝配體;
Rule6:Component(?x)∧has_artifactfeature(?x,?rr)∧in_chamber(?rr,?ss)∧AC_Base_of_SKP(?y)∧has_artifactfeature(?y,?ss)∧Chamber(?ss)∧has_artifactfeature(?y,?tt)∧Helix(?tt)∧has_featurereference(?ss,?tt)→part_to_AC_Base_of_SKP(?x,?y)。
步驟S43.建立規(guī)則推理屬于子裝配體中與連接件對裝配相關(guān)的其他附件;
Rule7:Component(?x)∧has_artifactfeature(?x,?rr)∧AC_Base_of_SKP(?y)∧has_artifactfeature(?y,?ss)∧has_featurereference(?rr,?ss)∧End_of_SKP(?z)∧has_artifactfeature(?z,?tt)∧has_featurereference(?rr,?tt)→part_to_AC_Base_of_SKP(?x,?y)。
步驟S44.最后把連接件對中的終結(jié)零件加入此子裝配體。
Rule8:screw_key_pair(?x,?y)∧AC_Base_of_SKP(?y)∧End_of_SKP(?x)→part_to_AC_Base_of_SKP(?x,?y)。
步驟5.復合腔子裝配體是指由多對螺紋連接件決定,存在腔體且腔體與螺紋特征面無關(guān)的子裝配體。例如螺栓連接的箱體等裝配體都屬于復合腔子裝配體。復合腔子裝配體的推理規(guī)則與單腔子裝配體的推理思路相仿,規(guī)則類似,不再贅述。
步驟6.利用規(guī)則推理機Jess對本體知識庫和規(guī)則庫進行推理,推理結(jié)果會寫入本體知識庫。
步驟7.利用規(guī)則查詢語言SQWRL,結(jié)合OWL本體語義對SWRL規(guī)則推理結(jié)果進行查詢和檢索。
檢索單腔子裝配體的SQWEL1規(guī)則如下:
SQWRL1:Component(?x)∧part_to_AC_Base_of_SKP(?x,?y)→sqwrl:select(?x,?y)。
查詢結(jié)果如表1。
表1 SQWEL1查詢結(jié)果
根據(jù)表1可得兩個單腔子裝配體,分別為零件1(Pump_body_1)標示的單腔子裝配體{1,3,4,5}和零件9(Pump_cap_1)標示的單腔子裝配體{9,12,1,3,14,15,16}。對復合腔子裝配體的檢索類似。
上述過程以剛性連接中的螺紋連接為例對本方法做出了詳細說明,其他剛性連接子裝配體識別過程類似,此處不再贅述。
本發(fā)明利用網(wǎng)絡本體語言(Web Ontology Language,OWL)和語義網(wǎng)絡規(guī)則語言(Semantic Web Rule Language,SWRL)定義裝配設計本體和推理規(guī)則。產(chǎn)品裝配信息通過概念/功能層、結(jié)構(gòu)層和零件/特征層三層語義抽象進行描述,并能從裝配知識庫中檢索裝配設計意圖、裝配層次結(jié)構(gòu)及裝配關(guān)系。利用規(guī)則語義推理機制對知識庫進行推理識別子裝配體,并把推理結(jié)果寫入本體知識庫中,規(guī)則查詢語言提供了對推理結(jié)果的查詢與檢索能力,利用本體來提高產(chǎn)品裝配模型的共享和重用。
本說明書采用遞進的方式描述,對每個方法和部分依次詳細地按步驟進行了說明。通過結(jié)合附圖對本發(fā)明具體實施例的描述,本發(fā)明的其它方面及特征對本領(lǐng)域的技術(shù)人員而言是顯而易見的。