• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于STEP CAD裝配序列規(guī)劃方法研究

      2012-10-10 03:25:32趙國輝王彤宇
      關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu)頂點(diǎn)方向

      趙國輝, 王彤宇

      (長春理工大學(xué) 機(jī)電工程學(xué)院,吉林 長春 130022)

      0 引 言

      裝配序列規(guī)劃是裝配規(guī)劃的核心,國外學(xué)者在這方面進(jìn)行了廣泛研究,文獻(xiàn)[1]奠定了計(jì)算機(jī)輔助裝配順序規(guī)劃研究的基礎(chǔ)。他們主要集中研究裝配順序的可行性以及幾何可行性。在此基礎(chǔ)上,文獻(xiàn)[2]提出了將裝配轉(zhuǎn)化為拆卸問題,再以割集法求解裝配序列。割集法系統(tǒng)性強(qiáng),但組合爆炸缺陷在很大程度上限制了其應(yīng)用。因此,文獻(xiàn)[3]提出了基于子裝配體提取的裝配序列規(guī)劃方法,即可得到合理拆卸順序進(jìn)而求出裝配順序。文獻(xiàn)[4]從幾何方面考慮零件是否可以沿一定方向移動(dòng),若不能,則先移去其外側(cè)零件來獲取裝配序列。文獻(xiàn)[5]在文獻(xiàn)[4]的基礎(chǔ)上,又考慮了零件的特性,引入了關(guān)于螺栓、螺帽等緊固件的啟發(fā)式規(guī)則。上述這些方法充分利用了幾何配合信息,有的也用到了裝配經(jīng)驗(yàn)知識,但是對裝配經(jīng)驗(yàn)知識利用還很薄弱,有待加以進(jìn)一步提高規(guī)劃效率。在國內(nèi)一些專家學(xué)者針對裝配序列規(guī)劃的復(fù)雜性將人工智能應(yīng)用在裝配序列規(guī)劃中,例如,重慶大學(xué)的廖小云將遺傳算法應(yīng)用到裝配順序自動(dòng)規(guī)劃中,西北工業(yè)大學(xué)的王輝將裝配語義建模的方法引入到裝配工藝規(guī)劃中,浙江大學(xué)人工智能研究所的季忠齊等人將裝配序列規(guī)劃中成熟的割集法和人工智能中啟發(fā)式搜索算法相結(jié)合,使裝配序列規(guī)劃具有很高的智能性。

      文中提出使用利用STEP CAD格式文件從計(jì)算機(jī)輔助設(shè)計(jì)系統(tǒng)輸出設(shè)計(jì)信息,并輸入設(shè)計(jì)信息給裝配次序計(jì)劃的方法。

      1 CAD文件自動(dòng)提取幾何信息的算法研究

      1.1 用JSDAI從STEP文件中提取幾何信息

      產(chǎn)品模型數(shù)據(jù)交換標(biāo)準(zhǔn)STEP(Standard for the Exchange of Product model data)是國際標(biāo)準(zhǔn)化組織ISO為在CAX/PDM中表示和交換工業(yè)產(chǎn)品數(shù)據(jù)而建立的標(biāo)準(zhǔn)。

      STEP Part21(實(shí)際的文件格式)定義了一個(gè)STEP文件的格式和結(jié)構(gòu)。另外,機(jī)械零件的格式和包含在文件中的裝配數(shù)據(jù)必須遵守AP203號應(yīng)用協(xié)議。

      STEP Part22(SDAI,STEP數(shù)據(jù)存儲(chǔ)界面標(biāo)準(zhǔn))是一個(gè)抽象的說明書,它定義了API的功能(Application Programming Interface,即應(yīng)用程序界面)[6-7]。

      數(shù)據(jù)儲(chǔ)存界面標(biāo)準(zhǔn)SDAI(Standard Data Access Interface)為了讀取STEP-file數(shù)據(jù)提供一個(gè)API (Application Programming Interface),STEP-file數(shù)據(jù)是由STEP建模語言(EXPRESS)編寫的。SDAI定義了一個(gè)基于語義學(xué)的抽象界面,它是依靠編程語言的,使用SDAI到某種編程語言的聯(lián)編(language binding)來解決這個(gè)問題。JSDAI是一個(gè)綁定到SDAI規(guī)格完整的Java編程語言的API。

      在輸入Java包裹到應(yīng)用程序中以后,實(shí)際上可直接從STEP第21部分文件讀取幾何數(shù)據(jù),無需將STEP文件轉(zhuǎn)化成另一個(gè)數(shù)據(jù)文件格式。

      1.2 從STEP文件中提取局部坐標(biāo)

      為從STEP文件提取局部坐標(biāo),需要JSDAI的 “jsdai.lang”包 裹 中 的 4 類:SdaiSession,SdaiReposito-ry,SdaiModel和EntityExtent。

      SdaiSession類是被用來開始和結(jié)束任意JSDAI活動(dòng)。SdaiSession類可以初始化和終結(jié)SDAI的活動(dòng),在程序和一個(gè)STEP Part21文件之間完成數(shù)據(jù)轉(zhuǎn)換處理工作,并動(dòng)態(tài)地建立新的存儲(chǔ)庫(“JSDAI V 2.3:Core API,”2003)。

      SdaiRepository類是圖表案例、SdaiModel和應(yīng)用程序案例永久性存儲(chǔ)器的一個(gè)物理容器(“JSDAI V 2.3:Core APl,”2003)。

      SdaiModel類是被用來對屬于同一表達(dá)圖表的分組實(shí)體實(shí)例。每一個(gè)SdaiModel基于一個(gè)EXPRESS圖表,稱為基礎(chǔ)圖表。

      EntityExtent類將一個(gè)SdaiModel中所有的實(shí)體案例都?xì)w類到文件夾中。

      1.3 信息提取原理

      從“topological_representation_item”EntityExtent事例文件夾中獲得的一個(gè)零件的所有拓?fù)湫畔⒑妥鴺?biāo),包含在文件中作為實(shí)體類型和圖表類型的B-rep(Boundary representation邊界表示)的所有要素。應(yīng)用STEP的203條約指定B-rep為一個(gè)已設(shè)計(jì)產(chǎn)品的實(shí)體模型數(shù)據(jù)格式。通過讀和執(zhí)行事例的索引和每個(gè)事例的組件索引,可以從STEP Part21文件提取零件的樹型B-rep數(shù)據(jù)結(jié)構(gòu)。

      1.4 樹型B-rep數(shù)據(jù)結(jié)構(gòu)簡介

      在此項(xiàng)研究所開發(fā)的程序中,零件的B-rep數(shù)據(jù)結(jié)構(gòu)的3個(gè)列陣被用于存放幾何個(gè)體。在B-rep數(shù)據(jù)結(jié)構(gòu)中個(gè)體之間的幾何關(guān)系如圖1所示。

      圖1 B-rep數(shù)據(jù)結(jié)構(gòu)中實(shí)體之間的幾何關(guān)系

      在圖1中,面-軸的實(shí)體表示所有零件的面,并保存在一個(gè)一維列陣?yán)?。面孔-邊平面上的個(gè)體表示所有零件的邊,并保存在一個(gè)二維列陣?yán)?。面-邊-頂點(diǎn)空間的實(shí)體表示所有零件的頂點(diǎn),并保存在一個(gè)三維列陣?yán)?。?3表示零件第二個(gè)面上的第三條邊,而且邊23被保存在二維陣列中。頂點(diǎn)02n表示零件第零個(gè)面上第二條邊上的第n個(gè)頂點(diǎn),而且頂點(diǎn)02n是三維列陣中的其中之一。

      在STEP格式文件零件的樹型B-rep結(jié)構(gòu)中,每個(gè)邊被重復(fù)兩次(屬于2個(gè)面),每個(gè)端點(diǎn)被重復(fù)6次(屬于3個(gè)面,并且在每個(gè)面中端點(diǎn)屬于2個(gè)邊)。所以,在二維數(shù)組中每個(gè)元素被記錄2次,三維數(shù)組中每個(gè)元素則被記錄6次。

      2 STEP CAD中裝配序列規(guī)劃方法

      2.1 確定零件之間的干涉關(guān)系

      因?yàn)樵谧詣?dòng)化的裝配作業(yè)中多數(shù)機(jī)械組件是沿主軸被裝配的,所以提出的裝配計(jì)劃考慮零件之間的干涉關(guān)系必須在6個(gè)主軸方向上(+x,-x,+y,-y,+z和-z)。在裝配期間,使用幾何3D對2D投射的方法,沿6個(gè)主軸方向,確定零件之間的干涉關(guān)系。如果兩個(gè)零件的投射沿一個(gè)特定軸方向重疊,當(dāng)其中一個(gè)零件朝該特定方向移動(dòng)或通過另一個(gè)零件時(shí),兩個(gè)零件也許發(fā)生碰撞[8]。3D零件的2D投影是在給出的投影平面的一個(gè)指定方向上,能從3D零件頂點(diǎn)坐標(biāo)上被確定投影方向和投影面的幾何輪廓。從2D零件的投影圖上,能夠確定裝配操作中零件之間的干涉關(guān)系。

      2.2 干涉矩陣

      定義6個(gè)n×n的無干涉矩陣(Fk),其表示在6個(gè)主軸方向上一個(gè)裝配模型的n個(gè)零件之間干涉關(guān)系。當(dāng)沿著k方向從無窮遠(yuǎn)處到裝配位置時(shí),如果組件Pi與零件Pj發(fā)生干涉,F(xiàn)k.i.j(第i行與第j列交叉點(diǎn)的元素)是0,否則Fk.i.j是1。例如,假設(shè)+y方向上的3個(gè)零件裝配結(jié)構(gòu)的無干涉矩陣如圖2所示。

      圖2 +y方向上無干涉矩陣

      因?yàn)榫仃囋谾+y,2,1=0和F+y,1,2=1,當(dāng)零件2在+y方向進(jìn)行裝配時(shí),如果零件1已經(jīng)被裝配完了,零件2將會(huì)與零件1發(fā)生干涉。另一方面,當(dāng)零件1在+y方向進(jìn)行裝配時(shí),如果零件2已經(jīng)完成了裝配,那么零件1將不會(huì)與零件2發(fā)生干涉。

      3 應(yīng)用實(shí)例分析

      為了測試所提出的裝配計(jì)劃而使用的一個(gè)個(gè)例研究,如圖3所示。

      圖3 一個(gè)帶有通孔的裝配模型

      模型包括4個(gè)零件。零件1有3個(gè)通孔,裝配期間零件2、零件3和零件4被插入到這3個(gè)通孔中。零件2與零件3和零件4相比,必須是在一個(gè)不同的裝配方向上被插入進(jìn)去的。因此,至少需要一次裝配方向再定位才能完整地裝配該模型。模型使用SolidWorks建立的,并以STEP格式保存。

      自動(dòng)化的裝配計(jì)劃進(jìn)程的流程圖如圖4所示。

      圖4 裝配計(jì)劃流程圖

      變換零件坐標(biāo)到裝配坐標(biāo)空間如圖5所示。

      圖5 變換零件坐標(biāo)到裝配坐標(biāo)空間

      由圖5(a)可見,在輸入模型的STEP文件到裝配計(jì)劃以后,每個(gè)零件的原始坐標(biāo)被提取了。由圖5(b)可見,在提取原始(零件坐標(biāo)空間)坐標(biāo)和每個(gè)零件的變換信息以后,裝配計(jì)劃計(jì)算了在裝配中每個(gè)零件的新坐標(biāo) (裝配坐標(biāo)空間)。

      從裝配模型的STEP文件提取的變換信息被用于變換零件坐標(biāo)系從零件坐標(biāo)系到裝配坐標(biāo)系,如圖6所示。

      圖6 轉(zhuǎn)換所有零件的信息

      計(jì)算出所有零件的坐標(biāo)之后,對裝配坐標(biāo)系使用投影的方法,裝配計(jì)劃確定了裝配操作期間所有零件的干涉關(guān)系。對指定的測試案例,裝配計(jì)劃自動(dòng)地創(chuàng)建了以下6個(gè)無干涉矩陣:

      得到6個(gè)無干涉矩陣之后,對于指定的裝配模型使用基于遺傳算法的裝配計(jì)劃方法,裝配計(jì)劃自動(dòng)尋找一個(gè)它的優(yōu)選或近優(yōu)選的裝配序列。并輸出了生成的序列:

      裝配序列(2,1,4,3),裝配方向(±z,±z,-y,-y);

      裝配序列(2,1,3,4),裝配方向(±z,±z,-y,-y);

      裝配序列(1,2,3,4),裝配方向(±z,±z,-y,-y);

      裝配序列(1,3,4,2),裝配方向(-y,-y,-y,±z)。

      4 尋找一個(gè)指定裝配模型的優(yōu)選或近優(yōu)選的裝配序列

      對于輸入裝配模型,沿著輸出序列中每一個(gè)零件允許的裝配方向,裝配計(jì)劃自動(dòng)地發(fā)現(xiàn)幾何上要求裝配方向再定位次數(shù)是一個(gè)極小或接近最小的數(shù)字的可行的裝配序列。裝配計(jì)劃也允許用戶設(shè)置查尋和查尋終止標(biāo)準(zhǔn)。例如,群體的大小,允許運(yùn)行時(shí)間的最大值,在最后的世代之內(nèi)必需的最大適宜值,對于最后的世代必需的平均最后適宜值,或者最后的世代應(yīng)該包含的唯一的裝配序列。

      5 結(jié) 語

      文中的核心內(nèi)容是從STEP CAD文件自動(dòng)提取設(shè)計(jì)信息,翻譯設(shè)計(jì)信息成幾何匯編限制信息,將設(shè)計(jì)信息轉(zhuǎn)化成幾何裝配約束信息,用一個(gè)裝配序列規(guī)劃來生成一個(gè)帶有最少的裝配再定位數(shù)字的可行性裝配序列,并且核實(shí)計(jì)劃者建議使用的裝配次序。此項(xiàng)研究大大提高了裝配序列規(guī)劃的效率和精確性,做到了CAD設(shè)計(jì)和裝配序列規(guī)劃高效率地自動(dòng)化集成。

      [1]Bourjanlt,Sanderson,Homemde,et al.Contribution to a methoclolgical approach of automated assembly[M].Paris:InAutomation Methocology in Manufacturing Insdustry,1985:12-46.

      [2]Sukhan Lee,Chunsik Yi.Tolerance analysis for assembly planning[A].Proceedings of the Fourth International Conference on Computer Integrated Manufacturing and Automation Technology.Troy,NYUSA,1994:306-311.

      [3]Frommherz B,Homberger J.Automatic generation of precedence graphs[M].Switzerland:Proc.Int.Symposium on Industrial Robts,Lausanne,1988:453-466.

      [4]Zha X F,Lim S Y,F(xiàn)ok S C.Integrated knowledgebased assembly sequence planning[J].International Journal of Advanced Manufacturing Technology,1998,14(1):50-64.

      [5]Zha X F,Du H.A PDES/STEP-based model and system for concurrent integrated design and assembly planning[J].Computer-Aided Design,2002,14(8):1087-1110.

      [6]趙付青.STEP標(biāo)準(zhǔn)實(shí)現(xiàn)方法的研究與應(yīng)用[J].工程圖學(xué)學(xué)報(bào),2002(4):1-8.

      [7]時(shí)峰,盧炎麟.基于SDAI的STEP應(yīng)用協(xié)議的信息提取與建模[J].計(jì)算機(jī)應(yīng)用與工程,2003(23):127-128.

      [8]廈云飛,趙偉.基于模擬退火遺傳算法的凸多面體間碰撞檢測算法研究[J].長春工業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,2008,29(1):82-85.

      猜你喜歡
      數(shù)據(jù)結(jié)構(gòu)頂點(diǎn)方向
      2022年組稿方向
      過非等腰銳角三角形頂點(diǎn)和垂心的圓的性質(zhì)及應(yīng)用(下)
      2021年組稿方向
      2021年組稿方向
      關(guān)于頂點(diǎn)染色的一個(gè)猜想
      “翻轉(zhuǎn)課堂”教學(xué)模式的探討——以《數(shù)據(jù)結(jié)構(gòu)》課程教學(xué)為例
      高職高專數(shù)據(jù)結(jié)構(gòu)教學(xué)改革探討
      中國市場(2016年45期)2016-05-17 05:15:48
      位置與方向
      TRIZ理論在“數(shù)據(jù)結(jié)構(gòu)”多媒體教學(xué)中的應(yīng)用
      《數(shù)據(jù)結(jié)構(gòu)》教學(xué)方法創(chuàng)新探討
      河南科技(2014年5期)2014-02-27 14:08:57
      富源县| 巴塘县| 甘谷县| 广西| 万年县| 汕尾市| 麻城市| 瓦房店市| 通河县| 永和县| 盘锦市| 巨鹿县| 内丘县| 工布江达县| 绥芬河市| 宁国市| 桓仁| 连平县| 日喀则市| 平邑县| 宾川县| 和平县| 墨竹工卡县| 柞水县| 崇明县| 郁南县| 兴城市| 邵阳市| 广灵县| 南丹县| 平利县| 望城县| 聂拉木县| 南和县| 远安县| 黄梅县| 宁安市| 怀仁县| 汉寿县| 西乌珠穆沁旗| 吐鲁番市|