楚雪平,王曉玲
(1.河南職業(yè)技術學院智能制造學院,河南鄭州 450046;2.河南科技大學圖書館,河南洛陽 471023)
機械臂是將多個機械桿通過關節(jié)連接起來的自動化系統(tǒng),各機械桿在電機驅動下繞關節(jié)自由轉動,使機械臂末端到達指定位置來完成相應工作[1?2]。隨著自動化技術的迅速發(fā)展,機械臂已廣泛應用于裝配、焊接、組裝等工業(yè)生產中,機械臂的控制精度直接決定了工業(yè)生產的效率和質量[3?4]。但是工業(yè)機械臂是一個非線性、強耦合的復雜系統(tǒng),在實際生產中,機械桿繞各關節(jié)轉動時必然會受到機械摩擦的干擾,從而造成控制精度降低。同時,當工業(yè)機械臂需要與生產對象接觸時,生產對象必然會對機械臂末端產生一個未知負載力矩,這會嚴重影響機械臂的控制精度[5?6]。因此,要想提高工業(yè)機械臂的實用性和精確度,必須充分考慮工業(yè)機械臂對于機械摩擦和負載力矩的魯棒性。文獻[7]為了克服模型誤差對機械臂控制的影響,采用滑模自適應控制算法對軌跡指令進行有效跟蹤,能夠在一定程度上提高精度,但實用性不高;文獻[8]采用自適應終端滑??刂品椒▉硖岣邫C械臂的魯棒性和控制效果,但是不能很好地克服抖振現(xiàn)象;文獻[9]針對具有摩擦和負載等干擾的機械臂軌跡跟蹤控制問題,提出了一種模糊補償控制方法,能夠提高控制效果,但是需要已知機械臂的精確數學模型;文獻[10]為了提高帶有各種干擾因素的機械臂的運行穩(wěn)定性,采用干擾觀測器設計了反演滑??刂扑惴ǎm然實現(xiàn)了對機械臂的控制,但是控制精度一般?;谝陨戏治?,設計了一種二階非奇異快速終端滑模面,并提出了一種基于迭代學習的滑模魯棒控制方法,實現(xiàn)了對工業(yè)機械臂的精確控制。
工業(yè)機械臂是通過機械關節(jié)將機械臂連接起來的多級智能工業(yè)生產設備,其中各級機械臂可以繞相應關節(jié)自由轉動,從而使裝有抓手、解刀、焊槍等設備的機械臂末端能夠準確到達指定空間位置,來快速、精確、高效地完成裝配和焊接等流水線工業(yè)生產任務。工業(yè)機械臂示意圖,如圖1所示。
圖1 工業(yè)機械臂示意圖Fig.1 Schematic Diagram of Industrial Manipulator
工業(yè)機械臂的數學模型為[11]:
式中:q、q?、q?—工業(yè)機械臂各關節(jié)轉動的角度、角速度和角加速度;
M(q)—慣性矩陣;D(q,q?)—科氏力和離心力矩陣;G(q)—重力矩陣;τ—各關節(jié)的驅動力矩。
在工業(yè)生產中,工業(yè)機械臂的末端設備必須接觸各種零部件并施加一定的作用力,那么零部件就會對工業(yè)機械臂產生一個未知的負載力矩,此力矩必然會影響對工業(yè)機械臂的精確控制。另外,工業(yè)機械臂各關節(jié)在轉動過程中不可避免地會受到機械摩擦的干擾,導致工業(yè)機械臂的末端無法快速、準確定位到指定位置,無法精準完成相應的生產任務[12]。因此,要實現(xiàn)對工業(yè)機械臂的精確控制,提高工業(yè)生產的效率和質量,必須充分考慮未知負載力矩和機械摩擦的干擾影響,則工業(yè)機械臂數學模型為:
式中:d—未知負載力矩和機械摩擦的干擾總和。
根據坐標轉換關系,可以得到工業(yè)機械臂末端的運動軌跡與各關節(jié)轉動角度的轉換關系為[13?14]:
式中:P=[x,y,z]T—工業(yè)機械臂末端的運動軌跡;N—轉換矩陣。
首先給出了二階非奇異快速終端滑模面和滑??刂坡?,然后利用迭代學習方法來改善滑??刂坡傻聂敯粜裕詈筮M行了收斂性分析??刂葡到y(tǒng)結構,如圖2所示。
圖2 控制系統(tǒng)結構Fig.2 Structure of Control System
機械臂末端的軌跡跟蹤誤差為:
式中:Pc=[xc,yc,zc]T—工業(yè)機械臂末端的期望軌跡指令。
則由式(3)得到工業(yè)機械臂各關節(jié)轉動的角度指令為:
式中:k1—正定矩陣。
工業(yè)機械臂的關節(jié)轉動角度跟蹤誤差為:
設計二階非奇異快速終端滑模面[15]s為:
式中:α、β—正定矩陣;r1=m1n1、r2=m2n2,其中,m1、n1、m2和n2是正奇數,且滿足1 對式(7)求導得: 定義工業(yè)機械臂的狀態(tài)ω和φ如下: 然后設計滑??刂坡搔樱?/p> 式中:k2、k3—正定矩陣;?—ω的估計值;v—二階滑模項,表達式如下: 的表達式為: 式中:λ、η、γ—正定矩陣。 迭代學習是通過迭代修正控制輸出來達到控制目標的一種智能控制方法,不需要已知控制對象的精確數學模型,能夠快速實現(xiàn)對控制對象運動軌跡的精確跟蹤[16?17]。這里利用迭代學習方法來改進滑??刂坡墒剑?1),以改善滑??刂频亩墩瘳F(xiàn)象,提高控制的穩(wěn)定性、準確性和魯棒性。 設計第k次迭代學習的滑??刂坡搔觡: 式中:k—迭代學習次數;—第k次迭代學習對ω的估計值;φk—第k次迭代學習時的狀態(tài)φ;sk—第k次迭代學習時的二階非奇異快速終端滑模面s;vk—第k次迭代學習的二階滑模項,表達式描述如下: 其中,初始迭代值v0= 0。 設計的表達式為: 其中,初始迭代值= 0。 在第k次迭代學習的滑??刂坡墒剑?4)~式(16)的基礎上,設計基于迭代學習的滑??刂坡蔀椋?/p> 式中:初始控制量τ0= 0;k4、k5—正定矩陣。 結論1:設計的基于迭代學習的滑??刂坡墒剑?4)~式(17)能夠確保工業(yè)機械臂的運動軌跡收斂。 證明:構建復合能量函數[18]為: 式中:—對ωk的估計誤差=?ωk。 相臨2次迭代學習的復合能量函數變化值ΔEk描述為: 然后將滑??刂坡墒剑?4)~式(16)代入式(19)化簡可得: 因為ΔEk≤0,可知結論1 成立[19],即所設計的基于迭代學習的滑模控制律式(14)~式(17)能夠確保工業(yè)機械臂的運動軌跡收斂。 為了驗證設計的快速終端滑模控制律的有效性,分別采用文獻[20]的模型預測控制(MPCL)、滑模控制律式(11)(SMCL)與基于迭代學習的滑??刂坡墒剑?7)(ILS?SMCL)進行對比仿真。 設置工業(yè)機械臂的初始狀態(tài)為0;工業(yè)機械臂末端的運動軌跡指令為:xc=(10 sint)mm、yc=(10 cost)mm、zc=( 3t)mm;設置干擾為d=[0.1 sint]3×1N ?m;迭代周期為0.2s。設置控制參數,如表1所示。 表1 控制參數Tab.1 Control Parameters 為了展示設計的基于迭代學習的滑??刂坡桑↖LS?SMCL)對于工業(yè)機械臂的控制效果和優(yōu)越性,利用實際坐標與指令坐標之間的距離誤差eP來衡量定位控制精度,eP的計算方法描述如下: 按照設置的參數運行,并利用上述三種控制方法控制工業(yè)機械臂運動得到的跟蹤誤差eP,如圖3所示。 圖3 軌跡跟蹤誤差Fig.3 Trajectory Tracking Error 由軌跡跟蹤誤差仿真結果圖3看出:在文獻[20]模型預測控制(MPCL)下,工業(yè)機械臂可基本跟上指令信號,最大跟蹤誤差為8.1mm,誤差比較大,效果不理想;在滑模控制律(SMCL)下,工業(yè)機械臂的末端能夠基本跟蹤軌跡指令信號,最大軌跡跟蹤誤差為4.2mm,跟蹤誤差仍然較大,控制效果一般;而在基于迭代學習的滑??刂坡桑↖LS?SMCL)下,關節(jié)末端能夠穩(wěn)定、準確跟蹤指令信號,最大軌跡跟蹤誤差僅為0.3mm,能夠滿足精確控制要求。進一步給出了工業(yè)機械臂末端對于x、y、z坐標的跟蹤結果,如圖4~圖6所示。其中,ex=x?xc、ey=y?yc、ez=z?zc。 圖4 x坐標跟蹤仿真結果Fig.4 Tracking Simulation Results of x Coordinate 圖5 y坐標跟蹤仿真結果Fig.5 Tracking Simulation Results of y Coordinate 圖6 z坐標跟蹤仿真結果Fig.6 Tracking Simulation Results of z Coordinate 由軌跡跟蹤誤差仿真結果圖4~圖6可看出:在文獻[20]模型預測控制(MPCL)下,工業(yè)機械臂末端的最大跟蹤誤差為6.2mm,誤差比較大,控制效果不好;在滑??刂坡桑⊿MCL)下,工業(yè)機械臂末端的最大跟蹤誤差為3.3mm,誤差較大;而基于迭代學習的滑模控制律(ILS?SMCL)的最大跟蹤誤差僅為0.2mm,誤差較小,控制效果較好,能夠滿足精確控制要求。 為了驗證設計的快速終端滑??刂坡桑↖LS?SMCL)對工業(yè)機械臂的實際控制效果,選取的實驗對象為勃朗特生產的六自由度工業(yè)機械臂,型號:BRTIRUS2550A,主要應用在搬運作業(yè)中,最大負載50kg,臂展255cm,其控制系統(tǒng)用來存儲執(zhí)行控制方法,并施加干擾信號。實驗中,使機械臂攜帶25kg 負載,分別采用文獻[20]中模型預測控制(MPCL)、滑模控制律(SMCL)與基于迭代學習的滑??刂坡墒剑?7)對BRTIRU機械臂進行定位精度測試,每次的初始點的坐標為(0,0,0)mm,然后在控制端依次發(fā)送10個坐標指令分別為:(100,100,100)mm、(200,200,200)mm、(300,300,300)mm、(400,400,400)mm、(500,500,500)mm、(600,600,600)mm、(700,700,700)mm、(800,800,800)mm、(900,900,900)mm、(1000,1000,1000)mm,然后測量每次定位的實際坐標位置,記錄得到實驗結果,如表2所示。 表2 實驗結果Tab.2 Experiment Results 由表2看出:文獻[20]模型預測控制方法(MPCL)的最大跟蹤誤差為2.83mm,平均運行時長為3.11s,控制精度較差,控制時間較長;滑??刂坡桑⊿MCL)的最大跟蹤誤差為1.45mm,平均運行時長為2.78s,控制精度一般,控制時間也較長;而基于迭代學習的滑??刂坡桑↖LS?SMCL)的最大跟蹤誤差僅為0.17mm,平均運行時長僅為1.73s,控制精度較高,控制時間較短。 針對帶有未知負載力矩和機械摩擦等干擾的工業(yè)機械臂,設計了一種基于迭代學習的滑??刂坡桑硕墩瘳F(xiàn)象,使工業(yè)機械臂具有更小的控制誤差。通過對比仿真結果表明:設計的基于迭代學習的滑??刂坡赡軌驅崿F(xiàn)對工業(yè)機械臂運動軌跡的高精確控制,最大跟蹤誤差僅為0.3mm,在平臺測試試驗中,設計的基于迭代學習的滑模控制律也表現(xiàn)出了更優(yōu)的快速性、準確性和工程實用性,最大跟蹤誤差僅為0.17mm,平均運行時長僅為1.73s,能夠在未知負載力矩和機械摩擦等干擾因素的影響下大幅提高工業(yè)機械臂的控制精度。3.2 基于迭代學習的滑??刂坡?/h3>
3.3 收斂性分析
4 仿真驗證
4.1 仿真參數設置
4.2 對比仿真結果
5 平臺測試實驗
6 結論