王 超
(西安航空職業(yè)技術學院 通用航空學院,陜西 西安 710089)
隨著我國經(jīng)濟的不斷進步,使制造行業(yè)逐漸走向智能化。而智能化發(fā)展過程中離不開工業(yè)機械臂的應用,機械臂得到廣泛應用的同時,各領域對機械臂控制性能以及定位精度的要求更加嚴格。但是傳統(tǒng)工業(yè)機械臂在實際運用過程中,其關節(jié)柔性部件受非線性因素的影響較大,不利于機械臂的穩(wěn)定運行。為此本研究將工業(yè)機械臂作為控制對象,在此基礎上利用自適應補償?shù)膬?yōu)勢,對機械臂的軌跡追蹤精度及動態(tài)性能進行提高,對于智能制造行業(yè)的發(fā)展具有重要促進作用。
為保證工業(yè)機械臂不受外界因素所干擾,本研究采用自適應控制算法對控制器進行設計,并結合PD或者PID控制器提升工業(yè)機械臂的軌跡追蹤精度。自適應補償控制器可采用動態(tài)的方式補償工業(yè)機械臂控制系統(tǒng)中存在的非線性問題,在一定程度上對系統(tǒng)的動態(tài)特性具有提高作用。
(1)
(2)
由于機械臂在穩(wěn)態(tài)誤差狀態(tài)下,可使控制器擺脫重力項的影響,同時可通過增大位置反饋增益的方式減小機械臂的穩(wěn)態(tài)誤差[1]。為最大限度地降低穩(wěn)態(tài)誤差對機械臂軌跡跟蹤精度的影響,本研究對PD控制器進行設計時,向其中引入重力補償項,其公式為
(3)
將式(3)代入式(1)可得
(4)
經(jīng)過整理計算可將式(4)寫為
(5)
根據(jù)線性定常系統(tǒng)的穩(wěn)定性判據(jù)可知q→qd。
將PD控制器應用于機械臂控制系統(tǒng)時,受控機械臂的李雅普諾夫函數(shù)公式為
(6)
對V求導得到的公式為
(7)
(8)
為保證機械臂軌跡跟蹤控制的精準性,本研究利用自適應控制算法對工業(yè)機械臂的各項參數(shù)進行調整,有利于提升工業(yè)機械臂的控制效果。自適應控制算法可實時改變自身控制參數(shù),并適應自身參數(shù)出現(xiàn)的各種變化,有效避免外界環(huán)境變化對機械臂軌跡跟蹤控制的干擾。將該算法應用于動態(tài)系統(tǒng)中,可對系統(tǒng)內部參數(shù)進行實時調整,使目標變量滿足預期性能指標。若工業(yè)機械臂在實際運動過程中出現(xiàn)未知變化,自適應算法可通過在線辨識的方式完成時變參數(shù)的調整,使控制系統(tǒng)達到期望效果。
自適應控制算法對控制對象進行控制過程中具有不依賴被控對象數(shù)學模型以及較強的學習能力等優(yōu)勢,可提升機械臂的擴展性,使機械臂在最短的時間內完成整體優(yōu)化。但是自適應算法對機械臂進行控制的過程中,其追蹤精度主要與時變參數(shù)的辨識精度以及高增益反饋有關。為提升自適應控制算法的辨識精度,需要完成大量迭代計算,從根源上提高時變參數(shù)的敏感性,以此強化工業(yè)機械臂的控制精度。通過該方式完成時變參數(shù)辨識精度的提升,可使機械臂控制系統(tǒng)對實時性的要求較高。機械臂控制系統(tǒng)的穩(wěn)定運行與待定參數(shù)的收斂程度有關[5]。
為提升機械臂控制系統(tǒng)的穩(wěn)定性,通常情況下將自適應控制算法與其他控制算法充分結合,使機械臂控制系統(tǒng)在運行過程中不受參數(shù)變化等因素的影響,該方式有利于提升系統(tǒng)的魯棒性。自適應滑模控制算法是一種新型的控制策略,可解決參數(shù)的不確定性以及控制系統(tǒng)的穩(wěn)定性失衡等問題。在滑??刂扑惴ǖ幕A上完成控制器設計時,應加強對控制系統(tǒng)不確定性范圍的限定,通過該方式保證控制器可迅速切換至滑模面。而結合自適應控制算法對控制器進行設計時,應不斷提升該控制器對未知參數(shù)的在線辨識能力,即可保證非線性系統(tǒng)的穩(wěn)定性[6]。
自適應控制算法實際上是一種非線性控制算法,對于機械臂的追蹤精度具有提高作用。若未知參數(shù)被精準預估,基于自適應控制算法的控制器可提升系統(tǒng)的追蹤精度及動態(tài)特性。由于機械臂易受外部因素的干擾,使自適應控制器只能應用于模型參數(shù)變化較慢、關節(jié)較少的機械臂控制系統(tǒng)。
本研究對工業(yè)機械臂控制平臺進行設計時,主要采用UR10作為該平臺的核心設備。為提升工業(yè)機械臂控制平臺的兼容性,對該平臺進行設計過程中,在外部預留統(tǒng)一的函數(shù)接口。為保證機械臂的控制精度,應使UR10機械臂控制系統(tǒng)的各項控制參數(shù)均不變,且模型慣性參數(shù)未知,在此情況下對上位機控制平臺的程序進行設計,并實現(xiàn)上位機與UR10機械臂控制器之間的通信連接。對于PC與UR10機械臂控制器之間的通訊聯(lián)系,可利用網(wǎng)線建立二者的聯(lián)系,對于其他設備與UR10機械臂控制器建立連接時,均可采用物理方式通過UR配備的線纜建立連接[7]。
UR10機械臂具有較強的靈活性、智能性以及耐久性,將機械臂用作工業(yè)機器人的核心設備,有利于提升工業(yè)機械臂對軌跡追蹤控制的精度。UR系列主要包括UR3、UR5、UR10三個類別,其中UR10屬于尺寸最大的機械臂,包含6個旋轉關節(jié)。UR10機械臂在實際運行過程中最大速度為1 m/s,重復定位精度為±0.1 mm,有效工作半徑為1 300 mm。
UR機器人主要由控制模塊(UR Control)、人機交互界面(Poly scope GUI)、監(jiān)測模塊(UR Safety)以及后臺程序(Daemon)共同組成,其中控制模塊(UR Control)在工業(yè)機械臂控制平臺中主要負責執(zhí)行腳本,并規(guī)劃機器人的運動路徑。人機交互界面在工業(yè)機械臂控制平臺中主要負責實時顯示機器人的運動軌跡數(shù)據(jù),用戶在該界面完成的操作均轉換為控制指令,并發(fā)送至控制模塊內部執(zhí)行各項操作,控制模塊操作完畢后,可將程序執(zhí)行狀態(tài)、全局變量等信息反饋至GUI,最終實現(xiàn)數(shù)據(jù)顯示。監(jiān)測模塊(UR Safety)在控制平臺中主要負責與控制模塊建立通信,有利于控制平臺實時監(jiān)測機器人的運動狀態(tài),若機器人出現(xiàn)違反安全規(guī)則的情況,該模塊將自動采取相應措施組織機器人繼續(xù)前進。后臺程序(Daemon)主要由GUI啟動,可完成計算量較大的工作任務,可通過C++或者Python對該程序進行編寫。UR機器人運行原理如圖1所示[8]。
該機器人自帶Modbus-TCP服務器,當用戶需要獲取機器人的狀態(tài)信息時,通過該端口與PC或者外部智能設備建立連接即可實現(xiàn)信息的獲取。用戶對上位機控制平臺進行自定義時,僅需依照選擇的通信協(xié)議與機械臂建立通訊。該控制平臺的工作流程為:首先發(fā)布機械臂的運動控制指令,根據(jù)該指令對機器人的運動軌跡進行控制,使其按照預設的路線運動,實時對機械臂的位置信息進行讀取,即可實現(xiàn)軌跡跟蹤控制。上位機與UR10控制箱之間可通過網(wǎng)線以100 Mb/s進行連接,UR10控制箱特有的以太網(wǎng)接口可支持控制平臺對其進行遠程訪問以及控制指令的發(fā)布。
對該平臺進行設計時,應嚴格遵循通信協(xié)議及函數(shù)范式,在VS編譯環(huán)境下完成控制平臺的設計與開發(fā),并利用C++標準庫、Eigen庫以及Boost庫實現(xiàn)機械臂控制平臺的基本功能。其中Boost庫屬于一種準標準庫,主要利用泛型使復用達到最大化,內部包含大量工具,使其具有較強的實用性。Eigen庫是高層次的C++庫,具有簡化控制程序以及計算量的作用,可最大限度地限度地縮短開發(fā)周期。工業(yè)機械臂控制平臺軟件流程如圖2所示。
通過Realtime與機械臂的控制器建立通信時,Realtime接口可始終以125 Hz的頻率將機械臂的運動狀態(tài)信息發(fā)送至上位機,并實時接收上位機發(fā)送的腳本指令。該接口對指令進行刷新的周期為0.008 s,當接口處于刷新狀態(tài)時,機械臂不可運行。為保證機械臂的穩(wěn)定運行以及數(shù)據(jù)的一致性,應將控制指令的刷新周期設定為0.008 s的整數(shù)倍,并將數(shù)據(jù)讀取周期與控制指令刷新周期設定為相同時間周期[9]。
本研究為保證工業(yè)機械臂在實際運行過程中不受外界因素所干擾,采用自適應控制算法對控制器進行設計,并結合PD或者PID控制器提升工業(yè)機械臂的軌跡追蹤精度。自適應補償控制器可采用動態(tài)的方式補償工業(yè)機械臂控制系統(tǒng)中存在的非線性問題,在一定程度上對系統(tǒng)的動態(tài)特性具有提高作用。