狄偉翔, 曹東興, 張 琦, 甘曉萌
(河北工業大學 機械工程學院,天津 300130)
智能爬樓輪椅的出現為老年人及殘疾人士的出行提供了一定的方便,但其作為一種復雜的機電產品,要想實現整體的功能,需要各部分的協調配合,為此就必須對每一部分設計一套精準的控制系統。就爬樓輪椅的后腿機構而言,其在運動過程具有高度的非線性,無法對其建立明確的控制模型,且執行構件在運動過程中具有一定延后性。本文控制任務是將后腿機構兩滑塊的距離調整到上位機下發的目標值,以便準確調整后腿位姿。目前常采用比例—積分—微分(proportion-integration-differentiation,PID)控制或者模糊控制,若采用常規PID控制,控制參數整定較難,且動態特性較差,但其控制精度較高[1];若采用簡單模糊控制,由于其只能按檔位處理,一般在“區域零”存在著靜態誤差,但其抗干擾性和動態性能較好[2]。為此,本文將兩者結合起來對后腿位姿調節機構進行分段控制,當誤差大于某個閾值時,切換到模糊控制,以便提高系統的響應速度;而當誤差小于某個閾值時,切換到PID控制,以便消除靜態誤差,提高控制精度[1~3]。
爬樓輪椅的后腿機構主要在輪椅上下樓梯和越障時啟動,可以增大攀爬力,輔助輪椅完成上下樓和跨越障礙,同時還能夠在一定程度上調整整個輪椅車的重心[4]。整個后腿機構安裝于底盤上并通過后腿電機提供動力調節位姿,其傳動示意圖如圖1所示。當后腿電機轉動時,如果離合器吸合動力便會通過齒輪組傳遞到絲杠,進而使滑塊1和滑塊2沿絲杠滑動。其中,滑塊1在水平方向運動,滑塊2在豎直方向運動。而滑塊通過連桿機構與后腿架連接,這樣便可以通過滑塊1和滑塊2的運動來調節整個后腿機構的位姿。同時在后腿架上安裝有排輪,其動力源由排輪電機提供,當后腿架位姿調節到位后,排輪便會與臺階接觸,對整個輪椅起到助推作用。

圖1 后腿機構傳動示意
本項目中爬樓梯輪椅后腿機構屬于并聯五桿機構,具有兩個自由度,分別為兩個曲柄的轉動,其機構簡圖如圖2所示。桿b1和桿b4稱為驅動桿,分別對應于圖1中的曲柄1和曲柄2,桿b2代表執行桿(也稱作后腿架)。后腿架前后兩端為曲柄滑塊機構,兩滑塊運動驅動兩曲柄轉動,進而帶動執行桿運動,最終讓后腿架調節到指定的位姿[4]。

圖2 后腿機構簡圖
為了精確控制執行桿的運動,需要在后腿機構中加入2只距離傳感器,以便對后腿運動情況實時監測。傳感器安裝在機架上,位置如圖2所示,分別測量各傳感器到滑塊O′1的距離d1和到滑塊O′2的距離d2。同時,為了監控后腿位姿調整的準確性,還在后腿架上安裝了1只角度傳感器,測量后腿架與水平面的角度,而在程序處理中還需要結合底盤傳感器將其換算為與底盤的角度才有參考價值。
硬件部分主要由控制器、傳感器模塊、通信模塊、步進電機模塊、按鍵及報警模塊以及為保證控制器及電機正常工作的輔助模塊組成,具體的系統硬件組成框圖如圖3所示。其中,控制器采用了TMS320F2812,LED和蜂鳴器模塊可以實現報警功能;而距離和角度傳感器分別選用了夏普紅外傳感器和MMA8452數字式角度傳感器;上位機通信采用RS—232異步串口通信。在對后腿位姿調節過程中加入了離合器,這樣電機就可以在離合器斷開狀態下“空載啟動”;而當滑塊運動到指定距離后也不需要電機停止,只需讓離合器斷開,電機維持低速運行即可。這樣就方便了下一次位姿調節,同時也避免了電機的“重復啟停”問題。

