《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > 基于加速度傳感器的無線人體動作測量設(shè)備
基于加速度傳感器的無線人體動作測量設(shè)備
摘要: 本文介紹的設(shè)備是使用加速度傳感器的無線人體動作信息測量設(shè)備,在人體四肢及軀干同時佩戴5組測量設(shè)備,準(zhǔn)確反映人體各部分動作情況,同時使用無線數(shù)據(jù)傳輸方式減少體驗者的不適感。
Abstract:
Key words :
 

  引言

  長久以來,使用人體自然動作與計算機(jī)交互一直是人機(jī)交互技術(shù)追求的目標(biāo)之一。目前主流的人機(jī)動作交互技術(shù)有2種:視頻動作識別技術(shù)和慣性器件動作識別技術(shù)。

  前者以Microsoft Xbox 360的Kinect視頻感應(yīng)器為代表,依靠攝像頭采集人體動作視頻,通過識別算法進(jìn)行分析,可較準(zhǔn)確地識別人體動作,但需要強大的硬件處理能力、復(fù)雜的軟件識別算法,而且對于多人、高復(fù)雜度動作難以識別。后者的代表為任天堂的Wii mote手柄,主要依靠慣性器件反映出肢體的速度、位移及傾斜度。該技術(shù)算法簡單,識別精度較高,但需要佩戴傳感器模塊,可能給體驗者帶來不適。識別動作的復(fù)雜度與傳感器的數(shù)量、精度有關(guān),如Wii mote局限在于僅能感知手部運動,隨著傳感器使用數(shù)量、種類的增加,精度的提高,人體各種快速、復(fù)雜的運動都可被精確識別,這是視頻識別技術(shù)所難以達(dá)到的。

  本文介紹的設(shè)備是使用加速度傳感器的無線人體動作信息測量設(shè)備,在人體四肢及軀干同時佩戴5組測量設(shè)備,準(zhǔn)確反映人體各部分動作情況,同時使用無線數(shù)據(jù)傳輸方式減少體驗者的不適感。

  1 測量原理

  測量模塊放置于人體四肢及軀干,以右手為例。測量模塊放置于右手肘關(guān)節(jié)外側(cè),根據(jù)重力在加速度傳感器三軸上的分量,可以計算出傳感器坐標(biāo)系與自然坐標(biāo)系的夾角,進(jìn)而得出傳感器所在手臂平面與自然坐標(biāo)系的夾角,根據(jù)三個夾角與傳感器到肩膀的固定位置,可以計算出傳感器所在手臂部位的空間位置。傳感器坐標(biāo)系與自然坐標(biāo)系夾角如圖1所示。

a.jpg

b.jpg

  式中Ax為傳感器x軸加速度分量,Ay為傳感器y軸加速度分量,Az為傳感器z軸加速度分量。人體軀干直立,右手微抬時傳感器所在手臂與自然坐標(biāo)系的三個夾角如圖2所示。其中右手上白點代表傳感器。

e.jpg

  2 系統(tǒng)硬件設(shè)計

  硬件系統(tǒng)由運動測量模塊與數(shù)據(jù)接收模塊構(gòu)成。運動測量模塊放置于人體四肢及軀干部位,負(fù)責(zé)采集加速度數(shù)據(jù),并將數(shù)據(jù)通過2.4G無線方式發(fā)送至數(shù)據(jù)接收端。數(shù)據(jù)接收模塊同時接收5組運動測量模塊的測量數(shù)據(jù),并通過USB接口與PC機(jī)傳遞數(shù)據(jù)。

  2.1 運動測量模塊硬件設(shè)計

  運動測量模塊由ADXL345加速度傳感器、nRF24L01無線射頻模塊、ATmega88單片機(jī)和電源模塊構(gòu)成,硬件結(jié)構(gòu)如圖3所示。測量模塊實物如圖4所示。

c.jpg

