徐志明 陳金成 程 松 陳 忠
上海電氣集團(tuán)自動(dòng)化工程有限公司 上海 200233
碳纖維復(fù)合材料產(chǎn)品具有比傳統(tǒng)材料更優(yōu)秀的力學(xué)性能,自動(dòng)鋪絲技術(shù)是復(fù)合材料自動(dòng)化加工技術(shù)的一種。自動(dòng)鋪絲方式由于具有低成本、高效率、高材料利用率,以及生產(chǎn)制造柔性自動(dòng)化等特性,在航空航天、新能源汽車、風(fēng)力發(fā)電等領(lǐng)域逐步得到推廣應(yīng)用。
運(yùn)動(dòng)仿真技術(shù)是自動(dòng)鋪絲成型計(jì)算機(jī)輔助設(shè)計(jì)與制造系統(tǒng)的重要組成部分,能夠提高產(chǎn)品研發(fā)速度,降低開發(fā)成本,避免運(yùn)動(dòng)干涉,減少設(shè)計(jì)錯(cuò)誤。與金屬切削方式不同,自動(dòng)鋪絲技術(shù)通過(guò)對(duì)復(fù)合材料預(yù)浸絲束的自動(dòng)鋪放來(lái)實(shí)現(xiàn)復(fù)合材料構(gòu)件的增材制造[1],其工藝受到較多因素影響,因而不能直接采用傳統(tǒng)計(jì)算機(jī)輔助設(shè)計(jì)和制造軟件實(shí)現(xiàn)數(shù)控加工路徑生成及運(yùn)動(dòng)仿真。目前,主要有兩種途徑解決自動(dòng)鋪絲路徑規(guī)劃和運(yùn)動(dòng)仿真問題。一種是基于通用計(jì)算機(jī)輔助設(shè)計(jì)軟件系統(tǒng)進(jìn)行二次開發(fā),如現(xiàn)有的CATFiber、FiberSIM等軟件,依賴于CATIA軟件系統(tǒng)環(huán)境,通過(guò)調(diào)用CATIA軟件的應(yīng)用程序接口模塊,組合、修改、新增實(shí)現(xiàn)自動(dòng)鋪放所需的功能[2]。另一種是獨(dú)立開發(fā)的軟件系統(tǒng),如ACES軟件,提供了轉(zhuǎn)換接口,實(shí)現(xiàn)通用計(jì)算機(jī)輔助設(shè)計(jì)和制造軟件文件的導(dǎo)入。
在國(guó)外,自動(dòng)鋪絲技術(shù)經(jīng)過(guò)幾十年的發(fā)展,已經(jīng)趨向成熟,各家鋪絲機(jī)供應(yīng)商研發(fā)了各自的路徑規(guī)劃和運(yùn)動(dòng)仿真軟件,但缺乏系統(tǒng)可配置性,僅適用于廠家自身有限的設(shè)備型號(hào)[3]。在國(guó)內(nèi),哈爾濱工業(yè)大學(xué)團(tuán)隊(duì)基于CATIA軟件進(jìn)行二次開發(fā),南京航空航天大學(xué)團(tuán)隊(duì)基于OpenGL技術(shù),完成了路徑規(guī)劃和鋪放仿真等功能模塊[4],但同樣有局限性。基于以上情況,行業(yè)內(nèi)要求自動(dòng)鋪絲機(jī)產(chǎn)品配套路徑規(guī)劃和運(yùn)動(dòng)仿真軟件,以滿足市場(chǎng)對(duì)產(chǎn)品使用功能的要求。
筆者利用SolidWorks軟件的二次開發(fā)功能,開發(fā)了碳纖維自動(dòng)鋪絲機(jī)三維運(yùn)動(dòng)仿真軟件,并應(yīng)用于天線反射面板產(chǎn)品的鋪放。
天線面板大都采用蜂窩夾層加背筋結(jié)構(gòu),這種結(jié)構(gòu)中,輕質(zhì)的蜂窩芯材和背筋將高強(qiáng)度碳纖維復(fù)合材料面板隔開,增大結(jié)構(gòu)慣性矩、從而提高剛度,有利于保證反射面的型面精度,并減輕質(zhì)量[4]。綜合考慮反射面強(qiáng)度、剛度等要求,天線面板的蒙皮采用T700級(jí)環(huán)氧樹脂碳纖維預(yù)浸料,含膠量為33%,單層厚度為0.125 mm,預(yù)浸料分切成寬度為6.4 mm的纖維帶。天線的背筋采用T300級(jí)碳纖維材料,呈井字形布置。天線面板結(jié)構(gòu)如圖1所示。
圖1 天線面板結(jié)構(gòu)
天線面板母線拋物線方程為:
z=-x2/6 400,x∈[0,1 000]
(1)
天線面板母線拋物線繞Z軸旋轉(zhuǎn)一周,得到拋物面模型,方程為:
z=-(x2+y2)/6 400,x,y∈[0,1 000]
(2)
自動(dòng)鋪絲路徑規(guī)劃指對(duì)復(fù)合材料零件結(jié)構(gòu)進(jìn)行幾何形狀、鋪層方向設(shè)計(jì),滿足成形精度要求,合理規(guī)劃鋪放軌跡、軌跡點(diǎn)絲束數(shù)量、纖維重疊、間隙面積等鋪放信息。鋪放路徑規(guī)劃的合理與否直接影響最終成形構(gòu)件的質(zhì)量。規(guī)劃時(shí),確定鋪放計(jì)算基準(zhǔn)。以此基準(zhǔn)為前提,在鋪放曲面內(nèi)計(jì)算滿足鋪放角要求的軌跡點(diǎn),同時(shí)計(jì)算軌跡點(diǎn)位置的鋪放信息。將得到的軌跡點(diǎn)擬合為曲線,將曲線裁剪或者延伸到曲面邊界位置,得到鋪放軌跡曲線。
自動(dòng)鋪絲路徑規(guī)劃算法有固定纖維角法、等距偏移法、固定螺旋路徑法等。采用固定纖維角法,每條路徑中心線保持設(shè)定纖維角,不出現(xiàn)轉(zhuǎn)向現(xiàn)象。采用等距偏移法,第一路徑使用固定纖維角鋪放,其它連續(xù)路徑等距鋪放在前一條路徑旁邊。等距偏移法的優(yōu)點(diǎn)是不存在間隙,鋪層不需要增刪絲束,由此能獲取較快的鋪放速度。采用固定螺旋路徑法,在工件表面單獨(dú)路徑盤旋鋪放,僅適合閉合曲線鋪放,如錐體、管道等。固定螺旋路徑法具有較快的自動(dòng)鋪絲速度。
筆者采用等距偏移法規(guī)劃,以固定參考線為基準(zhǔn),定距離偏移軌跡點(diǎn)對(duì)天線面板進(jìn)行網(wǎng)格化,得到鋪絲路徑的插值點(diǎn)集,點(diǎn)集之間通過(guò)線性擬合。如圖2所示,取x=0為平面I,平面I與拋物面的交線為CI。沿X軸以交線CⅠ為固定參考線,基于一定的偏移距離d得到一系列偏移曲線。
圖2 等距偏移法示意圖
圖2中,參考曲線CⅠ與橡膠壓輥的接觸點(diǎn)為P點(diǎn),P點(diǎn)的法平面為N,法平面N與拋物面的交線為空間曲線D,P′為空間曲線D上距離P點(diǎn)偏移長(zhǎng)度為d的點(diǎn)。如此,一系列的P′點(diǎn)集構(gòu)成了偏移曲線CⅡ,再以同樣的偏移方式,得到其它偏移曲線。
(3)
式(3)可改寫為:
(4)
由式(4)可知,空間曲線D的切向量為:
(5)
e3為空間曲線D的切向單位向量,則有:
e3=T/|T|
(6)
(7)
向量旋轉(zhuǎn)如圖3所示。方向單位向量p為e3繞e1旋轉(zhuǎn)β角所得,P′點(diǎn)是向量p對(duì)應(yīng)直線與拋物面的交點(diǎn),有:
p=Rot(e1,β)e3
(8)
圖3 向量旋轉(zhuǎn)
由此,可以得到P′點(diǎn)的坐標(biāo)值。
碳纖維復(fù)合材料是一種各向異性材料,沿纖維軸方向和垂直于纖維軸方向的電磁熱力學(xué)性能都有明顯差別。這樣的各向異性可通過(guò)合適的鋪層方向及層數(shù)來(lái)滿足強(qiáng)度、剛度和其它特殊要求,為結(jié)構(gòu)的優(yōu)化設(shè)計(jì)提供了巨大的設(shè)計(jì)空間,這是傳統(tǒng)各向同性金屬材料所無(wú)法比擬的。由于碳纖維復(fù)合材料軸向和徑向的熱膨脹系數(shù)相差較大,因此只有采用準(zhǔn)各向同性對(duì)稱鋪層,利用高模量纖維軸向熱膨脹系數(shù)為負(fù)值,來(lái)抵消徑向較大的熱膨脹系數(shù),使各向熱膨脹系數(shù)接近于零,以保證天線在高低溫變化時(shí)保持穩(wěn)定的型面精度。
在碳纖維鋪層設(shè)計(jì)中,盡量減少纖維斷口和搭接,同時(shí)保證纖維鋪放有序,重點(diǎn)保證鋪層的對(duì)稱性,以減小翹曲變形,提高天線部件的精度。由于碳纖維復(fù)合材料嚴(yán)重的各向異性,在平面內(nèi)會(huì)產(chǎn)生特殊的拉剪耦合效應(yīng),因此除了采用0°、90°正交鋪層外,采用±45°鋪層設(shè)計(jì),使纖維方向在分層的平面內(nèi)均勻分布。
SolidWorks是集計(jì)算機(jī)輔助設(shè)計(jì)、工程、制造于一體的軟件,廣泛應(yīng)用于機(jī)械行業(yè)。SolidWorks軟件提供多種二次開發(fā)接口,給用戶的二次開發(fā)帶來(lái)了方便[5]。筆者采用SolidWorks軟件的二次開發(fā)功能完成碳纖維自動(dòng)鋪絲機(jī)三維運(yùn)動(dòng)仿真軟件的開發(fā)。
自動(dòng)鋪絲機(jī)模型如圖4所示。自動(dòng)鋪絲機(jī)可以持續(xù)對(duì)預(yù)浸絲束進(jìn)行輸送、精確定位、準(zhǔn)確鋪層、壓實(shí)、準(zhǔn)確切斷、重啟再輸送等。自動(dòng)鋪絲機(jī)具有六軸聯(lián)動(dòng)能力,能實(shí)現(xiàn)各種復(fù)雜曲面的鋪放。在鋪放絲束時(shí),坐標(biāo)軸可保證鋪絲頭垂直于工件表面。
圖4 自動(dòng)鋪絲機(jī)模型
自動(dòng)鋪絲機(jī)由下部工作臺(tái)傳動(dòng)結(jié)構(gòu)和上部鋪絲頭傳動(dòng)結(jié)構(gòu)組成。下部工作臺(tái)放置鋪放模具,傳動(dòng)結(jié)構(gòu)由X、B、C三軸組成。上部實(shí)現(xiàn)鋪絲頭的位姿控制,傳動(dòng)結(jié)構(gòu)由Y、Z、A三軸組成。
為了實(shí)現(xiàn)自動(dòng)鋪絲機(jī)的運(yùn)動(dòng)仿真,自動(dòng)鋪絲機(jī)各組成部件的位姿需要根據(jù)指令調(diào)整。SolidWorks軟件具備二次開發(fā)功能,提供從建模、裝配到運(yùn)動(dòng)控制的應(yīng)用程序接口函數(shù)。用戶通過(guò)調(diào)用底層指令,可以建立自定義運(yùn)動(dòng)仿真模塊。SolidWorks軟件的應(yīng)用程序接口函數(shù)通過(guò)組件對(duì)象模型方式實(shí)現(xiàn)和用戶程序的互動(dòng),當(dāng)SolidWorks軟件啟動(dòng)時(shí),自動(dòng)檢測(cè)和加載由組件對(duì)象模型技術(shù)生成的動(dòng)態(tài)鏈接庫(kù)插件[6]。
筆者基于Visual Studio軟件開發(fā)動(dòng)態(tài)鏈接庫(kù)插件,嵌入SolidWorks軟件,實(shí)現(xiàn)運(yùn)動(dòng)仿真。
在SolidWorks軟件的裝配體環(huán)境中,設(shè)置一個(gè)全局坐標(biāo)系。對(duì)于每個(gè)部件,同樣設(shè)置局部坐標(biāo)系。局部坐標(biāo)系位于全局坐標(biāo)系中,通過(guò)變換局部坐標(biāo)系的位置和姿態(tài),可以實(shí)現(xiàn)部件位置和姿態(tài)的調(diào)整。在SolidWorks軟件中,這一功能通過(guò)坐標(biāo)系變換矩陣實(shí)現(xiàn)[6]。坐標(biāo)系變換矩陣為四階矩陣,具體為:
坐標(biāo)系變換矩陣中有16個(gè)元素。a~i組成三階旋轉(zhuǎn)矩陣,定義局部坐標(biāo)系的姿態(tài)。j、k、l組成位置矩陣,定義局部坐標(biāo)系的原點(diǎn)位置。m定義比例因子。n、o、p未使用,為0。坐標(biāo)系變換矩陣與部件坐標(biāo)數(shù)據(jù)是右乘關(guān)系,由此部件坐標(biāo)數(shù)據(jù)可以轉(zhuǎn)換為全局坐標(biāo)數(shù)據(jù)。
獲取模型指針典型代碼如下:
CComPtr
CComPtr
iSwApp->get_IActiveDoc2(&iSwModel);
CComBSTR title;//返回模型名稱
iSwModel->GetTitle(&title);
//獲取各個(gè)部件的指針
CComPtr
iSwModel->IGetActiveConfiguration(&iConfiguration);
CComPtr
iConfiguration->GetRootComponent3(True,&iComponent);
int CompCount;//返回部件數(shù)量
iComponent->IGetChildrenCount(&CompCount);
VARIANT vChildComp;//返回部件數(shù)組
iComponent->GetChildren(&vChildComp);
SAFEARRAY*safeComp;
safeComp=V_ARRAY(&vChildComp);
LPDISPATCH*safeArrayComp;
SafeArrayAccessData(safeComp,(void**)&safeArrayComp);
CComQIPtr
for(int i=0;i { pChildComp=safeArrayComp[i]; CComBSTRcomName;//獲取當(dāng)前部件的名稱 pChildComp->get_Name(&comName); CStringstr_ChildName(comName); //根據(jù)部件名稱賦值給各部件指針變量 …… } 部件位姿調(diào)整典型代碼如下: CComQIPtr CComPtr double mathTransArray[16]; //調(diào)整X軸位置 pX_Comp->get_Transform2(&iSwMathTran); iSwMathTran->get_IArrayData(mathTransArray); mathTransArray[9]=mathTransArray[9]+incrementX; mathTransArray[10]=mathTransArray[10]; mathTransArray[11]=mathTransArray[11]; iSwMathTran->put_IArrayData(mathTransArray); pX_Comp->put_Transform2(iSwMathTran); //調(diào)整Y、Z、A、B、C等軸的位姿 …… 根據(jù)路徑規(guī)劃算法,獲取鋪放點(diǎn)集的坐標(biāo),明確鋪絲頭接觸點(diǎn)的目標(biāo)位置。由于機(jī)械傳動(dòng)設(shè)備的結(jié)構(gòu)各異,控制軸數(shù)和幾何尺寸互不相同,因此必須有針對(duì)性地將接觸點(diǎn)集信息轉(zhuǎn)換為設(shè)備各控制軸的運(yùn)動(dòng)指令,稱為后置處理。 自動(dòng)鋪絲機(jī)傳動(dòng)鏈如圖5所示。自動(dòng)鋪絲機(jī)由上下兩部分組成,傳動(dòng)系統(tǒng)分為兩個(gè)軸系,一個(gè)為上部鋪絲頭側(cè)的Y、Z、A軸,另一個(gè)為下部工作臺(tái)側(cè)的X、B、C軸。根據(jù)鋪放工藝要求,在鋪放過(guò)程中,鋪絲頭的中心軸與鋪放曲面的法向保持重合,鋪絲頭的正向與規(guī)劃路徑的切向保持重合。 圖5 自動(dòng)鋪絲機(jī)傳動(dòng)鏈 眾所周至,任意結(jié)構(gòu)件具有空間六個(gè)自由度[7]。鋪絲頭相對(duì)于工作臺(tái)具有三個(gè)正交線性軸、三個(gè)正交旋轉(zhuǎn)軸共六個(gè)空間自由度定位能力,可以從空間任意位姿接近并執(zhí)行鋪放動(dòng)作。自動(dòng)鋪絲機(jī)參考坐標(biāo)系如圖6所示。在鋪絲頭坐標(biāo)系中,當(dāng)鋪放路徑執(zhí)行到P點(diǎn)時(shí),鋪絲頭坐標(biāo)系的X軸、Z軸與路徑上P點(diǎn)的切向和法向保持一致。 圖6 自動(dòng)鋪絲機(jī)參考坐標(biāo)系 工作臺(tái)坐標(biāo)系原點(diǎn)位于拋物面模具頂點(diǎn)。假設(shè)初始狀態(tài)下鋪絲頭坐標(biāo)系與工作臺(tái)坐標(biāo)系重合,P點(diǎn)是工作臺(tái)上任意點(diǎn),P點(diǎn)的切向和法向向量分別為e1、e2。滿足P點(diǎn)的鋪放工藝要求,需要自動(dòng)鋪絲機(jī)六個(gè)自由度的聯(lián)合定位[8]。其中,A、B、C旋轉(zhuǎn)軸用于工作臺(tái)上模具和鋪絲頭姿態(tài)調(diào)整,X、Y、Z線性軸用于模具上P點(diǎn)與鋪絲頭坐標(biāo)原點(diǎn)重合。在理想模型下,線性軸不影響旋轉(zhuǎn)軸的定位。所以,可先考慮A、B、C旋轉(zhuǎn)軸的定位。由于上部鋪絲頭只有一個(gè)A旋轉(zhuǎn)軸,即鋪絲頭只能繞X軸擺動(dòng),因此根據(jù)上述工藝要求,工作臺(tái)模具上P點(diǎn)切向和法向向量e1、e2都在YOZ平行平面上,X軸上沒有分量。 設(shè)工作臺(tái)的B軸、C軸分別旋轉(zhuǎn)β角和γ角,由于C軸附加在B軸上,跟隨B軸旋轉(zhuǎn),因此C軸的旋轉(zhuǎn)矩陣采用右乘法[9-10]。此時(shí),向量e′1和向量e′2相對(duì)于初始工作臺(tái)坐標(biāo)系的表達(dá)式為: (9) 由此可得: β=arctan[(e1ysinγ-e1xcosγ)/e1z] (10) 于是有: α=arctan(e2y/e2z) (11) 由于旋轉(zhuǎn)半徑的存在,除C軸外,A軸、B軸的旋轉(zhuǎn)會(huì)引起鋪絲頭與模具的接觸點(diǎn)位置偏移。設(shè)初始坐標(biāo)系下,鋪絲頭上接觸點(diǎn)位置為T(0,0,-L1),該點(diǎn)的新坐標(biāo)為: Rot(x,α)T′=(0,L1sinα,-L1cosα) (12) 對(duì)于模具上的P點(diǎn),設(shè)旋轉(zhuǎn)軸與模具頂點(diǎn)之間的B軸旋轉(zhuǎn)半徑為L(zhǎng)2,該點(diǎn)的新坐標(biāo)為: (13) 由式(12)、式(13)可獲取鋪絲頭與模具上各自接觸點(diǎn)由于旋轉(zhuǎn)而產(chǎn)生的位置偏移量,即X、Y、Z三個(gè)線性軸的位置補(bǔ)償值。 針對(duì)自動(dòng)鋪絲機(jī)結(jié)構(gòu)特點(diǎn),應(yīng)用等距路徑偏移法及其后置處理算法,開發(fā)碳纖維自動(dòng)鋪絲機(jī)三維運(yùn)動(dòng)仿真軟件。仿真軟件的流程如圖7所示。其中,在路徑規(guī)則定義階段,不僅定義了軌跡路徑點(diǎn)集的位置坐標(biāo),而且定義了對(duì)應(yīng)的切向向量和法向向量。自動(dòng)鋪絲機(jī)在點(diǎn)集中各點(diǎn)間的位姿幀切換通過(guò)定時(shí)器OnTimer()函數(shù)實(shí)現(xiàn)[11]。 圖7 仿真軟件流程 仿真鋪放如圖8所示,路徑軌跡線如圖9所示。鋪放頭的運(yùn)動(dòng)軌跡及姿態(tài)與所規(guī)劃的路徑軌跡及姿態(tài)一致,表明仿真軟件算法的準(zhǔn)確性。 圖8 仿真鋪放 圖9 路徑軌跡線 筆者基于SolidWorks軟件開發(fā)了碳纖維自動(dòng)鋪絲機(jī)三維運(yùn)動(dòng)仿真軟件,可以為天線面板自動(dòng)鋪絲的位置指令提供模擬測(cè)試環(huán)境,避免樣機(jī)試驗(yàn)過(guò)程中發(fā)生事故,并能夠有效加快試驗(yàn)進(jìn)度。6 后置處理算法
7 軟件應(yīng)用
8 結(jié)束語(yǔ)