PCA方法的运动轨迹检测算法研究

2017-06-05 14:15
计算机技术与发展 2017年5期
关键词:轨迹加速度误差

陆 超

(南京邮电大学 通信与信息工程学院,江苏 南京 210003)

PCA方法的运动轨迹检测算法研究

陆 超

(南京邮电大学 通信与信息工程学院,江苏 南京 210003)

以陀螺和加速度计为敏感器件的导航参数解算系统称之为惯性导航系统,通过陀螺的输出建立导航坐标系,而加速度计的输出可以算出运动物体的速度和位置。MPU6050整合了三轴陀螺仪,三轴加速度器,磁力传感器或者其他传感器。它可含有两个I2C端口,可以进行数位运动处理,向运动端输出单一形式的数据流。针对运动传感器应用广泛的现状,提出了一种采用MPU6050模块的运动轨迹检测算法设计方案。轨迹检测的原理是加速度经过二重积分后可以得到位移。由于加速度传感器输出存在积累误差,采用了主成分分析(PCA)方法来抑制积累误差。用PCA进行特征提取,对运动状态下的加速度和速度进行修正,消除积累误差并重建轨迹。传感器的硬件平台搭建主控制器为STM32,通过MATLAB软件绘图功能,利用多组三个方向加速度值和三个方向角速度值来做出运动轨迹和解算姿态。实验结果表明:所述方法使得物体运动轨迹检测的精准度有所提高。

加速度传感器;主成分分析;轨迹检测;误差处理

0 引 言

MEMS加速度传感器[1]不受外界参考系的影响,非常适合应用于运动物体的空间轨迹检测。运动传感器[2]使用了惯性技术,能够探测人和物体的运动,通过分析处理接收到的数据来获得更多的信息。现在越来越多的掌上游戏机、手机以及运动和健身器材都开始增添运动检测功能,随着技术的进步,运动处理技术的应用前景不可估量。

但是由于加速度计自身的误差和外界的干扰误差,MEMS加速度传感器的精度受到了影响。而传感器的误差和外界的干扰误差又会影响陀螺仪。误差的初始数值虽然很小,但是经过二次积分等处理后数值就会积累增大,导致最后重建的运动轨迹出现严重畸变。抑制积累误差的方法主要有零速度补偿法[3],其基本思想是区分物体的运动时段和静止时段,将物体静止时的加速度和速度都强制为零,修正运动速度。多项式补偿算法[4]与零速度补偿法类似,加入了初始位移为零的条件,使最终结果更接近于理论模型。多轴动态开关法[5],使用了两个标准来进行区分,即加速度阈值和速度阈值,当达到了加速度阈值时,物体就开始运动了,当物体的运动速度达到了速度阈值时,物体就由运动转为静止。

文中提出了一种基于主成分分析(Principal Component Analysis,PCA)的加速度传感器积累误差消除方法,采用PCA方法进行特征提取。实验结果表明,该方法提高了运动轨迹检测的精准度。

1 加速度传感器、陀螺仪、MPU6050及MPU6050的电路设计

1.1 加速度传感器、陀螺仪的简要介绍

加速度传感器用来感测运载体的线运动信息,服从牛顿力学,加速度输出是绝对加速度。加速度传感器的主要技术指标是量程、灵敏度和带宽。

陀螺仪用来测量运载体的角运动,在控制角运动的回路中用作控制环节,基本工作原理是基本惯性原理,角速度输出是相对于惯性空间的角速度。广泛使用的MEMS陀螺仪相比传统的陀螺仪的优势体现在:体积小,重量轻,低成本,高可靠性,低功耗,大量程,易于数字化、智能化。

MPU6050模块[6]是一款低成本的6轴模块,结合了加速度计和陀螺仪的功能。其体积小巧,用途广泛,做平衡小车、四轴飞行器、飞行鼠标等等,都是必不可少且最优的传感器解决方案。

MPU6050的角速度能检测到±250°、±500°、±1 000°与±2 000°的变化,可以准确追踪速度的变化,产品传输可透过最高达20 MHz的SPI或最高400 kHz的集成电路。MPU6050的供电电压为2.5 V、3.0 V或3.3 V,可在不同电压下工作。

1.2 MPU6050的硬件设计

主控制器是高性能的ARM CortexTM-M3 32位的RISC内核单片机STM32,其工作频率最高达72 MHz,内置高速存储器(20 KB SRAM、64 KB或128 KB Flash)。

MPU6050和STM32单片机之间的通信采用400 kHz的IIC接口,其供电电压为5 V。将STM32的引脚(SDA和SCL)分别和MPU6050的24号引脚(SDA)和23号引脚(SCL)相连接,可实现传感器和微处理器间的通信。MPU6050接线图如图1所示。

图1 MPU6050接线图

2 运动轨迹检测算法设计

算法程序的执行流程如图2所示。

图2 算法程序执行流程

首先硬件接收数据,再分别对x轴,y轴和z轴的物体运动加速度和角速度进行Kalman滤波[7],之后对数据进行坐标系转换[8]。接下来运用PCA算法[9]消除积累误差[10]。最后利用MATLAB绘制运动轨迹图。

3 PCA方法

3.1 特征提取

