楊小慶,趙振華
(1.重慶工商職業(yè)學院智能制造與汽車學院,重慶400052;2.武漢工程大學電氣信息學院,湖北武漢430073)
20世紀80年代,我國工業(yè)逐步開始使用自動化來完成生產(chǎn)任務,使機器人技術(shù)得到了迅速的發(fā)展,從而提高了企業(yè)的生產(chǎn)效率。機器人的應用也越來越廣泛,要求也越來越多樣化,機器人的研發(fā)技術(shù)也在逐步提高[1]。從機器人誕生到現(xiàn)在,主要經(jīng)歷3個階段:①模仿型機器人。在工作時,可以將儲存在內(nèi)部的指令調(diào)用出來,然后編譯,只能在一定精度范圍內(nèi)實現(xiàn)重復動作。②感應機器人。傳感技術(shù)為機器人技術(shù)發(fā)展提供強大的動力,機器人可以通過感知系統(tǒng)處理聲、光及圖像等信息。③現(xiàn)代化智能機器人。機器人有多種多樣的傳感控制裝置,可以處理多種信號,從而適應不同環(huán)境,具有自主學習功能。
隨著時代的發(fā)展,機器人控制方式也在不斷的變化。為了適應社會的發(fā)展,機器人采用多電機控制系統(tǒng)也越來越多,在傳輸控制系統(tǒng)中,要求各個電機保持協(xié)調(diào)[2]。若協(xié)調(diào)不好,不僅會影響系統(tǒng)的精度,還會影響到系統(tǒng)的穩(wěn)定性。因此,多電機驅(qū)動系統(tǒng)協(xié)調(diào)控制精度備受關(guān)注,研究其控制精度具有重要的應用價值。
當前,機器人控制方法受到了越來越多科研人員的關(guān)注,從而產(chǎn)生了多種理論和方法。例如:文獻[3-4]研究了機器人分數(shù)階PID控制器,建立機器人平面簡圖模型,引用粒子群算法并進行改進,將改進粒子群算法用于優(yōu)化傳統(tǒng)PID控制器,通過仿真驗證電機旋轉(zhuǎn)階躍響應,提高了機器人反應速度和穩(wěn)定性,精度較高。文獻[5-6]研究了機器人結(jié)構(gòu)設計和控制方法,建立了機器人結(jié)構(gòu)布局簡圖,分析了機器人結(jié)構(gòu)動力學,采用單片機作為控制系統(tǒng),推導出機器人末端執(zhí)行器運動學正解和逆解,最后對控制算法進行了驗證,從而提高了機器人生產(chǎn)效率。文獻[7-8]研究了冗余驅(qū)動機器人控制系統(tǒng),設計了機器人控制系統(tǒng)總體方案,運動平臺采用PLC控制系統(tǒng),通過實驗驗證控制系統(tǒng)的效果,從而提高了控制精度和響應速度。以往研究的機器人大多是單電機驅(qū)動系統(tǒng),對于多電機驅(qū)動控制系統(tǒng)研究較少。對此,本文以三關(guān)節(jié)機器人模型簡圖為研究對象,給出了機器人動力學方程式,設計了機器人多電機協(xié)調(diào)控制方案。引用了傳統(tǒng)PID控制器,通過模糊推理規(guī)則對傳統(tǒng)PID控制器進行了改進,給出了多電機機器人模糊PID控制流程。在不同擾動環(huán)境下,采用Matlab軟件對多電機機器人控制效果進行仿真驗證,為進一步研究多電機機器人控制方法提供參考方法。
本文研究機器人為三關(guān)節(jié)連桿結(jié)構(gòu),如圖1所示。
圖1 三關(guān)節(jié)機器人Fig.1 Three joint robot
圖1中:機器人關(guān)節(jié)連桿長度分別用l1,l2和l3表示;機器人關(guān)節(jié)角位移分別用q1,q2和q3表示。由拉格朗日定理可得,機器人動力學方程式[9]為
式中:q為機器人關(guān)節(jié)角位移向量;q'為機器人關(guān)節(jié)角速度向量;q''為機器人關(guān)節(jié)角加速度向量;M(q)為慣性矩陣;H為重力和摩擦力組成向量;C(q,q')為科里奧矩陣;u為控制力矩矩陣。
采用多電機控制機器人關(guān)節(jié)運動,各個電機之間是相互獨立的,在控制過程中,根據(jù)輸入信號要求,按照一定的比例傳輸給電機控制信號。關(guān)節(jié)運動的速度和位置信號反饋給電機控制器,并進行在線計算,然后傳遞給電機進行信號補償,其控制流程如圖2所示。
圖2 機器人多電機控制流程Fig.2 Robot multi motor control process
采用多電機控制方式具有以下優(yōu)點:①多電機控制方式在啟動和停止兩個階段同步性能較好;②不同電機的控制不受距離的影響,符合同步控制要求;③各個電機模塊相互獨立,某一個電機模塊出現(xiàn)大的擾動時,其他電機模塊不受影響,能夠保持正常的工作狀態(tài)。
PID控制原理是根據(jù)輸入與輸出之差,按照比例、積分和微分進行線性組合,對控制對象進行在線調(diào)節(jié),其控制原理如圖3所示。
圖3 PID控制原理圖Fig.3 PID control schematic diagram
PID控制輸出誤差定義為
式中:r(t)為輸入信號;y(t)為輸出信號。
PID控制方程式[10-11]為
式中:kp為比例系數(shù);ki為積分系數(shù);kd為微分系數(shù)。
模糊控制器具有自適應在線調(diào)節(jié)功能,其控制結(jié)構(gòu)如圖4所示。
圖4 模糊控制結(jié)構(gòu)Fig.4 Fuzzy control structure
(1)模糊化。在確定模糊控制器后,對輸入信號進行采集并且進行模糊化,共有9個區(qū)域,如圖5所示。
圖5 模糊區(qū)域Fig.5 Fuzzy region
通常情況下,若把區(qū)間[a,b]的精確量x轉(zhuǎn)換為[-n,n]的離散量y(模糊量),則可以推導出
(2)模糊規(guī)則庫。采用條件語句和模糊語言變量組成,通過模糊邏輯表達的控制規(guī)則,可以反映出控制專家的知識和經(jīng)驗,規(guī)則采用If為條件,Then為結(jié)論。
(3)模糊推理。具有類似人的推理能力,它實際上采用多重條件語句,能夠表示被控制變量論域。模糊推理的目的是選擇激活的模糊規(guī)則,確定輸入到輸出模糊集的映射[12]。
(4)清晰化。主要將被控制對象模糊推理得到的模糊量轉(zhuǎn)換為實際控制精確量,主要包含兩個部分:①被控制對象通過反模糊化轉(zhuǎn)換為精確量;②精確量變換成為實際控制量。
模糊PID控制器通過在線反饋偏差e和偏差變化率ec進行調(diào)整,可以達到不同時刻控制對象對偏差e和偏差變化率ec的要求。采用模糊理論對PID控制進行在線調(diào)節(jié),形成自整定模糊PID控制器,其控制流程如圖6所示。
圖6 機器人模糊PID控制流程Fig.6 Robot fuzzy PID control process
模糊PID控制過程如下:根據(jù)偏差e和偏差變化率ec反饋信息,調(diào)整PID控制參數(shù),使控制參數(shù)達到最優(yōu)值[13-14]。在控制系統(tǒng)運行過程中,不斷檢測e和ec,然后對kp,ki和kd進行在線校正,從而滿足機器人控制的動態(tài)性能要求。由于微分環(huán)節(jié)調(diào)節(jié)難度較大,因此,只對比例環(huán)節(jié)和積分環(huán)節(jié)進行修正,其修正過程如下:
(1)當誤差e變大時,說明控制系統(tǒng)輸出誤差絕對值變大,則調(diào)節(jié)Δkp,使其變大,從而提高系統(tǒng)的響應速度。但是,為了避免ec瞬間過大,同時調(diào)節(jié)Δki,使其變小,通常取值為Δki=0。
(2)當誤差e保持中等大小時,為了保證系統(tǒng)響應速度和超調(diào)量,Δkp取較小值,Δki取較大值。
(3)當誤差e變小時,為了保持控制系統(tǒng)處于良好的控制性能,應該同時調(diào)節(jié)Δkp和Δki,使其增大。
根據(jù)模糊規(guī)則對kp和ki進行調(diào)節(jié),其調(diào)節(jié)方程式[15]為
式中:kp和ki為設置值;Δkp和Δki為變量值。
模糊控制器的輸入誤差e和誤差變化率ec的范圍稱之為基本論域。假設誤差論域為[-emax,emax],誤差變化論域為[-ecmax,ecmax],控制論域為[-umax,umax]。誤差模糊子集論域為X=[-n,-n+1,…,0,…,n-1,n],誤差變化模糊子集論域為Y=[-m,-m+1,…,0,…,m-1,m],控制量u模糊子集論域為Z=[-l,-l+1,…,0,…,l-1,l]。通常情況下,誤差論域范圍n≥6,誤差變化論域范圍m≥6,控制量的論域范圍l≥7。
誤差的量化因子表達式為
誤差變化的量化因子表達式為
控制量比例因子表達式為
為了驗證機器人多電機模糊PID控制器的控制效果,采用Matlab軟件對機器人不同關(guān)節(jié)角位移跟蹤進行仿真,并且與PID控制跟蹤進行對比。機器人仿真參數(shù)設置如下:機器人關(guān)節(jié)連桿質(zhì)量為m1=m2=m3=1 kg,關(guān)節(jié)連桿長度為l1=l2=l3=1.0 m,比例系數(shù)設置為kp=4.5×105,積分系數(shù)設置為ki=1.9×105,微分系數(shù)設置為kd=6.8×105。假設機器人關(guān)節(jié)角位移為q1=q2=q3=4cos(πt/2)。
假設多電機機器人關(guān)節(jié)在小波形(y=cos(2πt))擾動環(huán)境中運動時,采用PID控制器和模糊PID控制器,關(guān)節(jié)角位移跟蹤結(jié)果如圖7所示。
圖7 多電機關(guān)節(jié)角位移跟蹤結(jié)果(一般擾動)Fig.7 Tracking results of joint angular displacement of multi motor(general disturbance)
由圖7可知:在一般擾動環(huán)境中移動時,多電機驅(qū)動機器人采用PID控制器,各個關(guān)節(jié)角位移跟蹤誤差較??;而采用模糊PID控制器,各個關(guān)節(jié)角位移跟蹤誤差較小。因此,兩種控制器都能較好地實現(xiàn)機器人關(guān)節(jié)角位移的跟蹤任務,跟蹤精度較高。
假設多電機機器人關(guān)節(jié)在大波形(y=20cos(2πt))擾動環(huán)境中運動時,采用PID控制器和模糊PID控制器,關(guān)節(jié)角位移跟蹤結(jié)果如圖8所示。
由圖8可知:在大擾動環(huán)境中移動時,多電機驅(qū)動機器人采用PID控制器,各個關(guān)節(jié)角位移跟蹤誤差較大,超調(diào)量較大,控制系統(tǒng)不穩(wěn)定;而采用模糊PID控制器,各個關(guān)節(jié)角位移跟蹤誤差較小,超調(diào)量較小,控制系統(tǒng)較為穩(wěn)定。因此,模糊PID控制器能較好地實現(xiàn)機器人關(guān)節(jié)角位移的跟蹤任務,跟蹤精度較高。
機器人采用PID控制器,只能適應精度要求不要的場合或者在一般擾動環(huán)境中,才能完成機器人關(guān)節(jié)角位移跟蹤任務。但是,采用模糊PID控制器,能夠抑制外界擾動波形對機器人關(guān)節(jié)角位移跟蹤的影響,超調(diào)量較小,系統(tǒng)反應速度快,更適合機器人關(guān)節(jié)運動精度較高的場合。
針對機器人關(guān)節(jié)運動過程中角位移跟蹤誤差較大問題,設計了多電機聯(lián)合控制,并采用模糊PID控制器,通過仿真驗證其控制效果,主要結(jié)論如下:①采用并行多電機控制,機器人各個關(guān)節(jié)驅(qū)動電機模塊相互獨立,某一個電機模塊出現(xiàn)大的擾動時,其他電機模塊不受影響,能夠保持正常的工作狀態(tài);②在一般擾動環(huán)境中,機器人關(guān)節(jié)角位移采用PID控制器和采用模糊PID控制器,都能較好地實現(xiàn)關(guān)節(jié)角位移跟蹤任務,跟蹤誤差較??;③在大擾動環(huán)境中,機器人關(guān)節(jié)角位移采用PID控制器,跟蹤誤差較大,而采用模糊PID控制器,跟蹤誤差較小。因此,模糊PID控制器可以抑制外界環(huán)境的干擾,從而提高機器人角位移跟蹤精度。