王 君,曾順麒,汪 泉,姜榮俊
(湖北工業(yè)大學(xué)現(xiàn)代制造質(zhì)量工程湖北省重點(diǎn)實(shí)驗(yàn)室,湖北 武漢 430068)
“中國制造2025”的提出,工業(yè)機(jī)器人被更加普遍的使用于工業(yè)之中。例如焊接,食品加工,汽車制造等。使用工業(yè)機(jī)器人可以提高工業(yè)生產(chǎn)中的自動化,減少人力成本,也同時(shí)降低了加工過程出錯(cuò)概率,對于經(jīng)濟(jì)效益和產(chǎn)品質(zhì)量的提升尤為明顯。而工業(yè)機(jī)器人的核心在于軌跡規(guī)劃。軌跡規(guī)劃的優(yōu)劣對加工過程是否平順,生產(chǎn)是否高效和是否具有經(jīng)濟(jì)效益有很高的影響[1-3]。軌跡規(guī)劃需要結(jié)合實(shí)際工況和工業(yè)機(jī)器人自身參數(shù)進(jìn)行合理的設(shè)計(jì)。設(shè)計(jì)軌跡規(guī)劃的方法有許多,文獻(xiàn)[4]提出了使用s曲線加減速與直線和圓弧插補(bǔ)結(jié)合的算法來進(jìn)行軌跡規(guī)劃,有效的解決了加工過程中啟動和停止時(shí)產(chǎn)生的沖擊,并提升加工精度。文獻(xiàn)[5]提出了基于涂料最小厚度約束的軌跡規(guī)劃,最終可以機(jī)器人噴漆達(dá)到滿足最小噴涂厚度的工藝要求。文獻(xiàn)[6]提出利用深度學(xué)習(xí)算法來構(gòu)建軌跡規(guī)劃,實(shí)驗(yàn)表明此算法下的軌跡與標(biāo)準(zhǔn)路徑幾乎重合,同時(shí)解決了傳統(tǒng)系統(tǒng)中存在的精確度和智能程度不足的問題。文獻(xiàn)[7]用五次多項(xiàng)式算法進(jìn)行軌跡規(guī)劃,此算法保證軌跡的擬合度高,提高了運(yùn)動的平順性和精準(zhǔn)度。文獻(xiàn)[8]利用LM算法構(gòu)建軌跡規(guī)劃,同時(shí)結(jié)合逆運(yùn)動學(xué)保證了角速度和加速度的擁有平滑的曲線,兩者結(jié)合可以得到穩(wěn)定且平順的運(yùn)動曲線。文獻(xiàn)[9]提出通過改進(jìn)的粒子群算法,結(jié)合連續(xù)高次Bezier曲線,提出了一種新的移動機(jī)器人軌跡徑規(guī)劃策略。改進(jìn)的粒子群算法來解決局部捕獲和過早收斂的問題,同時(shí)引入一種自適應(yīng)分?jǐn)?shù)階速度,根據(jù)粒子群的進(jìn)化狀態(tài)對其施加一定的干擾,從而提高了粒子群跳出局部極小值的能力。文獻(xiàn)[10]提出一種基于振動誤差的混合機(jī)床軌跡規(guī)劃方法,整個(gè)軌跡的振動誤差均值和波動?;贗sight平臺,進(jìn)行敏感性分析。此外,分別推導(dǎo)了采用3-4-5多項(xiàng)式和b樣條時(shí)的最優(yōu)軌跡。
這里研究的是激光打孔的軌跡規(guī)劃,將整個(gè)加工過程分為兩個(gè)階段,第一階段是打孔,第二階段是進(jìn)給。打孔階段的軌跡規(guī)劃采用3D 打印的分層原則;將進(jìn)給階段的軌跡規(guī)劃模型轉(zhuǎn)為TSP 模型,利用最小圓生成算法將其分為小區(qū)域TSP 和大區(qū)域TSP模型,小區(qū)域TSP模型利用遺傳算法進(jìn)行求解,并通過暴力窮舉法進(jìn)行模型優(yōu)化。大區(qū)域TSP模型求解和優(yōu)化可以分解為多個(gè)小區(qū)域TSP模型求解和優(yōu)化的累積。
現(xiàn)代加工技術(shù)只需將代加工的工件的三維模型轉(zhuǎn)換為STL文件則能夠得到此工件的任意一點(diǎn)的位姿。選取STL文件的原因在于其在機(jī)械工程領(lǐng)域的普遍應(yīng)用。使用此STL文件能夠建立需要加工工件的點(diǎn)云模型[11]。代加工的工件的為需要打孔的曲面工件,如圖1所示。加工過程使用工業(yè)機(jī)器人完成,則在進(jìn)行打孔的軌跡規(guī)劃中最重要的是獲取軌跡,因?yàn)檫@里選取的是曲面零件,所以該零件上的孔大多數(shù)是通孔。圓柱體在坐標(biāo)系中的約束方程則為式(1),如圖2所示。激光家具的位姿是Ttoal(此位姿可由激光夾具的尺寸結(jié)構(gòu)得出),若想要得到該柱體內(nèi)某一點(diǎn)的坐標(biāo)(xi,yi,zi)可由下式(2)表示。
圖1 待加工工件Fig.1 Workpiece to be Machined
圖2 圓柱體所在的坐標(biāo)系Fig.2 The Coordinate System where the Cylinder is Located
式中:r—圓柱的半徑。
因?yàn)榧庸ち慵乔媪慵浔砻娌煌狞c(diǎn)的曲率是不同的,那么進(jìn)行零件加工時(shí)的軌跡不會是一個(gè)圓柱,為了簡化模型有利于分析這里只獲取圓柱的外輪廓。為了方便分析將世界坐標(biāo)變化成角坐標(biāo)(θ,z)由式(3)表示。
在構(gòu)建軌跡規(guī)劃模型時(shí),可以借鑒CNC的加工模型,將整個(gè)過程分為兩個(gè)階段,第一階段是打孔,第二階段是進(jìn)給。在第一階段中重要的是對于需要加工孔的軌跡規(guī)劃,但是由于工業(yè)機(jī)器人的尺寸大小遠(yuǎn)超于所需加工孔的尺寸大小,所以在加工過程中就是對工業(yè)機(jī)器人的運(yùn)動的規(guī)劃;而在第二階段則是對于需要加工的每個(gè)孔之間的軌跡進(jìn)行規(guī)劃。但是工作區(qū)域的限制,若想增加工作效率,就要在加工孔的次序和滑臺能夠移動的范圍建立理想的軌跡規(guī)劃。
若想增加激光打孔加工的效率,激光的焦點(diǎn)應(yīng)該跟隨加工進(jìn)程逐漸向孔中深入。在加工過程中運(yùn)用3d 打印原理中分層打印,則激光打孔使用分層加工,那根據(jù)孔的角坐標(biāo)(θ,z),將每層的深度定為z。但在激光加工中,其加工零件時(shí)間和加工零件厚度成正相關(guān)關(guān)系,為了進(jìn)一步提高效率,就需要對需要加工打孔的各個(gè)點(diǎn)的進(jìn)給的深度進(jìn)行改進(jìn)。
在進(jìn)行改進(jìn)細(xì)化的過程里,需要讓各個(gè)點(diǎn)的進(jìn)給深度和其總深度有正比關(guān)系。式(4)則表示的是確定最大層數(shù)。因?yàn)樵诩庸r(shí),進(jìn)行加工的每一層的旋轉(zhuǎn)方向保持不變,則單孔的軌跡,如圖3所示。下圖一部分表示的是所需加工孔的上下范圍,一部分表示的是層與層間的軌跡變化,另一部分表示的是完成插補(bǔ)的軌跡規(guī)劃。
圖3 孔加工的軌跡規(guī)劃Fig.3 Trajectory Planning for Hole Machining
式中:zθ—角度θ的厚度;t—每一次激光能夠移動的最遠(yuǎn)距離激光每次最大許可移動。
此階段中是利用工業(yè)機(jī)器人和所安裝的滑臺搜尋出可以通過所有需要加工的孔的起止點(diǎn)的最短路徑的模型,即TSP模型。因?yàn)楣I(yè)機(jī)器人所運(yùn)轉(zhuǎn)的區(qū)域中包含沒有推薦的部分,所以在此模型里構(gòu)建軌跡規(guī)劃的對象是該工業(yè)機(jī)器人的終端點(diǎn)。并使用羅德里格旋轉(zhuǎn)公式來確定零件的位置,通過式(5)來表示工業(yè)機(jī)器人的終端位姿。
式中:Τrobot—末端執(zhí)行器相相較其安裝中心的位姿;
Trans—移動矩陣;
Rot(x,θ)—圍繞X軸的旋轉(zhuǎn)矩陣;
Τtool—激光原點(diǎn)相較機(jī)器人的原點(diǎn)的位姿;
Τdis—激光焦點(diǎn)末端相較激光原點(diǎn)的位姿。
因?yàn)檠芯康氖撬惴ǖ倪m用程度,則這里選擇的是大批量加工孔的模型,則在此模型下需要選擇大型的TSP,這種大型的TSP常常運(yùn)用遺傳算法、神經(jīng)網(wǎng)絡(luò)算法和粒子群這一系列的算法來求解[12-13]。根據(jù)這些常用的算法來相互比較,其中的遺傳算法可以避免求出目標(biāo)函數(shù)的偏導(dǎo)還能得到全局最優(yōu)解。因?yàn)楣I(yè)機(jī)器人的關(guān)節(jié)有活動界限,所以以有無滑臺協(xié)助可以分為兩種,分別是需要協(xié)助的大區(qū)域TSP 和不需要協(xié)助的小區(qū)域TSP,兩者的不同在于對于目標(biāo)函數(shù)的選擇不同,目標(biāo)函數(shù)分別是滑臺和工業(yè)機(jī)器人的最少移動量。此外這兩者也能使用最小生成圓算法進(jìn)行區(qū)別。
因?yàn)楣I(yè)機(jī)器人的所允許的能夠加工的范圍遠(yuǎn)大于需要加工的孔的深度,基于此種情況可以將這些需要加工的孔作為目標(biāo)點(diǎn)映射到二維空間平面上,所以此模型可以化簡為:對基于離散點(diǎn)的平面最小包絡(luò)圓的求解,可以依據(jù)包絡(luò)圓是否落在工業(yè)機(jī)器人的約束區(qū)域內(nèi)來區(qū)分大小區(qū)域TSP模型,若不在圓內(nèi)即是大區(qū)域模型,相反就為小區(qū)域模型,最小圓生成算法的運(yùn)行的流程,如圖4所示。
圖4 運(yùn)行流程Fig.4 Running the Process
遺傳算法是一種模擬生物進(jìn)化自然選擇過程的非確定性搜索方法,算法中的變量是利用進(jìn)化論中的自然選擇的原理來獲取每一個(gè)變量的最優(yōu)解。這里加工每一個(gè)孔的次序就是此遺傳算法中的變量。遺傳算法的具體流程,如圖5所示。
圖5 遺傳算法流程Fig.5 Genetic Algorithm Flow
3.4.1 編碼
將所需加工孔全部編碼成染色體集合其中包括GiGj…GwGk,其中的Gm表示的是第m個(gè)孔需要被加工,Gm包含pm和qm,這2個(gè)分別表示的是第m個(gè)孔的起止點(diǎn)。該染色體表示孔的加工順序?yàn)閕j...wk,每個(gè)個(gè)體有且僅有一條染色體。該模型孔加工的次序,分別表示的是第m個(gè)孔起止點(diǎn)的坐標(biāo),如表1所示。
表1 TSP模型加工順序Tab.1 Processing Sequence of TSP Model
3.4.2 適應(yīng)度
式(6)表示的是適應(yīng)度f的公式:
式中:dm(m+1)—孔間距離;N—增益系數(shù),N僅僅影響適應(yīng)度的數(shù)量級,不影響求解結(jié)果。
為了求出工業(yè)機(jī)器人的所在的原點(diǎn)的世界坐標(biāo),可以使用最小圓生成法來求解,其z軸坐標(biāo)可以選取這些需要加工的孔中最大的z軸坐標(biāo)。
3.4.3 遺傳算法的選擇操作
選擇操作就是用來確定如何從父代群體中按某種方法選取哪些個(gè)體作為父待,在此選擇操作選取比例選擇法[15]來確定父代,因?yàn)樾枰姆较蚴钦?,所以需要保存最佳適應(yīng)度的樣本。則遺傳算法具體的選擇過程分為下面四步:
(1)對種群樣本中所有個(gè)體進(jìn)行計(jì)算其適應(yīng)度。
(2)挑選且保留種群樣本中最佳適應(yīng)度值的個(gè)體。
(3)對整個(gè)種群樣本中的適應(yīng)度進(jìn)行統(tǒng)計(jì),并構(gòu)建其分布函數(shù),同時(shí)歸一化
(4)在[0,1]里任意挑選M-1個(gè)隨機(jī)數(shù),依據(jù)第(3)步的分布函數(shù)和產(chǎn)生的M-1個(gè)隨機(jī)數(shù)確定相同數(shù)量的樣本個(gè)體,遺傳算法中所需要的父代就是這些確定的個(gè)體。
在此操作中分布函數(shù)中各個(gè)個(gè)體適應(yīng)度的帶寬與其適應(yīng)度的值成正相關(guān)關(guān)系,帶寬大則選擇的概率就高。
3.4.4 遺傳算法的交叉和變異
在遺傳算法中交叉算子作為主要算子是因?yàn)槠渚哂腥炙阉髂芰?,而變異因子作為輔佐是因?yàn)樗哂芯植克阉髂芰?。但是交叉和變異結(jié)合起來可以達(dá)到兼顧全局和局部的搜索能力。
交叉指的是在種群樣本中選取父母個(gè)體,在這些父母個(gè)體中選擇兩個(gè)來產(chǎn)生一個(gè)或者兩個(gè)子代。
具體過程分為以下四步:
(1)在[0,1]之間隨機(jī)得到一個(gè)數(shù)i,假如i大于規(guī)定的交叉數(shù)值,則開始交叉操作。
(2)隨機(jī)選擇一對染色體(父代)中幾個(gè)基因,位置可不連續(xù),但兩染色體被選位置相同。
(3)先在母代中找到父代被選中基因的位置,再用母代中其余的基因生成子代,并保證位置對應(yīng)。
(4)將父代中被選擇的基因按順序放入子代剩余位置中,同理,交換父母代可得到另一個(gè)子代(被選擇基因的位置不變)。
交叉操作以后產(chǎn)生的新的子代個(gè)體,可能存在幾率產(chǎn)生變異。但是為了確保種群樣本的變異是朝正向,則此變異算法只對于非最佳的個(gè)體,那么具體過程分為以下三步:
(1)在[0,1]之間隨機(jī)得到一個(gè)數(shù)i,假如i大于規(guī)定的變異數(shù)值,則開始變異操作
(2)重復(fù)交叉操作中的第二道第四步
(3)產(chǎn)生的子代將父代的染色體進(jìn)行復(fù)制,子代將染色體中被交叉的基因進(jìn)行倒序。如果適應(yīng)度到達(dá)最大失敗次數(shù)或變異是正向的,那么可以結(jié)束操作,如果不是,需要返回第二步繼續(xù)循環(huán)。
3.4.5 小區(qū)域TSP模型的優(yōu)化
依據(jù)工業(yè)機(jī)器人加工的范圍可知它并不是一個(gè)完整的球,且在此非完整的球面上存在不推薦的部分,所以將這些含有最少點(diǎn)數(shù)不推薦部分進(jìn)行優(yōu)化。對此優(yōu)化使用暴力窮舉法,暴力窮舉法,如圖6所示。下圖中最外側(cè)的圓表示的是機(jī)器人允許加工的最大圓;中間的其中的一個(gè)圓是利用最遠(yuǎn)點(diǎn)優(yōu)先漸進(jìn)算法得到的最小圓;陰影圓表示的需要搜索的部分。
圖6 暴力窮舉法Fig.6 Violent Exhaustion Method
遺傳算法對大區(qū)域的模型的求解與小區(qū)域的區(qū)別在于適應(yīng)度的求解不同,假如相鄰兩個(gè)圓柱都處于同一工業(yè)機(jī)器人的范圍中,那么相鄰兩個(gè)圓柱的dn(n+1)的值是0,反之相鄰的在不同的工業(yè)機(jī)器人的工作范圍中,則dn(n+1)為兩個(gè)孔工業(yè)機(jī)器人原點(diǎn)間曼爾頓距離。可以使用遍歷的思路,如圖7所示??梢詫⑵浞譃槿舾蓚€(gè)圓柱來求解,為了降低使用遺傳算法的時(shí)間復(fù)雜性,則將工業(yè)機(jī)器人的原點(diǎn)和圓住的圓心坐標(biāo)重合。則dn(n+1)表示的是各個(gè)圓柱的曼爾頓距離,再根據(jù)此求解適應(yīng)度。同時(shí)大區(qū)域的TSP模型可以分解為多個(gè)小區(qū)域的TSP模型進(jìn)行求解與優(yōu)化。
圖7 圓柱位置算法Fig.7 Cylindrical Position Algorithm
這里根據(jù)軌跡規(guī)劃的求解總共使用了3種方法分別是:最小生成圓法,遺傳算法和暴力窮舉法,則實(shí)驗(yàn)也可以根據(jù)上面的三種方法進(jìn)行。依據(jù)最小圓生成法,如圖8所示。觀察圖能夠看出此方法可以準(zhǔn)確得出對象的最小保羅圓。但是對于需要加工孔的尺寸和深度小于工件的大小導(dǎo)致圖中起止點(diǎn)差不多重合。下圖的模型能夠使用基于遺傳算法的小區(qū)域tsp模型求解。
對工業(yè)機(jī)器人的原點(diǎn)進(jìn)行優(yōu)化使用暴力窮舉法,優(yōu)化過后的成果圖,如圖9所示。下圖中每種顏色表示的是不推薦部分包含孔的數(shù)量。并且圖中藏青色部分的縱坐標(biāo)是0,可以將此部分中隨機(jī)一個(gè)點(diǎn)設(shè)置為工業(yè)機(jī)器人原點(diǎn)。觀察圖9同時(shí)能夠得出因?yàn)閷ο笙鄬Ψ稚?dǎo)致分布非常無規(guī)律。所以需要使用暴力窮舉法來進(jìn)行優(yōu)化。加工過程的軌跡圖,如圖10所示。下圖中包含的點(diǎn)表示的是需要被加工的圓柱的起止點(diǎn)。一種色虛線圓表示的是工業(yè)機(jī)器人不建議的加工部分,一種色的虛線圓表示的是最小包諾圓,另一種色虛線圓表示的是能夠進(jìn)行加工的范圍。
圖9 原點(diǎn)位置確定Fig.9 Origin Position Determination
圖10 加工的軌跡規(guī)劃圖Fig.10 Trajectory Planning Diagram of Machining
將已經(jīng)進(jìn)行仿真的成果圖比較常規(guī)的行切法,如圖11所示。下圖中一種色的折線段表示的是常規(guī)行切法的加工軌跡,另一種色為遺傳算法得到的軌跡,通過比較得到以遺傳算法得到的軌跡的路程是常規(guī)軌跡的0.38。這樣可以得出依據(jù)遺傳算法得到的軌跡規(guī)劃效果較好,同時(shí)也非常高的提升加工的效率。
圖11 軌跡對比圖Fig.11 Trajectory Comparison Diagram
為了驗(yàn)證大區(qū)域模型使用此算法求解是否合理,把圖8的工件增大一倍,得到的軌跡成果圖,如圖12所示。從圖中可以得出大區(qū)域的遺傳算法也可以非常好的得出加工軌跡。
圖12 大區(qū)域模型軌跡Fig.12 Model Trajectories of Large Regions
(1)打孔階段依照3D打印的分層加工原則,得到的軌跡規(guī)劃相對較好。
(2)利用最小圓生成算法得出進(jìn)給階段的軌跡規(guī)劃模型為小區(qū)域TSP模型,基于遺傳算法的進(jìn)給階段的軌跡規(guī)劃相比于傳統(tǒng)行切法的軌跡規(guī)劃總路程大大縮短。將小區(qū)域模型中的工件增大一倍后得到大區(qū)域模型也能得到較優(yōu)的軌跡規(guī)劃路徑。說明利用遺傳算法求解的軌跡規(guī)劃適用范圍廣,效果好。