董伯麟,楊瑞偉
(合肥工業(yè)大學機械工程學院,安徽 合肥 230009)
在傳統(tǒng)工業(yè)機器人領域,絕大部分機器人要求具有高速和高精度的性能,因此其關節(jié)要求設計成高阻抗的剛性結構[1]。這種帶有高剛度驅動關節(jié)的機器人在與外界環(huán)境發(fā)生碰撞時,容易給周圍的人、環(huán)境甚至是機器人本身造成無法挽回的損失[2]。為了讓機器人能夠應對工作環(huán)境的動態(tài)變化以及人機交互的不確定性,機器人的關節(jié)必須具有一定的柔順性和安全人機交互的能力。為此,國內外學者對機器人關節(jié)的柔順性展開大量的研究[3]。在機器人的柔順性的研究中,最為典型的結構就是串聯(lián)彈性驅動器(Series Elastic Actuator)[4],即通過在機器人關節(jié)上加入彈性元件,將電機端與負載端之間的沖擊載荷隔離,讓機器人關節(jié)本身具有一定的物理柔順性。目前,串聯(lián)彈性驅動器(SEA)廣泛運用于康復機器人[5]、仿人型機器人[6]、機械外骨骼[7]等應用中。
在SEA力矩控制策略上,文獻[4]等提出了基于電流環(huán)的PID結合前饋補償?shù)牧乜刂撇呗?。之后文獻[7]將阻抗控制算法運用到SEA的力矩控制中,提出基于力矩外環(huán)的級聯(lián)PID控制策略,進一步優(yōu)化了SEA 驅動控制系統(tǒng)中人機交互的動態(tài)性能。文獻[8]指出基于電流環(huán)的力矩控制器存在采樣微分誤差較大、系統(tǒng)穩(wěn)定性差等缺陷,并提出了用電機速度環(huán)代替電流環(huán)的力矩控制算法。文獻[9]在研究機械外骨骼時,在級聯(lián)PID控制結構的基礎上,提出了基于線性擾動觀測器(Linear Disturbance Observer,LDOB)的控制方法,排除了SEA運動模型中時變參數(shù)的影響,進一步提高了控制系統(tǒng)的魯棒性。在上述控制方案中,基于成熟和完善的動力學模型控制方案能在特定應用場景中表現(xiàn)出良好的性能。但是,隨著機器人技術的發(fā)展,為了追求人機交互場景中更好的仿生特性,機器人的機械結構也變得越來越復雜。導致了精確建立控制系統(tǒng)的動力學模型及系統(tǒng)參數(shù)確定變得極其困難[10]。另外,上述控制方法在SEA力矩控制器設計時,大多未考慮系統(tǒng)本身存在的各種外界干擾,而擾動問題在實際運用中卻是不可回避的。針對上述問題,對串聯(lián)彈性驅動器的結構進行了改進,極大的提高了SEA驅動器中力矩輸出與彈性體形變量之間的線性關系,并以此為基礎建立了動力學模型。在力矩控制器的設計過程中,提出了基于數(shù)據(jù)驅動控制的無模型自適應控制方法[11],既簡化了控制器的設計,又提高了控制系統(tǒng)抗外界干擾的能力。最后在MATLAB/Simulink 平臺上進行了仿真分析,驗證了數(shù)據(jù)驅動控制器設計的正確性。
串聯(lián)彈性驅動器和傳統(tǒng)剛性驅動器相比,最大的特點就是在諧波減速器輸出端和負載端串聯(lián)了一個彈性元件[4],通過編碼器測量出彈性體的形變量,以此計算出SEA驅動器所受負載端傳遞的扭矩。這使得驅動器力矩控制問題轉化為彈性體形變量控制問題。對于改進的SEA 驅動器結構示意圖,如圖1 所示。該SEA驅動器主要由無框力矩電機、電磁制動器、諧波減速器、彈性體、編碼器、輸入輸出軸以及外殼構成。

圖1 SEA驅動器結構示意圖Fig.1 Schematic Diagram of SEA
該驅動器主要有兩大作用,一是能夠對外界環(huán)境的沖擊起到一定的緩沖作用,避免SEA本身受到損傷;二是通過彈性體兩端的位置差與彈性體材料系數(shù)的乘積,反饋輸出驅動器所受的力矩,讓機器人具備一定的人機交互能力。改進的彈性驅動器,結構簡單緊湊,極大地降低了各零部件的安裝難度。同時采用空心圓軸式的設計既可以實現(xiàn)較大的剛度,又可以實現(xiàn)驅動器中心走線的布置。
將設計的新型SEA驅動器應用于機器人系統(tǒng),SEA驅動器工作原理圖,如圖2所示。

圖2 SEA工作原理圖Fig.2 SEA Working Principle Diagram
SEA驅動器的動力學方程可描述如下:

