夏恩帥,張永貴,劉永平,牛 蓉
(蘭州理工大學(xué)機(jī)電工程學(xué)院,甘肅 蘭州 730050)
近年來,六自由度機(jī)器人由于其具有操作的機(jī)動(dòng)性和靈活性,以及能夠代替人類從事一些單調(diào)、繁重的工作,越來越受到各方的重視[1]。
六自由度切削機(jī)器人動(dòng)力學(xué)建模,采用牛頓-歐拉法可以得到效率很高的模型遞歸方程,非常適合數(shù)值計(jì)算,計(jì)算復(fù)雜程度也相對(duì)較低[2]。本文以六自由度串聯(lián)切削機(jī)器人為研究對(duì)象,首先運(yùn)用SolidWorks軟件建立其三維模型,獲得切削機(jī)器人的動(dòng)力學(xué)參數(shù);然后以牛頓-歐拉法為理論方法建立切削機(jī)器人的動(dòng)力學(xué)方程,同時(shí)分析切削機(jī)器人的工作空間,確定任務(wù)空間和機(jī)器人基坐標(biāo)系的相對(duì)位置[3];最后通過遺傳算法得到切削機(jī)器人的最佳位姿。本文的研究成果可為六自由度串聯(lián)切削機(jī)器人的動(dòng)力學(xué)研究奠定理論基礎(chǔ)。
運(yùn)用SolidWorks軟件建立的六自由度串聯(lián)切削機(jī)器人三維模型如圖1所示。
對(duì)圖1所示的切削機(jī)器人,采用后置D-H法建立其連桿坐標(biāo)系[4],如圖2所示,切削機(jī)器人的D-H參數(shù)見表1。
圖1 六自由度串聯(lián)機(jī)器人三維模型
表1 六自由度串聯(lián)切削機(jī)器人的D-H參數(shù)
(1)
(2)
通過MATLAB中機(jī)器人工具箱的link等函數(shù),計(jì)算θ1,θ2,θ3,θ4,θ5,θ6均為0時(shí)末端執(zhí)行器在機(jī)座坐標(biāo)系中的位姿,從而得到式(3),機(jī)器人的MATLAB模型如圖3所示。
圖3 機(jī)器人MATLAB三維仿真模型
(3)
為更好地了解機(jī)器人運(yùn)動(dòng)過程中各關(guān)節(jié)的速度、加速度和關(guān)節(jié)力矩等參數(shù),通過建立機(jī)器人動(dòng)力學(xué)模型來分析研究機(jī)器人的動(dòng)力學(xué)特征[5]。本文運(yùn)用牛頓-歐拉法建立六自由度串聯(lián)切削機(jī)器人的動(dòng)力學(xué)模型,其力平衡方程(Newton方程)和力矩平衡方程(Euler方程)如式(4)所示:
(4)
式中:fci為作用在桿件i上的外力合矢量;nci為作用在桿件i上的外力矩合矢量;mi,vci,aci,ωi,εi分別為桿件i質(zhì)心的質(zhì)量、線速度、線加速度矢量、角速度和角加速度;Ici為桿件的慣性張量;t為時(shí)間。對(duì)于桿件i則有以下的公式:
(5)
(6)
(7)
六自由度切削機(jī)器人的工作空間如圖4所示,圖4是根據(jù)六自由度切削機(jī)器人的相關(guān)參數(shù)通過MATLAB仿真得到的,圖中的點(diǎn)為機(jī)器人末端執(zhí)行器駐留過的痕跡點(diǎn),總點(diǎn)數(shù)N=30 000。切削機(jī)器人各個(gè)關(guān)節(jié)的轉(zhuǎn)角范圍是:θ1=[-180°,180°],θ2=[-90°,135°],θ3=[-160°,280°],θ4=[-360°,360°],θ5=[-125°,125°],θ6=[-360°,360]。
圖4 機(jī)器人工作空間
根據(jù)六自由度串聯(lián)切削機(jī)器人的各桿件參數(shù)和MATLAB仿真模擬得到的機(jī)器人工作空間示意圖可以知道,機(jī)器人工作空間上下邊界之間的最大距離為3 547 mm,左右邊界之間的最大距離為3 802 mm。
對(duì)于切削機(jī)器人來講,銑刀安裝在機(jī)器人執(zhí)行器末端。根據(jù)切削機(jī)器人切削加工時(shí)的工藝要求,銑刀工作的空間為一個(gè)二維平面,因此切削加工時(shí)銑刀垂直于工件表面,并保持此姿態(tài)按照給定的運(yùn)動(dòng)規(guī)律來完成對(duì)工件表面的切削[6]。本文以一個(gè)長(zhǎng)1.0 m、寬1.0 m、高0.3 m的長(zhǎng)方體的表面作為被切削工件表面為例,機(jī)器人任務(wù)空間如圖5所示,機(jī)器人機(jī)座坐標(biāo)系為Σ0,工件坐標(biāo)系為ΣW,機(jī)器人末端銑刀的附體坐標(biāo)系為ΣQ,上述幾個(gè)坐標(biāo)系的變換關(guān)系如式(8)所示:
圖5 切削任務(wù)示意圖
(8)
根據(jù)式(8)可以將該任務(wù)空間轉(zhuǎn)換到在機(jī)器人的機(jī)座坐標(biāo)系中,并可求解各任務(wù)點(diǎn)對(duì)應(yīng)的關(guān)節(jié)位置。其任務(wù)空間表達(dá)式為:
(9)
圖6為工作空間與任務(wù)空間的X-Y面和X-Z面輪廓,圖6(a)中的實(shí)心方塊為被切削工件的X-Y面,圖6(b)中的實(shí)心圖形為被切削工件的X-Z面,取(xw,yw,zw)=(0.5,-0.5,-0.2)。由圖6可知,任務(wù)空間完全在工作空間內(nèi),被切削件的加工表面全部處于六自由度切削機(jī)器人的工作空間內(nèi)。
圖6 機(jī)器人工作空間與任務(wù)空間
切削機(jī)器人在其工作空間內(nèi)進(jìn)行切削加工時(shí),切削加工任務(wù)空間在機(jī)器人工作空間處于什么樣的位姿,會(huì)影響到機(jī)器人的工作狀態(tài)[7]。只有機(jī)器人自己先達(dá)到一個(gè)“舒服”的姿態(tài),才可以更好地去完成任務(wù)。這個(gè)“舒服”的姿態(tài)指的就是機(jī)器人末端銑刀在任務(wù)空間工作時(shí)在達(dá)到所要求的位姿、速度、加速度的同時(shí),機(jī)器人每個(gè)關(guān)節(jié)的驅(qū)動(dòng)力矩τi的和∑|τi|(i=1,2,…,6)為最小。
圖7為切削機(jī)器人末端銑刀在工件表面工作的示意圖。被切削工件表面為邊長(zhǎng)1 m的正方形,本文選用的銑刀外徑D=8 mm,在AD邊、BC邊各取100個(gè)點(diǎn)(圖7中a1,d1,a2,…;b1,c1,b2,…),每?jī)牲c(diǎn)之間相距10 mm,a1點(diǎn)距AB邊4 mm。以銑刀將要接觸而未實(shí)際碰觸工件表面時(shí)的位置點(diǎn)為起始點(diǎn),以銑刀完全離開工件表面時(shí)的位置點(diǎn)為終止點(diǎn),以此過程為一個(gè)單次的走刀軌跡(如a1—b1),之后銑刀從b1橫移到c1,進(jìn)行下一次走刀(c1—d1),如此往復(fù),按a1—b1—c1—d1—a2—b2…的軌跡順序走刀,直到銑刀從d50點(diǎn)完全離開,結(jié)束整個(gè)工件表面的銑削加工。
圖7 切削加工示意圖
在銑削時(shí),溫度、刀具材料、銑削液、齒輪進(jìn)給量、銑削力系數(shù)等都影響著銑刀工作時(shí)的銑削力。本文銑刀采用高速鋼,工件材料為灰鑄鐵,銑削力系數(shù)Cp=30,銑刀外徑D=8 mm,銑削深度為t1=6 mm,每齒進(jìn)給量Sz=0.4 mm/齒,銑刀齒數(shù)Z=4,銑刀寬度B=8 mm,銑削力F的計(jì)算公式為:
(10)
式中:PZ為銑削力,也是切向力。
由式(10)可以計(jì)算得到銑削力F=3 251 N,銑削時(shí)采用順銑。
一般pc取0.25~1.00,本文取0.80,變異概率pm=0.05,運(yùn)用兩人競(jìng)賽選擇法,每次隨機(jī)選擇得到兩個(gè)個(gè)體,從這兩個(gè)個(gè)體里選出適應(yīng)度值小的個(gè)體作為新種群的個(gè)體,一直到新種群被填滿為止。為了防止其結(jié)果出現(xiàn)收斂于局部最優(yōu)點(diǎn)的情況,每隔10代對(duì)種群重新進(jìn)行一次初始化,然后將前一代的最優(yōu)個(gè)體放到新的種群中,如果有更優(yōu)個(gè)體出現(xiàn),則前一個(gè)自然會(huì)被淘汰[11]。同時(shí)為保證最優(yōu)個(gè)體在選擇的過程中不被遺漏,采用精英模型將最優(yōu)個(gè)體保存。
在交叉和變異的過程中,利用交叉算子和變異算子對(duì)父代種群Pk0進(jìn)行作用,并通過與給定的交叉概率pc和變異概率pm比較來判定是選擇交叉還是選擇變異,若隨機(jī)數(shù)<0.8,則對(duì)父代進(jìn)行交叉操作,若小于pm,則進(jìn)行變異操作。在執(zhí)行交叉操作過程中使用算數(shù)交叉,選擇某一個(gè)體i,并用另一個(gè)選出的個(gè)體u與之交叉,交叉算子如式(11)和(12)所示:
pk+1(u,j)=pk0(u,j)ruj+pk0(i,j)(1-ruj)
(11)
pk+1(i,j)=pk0(i,j)rij+pk0(u,j)(1-rij)
(12)
式中:pk+1(i,j)為群體中第i個(gè)個(gè)體的第j位變量;pk0(·)為第k代群體中選擇出的要繼續(xù)繁殖的個(gè)體組成的父代;rij,ruj為隨機(jī)數(shù)。
對(duì)每一個(gè)體i的每一位取一個(gè)隨機(jī)數(shù),當(dāng)隨機(jī)數(shù)<0.05時(shí),采用非均勻變異對(duì)該位進(jìn)行變異操作,使用的變異算子pk(i,j)如下:
(13)
或
pk(i,j)=[Tb(j)-pk0(i,j)]×rx×(1-
(14)
式中:Tb(j)和Lb(j)為個(gè)體i第j位的上、下邊界;k和kmax分別為當(dāng)前代數(shù)和最大進(jìn)化代數(shù);隨機(jī)數(shù)rx決定了變異算子是采用式(13)還是式(14),其取值范圍為0~1,當(dāng)rx大于0.5時(shí),采用式(13),否則采用式(14),對(duì)每一個(gè)需要變異的個(gè)體,rx都要重新選取。
為保證被切削件整體處于機(jī)器人切削工作空間內(nèi),各個(gè)變量的取值區(qū)間分別為:xw∈[-1,1],yw∈[-1,-0.5],zw∈[-1,0]。經(jīng)過300代的優(yōu)化計(jì)算,得到優(yōu)化結(jié)果為:xw=0.521 5 m,yw=-0.468 9 m,zw=-0.256 8 m。需要指出的是,這個(gè)優(yōu)化結(jié)果中的(xw,yw,zw)是工件坐標(biāo)系相對(duì)于機(jī)器人機(jī)座坐標(biāo)系進(jìn)行平移后最優(yōu)的一個(gè)位姿矢量。為了工件安裝的方便,工件加工面與機(jī)器人基坐標(biāo)系X-Y面相平行。
采用上述遺傳算法進(jìn)行任務(wù)空間位姿優(yōu)化時(shí),為防止切削機(jī)器人末端執(zhí)行器在某一位置時(shí)雖所有關(guān)節(jié)力矩和最小,但其中某一個(gè)關(guān)節(jié)力矩超過允許力矩的情況發(fā)生,采取如下措施:當(dāng)前代最優(yōu)個(gè)體的函數(shù)值的絕對(duì)值大于設(shè)定值K時(shí),停止對(duì)遺傳種群的選擇操作、交叉操作和變異操作,此時(shí)以本代最優(yōu)個(gè)體Xa(j)為中心按隨機(jī)數(shù)r進(jìn)行隨機(jī)搜索,用算子p(i,j)重新初始化(initialize)種群:
(15)
此時(shí)以|f1,Xa|/n為搜索步長(zhǎng),計(jì)算每個(gè)個(gè)體的適應(yīng)度函數(shù)值f1,從而得到滿足條件的最優(yōu)個(gè)體。對(duì)每一個(gè)體取隨機(jī)數(shù)r,當(dāng)r≥0.5時(shí),式(15)取加號(hào)“+”,否則取減號(hào)“-”。當(dāng)f1大于等于設(shè)定值K時(shí),整個(gè)過程結(jié)束。
當(dāng)任務(wù)空間的坐標(biāo)系原點(diǎn)分別處于(x,y,z)=(0.5,-0.5,-0.2)點(diǎn)和(xw,yw,zw)=(0.521 5,-0.468 9,-0.256 8)點(diǎn)時(shí),以切削機(jī)器人的末端執(zhí)行器從初始位置到距離切削機(jī)器人基坐標(biāo)系最遠(yuǎn)端的b1點(diǎn)為一銑削過程,對(duì)比兩個(gè)過程中機(jī)器人各關(guān)節(jié)的力矩變化,如圖8所示。
六自由度切削機(jī)器人關(guān)節(jié)1,2,3的允許力矩分別為196 N·m、196 N·m和127 N·m,圖8中Torque01為任務(wù)空間基坐標(biāo)系原點(diǎn)在(x,y,z)=(0.5,-0.5,-0.2)點(diǎn)時(shí)的力矩變化曲線,Torque02為任務(wù)空間基坐標(biāo)系原點(diǎn)在(xw,yw,zw)=(0.521 5,-0.468 9,-0.256 8)點(diǎn)時(shí)的力矩變化曲線。由于篇幅有限且其余關(guān)節(jié)力矩較小,因此其余關(guān)節(jié)力矩變化曲線不再一一給出。由圖8中Torque01變化曲線可知,關(guān)節(jié)1,2,3的最大力矩分別為17.551 4 N·m、113.872 9 N·m、11.027 0 N·m;由Torque02變化曲線可知,關(guān)節(jié)1,2,3的最大力矩分別為8.733 4 N·m、79.496 3 N·m、10.152 8 N·m。由此可以知道關(guān)節(jié)1,2,3的最大力矩都未超出其允許力矩。
圖8 優(yōu)化前后關(guān)節(jié)驅(qū)動(dòng)力矩對(duì)比
通過對(duì)比可知,當(dāng)機(jī)器人末端執(zhí)行器到達(dá)b1點(diǎn)時(shí),優(yōu)化算法后關(guān)節(jié)1,2和3的最大力矩相較于任務(wù)空間在優(yōu)化前各減少8.818 0 N·m、34.403 6 N·m和0.874 2 N·m;從整個(gè)過程來看,工件坐標(biāo)系在優(yōu)化后的坐標(biāo)系上時(shí),機(jī)器人前3個(gè)關(guān)節(jié)的力矩都相對(duì)較小,由此可以看出,任務(wù)空間的基坐標(biāo)系在優(yōu)化后的坐標(biāo)上時(shí)切削機(jī)器人的動(dòng)力學(xué)性能更好。
以優(yōu)化結(jié)果(xw,yw,zw)=(0.521 5,-0.468 9,-0.256 8)為工件坐標(biāo)系原點(diǎn),銑刀沿y方向移動(dòng),切削點(diǎn)在工件坐標(biāo)系中從(-1,0,0)到(-1,1,0),在這個(gè)過程中,六自由度切削機(jī)器人關(guān)節(jié)角位移、關(guān)節(jié)角速度和角加速度的變化情況如圖9所示。
通過圖9(a)可以看出,各關(guān)節(jié)角位移曲線較為連續(xù),變化幅度較小。圖9(b)為關(guān)節(jié)角速度隨時(shí)間的變化曲線,曲線較平滑,沒有明顯拐點(diǎn)。圖9(c)為角加速度曲線,圖中反映出的各關(guān)節(jié)角加速度變化較為平穩(wěn)、連續(xù)。從圖中可以看出,最大的角速度出現(xiàn)在關(guān)節(jié)4上,其值為-49.049 2 (°)/s,最大的角加速度為關(guān)節(jié)6的-58.483 2(°)/s2。最大角速度小于切削機(jī)器人關(guān)節(jié)4允許的最大角速度250 (°)/s,滿足六自由度串聯(lián)切削機(jī)器人對(duì)各關(guān)節(jié)的角速度和角加速度要求。
本文在獲得六自由度切削機(jī)器人三維模型的基礎(chǔ)上建立了其動(dòng)力學(xué)模型,以各關(guān)節(jié)力矩和最小為目標(biāo)函數(shù),通過遺傳算法得到了任務(wù)空間相對(duì)于機(jī)器人基坐標(biāo)系的優(yōu)化位姿參數(shù)。仿真結(jié)果表明,任務(wù)空間在優(yōu)化后的坐標(biāo)系上時(shí),機(jī)器人各關(guān)節(jié)角位移、角速度和角加速度的曲線平穩(wěn)、連續(xù),末端執(zhí)行器在任務(wù)空間的最遠(yuǎn)端b1點(diǎn)時(shí)各關(guān)節(jié)力矩均較小,動(dòng)力學(xué)狀態(tài)較好,達(dá)到了任務(wù)空間動(dòng)力學(xué)優(yōu)化的目的。本文的計(jì)算過程適用于多自由度機(jī)器人優(yōu)化位姿的求解,也為多自由度切削機(jī)器人的動(dòng)力學(xué)研究提供了一種較好的優(yōu)化辦法。