(東華大學(xué) 機(jī)械工程學(xué)院,上海 201620)
隨著社會老齡化的加劇和人民生活水平的提高,由腦卒中、脊髓損傷、腦外傷等原因造成的殘障人口迅速增長[1]。同時,各類肢體殘疾患者需要醫(yī)療康復(fù)和輔助設(shè)備,然而國內(nèi)現(xiàn)在資源不足,相關(guān)產(chǎn)業(yè)人員嚴(yán)重不足??祻?fù)外骨骼機(jī)器人不僅可以為肢體力量較弱的患者提供個性化的訓(xùn)練方案,幫助他們進(jìn)行康復(fù)訓(xùn)練改善運(yùn)動功能障礙,還可以減輕治療師負(fù)擔(dān)、節(jié)約社會資源[2]。
設(shè)計的下肢康復(fù)外骨骼機(jī)器人屬于被動式運(yùn)動控制,它所起的作用是輔助使用者行走或者進(jìn)行康復(fù)訓(xùn)練。將人體步態(tài)特征分解為單獨(dú)的部分,然后將其運(yùn)動規(guī)律和驅(qū)動信息提前存入電機(jī)中,人在行走時發(fā)出指定信號,控制系統(tǒng)接收到信號進(jìn)行分析后驅(qū)動電機(jī)進(jìn)行相應(yīng)的動作[3]。
相比于傳統(tǒng)的工業(yè)機(jī)器人,下肢康復(fù)外骨骼機(jī)器人是一個多輸入多輸出機(jī)構(gòu),其不確定性和非線性都很高,因此對電機(jī)的控制能力提出了很高的要求。目前已有許多機(jī)構(gòu)與研究所制造出了樣機(jī),如加州大學(xué)伯克利分校Kazerooni教授帶領(lǐng)的團(tuán)隊在2010年推出的醫(yī)用外骨骼Ekso,Ekso通過采集患者當(dāng)前的運(yùn)動趨勢進(jìn)而控制外骨骼的運(yùn)動,并可以通過背部的控制器手動調(diào)節(jié)運(yùn)動狀態(tài)[4];韓國首爾HEXAR公司為腦卒中后偏癱患者開發(fā)的WA-H利用檢測行走時其質(zhì)心的變化,進(jìn)而調(diào)節(jié)電機(jī)進(jìn)行平衡控制[5];日本筑波大學(xué)研發(fā)的HAL-5,通過接收人體的肌電信號來分析穿戴者的運(yùn)動意圖進(jìn)而驅(qū)動電機(jī)運(yùn)動;美國Argo Medical Technologies公司開發(fā)的ReWalk利用傾角傳感器來獲得穿戴者的運(yùn)動狀態(tài)從而調(diào)整電機(jī)輸出。
但是不管采用哪種交互方式,都需要對外界輸入信號進(jìn)行判斷并得到恰當(dāng)?shù)妮敵?。?jīng)典PID控制結(jié)構(gòu)簡單且被廣泛使用,但是經(jīng)典PID控制也存在著一些問題。因此有人在經(jīng)典PID的基礎(chǔ)上進(jìn)來了改進(jìn),比如方醉敏[6]等人提出的基于專家控制規(guī)則的PID控制結(jié)構(gòu)克服了經(jīng)典PID結(jié)構(gòu)中被控對象具有非線性、時變、大純滯后等特性;孫悅[7]等人提出了改進(jìn)蟻群算法的PID參數(shù)優(yōu)化方法,通過結(jié)合蟻群算法和PID技術(shù),對PID參數(shù)進(jìn)行優(yōu)化,取得了較好的控制效果。但這些控制結(jié)構(gòu)中其參數(shù)固定,而下肢外骨骼康復(fù)機(jī)器人需要適應(yīng)不同的人群、不同的穿戴條件,所以系統(tǒng)參數(shù)會發(fā)生變化,這些控制算法已經(jīng)不能很好地滿足要求。而對諸如神經(jīng)網(wǎng)絡(luò)、滑??刂?、模糊控制等智能算法進(jìn)行對比后,由于模糊控制結(jié)構(gòu)清晰,能夠適用于各種復(fù)雜非線性問題,能夠動態(tài)改變系統(tǒng)參數(shù),所以選取其與經(jīng)典PID一起構(gòu)成模糊PID控制來實現(xiàn)下肢康復(fù)外骨骼機(jī)器人的運(yùn)動。
構(gòu)造了下肢康復(fù)外骨骼機(jī)器人的動力學(xué)模型,設(shè)計了一種開關(guān)切換式模糊PID控制方法對其進(jìn)行控制。聯(lián)合ADAMS與Matlab/Simulink 軟件進(jìn)行仿真分析對比,驗證所設(shè)計方法的合理性。由于采用了開關(guān)切換式模糊PID,其中模糊PID的參數(shù)可以根據(jù)穿戴者情況的不同進(jìn)行調(diào)節(jié)。因此本文在建模、仿真和分析的過程中未將不同佩戴者的這一因素放入其中。
ADAMS具有很強(qiáng)大的動力學(xué)分析功能,但是并不擅長構(gòu)建較為復(fù)雜的虛擬樣機(jī)模型,而下肢康復(fù)外骨骼機(jī)器人較為復(fù)雜,因此先在SolidWorks中建立其三維模型,如圖1所示,主要由腰部模塊、大腿模塊、小腿模塊、足部模塊及髖、膝、踝三個關(guān)節(jié)組成。將其三維模型保存為*.x_t格式,通過模型數(shù)據(jù)接口導(dǎo)入到ADAMS軟件中,設(shè)置材料為鋁合金和各個部位的參數(shù)。驅(qū)動電機(jī)的最大扭矩為100 N·m,最大功率為500 W。模型具體參數(shù)如表1所示。
圖1 SolidWorks中的外骨骼機(jī)器人模型
表1 外骨骼模型慣性參數(shù)
在ADAMS中對模型進(jìn)行必要的約束。由于下肢康復(fù)外骨骼機(jī)器人主要運(yùn)動是在矢狀面內(nèi),所以忽略模型在運(yùn)動時的側(cè)向擺動。在下肢髖、膝、踝關(guān)節(jié)處各設(shè)置一個轉(zhuǎn)動副,同時添加足部與地面直接的接觸力[4](碰撞接觸,剛度100 N/mm,力指數(shù)2.2,阻尼10 N·s/mm,穿透深度0.001 mm),保證模型在地面上行走而不會下陷。添加髖部與地面的水平約束,保證髖部只相對于地面平動。在左右髖、膝、踝關(guān)節(jié)處添加驅(qū)動(motion)。完成配置后的模型如圖2所示。
圖2 ADAMS中配置好的模型
人體正常行走時下肢可以分為支撐相和擺動相。支撐相指足部接觸地面和承受重力的時間,約占整個周期時長的62%;擺動相指足部離開地面向前邁步到再次落地之間的時間,約占整個周期時長的38%[5]。本文模型以支撐相為基準(zhǔn),建立動力學(xué)模型。
如圖3所示,選定坐標(biāo)系O0為基準(zhǔn)坐標(biāo)系,固定在外骨骼背部中心處,坐標(biāo)系O1位于髖關(guān)節(jié)位置并固定在大腿連桿上,坐標(biāo)系O2位于膝關(guān)節(jié)位置并固定在小腿連桿上,坐標(biāo)系O3位于踝關(guān)節(jié)位置并固定在足部。
圖3 單側(cè)腿單腿支撐模型
圖中m1、m2和m3分別為大腿連桿、小腿連桿和踝關(guān)節(jié)以下連桿的質(zhì)量;d0、l0為踝關(guān)節(jié)距離腰部中心點的距離;d1、d2和d3為各連桿的質(zhì)心距相應(yīng)關(guān)節(jié)的距離;l1、l2和l3分別為外骨骼大腿、小腿和腳的長度;θ1、θ2、θ3為髖關(guān)節(jié)、膝關(guān)節(jié)、踝關(guān)節(jié)的轉(zhuǎn)動角度;T1、T2、T3則為對應(yīng)關(guān)節(jié)的扭矩。所以,系統(tǒng)的整體動能和勢能為
(1)
(2)
則,系統(tǒng)的拉格朗日方程為
L=EK-EP
(3)
(4)
由式(1)~式(4),然后將力矩用各連桿間角度進(jìn)行表示,可以得到各關(guān)節(jié)的驅(qū)動力矩:
(5)
經(jīng)典PID控制具有結(jié)構(gòu)簡單、應(yīng)用靈活等特點。由比例(proportion)、積分(integral)、微分(derivative)三部分組成[6],其傳遞函數(shù)為
(6)
式中,Kp為比例增益;Ki為積分增益;Kd為微分增益。
在這里選用經(jīng)典PID模型而不是微分先行、增量式、控制死區(qū)等,是基于以下幾點考慮的:
① 微分先行PID控制只對輸出量進(jìn)行微分,而對給定指令不起微分作用,它適用于給定指令頻繁升降的場合,可以避免指令的改變導(dǎo)致超調(diào)過大,但是它會導(dǎo)致響應(yīng)速度變慢。而外骨骼機(jī)器人的輸入驅(qū)動信息都是平滑的曲線,很少出現(xiàn)大幅度的跳躍,且步態(tài)角度誤差e也不是很大,為了加快響應(yīng)速度,所以沒有使用微分先行PID控制。
② 增量式PID控制算法是一種遞推算法,輸出控制量增量,并無積分作用。而本外骨骼機(jī)器人需要連續(xù)改變機(jī)構(gòu)位置,時刻適應(yīng)人體姿態(tài),就需要對之前的累積誤差進(jìn)行消除,所以并不適用。
③ 帶死區(qū)的PID控制則是在經(jīng)典PID中引入了死區(qū)的概念。當(dāng)偏差小于設(shè)定之后便認(rèn)為沒有誤差不進(jìn)行調(diào)節(jié)。但是在零點附近時,若偏差較小,進(jìn)入死區(qū)后偏差變?yōu)椤?”會導(dǎo)致積分消失,此時如果系統(tǒng)依然有靜態(tài)誤差則不能消除,需要人為處理。而本外骨骼機(jī)器人需要精確的控制,如果增加死區(qū),太小的話起不到明顯作用反而增大了計算量,而設(shè)置偏大則會令輸出曲線無法緊隨輸入曲線,導(dǎo)致跟隨效果變差。
模糊控制(Fuzzy Control)是一種由模糊集理論、模糊控制邏輯和模糊語言變量為基礎(chǔ)組成的智能控制方法[7]。它能夠模仿人腦思維來對一些不方便建立數(shù)學(xué)模型的系統(tǒng)進(jìn)行控制。模糊控制系統(tǒng)主要由4個部分組成:模糊化接口、推理機(jī)、知識庫和反模糊化接口[7]。
① 模糊化接口。模糊控制器并不是什么信號都可以識別的,在進(jìn)行模糊推理之前,需要將輸入信號轉(zhuǎn)化為推理機(jī)可以識別的模糊量,模糊化接口就是完成這部分工作。轉(zhuǎn)化后的模糊量用模糊子集來表示。
② 推理機(jī)。根據(jù)規(guī)則庫的條件,將模糊化的輸入變量變?yōu)檩敵鲎兞康慕Y(jié)構(gòu)。
③ 知識庫。包含規(guī)則庫和數(shù)據(jù)庫兩個部分。數(shù)據(jù)庫存有所有的輸入、輸出變量的全部模糊子集的信息;而規(guī)則庫則是模糊控制的一個核心,如何根據(jù)不同輸入量得出適當(dāng)?shù)妮敵隽?,這取決于一個規(guī)格庫設(shè)計的是否合理。規(guī)則庫通常使用if…is…and…is…then…is…的形式來編寫。
④ 反模糊接口。模糊化的輸入變量經(jīng)過推理機(jī)后,得到的仍是模糊化的輸出變量,不能直接被控制器所識別,需要將其變?yōu)榫_量。反模糊接口通常使用最大隸屬度法、重心法、加權(quán)平均法等方法來進(jìn)行反模糊處理。
由于下肢康復(fù)機(jī)器人具有非線性和強(qiáng)耦合性,所以參數(shù)固定的經(jīng)典PID控制器無法滿足精確控制的要求,但是通過模糊控制器自整定參數(shù)后可以解決這一問題。
PID參數(shù)Kp、Ki、Kd的自整定公式如下:
(7)
式中,Kp(0)、Ki(0)、Kd(0)為PID控制器初始值,ΔKp、ΔKi、ΔKd為模糊控制器的自整定輸出量。
2.1.1 確定模糊控制器結(jié)構(gòu)
在此綜合控制器中,模糊控制器的主要作用是根據(jù)輸入變量,即關(guān)節(jié)步態(tài)角度誤差e及其微分ec,不斷整定PID控制器的參數(shù)Kp、Ki、Kd,得到輸出變量ΔKp、ΔKi、ΔKd,因此采用二輸入三輸出的形式。將輸入變量與輸出變量的模糊集均設(shè)定為7擋的{NB(負(fù)大)、NM(負(fù)中)、NS(負(fù)小)、ZO(零)、PS(正小)、PM(正中)、PB(正大)}[8]格式。這樣擋極多,規(guī)則制定靈活、細(xì)致,可以適應(yīng)不同條件下的控制。同時將輸入、輸出變量量化到(-3,3)區(qū)域,論域為{-3,-2,-1,0,1,2,3}。
2.1.2 確定輸入輸出變量的隸屬度函數(shù)
因為需要較高的分辨率與靈敏度,因此選用隸屬函數(shù)形狀較尖的三角形隸屬函數(shù),能對誤差做出快速反應(yīng),適合在線整定參數(shù)的模糊PID控制[9]。
2.1.3 建立模糊控制規(guī)則
模糊PID控制器的重中之重就是模糊規(guī)則的制定,規(guī)則的好壞決定了控制器能否準(zhǔn)確、快速地對輸入量進(jìn)行正確的識別與輸出??刂破鞲鶕?jù)關(guān)節(jié)步態(tài)角度誤差e及其微分ec作為輸入來對PID控制器的參數(shù)進(jìn)行自整定調(diào)整,因此,可以利用PID參數(shù)的配置經(jīng)驗[10-13]:
① 當(dāng)輸入誤差|e|較大時,為了使控制系統(tǒng)迅速地響應(yīng),應(yīng)設(shè)置較大的Kp。同時為了避免因e的突然變化導(dǎo)致微分過飽和,設(shè)置較小的Kd值。最后令Ki=0保證系統(tǒng)不會產(chǎn)生較大的超調(diào),發(fā)生積分飽和現(xiàn)象。
② 當(dāng)輸入誤差|e|處于中等大小時,適當(dāng)減小Kp的值來保證超調(diào)量處于合適的范圍。此時微分會對系統(tǒng)產(chǎn)生較大影響,應(yīng)取適中的值保證系統(tǒng)的響應(yīng)速度。
③ 當(dāng)輸入誤差|e|接近設(shè)置值時,可以適當(dāng)增大Kp和Ki的取值來保證系統(tǒng)的穩(wěn)定性。同時,根據(jù)ec的值來設(shè)定Kd的值。ec較大時,Kd取較大值;ec較小時,Kd取較小值。
基于以上經(jīng)驗,初步配制出Kp、Ki、Kd的模糊控制規(guī)則,如表2所示。
表2 Kp、Ki、Kd的模糊規(guī)則
2.1.4 去模糊化
關(guān)節(jié)步態(tài)角度誤差e及其微分ec經(jīng)過推理機(jī)推理后,得到模糊輸出值U。U是一個模糊子集,需要通過去模糊化才能變成精確控制量u。目前常用的方法有加權(quán)平均法、最大隸屬度法和重心法。本文使用工業(yè)控制中廣泛應(yīng)用的加權(quán)平均法來進(jìn)行去模糊處理[10]。輸出值由式(8)決定:
(8)
式中,μ(y)為元素y對所屬模糊集的隸屬度。
雖然模糊PID控制器可以自整定PID參數(shù),有很強(qiáng)的適應(yīng)性,但是模糊規(guī)則較多,且系統(tǒng)中不只有一塊模糊PID控制器,整體模糊計算量非常大,會影響計算速度,造成反應(yīng)速度變慢。經(jīng)典PID控制器結(jié)構(gòu)簡單,計算量小,所以將二者結(jié)合起來,取長補(bǔ)短。
因此開關(guān)切換式模糊PID控制器比單純的模糊PID控制器響應(yīng)速度更快,比單純的經(jīng)典PID控制器精度更好,穩(wěn)定性更好,整體震蕩和超調(diào)都較小。其控制系統(tǒng)結(jié)構(gòu)示意圖如圖4所示。它可以根據(jù)輸入變量|e|的大小靈活使用不同控制方法。輸入變量|e|是期望數(shù)值與跟隨數(shù)值的差值,它的大小決定了驅(qū)動電機(jī)的輸出功率的大小同時也能夠反映出輸入與輸出信號之間是否有大的數(shù)值跳躍,所以選取其作為切換的條件。當(dāng)輸入變量|e|大于設(shè)定值時,控制器采用模糊PID控制器來對參數(shù)進(jìn)行自整定,使輸出結(jié)果更加精確。反之則使用經(jīng)典PID控制,節(jié)省大量的時間,保證整體控制具有良好的響應(yīng)速度。
圖4 開關(guān)切換式模糊PID控制系統(tǒng)結(jié)構(gòu)示意圖
前文已對模型進(jìn)行了動力學(xué)分析,同時設(shè)計了開關(guān)式模糊PID控制器,所以基于ADAMS與Matlab進(jìn)行聯(lián)合仿真分析。
根據(jù)動力學(xué)分析,然后采用負(fù)反饋控制,下肢外骨骼康復(fù)機(jī)器人控制模型的傳遞函數(shù)為[14]
(9)
由于不同的關(guān)節(jié)步態(tài)特征不同,需要采用不同的傳遞函數(shù)來單獨(dú)驅(qū)動。本文以髖關(guān)節(jié)為例進(jìn)行仿真分析。根據(jù)模型參數(shù),可以得到a=5,b=5,k=100。如圖5所示,在Simulink中完成各種控制器模型的搭建?!癙ID control”模塊即為經(jīng)典PID控制器,“fuzzy control”模塊為模糊控制器,兩者聯(lián)合組成“fuzzy-PID”模糊PID控制器。結(jié)果是由模糊PID控制器產(chǎn)生還是經(jīng)典PID控制器產(chǎn)生取決于閾值|u|的選擇。
圖5 開關(guān)切換式模糊PID控制器仿真模型
根據(jù)式(5)計算出個關(guān)節(jié)所需驅(qū)動后,代入圖6中。圖6中 Sub模塊即為封裝好后的開關(guān)切換式模糊PID控制器;Adams_sub模塊為ADAMS模型在Simulink中的動力學(xué)控制模塊。輸入各關(guān)節(jié)的驅(qū)動信息,經(jīng)過不同參數(shù)的控制器后,ADAMS接收到信號然后產(chǎn)生相應(yīng)的運(yùn)動,最后將關(guān)節(jié)角度信息返回到Simulink中。模型運(yùn)動圖如圖7所示。以髖關(guān)節(jié)為例,下肢康復(fù)外骨骼機(jī)器人模型關(guān)節(jié)的理論運(yùn)動軌跡與經(jīng)過不同控制器后的實際運(yùn)動軌跡圖及其誤差圖如圖8所示。
由于理論軌跡不是從0°開始的,所以不論是經(jīng)典PID控制器還是模糊PID控制器都有一個從0°逼近理論值的過程。由圖8(b)可知,經(jīng)典PID與模糊PID控制器經(jīng)過很短的時間后都可以較好地跟隨目標(biāo)曲線,但是經(jīng)典PID控制器跟隨時超調(diào)量在3°左右,而且逼近目標(biāo)曲線后仍有1°~2°的誤差,而模糊PID控制器超調(diào)量很小,在0.5°左右,其后的跟隨過程波動幅值很低,基本與目標(biāo)曲線重合,具有很好的控制效果。同時根據(jù)圖8(b)可以看出模糊PID控制的跟隨曲線穩(wěn)定所需的時間約占總時長的15%,而經(jīng)典PID控制的跟隨曲線穩(wěn)定所需的時間約占總時長的30%。由此說明模糊PID控制具有良好的精度且響應(yīng)速度較快。
將模糊PID控制器與經(jīng)典控制器通過開關(guān)組合起來,形成開關(guān)式模糊PID控制器,具體模型如圖7所示。同樣的條件進(jìn)行仿真后,將結(jié)果與模糊PID控制器進(jìn)行對比,得到結(jié)果如圖9所示。
圖6 ADAMS與Simulink聯(lián)合仿真圖
圖7 模型仿真運(yùn)動圖
圖8 控制精度比較
圖9 模糊PID與開關(guān)式模糊PID對比圖
從圖9可以看出,開關(guān)式模糊PID控制器跟隨曲線與模糊PID控制器的跟隨曲線趨勢一致,幅值大小也基本一致,誤差保持在0.6°以內(nèi),能夠很好地完成模糊PID所完成的工作,但是所需的計算量會減少很多。
采用了開關(guān)切換式模糊PID控制器來對下肢康復(fù)外骨骼機(jī)器人進(jìn)行運(yùn)動控制研究。為了更好的驗證控制效果,對外骨骼機(jī)器人進(jìn)行了三維建模和動力學(xué)分析,并將其導(dǎo)入仿真分析軟件ADAMS中,與Matlab/Simulink進(jìn)行聯(lián)合仿真。仿真過程中代入模型動力學(xué)分析后的力矩驅(qū)動信息,開關(guān)式模糊PID控制器控制模型運(yùn)動獲得跟隨曲線。通過跟隨曲線與目標(biāo)曲線的對比分析,可以看出開關(guān)式模糊PID控制器比傳統(tǒng)PID經(jīng)典控制超調(diào)量更小,角度變化更加精確,與模糊PID控制器相比,在計算量更小的前提下,控制精度相似,能夠保證穿戴者與下肢康復(fù)外骨骼機(jī)器人運(yùn)動協(xié)調(diào)一致。