式中:fl—SEA輸出的;Ks—彈性體的剛度;JM—電機(將減速器和電機組成的驅動源稱為電機)的轉動慣量;fM-電機輸出力;xM-電機端輸出位置;xl-負載端輸出位置;△x-彈性體的形變量。
式(1)經過Laplace變換后得:

根據(jù)式(2)得SEA驅動器的控制框圖,如圖3所示。

圖3 SEA控制框圖Fig.3 SEA Control Block Diagram
根據(jù)上圖可知,控制系統(tǒng)在末端固定(Xl=0 )時,系統(tǒng)輸入為FM,并且系統(tǒng)輸出為F(l彈性體輸出力),因此控制下系統(tǒng)傳遞函數(shù)為:

在傳統(tǒng)SEA力矩控制策略研究中,人機交互的不確定性以及環(huán)境中未建模動態(tài)的變化一直都是控制器設計中無法回避的問題。因此,在力矩控制中需要實現(xiàn)如下兩個指標:(1)SEA驅動器的力矩輸出需要能夠快速、精確地跟蹤期望力矩輸入;(2)SEA驅動系統(tǒng)在應對未知的環(huán)境參數(shù)和未建模的動態(tài)變化時,需要保證其魯棒性。為了滿足以上要求,根據(jù)式(3)以及在文獻8]等設計的基于速度內環(huán)力矩控制的基礎上,提出了一種基于數(shù)據(jù)驅動控制的無模型自適應力矩控制方法。SEA力矩控制框圖,如圖4所示。其中速度內環(huán)的PI控制器由驅動器的內部參數(shù)確定。

圖4 SEA力矩控制框圖Fig.4 Block Diagram of SEA Torque Control
無模型自適應控制的基本思路是在控制系統(tǒng)附近通過一系列動態(tài)線性時變模型來替代非線性系統(tǒng),利用系統(tǒng)輸入輸出數(shù)據(jù)在線估計系統(tǒng)的偽偏導數(shù)參數(shù),然后設計加權一步向前的力矩控制器[11]。從而消除了未建模動態(tài)和環(huán)境參數(shù)對控制系統(tǒng)的影響,保證了控制系統(tǒng)的魯棒性。在SEA驅動器控制系統(tǒng)中,控制目標是讓SEA驅動器的輸出力矩能夠達到期望的軌跡。
為此設計的無模型自適應控制器輸入為期望的輸出力矩y=Td,輸出為SEA驅動器的實際輸出力矩u=Tl,考慮SISO離散時間非線性系統(tǒng)如下:

式中:y(k)∈R、u(k)∈R—系統(tǒng)在k時刻的輸出和輸入;f( · )-未知的非線性函數(shù);nu,ny—兩個未知的正整數(shù)。
那么當△u(k)≠0時,一定存在一個偽偏導數(shù)(Pseudo-partial-derivative,PDD)的量?(k),可得:

并且|?(k) |≤b,且b是一個正常數(shù);在考慮如下控制輸入準則函數(shù):

式中:λ>0是一個懲罰因子,用于控制輸入量的變化。將式(5)代入到式(6)中,對u(k)求導,并令其等于零,得到無模型自適應控制律如下:

式中:ρ—步長因子,ρ∈(0,1]。
在控制律算法中偽偏導數(shù)量?(k)是一個時變參數(shù),在基于模型的控制系統(tǒng)框架下難以求解。因此設計利用受控系統(tǒng)輸入輸出數(shù)據(jù)來估計?(k)的值。考慮如下PDD估計準則函數(shù):

式中:μ—權重因子,μ>0。
對式(8)中的?(k)求極值,可以得到PDD的估計算法可得:

式中:η—步長序列;μ—權重因子。
根據(jù)式(8)、式(9)可得無模型自適應控制框圖,如5圖所示。

圖5 無模型自適應力矩控制器框圖Fig.5 Block Diagram of Model-Free Adaptive Torque Controller
無模型自適應控制算法存在兩個關鍵參數(shù)(懲罰因子λ、學習步長ρ),只有選取合適的參數(shù)值才能夠保證控制系統(tǒng)的穩(wěn)定,以及在系統(tǒng)響應的快速性和超調量之間達到平衡。為此,利用BP神經網絡強大的非線性映射能力實現(xiàn)MFAC算法中懲罰因子和學習步長的在線自整定。SEA系統(tǒng)無模型自適應力矩控制器的參數(shù)整定結構框圖,如圖6 所示。BP 神經網絡以y(k),y*(k+1),△y(k),u(k)四個已知量為輸入層,兩個待整定的參數(shù)λ,ρ為輸出層,隱含層為單層結構。

圖6 SEA系統(tǒng)無模型自適應力矩控制器的參數(shù)整定結構框圖Fig.6 Block Diagram of Parameter Tuning Structure of Model-Free Adaptive Torque Controller
(1)BP神經網絡正向傳播過程如下:
①輸入層節(jié)點的輸出為:

式中:xi—第i個輸入。
②隱含層的輸入輸出為:

