天堂av色综合久久天堂,中文字幕人妻丝袜乱一区三区 ,新版天堂资源中文www连接,中文字幕无码乱码人妻系列蜜桃,在线观看国产精品影院

0755-82908211 info@sensorstech.com 耐特恩網(wǎng)站

深度解析:利用三軸加速度傳感器求位置算法

日期: 2017-12-11
瀏覽次數(shù): 1894

此文主要描述并使用MMA7260QT三軸加速計和低功耗的9S08QG8八位單片機(jī)實現(xiàn)求解位置的算法?。

在今天先進(jìn)的電子市場,有不少增加了許多特性和智能的多功能的產(chǎn)品。定位和游戲只是得益于獲取到的位置信息的一部分市場。一個獲取這種信息的可選方案是通過使用慣性傳感器。從這些傳感器中取得的信號需要進(jìn)行一些處理,因為在加速度和位置之間沒有一種直接轉(zhuǎn)換。

為了獲得位置,需要對加速度進(jìn)行二次積分。本文介紹一種簡單的算法實現(xiàn)加速度的二重積分。為了獲取加速度的二重積分,一個簡單的積分要進(jìn)行兩次,因為這樣也可以順便獲取速度。

接下來要展示的算法,能夠應(yīng)該于任何傳感軸,所以一維、二維、三維的位置都可以被計算出。當(dāng)在獲取三維位置信息時,要特別地除去重力加速度的影響。下面的算法實現(xiàn)還包括了一個二維系統(tǒng)的例子(比如鼠標(biāo))。

?

應(yīng)用潛力

這種算法的應(yīng)用潛力在于個人導(dǎo)航、汽車導(dǎo)航和(back-up)GPS、防盜設(shè)備、地圖追蹤、3D游戲、計算機(jī)鼠標(biāo)等等。這類產(chǎn)品都需要用到求解位置信息的算法。

本文所介紹的算法在位移精度要求不是很嚴(yán)格的情況下很有用。其他的情況和影響特別是應(yīng)用,當(dāng)采用本文算法時,需要考慮一下。對最終程序進(jìn)行微小的修改和調(diào)整,這種算法能夠達(dá)到更高的精度。

?

理論知識和算法

理解本文算法的最好方法是回顧一下數(shù)學(xué)上的積分知識。

加速度是一個對象速度的變化速率。同時,速度是同樣一個對象位置的變化速率。換句話說,速度是位置的導(dǎo)數(shù),加速度是速度的導(dǎo)數(shù),因此如下公式:

301921127012208.png

積分和導(dǎo)數(shù)相反。如果一個物體的加速度已知,那么我們能夠利用二重積分獲得物體的位置。假設(shè)初始條件為0,那么有如下公式:

301921134207821.png

一個理解這個公式的方法是將積分定義成曲線下面包圍的區(qū)域,積分運(yùn)算結(jié)果是極小區(qū)域的總和,區(qū)域的寬度趨近于0。換句話說,積分的和表示了一個物理變量的大小(速度)。

301921142642463.png

利用前面的一個概念——曲線下面的區(qū)域,我們能得出一個結(jié)論:對一個信號采樣,得到該信號大小的瞬時值,所以能夠在兩次采樣之間得到一個小的區(qū)域。為了獲得連貫的值采樣時間必須相同。采樣時間代表這塊區(qū)域的寬,同時采樣得到的值代表區(qū)域的高。為了消除帶有分?jǐn)?shù)的乘法(微秒或毫秒),我們假定時間為一個單位。

現(xiàn)在,我們知道了每個代表區(qū)域?qū)挾鹊牟蓸訒r間等于1。下一個結(jié)論是:

積分的值可以約等于區(qū)域面積之和。

如果采樣時間趨近于0,那么結(jié)論將是正確的。但在實際中,將會產(chǎn)生如下錯誤,在處理的過程中,這個誤差將會一直累積。

