陸 超
(南京郵電大學 通信與信息工程學院,江蘇 南京 210003)
PCA方法的運動軌跡檢測算法研究
陸 超
(南京郵電大學 通信與信息工程學院,江蘇 南京 210003)
以陀螺和加速度計為敏感器件的導航參數(shù)解算系統(tǒng)稱之為慣性導航系統(tǒng),通過陀螺的輸出建立導航坐標系,而加速度計的輸出可以算出運動物體的速度和位置。MPU6050整合了三軸陀螺儀,三軸加速度器,磁力傳感器或者其他傳感器。它可含有兩個I2C端口,可以進行數(shù)位運動處理,向運動端輸出單一形式的數(shù)據(jù)流。針對運動傳感器應用廣泛的現(xiàn)狀,提出了一種采用MPU6050模塊的運動軌跡檢測算法設計方案。軌跡檢測的原理是加速度經(jīng)過二重積分后可以得到位移。由于加速度傳感器輸出存在積累誤差,采用了主成分分析(PCA)方法來抑制積累誤差。用PCA進行特征提取,對運動狀態(tài)下的加速度和速度進行修正,消除積累誤差并重建軌跡。傳感器的硬件平臺搭建主控制器為STM32,通過MATLAB軟件繪圖功能,利用多組三個方向加速度值和三個方向角速度值來做出運動軌跡和解算姿態(tài)。實驗結果表明:所述方法使得物體運動軌跡檢測的精準度有所提高。
加速度傳感器;主成分分析;軌跡檢測;誤差處理
MEMS加速度傳感器[1]不受外界參考系的影響,非常適合應用于運動物體的空間軌跡檢測。運動傳感器[2]使用了慣性技術,能夠探測人和物體的運動,通過分析處理接收到的數(shù)據(jù)來獲得更多的信息?,F(xiàn)在越來越多的掌上游戲機、手機以及運動和健身器材都開始增添運動檢測功能,隨著技術的進步,運動處理技術的應用前景不可估量。
但是由于加速度計自身的誤差和外界的干擾誤差,MEMS加速度傳感器的精度受到了影響。而傳感器的誤差和外界的干擾誤差又會影響陀螺儀。誤差的初始數(shù)值雖然很小,但是經(jīng)過二次積分等處理后數(shù)值就會積累增大,導致最后重建的運動軌跡出現(xiàn)嚴重畸變。抑制積累誤差的方法主要有零速度補償法[3],其基本思想是區(qū)分物體的運動時段和靜止時段,將物體靜止時的加速度和速度都強制為零,修正運動速度。多項式補償算法[4]與零速度補償法類似,加入了初始位移為零的條件,使最終結果更接近于理論模型。多軸動態(tài)開關法[5],使用了兩個標準來進行區(qū)分,即加速度閾值和速度閾值,當達到了加速度閾值時,物體就開始運動了,當物體的運動速度達到了速度閾值時,物體就由運動轉為靜止。
文中提出了一種基于主成分分析(Principal Component Analysis,PCA)的加速度傳感器積累誤差消除方法,采用PCA方法進行特征提取。實驗結果表明,該方法提高了運動軌跡檢測的精準度。
1.1 加速度傳感器、陀螺儀的簡要介紹
加速度傳感器用來感測運載體的線運動信息,服從牛頓力學,加速度輸出是絕對加速度。加速度傳感器的主要技術指標是量程、靈敏度和帶寬。
陀螺儀用來測量運載體的角運動,在控制角運動的回路中用作控制環(huán)節(jié),基本工作原理是基本慣性原理,角速度輸出是相對于慣性空間的角速度。廣泛使用的MEMS陀螺儀相比傳統(tǒng)的陀螺儀的優(yōu)勢體現(xiàn)在:體積小,重量輕,低成本,高可靠性,低功耗,大量程,易于數(shù)字化、智能化。
MPU6050模塊[6]是一款低成本的6軸模塊,結合了加速度計和陀螺儀的功能。其體積小巧,用途廣泛,做平衡小車、四軸飛行器、飛行鼠標等等,都是必不可少且最優(yōu)的傳感器解決方案。
MPU6050的角速度能檢測到±250°、±500°、±1 000°與±2 000°的變化,可以準確追蹤速度的變化,產(chǎn)品傳輸可透過最高達20 MHz的SPI或最高400 kHz的集成電路。MPU6050的供電電壓為2.5 V、3.0 V或3.3 V,可在不同電壓下工作。
1.2 MPU6050的硬件設計
主控制器是高性能的ARM CortexTM-M3 32位的RISC內(nèi)核單片機STM32,其工作頻率最高達72 MHz,內(nèi)置高速存儲器(20 KB SRAM、64 KB或128 KB Flash)。
MPU6050和STM32單片機之間的通信采用400 kHz的IIC接口,其供電電壓為5 V。將STM32的引腳(SDA和SCL)分別和MPU6050的24號引腳(SDA)和23號引腳(SCL)相連接,可實現(xiàn)傳感器和微處理器間的通信。MPU6050接線圖如圖1所示。
圖1 MPU6050接線圖
算法程序的執(zhí)行流程如圖2所示。
圖2 算法程序執(zhí)行流程
首先硬件接收數(shù)據(jù),再分別對x軸,y軸和z軸的物體運動加速度和角速度進行Kalman濾波[7],之后對數(shù)據(jù)進行坐標系轉換[8]。接下來運用PCA算法[9]消除積累誤差[10]。最后利用MATLAB繪制運動軌跡圖。
3.1 特征提取
對Kalman濾波處理后的加速度信號進行特征提取[11-13]。PCA用更少特征數(shù)量取代原先更多的特征數(shù)量,即新的特征是舊的特征的線性組合。
PCA主要用于對特征進行降維,從所有的特征中找出有意義的特征的過程就是降維[14]。如果數(shù)據(jù)的特征數(shù)非常多,可以認為其中只有一部分特征是真正感興趣和有意義的,而其他特征或者是噪音,或者和別的特征有冗余。
所提取的特征應能體現(xiàn)出不同類別間的差異[15-16]。這些線性組合最大化樣本方差,盡量使新的特征互不相關。PCA過程需要特征中心化,每一維的數(shù)據(jù)都要減去該維的均值。用PCA方法進行運動狀態(tài)與靜止狀態(tài)的識別。假設從某一樣本點開始進入運動狀態(tài),那么其與靜止時相比,樣本點整體的加速度幅值會增大,樣本點間的變化幅度也會增大。所以特征要提取加速度幅值均值和標準差,同時需要角速度幅值均值和標準差。
用PCA方法對特征進行建模:
(1)
(2)
(3)
把加速度值和角速度值表示成二維矩陣形式XN*J,其中N表示特征樣本個數(shù),J表示降維過程中的樣本個數(shù)。用PCA方法進行特征提取,還需要將建模數(shù)據(jù)進行標準化處理。
3.2 PCA算法的思想與原理
PCA是一種常用的數(shù)據(jù)分析方法。數(shù)據(jù)從原來的坐標系轉換到了新的坐標系,新坐標系的選擇是由數(shù)據(jù)本身決定的。第一個新坐標軸選擇的是原始數(shù)據(jù)中方差最大的方向,第二個新坐標軸的選擇和第一個坐標軸正交且具有最大方差的方向。該過程一直重復,重復次數(shù)為原始數(shù)據(jù)中特征的數(shù)目。
在一個實際問題中,有p個隨機變量x1,x2,…,xp,對p個變量進行線性組合,得到新的變量F1,F2,…,Fk(k≤p),新變量能夠充分反映原始變量的信息,并且相互獨立。對于一個樣本資料,觀測p個變量x1,x2,…,xp,n個樣本的數(shù)據(jù)資料陣為:X=(x1,x2,…,xp)。主成分分析就是將p個觀測變量綜合成p個新變量,即
Fj=αj1x1+αj2x2+…+αjpxp,j=1,2,…,p
(4)
其協(xié)差陣為:
Var(F)=Var(AX)=(AX)(AX)'=AXX'A'=Λ
(5)
假設原始數(shù)據(jù)協(xié)方差陣為V,將原始數(shù)據(jù)進行標準化處理,即
V=R=XX'
(6)
又A為正交矩陣,即滿足:
AA'=I
(7)
將原始數(shù)據(jù)的協(xié)方差代入主成分的協(xié)差陣公式,得到:
Var(F)=AXX'A'=ARA'=Λ
(8)
RA'=A'Λ
(9)
于是,變量(x1,x2,…,xp)變換后為:
(10)
在運動軌跡系統(tǒng)中,物體從靜止到運動再到靜止,在最后的靜止階段,采樣點的速度應該為零,即加速度的積分應當為零,加速度也為零。但在實際情況下,物體最后靜止時,不能由采樣點的加速度得到一個零速度。因此需要對加速度和速度進行修正。
加速度修正如下:
(11)
因為積累誤差和時間成正比:
(12)
加速度修正之后積分得到的速度初值為零,再對速度的終值進行修正:
(13)
假設k1為運動的始點,k2為運動的終點。
首先采集初始數(shù)據(jù),PC上位機讀取數(shù)據(jù),使用相同頻率50Hz,輸出每組三個加速度值和三個角速度值,主要研究直線運動的情況。經(jīng)過Kalman濾波處理以及濾除重力加速度分量,接下來對加速度分別進行一次積分和二次積分得到速度和位移曲線,對比基于PCA的積累誤差消除前后的速度和位移曲線,并且和零速度補償方法進行軌跡重建對比。
圖3是沒有進行積累誤差消除的速度曲線??梢钥闯?,運動終止時的速度不為零,這是積累誤差導致的。積累誤差消除之后,看圖4的速度曲線,初始速度和終止速度都被修正為零。
圖5虛線是用PCA方法進行特征提取,對加速度和速度修正之后重建的運動軌跡圖。該方法對三角形的還原度明顯高于零速度補償法(點劃線),使得運動軌跡檢測算法的精度有所提高。
圖3 未作積累誤差消除的速度曲線
圖4 積累誤差消除之后的速度曲線
圖5 PCA方法積累誤差消除與零速度
為提高機械運動的準確性和敏捷性,提出了基于PCA方法的運動軌跡檢測積累誤差消除方法。用PCA識別運動和靜止狀態(tài),再通過修正加速度和速度消除積累誤差,得到運動軌跡。實驗結果表明,該方法能夠提高積累誤差消除的有效性和運動軌跡的精度,具有較好的實用價值和應用前景。
[1]GanjiBA,Shahiri-TabarestaniM.AnovelhighsensitiveMEMSintraocularcapacitivepressuresensor[J].MicrosystemTechnologies,2013,19(2):187-194.
[2]KimJ,GravunderA,ParkHS.Commercialmotionsensorbasedlow-costandconvenientinteractivetreadmill[J].Sensors,2015,15(9):23667-23683.
[3]BangWC,ChangW,KangKH,etal.Self-containedspatialinputdeviceforwearablecomputers[C]//7thIEEEinternationalsymposiumonwearablecomputers.WhitePlains,US:IEEE,2003:26-34.
[4]YangJ,ChoiES,ChangW,etal.Anovelhandgestureinputdevicebasedoninertialsensingtechnique[C]//Industrialelectronicsconference.Busan,RepublicofKorea:[s.n.],2004:2786-2791.
[5]WangJeen-Shing,HsuYu-Liang,LiuJiun-Nan.Aninertial-measurement-unit-basedpenwithatrajectoryreconstructionalgorithmanditsapplications[J].IEEETransactionsonIndustrialElectronics,2010,57(10):3508-3521.
[6]LiuLi,ZhengDongxue,LiuXiaojun.DesignoffalldetectionsystemforelderlypeoplebasedonMPU6050sensor[J].ChineseJournalofMedicalInstrumentation,2015,39(5):327-330.
[7]GurungH,BanerjeeA.Self-sensingSMAactuatorusingextendedKalmanfilterandartificialneuralnetwork[J].ProcediaEngineering,2016,144:629-634.
[8]MorozovE,SteyaertB.Stabilityanalysisofatwo-stationcascadequeueingnetwork[J].AnnalsofOperationsResearch,2013,202(1):135-160.
[9]LuoYuan,ZhangTian,ZhangYi.AnovelfusionmethodofPCAandLDPforfacialexpressionfeatureextraction[J].InternationalJournalforLightandElectronOptics,2016,127(2):718-721.
[10]XuRZ,ZhouSL,LiWJ.MEMSaccelerometerbasednonspecific-userhandgesturerecognition[J].IEEESensorsJournal,2012,12(5):1166-1173.
[11] 朱國忠,韋彩虹,潘 敏.基于三維加速度傳感器的人體運動能耗檢測算法的研究[J].傳感技術學報,2011,24(8):1217-1222.
[12] 陳建新,卜 翔,王 榮,等.基于MEMS加速度的三維無線鼠標設計與實現(xiàn)[J].無線互聯(lián)科技,2011(8):22-25.
[13]YoungDJ,ZurcherMA,SemaanM,etal.MEMScapacitiveaccelerometer-basedmiddleearmicrophone[J].IEEETransactionsonBiomedicalEngineering,2012,59(12):3283-3292.
[14]ZandiK,BelangerJA,PeterYA.Designanddemonstrationofanin-planesilicon-on-insulatoropticalMEMSfabry-perot-basedaccelerometerintegratedwithchannelwaveguides[J].JournalofMicroelectromechanicalSystems,2012,21(6):1464-1470.
[15]LiuKai,WeiShikui,ZhaoYao,etal.AccumulatedReconstructionErrorVector(AREV):asemanticrepresentationforcross-mediaretrieval[J].MultimediaToolsandApplications,2015,74(2):561-576.
[16]PhillipsPCB.Onconfidenceintervalsforautoregressiverootsandpredictiveregression[J].Econometrica,2014,82(3):1177-1195.
Research on Motion Trajectory Detection Algorithm with PCA
LU Chao
(College of Communication & Information Engineering,Nanjing University ofPosts and Telecommunications,Nanjing 210003,China)
Parameter calculation system is called inertial navigation system by using gyro and accelerometer as sensing devices.The navigation coordinate system is established through the output of the gyro.The output of the accelerometer can calculate the speed and position of the moving object.MPU6050 integrates three-axis gyroscope,three-axis accelerometer,magnetic sensor or the other sensors.It can contain two I2C ports and perform digital motion processing.A single form of data stream can be output to the moving end.The application of motion sensor is wide,and the trajectory detection algorithm of a moving object used by MPU6050 module has been designed in this paper. The principle of trajectory detection is that the acceleration can be obtained by double integral.There is an accumulated error in the output of the accelerometer,so an approach for eliminating accumulated error of accelerometer based on PCA has been presented.After feature extraction has been conducted with PCA,the acceleration and velocity are modified.Elimination of accumulated error is carried out and trajectory is reconstructed.Sensor hardware platform to build the main controller is STM32.Through the drawing function of the MATLAB software,the use of multiple sets of three direction acceleration and three direction angular velocity values is to make the motion trajectory and calculate the attitude.The experimental results show that the method can improve the accuracy of the object motion trajectory detection.
accelerometer;principal component analysis;trajectory detection;error handling
2016-06-01
2016-09-09 網(wǎng)絡出版時間:2017-03-13
國家“863”高技術發(fā)展計劃項目(2014AA01A705)
陸 超(1992-),男,碩士研究生,研究方向為協(xié)作通信技術。
http://kns.cnki.net/kcms/detail/61.1450.TP.20170313.1546.068.html
TP301.6
A
1673-629X(2017)05-0179-04
10.3969/j.issn.1673-629X.2017.05.037