对Kalman滤波处理后的加速度信号进行特征提取[11-13]。PCA用更少特征数量取代原先更多的特征数量,即新的特征是旧的特征的线性组合。

PCA主要用于对特征进行降维,从所有的特征中找出有意义的特征的过程就是降维[14]。如果数据的特征数非常多,可以认为其中只有一部分特征是真正感兴趣和有意义的,而其他特征或者是噪音,或者和别的特征有冗余。

所提取的特征应能体现出不同类别间的差异[15-16]。这些线性组合最大化样本方差,尽量使新的特征互不相关。PCA过程需要特征中心化,每一维的数据都要减去该维的均值。用PCA方法进行运动状态与静止状态的识别。假设从某一样本点开始进入运动状态,那么其与静止时相比,样本点整体的加速度幅值会增大,样本点间的变化幅度也会增大。所以特征要提取加速度幅值均值和标准差,同时需要角速度幅值均值和标准差。

用PCA方法对特征进行建模:

(1)

(2)

(3)

把加速度值和角速度值表示成二维矩阵形式XN*J,其中N表示特征样本个数,J表示降维过程中的样本个数。用PCA方法进行特征提取,还需要将建模数据进行标准化处理。

3.2 PCA算法的思想与原理

PCA是一种常用的数据分析方法。数据从原来的坐标系转换到了新的坐标系,新坐标系的选择是由数据本身决定的。第一个新坐标轴选择的是原始数据中方差最大的方向,第二个新坐标轴的选择和第一个坐标轴正交且具有最大方差的方向。该过程一直重复,重复次数为原始数据中特征的数目。

在一个实际问题中,有p个随机变量x1,x2,…,xp,对p个变量进行线性组合,得到新的变量F1,F2,…,Fk(k≤p),新变量能够充分反映原始变量的信息,并且相互独立。对于一个样本资料,观测p个变量x1,x2,…,xp,n个样本的数据资料阵为:X=(x1,x2,…,xp)。主成分分析就是将p个观测变量综合成p个新变量,即

Fj=αj1x1+αj2x2+…+αjpxp,j=1,2,…,p

(4)

其协差阵为:

Var(F)=Var(AX)=(AX)(AX)'=AXX'A'=Λ

(5)

假设原始数据协方差阵为V,将原始数据进行标准化处理,即

V=R=XX'

(6)

又A为正交矩阵,即满足:

AA'=I

(7)

将原始数据的协方差代入主成分的协差阵公式,得到:

Var(F)=AXX'A'=ARA'=Λ

(8)

RA'=A'Λ

(9)

于是,变量(x1,x2,…,xp)变换后为:

(10)

4 积累误差消除

在运动轨迹系统中,物体从静止到运动再到静止,在最后的静止阶段,采样点的速度应该为零,即加速度的积分应当为零,加速度也为零。但在实际情况下,物体最后静止时,不能由采样点的加速度得到一个零速度。因此需要对加速度和速度进行修正。

加速度修正如下:

(11)

因为积累误差和时间成正比:

(12)

加速度修正之后积分得到的速度初值为零,再对速度的终值进行修正:

(13)

假设k1为运动的始点,k2为运动的终点。

5 实验结果与分析

首先采集初始数据,PC上位机读取数据,使用相同频率50Hz,输出每组三个加速度值和三个角速度值,主要研究直线运动的情况。经过Kalman滤波处理以及滤除重力加速度分量,接下来对加速度分别进行一次积分和二次积分得到速度和位移曲线,对比基于PCA的积累误差消除前后的速度和位移曲线,并且和零速度补偿方法进行轨迹重建对比。

图3是没有进行积累误差消除的速度曲线。可以看出,运动终止时的速度不为零,这是积累误差导致的。积累误差消除之后,看图4的速度曲线,初始速度和终止速度都被修正为零。

图5虚线是用PCA方法进行特征提取,对加速度和速度修正之后重建的运动轨迹图。该方法对三角形的还原度明显高于零速度补偿法(点划线),使得运动轨迹检测算法的精度有所提高。

图3 未作积累误差消除的速度曲线

图4 积累误差消除之后的速度曲线

图5 PCA方法积累误差消除与零速度

6 结束语

为提高机械运动的准确性和敏捷性,提出了基于PCA方法的运动轨迹检测积累误差消除方法。用PCA识别运动和静止状态,再通过修正加速度和速度消除积累误差,得到运动轨迹。实验结果表明,该方法能够提高积累误差消除的有效性和运动轨迹的精度,具有较好的实用价值和应用前景。

[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加速度的三维无线鼠标设计与实现[J].无线互联科技,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 网络出版时间:2017-03-13

国家“863”高技术发展计划项目(2014AA01A705)

陆 超(1992-),男,硕士研究生,研究方向为协作通信技术。

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

猜你喜欢
轨迹加速度误差
“鳖”不住了!从26元/斤飙至38元/斤,2022年甲鱼能否再跑出“加速度”?
角接触球轴承接触角误差控制
轨迹
轨迹
Beidou, le système de navigation par satellite compatible et interopérable
压力容器制造误差探究
天际加速度
创新,动能转换的“加速度”
死亡加速度
轨迹