??? 摘? 要: 根據(jù)永磁體在三維空間的特定分布規(guī)律設(shè)計(jì)了一種基于永磁跟蹤的殘疾人計(jì)算機(jī)輔助系統(tǒng)——一種跟蹤頭部運(yùn)動的裝置。使用時(shí)將三軸磁場傳感器置于人頭部,實(shí)時(shí)地接收永磁體的磁場信號,采用磁場跟蹤算法,得到三軸磁場傳感器相對于永磁體的空間位置和姿勢,進(jìn)而得到人頭部的運(yùn)動方向和角度,并將這些方向和角度作為控制信號,控制屏幕上的鼠標(biāo)動作,幫助操作者通過人機(jī)交互界面實(shí)現(xiàn)電腦屏幕鼠標(biāo)控制。?
??? 關(guān)鍵詞: 計(jì)算機(jī)輔助系統(tǒng); 姿勢輸入; 永磁跟蹤; 計(jì)算機(jī)虛擬實(shí)現(xiàn)技術(shù)
?
??? 虛擬現(xiàn)實(shí)技術(shù)是當(dāng)前信息領(lǐng)域中的一項(xiàng)尖端技術(shù)[1],是利用特定的輸入設(shè)備作為人和計(jì)算機(jī)的交互工具來模擬真實(shí)操作中的軟硬件環(huán)境, 用戶在操作過程中有身臨其境的感覺。利用計(jì)算機(jī)虛擬現(xiàn)實(shí)技術(shù)可以幫助肢體殘缺者順利地操縱計(jì)算機(jī)[2]。?
??? 現(xiàn)有的殘疾人輔助系統(tǒng)都較復(fù)雜,不僅使用不便還需要長時(shí)間的訓(xùn)練才能操作,而且價(jià)格要比一般的電腦超出幾倍,無法進(jìn)入實(shí)際應(yīng)用領(lǐng)域。為幫助肢體殘疾人使用計(jì)算機(jī),本文開發(fā)了一種基于計(jì)算機(jī)虛擬現(xiàn)實(shí)技術(shù)和永磁跟蹤技術(shù)的殘疾人功能重建的計(jì)算機(jī)輔助系統(tǒng)。該系統(tǒng)通過對頭部進(jìn)行永磁動態(tài)跟蹤, 并捕捉頭部的運(yùn)動軌跡, 通過模式識別的方法,實(shí)現(xiàn)了高精度、可靠的人-機(jī)接口, 使殘疾人可根據(jù)該部位的運(yùn)動代替鼠標(biāo)操縱計(jì)算機(jī)的虛擬鍵盤, 實(shí)現(xiàn)對計(jì)算機(jī)的一系列基本操作。本系統(tǒng)較之單純利用腦電或肌電的人-機(jī)接口有更高的識別效率和準(zhǔn)確率,是一項(xiàng)非常有應(yīng)用價(jià)值和前景的殘疾人計(jì)算機(jī)輔助系統(tǒng)。?
1 基本原理?
??? 永磁體在空間的磁場分布具有特定的規(guī)律性,有具體的解析表達(dá)式[3]。當(dāng)永磁體的尺寸遠(yuǎn)小于檢測點(diǎn)和永磁體間的距離時(shí),永磁體可等效為磁偶極子。故在實(shí)驗(yàn)中始終保持傳感器和永磁體之間的距離在合適的范圍內(nèi),因此,在本系統(tǒng)中可以將永磁體視為磁偶極子來計(jì)算。?
??? 磁偶極子會在它周圍產(chǎn)生一定的磁場,其磁場強(qiáng)度與距離的關(guān)系可用公式(1)計(jì)算[5]:?
?????
式中,為磁介質(zhì)的相對磁導(dǎo)率,μ0為真空磁導(dǎo)率,為磁矩方向的向量,量的長度。當(dāng)實(shí)驗(yàn)環(huán)境和磁體確定時(shí), 因此,
??? 在本系統(tǒng)中,傳感器放置在人的頭部前額的位置,傳感器會跟隨人頭部的運(yùn)動而不斷改變位置,其自身的坐標(biāo)系也會相應(yīng)地發(fā)生改變。設(shè)定一個(gè)固定的坐標(biāo)系如圖1所示。?
?
?
??? 相對于該固定坐標(biāo)系來說,傳感器的位置是改變的。在此固定坐標(biāo)系中,永磁體的中心點(diǎn)(a,b,c)為坐標(biāo)原點(diǎn)O(0,0,0),為z軸的方向,其中一個(gè)傳感器的位置P表示為(x,y, z)。傳感器與永磁體之間的向量可以表示為所以P點(diǎn)位置的傳感器的磁場強(qiáng)度可以表示為:?
????????
??? 三個(gè)坐標(biāo)軸方向分量分別如式(3)、式(4)、式(5)表示:?
?
??? 由上式可知:Bx、By、Bz分別是(x,y,z)的函數(shù),即B=f(x,y,z)。通過測量可以得到Bx、By、Bz的值,從聯(lián)立方程可求出(x,y,z)的坐標(biāo)值即所需要確定的頭部運(yùn)動的位置。?
??? 兩個(gè)三維磁場傳感器及其處理電路放置在人體頭部前額處,實(shí)時(shí)地接收磁場信號,圓柱形永磁體固定在人體頭部周圍,用于發(fā)射磁場。系統(tǒng)采集到的信號是傳感器相應(yīng)位置處的磁場作用所對應(yīng)的電壓信號。根據(jù)磁場傳感器的工作特性和系統(tǒng)的放大倍數(shù),由電壓信號可以得到傳感器相應(yīng)位置處的磁場強(qiáng)度信號。采用磁場跟蹤算法[4]得到傳感器相對于永磁體的空間位置和姿勢,進(jìn)而得到人體頭部運(yùn)動方向和角度,將這些方向和角度作為控制信號,來控制屏幕上的鼠標(biāo)動作,幫助操作者通過人機(jī)交互界面實(shí)現(xiàn)對電腦屏幕鼠標(biāo)的控制[5]。?
2 硬件設(shè)計(jì)?
2.1總體設(shè)計(jì)?
??? 本系統(tǒng)采用模塊化設(shè)計(jì),整個(gè)硬件部分主要由五大模塊組成:三軸磁傳感器、信號調(diào)理放大電路、A/D轉(zhuǎn)換電路、微控制器和USB通訊電路。系統(tǒng)框圖如圖2所示。?
?
?
2.2 傳感器的選擇?
??? 本文選擇三軸方向的適用于低磁場磁性的、高靈敏度(1mV/V/guass)的磁敏傳感器HMC1023,這種磁敏傳感器內(nèi)部有由3組正交垂直的4個(gè)磁敏電阻組成的惠斯通電橋。當(dāng)外加磁場平行于磁敏電阻內(nèi)部磁化方向時(shí),其阻值不變;當(dāng)外界磁場方向偏離時(shí),其阻值變低。若磁敏電阻中存在電流,其阻值也將發(fā)生變化,其大小隨內(nèi)外兩磁場合成磁化方向與電流流向的相對關(guān)系而異;趨于同向者增大,背向者減小。磁敏電阻阻值的變化將引起電橋輸出電壓的變化。這樣傳感器就成功地把外部的磁場強(qiáng)度信號轉(zhuǎn)換為相應(yīng)的電壓信號,從而可以測量空間任一點(diǎn)的三個(gè)正交方向的磁場分量。?
2.3 信號調(diào)理放大?
??? 由于永磁體的磁場強(qiáng)度與距離的三次方成反比,磁場強(qiáng)度衰減程度很大,所以在近距離和遠(yuǎn)距離處得到傳感器輸出的相應(yīng)的電壓值變化范圍較大。因此設(shè)計(jì)了放大倍數(shù)可調(diào)的放大電路。?
??? AD623儀表放大器是美國模擬器件公司推出的一種低價(jià)格、單電源供電(+3V~+12V)、輸出擺幅能達(dá)到電源電壓(通常稱之為電源限輸出,即rail to rail output)的儀表放大器。它具有很寬的共模輸入范圍和高的共模抑制比,通過外接增益調(diào)節(jié)電阻可使用戶靈活地調(diào)節(jié)增益(1~1000)。增益與增益調(diào)節(jié)電阻的關(guān)系如下:?
??? RG=100kΩ/(G-1)??????????????????????????????????? ?(6)?
式中,RG為增益調(diào)節(jié)電阻的阻值,G為放大器的增益。?
??? 根據(jù)設(shè)計(jì)的需要,本文采用2個(gè)AD623對信號進(jìn)行兩級放大。經(jīng)多路復(fù)用器選通后的差分信號接入到第一級放大器。經(jīng)過第一級放大后,共模干擾得到了很好的抑制,微弱的差分信號被提取出來并放大了10倍。第一級放大電路如圖3所示。
?
?
??? 第二級放大電路除了進(jìn)一步對信號進(jìn)行共模干擾的濾除和放大外,還利用一片MAX4634實(shí)現(xiàn)了放大倍數(shù)可調(diào)。通過用單片機(jī)控制MAX4634的通道選擇來選擇增益調(diào)節(jié)電阻,從而達(dá)到調(diào)節(jié)放大器增益的目的,增益可在20~1000 調(diào)整。第二級放大電路及增益調(diào)節(jié)電阻選擇電路分別如圖4、圖5所示。?
?
?
?
2.4 模數(shù)轉(zhuǎn)換(ADC)?
??? 為了提高精度,將傳感器得到的信號轉(zhuǎn)換為單片機(jī)可以處理的數(shù)字信號,本電路采用的MAX191 是12位模數(shù)轉(zhuǎn)換電路,如圖6所示。MAX191是高速A/D轉(zhuǎn)換芯片,它的平均轉(zhuǎn)換時(shí)間為7.5μs~8.125μs,即采樣速率可以達(dá)到120kS/s左右,內(nèi)置參考電壓和內(nèi)部時(shí)鐘。本電路的A/D轉(zhuǎn)換受單片機(jī)控制,單片機(jī)通過片選口和讀寫口啟動A/D進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換完畢向單片機(jī)送出高電平,經(jīng)單片機(jī)查詢后,分兩次讀出轉(zhuǎn)換數(shù)據(jù)的低8位和高4位。?
?
?
2.5 USB接口的硬件電路設(shè)計(jì)?
??? USB接口芯片采用Philips公司的PDIUSBD12。該芯片符合通用串行總線USB 1.1版規(guī)范,內(nèi)部集成有串行接口引擎(SIE)、320B FIFO存儲器、收發(fā)器(Transceiver)和電壓調(diào)節(jié)器;采用8位并行數(shù)據(jù)線連接到MCU,1位地址線用來區(qū)分寫命令或讀寫數(shù)據(jù);它支持3個(gè)雙向端點(diǎn),端點(diǎn)0為控制端點(diǎn)(用于響應(yīng)主機(jī)的控制信號),端點(diǎn)1、端點(diǎn)2用于數(shù)據(jù)量的傳輸,其中端點(diǎn)0和端點(diǎn)1緩沖區(qū)的大小為16B(雙向模式),端點(diǎn)2具有雙緩沖區(qū)能保存256B(輸入64×2,輸出64×2)。端點(diǎn)還可配置僅為IN或者OUT成工作模式。此外,端點(diǎn)2可用于同步,批量或者中斷操作。PDIUSB D12的連接電路示意圖如圖7所示。?
?
?
??? 外部輸入的模擬信號經(jīng)過多路模擬開關(guān)送到A/D轉(zhuǎn)換器。微控制器控制A/D轉(zhuǎn)換啟動、并讀取轉(zhuǎn)換后的數(shù)據(jù),將讀取的數(shù)據(jù)組織成USB的幀格式,并放入U(xiǎn)SB接口芯片的緩存中。USB接口電路負(fù)責(zé)將緩存中的數(shù)據(jù)轉(zhuǎn)換成串行的數(shù)據(jù)流通過USB總線發(fā)到上位機(jī)。?
2.6 AT89S52接口設(shè)計(jì)?
??? 微控制器采用Atmel公司的AT89S52單片機(jī),它是8位微控制器,片內(nèi)具有8KB Flash,256KB RAM。其接口電路設(shè)計(jì)如圖8所示。?
?
?
3軟件設(shè)計(jì)?
??? 本系統(tǒng)中的頭部跟蹤算法是在Matlab 6.5環(huán)境下實(shí)現(xiàn)的,然后通過程序接口鏈接到VC環(huán)境下使用。?
??? 系統(tǒng)軟件的設(shè)計(jì)完全按照結(jié)構(gòu)化的程序設(shè)計(jì)方法來完成,將整個(gè)程序細(xì)分為若干個(gè)子程序(模塊),以方便調(diào)試與檢查。開發(fā)系統(tǒng)采用Keil C51編譯器和偉福仿真器。A/D轉(zhuǎn)換結(jié)果的讀入采用查詢方式。通過查詢MAX191的BUSY端的信號來判斷轉(zhuǎn)換是否結(jié)束。整個(gè)開發(fā)過程如圖9所示。?
?
?
4 實(shí)驗(yàn)?
??? 固定系統(tǒng)中使用的三軸磁場傳感器,使一均勻磁體沿X、Y、Z傳感軸方向水平移動。記錄磁體與傳感器的距離,同時(shí)記錄下不同距離時(shí)的AD623的輸出電壓(此電壓是與永磁體在傳感器處的磁場強(qiáng)度有關(guān)的數(shù)值),通過 MATLAB處理,得到了三軸磁場傳感器與永磁體在不同的間距情況下各向磁感應(yīng)強(qiáng)度的值,如圖10所示(此處用電壓代表磁感應(yīng)強(qiáng)度值)。?
?
?
??? 由圖10可知,本系統(tǒng)中磁體與傳感器間的間距為150mm~350mm之間,在此間距之內(nèi),既可以把永磁體等效為磁偶極子模型進(jìn)行計(jì)算,又可以防止距離過遠(yuǎn)磁場信號衰減太大,后續(xù)信號處理困難。?
??? 本實(shí)驗(yàn)系統(tǒng)的虛擬鍵盤的排列方式如圖11所示,目前還處于實(shí)驗(yàn)階段,由健康人進(jìn)行模擬實(shí)驗(yàn),僅僅依靠頭部的運(yùn)動,完成若干字符向計(jì)算機(jī)的輸入工作。圖12為實(shí)驗(yàn)時(shí)實(shí)驗(yàn)者頭部運(yùn)動時(shí),系統(tǒng)軟件跟蹤頭部運(yùn)動的軌跡圖,可以進(jìn)行三維和二維的實(shí)時(shí)跟蹤。?
?
?
?
??? 實(shí)驗(yàn)者以頭部的平移來尋找相應(yīng)的字母,每個(gè)字母的距離約為15mm。使用者與屏幕有一定的距離,字母的分辨率比較精確,找到相應(yīng)的字母后,使用者以頭部的上下或者左右幅度的運(yùn)動來使光標(biāo)移動范圍覆蓋整個(gè)虛擬鍵盤或整個(gè)電腦屏幕,利用光標(biāo)停留在一個(gè)字母上一段時(shí)間(具體可以根據(jù)實(shí)際情況設(shè)定),來確定選中該字母鍵,或者利用光標(biāo)停留時(shí)間的長短模擬一般鼠標(biāo)的點(diǎn)擊、雙點(diǎn)擊、選擇、復(fù)制、粘貼等功能,由此完成文本的輸入及簡單的文字寫作操作或者處理電子郵件,玩電子游戲等功能。?
??? 實(shí)驗(yàn)表明,本系統(tǒng)中的頭部動態(tài)永磁跟蹤功能可滿足對頭部運(yùn)動的實(shí)時(shí)反應(yīng),可獲得若干簡單的空間運(yùn)動模式。經(jīng)過訓(xùn)練,使用者可以完成指定字符的輸入,字母的輸入速度可達(dá)到約22字/min,這與操練人員的熟練程度有關(guān)。對于系統(tǒng)的誤操作,可以通過界面的cancel鍵采用重新輸入的方式加以糾正,使用比較方便。?
??? 本文介紹的系統(tǒng)小巧輕便,普通人不需要經(jīng)過長時(shí)間的訓(xùn)練即可操作。整個(gè)系統(tǒng)只需要在普通電腦的基礎(chǔ)上,再配備大約500元左右的輔助設(shè)備就可以使用,價(jià)格低廉,非常適合日常應(yīng)用,有一定的推廣價(jià)值;另外,系統(tǒng)中使用了自己設(shè)計(jì)的帶有USB接口的高速采集系統(tǒng),實(shí)時(shí)性較好,能夠?qū)崟r(shí)控制人機(jī)界面進(jìn)行英文字母或者漢字、阿拉伯?dāng)?shù)字的輸入,具有很高的分辨率和容錯(cuò)性,操作靈活,魯棒性較強(qiáng)。這對于那些無法操作電腦的殘疾人來說是一個(gè)很好的工具。?
參考文獻(xiàn)?
[1] MUNIER M, BENALI K. Transactional approach [A].IEEE Conference, Berlin, Germany, 1999:1926-1931. ?
[2] KIM K H, KIM H K, SON W H. Artifact-based humancomputer interface for the handicapped.? M. Rauterberg?(Ed.):ICEC 2004, LNCS 3166, 2004, 386-392.?
[3] INGARDEN R S, JAMIOLKOWSKI A. Classical electrodynamics. Elsevier Science Publishers B.V., Poland, 1985:220-222.?
[4]?MEYER? K, WHITE A. A survey of position trackers.MIT ? Press, 1992. ?
[5] RODGERS A G. Advances in head tracker technology-a?key contributor to helmet vision system performance and implementation.Society for Information Display International?symposium, Digest of Technical Papers, 1991.