唐俊杰,晏紫琦,徐敬彭,蔡敢為
(廣西大學(xué)機(jī)械工程學(xué)院, 廣西南寧530004)
由于加工誤差、裝配不合理以及實(shí)際工作中磨損等因素的客觀存在,運(yùn)動(dòng)副間隙對(duì)精度的影響不容忽視。近年來(lái),國(guó)內(nèi)外學(xué)者致力于研究運(yùn)動(dòng)副間隙對(duì)機(jī)構(gòu)精度的影響。在間隙誤差分析方面,Venanzi等[1]采用虛功原理對(duì)運(yùn)動(dòng)副間隙誤差進(jìn)行分析;Tsai等[2]在此基礎(chǔ)上研究了運(yùn)動(dòng)副間隙對(duì)機(jī)械傳動(dòng)的影響;張義民等[3]結(jié)合虛功原理和優(yōu)化技術(shù),提出一種分析平面機(jī)構(gòu)誤差的數(shù)值計(jì)算方法。在間隙誤差補(bǔ)償方面,沈江等[4]采用加逆模前饋的PID控制對(duì)含間隙曲柄滑塊機(jī)構(gòu)進(jìn)行誤差補(bǔ)償;張憲民等[5]對(duì)3-RRR并聯(lián)機(jī)器人進(jìn)行誤差標(biāo)定進(jìn)而在機(jī)構(gòu)逆運(yùn)動(dòng)學(xué)中進(jìn)行識(shí)別補(bǔ)償;謝平等[6]以及余躍慶等[7]均通過(guò)優(yōu)化算法對(duì)并聯(lián)機(jī)器人進(jìn)行優(yōu)化補(bǔ)償。以上研究均能較好的提高機(jī)器人的定位精度,但是在研究過(guò)程中,較少考慮運(yùn)動(dòng)副間隙誤差產(chǎn)生的原因和變化的規(guī)律,同時(shí)也未能將所研究的理論運(yùn)用于工程實(shí)踐。
傳統(tǒng)串聯(lián)式碼垛機(jī)器人需將旋轉(zhuǎn)電機(jī)安裝在關(guān)節(jié)處,不僅會(huì)增大機(jī)械臂的轉(zhuǎn)動(dòng)慣量,積累關(guān)節(jié)誤差,還會(huì)導(dǎo)致末端執(zhí)行器發(fā)生振動(dòng),嚴(yán)重影響工作精度[8]。本文基于串聯(lián)式機(jī)器人的局限性,將可控式機(jī)構(gòu)[9]和并聯(lián)機(jī)構(gòu)的理念融合,以增大承載能力、提高工作精度為目的[10],設(shè)計(jì)出一種可控式碼垛機(jī)器人,根據(jù)碼垛機(jī)器人實(shí)際工況,選擇兩處受力變換頻繁的關(guān)節(jié)采用連續(xù)接觸模型[11]對(duì)運(yùn)動(dòng)副間隙引起的精度誤差進(jìn)行分析,利用改進(jìn)的粒子群算法優(yōu)化驅(qū)動(dòng)桿位移參數(shù),進(jìn)而達(dá)到誤差補(bǔ)償?shù)哪康摹?/p>
本文所設(shè)計(jì)的碼垛機(jī)器人底座與地面固定,由電機(jī)驅(qū)動(dòng)旋轉(zhuǎn)機(jī)架繞底座法向方向轉(zhuǎn)動(dòng),其中大臂2的轉(zhuǎn)角由電推缸4控制,小臂3的轉(zhuǎn)角由電推缸4、6耦合控制。機(jī)架1、大臂2、平衡桿5和三角架7以及小臂3、三角架7、平衡桿8和平動(dòng)保持架9組成兩個(gè)平行四邊形結(jié)構(gòu),用以增加機(jī)構(gòu)穩(wěn)定性、提高承載能力和保持輸出末端水平。裝夾電機(jī)安裝在末端執(zhí)行裝置上,主要用于控制抓手的閉合與張開(kāi)。碼垛機(jī)器人的機(jī)構(gòu)簡(jiǎn)圖如圖1所示。
將碼垛機(jī)器人除旋轉(zhuǎn)機(jī)架和末端執(zhí)行裝置以外的部分視為其主構(gòu)型,則主構(gòu)型是由四個(gè)互有聯(lián)系的基本模塊組成。其中大臂升降模塊L1是由機(jī)架1、大臂2和電推缸4組成,通過(guò)調(diào)控電推缸4的伸縮長(zhǎng)度進(jìn)而控制大臂2旋轉(zhuǎn)的角度;小臂調(diào)整模塊L2是由大臂2、小臂3和電推缸6組成,小臂3旋轉(zhuǎn)的角度是由大臂2的旋轉(zhuǎn)角度以及電推缸6的伸縮長(zhǎng)度聯(lián)合控制;模塊L3、L4均為平行四邊形結(jié)構(gòu),碼垛機(jī)器人的環(huán)路模塊示意圖如圖2所示。
圖1 碼垛機(jī)器人機(jī)構(gòu)簡(jiǎn)圖
Fig.1 Schematic diagram of palletizing robot
圖2 碼垛機(jī)器人環(huán)路模塊圖
Fig.2 Modular diagram of palletizing robot
可控碼垛機(jī)器人采用轉(zhuǎn)動(dòng)副實(shí)現(xiàn)運(yùn)動(dòng)傳遞和能量轉(zhuǎn)換,但受限于加工制造、裝配精度以及長(zhǎng)期工作加劇運(yùn)動(dòng)副磨損等因素的影響,不可避免會(huì)存在運(yùn)動(dòng)副間隙。本文所設(shè)計(jì)的新型碼垛機(jī)器人在工作過(guò)程中,C、F處桿端力的大小和方向變化頻繁,需著重考慮這兩處的轉(zhuǎn)動(dòng)副間隙對(duì)機(jī)構(gòu)運(yùn)動(dòng)精度的影響。
圖3 運(yùn)動(dòng)副間隙模型Fig.3 Model of joint clearance
建立如圖3所示的運(yùn)動(dòng)副間隙模型。設(shè)轉(zhuǎn)動(dòng)副的孔和軸均為標(biāo)準(zhǔn)圓,半徑分別是RB和RJ,在不考慮間隙時(shí),桿件a的理想長(zhǎng)度為l,理想角位移為θ;考慮運(yùn)動(dòng)副間隙時(shí),桿件a的實(shí)際長(zhǎng)度為l′,實(shí)際角位移為θ′。其中r是O到O′之間的長(zhǎng)度,表示為誤差圓的半徑。桿長(zhǎng)和角位移的變化引起系統(tǒng)的結(jié)構(gòu)誤差,進(jìn)而使得末端偏離理想位置,根據(jù)圖中所示,理想狀況下的桿長(zhǎng)和轉(zhuǎn)角以及實(shí)際狀況下的桿長(zhǎng)和轉(zhuǎn)角之間存在如下關(guān)系:
(1)
(2)
根據(jù)本文所研究的可控碼垛機(jī)器人的實(shí)際工作軌跡,可將運(yùn)動(dòng)副間隙模型視為連續(xù)接觸模型,視運(yùn)動(dòng)副間隙為一定長(zhǎng)無(wú)質(zhì)量的連桿。根據(jù)誤差模型可知:
r=RB-RJ,
(3)
φ∈[0,2π]。
(4)
根據(jù)前文所劃分的模塊,以大臂升降模塊(記為模塊Ⅰ)和小臂調(diào)整模塊(記為模塊Ⅱ)為基礎(chǔ),分別對(duì)理想模型和考慮運(yùn)動(dòng)副間隙的實(shí)際模型進(jìn)行分析,推導(dǎo)理論軌跡和實(shí)際軌跡之間的偏差。
在理想狀態(tài)下(圖4),記lBC長(zhǎng)度為l1,大臂旋轉(zhuǎn)角度和電推缸4的旋轉(zhuǎn)角度分別為φ1和φ2;考慮運(yùn)動(dòng)副間隙時(shí)(圖5),記lBC長(zhǎng)度為l1′,其中l(wèi)1′=l1+Δl1,大臂旋轉(zhuǎn)角度和電推缸4的旋轉(zhuǎn)角度分別為φ1′和φ2′,則有:
圖4 理想狀態(tài)下的模塊Ⅰ
Fig.4 Modular Ⅰ without clearance
圖5 含間隙狀態(tài)下的模塊Ⅰ
Fig.5 Modular Ⅰ with clearance
(5)
(6)
(7)
(8)
在該運(yùn)動(dòng)副間隙模型下銷(xiāo)軸與套筒內(nèi)壁連續(xù)接觸,則lCC′的長(zhǎng)度為定值,表示為:
((l1+Δl1)cosφ2′-l1cosφ2)2+((l1+Δl1)sinφ2′-l1sinφ2)2=(RB-RJ)2,
(9)
其中:
RJ-RB≤Δl1≤RB-RJ。
(10)
在理想狀態(tài)下(圖6),記lEF長(zhǎng)度為l2,小臂旋轉(zhuǎn)角度和電推缸5的旋轉(zhuǎn)角度分別為φ4和φ3;考慮運(yùn)動(dòng)副間隙時(shí)(圖7),lEF長(zhǎng)度為l2′,其中l(wèi)2′=l2+Δl2,小臂旋轉(zhuǎn)角度和電推缸5的旋轉(zhuǎn)角度分別為φ4″和φ3″,則有:
圖6 理想狀態(tài)下的模塊Ⅱ
Fig.6 Modular Ⅱ without clearance
圖7 實(shí)際狀態(tài)下的模塊Ⅱ
Fig.7 Modular Ⅱ with clearance
(11)
(12)
(13)
(14)
考慮到在連續(xù)接觸模型[10]下銷(xiāo)軸與套筒內(nèi)壁始終接觸,則lF′F″的長(zhǎng)度為定值,表示為:
((l2+Δl2)cos(φ3″+Δφ1)-l2cos(φ3′+Δφ1))2+
((l2+Δl2)sin(φ3″+Δφ1)-l2sin(φ3′+Δφ1))2=(RB-RJ)2,
(15)
其中:
RJ-RB≤Δl2≤RB-RJ,
(16)
Δφ1=φ1′-φ1。
(17)
由碼垛機(jī)器人機(jī)構(gòu)簡(jiǎn)圖可知,H點(diǎn)與平動(dòng)保持架相連。本文選取平動(dòng)保持架的中點(diǎn)位置為參考點(diǎn),對(duì)由運(yùn)動(dòng)副間隙引起的結(jié)構(gòu)誤差進(jìn)行分析,該點(diǎn)的軌跡(x,y)表示為:
(18)
其中d表示為水平方向上H點(diǎn)與參考點(diǎn)之間的距離。
理想狀態(tài)下,參考點(diǎn)的軌跡表示為:
(19)
考慮運(yùn)動(dòng)副間隙的狀態(tài)下,參考點(diǎn)的軌跡表示為:
(20)
記Δx=x′-x、Δy=y′-y,分別表示某一時(shí)刻理想軌跡與實(shí)際軌跡在x、y方向上的差值。
粒子群算法是基于生物種群行為實(shí)現(xiàn)優(yōu)化的一種智能算法。使用粒子群算法進(jìn)行優(yōu)化,需初始化若干無(wú)質(zhì)量無(wú)體積的粒子,將每個(gè)粒子視為一個(gè)優(yōu)化的可行性方案,通過(guò)設(shè)定區(qū)間以保證粒子的運(yùn)動(dòng)范圍,設(shè)定適應(yīng)度函數(shù)判定粒子的優(yōu)劣[12]。通過(guò)模擬生物種群行為,粒子將通過(guò)繼承先前運(yùn)動(dòng)、思考下一步?jīng)Q策以及與其他粒子共享信息等方法追隨當(dāng)前最優(yōu)粒子,逐步迭代進(jìn)而得到最優(yōu)解。每次迭代過(guò)程中,粒子均跟隨自身找尋到的最優(yōu)解以及種群找尋到最優(yōu)解兩個(gè)極值。因而該算法無(wú)交叉、變異運(yùn)算,搜索速度快,結(jié)構(gòu)簡(jiǎn)單,優(yōu)化效果較好。但由于未能對(duì)速度進(jìn)行動(dòng)態(tài)調(diào)節(jié),容易陷入局部尋優(yōu)而降低收斂精度,此外需要考慮參數(shù)控制來(lái)實(shí)現(xiàn)最優(yōu)效果。
標(biāo)準(zhǔn)PSO算法表示為:
(21)
其中ω為慣性因子,用以確定搜索類(lèi)型:若ω取較大值,適用于全局尋優(yōu),若ω取較小值,有利于局部搜索;c1、c2為學(xué)習(xí)因子且二者均大于零,反映為粒子群間的信息共享與交流;xij、vij分別表示為粒子i的位置和速度;pij、pgj分別為粒子i的個(gè)體最優(yōu)位置和群體最優(yōu)位置;r1、r2分別為分布于[0,1]之間的隨機(jī)數(shù)。
針對(duì)上文所分析粒子群算法的不足,本文引進(jìn)線性遞減的權(quán)重因子,以實(shí)現(xiàn)在迭代初期加強(qiáng)全局尋優(yōu),在迭代后期專(zhuān)注局部尋優(yōu)的效果,進(jìn)而規(guī)避其容易陷入局部尋優(yōu),導(dǎo)致精度差的缺點(diǎn)。
(22)
其中ωs、ωf分別為起始、終止時(shí)刻的慣性因子,tmax為最大迭代步數(shù)。
在進(jìn)行計(jì)算時(shí),每個(gè)粒子均需要重新完成完整的PSO算法尋優(yōu),計(jì)算周期長(zhǎng),優(yōu)化周期多,優(yōu)化過(guò)程中粒子陷入局部最優(yōu)的概率也隨之增大。因此,為提高計(jì)算效率,提升求解精度,此處引入壓縮因子γ[13],代入式(21)中可得:
vij(t+1)=γ·[ωvij(t)+c1r1[pij(t)-xij(t)]+c2r2[pgj(t)-xij(t)]],
(23)
其中:
(24)
根據(jù)以上分析,本文引入一種標(biāo)準(zhǔn)PSO算法和三種改進(jìn)的PSO算法進(jìn)行迭代計(jì)算,四種算法的各項(xiàng)參數(shù)如表1所示:
表1 PSO優(yōu)化算法參數(shù)Tab.1 Parameters of PSO algorithms
本節(jié)基于前文所分析的精度誤差,利用改進(jìn)的PSO算法對(duì)可控碼垛機(jī)器人由運(yùn)動(dòng)副間隙所引起的誤差進(jìn)行補(bǔ)償。根據(jù)式(5)~式(20),定義末端參考點(diǎn)的位移偏差為適應(yīng)度函數(shù):
(25)
可控碼垛機(jī)器人結(jié)構(gòu)參數(shù)如表2所示:
表2 可控碼垛機(jī)器人機(jī)構(gòu)參數(shù)1Tab.2 Mechanical parameters table of palletizing robot
注1:lABx、lABy分別為lAB在x、y方向上投影的長(zhǎng)度。
參考點(diǎn)的位姿誤差是由機(jī)構(gòu)名義結(jié)構(gòu)誤差、驅(qū)動(dòng)桿輸出誤差以及運(yùn)動(dòng)副間隙誤差所引起的實(shí)際結(jié)構(gòu)誤差共同作用,是一個(gè)多輸入、多變量、強(qiáng)耦合的非線性方程,因此很難通過(guò)解析計(jì)算求得最優(yōu)解,故將其轉(zhuǎn)換為優(yōu)化問(wèn)題。定義dli=Δli+δli,其中δli稱(chēng)為驅(qū)動(dòng)桿位移參數(shù),本節(jié)對(duì)δli進(jìn)行優(yōu)化,通過(guò)減小Δφ1′和Δφ4″,達(dá)到補(bǔ)償間隙誤差的目的。
本文所研究的主構(gòu)型是由電推缸4、6進(jìn)行驅(qū)動(dòng),可視其長(zhǎng)度為變量。因此定義驅(qū)動(dòng)函數(shù)為:
(26)
將式(26)代入式(5)~式(25)中,運(yùn)動(dòng)副間隙補(bǔ)償?shù)牧鞒倘缦拢?/p>
圖8 位姿誤差適應(yīng)度曲線Fig.8 Fitness curves of position error
①根據(jù)前文分析的間隙誤差模型,確定理論軌跡、理論結(jié)構(gòu)參數(shù)以及考慮運(yùn)動(dòng)副間隙的誤差結(jié)構(gòu)參數(shù);
②將理論軌跡、理論結(jié)構(gòu)參數(shù)和誤差結(jié)構(gòu)參數(shù)代入到粒子群優(yōu)化算法中,通過(guò)迭代降低適應(yīng)度值直至滿足終止條件;
③將優(yōu)化后的驅(qū)動(dòng)函數(shù)輸入到模型中,計(jì)算出實(shí)時(shí)末端實(shí)際軌跡;
④重復(fù)①~③,最終完成誤差補(bǔ)償。
根據(jù)以上分析,繪制位姿誤差隨迭代次數(shù)增加而變化的適應(yīng)度曲線如圖8所示:
由圖8所示,兩種壓縮因子的粒子群算法收斂速度較快,遞減權(quán)重壓縮因子的粒子群算法收斂性能最佳,本文利用該算法對(duì)運(yùn)動(dòng)副間隙引起的誤差進(jìn)行補(bǔ)償。
以遞減權(quán)重壓縮因子的粒子群算法進(jìn)行優(yōu)化時(shí),繪制的x,y方向參考點(diǎn)軌跡曲線對(duì)比圖。
圖9x方向軌跡曲線對(duì)比圖
Fig.9 Comparison of trajectorycurves along thex-axis
圖10y方向軌跡曲線對(duì)比圖
Fig.10 Comparison of trajectorycurves along they-axis
利用MATLAB編程對(duì)曲線數(shù)據(jù)進(jìn)行處理,結(jié)果如表3所示:
表3 誤差補(bǔ)償表Tab.3 Error compensation table
由表3可知,設(shè)定初始位置Δl1=Δl2=0.000 1 m,采用遞減權(quán)重壓縮因子的粒子群算法對(duì)驅(qū)動(dòng)桿位移參數(shù)進(jìn)行優(yōu)化,x軸方向補(bǔ)償率為90.27 %,y軸方向補(bǔ)償率為80.45 %,能達(dá)到較好的優(yōu)化效果。采用該方法再加上控制系統(tǒng)調(diào)控,可降低由運(yùn)動(dòng)副間隙所引起的位姿誤差,有效地提高了機(jī)構(gòu)精度可靠性。
本文將可控式機(jī)構(gòu)與并聯(lián)機(jī)構(gòu)的理念結(jié)合,以提高承載能力和工作精度為目的,設(shè)計(jì)出一種新型可控式碼垛機(jī)器人,以該機(jī)器人的主結(jié)構(gòu)為研究對(duì)象,建立運(yùn)動(dòng)副誤差模型。分析由運(yùn)動(dòng)副間隙引起的結(jié)構(gòu)誤差,結(jié)合碼垛機(jī)器人實(shí)際工況,選取兩處桿端力大小和方向變化頻繁的關(guān)節(jié),視其孔軸之間為一定長(zhǎng)無(wú)質(zhì)量連桿進(jìn)行優(yōu)化分析。分別對(duì)理想模型和含間隙模型進(jìn)行計(jì)算,推導(dǎo)其末端參考點(diǎn)沿x、y軸方向的軌跡方程,二者相減即為軌跡誤差。對(duì)該誤差進(jìn)行優(yōu)化,通過(guò)遞減權(quán)重和壓縮因子兩種方法對(duì)標(biāo)準(zhǔn)PSO算法進(jìn)行改進(jìn),以達(dá)到降低適應(yīng)度值的效果。利用文中改進(jìn)的PSO算法優(yōu)化驅(qū)動(dòng)桿位移參數(shù),設(shè)定初始位置進(jìn)行仿真,通過(guò)仿真迭代可得,在x軸方向的補(bǔ)償率達(dá)到90.27 %,在y軸方向的補(bǔ)償率達(dá)到80.45 %,結(jié)果表明采用該方法可降低由運(yùn)動(dòng)副間隙引起的結(jié)構(gòu)誤差,進(jìn)而有效地提高工作精度和效率。