陳 浩
(武漢科技大學 理學院,湖北 武漢 430065)
機器人可以替代人類執行排雷排爆、太空探險、體育競速、能源檢測等許多危險工作[1-2],不僅提高了生產效率,而且還避免了安全事故。機器人運動軌跡誤差容易受到外界環境的干擾,從而影響其性能。機器人在追蹤期望運動軌跡過程時,受到外界干擾時會偏離期望運動軌跡,其主要原因還是控制系統抗干擾能力弱導致的,這也致使機器人的發展受到了很大的影響。因此,機器人控制技術的研究引起了世界各國高度關注。
為了提高2 自由度機器人抗干擾能力,降低其輸出誤差,科研人員對機器人控制器進行了分析和研究。例如:文獻[2-3]研究了機器人模糊PID 控制器,建立了機器人控制系統運動模型,設計了模糊自適應PID 控制器,以滿足機器人較高的控制精度要求。文獻[4-5]研究了機器人神經網絡滑模控制器,提高了機器人位置跟蹤精度。文獻[6]研究了機器人神經網絡自適應反演控制器,降低了機器人運動關節輸出誤差。
針對機器人控制器響應速度慢、抗干擾能力弱,導致機器人跟蹤誤差較大的問題,本文利用改進粒子群優化算法優化模糊PID 控制器參數,從而縮短了2 自由度機器人的響應時間,為科研人員進一步研究2自由度機器人控制器提供理論依據。
串聯n連桿機器人的動力學[8-9]可以定義為
式中:q為n×1 關節的位置向量;q′為n×1 的關節速度向量;q″為n×1 關節的加速度向量;τ為n×1 關節的施加力矩矢量;M(q)為n×n對稱正定機械手慣性矩陣;C(q,q′)q′為n×1 關節的向心和科里奧利矩向量;g(q)為機器人重力力矩矢量;f(q')為n×1關節的摩擦力矩矢量。
摩擦力矩矢量可以定義為
經典的靜摩擦模型是結合黏性摩擦和庫侖摩擦現象。本模型建立摩擦向量f(q')為
式中:Fm1和Fm2為n×n對角正定矩陣。
sgn(q')為符號“函數”,定義如下:
在粒子群優化算法中,粒子位置與速度更新公式[9]定義如下:
式中:vij(t+1)、vij(t)為粒子迭代(t+1)、t次后的運動速度;ω為慣性權重值;xji(t+1)、xij(t)為粒子迭代(t+1)、t次后的運動位置;r1、r2為隨機數;c1、c2為學習因子;Pij(t)為粒子在歷史搜索中個體最優解;Gj(t)為整個種群的最優位置。
為了平衡粒子的全局和局部搜索能力,采用線性遞減策略調節慣性權重:
式中:ωmax為最大慣性權重值;ωmin為最小慣性權重值;t為當前迭代次數;T為最大迭代次數。
在粒子群優化算法中,學習因子會影響到粒子的學習能力。若學習因子選擇不當,導致粒子之間的學習速度變慢,從而降低粒子群的尋優能力,因此對學習因子進行如下改進[10]:
式中:cmax為最大學習因子;cmin為最小學習因子。
傳統PID控制表達式[11]定義為
式中:kp為比例系數;ki為積分系數;kd為微分系數;e(t)為機器人輸出誤差。
機器人輸出誤差定義為
式中:qd(t)為期望值;qr(t)為實際值。
PID控制參數調節定義為
式中:k′p、k′i、k′d為初始值;Δkp、Δki、Δkd為變量值。
模糊集隸屬函數采用三角形隸屬函數,采用模糊PID 控制,輸出誤差和誤差變化率,以及參數調節變量Δkp、Δki、Δkd的模糊集取值如圖1 所示。圖中,NL為負大,NM 為負中,NS為負小,ZE 為零,PS為正小,PM為正中,PL為正大。

圖1 三角形隸屬函數Fig.1 Triangular membership function
為了更好地調節模糊PID 控制器參數,采用改進粒子群算法優化模糊PID 控制器參數,控制器優化過程如圖2 所示。圖2 中,虛線部分為機器人模糊控制器;e和ec為模糊控制器的輸入變量;Δkp、Δki、Δkd為模糊PID 控制器調整參數,通過其改進粒子群算法優化后的輸出變量;τ為模糊PID 控制器的輸出控制力矩。

圖2 機器人控制器優化過程Fig.2 Optimization process of robot controller
本文以2 自由度機器人為研究對象,機器人由2個剛性連桿組成,如圖3所示。

圖3 2自由度機器人Fig.3 Two degree of freedom robot
以2自由度機器人為例,其動力學模型簡化為
其中,
式中:l1、l2為連桿1 和連桿2 的長度;q1、q2為連桿1和連桿2 的角位移;m1、m2為連桿1 和連桿2 的質量;g為重力加速度;lc1、lc2為連桿1 和連桿2 的重心距離;I1、I2為轉動慣量。
利用Matlab 軟件對2 自由度機器人優化后的模糊PID 控制系統進行仿真,對比優化前后的2 自由度機器人運動軌跡跟蹤誤差、轉矩變化。假設機器人運動軌跡為qd1=qd2=cos 2πt,機器人仿真參數見表1。
在無干擾環境中,優化前后的2 自由度機器人運動軌跡跟蹤誤差分別如圖4 和圖5 所示,轉矩變化分別如圖6 和圖7 所示。在有干擾環境中,干擾波形為y=cos 2πt,優化前后的2自由度機器人運動軌跡跟蹤誤差分別如圖8 和圖9 所示,轉矩變化分別如圖10和圖11所示。

圖4 連桿1誤差(無干擾)Fig.4 Error of the first connecting rod(No interference)

圖5 連桿2誤差(無干擾)Fig.5 Error of the second connecting rod(No interference)

圖6 連桿1轉矩(無干擾)Fig.6 Torque of the first connecting rod(No interference)

圖7 連桿2轉矩(無干擾)Fig.7 Torque of the second connecting rod(No interference)

圖8 連桿1誤差(有干擾)Fig.8 Error of the first connecting rod(With interference)

圖9 連桿2誤差(有干擾)Fig.9 Error of the second connecting rod(With interference)

圖10 連桿1轉矩(有干擾)Fig.10 Torque of the first connecting rod(With interference)

圖11 連桿2轉矩(有干擾)Fig.11 Torque of the second connecting rod(With interference)
由圖4和圖5可知:在無干擾環境中,優化前后的模糊PID 控制系統2 自由度機器人連桿1 和連桿2 角位移穩態跟蹤誤差范圍分別為[-0.6×10-2,0.6×10-2] rad和[-0.4×10-2,0.4×10-2] rad;穩態時間分別為0.33 s 和0.25 s。由圖6 和圖7 可得:在無干擾環境中,優化前的模糊PID 控制系統,2自由度機器人連桿1 和連桿2 轉矩變化范圍分別為[30,40]N·m 和[11,18] N·m;優化后的變化范圍分別為[32,40] N·m和[12,16]N·m。
由圖8和圖9可得:在有干擾環境中,優化前后的模糊PID 控制系統2 自由度機器人連桿1 和連桿2 角位移穩態跟蹤誤差范圍分別為[-1.2×10-2,1.2×10-2] rad和[-0.4×10-2,0.4×10-2] rad,穩態時間分別為0.66 s 和0.25 s。由圖10 和圖11 可得:在有干擾環境中,優化前的模糊PID控制系統,2自由度機器人連桿1 和連桿2 轉矩變化范圍分別為[22,48] N·m 和[10,20] N·m;優化后的模糊PID控制系統,2自由度機器人連桿1和連桿2轉矩變化范圍分別為[32,40] N·m和[12,16] N·m。
因此,在無干擾環境中,優化前后的模糊PID控制系統,2自由度機器人運動軌跡跟蹤誤差較小,穩態時間較短,轉矩波動幅度較小,兩者差別不大。但是,在有干擾環境中,優化前的模糊PID 控制系統,2自由度機器人運動軌跡跟蹤誤差較大,穩態時間較長,轉矩波動幅度較大,而優化后的模糊PID控制系統,2自由度機器人運動軌跡跟蹤誤差較小,穩態時間較短,轉矩波動幅度較小,兩者差別較大。綜合比較,采用改進粒子群優化算法對模糊PID 控制系統進行優化,能夠降低機器人轉矩波動幅度,從而提高2自由度機器人運動軌跡跟蹤精度。
針對2 自由度機器人模糊PID 控制器抗干擾能力弱、反應速度慢等問題,設計改進粒子群算法,優化模糊PID 控制器,通過仿真驗證改進模糊PID控制器輸出結果,主要結論如下:
(1) 在無干擾環境中,優化前后的模糊PID 控制器,2 自由度機器人跟蹤誤差較小,響應速度較快,轉矩波動幅度較小。
(2) 在有干擾環境中,優化后的模糊PID 控制器,2 自由度機器人跟蹤誤差較小,響應速度較快,轉矩波動幅度較小,其抗干擾能力明顯優于傳統模糊PID控制器。
(3) 在干擾環境中,利用Matlab 軟件對2 自由度機器人改進模糊PID 控制器進行仿真,從理論上對機器人控制效果進行仿真,進一步驗證優化后的模糊PID 控制器抗干擾能力,仿真表明所提出的優化模糊PID控制器具有很好的控制效果。