陶承宗,陳海衛(wèi),2*,陳延斌
(1.江南大學(xué) 機(jī)械工程學(xué)院,無錫 214122;2.江蘇省食品先進(jìn)制造裝備技術(shù)重點(diǎn)實(shí)驗(yàn)室,無錫 214122)
近年來,隨著生活水平的提高及全球低碳環(huán)保理念的盛行,人們更加追求建筑材料的環(huán)保性和建筑物功能的多樣性[1]。現(xiàn)代木結(jié)構(gòu)建筑憑借抗震性好,藝術(shù)表現(xiàn)性強(qiáng),較其它建筑材料有噪音低,塵土少,廢水污染小等優(yōu)點(diǎn)[2],一直受到人們的關(guān)注。木結(jié)構(gòu)組合墻體作為木建筑的主體,在載荷承受、防潮、保溫、隔音等方面有很高的要求[3],因此生產(chǎn)商對(duì)墻體的生產(chǎn)加工裝配過程格外重視。目前,墻體生產(chǎn)過程存在自動(dòng)化程度低、裝配路線規(guī)劃不合理的局面,亟需研制一款以裝配序列規(guī)劃為核心的自動(dòng)化裝配系統(tǒng)去改善這樣的生產(chǎn)現(xiàn)狀。國(guó)內(nèi)外在該領(lǐng)域有很多深刻的研究,美國(guó)VRCIM實(shí)驗(yàn)室與美國(guó)NIST合作開發(fā)的虛擬裝配環(huán)境VADE[4]能自動(dòng)從CAD系統(tǒng)中自動(dòng)提取模型的幾何、物理屬性,通過戴頭盔人機(jī)交互的方式實(shí)現(xiàn)產(chǎn)品的自動(dòng)裝配工藝規(guī)劃。秦鍇[5]利用拆卸法思想對(duì)裝配模型進(jìn)行裝配序列規(guī)劃,用全回轉(zhuǎn)推進(jìn)器的實(shí)例驗(yàn)證了所開發(fā)裝配系統(tǒng)的有效性。張強(qiáng)[6]通過利用實(shí)時(shí)拆卸運(yùn)動(dòng)仿真跟實(shí)時(shí)干涉檢驗(yàn)的方式求得裝配序列,成功實(shí)現(xiàn)HCW軋機(jī)的虛擬裝配。彭敏[7]利用SW的二次開發(fā)提取出裝配體模型矩陣信息,結(jié)合干涉矩陣的特性自動(dòng)生成裝配順序,最后成功實(shí)現(xiàn)一級(jí)圓柱齒輪減速器的自動(dòng)化裝配。Remeo M.Marian[8]等對(duì)改進(jìn)型液壓直線電動(dòng)機(jī)建立連接表,干涉表模型,利用GA算法對(duì)序列群優(yōu)化,實(shí)現(xiàn)了電機(jī)的裝配工藝的改良。李慧[9]針對(duì)機(jī)器人自動(dòng)化作業(yè)的需求,設(shè)計(jì)了機(jī)器人自動(dòng)裝配系統(tǒng),實(shí)現(xiàn)了產(chǎn)品的裝配信息建模、裝配序列規(guī)劃及裝配路徑規(guī)劃的功能。
本文針對(duì)墻體的生產(chǎn)裝配環(huán)節(jié),首先設(shè)計(jì)了墻體的柔性裝配方案,之后對(duì)墻體模型進(jìn)行底層分析和數(shù)字化建模,之后基于拆卸法思想進(jìn)行墻體的裝配序列規(guī)劃;而后構(gòu)建了基于機(jī)器人運(yùn)動(dòng)行程的評(píng)價(jià)指標(biāo)數(shù)學(xué)模型,對(duì)序列群綜合評(píng)價(jià)篩選出了最優(yōu)序列,使墻體的裝配任務(wù)得到了優(yōu)化。
本文研究的木結(jié)構(gòu)組合墻體,主要是由托梁、底板、頂板、帶板、過梁等橫截面相同,長(zhǎng)度不同的木板構(gòu)成,如圖1(a)所示,零件木板沒有凹槽,卡口部件,采用的裝配方式是傳統(tǒng)的多塊木板的直接釘釘。根據(jù)墻體裝配圖以及墻體裝配的技術(shù)要求,由研究人員設(shè)計(jì),得到如圖1(b)所示的墻體模型。
圖1 墻體組成零件及設(shè)計(jì)圖
墻體的裝配過程主要分為上料、運(yùn)料、定位、裝配幾個(gè)環(huán)節(jié),而系統(tǒng)主要由龍門機(jī)床、工業(yè)機(jī)器人,運(yùn)料傳送帶、光纖傳感器、PLC控制器以及一些非標(biāo)設(shè)備構(gòu)成。首先搬運(yùn)機(jī)器人將木板由載物臺(tái)運(yùn)送到傳送帶,之后采用運(yùn)料傳送帶實(shí)現(xiàn)木板運(yùn)料,利用龍門平臺(tái)將木板零件運(yùn)送到工作臺(tái),利用三臺(tái)工業(yè)機(jī)器人跟龍門平臺(tái)配合完成整個(gè)打釘操作。裝配方案如圖2所示。
圖2 墻體的裝配系統(tǒng)圖
裝配系統(tǒng)建立之后,需要對(duì)墻體模型本身進(jìn)行底層分析,采集出模型基本信息,從而為裝配工藝生成奠定基礎(chǔ)。對(duì)于給定的墻體模型,由于初始模型只是木板布局圖,并沒有給明打釘?shù)那闆r,所以首要工作就是判定打釘?shù)臓顟B(tài),因兩板貼合是兩板可打釘?shù)谋匾怀浞謼l件,第一步也就是分析板與板的貼合狀態(tài),從而初選出打釘位置。
對(duì)于兩面貼合,有如下充要條件:
1)面與面的距離為0,即兩面重合;
2)實(shí)體中面與面的外法向量方向相反,或者面與面的不包含邊界的矩形區(qū)域存在交集;
本文采用重合跟面面區(qū)域存在交集的方法判斷貼合。設(shè)存在面S1與S2,它們位于XOY平面且位于不同的部件:
ymin跟ymax定義類似x,則兩面貼合的充要條件為:
通過solidworks的API進(jìn)行二次開發(fā),完成裝配體信息的提取。利用Feature::FirstFeature()和Featu -re::GetNextFeature()按特征樹順序遍歷零件,通過Component2::GetBodies2獲取對(duì)象的實(shí)體,再通過實(shí)體跟Face2::GetFaces()獲得所有面信息,利用Assem -blyDoc::ClosestDistance篩選出不可能貼合的部件,利用Measure::NormalDistance測(cè)量面面距,結(jié)合Measure::IsPerpendicular進(jìn)行篩選出垂直面,再通過Face2::GetEdges()獲得面的邊信息,通過邊信息跟Edge::IgetStartVertex()就可以獲得邊的起始向量信息,通過Vertex::GetPoint()獲取局部坐標(biāo)系下的點(diǎn)坐標(biāo),再通過 MathPoint::MultiplyTransform的方法去實(shí)現(xiàn)變換,從而轉(zhuǎn)換成全局坐標(biāo)系下的坐標(biāo),進(jìn)行坐標(biāo)的冒泡排序后再根據(jù)(5)設(shè)計(jì)貼合程序,從而提取出相應(yīng)的貼合信息。
在貼合信息提取完成的基礎(chǔ)上,需進(jìn)一步分析墻體的打釘面的位置,打釘?shù)奈恢眉按蜥數(shù)膫€(gè)數(shù),完成整個(gè)墻體模型的打釘附屬工藝的初步規(guī)劃,從而為裝配序列規(guī)劃奠定基礎(chǔ)。
在貼合面的基礎(chǔ)上,與貼合面間隔一個(gè)板厚距離的面即為打釘面。當(dāng)僅存在一個(gè)打釘面時(shí),打釘面即為此面。當(dāng)存在二個(gè)打釘面時(shí),根據(jù)裝配體的方位選擇打釘面,打釘區(qū)域位于整個(gè)裝配體左側(cè),那打釘方向往右邊,若在裝配體右側(cè)則往左邊打釘,若為上邊則往下打釘,若為下邊則往上打釘。而打釘位置則在貼合面交集區(qū)域形心的基礎(chǔ)上,根據(jù)貼合面交集區(qū)域的面積大小,設(shè)置合理的長(zhǎng)、寬方向間隔進(jìn)行網(wǎng)格化打釘。
如圖3所示,設(shè)兩面在XOY平面下貼合,兩貼合面的z坐標(biāo)相同,令z=zsame,
圖3 貼合面交集區(qū)域形心圖
ypamx與ypmin的定義類似xpmax與xpmin,則形心坐標(biāo)(x0,y0,z0)可表示為:
若x方向設(shè)定打釘間隔為Δx,y方向?yàn)棣,那么該貼合區(qū)域打釘個(gè)數(shù)N可以表示為:
結(jié)合Assembly::AddMate5和Assembly::AddC -omponent5的API,設(shè)計(jì)程序可以自動(dòng)完成墻體打釘分析,生成打完釘后的墻體模型。
針對(duì)打完釘后的墻體模型,做適當(dāng)編碼處理后,便要尋找合理的表達(dá)方式充分表達(dá)該墻體的模型信息,從而便于生成裝配序列。常用的模型有AND/OR圖,節(jié)點(diǎn)圖等表達(dá)方式,但便于計(jì)算機(jī)處理的仍然是矩陣模型。
針對(duì)多緊固件裝配體模型,這里給出了緊固件連接矩陣模型和緊固件阻擋矩陣模型來表達(dá)模型。設(shè)打釘后的墻體有n個(gè)木板零件,m個(gè)緊固件,行代表緊固件,列代表木板零件,編碼規(guī)則是裝配體所有零件號(hào)碼為1∶n+m,1∶n代表木板零件,n+1∶n+m代表緊固件,緊固件號(hào)=矩陣行號(hào)+n;則緊固件連接矩陣FAM中的元素aij:
緊固件阻擋矩陣FAM中的元素bij:
裝配序列規(guī)劃(Assembly Sequence Planning),即在裝配體幾何約束的條件下找出一條或多條滿足幾何可行性和在建立一系列評(píng)價(jià)準(zhǔn)則后經(jīng)綜合評(píng)價(jià)并篩選出評(píng)價(jià)值最好的裝配路線過程。而拆卸法的思想只需考慮單方面的約束,因?yàn)橐巡鹦兜牧慵粫?huì)干涉后面零件的拆卸,相比于裝配的雙向約束,拆卸法一定程度上簡(jiǎn)化了ASP問題的求解難度[6]。緊固件作為特殊的零件,如果在ASP問題中忽略緊固件而單純的研究零件的裝配序列,這樣會(huì)忽略重要的模型信息,導(dǎo)致求解出來的序列解不一定滿足幾何可行性,如果考慮所有的緊固件將會(huì)導(dǎo)致理論解為n+m個(gè),將會(huì)產(chǎn)生組合爆炸問題導(dǎo)致求解速度很慢[10],因此需要對(duì)緊固件進(jìn)行特別處理。緊固件跟其連接的零件存在一種內(nèi)在的隱藏優(yōu)先關(guān)系,在實(shí)際工程經(jīng)驗(yàn)中,一般先拆卸緊固件,在拆卸緊固件所連接的零件,通過建立緊固件與跟其連接零件的內(nèi)在綁定關(guān)系,將大大縮減ASP問題的規(guī)模,節(jié)省規(guī)劃時(shí)間。
在已知FAM和FCM條件下求解ASP問題的步驟如下,定義存放序列的數(shù)組xulie初始等于φ:
Step1:根據(jù)FAM找出未被阻擋的緊固件qi,qi對(duì)應(yīng)的零件號(hào)為Si,將所有的qi存放于數(shù)組k1;
Step2:遍歷k1數(shù)組的元素,根據(jù)qi代表的行號(hào)搜索矩陣FCM,在該行存在所有為1的列Aj中,對(duì)FCM的Aj列求和,若值等于1,將所有的Aj存入數(shù)組k2,按順序取出k2中Aj,Aj對(duì)應(yīng)的零件號(hào)為Sj,則分別將Si和Sj加入xulie,若不存在和等于1,則返回k1數(shù)組的下一個(gè)元素,重復(fù)Step2;
Step3:刪除矩陣FCM和FAM中qi和Aj對(duì)應(yīng)的行或者列;
Step4:重復(fù)Step1,Step2,Step3,如果FAM的行數(shù)等于零,則輸出xulie,否則繼續(xù)重復(fù);
Step5:遍歷所有數(shù)組k1跟k2元素,輸出所有xulie解,將xulie倒序,即為裝配解。
在生成滿足幾何可行性的序列后,需要建立合理的評(píng)價(jià)指標(biāo)對(duì)序列群進(jìn)行綜合評(píng)價(jià),選出最節(jié)省裝配時(shí)間的裝配工藝指導(dǎo)生產(chǎn)實(shí)際。
傳統(tǒng)的裝配序列評(píng)價(jià)指標(biāo)包括幾何可行性、裝配方向改變次數(shù)、裝配工具的改變次數(shù),裝配體穩(wěn)定性、聚合性等。在墻體生產(chǎn)過程中,影響最重要的因素就是墻體的裝配時(shí)間。研究表明:產(chǎn)品裝配所需工時(shí)占產(chǎn)品生產(chǎn)制造總工時(shí)的40%~60%[5]。由此可見裝配時(shí)間的提高對(duì)產(chǎn)品的高效率生產(chǎn)有著至關(guān)重要的影響。所以對(duì)于本墻體,擬采用機(jī)器人的運(yùn)動(dòng)行程作為評(píng)價(jià)指標(biāo)。
機(jī)器人的運(yùn)動(dòng)行程包括龍門平臺(tái)運(yùn)料行程、機(jī)器人打釘行程、機(jī)器人輔助定位行程。而機(jī)器人的運(yùn)動(dòng)行程具體可以表征為距離。常用的距離模型包括歐氏距離、曼哈頓距離、閔可夫斯基距離、馬氏距離等,本文利用歐式距離衡量機(jī)器人的運(yùn)動(dòng)行程。
對(duì)于生成的各個(gè)裝配序列,由于墻體各個(gè)零件的安裝位置固定,所以每個(gè)序列的龍門平臺(tái)從開始運(yùn)料到擺放木板零件到相應(yīng)位置的運(yùn)動(dòng)行程和都是相等的;同理,機(jī)器人的輔助定位行程和也是相等的,最關(guān)鍵的因素即機(jī)器人的打釘行程。該打釘行程優(yōu)化模型類似于TSP旅行商問題,即一個(gè)郵遞員如何找出最短路徑,使得他從郵局出發(fā),給n個(gè)城市送完信件以后再返回郵局所走的路徑最短。而本文的距離模型就是4個(gè)機(jī)器人在若干個(gè)打釘位置跟機(jī)器人原點(diǎn)之間的TSP問題。
設(shè)D(Pi,Pj)為點(diǎn)Pi和Pj的歐式距離,假設(shè)有n個(gè)打釘位置,P={P1,P2,...,Pn}為一條訪問路徑,Pn+1=P1為初始位置[11],則每一條序列的打釘行程f(x)可以表征為:
其中i≠j;i,j∈{1,2,3,...nk}。
則本優(yōu)化的模型可以表征為:
優(yōu)化目標(biāo):minf(x)
優(yōu)化條件:x∈Ω,其中Ω為所有滿足幾何可行性的序列集合。
貼合信息為打釘信息奠定了基礎(chǔ),通過貼合信息進(jìn)一步能得出打釘?shù)奈恢?,初步反映零件之間的位置關(guān)系,不僅表達(dá)兩部件是貼合的,還能高亮顯示貼合面,如圖4所示。貼合信息的提取為打釘信息的生成墊底基礎(chǔ)。
圖4 零件貼合信息提取
貼合信息提取完成后,就要分析墻體的打釘信息。墻體打完釘后的效果如圖5所示,能清晰地反映出打釘?shù)拿?、打釘?shù)奈恢眉懊恳粋€(gè)打釘面打釘?shù)膫€(gè)數(shù)等信息。
圖5 不同貼合面積打釘情況圖
針對(duì)打釘后的模型進(jìn)行并行簡(jiǎn)化、編碼等處理,如圖6所示(括號(hào)內(nèi)數(shù)字代表個(gè)數(shù)),從而方便裝配序列規(guī)劃工作。
圖6 打釘后模型編碼后圖片
在MATLAB環(huán)境下編程,對(duì)墻體采用第2節(jié)的方法進(jìn)行裝配序列規(guī)劃,取零件24為初始裝配件,通過實(shí)驗(yàn)共得到2412902個(gè)可行解,通過評(píng)價(jià)計(jì)算后共得到16組最優(yōu)序列解,評(píng)價(jià)函數(shù)值為47.1293,綜合裝配資源等因素在16組解中選一組最優(yōu)解如下:
24 14 45 17 46 25 47 16 38 18 40 19 41 20 42 21 48 22 43 23 44 15 39 13 37 12 36 10 35 9 33 11 34 8 32 7 31 6 30 5 29 4 28 3 27 2 49 1 50 26 51。
針對(duì)該最優(yōu)裝配序列進(jìn)行演示,演示結(jié)果如圖7所示。
圖7 最優(yōu)序列的裝配過程
本文針對(duì)木結(jié)構(gòu)組合墻體的產(chǎn)品報(bào)廢率高,自動(dòng)化程度低的生產(chǎn)現(xiàn)狀,設(shè)計(jì)了一套包含裝配方案、信息提取、裝配工藝生成、工藝評(píng)價(jià)等模塊的自動(dòng)化裝配系統(tǒng)、核心在于利用裝配序列規(guī)劃去改進(jìn)墻體的裝配工藝,產(chǎn)生的裝配序列不僅滿足幾何可行性要求,而且經(jīng)優(yōu)化后的序列一定程度上減少了裝配時(shí)間,提高了墻體的生產(chǎn)效率。并且從裝配體底層分析、裝配信息提取到裝配序列規(guī)劃、評(píng)價(jià)全由計(jì)算機(jī)完成,大大提高了木結(jié)構(gòu)組合墻體生產(chǎn)的智能程度,為智能制造行業(yè)提供了一個(gè)典型范例。