何 健,游有鵬
(南京航空航天大學(xué)機(jī)電學(xué)院,江蘇 南京 210016)
鈑金折彎是一種重要金屬板料成形工藝方法,廣泛應(yīng)用于家電、汽車(chē)和電力等領(lǐng)域。傳統(tǒng)的鈑金折彎以人工配合折彎?rùn)C(jī)進(jìn)行折彎作業(yè),不僅工作效率低、質(zhì)量和精度不夠穩(wěn)定,且存在著一定的安全隱患。隨著制造業(yè)正向著自動(dòng)化和信息化的方向轉(zhuǎn)型,工業(yè)機(jī)器人在折彎自動(dòng)化領(lǐng)域得到快速發(fā)展。
目前,實(shí)際工業(yè)生產(chǎn)中的折彎?rùn)C(jī)器人控制編程主要采用人工示教的方式,操作人員需要在生產(chǎn)環(huán)境中使用示教器進(jìn)行機(jī)器人路徑規(guī)劃和示教點(diǎn)記錄。這種編程方法操作過(guò)程煩瑣、對(duì)操作人員的要求高、占用設(shè)備時(shí)間長(zhǎng)、效率低,難以滿足小批量、多品種產(chǎn)品生產(chǎn)時(shí)的快速切換需求。與之相比,離線編程方式更加靈活,可以很好地克服人工示教編程的不足。
實(shí)現(xiàn)折彎?rùn)C(jī)器人路徑規(guī)劃與仿真是鈑金折彎加工離線編程的基礎(chǔ)。目前,機(jī)器人仿真系統(tǒng)的研究大多是基于MATLAB機(jī)器人學(xué)工具箱的環(huán)境仿真[1-2]或者是基于SolidWorks等CAX軟件進(jìn)行二次開(kāi)發(fā)[3-4],還有一些直接使用OpenGL圖形接口開(kāi)發(fā)機(jī)器人虛擬仿真平臺(tái)[5-6]。上述機(jī)器人系統(tǒng)研究,多應(yīng)用于噴涂、碼垛和焊接等領(lǐng)域,且MATLAB和OpenGL缺乏鈑金模塊的支持,CAX依賴(lài)于特定環(huán)境,通用性不高。與一般機(jī)器人的路徑規(guī)劃不同,由于鈑金工件會(huì)隨折彎加工進(jìn)行逐步發(fā)生變形和鈑金加工配套環(huán)境的復(fù)雜性,會(huì)出現(xiàn)無(wú)法預(yù)期的碰撞干涉情況。
針對(duì)上述問(wèn)題,本文以機(jī)器人鈑金折彎單元為研究對(duì)象,提出一種基于Coin3D的機(jī)器人鈑金折彎三維仿真系統(tǒng)設(shè)計(jì)方案。
相對(duì)于人工操作完成鈑金作業(yè),機(jī)器人鈑金折彎還需附加一些配套設(shè)備,如使用對(duì)中臺(tái)保證鈑金的定位精度、使用翻面架更換鈑金件夾持面等。實(shí)際生產(chǎn)中,機(jī)器人折彎單元要根據(jù)用戶(hù)需求進(jìn)行定制化,本文參照常見(jiàn)鈑金件的加工環(huán)境,進(jìn)行三維加工環(huán)境構(gòu)建。
折彎單元各組件如機(jī)床、對(duì)中臺(tái)和機(jī)器人等可視為剛體或剛體的組合,在鈑金折彎過(guò)程中的運(yùn)動(dòng)可視為剛體運(yùn)動(dòng)。折彎?rùn)C(jī)、機(jī)器人等復(fù)雜剛體模型可以使用SolidWorks、Pro/E等專(zhuān)業(yè)三維造型軟件進(jìn)行設(shè)計(jì),再將其輸出為WRL文件格式,使用Coin3D可直接進(jìn)行讀取,由此可方便地搭建鈑金加工三維仿真環(huán)境,大大減少了各組件的圖形設(shè)計(jì)開(kāi)發(fā)工作量[7]。同時(shí),Coin3D三維場(chǎng)景中的模型可看作單個(gè)節(jié)點(diǎn)或節(jié)點(diǎn)的組合,節(jié)點(diǎn)之間可以設(shè)置父子關(guān)系,這樣可以方便地完成模型之間的裝配或設(shè)置模型之間的相對(duì)位置。
以通用6R工業(yè)機(jī)器人為例,使用Coin3D場(chǎng)景數(shù)據(jù)庫(kù)技術(shù),設(shè)計(jì)機(jī)器人連桿場(chǎng)景圖模型,實(shí)現(xiàn)模型的導(dǎo)入和顯示。機(jī)器人是由眾多部件組成的復(fù)雜模型,但就運(yùn)動(dòng)仿真而言,主要關(guān)注機(jī)器人空間位置和運(yùn)動(dòng)狀態(tài),并不涉及其內(nèi)部零件的具體細(xì)節(jié),因此,建模時(shí)可按照獨(dú)立原則和運(yùn)動(dòng)關(guān)系將機(jī)器人分為不同的運(yùn)動(dòng)部件,建立對(duì)應(yīng)的部件模型。機(jī)器人在場(chǎng)景圖的結(jié)構(gòu)如圖1所示,由于機(jī)器人是典型的串聯(lián)結(jié)構(gòu),后面的關(guān)節(jié)如Joint1串聯(lián)于前面的關(guān)節(jié)如Joint0,因此,在圖1中省略了后面的幾個(gè)關(guān)節(jié)。
圖1 機(jī)器人場(chǎng)景結(jié)構(gòu)
本文基于Coin3D使用場(chǎng)景圖技術(shù)搭建的機(jī)器人鈑金折彎仿真加工環(huán)境如圖2所示。
圖2 機(jī)器人鈑金折彎仿真三維加工環(huán)境
在機(jī)器人折彎中,鈑金件的折彎寬度、折彎角度、折彎半徑、材料和厚度等特征信息決定了模具、機(jī)器人夾持器和夾持基面的選取[8]。同時(shí),折彎過(guò)程中鈑金件的形狀逐步發(fā)生變化,還要根據(jù)當(dāng)前鈑金件與機(jī)床、上下模、機(jī)器人、對(duì)中臺(tái)和翻面架等加工環(huán)境的干涉情況,計(jì)算可行的折彎工序和機(jī)器人運(yùn)動(dòng)路徑。為此,需要建立一個(gè)適應(yīng)折彎過(guò)程中形狀不斷變化的鈑金件數(shù)據(jù)模型。
本文設(shè)計(jì)的鈑金件數(shù)據(jù)模型將鈑金件分為2種實(shí)體:一種是以折彎邊為中心會(huì)發(fā)生形變的折彎實(shí)體;另一種是與每道折彎相鄰的平面實(shí)體,并按折彎工序?qū)⒄蹚潓?shí)體串聯(lián)起來(lái)。鈑金件可能具有孔、方槽、缺口和沖壓等內(nèi)輪廓特征,因此,2種實(shí)體需要包含內(nèi)輪廓和外輪廓2種幾何形狀特征,可采用Coin3D提供的Nurbs曲面(SoNurbsSurface)、 Nurbs裁剪曲線(SoNurbsProfile)等Nurbs相關(guān)節(jié)點(diǎn),實(shí)現(xiàn)鈑金件的顯示和折彎。
圖3為鈑金件的展開(kāi)圖,該鈑金件有6道折彎,B1~B6(數(shù)字為折彎工序號(hào))為以折彎線為中心的折彎實(shí)體,F(xiàn)1~F7為折彎實(shí)體左右兩側(cè)的平面實(shí)體。為描述折彎時(shí)鈑金件的變形,規(guī)定夾持基面中心為鈑金件局部坐標(biāo)系原點(diǎn),Z軸為夾持基面法線,折彎線方向?yàn)樽罱咏黊或Y軸的方向,折彎實(shí)體與兩側(cè)平面實(shí)體的相對(duì)位置由折彎線和Z軸方向確定(折彎線與Z軸叉乘所得向量指向折彎實(shí)體右側(cè),如圖3中的R3、R6)。根據(jù)以上定義,折彎時(shí)當(dāng)前折彎實(shí)體兩側(cè)實(shí)體運(yùn)動(dòng)可視為繞空間中一軸旋轉(zhuǎn),且左側(cè)實(shí)體旋轉(zhuǎn)方向(由右手定則確定)與折彎線同向,右側(cè)實(shí)體旋轉(zhuǎn)方向與折彎線反向。
圖3 鈑金件展開(kāi)
當(dāng)發(fā)生折彎時(shí),需要根據(jù)當(dāng)前折彎實(shí)體獲取其左右兩側(cè)平面實(shí)體,并由平面實(shí)體獲取所有與之相連的實(shí)體,從而實(shí)現(xiàn)折彎件彎曲變形,所以折彎實(shí)體和平面實(shí)體之間須雙向連接。此外,為折彎工序的回溯、調(diào)整考慮,也將折彎實(shí)體雙向串聯(lián),由此可得到雙向鏈?zhǔn)浇Y(jié)構(gòu)的鈑金件拓?fù)鋽?shù)據(jù)模型,如圖4所示,其中,實(shí)線和虛線分別為連接右側(cè)和左側(cè)平面實(shí)體。
圖4 鈑金件雙向鏈?zhǔn)浇Y(jié)構(gòu)
機(jī)器人折彎加工1個(gè)完整的工作周期一般包括取料、對(duì)中、折彎和碼垛4個(gè)階段,對(duì)于一些工件還需要進(jìn)行更換夾持面操作,機(jī)器人鈑金加工流程如圖5所示。
圖5 機(jī)器人鈑金折彎加工流程
(2)
圖6 折彎操作任務(wù)各組件位姿關(guān)系
(4)
鈑金折彎進(jìn)出料,即機(jī)器人夾持鈑金工件通過(guò)進(jìn)料操作將鈑金件放置到折彎加工點(diǎn),以及折彎完成后通過(guò)出料操作將折彎件抽離折彎加工區(qū)域的操作。由于鈑金工件進(jìn)出料前后幾何形狀發(fā)生變形以及進(jìn)出料區(qū)域工作空間較小,因此,極易發(fā)生工件和模具之間的碰撞。
如圖7所示,機(jī)器人進(jìn)出料通常采用直線運(yùn)動(dòng),是一個(gè)二維平面規(guī)劃問(wèn)題,因此,本文采用基于鈑金工件鏈?zhǔn)浇Y(jié)構(gòu),使用幾何形狀投影的方法實(shí)現(xiàn)機(jī)器人進(jìn)出料避碰操作。
圖7 折彎進(jìn)出料
進(jìn)出料問(wèn)題可以簡(jiǎn)化為板料在平面三自由度(x,y,θ)的位姿規(guī)劃問(wèn)題。避碰的基本思想為找到板料機(jī)床喉口一側(cè)使板料翹曲程度最大的1道折彎,并在折彎加工位置上調(diào)整板料位姿,使其喉口一側(cè)包絡(luò)線在豎直方向上的投影小于上下模開(kāi)口高度,機(jī)器人則可沿包絡(luò)線位置進(jìn)出料。以圖7為例,進(jìn)行第3道折彎(圖中數(shù)字1~3為折彎)進(jìn)料時(shí),需找到左側(cè)翹曲程度最大的1道折彎,即第2道折彎加工位姿并在此基礎(chǔ)上求解板料避碰姿態(tài)。機(jī)器人進(jìn)出料避碰方法流程如圖8所示。
圖8 折彎加工進(jìn)出料避碰方法流程
折彎?rùn)C(jī)器人不同操作任務(wù)間過(guò)渡路徑規(guī)劃問(wèn)題,主要是針對(duì)非折彎工藝中取料、對(duì)中、下料等上一次操作任務(wù)終止點(diǎn)和下一次操作任務(wù)起始點(diǎn)之間的路徑規(guī)劃。在進(jìn)行這些操作任務(wù)切換時(shí),機(jī)器人的工作空間較大,2節(jié)點(diǎn)之間的距離較遠(yuǎn),障礙物干涉情況較為簡(jiǎn)單,通常只需插入少量路徑節(jié)點(diǎn)即可得到可行路徑。
針對(duì)不同操作任務(wù)間過(guò)渡的折彎?rùn)C(jī)器人路徑規(guī)劃問(wèn)題,采用基于人工示教經(jīng)驗(yàn),引入虛擬安全點(diǎn)進(jìn)行關(guān)節(jié)空間的軌跡規(guī)劃,若發(fā)碰撞再進(jìn)行常規(guī)的基于隨機(jī)采樣的避碰路徑規(guī)劃方法。
現(xiàn)以折彎?rùn)C(jī)器人取料與對(duì)中任務(wù)之間的切換操作為例,介紹關(guān)鍵路徑節(jié)點(diǎn)生成的具體流程,如圖9所示。圖9中共有8個(gè)空間路徑關(guān)鍵節(jié)點(diǎn),基于人工示教經(jīng)驗(yàn),此次操作可分為3個(gè)階段,其中T1~T2為提升階段,T2~T7為過(guò)渡階段,T7~T8為下放階段。其中,T1由夾持器與鈑金工件在上料臺(tái)的配合確定,T2由夾持器與鈑金工件在對(duì)中臺(tái)的配合確定。T2、T3和T7、T6可分別在上料臺(tái)坐標(biāo)系和對(duì)中臺(tái)坐標(biāo)系下偏移相應(yīng)距離(根據(jù)板料尺寸計(jì)算)獲得;T4、T5則可由T3、T6之間連線和空間圓弧過(guò)渡確定。
圖9 取料與對(duì)中任務(wù)切換關(guān)鍵節(jié)點(diǎn)生成
當(dāng)上述規(guī)劃路徑發(fā)生碰撞時(shí),需要調(diào)用避碰路徑規(guī)劃算法,以完善鈑金折彎加工整體路徑規(guī)劃。對(duì)于工業(yè)機(jī)器人而言,其狀態(tài)空間維度一般較高,傳統(tǒng)路徑規(guī)劃算法存在計(jì)算量大、障礙物無(wú)法描述等問(wèn)題,目前主要使用的算法是RRT及其改進(jìn)算法[8]。碰撞檢測(cè)是避碰路徑規(guī)劃重要組成部分,本文采用Coin3D提供的形狀節(jié)點(diǎn)包圍盒和圖元接口,并應(yīng)用開(kāi)源碰撞檢測(cè)庫(kù)FCL提供的干涉檢測(cè)、距離計(jì)算算法實(shí)現(xiàn)碰撞檢測(cè)。
針對(duì)折彎?rùn)C(jī)器人不同操作任務(wù)切換障礙物分布情況相對(duì)固定(主要分布在起始和目標(biāo)位置附近,中間為開(kāi)闊區(qū)域)、要求路徑節(jié)點(diǎn)盡可能少的特點(diǎn),采用改進(jìn)RRT*算法進(jìn)行避碰路徑規(guī)劃。
RRT*在RRT算法在基礎(chǔ)上改進(jìn)了父節(jié)點(diǎn)的選擇策略,在每次迭代都會(huì)重新布線,保證RRT*路徑節(jié)點(diǎn)較少并且是漸進(jìn)最優(yōu)的[9]。本文針對(duì)機(jī)器人折彎場(chǎng)景參考RRT-Connect使用分別從起始點(diǎn)與目標(biāo)點(diǎn)雙向拓展,并在開(kāi)闊區(qū)域增大步長(zhǎng)和目標(biāo)偏向概率的策略對(duì)RRT*算法進(jìn)行改進(jìn)。
為驗(yàn)證改進(jìn)RRT*算法性能,在簡(jiǎn)單障礙環(huán)境下驗(yàn)證改進(jìn)策略的有效性,如圖10所示。
圖10 簡(jiǎn)單障礙環(huán)境下的仿真分析
如圖11所示,為改進(jìn)和原始算法在簡(jiǎn)單障礙的100×100×100三維實(shí)驗(yàn)環(huán)境內(nèi)循環(huán)進(jìn)行24次規(guī)劃的實(shí)驗(yàn)結(jié)果。本文提出的針對(duì)簡(jiǎn)單避障環(huán)境的改進(jìn)策略,使改進(jìn)算法相比原始算法平均路徑節(jié)點(diǎn)減少了26.89%,平均時(shí)間縮短到原始算法38.78%,提高了算法的搜索效率和穩(wěn)定性。
圖11 算法實(shí)驗(yàn)結(jié)果對(duì)比
為驗(yàn)證機(jī)器人自動(dòng)折彎仿真系統(tǒng)方案及相關(guān)數(shù)學(xué)模型的正確性,將共有6道折彎、需2套模具加工的鈑金工件以IGES文件格式導(dǎo)入后置處理器中, 讀取鈑金工藝信息,將其轉(zhuǎn)化仿真系統(tǒng)所定義的展開(kāi)鈑金件數(shù)據(jù)格式,進(jìn)行仿真驗(yàn)證如圖12所示。
圖12 機(jī)器人鈑金折彎測(cè)試
從圖12中可知,機(jī)器人能正確抵達(dá)折彎操作任務(wù)的目標(biāo)位姿,鈑金件能適應(yīng)折彎過(guò)程中形狀變化,驗(yàn)證了折彎?rùn)C(jī)器人運(yùn)動(dòng)學(xué)解算和折彎單元數(shù)據(jù)模型設(shè)計(jì)的正確性。
本文提出了一種基于Coin3D的機(jī)器人自動(dòng)折彎仿真系統(tǒng)設(shè)計(jì)方案,并通過(guò)設(shè)計(jì)折彎單元各組件件數(shù)學(xué)模型和鈑金件雙向鏈?zhǔn)酵負(fù)鋽?shù)據(jù)模型,實(shí)現(xiàn)了折彎單元加工環(huán)境的參數(shù)化導(dǎo)入、配置和鈑金件三維顯示和折彎仿真;在鈑金加工的典型操作任務(wù)人工示教經(jīng)驗(yàn)基礎(chǔ)上,提出了折彎?rùn)C(jī)器人路徑規(guī)劃算法,實(shí)現(xiàn)了折彎?rùn)C(jī)器人運(yùn)動(dòng)仿真。最后對(duì)該仿真系統(tǒng)進(jìn)行了鈑金件折彎仿真實(shí)驗(yàn),驗(yàn)證了仿真系統(tǒng)設(shè)計(jì)方案以及相關(guān)數(shù)學(xué)模型的正確性,為鈑金折彎?rùn)C(jī)器人離線編程系統(tǒng)的研制和開(kāi)發(fā)提供依據(jù)和參考。