方文華
(陜西省煙草公司 西安市公司,陜西 寶雞 710048)
移動機器人是衡量一個國家自動化發展水平的重要標志,對社會經濟的快速發展起到了促進作用,廣泛應用于農業、醫療、航天及海洋等領域[1].然而,控制技術的研究是移動機器人發展的核心,對機器人的運動起到重要作用.移動機器人在執行任務過程中,往往要面對復雜多變的環境,在當今技術水平和條件下,移動機器人還不能達到完全自主地完成復雜任務,通常還需要人員控制才能完成.由于傳統移動機器人執行簡單重復勞動,對控制精度要求不高,致使運動軌跡的穩定性下降.當移動機器人遇到突變環境時,運動軌跡產生的誤差就會變大,特別在受到干擾環境時,移動機器人就會出現嚴重的抖動現象.因此,研究移動機器人高精度、高穩定性控制方法,對于促進高精度自動化技術的發展具有重要意義.
隨著移動機器人技術的改進,其控制精度要求也越來越高.因此,許多學者對移動機器人控制方法展開了研究.例如:文獻[2-3]研究了移動機器人模糊PID-P型迭代學習控制方法,給出PID-P型迭代學習的收斂條件及推導過程,采用模糊控制原理調節PID控制參數,通過仿真驗證移動機器人軌跡跟蹤能力,提高了移動機器人軌跡跟蹤精度;文獻[4-5]研究了移動機器人滑模控制方法,建立了移動機器人模型示意圖,推導出動力學微分方程式,設計了滑模控制器并對控制器的穩定性進行證明,通過仿真驗證移動機器人滑模控制器輸出精度,提高移動機器人運動的穩定性;文獻[6-7]研究了移動機器人神經網絡控制方法,采用徑向甚函數(RBF)神經網絡對控制精度進行在線辨識,將辨識結果反饋到路徑跟蹤控制方案中,采用李雅普諾夫函數對控制的穩定性進行證明,通過仿真驗證該控制方法的有效性,提高了軌跡跟蹤精度.但是,移動機器人在受到突變干擾時,其關節軌跡跟蹤誤差增大.對此,本文創建了移動機器人兩關節運動簡圖模型,設計了移動機器人手臂關節滑模控制器,引用支持向量機和改進粒子群算法對其進行優化,將改進滑模控制器用于移動機器人關節運動軌跡跟蹤控制;采用數學軟件Matlab對關節運動角位移誤差進行仿真實驗,并與傳統滑模控制器控制誤差進行比較,為提高移動機器人關節角位移運動精度奠定了理論基礎.
本文研究的移動機器人手臂由兩關節連桿串聯組成,其簡圖模型如圖1所示.圖1中:q1,q2分別為移動機器人手臂關節1、關節2的角位移;m1,m2分別為移動機器人手臂關節1、關節2的質量;l1,l2分別為移動機器人手臂關節1、關節2的長度.

圖1 移動機器人平面簡圖Fig.1 Plane sketch of mobile robot
根據拉格朗日定律,可以推導出移動機器人手臂動力學模型[8]為
(1)
式中:q為關節角位移矩陣;q′為關節角速度矩陣;H(q)為機器人關節慣性矩陣;C(q,q′)為機器人關節的離心力和哥氏力矩陣;F(q′)為摩擦力矩陣;G(q)為重力矩陣;τd為干擾波形矩陣;τ為控制力矩矩陣.
移動機器人手臂運動的目標是使實際輸出角位移與期望運動角位移之差最小,其誤差方程式為
(2)

滑模控制函數為
(3)
式中:λ為正的對角矩陣.
滑模控制律[9]設計為

