《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 業(yè)界動態(tài) > 基于頭部永磁跟蹤的計(jì)算機(jī)虛擬實(shí)現(xiàn)技術(shù)

基于頭部永磁跟蹤的計(jì)算機(jī)虛擬實(shí)現(xiàn)技術(shù)

2009-04-14
作者:牟 琳1, 陳冬梅2, 馬曉杰3
關(guān)鍵詞: 永磁體 A/D 磁場傳感器 磁敏 三軸

??? 摘? 要: 根據(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.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。