宋保維, 葉 徑, 曹永輝
?
基于電子表單的圓柱形殼體結(jié)構(gòu)參數(shù)化設(shè)計
宋保維, 葉 徑, 曹永輝
(西北工業(yè)大學(xué) 航海學(xué)院, 陜西 西安, 710072)
針對水下航行器研制中存在的設(shè)計周期冗長現(xiàn)象, 提出了一種結(jié)構(gòu)設(shè)計的新思路, 以自主式水下航行器(AUV)圓柱段殼體結(jié)構(gòu)優(yōu)化設(shè)計為例, 利用電子表單使UG的建模功能與MATLAB科學(xué)運算功能得到有效的結(jié)合, 完成了對殼體結(jié)構(gòu)的優(yōu)化設(shè)計及模型更新, 重點說明了如何利用電子表單在MATLAB與UG之間進(jìn)行數(shù)據(jù)通信, 實現(xiàn)了參數(shù)化結(jié)構(gòu)的優(yōu)化設(shè)計。研究結(jié)果表明, 該方法能極大地縮短結(jié)構(gòu)設(shè)計周期, 減少由于零件尺寸變化帶給工程師設(shè)計上的工作量, 也使得產(chǎn)品的結(jié)構(gòu)設(shè)計系列化成為可能。
自主式水下航行器(AUV); 優(yōu)化設(shè)計;電子表單;圓柱殼體; UG; MATLAB
目前, 我國水下航行器的研制基本都采用CAD技術(shù)進(jìn)行產(chǎn)品設(shè)計, 但絕大部分是將CAD作為一種繪圖工具, 而不是設(shè)計工具。由于水下航行器結(jié)構(gòu)復(fù)雜, 傳統(tǒng)設(shè)計方法使得設(shè)計人員花費大量的時間在圖紙更新等重復(fù)工作上; 而參數(shù)化設(shè)計方法將模型中的定量信息變參化, 參數(shù)化模型中建立的各種幾何約束與工程約束, 能更好地體現(xiàn)設(shè)計人員的設(shè)計意圖。由于可以利用參數(shù)驅(qū)動約束, 參數(shù)化設(shè)計能大大提高模型的生成和修改速度, 在產(chǎn)品系列設(shè)計、相似設(shè)計方面具有較大的應(yīng)用價值。
本文以在海洋探測中應(yīng)用廣泛的自主式水下航行器(automanned underwater vehicle, AUV)圓柱段殼體結(jié)構(gòu)設(shè)計為研究對象, 結(jié)合使用UG與MATLAB, 提出一種機械結(jié)構(gòu)參數(shù)化設(shè)計新思路。限于篇幅, 僅列舉一簡單實例, 重點說明如何利用電子表單在MATLAB與UG之間進(jìn)行數(shù)據(jù)通信, 實現(xiàn)參數(shù)化結(jié)構(gòu)的優(yōu)化設(shè)計。
UG是集CAD/CAE/CAM為一體的軟件, 具有強大的參數(shù)化設(shè)計功能, 在設(shè)計和制造領(lǐng)域得到了廣泛的應(yīng)用。
環(huán)肋加強和薄壁殼體是水下航行器的主要結(jié)構(gòu)形式, 本文以矩型肋骨為例, 其他類型肋骨可以參照本研究方法進(jìn)行。
一般AUV殼體由頭部、中段和尾部3段組成, 圓柱段外形參數(shù)包括殼體最大直徑和中段平行段長度。矩形肋骨參數(shù)如圖1所示。
圖1 矩型肋骨結(jié)構(gòu)參數(shù)圖
為了建模方便, 初步確定AUV圓柱段殼體結(jié)構(gòu)參數(shù):=534.4 mm,=4 150 mm,1=5.3 mm,2=130 mm,3=5 mm,4=20 mm。
在計算機輔助設(shè)計系統(tǒng)中, 不同型號的產(chǎn)品往往只是尺寸不同而結(jié)構(gòu)相同, 映射到幾何模型中, 就是幾何信息不同而拓?fù)湫畔⑾嗤琜1]。參數(shù)化設(shè)計方法就是通過存儲設(shè)計的整個過程中相同的拓?fù)潢P(guān)系, 從而設(shè)計出一族而不是單一的產(chǎn)品模型。對于參數(shù)化模型, 通過改變相應(yīng)的幾何參數(shù)值即可更新幾何實體。
本文對AUV圓柱段殼體設(shè)計所需要設(shè)定的參數(shù)主要有殼體厚度、肋骨個數(shù)、尺寸以及肋骨間距等。3D建模的關(guān)鍵在于建模過程中要保持模型的參數(shù)化, 以達(dá)到參數(shù)化驅(qū)動模型的目的。
本例中首先運用圓柱實體特征與抽殼功能建立圓柱段空殼, 再利用UG的2D草圖功能繪制出矩型旋轉(zhuǎn)特征, 然后在建模環(huán)境中繞軸旋轉(zhuǎn)得到矩型環(huán)肋, 并運用實例特征的矩形陣列功能讓肋骨布滿空殼內(nèi), 最后用布爾運算求和把殼體與肋骨連成一個整體, 如圖2所示。
圖2 AUV圓柱殼體3D透視圖
UG的電子表單提供了Excel、Xess與UG間的智能接口。電子表單通過UG變量鏈接至模型, 使用電子表單可以抽取部件數(shù)據(jù)、修改部件參數(shù), 并能驅(qū)動所鏈接的3D模型, 避免了由于設(shè)計變化而不得不修改大量模型參數(shù)所帶來的不便。
在UG的入口環(huán)境、部件族功能和表達(dá)式編輯器中, 都涉及到電子表單的使用功能[2]。本文利用其中功能最強大的建模電子表單, 抽取參數(shù)化模型的部件數(shù)據(jù), 并導(dǎo)入MATLAB中進(jìn)行優(yōu)化, 將優(yōu)化結(jié)果導(dǎo)入UG參數(shù)化模型, 實現(xiàn)AUV圓柱段殼體結(jié)構(gòu)的更新。具體流程圖如圖3所示。
圖3 參數(shù)化結(jié)構(gòu)優(yōu)化設(shè)計流程圖
模型更新實現(xiàn)步驟如下。
首先打開第1步所建立的圓柱段3D模型, 進(jìn)入建模應(yīng)用。通過[Tools]—[Spreadsheet]子菜單打開電子表格, 然后導(dǎo)入MATLAB優(yōu)化結(jié)果, 在電子表格菜單欄選擇[Tools]—[Update NX Part], 優(yōu)化數(shù)據(jù)將被送回UG模型, 實現(xiàn)模型更新。
MATLAB是集科學(xué)計算、數(shù)據(jù)可視化和程序設(shè)計為一體的工程應(yīng)用軟件, 廣泛用于計算機輔助分析、設(shè)計與仿真等。
最優(yōu)化算法就是研究如何從多個方案中科學(xué)合理地提取最佳方案的一門科學(xué)。將MATLAB運用于最優(yōu)化方法, 可使得機械優(yōu)化設(shè)計更趨于科學(xué)性。同時MATLAB不用編寫復(fù)雜的運算程序和各種難于掌握的優(yōu)化算法, 而且通俗易學(xué), 從而使優(yōu)化問題更通俗化。
MATLAB的最優(yōu)化技術(shù)主要包括2個方面內(nèi)容[3]: 1) 建立數(shù)學(xué)模型, 即用數(shù)學(xué)方法來描述最優(yōu)化問題。模型中的數(shù)學(xué)關(guān)系式反映了最優(yōu)化問題所要達(dá)到的目標(biāo)和各種約束條件。2) 數(shù)學(xué)求解。數(shù)學(xué)模型建好以后, 選擇合理的優(yōu)化方法進(jìn)行求解。
1) 設(shè)計變量。設(shè)計變量即要優(yōu)化的結(jié)構(gòu)參數(shù), 取矩型肋骨相關(guān)參數(shù)1,2,3,4。
2) 目標(biāo)函數(shù)。目標(biāo)函數(shù)是以設(shè)計變量表示設(shè)計所要追求的某種性能指標(biāo)的解析表達(dá)式, 用來評價設(shè)計方案優(yōu)劣的標(biāo)準(zhǔn)。本例以殼體質(zhì)量最輕為目標(biāo)。
中段內(nèi)1根肋骨的體積
優(yōu)化數(shù)學(xué)模型
min()=2p11+(2)
式中:為中段殼體半徑;為中段內(nèi)單個肋骨的體積;為肋骨總數(shù)。
3) 約束條件。即對設(shè)計變量的取值加以某些限制的條件。對于AUV殼體結(jié)構(gòu)設(shè)計, 主要有以下2類約束。
a) 參數(shù)約束。主要包括殼體厚度、肋骨間距以及肋骨尺寸。
b) 強度及穩(wěn)定性約束。根據(jù)水下航行器殼體結(jié)構(gòu)分析, 其強度及穩(wěn)定性主要滿足以下條件。
跨度中點處殼板的橫向平均應(yīng)力
肋骨處殼板的縱向應(yīng)力
殼板穩(wěn)定性
P≥(6)
總體穩(wěn)定性
肋骨穩(wěn)定性
其中各參數(shù)詳見文獻(xiàn)[4]。
為了簡化計算, 用水平集來判斷失穩(wěn)形式, 這樣就可簡化約束條件[5]。
式中:為肋骨間距;為殼板外徑;為材料的屈服極限;為彈性模量;為殼板厚度。
本文主要利用MATLAB優(yōu)化工具箱中內(nèi)置fmincon函數(shù)實現(xiàn)約束優(yōu)化問題求解。應(yīng)用函數(shù)模塊fmincon不僅能很好地解決單目標(biāo)多變量約束非線性優(yōu)化問題, 且能大大提高設(shè)計準(zhǔn)確度和可靠性[6]。Fmincon函數(shù)主要采用序列二次規(guī)劃法(SQP法)來求解非線性約束優(yōu)化問題[7]。SQP法基于K-T(Kuhn-Tucker)方程解, 可有效解決非線性約束優(yōu)化問題, 該方程是有約束最優(yōu)化問題求解的必要條件[8], 是非線性規(guī)劃算法的基礎(chǔ)。
MATLAB中SQP法的實現(xiàn)主要分3步, 1) 拉格朗日函數(shù)Hessian矩陣的更新; 2) 二次規(guī)劃問題求解; 3) 1D收索和目標(biāo)函數(shù)的計算。
編制的優(yōu)化程序主要代碼如下。
a) 目標(biāo)函數(shù)文件objfunctnew.m
function f = objfunctnew(x)
t=x(1); l=x(2); b=x(3); h=x(4);
r=534.4; ll=4100;
q= ceil (ll/l);
f=2*pi*r*t*ll+b*h*pi*(2*r-2*t-h)*q;
b) 約束函數(shù)文件nlconnew
本優(yōu)化模型約束條件比較復(fù)雜, 限于篇幅, 只給出約束文件結(jié)構(gòu)形式。程序中各參數(shù)詳見參考文獻(xiàn)[4]。
function [c,ceq]= nlconnew (x)
…… %初始化
y=sqrt (l/(2*r)*(s/e)/(t/(2*r))^(3/2))
%y代表水平集
if y<0.8
c(1)=K20*Pj*r/t-0.85*s;
c(2)=sleq-s;
elseif y>1.1
c(1)=Pj-Pcr;
c(2)=Pj-Pcr;
else
c(1)=1.3*Pj-Pcrg;
c(2)=1.3*Pj-Pcrg;
end %非等式約束
ceq=[] %等式約束
c) 執(zhí)行文件mytry.m
x0=[5.3;130;5;20]
lb=[0,0,0,0];
ub=[]; %優(yōu)化初值
options=optimset('display','iter','largescale','off');
[x,fval]=fmincon(@objfunctnew,x0,[],[],[],[],lb,ub,@nlconnew,options) %調(diào)用函數(shù)
為了驗證本文所提出的結(jié)構(gòu)設(shè)計新方法的有效性, 現(xiàn)將圓柱形殼體結(jié)構(gòu)的常規(guī)設(shè)計結(jié)果與本優(yōu)化設(shè)計結(jié)果進(jìn)行比較。
設(shè)AUV的最大工作深度300 m, 采用矩型加肋薄壁結(jié)構(gòu), 殼體材料選擇S/Steel-PH15-5, 常態(tài)下其楊氏模量205.56 GPa, 泊松比0.3, 屈服強度860.9 MPa, 密度7 816.93 kg/m3, 安全因數(shù)1.2。
圓柱段殼體結(jié)構(gòu)基本參數(shù)如下:=534.4 mm,=4 150 mm, 在同深度、同材料、同肋骨型式條件下, 采用文獻(xiàn)[4]所提供的常規(guī)設(shè)計方法和本參數(shù)化結(jié)構(gòu)優(yōu)化設(shè)計方法所得結(jié)果比較見表1,其中,表示中段殼體重量。
表1 常規(guī)與優(yōu)化設(shè)計結(jié)果對比
Table 1 Comparison of conventional design and optimi- zation result
從表1可以看出, 采用本參數(shù)化結(jié)構(gòu)優(yōu)化設(shè)計方法, 可使中段殼體重量減輕43.1%。
使用MATLAB函數(shù)“XLSWRITE()”, 將優(yōu)化結(jié)果輸入電子表格中, 并指定電子表格第1列為變量表達(dá)式, 第2列為變量名。此處變量表達(dá)式必須與UG參數(shù)化模型中的變量表達(dá)式一致。將電子表單導(dǎo)入UG, 可以看到圓柱殼體結(jié)構(gòu)的參數(shù)化模型更新了, 如圖4所示。
圖4 更新后的AUV圓柱殼體3D透視圖
本文特色在于利用電子表單實現(xiàn)了MATLAB優(yōu)化結(jié)果與UG參數(shù)化模型的鏈接, 且模型選取比較簡單, 使之用于復(fù)雜結(jié)構(gòu)模型的優(yōu)勢更為明顯。作為本文的擴(kuò)展, 還可以利用電子表單實現(xiàn)UG參數(shù)化模型與其他優(yōu)化輸出結(jié)果的鏈接。此方法既無需復(fù)雜的編程技術(shù), 又無需根據(jù)優(yōu)化結(jié)果手動修改模型, 可縮短結(jié)構(gòu)設(shè)計周期, 減少工作量, 使產(chǎn)品結(jié)構(gòu)設(shè)計系列化成為可能。
[1] 李福海, 劉毅. 二次開發(fā)UG實現(xiàn)飛機操縱系統(tǒng)零件參數(shù)化設(shè)計與虛擬裝配自動化[J]. 機械科學(xué)與技術(shù), 2003, 22(11): 242-244.
Li Fu-hai, Liu Yi. The Parametric Design and the Automatization of the Virtual Assembly Based on the Secondary Development of UG[J]. Mechanical Science and Technology, 2003, 22(11): 242-244.
[2] 李小力, 余世浩. 電子表單在UG軟件中的應(yīng)用[J]. 機械設(shè)計與制造, 2008, 4(4):62-63.
Li Xiao-li, Yu Shi-hao. Application of Spreadsheet in UG[J]. Machinery Design & Manufacture, 2008, 4(4): 62-63.
[3] Magrab E B. MATLAB原理與工程應(yīng)用[M].北京: 電子工業(yè)出版社, 2002.
[4] 張宇文. 魚雷總體設(shè)計原理與方法[M]. 西安: 西北工業(yè)大學(xué)出版社, 1998.
[5] 宋保維. 水下航行器現(xiàn)代設(shè)計理論與方法——可靠性與優(yōu)化設(shè)計[M]. 西安: 西北工業(yè)大學(xué)出版社, 2004.
[6] 王春香, 馮慧忠. MATLAB軟件在機械優(yōu)化設(shè)計中的應(yīng)用[J]. 機械設(shè)計, 2004, 21(7): 52-54.
[7] 蘇金明, 張蓮花, 劉波, 等. MATLAB工具箱應(yīng)用[M].北京: 電子工業(yè)出版社, 2004.
[8] 劉惟信. 機械最優(yōu)化設(shè)計[M]. 2版. 北京: 清華大學(xué)出版社, 2000.
Parametric Design of Cylinder Shell Based on Spreadsheet
SONG Bao-wei, YE Jing, CAO Yong-hui
(College of Marine Engineering, Northwestern Polytechnical University, Xi′an 710072, China)
To shorten design period of autonomous underwater vehicle (AUV), this paper presents a new approach by taking optimization design of an AUV cylinder shell construction as an example. The UG′s modeling ability and the MATLAB′s scientific computing function are combined effectively by virtue of the spreadsheet, and the 3D model of cylinder shell is updated according to the optimization result. This paper highlights the way of data transmission between MATLAB and UG via spreadsheet. This study shows that the present method can greatly shorten the structure design period, reduce the engineers' workload, and make it possible to serialize the product structure design.
autonomous underwater vehicle (AUV); optimization design; spreadsheet; cylinder shell; UG; MATLAB
TJ630.3
A
1673-1948(2011)01-0006-04
2010-06-22;
2010-09-08.
宋保維(1963-), 男, 教授, 博導(dǎo), 研究方向為水下航行器流體力學(xué)、水下特種減阻技術(shù), 可靠性以及機電一體化技術(shù).
(責(zé)任編輯: 陳 曦)