圖3 系統硬件框圖
由于后腿是二自由度的五桿機構,其水平方向和豎直方向的運動由離合器分離且完全獨立,同時從水平絲桿到豎直絲杠的傳動比為1且兩絲桿螺距都為5 mm,為此在設計過程中只需要設計一套復合型Fuzzy-PID控制器就可以對后腿的水平運動和豎直運動精確控制,并將其閾值設為5 mm。由于穩態誤差主要靠積分環節消除,實際控制過程中只采用了Fuzzy-PI復合控制器,設計得到的控制系統框圖如圖4所示[6]。

圖4 后腿機構復合型Fuzzy-PID系統框圖
圖4中控制器的輸入變量為傳感器系統測量的實際距離d與給定目標距離dm之間的偏差e=d-dm及其變化率e′;輸出變量為電動機的轉速u。常規PID控制算法原理如式(1)
(1)
式中kp為比例系數,Ti為積分時間常數,Td為微分時間常數。該式為連續狀態公式,為了便于程序的實現,需要將其離散化,假設采樣周期為T,則在KT時刻離散化可得到位置式PID公式(2)
(2)
式中ki=kp·T/Ti為積分系數,kd=kp·Td/T為微分系數,其參數的調節主要根據經驗和現場的調試來確定,將微分系數設為0時PID調節便可轉換為PI調節。
為了進一步提高積分項的運算精度,從而更好地消除靜態誤差,可以將式(2)中的矩形積分改為梯形積分,則最終的計算公式為

kd[e(k)-e(k-1)]
(3)
比例—積分(proportion-integration,PI)控制器最終采用了式(3)所示的原理,實際控制過程中參數kd為0,并且設置了積分限幅和輸出限幅。而模糊控制器選擇了一個雙輸入、單輸出結構的二維模糊控制器,這里主要分析模糊控制器的設計過程。
3.2.1 偏差E賦值表
后腿機構兩滑塊的最大運動距離為100 mm,但考慮到后腿位姿在實際調節過程中不可能大幅變化,將其偏差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}來分別表示偏差“正大,正中,正小,正零,負零,負小,負中,負大”。根據實驗經驗,可以確定出其隸屬度函數μ(x)和語言量變量E的賦值表,如表1所示。

表1 E的隸屬度函數
3.2.2 偏差變化率EC的賦值表
在實驗過程中電機轉速較慢,為此滑塊運動速度也較慢,通常其偏差變化率維持在6 mm/s內,為此偏差變化率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“增加很快,增加快,增加慢,不變,減小慢,減小快,減小很快”。根據實驗經驗,可以確定出模糊子集{PB,…,NB}的隸屬度函數μ(x),進而建立語言變量EC的賦值表,如表2所示。

表2 EC的隸屬度函數
3.2.3 輸出語言變量U的賦值表
模糊控制器的輸出量為電機轉速,將其分為6個檔位(分別為-600,-500,...,500,600 r/min)數值越大電機轉速越快,數值前面的正負號代表電機轉動的方向,這樣便可以將其論域定為[-6,+6],輸出量的比例因ku=600/6=100.選取其語言變量值為{PB,PM,PS,O,NS,NM,NB}來分別表示輸出變量U“正轉快,正轉較快,正轉慢,停止,反轉慢,反轉較快,反轉快”。通過經驗可以確定其模糊子集{PB,...,NB}的隸屬度函數μ(x)和其語言變量U的賦值表,如表3所示。

表3 U的隸屬度函數
根據實際操作經驗,如果實際距離小于目標距離且相差很大,并且具有很大的減小趨勢,則此時電機應該快速正轉,則此模糊規則表述為
ifE=NB andEC=NB thenU=PB
這樣一共可以形成56條控制語句,將這56條語句制成一個表格[6],并稱其為后腿位姿調節控制系統的模糊狀態表,如表4所示。