301921150457292.png

這些錯誤稱為采樣損失。為了減少這些錯誤,我們再做進(jìn)一步的假設(shè)。結(jié)果區(qū)域能夠看成由兩塊小的區(qū)域的組合:

301921158267419.png

區(qū)域1是前一次采樣的值(方形),區(qū)域2是一個三角形,是前一次采樣和當(dāng)前采樣之差的一半。

通過這種方法,我們現(xiàn)在有一個一階近似(插值)的信號。

301921166399303.png

現(xiàn)在的錯誤比以前的近似的低得多。

盡管加速度有正有負(fù),但采樣的值總是正的(基于MMA7260QT的輸出特性),因此需要做一個偏移判斷,換句話說,需要一個參考。這個程序即為校準(zhǔn)程序。

校準(zhǔn)程序用于在沒有移動情況下的加速度值上。這時,獲得的加速度值可以看成是零參考點。低于零參考點的值代表負(fù)值(減速),高于零參考點的值代表正值(加速)。

加速度計的輸出范圍為0v到Vdd,并且它通常由AD轉(zhuǎn)換器得到。0值接近Vdd/2。前面獲得的校準(zhǔn)值會被芯片的方向和分解在各軸的靜態(tài)加速度(重力加速度)所影響。如果裝置剛好平行于地球表面,那么校準(zhǔn)值將會很接近Vdd/2。

接下來的這張圖用于展示校準(zhǔn)程序的結(jié)果。

301921173422689.png

從采樣的信號減去零參考值,我們獲得真正的采樣加速度。

301921180459775.png

A1代表正加速度,A2代表負(fù)加速度。

如果我們將這數(shù)據(jù)看作是采樣數(shù)據(jù),那么信號值將和下圖非常接近。

301921187641688.png

301921193421345.png

通過使用上面的積分公式,F(xiàn)ormula 1,我們將獲得速度的比例近似值。同樣,為了獲取位置,需要再進(jìn)行一次積分。在獲得的速度數(shù)值上應(yīng)用相同的公式和步驟,我們現(xiàn)在獲得了一個瞬時位置的比例近似值。(見圖6)

301921206852601.png


軟件設(shè)計相關(guān)注意事項

當(dāng)在現(xiàn)實世界的實現(xiàn)中應(yīng)用這種算法,應(yīng)該考慮一下下面的步驟和建議:

1.信號存在一定的噪聲,所以信號必須經(jīng)過數(shù)字濾波。本算法中的濾波是一種移動平均算法,要處理的值是一定數(shù)量采樣值的平均結(jié)果。

2.即使以前過濾的一些數(shù)據(jù)可能由于機(jī)械噪聲導(dǎo)致錯誤,所以必須實現(xiàn)另一個濾波器。根據(jù)過濾的樣品數(shù),一個真實加速度的窗口能夠被選擇(一般為16±2采樣次數(shù))。

3.無運(yùn)動狀態(tài)對獲得正確的數(shù)據(jù)是至關(guān)重要的。校準(zhǔn)例程需要在應(yīng)用程序的開頭。該校準(zhǔn)值必須盡可能準(zhǔn)確。

4.加速度的真實值等于采樣值減去校準(zhǔn)值;它可以是正數(shù)或負(fù)數(shù)。當(dāng)你在定義變量的時候,這絕對不能被忽略,需要定義為有符號數(shù)。

5.更快的采樣頻率意味著更精確的結(jié)果,因為采樣頻率越快誤差越少。但是需要更多的內(nèi)存、時間和硬件方面的考慮。

6.兩次采樣之間的時間必須要相同。如果這個時間不相同,將會產(chǎn)生錯誤。

7.兩次采樣結(jié)果之間的線性近似值(插值)被推薦用于更精確的結(jié)果。


相關(guān)推薦:
ignore
5
電話
    ignore
6
二維碼
    ignore
分享