曹福成 周文迪
(長春大學電子信息工程系 吉林 長春 130022)
我國每年有大量的腦卒中或是其他因素導致的肢體運動功能障礙患者,而人的肢體在日常生活中起著重要的作用,運動障礙對患者的生活造成了嚴重的影響。而研究表明康復訓練治療是可以恢復患者受損肢體運動功能[1],故而近些年來,對于康復訓練機器人的研究越來越多,使用機器人輔助康復治療可使患者獲得更有效、更穩(wěn)定的康復過程,同時減少治療師的工作量減輕醫(yī)療服務的負擔,使康復治療更加普及。
康復機器人與工業(yè)機器人不同,康復機器人是一個復雜非線性耦合系統(tǒng),無法使用線性控制與建模來很好地解決控制問題。而且需要根據患者肢體受損程度的差異,提供不同的輔助力量,使患者可以從最初的被動跟隨訓練,訓練運動軌跡完全由機器人引導直到患者可以自主進行訓練活動,康復機器人逐步變?yōu)檩o助運動。所以這就要求機器人需要具有良好的動態(tài)跟蹤性能以及高效、平滑和連續(xù)的控制方式。
目前針對機器人人機交互控制問題,許多人提出了多種軌跡跟蹤控制策略,如經典的比例-積分-微分(PID)控制的改進方法、神經網絡控制、自適應反演控制等。文獻[2]采用PID控制,驗證了PID控制二自由度機械臂軌跡誤差可以滿足工業(yè)領域誤差要求不是很高的情況,但無法滿足康復設備使用。神經網絡規(guī)劃的方法可以產生穩(wěn)定的軌跡,但由于計算量過大,故而也無法實際應用在康復訓練任務中。對于一般的控制任務,PID控制是一種穩(wěn)定有效的方法,對于線性模型具有很好的控制效果,但對干擾敏感,跟蹤過程震蕩且魯棒性弱,設計過程比較依賴經驗數據。而康復設備是個高耦合的非線性系統(tǒng),在康復訓練過程中可能會出現很多的不確定因素,如訓練過程中突然出現的肢體痙攣現象、負載突變或者劇烈震顫,PID則無法實現迅速的跟蹤轉換。
目前已經有了很多將滑??刂萍夹g(SMC)應用到了康復機器人中的方案設計[3-11],SMC結構簡單且響應迅速,可以提供高動態(tài)跟蹤性能。然而,滑模控制有一個很大的弊端,當控制狀態(tài)達到滑模面附近時,會發(fā)生抖振現象,而抖振現象對于臨床設備而言是非常不安全的,而且會對機械部件造成嚴重損壞。因此,傳統(tǒng)SMC不可能實際應用于康復機器人。文獻[3]設計了反演自適應滑模控制策略,使用反演控制設計控制律,并仿真驗證了該方法可以對正弦軌跡進行跟蹤,但魯棒性較差,在出現患者肌肉痙攣等外部強烈干擾時,無法保證很好的跟蹤效果。文獻[4]采用了加入模糊規(guī)則的方法,實現避免抖振的效果。但設計的模糊規(guī)則需要為每個人分別進行重新配置。文獻[5-6]則是加入了自適應的滑??刂品椒?,文獻[7]提出了基于滑模觀測器的模糊PID控制改善滑模趨近速度并抑制滑模抖振,由實驗結果可知,電機誤差在進入穩(wěn)態(tài)后確有降低,但抖振仍十分明顯。文獻[8]則提出了滑??刂萍由蠑U展狀態(tài)觀測器的方法,并與傳統(tǒng)PID方法進行了比較,說明了方案的可行性,相當于將擴展狀態(tài)觀測器(ESO)作為誤差觀測器使用,實驗結果顯示抖振明顯降低,但是該方法仍然無法避免抖振現象的產生。
為了解決這些問題,文獻[9]提供了很好的思路,使用自抗擾和滑模復合控制來避免上述問題。文獻[10-11]使用SMC對自抗擾的非線性組合部分進行替換或者是修改,效果有所改進,但抖振依然存在。在此基礎上,本文提出基于擴展狀態(tài)觀測器[12-13]的滑模與自抗擾[14]復合控制方法,并進行了仿真驗證。使用基于擴展狀態(tài)觀測器的滑模與自抗擾復合控制算法來處理患者肢體和康復機器模型整體運動控制問題,克服人體與康復機器人的匹配不確定性,快速降低跟蹤誤差,達到滑模面附近的切換閾值后,切換為自抗擾控制,使用自抗擾控制取代滑??刂?,由此避免滑??刂圃谶_到滑模面后產生的抖振現象,使康復設備不需要針對不同患者單獨調節(jié)參數,確保系統(tǒng)穩(wěn)定地收斂而且有效減弱在滑模面附近產生的抖振現象,實現不同患者在康復訓練過程中出現肌肉痙攣等特殊情況時,康復系統(tǒng)仍然可以穩(wěn)定運行,使患者仍然可以獲得良好的康復治療效果。
根據牛頓-拉格朗日動力學理論方法,患者肢體和康復訓練外骨骼所共同構成的系統(tǒng)動力學可表示為:
(1)
(2)
由式(1)可知,機器人的關節(jié)位置、速度、扭矩以及關節(jié)加速度之間關系為:
(3)
因為M(q)是對稱和正定的[6],所以M-1(q)一定存在,式(3)采用二階微分方程描述可繼續(xù)寫為:
(4)
(5)
滑??刂埔彩菭顟B(tài)反饋,屬于一種特殊的非線性控制,在控制中引入切換開關,使得非線性表現為控制的不連續(xù)性。近些年來對于滑模控制的研究越來越多,主要是因為滑??刂圃诮鉀Q系統(tǒng)結構不確定的問題以及外部干擾時具有很強的魯棒性,可以在動態(tài)過程中實時地針對系統(tǒng)的狀態(tài)調整,使系統(tǒng)跟隨預設的軌跡進行運動。而且滑動模態(tài)與受控對象以及外部擾動無關,故而滑??刂茖τ诜蔷€性系統(tǒng)有很好的效果,具有實現簡單、響應迅速、對擾動不敏感等優(yōu)點,非常適用于康復機器人等非線性系統(tǒng)。但在實際應用中,由于切換增益系數的存在,切換頻率雖然快,但是仍然具有時間延遲,所以滑??刂坡墒欠沁B續(xù)性的,理想的滑模控制不可能實現,最終系統(tǒng)控制器會在滑模面產生頻率很高的抖動,這會導致系統(tǒng)無法達到很好的康復訓練效果,而且會磨損系統(tǒng)的零件,對于系統(tǒng)的穩(wěn)定性和安全性都具有很大的影響。本文提出一種自抗擾與滑模復合控制的方法,滑模控制可以迅速到達滑模面對軌跡進行跟蹤,到達滑模面后切換為自抗擾控制,有效避免了滑模控制在滑模面可能產生的高頻抖動。其復合算法示意圖如圖1所示[9]。
圖1 自抗擾與滑模復合控制示意圖
首先設計康復設備的滑模控制,由于在構建患者的患肢與康復設備所構成的系統(tǒng)模型時,誤差不可避免,所以在設計控制器時,必須要考慮到其不確定性。令qd為理想關節(jié)角度,關節(jié)軌跡跟蹤誤差e(t)的跟蹤誤差定義為:
e(t)=qd(t)-q(t)
(6)
滑模表面定義為:
(7)
(8)
兩邊同時積分可得:
(9)
由式(9)可知,當t→∞時,跟蹤誤差將收斂為0,收斂速度取決于λ的值。
(10)
進一步根據式(4)可得:
(11)
(12)
因為滑模控制需要使控制系統(tǒng)在t≥0的時候,不斷動態(tài)調整趨近于滑模面S=0,直至最終保持在滑模面。如果狀態(tài)軌跡在滑模面之外,還未到達滑模面,則需要切換到達滑模面。增加一個變量項kfsgn(S),使狀態(tài)軌跡可以穿越S=0平面,則設計系統(tǒng)的控制律為:
(13)
(14)
由于滑??刂破溟_關切換存在一定的時滯性,切換系數使控制器在切換面上下震蕩產生抖振,所以減弱甚至避免抖振很重要。根據式(13)對于滑??刂坡傻脑O計可知,如果可以對輸入到系統(tǒng)的外部擾動信號進行預測,在控制律中進行補償,可以增強滑模控制的效果。而且系統(tǒng)中存在的不確定性以及外部擾動是未知的,因此可以使用ESO將系統(tǒng)模型內部非線性因素和外部干擾視為要觀測的擴展狀態(tài),用于估計控制律中存在的總擾動。因此,設計自抗擾控制部分時,可以將擴展狀態(tài)觀測器同時應用于滑模控制器,使用ESO在控制輸入中估計和補償系統(tǒng)中的非線性擾動以及外部施加的人體痙攣等的干擾信號,依靠基于擴展狀態(tài)觀測器的滑??刂婆c自抗擾復合控制,減弱系統(tǒng)到達滑模面后的抖動。
2.2.1微分觀測器(TD)
根據輸入的理想軌跡信號,安排對于理想軌跡的過渡過程,即使輸入的理想軌跡信號存在噪聲,依然可以得到光滑的輸入量,便于系統(tǒng)的實時跟蹤。設計微分跟蹤器(TD)[12]:
(15)
式中:qd是輸入的規(guī)劃軌跡信號;x1、x2分別為輸入軌跡信號的跟蹤信號以及跟蹤信號的微分信號;r表示速度因子,值越大逼近速度越快,根據實際被控對象的可承受能力調節(jié);h為時間步長。最速綜合函數fhan(x1,x2,r,h)[12]表述為:
(16)
2.2.2擴展狀態(tài)觀測器
針對患肢與康復設備共同構成的系統(tǒng),利用ESO估計系統(tǒng)中非線性項和人體施加的擾動項之和d,設計擴展狀態(tài)觀測器(ESO)[12]:
(17)
式中:E是擴展狀態(tài)觀測器(ESO)的估計誤差;β1、β2和β3是觀測器的增益;觀測器的輸出Z1為跟蹤信號;Z2為跟蹤微分信號;Z3是系統(tǒng)內部非線性項以及外部人體施加的干擾項之和的實時觀測值[12],因此在反饋中,Z3用于補償干擾。
(18)
(19)
再由式(17)可知,估計誤差由β1、β2、β3、α、δ確定,可以根據經驗公式確定觀測器參數大致范圍,然后選擇合適的參數,選擇0<α<1,δ>0,這樣就可以將估計誤差限制到很小。
2.2.3非線性組合(NLSEF)
根據微分跟蹤器對于給定軌跡信號的跟蹤以及微分信號的跟蹤輸出結果,分別與被控對象輸出的跟蹤軌跡以及跟蹤微分信號作差,得到誤差信號e1以及誤差微分信號e2,采用PD控制,輸出控制信號ut:
ut2=kpfal(e1,α1,δ)+kdfal(e2,α2,δ)
(20)
設置一個較小的切換閾值thr,得到控制信號:
(21)
系統(tǒng)結構如圖2所示。
圖2 控制算法結構
為了證明算法的穩(wěn)定性,首先證明基于擴展狀態(tài)觀測器的滑??刂频氖諗啃裕瑯嫿ɡ钛牌罩Z夫函數如下:
(22)
由于公式是連續(xù)非負的,計算式(22)中V對時間的導數可得:
(23)
其中由于:
(24)
將式(13)代入,得:
(25)
(26)
s·sgn(S)兩者點乘結果一定為正,所以可以推得:
(27)
(28)
為了驗證本文方法的有效性,以一個典型的雙關節(jié)剛性機械康復設備作為研究對象,使用MATLAB進行仿真,結構如圖3所示[6],其中:參數m1、m2為兩連桿的質量;l1、l2為兩連桿長度;q1、q2為連桿和電機的轉角,也是關節(jié)角度;I=mr2為連桿的轉動慣量;r為質心距連桿轉動中心的距離;g=9.8。參數具體取值如表1所示。
圖3 仿真系統(tǒng)模型
表1 兩自由度模型結構參數
系統(tǒng)Simulink實驗仿真圖如圖4所示。
圖4 Simulink仿真圖
仿真模塊結構與圖2相對應。其中:Input_signal為輸入的理想軌跡;SMC_Func為基于擴展狀態(tài)觀測器的滑??刂颇K,具有四個輸入,分別為給定輸入信號、跟蹤信號、跟蹤微分信號、誤差觀測值,其中跟蹤信號、跟蹤微分信號均由被控對象輸出得到;External_Inf為外部干擾信號;ADRC_Levant、ADRC_Func和ESO分別為ADRC的微分觀測器、非線性組合和擴展狀態(tài)觀測器;Controlled_obj為被控對象,具有三個輸入信號,分別為外部干擾信號、ESO-SMC控制信號、ADRC控制信號,根據跟蹤誤差決定切換使用哪個控制方式。
根據文獻[17]中對于人體痙攣信號的研究描述,分別使用加入了隨機噪聲的三角波信號模擬人體痙攣信號,仿真中模擬人肢體反饋至兩關節(jié)系統(tǒng)的痙攣信號分別為:
式中:square(4πt,65)表示產生一個周期為4π、幅值為±1、占空比為65%的周期性方波;rand表示一個隨機數;sawtooth(2π×10t,0.8)表示生成一個周期為0.1 s,最大值出現在周期0.8 s時的三角波。
施加在被控對象兩關節(jié)的痙攣信號如圖5所示,當未采用擴展狀態(tài)觀測器時,位置跟蹤信號、跟蹤誤差、控制輸入信號分別如圖6-圖9所示。
圖5 施加在雙關節(jié)的痙攣信號
圖6 雙關節(jié)位置信號與跟蹤信號(SMC)
圖7 滑??刂戚斎胄盘?SMC)
由圖6和圖8可知,當在康復訓練的過程中,面對人體肌肉出現突然的抖動突變信號或者是痙攣現象時,滑??刂品椒ㄔ陔p關節(jié)僅分別使用了約0.6 s和1.2 s便將誤差收斂至接近0,系統(tǒng)趨于穩(wěn)定,具有良好的控制效果,但是跟蹤誤差會在降低到0值附近時出現持續(xù)波動,在滑模面出現很明顯的抖振現象,而無法很好地保持很高的跟蹤精度。由圖9可知,僅使用自抗擾的控制方法,則在雙關節(jié)分別使用了約1.5 s的時間才將誤差收斂至接近0,速度明顯慢于SMC控制的誤差收斂速度,明顯慢于滑??刂疲窃诜€(wěn)定后可以保持很高的跟蹤精度,沒有出現明顯抖振的現象。
圖8 雙關節(jié)軌跡跟蹤誤差(SMC)
圖9 雙關節(jié)軌跡跟蹤誤差(ADRC)
設置自抗擾與滑模復合控制中的切換閾值thr=0.002,當誤差降到閾值以下時,自動由滑模控制切換為自抗擾控制。使用滑模與自抗擾復合控制的系統(tǒng)雙關節(jié)的跟蹤誤差、控制輸入信號、擴展狀態(tài)觀測器的輸出分別如圖10-圖12所示。
圖10 雙關節(jié)軌跡跟蹤誤差(SMC+ADRC)
圖11 滑模與自抗擾復合控制輸入信號(SMC+ADRC)
圖12 針對關節(jié)1的ESO輸出值(ESO)
由圖10-圖13可知,設計的自抗擾與滑模復合控制方法可以對系統(tǒng)內部的非線性項以及外部的高頻非線性痙攣信號或者是突變信號實現很好的跟蹤,對輸入的軌跡實現良好的跟蹤效果。從圖10中可以看出,在使用滑??刂茖⒄`差降低到設定的閾值以下時,控制系統(tǒng)進行了控制信號的切換,在此切換的瞬間,關節(jié)1跟蹤誤差出現了最高幅值為0.002大小的波動,進而逐漸降低,持續(xù)0.2 s后恢復穩(wěn)定跟蹤狀態(tài),關節(jié)2瞬間出現最高幅值為0.03的波動,進而逐漸減低,0.1 s后恢復至穩(wěn)定跟蹤狀態(tài)。由跟蹤誤差變化的幅度可知,貫穿滑??刂婆c自抗擾控制的擴展狀態(tài)觀測器起到了良好的連接作用,使得切換瞬間表現在末端軌跡的跟蹤誤差可以控制在很小的范圍內。
圖13 系統(tǒng)非線性項和外部干擾信號以及跟蹤信號
由滑??刂魄袚Q為自抗擾控制,使得軌跡跟蹤誤差在系統(tǒng)到達滑模面后有了明顯的降低,避免了滑??刂圃诘竭_滑模面后產生的抖振現象。切換過程中雖然出現了短暫的小幅抖動,但抖動的幅度很小,而且很快便可以恢復穩(wěn)定。
由仿真實驗結果可知,本文方法可以在患者肢體可能出現的痙攣抖動情況或是突加負載的情況下,對系統(tǒng)內部的非線性項以及外部的干擾信號進行準確快速的跟蹤,使用滑??刂蒲杆俚母櫳项A設的軌跡信號,然后在接近滑模面時切換為自抗擾控制,有效地避免了傳統(tǒng)滑模控制的抖振問題,增強了系統(tǒng)的魯棒性,且使得系統(tǒng)具有很好的跟蹤效果,可以使系統(tǒng)盡量以最小的輔助力幫助患者完成訓練任務。
上肢康復機器人是輔助患肢進行康復運動的設備,所以需要考慮患肢的受損能動程度以及康復過程中患者可能出現的痙攣、抽筋等情況,使設備盡可能地幫助患者完成訓練任務,實現最好的康復效果。為了實現這個控制目標,本文提出一種自抗擾與滑模復合控制的控制方法,分析了算法的設計推導過程,并進一步通過仿真實驗證明了系統(tǒng)的穩(wěn)定性,增強了訓練過程滑??刂频竭_滑模面后的軌跡跟蹤精度。實驗結果表明,該方法在上肢康復訓練任務時雖然控制切換時會產生抖動,但抖動輕微且可以快速恢復,過程具有較高的軌跡跟蹤精度和有良好的抗干擾能力,而且對系統(tǒng)的內部參數變化具有很好的魯棒性。