詹立新 周 凱
(清華大學(xué)精密儀器與機(jī)械學(xué)系,北京 100084)
飛行器工藝裝備的設(shè)計(jì)與制造是飛行器制造工程的重要組成部分。目前,我國(guó)航空制造業(yè)對(duì)大型數(shù)字化、柔性化工藝裝備設(shè)計(jì)與制造的需求十分迫切。對(duì)于飛行器柔性工藝裝備,各國(guó)技術(shù)人員進(jìn)行了多年研究工作,已開發(fā)出各種柔性裝配工具技術(shù)。如1994~2001年美國(guó)CAN制造系統(tǒng)公司研發(fā)的基于POGO單元的柔性工裝系統(tǒng) POGO flexible tooling system[1-2];2004年西班牙M.Torres公司研發(fā)的飛機(jī)柔性裝配工具TORRESMIL[3]。這類柔性工藝裝備多采用多點(diǎn)陣列成形真空吸盤方案,大型薄壁曲面工件的支承由眾多支撐點(diǎn)形成曲面包絡(luò)實(shí)現(xiàn)。根據(jù)加工工件的不同,需要形成不同的曲面包絡(luò)點(diǎn)陣,就需要支撐陣列的位置在很大范圍內(nèi)可調(diào)。以TORRESMIL系統(tǒng)為例,其支撐陣列采用逐點(diǎn)單獨(dú)驅(qū)動(dòng)方案,實(shí)現(xiàn)其X、Y、Z三向定位。由于飛行器薄壁曲面工件一般尺寸較大,所以其加工所需支撐單元的數(shù)量也較多,TORRESMIL系統(tǒng)獨(dú)立驅(qū)動(dòng)的支撐桿數(shù)量就達(dá)90個(gè)[3]??梢?,這種方案不僅結(jié)構(gòu)十分復(fù)雜,設(shè)計(jì)、制造、驅(qū)動(dòng)和控制的難度大,而且成本很高,難以滿足國(guó)內(nèi)航空航天制造企業(yè)的實(shí)際需求。為此,清華大學(xué)進(jìn)行了飛行器柔性工藝裝備的研究,提出了一種采用機(jī)器人協(xié)調(diào)操作技術(shù)來(lái)實(shí)現(xiàn)支撐單元X、Y坐標(biāo)定位的方案。該方案一方面省去了各個(gè)支撐單元X、Y方向的獨(dú)立驅(qū)動(dòng)控制,大大降低了成本;另一方面沒有了單個(gè)支撐單元所需X、Y方向驅(qū)動(dòng)控制單元,減輕了整個(gè)數(shù)控系統(tǒng)的負(fù)擔(dān),也節(jié)省了其所需占據(jù)的空間,有利于支撐陣列的優(yōu)化分布。本文在對(duì)飛行器柔性工藝裝備結(jié)構(gòu)分析的基礎(chǔ)上,對(duì)雙機(jī)器人同步運(yùn)動(dòng)控制以及雙機(jī)器人避碰問(wèn)題進(jìn)行了詳細(xì)分析和研究。
本文所涉及的飛行器柔性工藝裝備主要由基座、導(dǎo)軌、動(dòng)梁、支撐單元、機(jī)器人以及控制系統(tǒng)等組成,其結(jié)構(gòu)示意圖如圖1所示。其中,機(jī)器人可沿機(jī)床導(dǎo)軌做X方向整體平移,其機(jī)械臂可旋轉(zhuǎn)90°至水平方向,并沿Y向作伸縮運(yùn)動(dòng);動(dòng)梁支承在基座光滑水平面上,可沿X方向(導(dǎo)軌方向)平移,由雙機(jī)器人協(xié)同操縱,以實(shí)現(xiàn)支撐單元的X向定位;支撐單元安裝在動(dòng)梁上,可沿Y方向(與導(dǎo)軌垂直方向)平移,由機(jī)器人機(jī)械手操縱,以實(shí)現(xiàn)其Y向定位;支撐單元可在內(nèi)置電動(dòng)機(jī)驅(qū)動(dòng)下做上下伸縮運(yùn)動(dòng),以實(shí)現(xiàn)支撐點(diǎn)的Z向定位。同時(shí),支撐單元末端安裝有萬(wàn)向真空吸頭,可根據(jù)工件曲面形狀自適應(yīng)吸附工件表面以實(shí)現(xiàn)工件定位和支承。
單臺(tái)機(jī)器人的機(jī)械結(jié)構(gòu),如圖2所示。機(jī)器人由大小機(jī)械臂、手掌、導(dǎo)軌滑鞍、行走齒輪、鎖緊機(jī)械手、對(duì)接機(jī)械手及控制器等組成[4]。導(dǎo)軌滑鞍嵌套于機(jī)床精密導(dǎo)軌上,對(duì)機(jī)器人進(jìn)行導(dǎo)向;行走齒輪與安裝在機(jī)床上的齒條構(gòu)成齒輪齒條副,在行走電動(dòng)機(jī)的驅(qū)動(dòng)下,帶動(dòng)機(jī)器人沿導(dǎo)軌方向行走;機(jī)器人大臂安裝在機(jī)器人左側(cè),可來(lái)回?cái)[動(dòng);機(jī)械人小臂安裝在機(jī)器人大臂上,可作伸縮運(yùn)動(dòng),其前端和后端各安裝1個(gè)機(jī)械指;機(jī)器人手掌安裝在小臂中部,其上亦有1個(gè)機(jī)械指,由絲杠螺母副驅(qū)動(dòng),可左右移動(dòng),與小臂前后端的機(jī)械指聯(lián)合以?shī)A取支撐單元;鎖緊機(jī)械手安裝在機(jī)器人內(nèi)側(cè)面,工作時(shí)伸出,用來(lái)將動(dòng)梁鎖緊在機(jī)床基座上;對(duì)接機(jī)械手安裝在鎖緊機(jī)械手上方,工作時(shí)伸出與動(dòng)梁上的對(duì)接機(jī)構(gòu)結(jié)合,用來(lái)實(shí)現(xiàn)雙機(jī)械人和動(dòng)梁之間的對(duì)接。
在實(shí)際工作中,雙機(jī)器人首先回機(jī)床原點(diǎn),以確定機(jī)床坐標(biāo)系;然后,兩臺(tái)機(jī)器人沿機(jī)床導(dǎo)軌作同步運(yùn)動(dòng),尋找1號(hào)動(dòng)梁。尋到后,兩臺(tái)機(jī)器人同時(shí)伸出對(duì)接機(jī)械手,與動(dòng)梁對(duì)接(動(dòng)梁上有對(duì)接機(jī)構(gòu))以抓住動(dòng)梁;接著,兩臺(tái)機(jī)器人作同步運(yùn)動(dòng),拖動(dòng)動(dòng)梁將其移動(dòng)到預(yù)定的X坐標(biāo)位置上;最后,機(jī)器人伸出鎖緊機(jī)械手,將動(dòng)梁鎖緊在基座光滑床面上,這樣便完成了1號(hào)動(dòng)梁的X向定位工作。接下來(lái),雙機(jī)器人開始對(duì)1號(hào)動(dòng)梁上6個(gè)支撐單元進(jìn)行Y向定位操作,兩臺(tái)機(jī)器人分別負(fù)責(zé)操縱處于各自一側(cè)的3個(gè)支撐單元。首先,機(jī)器人將大臂旋轉(zhuǎn)90°,將其置于水平位置;然后,伸出小機(jī)械臂,通過(guò)安裝在機(jī)器人手掌以及小臂前端上的傳感器尋位支撐單元;尋到后,機(jī)器人伸出安裝在手掌以及小臂上的機(jī)械指(由支撐單元號(hào)決定伸出哪個(gè)機(jī)械指),手掌移動(dòng)以?shī)A住支撐單元;最后,小臂移動(dòng)以將支撐單元移動(dòng)到預(yù)定的Y坐標(biāo)位置上。依次,雙機(jī)器人的機(jī)械手逐個(gè)完成動(dòng)梁上共6個(gè)支撐單元的Y向定位。此時(shí),機(jī)器人便完成了一個(gè)動(dòng)梁上共6個(gè)支撐單元的X向和Y向定位。以此類推,機(jī)器人依次完成8排共48個(gè)支撐單元的X、Y向定位操作。
由以上對(duì)機(jī)器人工作原理的分析不難發(fā)現(xiàn),對(duì)工作對(duì)象——?jiǎng)恿汉椭螁卧牟僮鞫夹枰獌膳_(tái)機(jī)器人進(jìn)行協(xié)調(diào)合作來(lái)完成。因此,為實(shí)現(xiàn)這種合作行為,雙機(jī)器人協(xié)作系統(tǒng)必須依賴于某種體系結(jié)構(gòu),這種結(jié)構(gòu)定義了整個(gè)系統(tǒng)內(nèi)兩臺(tái)機(jī)器人之間的相互關(guān)系和功能分配。
目前,雙機(jī)器人控制系統(tǒng)的體系結(jié)構(gòu)主要有3類:集中控制、分散控制和集散控制[5]。集中控制,即在雙機(jī)器人系統(tǒng)中用一臺(tái)控制器同時(shí)控制兩臺(tái)機(jī)器人。在這種控制結(jié)構(gòu)中,可以將雙機(jī)器人看作一個(gè)系統(tǒng),對(duì)各個(gè)關(guān)節(jié)的運(yùn)動(dòng)進(jìn)行統(tǒng)一規(guī)劃、集中控制,這要求主CPU有足夠強(qiáng)的計(jì)算能力,以應(yīng)付大量的在線計(jì)算。但是這種結(jié)構(gòu)形成的系統(tǒng)具有較強(qiáng)的剛性,缺乏靈活性,并且當(dāng)機(jī)器人數(shù)量增多時(shí)會(huì)造成計(jì)算上的瓶頸。分散控制,指系統(tǒng)中的各臺(tái)機(jī)器人可以并行完成各自的子任務(wù),并利用通訊實(shí)現(xiàn)相互之間的信息交流。其具有較大的靈活性和可擴(kuò)展性,能實(shí)現(xiàn)同步操作和并行處理。但該控制結(jié)構(gòu)在執(zhí)行需要協(xié)調(diào)程度較高的任務(wù)時(shí)(如共同搬運(yùn)一個(gè)剛體且保持其姿態(tài)不變),由于機(jī)器人通訊之間的延時(shí),分散控制很難完成。集散控制是指先對(duì)機(jī)器人系統(tǒng)進(jìn)行集中規(guī)劃、管理,然后再分散處理、控制和執(zhí)行。它同時(shí)具有集中控制和分散控制的優(yōu)點(diǎn),解決了分散控制對(duì)“緊協(xié)調(diào)”的滯后和集中控制的瓶頸問(wèn)題。因此,本文采用集散控制方式作為雙機(jī)器人控制系統(tǒng)的體系結(jié)構(gòu)。如圖3所示。雙機(jī)器人的路徑規(guī)劃由上位PC機(jī)統(tǒng)一管理,它們之間的協(xié)調(diào)控制由決策控制器進(jìn)行統(tǒng)一調(diào)度,而機(jī)器人實(shí)際的運(yùn)動(dòng)控制則由雙機(jī)器人控制器獨(dú)立執(zhí)行。
由以上分析可知,雙機(jī)器人的協(xié)調(diào)操作技術(shù)主要包括對(duì)雙機(jī)器人同步運(yùn)動(dòng)控制以及雙機(jī)器人避碰問(wèn)題的研究。由圖1可知,載有支撐單元的動(dòng)梁是嵌套在機(jī)床基座上的,所以對(duì)動(dòng)梁的水平移動(dòng)必須保證雙機(jī)器人有很高的同步運(yùn)動(dòng)精度,否則便會(huì)對(duì)機(jī)器人本身、動(dòng)梁以及機(jī)床基座都造成損害。另外,雙機(jī)器人的兩個(gè)手臂的工作區(qū)域存在重疊區(qū),為防止在工作過(guò)程中,兩者的手臂發(fā)生碰撞,則必須設(shè)計(jì)可靠的避碰算法。
目前對(duì)運(yùn)動(dòng)同步控制算法的研究有很多,其中最典型的主要有主令控制、主從控制、交叉耦合控制和虛擬總軸控制[6]。
主令控制是指各運(yùn)動(dòng)機(jī)構(gòu)共享一個(gè)控制信號(hào),各自根據(jù)控制信號(hào)進(jìn)行獨(dú)立閉環(huán)控制,相互之間沒有耦合。其雖能夠保證各運(yùn)動(dòng)機(jī)構(gòu)對(duì)控制信號(hào)的跟蹤性,但當(dāng)各運(yùn)動(dòng)機(jī)構(gòu)負(fù)載不同或遇到不同擾動(dòng)時(shí),系統(tǒng)的同步性將會(huì)受到較大影響;主從控制確立了兩個(gè)運(yùn)動(dòng)機(jī)構(gòu)之間的主從關(guān)系,以主運(yùn)動(dòng)機(jī)構(gòu)的速度輸出作為從運(yùn)動(dòng)機(jī)構(gòu)的速度給定,使從運(yùn)動(dòng)機(jī)構(gòu)精確地跟蹤主運(yùn)動(dòng)機(jī)構(gòu),但當(dāng)從運(yùn)動(dòng)機(jī)構(gòu)出現(xiàn)負(fù)載突變或速度跳變時(shí),主運(yùn)動(dòng)機(jī)構(gòu)由于沒有從運(yùn)動(dòng)機(jī)構(gòu)的任何反饋,因而會(huì)造成兩者間的不同步;虛擬總軸控制由機(jī)械總軸技術(shù)發(fā)展而來(lái),其具有與機(jī)械總軸相似的同步性能,但在載荷發(fā)生變化(如啟動(dòng)、制動(dòng))時(shí),兩運(yùn)動(dòng)機(jī)構(gòu)的位置存在恒定偏差,不易消除。交叉耦合控制能夠克服其他幾種控制策略存在的缺點(diǎn),在保證兩個(gè)運(yùn)動(dòng)機(jī)構(gòu)對(duì)控制信號(hào)的跟蹤性的同時(shí),將兩運(yùn)動(dòng)機(jī)構(gòu)的耦合同步誤差通過(guò)耦合控制算法分別引入到兩者的控制器中,在控制器中附加針對(duì)同步誤差的補(bǔ)償控制作用[7],從而即使某一個(gè)運(yùn)動(dòng)機(jī)構(gòu)出現(xiàn)負(fù)載突變或速度跳變,系統(tǒng)依然能保持良好的同步性。因此,本文采用交叉耦合控制原理設(shè)計(jì)同步控制算法,以實(shí)現(xiàn)雙機(jī)器人的運(yùn)動(dòng)同步。雙機(jī)器人同步控制器結(jié)構(gòu)如圖4所示。
當(dāng)雙機(jī)器人同時(shí)工作完成對(duì)支撐單元的移動(dòng)時(shí),由于雙機(jī)器人手臂位于支撐單元的同一側(cè),工作空間存在重疊,如不對(duì)其工作路徑或工作時(shí)間進(jìn)行合理規(guī)劃,難免會(huì)出現(xiàn)兩機(jī)械臂相撞的情況。而對(duì)雙機(jī)器人機(jī)械手運(yùn)動(dòng)過(guò)程的詳細(xì)分析可知,由于兩臺(tái)機(jī)器人分別負(fù)責(zé)同一個(gè)動(dòng)梁上處于各自一側(cè)的3個(gè)支撐單元的移動(dòng),所以雙機(jī)器人手臂的重疊工作區(qū)域?yàn)閯?dòng)梁上中間兩個(gè)支撐單元之間的區(qū)域,而在機(jī)器人操縱靠近它的兩個(gè)支撐單元時(shí)不會(huì)發(fā)生與另一臺(tái)機(jī)器人的碰撞問(wèn)題。
實(shí)現(xiàn)雙機(jī)器人之間避碰的方法有很多,主要可以分為兩類:時(shí)間調(diào)整法和路徑修正法[8]。前者是指在保證預(yù)先規(guī)劃路徑不變的前提下,通過(guò)調(diào)整系統(tǒng)運(yùn)行過(guò)程中速度的分布來(lái)實(shí)現(xiàn)避碰的;后者指當(dāng)檢測(cè)到碰撞即將發(fā)生時(shí),通過(guò)修改其預(yù)先規(guī)劃的路徑,使其繞開障礙達(dá)到避碰的目的??紤]到本系統(tǒng)中雙機(jī)器人手臂行走的路徑不可更改,本文采用時(shí)間調(diào)整法來(lái)實(shí)現(xiàn)雙機(jī)器人避碰。
對(duì)A機(jī)器人來(lái)說(shuō),與B機(jī)器人發(fā)生運(yùn)動(dòng)交涉的可能情形,如圖5所示。雙機(jī)器人手臂在移動(dòng)過(guò)程中實(shí)時(shí)將各自位置、速度以及運(yùn)動(dòng)方向信息等發(fā)送給決策控制器以及對(duì)方機(jī)器人。本機(jī)器人獲得對(duì)方機(jī)器人當(dāng)前位置、速度以及其他必要的相關(guān)信息。對(duì)于圖5中所示的兩種情形,雙機(jī)器人避碰的具體算法為:
對(duì)于圖5a所示的情形,兩機(jī)器人機(jī)械手作相向運(yùn)動(dòng),則可能存在兩種情況:
①B機(jī)器人機(jī)械手處于尋位支撐單元過(guò)程中,若A機(jī)器人也處于尋位支撐單元過(guò)程,則A機(jī)器人獲取B機(jī)器人機(jī)械手運(yùn)動(dòng)狀態(tài)后,立即停止運(yùn)動(dòng),等待B機(jī)器人完成尋位支撐單元?jiǎng)幼鞑㈤_始往回移動(dòng)時(shí),A機(jī)械手才繼續(xù)往前移動(dòng),繼續(xù)尋位支撐單元;若A機(jī)器人處于移動(dòng)支撐單元狀態(tài),則繼續(xù)完成其移動(dòng)動(dòng)作;
②B機(jī)器人機(jī)械手正在移動(dòng)支撐單元,若A機(jī)器人處于尋位支撐單元過(guò)程,而B機(jī)器人移動(dòng)的支撐單元Y坐標(biāo)小于A機(jī)器人機(jī)械手末端Y坐標(biāo),則A機(jī)器人機(jī)械手應(yīng)停止往前運(yùn)動(dòng),轉(zhuǎn)而往回移動(dòng)直至坐標(biāo)小于支撐單元坐標(biāo);否則A機(jī)器人機(jī)械手停止運(yùn)動(dòng),等待B機(jī)器人移動(dòng)完畢并開始往回移動(dòng)時(shí),再繼續(xù)尋位支撐單元;若A機(jī)器人也處于移動(dòng)支撐單元過(guò)程,則繼續(xù)完成其移動(dòng)動(dòng)作。
對(duì)于圖5b所示的情形,兩臺(tái)機(jī)器人作同向移動(dòng),若A機(jī)器人機(jī)械手運(yùn)動(dòng)速度大于B機(jī)器人機(jī)械手運(yùn)動(dòng)速度,則A機(jī)器人機(jī)械手應(yīng)減速運(yùn)動(dòng),使其速度小于B機(jī)器人機(jī)械手速度,以防止與B機(jī)器人機(jī)械手發(fā)生“追尾”。
飛行器柔性工藝裝備的實(shí)物圖如圖6所示。該裝備在Zimermann FZ37五軸數(shù)控銑床上進(jìn)行了加工試驗(yàn)。
本工裝共有8排動(dòng)梁,不妨將1~8排的動(dòng)梁號(hào)分別標(biāo)記為A~H;每排動(dòng)梁上有6個(gè)支撐單元,則動(dòng)梁上的支撐單元號(hào)分別標(biāo)記為A(n)~H(n)(n=1,…,6)。表1和表2記錄了某一次實(shí)驗(yàn)中8排動(dòng)梁的X軸定位誤差以及其中兩排上支撐單元Y軸定位誤差。
表1 8排動(dòng)梁的X軸理論坐標(biāo)值與實(shí)際坐標(biāo)值對(duì)比表(mm)
表2 B和C兩排伸縮單元的Y軸、Z軸理論坐標(biāo)值和實(shí)際坐標(biāo)值對(duì)比表 (mm)
由表1和表2可以發(fā)現(xiàn),采用交叉耦合控制算法保證了雙機(jī)器人精確同步運(yùn)動(dòng),實(shí)現(xiàn)了較高的動(dòng)梁定位精度。
飛行器工藝裝備是飛行器制造工程中的重要環(huán)節(jié),設(shè)計(jì)與研發(fā)數(shù)字化柔性工裝技術(shù)對(duì)于提高飛行器制造質(zhì)量、縮短飛行器研制周期以及降低生產(chǎn)成本具有重大意義。本文提出了一種飛行器柔性工裝的機(jī)器人協(xié)調(diào)操作技術(shù),通過(guò)機(jī)器人的協(xié)同工作實(shí)現(xiàn)柔性工裝上支撐陣列的X、Y軸定位,從而精簡(jiǎn)了飛行器柔性工裝的整體機(jī)械結(jié)構(gòu)和電氣結(jié)構(gòu),節(jié)約了生產(chǎn)成本。對(duì)于雙機(jī)器人同步運(yùn)動(dòng)控制,本文引入了交叉耦合控制算法;對(duì)于雙機(jī)器人碰撞問(wèn)題,本文提出了通過(guò)調(diào)整速度分布來(lái)實(shí)現(xiàn)避碰的算法。實(shí)驗(yàn)表明,采用以上算法能實(shí)現(xiàn)雙機(jī)器人精確運(yùn)動(dòng)同步,保證支撐陣列的準(zhǔn)確X、Y向定位,同時(shí)使系統(tǒng)穩(wěn)定可靠運(yùn)行,很好地滿足了實(shí)際加工要求。
[1]CAN manufacturing systems.CAN flexible tooling system[EB/OL].[2010 -3 -15].http://www.cnaflextool.com/cnaflextool/.
[2]Mtorres Group.Torrestool flexible tooling system[EB/OL].[2010-3- 15].http://www.mtorres.com/defaut.asp?id=22&menu=02&idmenu=2.
[3]丁韜.TORRESMILL和TORRESTOOL系統(tǒng)蒙皮切邊鉆銑床及柔性?shī)A具裝置[J].航空制造技術(shù),2007(2):108-109.
[4]周凱,錢琪,門延武.機(jī)器人化智能工裝系統(tǒng)[P].中國(guó):101269466.2008-09-24.
[5]曲道奎,談大龍,等.雙機(jī)器人協(xié)調(diào)控制系統(tǒng)[J].機(jī)器人,1991(3):6-11.
[6]楊晨娜,張怡.雙電機(jī)同步控制系統(tǒng)的設(shè)計(jì)與仿真[J].工業(yè)控制計(jì)算機(jī),2009(1):36-37.
[7]陳棟良.多火炮伺服系統(tǒng)交叉耦合同步控制及仿真研究[D].大連:大連理工大學(xué),2006.
[8]孟慶鑫,李平,等.多機(jī)器人協(xié)作技術(shù)分析及其實(shí)驗(yàn)系統(tǒng)設(shè)計(jì)[J].制造業(yè)自動(dòng)化,2004(11):43-47.