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