f.jpg

  ADXL345是ADI公司的三軸數(shù)字加速度傳感器,主要應(yīng)用于消費電子的微型慣性器件,最大可感知土16g的加速度,感應(yīng)精度可達(dá)3.9mg /LSB,傾角測量典型誤差小于1°。通過其內(nèi)置的ADC將加速度信號轉(zhuǎn)換為數(shù)字量存放在片內(nèi)緩沖區(qū),使用SPI總線讀取數(shù)據(jù)。在實際使用中,為提高輸出數(shù)據(jù)的穩(wěn)定性,設(shè)置感應(yīng)范圍為±2 g,感應(yīng)精度為3.9 mg,可以滿足人體動作加速度范圍與精度要求。傳感器采樣速度在6.25~3 200 Hz之間可調(diào),因為無線發(fā)送數(shù)據(jù)需要時間較長,并且低采樣速率可以降低噪聲干擾,將采樣速度設(shè)定在100Hz,即10ms輸出1組數(shù)據(jù)。

  控制模塊由ATmega88單片機(jī)及配套電路構(gòu)成。ATmega88為8位AVR單片機(jī),在3.3 V電壓模式下可以工作于8 MHz,片內(nèi)擁有8 KB Flash與1 KB SRAM。其主要任務(wù)為初始化加速度傳感器和無線射頻芯片,并從加速度傳感器中讀取測量數(shù)據(jù),將數(shù)據(jù)初步整理后傳送至無線射頻芯片。

  無線射頻模塊主要由nRF24L01構(gòu)成,是一款單片射頻收發(fā)器件,它工作于2.4~2.5 GHz ISM頻段。內(nèi)置頻率合成器、功率放大器、晶體振蕩器、調(diào)制器等。數(shù)據(jù)傳輸速率可達(dá)1~2 Mb/s。它可以同時支持6個無線器件的接收,由此實現(xiàn)了1組數(shù)據(jù)接收模塊同時接收5組運動測量模塊發(fā)送的數(shù)據(jù)。

  電源模塊使用低壓差線性穩(wěn)壓器件(LDO)SP6201,將鋰電池的4.2 V電壓降至3.3 V,最大可負(fù)載200 mA電流,滿足設(shè)備需要。

  2.2 數(shù)據(jù)接收模塊硬件設(shè)計

  數(shù)據(jù)接收模塊使用芯片CY7C68013A,片內(nèi)集成USB2.0收發(fā)器、串行接口引擎、增強型8051微控制器,數(shù)據(jù)的傳輸率可達(dá)到56 MB,最大4 K USB端點緩沖區(qū),時鐘頻率可達(dá)48 MHz。由于CY7C68013A本身并沒有硬件SPI接口,同時又需要SPI與無線射頻模塊通信,實際中使用GPIO口軟件模擬4線SPI進(jìn)行通信。CY7C68013A不斷掃描無線射頻模塊狀態(tài),當(dāng)有接收數(shù)據(jù)到來時,使用SPI接收數(shù)據(jù)并通過USB上傳給計算機(jī)。

  數(shù)據(jù)接收模塊硬件結(jié)構(gòu)如圖5所示。

 

d.jpg

  3 系統(tǒng)軟件設(shè)計

  軟件設(shè)計主要包括2個部分,動作測量模塊主控制器ATmega88的數(shù)據(jù)采集及發(fā)送部分、數(shù)據(jù)接收模塊控制器CY7C68013A的數(shù)據(jù)接收及上傳部分。

  3.1 運動測量模塊軟件設(shè)計

  使用ATmega88的定時器控制采樣時間,由于已經(jīng)將ADXL345的輸出頻率定為100 Hz,這里將程序設(shè)定為每隔10 ms進(jìn)行一次采樣,采樣后將數(shù)據(jù)發(fā)送至無線射頻模塊進(jìn)行數(shù)據(jù)發(fā)送,發(fā)送成功后進(jìn)行下一次采樣,否則重新發(fā)送。測量模塊軟件流程如圖6所示。