式中:hxj(k)—第j個隱含層的輸入;hωji—第i個輸入層到第j個隱含層的權值;hyj(k)—第j個隱含層的輸出;f1(·)—隱含層的激活函數(shù)。
③輸出層的輸入輸出為:

式中:oxk—第k個輸出層的輸出值;oωkj—第j個隱含層到第k個輸出層的權值;oyk(k)—第k個輸出層的輸出;f2(·)—輸出層的激活函數(shù)。
參數(shù)整定模塊中可考慮其性能函數(shù):

(2)BP神經網絡反向傳播過程中權值系數(shù)更新如下:
①輸出層到隱含層權值更新


式中:η(k)—第k次迭代的學習速率;α—慣性系數(shù)。
②隱含層到輸入層權值更新

根據(jù)式(14)、式(15)可分別計算出第k+1次權值的變化量,即實現(xiàn)了各層權值的更新。通過BP神經網絡的迭代學習,實現(xiàn)了MFAC控制算法的參數(shù)在線自整定功能。
為了進一步驗證數(shù)據(jù)驅動控制算法的正確性,下面通過MATLAB/Simulink仿真實驗平臺對SEA驅動器進行數(shù)值仿真分析。SEA驅動器中電機的轉動慣量JM=14.4×10-5kg·m2,諧波減速器的減速比i=50,彈性體剛度Ks=4500N·m/rad?;谒俣葍拳h(huán)的PI控制器控制參數(shù)為Kp=0.14,Ki=7。在機器人的人機交互過程中,力矩控制最為主要的目標是實現(xiàn)碰撞過程中的力矩柔順性。為了仿真測試機器人與外界環(huán)境發(fā)生碰撞的場景,讓負載端始終處于固定狀態(tài)(負載端的位置量xl=0),SEA驅動器期望輸入力矩值保持為Td=15N·m,在5s時加入一個階躍信號T=2N·m,表示外負載的突然變化。觀察SEA 輸出力矩對于期望輸入力矩的跟隨情況。對于SEA驅動關節(jié)分別采用級聯(lián)PID力矩控制[12]、固定參數(shù)的MFAC力矩控制、基于BP神經網絡參數(shù)在線自整定的MFAC力矩控制三種控制方法進行對比仿真分析。級聯(lián)PID控制參數(shù)調整為Kop=10,Koi=3,Kod=0.5。
固定參數(shù)的MFAC 力矩控制參數(shù)為λ=4,ρ=0.3。三種控制方案的仿真結果,如圖7所示?;贐P神經網絡參數(shù)在線自整定MFAC力矩控制的整定參數(shù)結果,如圖8所示。


圖7 SEA驅動器力矩控制仿真結果Fig.7 Simulation Results of SEA Drive Torque Tontrol

圖8 BP神經網絡參數(shù)整定結果Fig.8 Parameter Tuning Results of BP Neural Network
從仿真結果中可以看出,當機器人與外界環(huán)境發(fā)生碰撞時,級聯(lián)PID力矩控制方法、固定參數(shù)的MFAC力矩控制方法和基于BP 神經網絡參數(shù)在線自整定的MFAC 力矩控制方法都能夠使SEA輸出力矩收斂于期望值。從穩(wěn)定性上看,在上述三種控制方法中,級聯(lián)PID力矩控制和固定參數(shù)的MFAC力矩控制都存在超調量,而基于BP神經網絡參數(shù)在線自整定的MFAC力矩控制方法沒有明顯的超調量,控制效果最好。從快速性上看,固定參數(shù)的MFAC力矩控制和基于BP神經網絡的MFAC力矩控制都能在2.5s以內達到穩(wěn)定狀態(tài),而級聯(lián)PID力矩控制需要3.5s后才能達到穩(wěn)定狀態(tài)。綜上所述,所設計的基于BP神經網絡參數(shù)在線自整定的MFAC力矩控制方法在暫態(tài)響應和魯棒性上具有明顯的優(yōu)勢。
為了實現(xiàn)機器人在人機交互過程中的力矩柔順性,根據(jù)SEA工作原理對串聯(lián)彈性驅動器進行了改進設計,不僅讓機器人關節(jié)的結構更加簡單和緊湊,而且極大地改善了SEA輸出力矩與彈性體形變量間的線性關系。另外,在此基礎上設計了基于數(shù)據(jù)驅動控制的MFAC力矩控制器,并采用改進的BP神經網絡算法實現(xiàn)了MFAC力矩控制器參數(shù)的在線自整定。采用該種控制算法僅僅需要利用SEA 控制系統(tǒng)I/O 的數(shù)據(jù)即可實現(xiàn)力矩控制器的設計,解決了機器人難以精確建立受控系統(tǒng)動力學模型以及參數(shù)調整困難的問題。最后通過仿真分析驗證了所設計控制方法的有效性。在接下來的工作中,我們將結合具體的應用場景對SEA力矩控制問題做更深入的研究。