胡鋮錕,陳致格,晏 泉,王 晶
(天津工業(yè)大學電子與信息工程學院,天津300387)
近年來,隨著社會經(jīng)濟、醫(yī)療水平與日俱進,全球老齡化人口逐漸增多。國家統(tǒng)計局于2018年初發(fā)布的人口數(shù)據(jù)統(tǒng)計也表明我國65歲及以上的人口約占總?cè)丝诘?1.9%[1]。老年人由于自然的生理老化,會出現(xiàn)比正常人注意力難以集中、反應遲緩等現(xiàn)象,這對他們的自由出行造成很大影響。為滿足該特殊群體獨立生活的需求,具有康復護理功能的電動輪椅在助老領域廣泛應用。
為兼顧殘障人士與高齡老人的需求,國內(nèi)外科研人員對現(xiàn)有的電動輪椅進行了智能化的開發(fā),如Lee等[2]設計了一種融合肌電和頭部姿態(tài)的輪椅控制系統(tǒng),識別準確率高,控制效率提高到90%以上;張亞徽等[3]融合腦-機接口(brain-computer interface,BCI)與層級地圖信息給出控制指令,使輪椅在復雜的室內(nèi)環(huán)境中實現(xiàn)了半自主導航;吳佳寶等[4]設計了一種頭戴視覺追蹤裝置,使用者能夠通過眼睛的轉(zhuǎn)動控制輪椅行進。當前對電動輪椅智能化的研究取得了一定的成果,而且大多是基于改進輪椅的控制方法,相較于傳統(tǒng)電動輪椅的手動操縱桿結(jié)合按鍵的模式,一定程度上彌補了老年人手腳不靈活、反應遲緩的缺陷,但較少從輪椅的安全性、舒適性和經(jīng)濟實用等方面做進一步研究。鑒于此,文中考慮使用者在輪椅駕駛時的行為習慣,設計一種智能輪椅控制系統(tǒng),將坐姿融入輪椅控制當中,采用現(xiàn)場學習訓練的方式,使輪椅使用者的學習度更高,以期提高輪椅的安全性。
圖1 系統(tǒng)架構框圖Fig.1 System frame diagram
智能輪椅系統(tǒng)主要包括坐姿識別部分和運動控制部分,系統(tǒng)框架如圖1。圖1 中:單片機1 是系統(tǒng)的核心控制器,負責接收坐姿識別部分發(fā)送的坐姿類別信息,并根據(jù)接收的信息實現(xiàn)輪椅自主避障的運動控制;單片機2負責壓力傳感器的電壓采集,并將壓力傳感器的電壓數(shù)據(jù)傳至樹莓派,由樹莓派建立分類器的模型。
目前坐姿主要利用機器視覺的技術或力學傳感器的方法進行識別[5-6],但由于坐姿識別應用于輪椅在室外受到光線影響大,故文中采用壓力傳感器對人體分布在靠背和坐墊上的壓力數(shù)據(jù)進行采集。
人體在正常坐姿時,壓力分布并不均勻[7],故壓力傳感器需安裝在壓力比較敏感的點。測試過程中采用20個FSR402薄膜壓力傳感器按陣列式均勻分布在座椅表面,如圖2。傳感器為電阻式傳感器,電阻會隨壓力變化而變化,將其與分壓電阻串聯(lián),并供以3.30 V 基準電壓,故A/D(模擬/數(shù)字轉(zhuǎn)換器)采集的分壓電阻電壓變化可顯示壓力的變化。對每種坐姿采集20 組數(shù)據(jù),每組數(shù)據(jù)包括20 個壓力傳感器的電壓,當采集完單個壓力傳感器的10次電壓時,對總電壓求平均并將其作為最終記錄數(shù)據(jù),以此降低噪聲的影響。
分析每種坐姿下每個壓力傳感器的電壓數(shù)據(jù),篩除變化不明顯的點并標注,然后將該處的傳感器繼續(xù)移動到其他點進行測量,通過多次實驗得出傳感器的大致布局,結(jié)果如圖3。
坐姿識別涉及的多分類問題是機器學習的重要研究領域之一,如機器學習中的支持向量機、邏輯回歸、人工神經(jīng)網(wǎng)絡等算法均能實現(xiàn)多分類模型的構建。由于輪椅使用者體征各異,且不同使用者的坐姿習慣不同,為能夠在小樣本數(shù)據(jù)的情況下使分類器具有較強的泛化能力,文中采用支持向量機(support vector machine,SVM)作為分類器對小樣本進行分類,并引入核函數(shù)進行非線性映射處理非線性問題。記輸入訓練樣本集為D,待分類類別數(shù)為m,其計算公式為
圖2 傳感器陣列分布Fig.2 Sensor array distribution
圖3 最終壓力敏感點布局Fig.3 Final pressure-sensitive point layout
尋找一個能夠劃分樣本類別的最優(yōu)超平面,其計算公式為
其中:xi為樣本集的自變量;yi為對應的目標變量即分類后期望的輸出值;W 為平面法向量;b 為偏移量;N為自然數(shù)集合;m 為樣本;i 為某個樣本。當無法用一個超平面劃分樣本空間時,則用內(nèi)積函數(shù)定義的非線性變換將輸入空間變換到一個高維空間,然后在這個空間中求(廣義)最優(yōu)分類面[8]。支持向量機屬于有監(jiān)督學習,即使用的樣本集包含標簽類別信息數(shù)據(jù),而上述方法針對的是二分類問題,樣本中的標簽類別只有兩個,但文中需識別的坐姿有正常、左傾、右傾、前傾、后傾五類。所以需在SVM二分類基礎上構建一個多值分類器[9],通過“一類對一類”的基本思想進行構造,即每次只選取其中兩類樣本輸入SVM模型,采用投票計數(shù)的方式得到判斷結(jié)果,對于m 類進行劃分,則需m(m-1)/2 個子SVM 模型。通過樹莓派利用python scikitlearn機器學習庫實現(xiàn)上述SVM多分類器,處理流程如圖4。
圖4 SVM處理算法流程Fig.4 SVM processing algorithm
1.3.1 激光雷達與超聲波傳感器信息的獲取
對于移動機器人障礙物的檢測通常使用機器視覺、激光雷達、紅外或超聲傳感器等方法。激光雷達通過掃描360°的環(huán)境狀況及記錄光脈沖發(fā)出到被接收經(jīng)過的時間,可計算出掃描點的距離與角度信息。超聲波傳感器的檢測原理類似,但其測量波束角較大導致方向性不強、測距不夠準確,且無法提供障礙物的邊界信息。輪椅在室內(nèi)外移動環(huán)境變化大,依靠單一傳感器存在探測盲區(qū),導致避障不準確甚至引發(fā)危險。綜合考慮性能、經(jīng)濟、技術等因素,文中采用激光雷達與超聲波傳感器融合對輪椅周圍環(huán)境進行探測。激光雷達安裝在輪椅的左前方距離地面約75 cm處,超聲傳感器安裝在輪椅中部約45 cm處以防止轉(zhuǎn)彎過程中觸碰到較低的障礙物。
1.3.2 環(huán)境類別的建立
圖5 中,將激光雷達掃描角度θ ∈[ ]30°,150° 的范圍內(nèi)設定為輪椅運動前方區(qū)域,其他區(qū)域設定為左右方,則將輪椅周圍環(huán)境類別分為8種,如圖5。
圖5 障礙物方位Fig.5 Position of the barrier
圖6 為輪椅運動二維平面圖,設輪椅左右輪運動速度為v1,v2,r 為轉(zhuǎn)動半徑,ω0,v0為輪椅質(zhì)心的角速度和線速度[11],L 為輪椅到障礙物的中心距離,則輪椅的質(zhì)心線速度可以表示為
圖6 輪椅運動二維平面圖Fig.6 Two-dimensional plane of wheelchair’s motion
利用質(zhì)心角速度表示右輪運動速度,即
故質(zhì)心角速度可用左右輪線速度進行表示
由式(3),(5)且結(jié)合v0=rω0可得
因此可得轉(zhuǎn)動半徑為
輪椅電機驅(qū)動器經(jīng)PID(比例、積分、微分控制器)整定后可認為在Δt 時間內(nèi)輸出功率不變,利用霍爾傳感器測得左右輪速度,由式(3)得到輪椅運動線速度v0,而由Δθ=Δtω0可得Δt 時間內(nèi)輪椅轉(zhuǎn)向角度Δθ。
模糊控制器共有3個輸入,即坐姿類別PN、環(huán)境類別EN、障礙物距離DN,兩個輸出,即速度v 以及轉(zhuǎn)向角度θ??刂破鹘Y(jié)構如圖7。
圖7 模糊控制器處理過程Fig.7 Process of the fuzzy controller
坐姿類別論域為{0 ,1,2,3,4,5},模糊語言描述為{正常,左傾,右傾,前傾,后傾}。環(huán)境類別論域為模{0 ,1,…,6,7},糊語言描述為{無障礙,前方,左方,右方,左前,右前,左右,左右前}。障礙物距離輸入的取值范圍為連續(xù)值[0 ,250 cm/s],經(jīng)量化因子轉(zhuǎn)化為有限整數(shù)域上的取值,得到論域為{0 ,1,…,12} ,并在該論域上劃分為5檔,模糊語言描述為{近,較近,中,較遠,遠}。
輪椅速度和轉(zhuǎn)角輸出值是連續(xù)的,需通過比例因子進行清晰化后輸出。輪椅速度取值范圍為[0 ,150 cm/s],論域為{0 ,1,…,12} ,劃 分 為4 檔{0 ,v,2v,3v}。輪椅轉(zhuǎn)角輸出范圍為[- 90°, +90°],論域為{- 6, -5,…, -1,0,1,…,5,6},劃分為{-3θ, -2θ,-θ,0,θ,2θ,3θ} 。
利用文中所述方法制作輪椅實物,并對實物進行相關測試,以驗證設計的坐姿傳感及自主避障的輪椅控制系統(tǒng)的可行性與準確性。
采用1.1中的傳感器布局,采集不同身高體重使用者的坐姿壓力數(shù)據(jù),利用支持向量機算法擬合多元方程,最終對使用者坐姿進行預測。
3.1.1 傳感器空載與使用者正常坐姿時電壓的測量
測量無使用者狀態(tài)下的各傳感器電壓,傳感器用3.30 V 電源供電,無使用者情況下傳感器理想電壓為3.30 V,使用者在輪椅上的坐姿不同,各傳感器電壓也將不同。分別測量輪椅空載和使用者在輪椅上正常坐定時各傳感器的電壓,結(jié)果如表1。
由表1可看出,與傳感器理想電壓3.30 V相比,實際測量的傳感器電壓存在0~0.4 V 的偏差。這是由于實際電路存在電阻,且實際測量存在不可避免的誤差。但這屬于正?,F(xiàn)象,不影響實際測試。
3.1.2 不同坐姿下傳感器電壓的測量
使用者在輪椅上保持左傾、右傾、前傾、后傾坐姿,分別測量4種姿態(tài)下各傳感器的電壓,如表2。
測試發(fā)現(xiàn)當傳感器受到壓力時,傳感器電壓將變小,變化幅度與壓力成對數(shù)關系。壓力傳感器分布如圖3,理想狀態(tài)下,使用者左傾時,傳感器1~8號電壓有所降低。使用者保持正常坐姿時,各傳感器壓力較均勻。以輪椅坐墊平面為xy平面,兩直角邊為xy 軸,傳感器壓力為z 軸,建立空間坐標系,如圖8。使用者左傾時各傳感器壓力的等高線圖如圖9。從圖9可看出:左傾時編號1~8號傳感器的電壓均明顯減小,即傳感器所受壓力增大,均高于正常坐姿時的壓力,符合預期。
表1 空載與使用者正常坐姿的傳感器電壓,VTab.1 Sensor voltage at no load and user'normal sitting posture,V
表2 使用者不同坐姿下傳感器電壓,VTab.2 Sensor voltage under different sitting postures of user,V
圖8 傳感器陣列空間坐標系Fig.8 Sensor array space coordinates system
圖9 左傾時傳感器壓力等高線圖Fig.9 Contour map of sensor pressure when leaning to the left
正常、右傾、前傾、后傾4種不同姿態(tài)下的傳感器壓力等高線圖如圖10。由圖10可以看出:正常坐姿時,坐墊前部所受的壓力較小,后部較大;右傾坐姿時,輪椅坐墊右半部分傳感器電壓明顯小于左半部分,即坐墊右側(cè)受到壓力較大,符合右傾時的受力狀態(tài);前傾時,壓力主要集中在坐墊前部,等高線圖中,后半部分明顯高于前半部分,符合預期。
圖10 4種不同姿態(tài)的傳感器壓力等高線圖Fig.10 Contour map of sensor pressure of four different postures
綜上表明,設計的坐姿傳感及自主避障的輪椅控制系統(tǒng)采用的傳感器布局可對使用者的坐姿信息進行準確采集,利用采集到的坐姿數(shù)據(jù)可實現(xiàn)坐姿分類。
3.1.3 基于支持向量機的坐姿分類
對某使用者進行坐姿數(shù)據(jù)采集(每種坐姿采集200次),由1.2知5種坐姿分類需建立10個二分類子SVM模型,每個SVM模型的決策函數(shù)如式(8),其中K(xi,x)為第i 個系數(shù)對應的超平面映射函數(shù),ai為第i 個超平面函數(shù)對應的比例因子,記回歸因子為f(x),式中各參數(shù)利用樹莓派python scikit-learn機器學習庫對某使用者的坐姿數(shù)據(jù)進行訓練后可得
3.1.4 分類準確性的驗證
使用者在輪椅上作出5 種坐姿中的某種坐姿,利用建立的壓力方程式(8)對使用者坐姿進行識別預測,且對預測準確率進行統(tǒng)計,結(jié)果如圖11。由圖11可看出,在200次使用者坐姿測試中,準確率達95%,在進一步測試的過程中準確率逐漸向95%收斂。由此表明,設計的坐姿傳感輪椅控制系統(tǒng)可實現(xiàn)坐姿的準確分類。
通過超聲波傳感器與激光雷達檢測輪椅與障礙物之間的距離,并通過模糊控制來實現(xiàn)。
3.2.1 超聲波傳感器與激光雷達的數(shù)據(jù)測試
超聲波傳感器能夠探測周圍障礙物與輪椅間的距離,將6 個超聲波傳感器均勻安裝于輪椅的底部,如圖5。為使障礙物環(huán)境類別更接近輪椅實際使用情況,在輪椅左前方與右前方擺放兩個椅子充當障礙物進行測試實驗。6 個超聲波傳感器中,左前方與右前方的超聲波傳感器起主要作用。規(guī)定輪椅朝向兩障礙物的連線中點直線行進,以輪椅行進路線所在直線、障礙物連線分別為坐標軸,建立如圖12所示的幾何關系。
記輪椅與障礙物連線中點的距離為L0;輪椅與障礙物1 的距離為L1;輪椅與障礙物2 的距離為L2;將超聲波傳感器測量得到的L1,L2記為L′1,L′2;以輪椅行進路線為起點,順時針方向為弧度增量,記障礙物1所在方位與輪椅行進路線的夾角為φ′1,障礙物2為φ′2;激光雷達測量得到的障礙物方位分別記為φ′1,φ′2。輪椅從遠處不斷靠近障礙物,每隔0.1 m收集1次激光雷達與2個超聲波傳感器的數(shù)據(jù),結(jié)果如表3。
圖11 使用者坐姿預測準確率Fig.11 Accuracy of the posture prediction
圖12 障礙物方位Fig.12 Position of the barrier
表3 超聲波傳感器與激光雷達的測量結(jié)果Tab.3 Measuring results of ultrasonic transducers and the lidar
3.2.2 障礙物方位識別準確性檢驗
由表3中的數(shù)據(jù)計算得出理論上的L0,記為L′0,計算兩者間偏差,記為ΔL,同時得出輪椅當前的環(huán)境類別,記為EN,結(jié)果如表4。表4中的結(jié)果表明,由激光雷達與超聲波傳感器測量得到的障礙物方位信息準確度較高,且輪椅系統(tǒng)判別的環(huán)境類別EN符合預期,故設計的輪椅系統(tǒng)具有識別障礙物方位的能力。
3.2.3 模糊控制測試
利用3.2.1中的障礙物,測試輪椅系統(tǒng)在坐姿控制與自主避障共同作用下的模糊控制規(guī)則。使用者操縱輪椅向障礙物行進,直至輪椅穿過障礙物,記錄這一過程中使用者姿態(tài)、環(huán)境類別、障礙物距離類別與輪椅的行進方向。同時輪椅自主避障功能也將自主調(diào)整輪椅行進角度φ,以輪椅行進方向為軸、順時針為正記錄角度結(jié)果如表5。
表4 障礙物方位信息Tab.4 Position of the barrier
分析表5 中輪椅的行駛狀態(tài)與各類別的關系,當輪椅與障礙物之間的距離在安全距離之內(nèi)時(安全距離可依據(jù)使用者需求自行設置,表中設置為0.55 m),如圖13 所示,使用者可以利用姿態(tài)自由控制輪椅行進。當輪椅行進至安全距離之內(nèi),如圖14,為確保使用安全,使用者不可完全自由控制輪椅行進,即輪椅檢測出某方位有障礙物時,使用者即使作出相應坐姿,也不能驅(qū)動輪椅。同時,分析表5中輪椅自主修正φ 可以看出,輪椅在接近障礙物時,會在確保使用者安全的前提下,相應自主調(diào)整行進角度,以遠離障礙物,實現(xiàn)自主避障功能。
表5 實際運行中輪椅3種類別統(tǒng)計Tab.5 Statistics of the three categories of wheelchair
圖13 輪椅正常行駛條件示意圖Fig.13 Schematic diagram normal driving condition of wheelchair
圖14 輪椅避障示意圖Fig.14 Schematic diagram obstacle avoidance of wheelchair
考慮使用者在駕駛輪椅時的安全性與舒適性,設計基于坐姿傳感及自主避障的輪椅控制系統(tǒng),通過采集使用者的坐姿壓力對坐姿進行分類,實現(xiàn)坐姿控制,并讓使用者進行坐姿準確性測試。結(jié)果表明,該輪椅控制系統(tǒng)是一種結(jié)合坐姿控制與自主避障的智能輪椅系統(tǒng),實現(xiàn)了應用坐姿對輪椅方向進行控制,提高了輪椅駕駛的安全性。研究的坐姿識別也可應用于其他壓力特征識別領域,為其拓展應用提供了一定參考。