麻文剛, 王小鵬, 馬 鵬
(蘭州交通大學(xué) 電子與信息工程學(xué)院,甘肅 蘭州 730070)
普通電動(dòng)輪椅相比智能輪椅運(yùn)行安全穩(wěn)定、使用更方便、性能更優(yōu)越,可以幫助殘疾人或老年人提高生活自理能力和工作能力。目前,很多國(guó)家對(duì)智能輪椅進(jìn)行了研究,并且針對(duì)不同殘疾人群與老年人開發(fā)了多種智能輪椅人機(jī)接口[1],對(duì)于殘疾程度較輕、肢體能動(dòng)性較高且意識(shí)較好的人群,可以采用操縱桿控制[2]、按鍵控制、方向盤控制、觸摸屏控制和菜單控制等方式,但這些控制方式依舊不能滿足肢體能動(dòng)性較低人群需要,不利于應(yīng)用于智能輪椅。
本文設(shè)計(jì)了一種智能輪椅頭部姿態(tài)校正控制系統(tǒng),具有控制精度高、攜帶方便、成本低等優(yōu)點(diǎn)。該系統(tǒng)采用低成本的巨磁阻(giant magnetoresistance,GMR)傳感器[3~5]和無(wú)線收發(fā)模塊組成姿態(tài)測(cè)量系統(tǒng),以STM32為控制核心,采用四元素法描述和解算頭部姿態(tài)信息,通過(guò)梯度下降法多傳感器融合將解算后的姿態(tài)信息進(jìn)行校正,并且實(shí)時(shí)將姿態(tài)信息傳送至接收終端,終端得到控制指令信號(hào),控制輪椅運(yùn)動(dòng)。
系統(tǒng)本著操作簡(jiǎn)單方便、經(jīng)濟(jì)實(shí)用及軟硬件可擴(kuò)展設(shè)計(jì)原則,以STM32F103為控制核心,主要包括傳感器、信號(hào)調(diào)理電路以及外圍電路部分,設(shè)計(jì)系統(tǒng)框圖如圖1所示。通過(guò)GMR傳感器、三軸陀螺儀與三軸加速度計(jì)組成的姿態(tài)解算模塊實(shí)時(shí)采集頭部姿態(tài)信息數(shù)據(jù),利用無(wú)線收發(fā)模塊將采集的姿態(tài)信息數(shù)據(jù)發(fā)送至STM32微處理器;微處理器對(duì)當(dāng)前姿態(tài)信息進(jìn)行預(yù)處理,在微處理器內(nèi)進(jìn)行數(shù)據(jù)融合與姿態(tài)解算,并結(jié)合不同頭部姿態(tài)識(shí)別出不同控制指令;
微處理器將識(shí)別的控制指令發(fā)送給輪椅控制器,控制輪椅運(yùn)動(dòng)。
圖1 系統(tǒng)整體框圖
姿態(tài)是表征載體坐標(biāo)系相對(duì)地理坐標(biāo)系的位置信息,四元素法[5,6]是常用描述載體姿態(tài)信息轉(zhuǎn)動(dòng)變化關(guān)系的方法。地理坐標(biāo)系矢量a到載體坐標(biāo)系矢量b之間轉(zhuǎn)動(dòng)變化關(guān)系可以表示為b=Ta[5],其中T為方向余弦矩陣
T=
(1)
式中Ψ,θ,γ分別為航向角、俯仰角和橫滾角。
兩坐標(biāo)系之間轉(zhuǎn)動(dòng)變換關(guān)系可以用四元素表示
T=
(2)
由式(1)和式(2)可得,歐拉角與轉(zhuǎn)動(dòng)四元素轉(zhuǎn)化關(guān)系
(3)
θ=arcsin(2(q1q3-q0q2))
(4)
(5)
由于陀螺儀存在積分漂移[7]累積誤差,長(zhǎng)時(shí)間工作將出現(xiàn)嚴(yán)重錯(cuò)誤,影響控制精度。陀螺儀解算姿態(tài)相對(duì)于初始位置,加速度計(jì)和磁強(qiáng)計(jì)組合解算姿態(tài)相對(duì)于水平面和磁北極,在靜態(tài)與無(wú)外磁干擾下能表現(xiàn)出良好性能,但在動(dòng)態(tài)與磁場(chǎng)干擾下姿態(tài)角解算會(huì)出現(xiàn)嚴(yán)重偏差,因此,單一使用某種傳感器不能解算出精確的姿態(tài)信息數(shù)據(jù)。
(6)
從點(diǎn)a(k)出發(fā), 沿著負(fù)梯度方向前進(jìn),設(shè)步長(zhǎng)為μ,可得到梯度下降法迭代公式
(7)
一定條件下該序列會(huì)收斂于使得J(a)最小的解a。由梯度下降法、四元數(shù)微分方程與三軸陀螺角速率之間的關(guān)系, 建立迭代公式
(8)
圖2為基于梯度下降法與GMR傳感器姿態(tài)校正流程框圖,當(dāng)目標(biāo)函數(shù)f(q)達(dá)到最小值時(shí),四元數(shù)解算姿態(tài)角與真實(shí)值差值最小。
圖2 梯度下降法校正姿態(tài)框圖
姿態(tài)解算模塊需要完成姿態(tài)檢測(cè)、姿態(tài)解算和姿態(tài)校正等信息,以及將解算姿態(tài)信息轉(zhuǎn)換成標(biāo)準(zhǔn)控制指令輸出等功能。姿態(tài)解算模塊結(jié)構(gòu)框圖如圖3所示。
圖3 姿態(tài)解算框圖
姿態(tài)解算模塊主要由STM32微處理器、GMR傳感器、三軸加速度計(jì)、三軸陀螺儀、信號(hào)調(diào)理電路與一對(duì)無(wú)線收發(fā)模塊(NRF24L01)組成。STM32接收來(lái)自GMR傳感器、三軸加速度計(jì)與陀螺儀檢測(cè)的姿態(tài)信息,姿態(tài)信息經(jīng)過(guò)STM32微處理器進(jìn)行解算與校正之后,利用無(wú)線收發(fā)模塊進(jìn)行輸出相應(yīng)控制指令。
控制信號(hào)經(jīng)過(guò)無(wú)線收發(fā)模塊至控制板,控制板接收到控制信號(hào),驅(qū)動(dòng)電機(jī)模塊控制電機(jī)運(yùn)轉(zhuǎn),實(shí)現(xiàn)控制輪椅的運(yùn)動(dòng)??紤]到實(shí)際接口應(yīng)用,選擇STM32F103單片機(jī)為主控芯片,STM32F103帶有6個(gè)死區(qū)可編程脈寬調(diào)制(pulse width modulation,PWM)輸出通道,在異常狀況出現(xiàn)時(shí),強(qiáng)迫PWM信號(hào)輸出在一個(gè)預(yù)定安全狀態(tài)。本文控制系統(tǒng)中,設(shè)置調(diào)速PWM波占空比為25%,使輪椅達(dá)到安全運(yùn)行狀態(tài)。
為提高系統(tǒng)控制精度,以及驅(qū)動(dòng)電路回流影響,在單片機(jī)(MCU)輸入和輸出端,用光耦作介質(zhì),對(duì)信號(hào)進(jìn)行隔離。該電路主要應(yīng)用在“A/D轉(zhuǎn)換器”數(shù)位信號(hào)輸出,及MCU發(fā)出的前向通道控制信號(hào)與類比電路界面,實(shí)現(xiàn)在不同系統(tǒng)間信號(hào)通路相連,在電氣通路上相互隔離,并且實(shí)現(xiàn)將類比電路和數(shù)位電路相互隔離,起到抑制交叉串?dāng)_作用。
頭部中心在空間中位置決定頭部姿態(tài)命令,輪椅控制命令設(shè)定為前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)和停止。5個(gè)命令區(qū)域劃分如圖4所示。
圖4 控制區(qū)域劃分
將頭部姿態(tài)獲取角度值平均分為9個(gè)區(qū)域。頭部中心位置位于區(qū)域5,姿態(tài)解算模塊解算出的“yaw”控制停止,位于區(qū)域1和2,姿態(tài)解算模塊解算出的“roll”控制前進(jìn)和后退,區(qū)域1表示以1m/s速度前進(jìn),區(qū)域2表示以1m/s速度后退,位于區(qū)域3和4,姿態(tài)解算模塊解算出的“pitch”控制左轉(zhuǎn)和右轉(zhuǎn),區(qū)域3表示以30°/s角速度右轉(zhuǎn),區(qū)域4表示以30°/s 角速度左轉(zhuǎn),其他區(qū)域保持原有狀態(tài)。
軟件系統(tǒng)在RealView MDK開發(fā)環(huán)境下,利用STM32官方固件庫(kù)用標(biāo)準(zhǔn)C語(yǔ)言編寫,主要包括系統(tǒng)初始化、姿態(tài)檢測(cè)、姿態(tài)解算、姿態(tài)校正、數(shù)據(jù)發(fā)送等過(guò)程。系統(tǒng)主程序流程如圖5所示。
圖5 系統(tǒng)主程序流程
為驗(yàn)證系統(tǒng)控制精度,采用規(guī)則頭部可穿戴裝置進(jìn)行數(shù)據(jù)測(cè)試,表1單獨(dú)使用陀螺儀解算姿態(tài)角信息數(shù)據(jù),可以看出,姿態(tài)角相對(duì)誤差最大達(dá)到16.6%,與陀螺儀固有缺陷即存在漂移現(xiàn)象一致。表2采用提出的數(shù)據(jù)融合校正算法,利用三軸磁強(qiáng)計(jì)與三軸加速度計(jì)修正陀螺儀漂移,姿態(tài)角相對(duì)誤差大幅度減小。
表1 陀螺解算姿態(tài)角
表2 數(shù)據(jù)融合姿態(tài)角
為測(cè)試輪椅操作可靠性,對(duì)智能輪椅做運(yùn)動(dòng)控制指令重復(fù)性實(shí)驗(yàn)。即將前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)、停止5種指令作為1組,實(shí)驗(yàn)共進(jìn)行40組,如表3和表4給出了姿態(tài)校正前后,各指令識(shí)別情況。
表3 姿態(tài)校正前輪椅運(yùn)行測(cè)試
實(shí)驗(yàn)表明:智能輪椅在姿態(tài)校正之前運(yùn)行出現(xiàn)很大偏差,最高識(shí)別率僅為47.5 %,平均識(shí)別為34.5 %,不能滿足頭部姿態(tài)智能輪椅所需控制精度;但在姿態(tài)校正之后最高識(shí)別率可達(dá)100 %,平均識(shí)別率達(dá)到97 %,能夠?qū)喴魏?jiǎn)單運(yùn)動(dòng)進(jìn)行有效控制,控制精度高,響應(yīng)時(shí)間較短。
設(shè)計(jì)了基于GMR傳感器校正的頭部姿態(tài)智能輪椅控制系統(tǒng),對(duì)輪椅5種簡(jiǎn)單運(yùn)動(dòng)進(jìn)行控制。系統(tǒng)采用低功耗GMR傳感器、STM32型MCU與無(wú)線收發(fā)模塊,并對(duì)傳感器模塊校準(zhǔn)原理、方法及結(jié)果進(jìn)行了詳細(xì)討論。該控制系統(tǒng)精度高、操作簡(jiǎn)便、實(shí)時(shí)性好,在助老、助殘、輔助康復(fù)與信息無(wú)障礙交流等方面有著重要參考價(jià)值。實(shí)驗(yàn)結(jié)果表明:傳感器校準(zhǔn)過(guò)程正確有效,校正后漂移誤差減小,該控制系統(tǒng)可精準(zhǔn)的控制智能輪椅運(yùn)動(dòng)。
[1] 劉海穎,王惠南,劉新文.基于UKF的四元數(shù)載體姿態(tài)確定[J].南京航空航天大學(xué)學(xué)報(bào),2006,38(1):35-42.
[2] 汪 芳,朱少華,雷宏杰.基于卡爾曼濾波器的數(shù)字式捷聯(lián)航姿系統(tǒng)算法設(shè)計(jì)[J].中國(guó)慣性技術(shù)學(xué)報(bào),2008(2):208-211.
[3] Ge Quanbo,Li Wenbin,Sun Ruoyu,et al.Centralized fusion algorithms based on EKF for non-linear systems[J].Acta Automatica Sinica,2012,39(6):816-825.
[4] Xin Qi,Shi ZhongKe.Flight attitude determination based on multiple measurements[J].Flight Dynamics,2012,30(6):527-531.
[5] 郭曉鴻,楊 忠,陳 喆,等.EKF和互補(bǔ)濾波器在飛行姿態(tài)確定中的應(yīng)用[J].傳感器與微系統(tǒng),2011,30(11):149-152.
[6] 李 偉,何鵬舉,高社生.多傳感器加權(quán)信息融合算法研究[J].西北工業(yè)大學(xué)學(xué)報(bào), 2010,28(5):674 -678.
[7] Li Yi.Hand gesture recognition using kinect[C]∥InternationalConference on Software Engineering and Service Science,Washington DC,USA:IEEE Computer Society,2011:196-199.