卜 雷
(江漢大學(xué) 機(jī)電與建筑工程學(xué)院,武漢 430056)
機(jī)械臂具有負(fù)載大、能耗低、體積小的特點(diǎn),能夠完成維修、對(duì)接、焊接、噴涂、搬運(yùn)等作業(yè),在機(jī)械制造設(shè)備領(lǐng)域得到廣泛應(yīng)用,使得生產(chǎn)線制造精度和制造效率大幅提升。機(jī)械臂是由多根桿件連接組成,通過(guò)連桿結(jié)構(gòu)的操縱功能和移動(dòng)基座的移動(dòng)功能,使得機(jī)械臂具有很大的工作空間,但受摩擦、死區(qū)、飽和等因素影響,機(jī)械臂移動(dòng)穩(wěn)定性受到影響,因此,研究機(jī)械臂自動(dòng)化控制方法,改善機(jī)械臂動(dòng)態(tài)性能,提高機(jī)械臂對(duì)生產(chǎn)線環(huán)境的適應(yīng)性,具有重要意義[1]。
國(guó)外機(jī)械臂自動(dòng)化控制相關(guān)研究已取得較大進(jìn)展,通過(guò)機(jī)器視覺(jué),采集包含目標(biāo)點(diǎn)的像素圖像,將像素圖像作為輸入,通過(guò)人工神經(jīng)網(wǎng)絡(luò)的像素圖像自主學(xué)習(xí),完成模擬訓(xùn)練,并將學(xué)到的知識(shí)遷移至機(jī)械臂,獲得機(jī)械臂移動(dòng)狀態(tài)的位移值,使機(jī)械臂移動(dòng)狀態(tài)滿足阻尼變化需求,在工作空間內(nèi)跟蹤固定目標(biāo)或隨機(jī)目標(biāo)[2]。國(guó)內(nèi)機(jī)械臂自動(dòng)化控制相關(guān)研究同樣取得較大進(jìn)展,將攝像頭圖像傳輸至圖像處理模塊,利用圖像處理算法,識(shí)別圖像內(nèi)容,根據(jù)視覺(jué)反饋,把反饋信號(hào)作用在三維坐標(biāo)中,規(guī)劃?rùn)C(jī)械臂運(yùn)行軌跡,對(duì)機(jī)械臂進(jìn)行雙閉環(huán)控制或單閉環(huán)控制,預(yù)估各個(gè)時(shí)刻機(jī)械臂的關(guān)節(jié)姿態(tài)[3]。
但常規(guī)控制方法作用下,機(jī)械臂跟蹤期望軌跡的調(diào)節(jié)時(shí)間較長(zhǎng),跟蹤軌跡和期望軌跡的關(guān)節(jié)角度誤差較大,針對(duì)這一問(wèn)題,提出生產(chǎn)線機(jī)械制造設(shè)備機(jī)械臂自動(dòng)化控制方法,并通過(guò)對(duì)比實(shí)驗(yàn)進(jìn)行驗(yàn)證。
將機(jī)械臂視為桿件在空間內(nèi)組成的連桿結(jié)構(gòu),建立機(jī)械臂運(yùn)動(dòng)學(xué)模型,描述機(jī)械臂位置姿態(tài)。將基座、主動(dòng)臂、從動(dòng)臂、末端視為桿件,共5根桿件和4個(gè)關(guān)節(jié),分別描述一根桿件與兩端關(guān)節(jié)、兩根相鄰桿件與中間關(guān)節(jié)的關(guān)系,當(dāng)機(jī)械臂移動(dòng)時(shí),由基座關(guān)節(jié)角度確定4個(gè)關(guān)節(jié)處于的鉛垂面,在鉛垂面內(nèi)分析正運(yùn)動(dòng)學(xué),根據(jù)連桿結(jié)構(gòu)幾何關(guān)系和關(guān)節(jié)角度,解析機(jī)械臂正運(yùn)動(dòng)狀態(tài)。設(shè)桿件i的長(zhǎng)度為ai,i∈(1,4),分別表示基座、主動(dòng)臂、從動(dòng)臂、末端,桿件i的距離為bi、扭轉(zhuǎn)角為ci、與相鄰桿件之間的夾角為di,桿件i關(guān)節(jié)處的坐標(biāo)系為OiXiYiZi,計(jì)算4個(gè)關(guān)節(jié)坐標(biāo)系的原點(diǎn)函數(shù)O1、O2、O3、O4,公式為:
其中A為末端關(guān)節(jié)角度,大小為d4-c[4]。由末端坐標(biāo)系原點(diǎn)O4的縱坐標(biāo)和橫坐標(biāo),分別得到末端z軸坐標(biāo)Bz,以及基座和末端最短距離C,根據(jù)機(jī)械臂在基座坐標(biāo)系X1O1Z1平面的投影原理,可得末端x軸坐標(biāo)Bx和y軸坐標(biāo)By,表達(dá)式為:
由式(1)可知,原點(diǎn)O1、O2、O3、O4的函數(shù)變量都是關(guān)節(jié)角度di,根據(jù)關(guān)節(jié)角度變化范圍,確定末端工作空間。當(dāng)機(jī)械臂在生產(chǎn)線上作業(yè)時(shí),在末端固定攝像頭,定位作業(yè)目標(biāo)位置,作為末端期望到達(dá)的位置(Bx,By,Bz)。把(Bx,By,Bz)作為已知值,由式(1)和式(2),求解4個(gè)關(guān)節(jié)角度di,通過(guò)4根桿件關(guān)節(jié)角度的控制,改變末端坐標(biāo)(Bx,By,Bz),使機(jī)械臂垂直于二維平面的同時(shí),在二維平面上運(yùn)動(dòng),跟蹤作業(yè)目標(biāo)。至此完成機(jī)械臂運(yùn)動(dòng)學(xué)建模。
由運(yùn)動(dòng)學(xué)模型可知,將關(guān)節(jié)角度di作為控制機(jī)械臂運(yùn)動(dòng)狀態(tài)的輸入量,分析關(guān)節(jié)角度隨時(shí)間變化的關(guān)系,得到機(jī)械臂位置和姿態(tài)的集合,規(guī)劃?rùn)C(jī)械臂作業(yè)軌跡。將末端可移動(dòng)空間與工作路徑聯(lián)系起來(lái),給定機(jī)械臂作業(yè)任務(wù)的執(zhí)行時(shí)間,對(duì)時(shí)間進(jìn)行細(xì)化和離散,把不同時(shí)刻的4個(gè)關(guān)節(jié)位移值,擬合成一段曲線,通過(guò)擬合函數(shù),表示關(guān)節(jié)位移的時(shí)間變化規(guī)律,描述機(jī)械臂起始位置到終止位置的關(guān)節(jié)角度di變化。將機(jī)械臂運(yùn)動(dòng)軌跡劃分為三個(gè)階段,分別為運(yùn)動(dòng)起始、運(yùn)動(dòng)中間、運(yùn)動(dòng)終止,由軌跡函數(shù)可知,關(guān)節(jié)的角速度和角加速度分別為直線和拋物線,判斷運(yùn)動(dòng)起始和運(yùn)動(dòng)終止分別為加速階段和減速階段,關(guān)節(jié)軌跡為拋物線形,運(yùn)動(dòng)中間部分速度恒定,關(guān)節(jié)軌跡為直線。設(shè)起始部分拋物線轉(zhuǎn)移至直線的時(shí)間為t1,終止部分的拋物線時(shí)間與t1相等,計(jì)算t1時(shí)段內(nèi)的關(guān)節(jié)位移E1,公式為:
其中e0為關(guān)節(jié)起始位置,f為拋物線階段的角加速度。計(jì)算拋物線階段的角速度F1,公式為:
將起始拋物線階段最后時(shí)刻的速度,作為中間直線階段的關(guān)節(jié)角速度F2,公式為:
其中E2、t2分別為關(guān)節(jié)位移的中間位置、機(jī)械臂運(yùn)動(dòng)的中間時(shí)刻。中間位置和中間時(shí)刻應(yīng)滿足:
其中t0和t3分別為機(jī)械臂運(yùn)動(dòng)的起始時(shí)刻和終止時(shí)刻,E0和E3分別為關(guān)節(jié)軌跡的起始位置和終止位置。控制起始拋物線階段的角速度,與中間直線階段的角速度一致,保證拋物線軌跡與直線軌跡平滑連接,滿足條件為:
將E1、E2、t2代入式(7),整理后得到關(guān)節(jié)空間軌跡的規(guī)劃函數(shù)E(t),分段函數(shù)表達(dá)式為:
由式(8)可知,設(shè)定關(guān)節(jié)起始、中間、終止三個(gè)階段的運(yùn)動(dòng)時(shí)間后,通過(guò)關(guān)節(jié)加速度的控制,可以完成起始拋物線、中間位移、終止拋物線的關(guān)節(jié)運(yùn)動(dòng)軌跡。至此完成機(jī)械臂運(yùn)動(dòng)軌跡的規(guī)劃。
分析機(jī)械臂運(yùn)動(dòng)和受力之間的關(guān)系,利用運(yùn)動(dòng)控制處理器,控制機(jī)械臂的伺服電機(jī),從而控制關(guān)節(jié)的角速度F1、F2和加速度f(wàn),使機(jī)械臂達(dá)到預(yù)設(shè)軌跡的運(yùn)動(dòng)要求。運(yùn)動(dòng)控制處理器采用滑模變結(jié)構(gòu)控制,在滑模變結(jié)構(gòu)控制的同時(shí)引入PID規(guī)則,盡可能減小運(yùn)動(dòng)控制處理器的外界干擾。末端執(zhí)行軌跡數(shù)據(jù)集時(shí),會(huì)產(chǎn)生大量運(yùn)動(dòng)控制數(shù)據(jù)di,通過(guò)PID控制,線性組合控制數(shù)據(jù)di偏差的微分、積分、比例,構(gòu)成運(yùn)動(dòng)控制處理器的控制量。設(shè)關(guān)節(jié)角度di運(yùn)動(dòng)時(shí)刻的期望值和輸出值分別為D(t)和G(t),計(jì)算期望值和輸出值的差值,作為控制數(shù)據(jù)的偏差,PID反饋控制律為:
其中g(shù)為伺服電機(jī)施加給關(guān)節(jié)的控制力矩,分別作用于基座、主動(dòng)臂、從動(dòng)臂、末端4個(gè)關(guān)節(jié),H1、H2、H3分別為比例系數(shù)、積分系數(shù)、微分系數(shù)[5]。機(jī)械臂運(yùn)動(dòng)過(guò)程中,還會(huì)受到確定性和不確定性擾動(dòng)等擾動(dòng)力,使得外力作用于關(guān)節(jié),關(guān)節(jié)角速度F1、F2和角加速度f(wàn)受到影響,為此,還要對(duì)機(jī)械臂關(guān)節(jié)的驅(qū)動(dòng)力矩g進(jìn)行前饋補(bǔ)償。分別將確定性和不確定性擾動(dòng)力,視為摩擦力的線性部分和非線性部分,力矩g前饋補(bǔ)償控制部分h計(jì)算公式為:
其中l(wèi)1、l2分別為線性部分和非線性部分的前饋補(bǔ)償量,I為桿件重力,k為控制增益,J為機(jī)械臂離心力,K為關(guān)節(jié)剛度矩陣,M為桿件轉(zhuǎn)動(dòng)慣量。根據(jù)關(guān)節(jié)角度di的輸出動(dòng)態(tài),調(diào)節(jié)前饋補(bǔ)償h,增益伺服電機(jī)對(duì)關(guān)節(jié)的驅(qū)動(dòng)力矩g,使力矩驅(qū)動(dòng)下的關(guān)節(jié)角速度F1、F2和加速度f(wàn)接近穩(wěn)態(tài),確保各個(gè)時(shí)刻的關(guān)節(jié)角度di達(dá)到期望值,沿著工作軌跡穩(wěn)定運(yùn)行,通過(guò)規(guī)劃的運(yùn)動(dòng)軌跡,完成指定的作業(yè)任務(wù)。至此完成機(jī)械臂運(yùn)動(dòng)控制處理器的設(shè)計(jì),實(shí)現(xiàn)生產(chǎn)線機(jī)械制造設(shè)備機(jī)械臂自動(dòng)化控制方法設(shè)計(jì)。
將此次設(shè)計(jì)方法,與基于深度強(qiáng)化學(xué)習(xí)的機(jī)械臂自動(dòng)化控制方法、基于阻抗控制的機(jī)械臂自動(dòng)化控制方法,進(jìn)行對(duì)比實(shí)驗(yàn),比較三種控制方法作用下,機(jī)械臂跟蹤期望軌跡的調(diào)節(jié)時(shí)間和穩(wěn)態(tài)跟蹤誤差。
以RM-501工業(yè)機(jī)器人為例,該機(jī)器人具有四個(gè)自由度的機(jī)械臂,連接基座、主動(dòng)臂、從動(dòng)臂、手腕末端,RM-501機(jī)械臂移動(dòng)平臺(tái)的質(zhì)量為55kg,輸出力矩的關(guān)節(jié)電機(jī)為直流伺服電機(jī)。機(jī)械臂結(jié)構(gòu)參數(shù)如表1所示:
表1 機(jī)械臂結(jié)構(gòu)參數(shù)
由表1得到ai、bi、di、ci、I、M參數(shù)的取值。設(shè)置機(jī)械臂初始狀態(tài)的關(guān)節(jié)角度,在4個(gè)關(guān)節(jié)處建立坐標(biāo)系,結(jié)果如圖1所示。
圖1 RM-501機(jī)械臂桿件關(guān)節(jié)處坐標(biāo)系
由圖1得到4個(gè)關(guān)節(jié)的坐標(biāo)系,根據(jù)關(guān)節(jié)最大旋轉(zhuǎn)角度,確定關(guān)節(jié)角度變化范圍,由MATLAB軟件畫(huà)出RM-501機(jī)械臂末端可移動(dòng)的工作空間,得到機(jī)械臂自動(dòng)化控制的輸入量,如圖2所示。
由圖2得到RM-501機(jī)械臂關(guān)節(jié)角度,圖中d1、d2、d3、d4為RM-501機(jī)械臂的初始關(guān)節(jié)角度。
圖2 RM-501機(jī)械臂自動(dòng)化控制輸入量
MATLAB模擬生產(chǎn)線機(jī)械制造設(shè)備的作業(yè)場(chǎng)景,作業(yè)場(chǎng)景模擬環(huán)境包括起始點(diǎn)、目標(biāo)點(diǎn)、障礙點(diǎn),預(yù)設(shè)機(jī)械臂運(yùn)動(dòng)軌跡,由起始點(diǎn)出發(fā),繞過(guò)線狀障礙,到達(dá)目標(biāo)點(diǎn)。三種方法將直流伺服電機(jī)的驅(qū)動(dòng)力矩作用在4個(gè)關(guān)節(jié)處,調(diào)整關(guān)節(jié)角速度和角加速度,使d1、d2、d3、d4達(dá)到預(yù)期,跟蹤作業(yè)場(chǎng)景的RM-501機(jī)械臂期望軌跡。
RM-501機(jī)械臂關(guān)節(jié)以0.01rad/s速度,跟蹤生產(chǎn)線作業(yè)場(chǎng)景的期望軌跡,三種方法自動(dòng)化控制下,RM-501機(jī)械臂的關(guān)節(jié)跟蹤曲線如圖3所示。
由圖3可以看出,設(shè)計(jì)方法控制下,RM-501機(jī)械臂關(guān)節(jié)的跟蹤軌跡與期望軌跡最接近。根據(jù)圖3的關(guān)節(jié)跟蹤曲線,進(jìn)一步統(tǒng)計(jì)三種方法作用下,RM-501機(jī)械臂跟蹤的關(guān)節(jié)角度調(diào)節(jié)時(shí)間和穩(wěn)態(tài)跟蹤誤差,對(duì)比結(jié)果如表2所示:
圖3 機(jī)械臂關(guān)節(jié)跟蹤曲線
由表2可知,設(shè)計(jì)方法作用下,RM-501機(jī)械臂跟蹤期望軌跡時(shí),關(guān)節(jié)角度平均調(diào)節(jié)時(shí)間為1.033s,平均穩(wěn)態(tài)跟蹤誤差為0.118rad,基于深度強(qiáng)化學(xué)習(xí)的控制方法平均調(diào)節(jié)時(shí)間為1.213s,平均穩(wěn)態(tài)跟蹤誤差為0.525rad,基于阻抗控制的控制方法平均調(diào)節(jié)時(shí)間為1.417s,平均穩(wěn)態(tài)跟蹤誤差為0.967rad,設(shè)計(jì)方法關(guān)節(jié)角度調(diào)節(jié)時(shí)間縮短了0.18s、0.384s,穩(wěn)態(tài)跟蹤誤差減小了0.407rad、0.849rad。綜上所述,設(shè)計(jì)方法能夠使機(jī)械臂快速到達(dá)期望位置,且穩(wěn)態(tài)跟蹤誤差更小,提高了機(jī)械臂對(duì)期望軌跡的跟蹤精度。
表2 機(jī)械臂跟蹤測(cè)試結(jié)果
此次研究針對(duì)機(jī)械制造設(shè)備的生產(chǎn)線,設(shè)計(jì)了一種機(jī)械臂自動(dòng)化控制方法,機(jī)械臂跟蹤作業(yè)場(chǎng)景內(nèi)的預(yù)設(shè)軌跡時(shí),縮短了關(guān)節(jié)角度的調(diào)節(jié)時(shí)間,減小了穩(wěn)態(tài)跟蹤誤差。但此次設(shè)計(jì)方法仍存在一定不足,在今后的研究中,會(huì)將直流伺服電機(jī)改成交流伺服電機(jī),優(yōu)化桿件的連接方式,提高反饋編碼器的線數(shù),進(jìn)一步提高機(jī)械臂的閉環(huán)控制精度。