表4 模糊控制規則表
上述表中規則R1按照模糊理論中的關系式可表示為
R1=[(PB)E×(PB)EC]T×(NB)U
(4)
該表格中每條控制規則之間通過“或”關系連接,這樣便可得到整個控制系統模糊控制規則的總模糊關系,即
(5)
通過模糊規則輸出的是一個模糊量,該量并不能直接控制步進電機,為此就需要通過模糊判決將其轉換為一個精確量。常用的清晰化算法有最大隸屬度法、重心法和加權平均法[6],本文應用重心法對模糊控制器輸出解模糊,其是將隸屬度函數與橫坐標所圍面積的重心作為輸出量,離散化后的公式如式(6)所示
(6)
式中μN(xi)為其隸屬度

此時得到的“4”便為輸出量U的精確量。如果所得結果為小數,程序還需要對其進行“取整”,通過這種方法便可以得到總的模糊控制查詢表。將其存于DSP的存儲空間中,通過查表子程序實時調用,這樣既簡化了控制程序的復雜性同時又提高了控制的實時性[7]。
在實際控制過程中,只需要將每一個控制周期內采集得到的實測偏差e(k)和計算得到的偏差變化e(k′)分別乘以量化因子ke和k′e取得對應論域元素表中的元素,然后就可以根據坐標找到對應的控制量,再將其乘以比例因子ku便可以得到最終的電機轉速[6]。
系統測試分為手動測試和自動測試,其中,手動測試是利用按鍵來完成相應動作,目的是測試后腿機構動作是否流暢;而自動測試是在手動測試完成后,通過上位機向下位機發送數據來自動控制后腿動作。整個測試程序的流程圖如圖5所示。當上位機根據后腿運動模型下發兩滑塊運動距離后,下位機會將接收到的數據與傳感器采集得到的實際距離對比,進而算出偏差及其變化率,然后通過模糊推理或者PI調節輸出電機應該轉動的速度,最終控制兩滑塊運動到目標距離。

圖5 測試程序流程
如圖6為爬樓輪椅測試后腿機構越過某障礙時的一組數據,上位機根據行為圖模型下發滑塊一和滑塊二的目標距離為分別為80,50 mm,通過傳感器測得滑塊一當前距離為62.18 mm,滑塊二當前距離為33.21 mm。經過程序的自動調控,最終滑塊停留在了目標距離±1 mm的范圍內,將后腿機構的位姿調整到了預定角度。然后通過安裝于后腿架上排輪的助推作用,成功越過了障礙。通過傳感器監測到的實時數據,分別繪制了不同控制策略下d1,d2隨時間變化的曲線。

圖6 實驗測試結果
通過分析滑塊一的運動曲線可知,通過常規PID調節大概需要8 s到達目標值,且在調節過程中超調量較大,動態性能較差,但其穩態誤差較小。而使用簡單模糊控制器系統響應較快,大概需要4 s,但最終存著1~2 mm的靜態誤差,這是因為模糊控制器按檔位處理,而檔位零對應一個區間,當偏差處于檔位零時系統便認為已經調節到目標距離。而使用復合式Fuzzy-PID調節后,系統響應速度介于二者之間,大概需要5.5 s,具有較好的動態和靜態性能,雖然在閾值處會有較小的振蕩,但整體控制效果較好,可以達到控制需求。分析滑塊二也可以得到同樣的結論。但為了讓系統的控制效果更加精確,需要對影響因素進行分析,大致有傳感器的測量誤差和安裝誤差,電機運行及工作環境對控制硬件的干擾以及控制方法的不完善等[7]。為此今后可以在這幾個方面對該控制系統作進一步的優化。
經實驗測試結果表明:Fuzzy-PID控制器與常規PID控制器相比,大大提高了系統抗外部干擾和適應內部參數變化的魯棒性,減小了超調量,改善了動態特性;與簡單模糊控制器相比,它減小了穩態誤差,提高了平衡點的穩定度,達到了控制需求。