付昱++蒿麗萍



摘 要:該文通過對產品協同設計過程的分析,基于Web的產品協同設計原型系統原理,在此框架下探討了在產品結構優化設計的工作端,采用將人工智能中BP神經網絡與遺傳優化算法相結合的方式,通過VB語言與Matlab軟件混合編程,在產品協同設計過程的前期優化分析階段,實現齒輪傳動的優化設計,從而可以在web平臺繼續將設計結果傳給SolidWorks、Pro/E和UG等制圖軟件,為后續產品結構強度分析以及虛擬樣機實驗等提供遠程服務支持。
關鍵詞:協同設計 優化設計 MATLAB
中圖分類號:TH12 文獻標識碼:A 文章編號:1674-098X(2016)10(a)-0034-03
網絡協同設計是一種先進的聯合設計手段,可以將不同的設計主體(專業技術人員)通過共享的網絡平臺聯系起來,設計人員之間可以使用功能各異(異構)的工具設計遠程協作,在這個共享平臺中階段性優化已有方案、模塊化分析、并行修改,以遠超出非協同條件下設計的效率和質量完成產品設計。其使用到的工具可以包括且不僅限于SolidWorks、PRT(Pro/E)、PRT(UG)、DWG、CATIA等,同時在產品的優化設計階段也會用到各種計算軟件工具如MATLAB等,在使用中可采用兩種方式實現產品的協同化設計,其一是采用數據格式轉換,該方式是實現異構平臺條件下同一產品數據集成與共享的主要方式。其所采用的主要數據轉化手段包括利用XML技術、IGES標準以及STEP標準。XML(即系統基于可擴展標記語言)技術,IGES標準(即利用圖形數據交換標準)和STEP標準(即產品模型數據交換標準),使用商業化或編制數據轉換接口,從而實現產品的幾何特征提取和數據格式轉換。其二是對三維建模軟件進行二次開發,在工作端嵌入相應開發模塊,以實現對產品設計節點所產生數據的三維建模,基于Web的產品協同設計原型系統原理見圖1。
1 產品協同設計
1.1 產品協同設計概述
產品設計包括多種設計項目內容,譬如確定產品規格、技術規范、性能解析、采取多種計算手段分析建模,初步制定制造計劃和概算等。通常狀況下,這階段工作必須通過設計方案、確認架構、設計優化、仿真和樣機測試性能、效果等過程對方案的可行性、有效性進行最終檢驗。此階段工作涉及諸多不同類型資源,譬如產品市場情況和開發此產品相關的理論,譬如文本闡述、圖表圖形、城市、數據庫、仿真設計(數字化)、物理及樣機模型實驗和實驗實施所需諸多設施、裝置等[1],不過上述資源多數散布于多處。
利用遠程MATLAB優化分析系統與CAD軟件融合利用,不僅加速系統研發工作,使得系統更為可靠,并且非常有益于產品設計階段中MATLAB優化解析方法的推廣利用。在特殊條件下,運用MATLAB優化分析方法遠程優化設計方案的前提要件是確定模型參數,通過增加產品性能、模型設計和優化的多個參數,輔助改進設計,必然有益于系統功能的擴展,還能夠擴大系統運用范疇。此外,把散布的分析和優化工作所需資源有效歸集,對于持有此資源的主體來說,能夠提升利用此資源的整體效率,提高利潤水平,另外利用此資源主體所需費用較少,因此整個研發設計過程中所耗成本也更低,產品在市場上自然具備更強競爭力。
1.2 產品協同設計過程
產品協同設計過程可以簡單描述如下。
(1)方案設計。此階段工作主要包含下述兩個內容:第一,企業根據顧客要求設計完產品;第二,企業能夠依據市調結果,自主研發推出新產品。兩種產品設計方案均需交換許多不同類型數據和資料,最終必然能夠確定最優設計方案。
(2)參數優化分析。為確保研發產品性能可靠,滿足設計需要,運用MATLAB優化研究軟件優化產品,令其更為可靠。
(3)產品結構設計。設計人員根據已經優化確定的產品方案,運用CAD程序完成建模,并協同完成裝配過程。
(4)樣機實驗。在車間內產出樣機,對樣機進行性能測試,研究驗證產品性能,保證性能滿足設計要求。
2 優化設計方法分析
許多機械產品設計中需要進行優化,優化過程可分為3個部分:合成和分析、評價以及更改參數3個部分組成。其中,合成和分析部分的功能主要是建立產品設計參數和設計性能以及設計要求之間的關系,這是對設計產品進行建立數學模型的處理。產品的性能和設計要求的分析,相當于評估目標函數是否改善或達到最佳,即測試數學模型中的約束每一條都滿足。選擇參數部分是利用不同優化方法,使該目標函數(數學模型)求解,并根據該優化方法來求得最佳設計參數。優化設計的前提是選擇最優的設計方法。而哪一種方法最優,主要根據具體設計優化的問題情況、特點和具體設計來定。通常來講,可以有下述幾點評價方案。
(1)可靠性。(2)精度。(3)效率。(4)通用性。(5)穩定。(6)全局收斂方法。(7)初始條件靈敏度。(8)多變量靈敏度。(9)約束靈敏度。
3 齒輪傳動系統的優化設計案例
機械層面的設計優化視為協同設計工作平臺內節點之一,通過傳送輸入/出文件,可以在異地完成計算并運用結果,下面以齒輪減速器為案例說明基于Web的協同設計下的優化設計過程,案例中所選擇的優化算法為遺傳算法(Genetic Algorithm,簡稱GA)。這是一個模擬達爾文生物遺傳進化選擇歷程檢索獲取最優結果的方法[2]。在機械層面的設計優化問題中,運用這一方法,能夠有效避免產生局部最優解,最終獲得對整個系統方案都最優的更好解。該研究運用遺傳算法用作齒輪優化方法,再結合Matlab遺傳工具箱完成優化,不僅簡單而且高效。
優化分析系統一般能夠劃分成處置數據、設計優化、輸入/輸出、造型產出4個主體模塊。其中第一個模塊的主要任務是:完成齒輪設計過程線圖、處置數據,根據各種條件、狀況,能夠靈活選擇查表、插值、擬合曲線、數據庫和BP神經網絡映射等多種手段完成工作。其中第二個模塊主要應用Matlab語言,根據從第三個模塊獲取的轉速、傳遞功率、負載性質以及傳動比等數個已經確定的參數數據,運用Matlab神經網絡、遺傳算法兩大工具箱,優化齒輪設計[3]。其中第三個模塊主要負責:運用完成VB、Matlab、 SolidWorks API多個軟件中數據的流轉改用。其中第四個模塊的主要任務是,依據前一模塊產出結果,在優化設計的協同工作端自動完成齒輪的三維參數化造型。
3.1 建立數學模型
選擇目標函數為齒輪減速器體積最小,同時,在選擇齒輪強度的影響參數時使用以下4個參數,分別是法向模數mn、小齒輪齒數z1、齒寬系數φd以及螺旋角β,以上4個參數為設計變量建立數學模型。
(1)設計變量。
(2)目標函數。
(3)約束條件。
①模數約束:1.5≤χ1≤20。
②根切約束:g1≤0。
③齒寬系數約束條件:0.2≤χ4≤1.2。
④螺旋角約束:8≤c3≤25。
⑤齒面接觸應力約束:g2≤0。
⑥齒根彎曲應力約束:g3≤0,g4≤0。
其中:
斜齒齒輪接觸疲勞應力為:。
斜齒齒輪彎曲疲勞應力為:。
3.2 BP神經網絡映射程序的實現
神經網絡BP(Back Propagation),是目前在多學科領域應用范圍最為普及和成熟的人工神經網絡,其組成經過主要包含信息正向傳播與誤差的反向傳播兩個過程。BP人工神經網絡在模式識別、函數逼近和數據壓縮方面都顯示出較強的映射能力[4]。下面是齒形系數YFa計算關系映射的實現步驟(使用Matlab7.1神經網絡工具箱,共4步)。
第一步,讀入訓練樣本數據。
第二步,初始化網絡,利用網絡初始化函數newff實現。
第三步,訓練網絡。利用訓練函數train實現。
。
第四步,函數逼近。
利用上步訓練好的網絡代替原有的
函數關系,計算任意齒數zv0時的齒形系數YFa0,通過sim函數實現。
對比樣本數據和映射之后產出數據,發現變差的最高值為0.006,證明此人工神經網絡辨識精度達到很高水平,滿足要求。
3.3 遺傳算法程序實現
該文運用遺傳算法來計算優化齒輪設計,結合運用Matlab軟件中的遺傳工具箱完成優化,整個過程不僅簡單而且高效,其中遺傳算法優化步驟如下。
(1)將數學模型轉化成如下適用于Matlab的形式。
①設計變量。
②目標函數。
③約束條件。
(2)建立目標函數的m文件FitnessFcn.m文件內容如下。
(3)建立非線性約束的m文件nonlconfun.m;文件內容如下。
(4)把線性約束所對應的向量與系數矩陣賦予下述變量A、b、Aeq、beq,將邊界(上/下)值分別賦予下述變量LB、UB。
(5)調用。
3.4 VB與Matlab混合編程
VB、Matlab結合完成編程過程中,還能夠運用動態DLL鏈接庫、DDE數據和ActiveX自動化3種技術手段,具體詳見文獻[4]。該研究運用ActiveX技術,利用VB編程時調取Matlab優化齒輪設計程序的部分代碼如下:
當齒輪優化分析計算完畢,齒輪優化分析結果上傳并存儲到數據庫中,但此時非優化設計客戶端用戶只能瀏覽及下載計算數據文本,如果客戶端沒有安裝二次開發模塊,仍然無法對數據進行建模處理,所以在優化設計工作端需要對軟件進行二次開發,以SolidWorks軟件為例,可以運用ActiveX技術和API函數,結合VB語言二次開發SolidWorks,運用優化所得結果實現齒輪的三維參數化造型在所開發的VB程序內增加下述代碼,將完成的程序編輯產出*.dll文件,在SolidWorks中打開,在菜單欄中就能夠加入“齒輪”“斜齒圓柱齒輪”菜單和下拉菜單選項。
…
4 結語
該文探討了基于Web的網絡協同設計框架下,產品的優化設計部分作為協同設計網絡的重要組成部分(工作端)的優化過程,并以齒輪優化分析作為具體案例進行分析,文中融合了編程開發軟件:VB、Matlab,結合BP神經網絡、遺傳算法(人工智能領域),成功完成了存在離散(或連續)設計變量時,設計的優化,使得優化齒輪設計工作效率得到提升,繼而實現了整體設計協同作業效率的提升,并獲得了最佳方案。下一步可考慮在諸個工作端進行有效的數據轉換最終將此優化實現和三維參數化造型結合融于一體,在諸個工作端所用CAD/CAM軟件條件下,也能夠完成有限元分析并產出NC代碼,有效提升設計齒輪工作效率和品質,加快系統制造速度。
參考文獻
[1] 周偉.基于網絡的協同設計系統數據交換及管理關鍵技術研究[D].重慶:重慶大學,2007.
[2] 余海威,田福慶,馮昌林.基于遺傳算法的火炮齒輪傳動優化設計[J].艦船電子工程,2008,28(10):56-59.
[3] 張小芹,劉策,孫磊.基于智能算法的齒輪優化設計軟件的開發[J].河北科技師范學院學報,2009,23(4):54-58.
[4] 張小芹,王海芳,孫磊.基于人工智能的齒輪優化CAD軟件開發[J].CAD/CAM與制造業信息化,2010(5):44-47.