狄偉翔, 曹東興, 張 琦, 甘曉萌
(河北工業(yè)大學(xué) 機械工程學(xué)院,天津 300130)
智能爬樓輪椅的出現(xiàn)為老年人及殘疾人士的出行提供了一定的方便,但其作為一種復(fù)雜的機電產(chǎn)品,要想實現(xiàn)整體的功能,需要各部分的協(xié)調(diào)配合,為此就必須對每一部分設(shè)計一套精準(zhǔn)的控制系統(tǒng)。就爬樓輪椅的后腿機構(gòu)而言,其在運動過程具有高度的非線性,無法對其建立明確的控制模型,且執(zhí)行構(gòu)件在運動過程中具有一定延后性。本文控制任務(wù)是將后腿機構(gòu)兩滑塊的距離調(diào)整到上位機下發(fā)的目標(biāo)值,以便準(zhǔn)確調(diào)整后腿位姿。目前常采用比例—積分—微分(proportion-integration-differentiation,PID)控制或者模糊控制,若采用常規(guī)PID控制,控制參數(shù)整定較難,且動態(tài)特性較差,但其控制精度較高[1];若采用簡單模糊控制,由于其只能按檔位處理,一般在“區(qū)域零”存在著靜態(tài)誤差,但其抗干擾性和動態(tài)性能較好[2]。為此,本文將兩者結(jié)合起來對后腿位姿調(diào)節(jié)機構(gòu)進行分段控制,當(dāng)誤差大于某個閾值時,切換到模糊控制,以便提高系統(tǒng)的響應(yīng)速度;而當(dāng)誤差小于某個閾值時,切換到PID控制,以便消除靜態(tài)誤差,提高控制精度[1~3]。
爬樓輪椅的后腿機構(gòu)主要在輪椅上下樓梯和越障時啟動,可以增大攀爬力,輔助輪椅完成上下樓和跨越障礙,同時還能夠在一定程度上調(diào)整整個輪椅車的重心[4]。整個后腿機構(gòu)安裝于底盤上并通過后腿電機提供動力調(diào)節(jié)位姿,其傳動示意圖如圖1所示。當(dāng)后腿電機轉(zhuǎn)動時,如果離合器吸合動力便會通過齒輪組傳遞到絲杠,進而使滑塊1和滑塊2沿絲杠滑動。其中,滑塊1在水平方向運動,滑塊2在豎直方向運動。而滑塊通過連桿機構(gòu)與后腿架連接,這樣便可以通過滑塊1和滑塊2的運動來調(diào)節(jié)整個后腿機構(gòu)的位姿。同時在后腿架上安裝有排輪,其動力源由排輪電機提供,當(dāng)后腿架位姿調(diào)節(jié)到位后,排輪便會與臺階接觸,對整個輪椅起到助推作用。
圖1 后腿機構(gòu)傳動示意
本項目中爬樓梯輪椅后腿機構(gòu)屬于并聯(lián)五桿機構(gòu),具有兩個自由度,分別為兩個曲柄的轉(zhuǎn)動,其機構(gòu)簡圖如圖2所示。桿b1和桿b4稱為驅(qū)動桿,分別對應(yīng)于圖1中的曲柄1和曲柄2,桿b2代表執(zhí)行桿(也稱作后腿架)。后腿架前后兩端為曲柄滑塊機構(gòu),兩滑塊運動驅(qū)動兩曲柄轉(zhuǎn)動,進而帶動執(zhí)行桿運動,最終讓后腿架調(diào)節(jié)到指定的位姿[4]。
圖2 后腿機構(gòu)簡圖
為了精確控制執(zhí)行桿的運動,需要在后腿機構(gòu)中加入2只距離傳感器,以便對后腿運動情況實時監(jiān)測。傳感器安裝在機架上,位置如圖2所示,分別測量各傳感器到滑塊O′1的距離d1和到滑塊O′2的距離d2。同時,為了監(jiān)控后腿位姿調(diào)整的準(zhǔn)確性,還在后腿架上安裝了1只角度傳感器,測量后腿架與水平面的角度,而在程序處理中還需要結(jié)合底盤傳感器將其換算為與底盤的角度才有參考價值。
硬件部分主要由控制器、傳感器模塊、通信模塊、步進電機模塊、按鍵及報警模塊以及為保證控制器及電機正常工作的輔助模塊組成,具體的系統(tǒng)硬件組成框圖如圖3所示。其中,控制器采用了TMS320F2812,LED和蜂鳴器模塊可以實現(xiàn)報警功能;而距離和角度傳感器分別選用了夏普紅外傳感器和MMA8452數(shù)字式角度傳感器;上位機通信采用RS—232異步串口通信。在對后腿位姿調(diào)節(jié)過程中加入了離合器,這樣電機就可以在離合器斷開狀態(tài)下“空載啟動”;而當(dāng)滑塊運動到指定距離后也不需要電機停止,只需讓離合器斷開,電機維持低速運行即可。這樣就方便了下一次位姿調(diào)節(jié),同時也避免了電機的“重復(fù)啟停”問題。
圖3 系統(tǒng)硬件框圖
由于后腿是二自由度的五桿機構(gòu),其水平方向和豎直方向的運動由離合器分離且完全獨立,同時從水平絲桿到豎直絲杠的傳動比為1且兩絲桿螺距都為5 mm,為此在設(shè)計過程中只需要設(shè)計一套復(fù)合型Fuzzy-PID控制器就可以對后腿的水平運動和豎直運動精確控制,并將其閾值設(shè)為5 mm。由于穩(wěn)態(tài)誤差主要靠積分環(huán)節(jié)消除,實際控制過程中只采用了Fuzzy-PI復(fù)合控制器,設(shè)計得到的控制系統(tǒng)框圖如圖4所示[6]。
圖4 后腿機構(gòu)復(fù)合型Fuzzy-PID系統(tǒng)框圖
圖4中控制器的輸入變量為傳感器系統(tǒng)測量的實際距離d與給定目標(biāo)距離dm之間的偏差e=d-dm及其變化率e′;輸出變量為電動機的轉(zhuǎn)速u。常規(guī)PID控制算法原理如式(1)
(1)
式中kp為比例系數(shù),Ti為積分時間常數(shù),Td為微分時間常數(shù)。該式為連續(xù)狀態(tài)公式,為了便于程序的實現(xiàn),需要將其離散化,假設(shè)采樣周期為T,則在KT時刻離散化可得到位置式PID公式(2)
(2)
式中ki=kp·T/Ti為積分系數(shù),kd=kp·Td/T為微分系數(shù),其參數(shù)的調(diào)節(jié)主要根據(jù)經(jīng)驗和現(xiàn)場的調(diào)試來確定,將微分系數(shù)設(shè)為0時PID調(diào)節(jié)便可轉(zhuǎn)換為PI調(diào)節(jié)。
為了進一步提高積分項的運算精度,從而更好地消除靜態(tài)誤差,可以將式(2)中的矩形積分改為梯形積分,則最終的計算公式為
kd[e(k)-e(k-1)]
(3)
比例—積分(proportion-integration,PI)控制器最終采用了式(3)所示的原理,實際控制過程中參數(shù)kd為0,并且設(shè)置了積分限幅和輸出限幅。而模糊控制器選擇了一個雙輸入、單輸出結(jié)構(gòu)的二維模糊控制器,這里主要分析模糊控制器的設(shè)計過程。
3.2.1 偏差E賦值表
后腿機構(gòu)兩滑塊的最大運動距離為100 mm,但考慮到后腿位姿在實際調(diào)節(jié)過程中不可能大幅變化,將其偏差e的基本論域定為[-30,+30]mm便可滿足實際需求。如果選定E的論域X={-6,-5,…,-0,+0,…,+5,+6},就可以得到偏差e的量化因子ke=6/30=0.2,其語言變量E選取8個語言值:{PB,PM,PS,PO,NO,NS,NM和NB}來分別表示偏差“正大,正中,正小,正零,負(fù)零,負(fù)小,負(fù)中,負(fù)大”。根據(jù)實驗經(jīng)驗,可以確定出其隸屬度函數(shù)μ(x)和語言量變量E的賦值表,如表1所示。
表1 E的隸屬度函數(shù)
3.2.2 偏差變化率EC的賦值表
在實驗過程中電機轉(zhuǎn)速較慢,為此滑塊運動速度也較慢,通常其偏差變化率維持在6 mm/s內(nèi),為此偏差變化率e′的范圍為[-6~6]mm/s,并且將該范圍每1 mm/s劃分一個檔位,這樣就可以將偏差變化率e′的語言變量EC的論域定為Y={-6,-5,…,0,...,+5,+6},此時偏差變化率的量化因子k′e=6/6=1。EC的語言變量選{PB,PM,PS,O,NS,NM,NB}來分別表示偏差變化率EC“增加很快,增加快,增加慢,不變,減小慢,減小快,減小很快”。根據(jù)實驗經(jīng)驗,可以確定出模糊子集{PB,…,NB}的隸屬度函數(shù)μ(x),進而建立語言變量EC的賦值表,如表2所示。
表2 EC的隸屬度函數(shù)
3.2.3 輸出語言變量U的賦值表
模糊控制器的輸出量為電機轉(zhuǎn)速,將其分為6個檔位(分別為-600,-500,...,500,600 r/min)數(shù)值越大電機轉(zhuǎn)速越快,數(shù)值前面的正負(fù)號代表電機轉(zhuǎn)動的方向,這樣便可以將其論域定為[-6,+6],輸出量的比例因ku=600/6=100.選取其語言變量值為{PB,PM,PS,O,NS,NM,NB}來分別表示輸出變量U“正轉(zhuǎn)快,正轉(zhuǎn)較快,正轉(zhuǎn)慢,停止,反轉(zhuǎn)慢,反轉(zhuǎn)較快,反轉(zhuǎn)快”。通過經(jīng)驗可以確定其模糊子集{PB,...,NB}的隸屬度函數(shù)μ(x)和其語言變量U的賦值表,如表3所示。
表3 U的隸屬度函數(shù)
根據(jù)實際操作經(jīng)驗,如果實際距離小于目標(biāo)距離且相差很大,并且具有很大的減小趨勢,則此時電機應(yīng)該快速正轉(zhuǎn),則此模糊規(guī)則表述為
ifE=NB andEC=NB thenU=PB
這樣一共可以形成56條控制語句,將這56條語句制成一個表格[6],并稱其為后腿位姿調(diào)節(jié)控制系統(tǒng)的模糊狀態(tài)表,如表4所示。
表4 模糊控制規(guī)則表
上述表中規(guī)則R1按照模糊理論中的關(guān)系式可表示為
R1=[(PB)E×(PB)EC]T×(NB)U
(4)
該表格中每條控制規(guī)則之間通過“或”關(guān)系連接,這樣便可得到整個控制系統(tǒng)模糊控制規(guī)則的總模糊關(guān)系,即
(5)
通過模糊規(guī)則輸出的是一個模糊量,該量并不能直接控制步進電機,為此就需要通過模糊判決將其轉(zhuǎn)換為一個精確量。常用的清晰化算法有最大隸屬度法、重心法和加權(quán)平均法[6],本文應(yīng)用重心法對模糊控制器輸出解模糊,其是將隸屬度函數(shù)與橫坐標(biāo)所圍面積的重心作為輸出量,離散化后的公式如式(6)所示
(6)
式中μN(xi)為其隸屬度
此時得到的“4”便為輸出量U的精確量。如果所得結(jié)果為小數(shù),程序還需要對其進行“取整”,通過這種方法便可以得到總的模糊控制查詢表。將其存于DSP的存儲空間中,通過查表子程序?qū)崟r調(diào)用,這樣既簡化了控制程序的復(fù)雜性同時又提高了控制的實時性[7]。
在實際控制過程中,只需要將每一個控制周期內(nèi)采集得到的實測偏差e(k)和計算得到的偏差變化e(k′)分別乘以量化因子ke和k′e取得對應(yīng)論域元素表中的元素,然后就可以根據(jù)坐標(biāo)找到對應(yīng)的控制量,再將其乘以比例因子ku便可以得到最終的電機轉(zhuǎn)速[6]。
系統(tǒng)測試分為手動測試和自動測試,其中,手動測試是利用按鍵來完成相應(yīng)動作,目的是測試后腿機構(gòu)動作是否流暢;而自動測試是在手動測試完成后,通過上位機向下位機發(fā)送數(shù)據(jù)來自動控制后腿動作。整個測試程序的流程圖如圖5所示。當(dāng)上位機根據(jù)后腿運動模型下發(fā)兩滑塊運動距離后,下位機會將接收到的數(shù)據(jù)與傳感器采集得到的實際距離對比,進而算出偏差及其變化率,然后通過模糊推理或者PI調(diào)節(jié)輸出電機應(yīng)該轉(zhuǎn)動的速度,最終控制兩滑塊運動到目標(biāo)距離。
圖5 測試程序流程
如圖6為爬樓輪椅測試后腿機構(gòu)越過某障礙時的一組數(shù)據(jù),上位機根據(jù)行為圖模型下發(fā)滑塊一和滑塊二的目標(biāo)距離為分別為80,50 mm,通過傳感器測得滑塊一當(dāng)前距離為62.18 mm,滑塊二當(dāng)前距離為33.21 mm。經(jīng)過程序的自動調(diào)控,最終滑塊停留在了目標(biāo)距離±1 mm的范圍內(nèi),將后腿機構(gòu)的位姿調(diào)整到了預(yù)定角度。然后通過安裝于后腿架上排輪的助推作用,成功越過了障礙。通過傳感器監(jiān)測到的實時數(shù)據(jù),分別繪制了不同控制策略下d1,d2隨時間變化的曲線。
圖6 實驗測試結(jié)果
通過分析滑塊一的運動曲線可知,通過常規(guī)PID調(diào)節(jié)大概需要8 s到達(dá)目標(biāo)值,且在調(diào)節(jié)過程中超調(diào)量較大,動態(tài)性能較差,但其穩(wěn)態(tài)誤差較小。而使用簡單模糊控制器系統(tǒng)響應(yīng)較快,大概需要4 s,但最終存著1~2 mm的靜態(tài)誤差,這是因為模糊控制器按檔位處理,而檔位零對應(yīng)一個區(qū)間,當(dāng)偏差處于檔位零時系統(tǒng)便認(rèn)為已經(jīng)調(diào)節(jié)到目標(biāo)距離。而使用復(fù)合式Fuzzy-PID調(diào)節(jié)后,系統(tǒng)響應(yīng)速度介于二者之間,大概需要5.5 s,具有較好的動態(tài)和靜態(tài)性能,雖然在閾值處會有較小的振蕩,但整體控制效果較好,可以達(dá)到控制需求。分析滑塊二也可以得到同樣的結(jié)論。但為了讓系統(tǒng)的控制效果更加精確,需要對影響因素進行分析,大致有傳感器的測量誤差和安裝誤差,電機運行及工作環(huán)境對控制硬件的干擾以及控制方法的不完善等[7]。為此今后可以在這幾個方面對該控制系統(tǒng)作進一步的優(yōu)化。
經(jīng)實驗測試結(jié)果表明:Fuzzy-PID控制器與常規(guī)PID控制器相比,大大提高了系統(tǒng)抗外部干擾和適應(yīng)內(nèi)部參數(shù)變化的魯棒性,減小了超調(diào)量,改善了動態(tài)特性;與簡單模糊控制器相比,它減小了穩(wěn)態(tài)誤差,提高了平衡點的穩(wěn)定度,達(dá)到了控制需求。