(4)
式中:C,μ,ε為滑模控制器參數;T為時間;A和B為未知參數調節系數.
支持向量機能進行全局優化,具有超強的非線性擬合能力.采用支持向量機結合滑模控制理論,可以對滑模控制參數進行估計,從而提高控制系統輸出的穩定性.采用線性函數y=ωx+b在高維空間內對滑模控制器參數C,μ,ε擬合,能夠得到支持向量機模型.在高維空間構造結構風險函數,其方程式[10]為
式中:c為懲罰因子;ξj為容許誤差;ω為未知參數系數;φ(x)為高維空間函數.
根據拉格朗日定律[11],將風險函數定義為
(7)
式中:αi為拉格朗日乘子.
最優值求解需要滿足以下條件:
(8)
求解可得
(9)
由高斯徑向基函數[12]可以得到
(10)
式中:σ為徑向基寬度.
粒子群算法也稱之為粒子群優化算法(Particle Swarm Optimization,PSO),通過模擬動物群體覓食和人類決策行為而提出的全局搜索優化算法.在PSO中,粒子通過對比個體極值和群體極值,更新粒子的速度和位置,其更新方程式[13]為
式中:ω為慣性權重;c1,c2為[0,2]速度更新因子;r1,r2為[0,1]區間隨機數;vt為粒子迭代t次的速度;xt+1為粒子迭代t+1次的位置;pt為個體極值;pg為群體極值.
慣性權重采用線性遞減方式,雖然提高了算法搜索的能力,但是只有在算法初期才能發揮較好的作用.如果在搜索初期沒有到達全局最優解附近,局部搜索能力就會加強,導致整個搜索過程陷入局部最優解而無法跳出.因此,采用非線性遞減方式設置權重系數,即
(13)
式中:t為當前迭代次數;tmax為最大迭代次數;ωmax,ωmin分別為最大和最小慣性權重值.
采用PSO和支持向量機對滑模控制器進行改進,具體步驟如下:
步驟1在支持向量機識別基礎上,對粒子群進行初始化,Pbest為粒子初始位置,gbest為Pbest中的最優位置;
步驟2評價群體中粒子的適應度值,計算其對應的目標函數,其方程式為
(14)
步驟3對比適應度值和Pbest,若適應度值優于Pbest,則將其作為當前最優位置,逐一進行比較,直到搜索到群體最優位置gbest;
步驟4根據支持向量機辨識的滑模控制器參數C,μ,ε,以及更新方程式(11)和式(12),調整粒子的位置和速度;
步驟5判斷是否滿足終止條件,若滿足條件,則終止迭代次數,否則返回步驟2.
為了驗證移動機器人關節角位移采用改進滑模控制的效果,采用Matlab軟件對關節角位移誤差進行仿真.仿真參數設置如下:速度更新因子c1=c2=1,慣性權重ωmax=0.6,ωmin=0.4,種群為50,最大迭代次數為200,關節長度為l1=l2=1.0 m,初始角位移為q(0)=[0 0]T,期望運動角位移為q1=q2=sin(2πt) rad,關節質量為m1=m2=1.0 kg,重力加速度為g=10 m/s2,仿真時間為t=4 s.
假設沒有外界干擾,分別采用改進滑模控制器與滑模控制器,關節1、關節2跟蹤誤差分別如圖2和圖3所示.

圖2 關節1角位移(無干擾)Fig.2 Angular displacement of the first joint (no interference)

圖3 關節2角位移(無干擾)Fig.3 Angular displacement of the second joint (no interference)
假設在第2 s突然增加余弦波形干擾τd=cos(2πt),分別采用改進滑模控制器與滑模控制器,關節1、關節2跟蹤誤差分別如圖4和圖5所示.

圖4 關節1角位移(有干擾)Fig.4 Angular displacement of the first joint (with interference)

圖5 關節2角位移(有干擾)Fig.5 Angular displacement of the second joint (with interference)
在無干擾環境中,由圖2可知,關節1采用滑模控制器跟蹤最大誤差為0.28×10-3rad,采用改進滑模控制器跟蹤最大誤差為0.27×10-3rad;由圖3可知,關節2采用滑模控制器跟蹤最大誤差為0.39×10-3rad,采用改進滑模控制器跟蹤最大誤差為0.37×10-3rad.在有波形干擾環境中,由圖4可知,關節1采用滑模控制器跟蹤最大誤差為0.78×10-3rad,采用改進滑模控制器跟蹤最大誤差為0.27×10-3rad;由圖5可知,關節2采用滑模控制器跟蹤最大誤差為0.88×10-3rad,采用改進滑模控制器跟蹤最大誤差為0.37×10-3rad.因此,采用改進滑模控制器抗干擾能力強,能夠提高移動機器人運動軌跡跟蹤精度.
針對移動機器人關節運動精度低問題,采用改進PSO和支持向量機優化滑模控制器,主要結論如下:
(1) 移動機器人采用傳統滑模控制器,關節容易受到外界環境因素的干擾,系統抖動較大,控制精度較低.
(2) 改進滑模控制器結合支持向量機和改進粒子群算法的優點,能夠快速地削弱外界波形的干擾,提高控制系統的穩定性.