i.jpg

  3.2 數(shù)據(jù)接收模塊軟件設(shè)計

  數(shù)據(jù)接收模塊CY7C68013A通過不斷查詢nRF24L01的中斷引腳來檢測有無數(shù)據(jù)到來;當(dāng)有接收數(shù)據(jù)到時,使用SPI總線讀取加速度信息,判斷該數(shù)據(jù)來自哪個發(fā)送端,并將數(shù)據(jù)存放在相對應(yīng)的USB端點緩沖區(qū),等待上位機(jī)取走。若上位機(jī)不取數(shù)據(jù),舊數(shù)據(jù)會自動被新數(shù)據(jù)沖掉,保證數(shù)據(jù)的實時性。中央處理模塊軟件流程如圖7所示。

  4 實驗結(jié)果與分析

  實驗中使用面包板模擬人體手臂進(jìn)行角度測量實驗,因為真實手臂平面有一定弧度,測量模塊不同的放置位置對測量結(jié)果會有影響,而面包板為規(guī)則長方體,有非常平坦的一面可以放置測量模塊,并且棱角清晰方便進(jìn)行傾斜角度測量。在具體實驗中,模擬測量模塊佩戴在右手肘關(guān)節(jié)外側(cè)的情況,設(shè)計2種測試?yán)?。右手向右伸臂的動作,如圖8所示。右手向前抬臂的動作如圖9所示。

g.jpg

h.jpg

  在0~90°范圍內(nèi)2種情況下,三軸測量角度與參照角度比較。表1為模擬右手右伸臂時三軸角度與參照角度比較。表2為模擬右手前抬臂時三軸角度與參照角度比較。由表1、表2可以看出:除個別接近0、90°時誤差較大外,大多數(shù)角度測量的誤差絕對值小于1.5°,與ADXL345官方說明文件的誤差小于1°較為相符。

j.jpg

  表中負(fù)值為傳感器坐標(biāo)軸正方向與自然坐標(biāo)軸正方向夾角超過90°情況。誤差超過1°產(chǎn)生的原因有如下幾方面:

  ①在電源設(shè)計時沒有為ADXL345的ADC單獨設(shè)置參考電壓源,而是使用VDD系統(tǒng)電源,存在一些紋波干擾,造成誤差。

 ?、跊]有對傳感器進(jìn)行零點標(biāo)定,水平放置時X、Y軸輸出并不為0。

 ?、廴鄙賹I(yè)角度測量設(shè)備,角度參考圖使用普通量角器制作,參考角度與實際角度。

 ?、?font class="f14">傳感器平面與電路板平面、實驗面包板平面不完全重合,存在固定夾角,測量時有誤差。從表1的Y軸夾角看出,理論上模擬右手右伸臂時Y軸夾角應(yīng)一直為0°,但現(xiàn)實中出現(xiàn)了一個轉(zhuǎn)角,使輸出逐漸由-1.2°過渡到2.2°。

  結(jié)語

  本文通過使用加速度傳感器ADXL345采集人體動作信息,使用nRF24L01無線時頻模塊發(fā)送數(shù)據(jù),最后通過USB芯片CY7C68013將數(shù)據(jù)上傳給PC機(jī),并在PC機(jī)上實時繪制人體運動動畫,構(gòu)建了一種人體動作信息測量設(shè)備。測量身體各部位角度典型誤差小于1.5°,滿足普通人機(jī)交互需要。目前已經(jīng)根據(jù)上述原理制作出樣品,PC機(jī)上顯示人體模型與佩戴測量模塊的實際人體動作較為一致,反應(yīng)靈敏,可以滿足快速實時的人機(jī)交互過程的實現(xiàn)。在進(jìn)一步減小輸出誤差,穩(wěn)定輸出結(jié)果后,可以應(yīng)用于高危環(huán)境機(jī)器人控制、游戲娛樂等各種人機(jī)交互場合。



 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。