样点。一种基于贝塞尔曲线的终端定位轨迹拟合方法转让专利

申请号 : CN201210472346.2

文献号 : CN102998684B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郑振贵彭勇许宁刘艺

申请人 : 厦门雅迅网络股份有限公司

摘要 :

本发明属于卫星导航领域,具体涉及一种终端定位轨迹拟合方法。本发明的一种基于贝塞尔曲线的终端定位轨迹拟合方法,包括:步骤1:三阶贝塞尔曲线的曲线函数如下:;取相邻的两个采样点Pn、Pn+1作为三阶贝塞尔曲线的起点和终点,即令P0=Pn,P3=Pn+1;步骤2:令P1等于采样点Pn的贝塞尔曲线的控制点Pn';步骤3:令P2等于采样点Pn+1的贝塞尔曲线的控制点Pn+1';步骤4:将上述步骤中的采样点Pn、采样点Pn+1、采样点Pn的贝塞尔曲线的控制点Pn'、采样点Pn+1的贝塞尔曲线的控制点Pn+1',代入三阶贝塞尔曲线得到:B(t)=Pn(1-t)3+3Pn't(1-t)2+3Pn+1't2(1-t)+Pn+1t3,t∈(0,1),则得到对定位终端的实际轨迹的拟合曲线函数,该函数即为曲线的插值函数。步骤5:重复步骤1-4以计算下一对相邻采样点的拟合曲线函数,直至最后一个采

权利要求 :

1.一种基于贝塞尔曲线的终端定位轨迹拟合方法,其特征在于:包括:

步骤1:三阶贝塞尔曲线的曲线函数如下:

B(t)=P0(1-t)3+3P1t(1-t)2+3P2t2(1-t)+P3t3,t∈[0,1];

取相邻的两个采样点Pn、Pn+1作为三阶贝塞尔曲线的起点和终点,即令P0=Pn,P3=Pn+1;

步骤2:令P1等于采样点Pn的贝塞尔曲线的控制点Pn',将采样点Pn的位置坐标记为Pn(xn,yn),将控制点Pn'的位置坐标记为Pn'(xn',yn');Pn'(xn',yn')是根据Pn(xn,yn)、Pn的运行方位角度αn及Pn的运行速度大小vn来确定的;

步骤3:令P2等于采样点Pn+1的贝塞尔曲线的控制点Pn+1',将采样点Pn+1的位置坐标记为Pn+1(xn+1,yn+1),将控制点Pn+1'的位置坐标记为Pn+1'(xn+1',yn+1');Pn+1'(xn+1',yn+1')是根据Pn+1(xn+1,yn+1)、Pn+1的运行方位角度αn+1及Pn+1的运行速度大小vn+1来确定的;

步骤4:将上述步骤中的采样点Pn、采样点Pn+1、采样点Pn的贝塞尔曲线的控制点Pn'、采样点Pn+1的贝塞尔曲线的控制点Pn+1',代入三阶贝塞尔曲线的曲线方程得到:B(t)=Pn(1-t)3+3Pn't(1-t)2+3Pn+1't2(1-t)+Pn+1t3,t∈[0,1],则得到对定位终端的实际轨迹的拟合曲线函数,该函数即为曲线的插值函数;

步骤5:重复步骤1-步骤4以计算下一对相邻的采样点的拟合曲线函数,直至最后一个采样点;联合所有计算出的相邻采样点的拟合曲线函数,则得到离散采样点的分段插值函数组,该函数组就是定位终端的移动轨迹的拟合曲线方程表达式。

2.根据权利要求1所述一种基于贝塞尔曲线的终端定位轨迹拟合方法,其特征在于:所述步骤2中的Pn'(xn',yn')是通过如下公式计算的:xn'=xn+C1*vn*cos(90°-αn),yn'=yn+C2*vn*sin(90°-αn);

其中αn为Pn的运行方位角度,vn为Pn的运行速度大小,且αn及vn可以直接从定位终端的定位数据中获得;C1、C2是根据定位终端的运行特征对公式的一个修正系数,当坐标的单位为度、速度的单位为km/h时,C1、C2取值范围为0.00001-0.0001。

3.根据权利要求2所述一种基于贝塞尔曲线的终端定位轨迹拟合方法,其特征在于:

C1、C2具体值可以通过如下方法获取:首先让定位终端在实际运行环境中,以恒定速度v直线移动,并采样获得P、Q两点定位数据,令采样获得P点的坐标为(xp,yp)、Q点坐标为(xq,yq),两点的方位角度同为α;其次,取P、Q两点连线的中点O(xo,yo)为P、Q两点共同的贝塞尔控制点,其中xo=(xp+xq)/2,yo=(yp+yq)/2;最后,通过P点的控制点O(xo,yo)的计算公式xo=xp+C1*v*cos(90°-α),可得C1=(xo-xp)/(v*cos(90°-α)),yo=yp+C2*v*sin(90°-α),可得C2=(yo-yp)/(v*sin(90°-α))。

4.根据权利要求1或2或3所述一种基于贝塞尔曲线的终端定位轨迹拟合方法,其特征在于:所述步骤3中的Pn+1'(xn+1',yn+1')是通过如下公式计算的:xn+1'=xn+1-C1*vn+1*cos(90°-αn+1),yn+1'=yn+1-C2*vn+1*sin(90°-αn+1);

其中αn+1为Pn+1的运行方位角度,vn+1为Pn+1的运行速度大小,且αn+1及vn+1可以直接从定位终端的定位数据中获得;C1、C2是根据定位终端的运行特征对公式的一个修正系数,当坐标的单位为度、速度的单位为km/h时,C1、C2取值范围为0.00001-0.0001。

5.根据权利要求4所述一种基于贝塞尔曲线的终端定位轨迹拟合方法,其特征在于:

C1、C2具体值可以通过如下方法获取:首先让定位终端在实际运行环境中,以恒定速度v直线移动,并采样获得P、Q两点定位数据,令采样获得P点的坐标为(xp,yp)、Q点坐标为(xq,yq),两点的方位角度同为α;其次,取P、Q两点连线的中点O(xo,yo)为P、Q两点共同的贝塞尔控制点,其中xo=(xp+xq)/2,yo=(yp+yq)/2;最后,通过P点的控制点O(xo,yo)的计算公式xo=xp+C1*v*cos(90°-α),可得C1=(xo-xp)/(v*cos(90°-α)),yo=yp+C2*v*sin(90°-α),可得C2=(yo-yp)/(v*sin(90°-α))。

6.根据权利要求1所述一种基于贝塞尔曲线的终端定位轨迹拟合方法,其特征在于:本方法在执行上述步骤1之前,还执行对采样点进行过滤的步骤,根据定位终端的实际运行环境中的最大速度Vmax、最大加速度Amax以及采集间隔t来过滤采集过程中出现的异常定位数据,其具体的判定方法为:如果采样点的速度值大于Vmax,或者相邻采样点的速度差大于

3.6*Amax*t,就判定为异常定位数据。

说明书 :

一种基于贝塞尔曲线的终端定位轨迹拟合方法

技术领域

[0001] 本发明属于卫星导航领域,具体涉及一种基于贝塞尔曲线的终端定位轨迹拟合方法。

背景技术

[0002] 目前有很多设备(例如车载终端、手机终端等定位终端)大都具备基于GNSS(Global NavigationSatellite System,全球卫星导航系统)卫星定位的功能。
[0003] 定位终端通过在移动过程中采集的定位数据来计算定位终端的移动轨迹,这是一种通过离散位置坐标点拟合连续轨迹的过程。一般情况下有以下两种做法:
[0004] 第一种是简单的将相邻位置坐标点通过直线进行连接,即线性插值法,当曲线轨迹上的采样点足够多时,通过各采样点的折线可视为近似轨迹。这种方法具有很大的局限性,在某些运动轨迹较为复杂的情况下,往往带来较大的弯道误差;并且对定位数据采集的密度及频率要求较高,增加了定位终端在定位数据采集上的负担。
[0005] 第二种是通过对采集的离散点数据进行平滑过渡,形成一条平滑曲线来近似定位终端的移动轨迹,即非线性的插值方法。目前在工程上运用比较广泛的是多项式插值,这种方法能够在一定程度上减少拟合曲线与实际轨迹曲线之间的误差,但是对插值函数的要求较高,两点间插值函数的不同所计算出的曲线往往大相径庭。
[0006] 所以仅依靠运动轨迹上的两个坐标点来构造插值函数而得到的拟合曲线是不可靠的。如何控制非线性插值的插值函数,使得离散点间的曲线能够更加吻合定位终端的移动轨迹,便显得尤为重要。
[0007] 一篇申请日为2009.02.19、申请号为200910077361.5的发明专利,公开了一种对全球定位系统原始定位结果进行后续处理的方法,该方法的具体实施方式中,介绍了当接收机处于曲线运动状态时,采用曲线拟合的方法对定位结果进行数据处理,以适应接收机速度较快且运动轨迹为曲线的运动特征,避免较大的时间延迟,提高定位精度,使定位结果更符合接收机的实际运动情况。其中,该发明提到常用的曲线拟合的方法包括最小二乘法拟合多项式和切比雪夫意义下的最佳多项式拟合,且该发明具体以最小二乘法拟合三阶多项式和切比雪夫意义下的最佳三阶多项式的拟合为例来说明上述数据处理。
[0008] 该最小二乘法拟合多项式和切比雪夫意义下的最佳多项式的拟合,属于上述的第二种做法,其特点是让所有采样点尽可能的集中分布在拟合曲线的周围,其想要达到的理想效果图如图1所示。因此该方法只是尽量反映采样数据的变化趋势,是一种精度比较粗的曲线拟合方法,局限于采样点较多较密集的情况下,而采样点越松散带来的轨迹误差也就越大。

发明内容

[0009] 本发明所要解决的技术问题是,提出一种基于贝塞尔曲线的终端定位轨迹拟合方法,采用分段多项式的方法,对现有技术中的非线性插值方法进行改进,从而得到可靠的、具有更高吻合度的定位终端的定位轨迹的拟合曲线。
[0010] 为了解决上述技术问题,本发明所采用的思路是,结合定位终端采集位置信息的坐标值(经纬度)、移动方向和速度信息,以及定位终端工作的实际运行环境等因素,通过贝塞尔曲线(优选使用三阶贝塞尔曲线)来拟合定位终端的实际移动轨迹。其中,n阶贝塞尔曲线的曲线函数如下:
[0011]
[0012] 三阶贝塞尔曲线的曲线函数如下:
[0013] B(t)=P0(1-t)3+3P1t(1-t)2+3P2t2(1-t)+P3t3,t∈[0,1]。只要确定曲线函数的系数P0、P1、P2和P3即可确定整个曲线函数。
[0014] 在实际情形下,定位终端受其实际运行环境的影响,如定位终端安装在车辆上时,其移动的轨迹就在一定程度上受到车辆规格、发动机动力、道路环境等外部因素的影响。那么,结合定位终端采集位置信息中包含的移动方向和速度因素,运动轨迹上的两个坐标点(即两个离散位置点间)的移动轨迹便可得到更准确的估计。其中,定位终端的移动方向和速度,即通过定位模块采集的方位角度和速度,这里的定位模块包括GPS、北斗等。
[0015] 本文中,速度的单位统一为km/h(千米/小时),加速度单位为m/s2(米/平方秒),时间单位为s(秒)。
[0016] 具体的,本发明的一种基于贝塞尔曲线的终端定位轨迹拟合方法,包括:
[0017] 步骤1:三阶贝塞尔曲线的曲线函数如下:
[0018] B(t)=P0(1-t)3+3P1t(1-t)2+3P2t2(1-t)+P3t3,t∈[0,1];
[0019] 取相邻的两个采样点Pn、Pn+1作为三阶贝塞尔曲线的起点和终点,即令P0=Pn,P3=Pn+1;
[0020] 步骤2:令P1等于采样点Pn的贝塞尔曲线的控制点Pn',将采样点Pn的位置坐标记为Pn(xn,yn),将控制点Pn'的位置坐标记为Pn'(xn',yn');Pn'(xn',yn')是根据Pn(xn,yn)、Pn的运行方位角度αn及Pn的运行速度大小vn来确定的;
[0021] 具体的,可以采用xn'=xn+C1*vn*cos(90°-αn),yn'=yn+C2*vn*sin(90°-αn)公式来计算,其中αn为Pn的运行方位角度,vn为Pn的运行速度大小,且αn及vn可以直接从定位终端的定位数据中获得;C1、C2是根据定位终端的实际运行特征对公式的一个修正系数,当坐标的单位为°(度)、速度的单位为km/h时,C1、C2取值范围在0.00001-0.0001之间,即取该范围内的任意值均可;作为一个优选的方案,C1、C2的具体值可以通过如下方法获取:首先让定位终端在实际运行环境中,以恒定速度v直线移动,并采样获得P、Q两点定位数据,假设采样获得P点的坐标为(xp,yp)、Q点坐标为(xq,yq),两点的方位角度同为α(直线行驶方向不变);其次,取P、Q两点连线的中点O(xo,yo)为P、Q两点共同的贝塞尔控制点,其中xo=(xp+xq)/2,yo=(yp+yq)/2;最后,通过P点的控制点的计算公式xo=xp+C1*v*cos(90°-α),可得C1=(xo-xp)/(v*cos(90°-α)),yo=yp+C2*v*sin(90°-α),可得C2=(yo-yp)/(v*sin(90°-α));
[0022] 步骤3:令P2等于采样点Pn+1的贝塞尔曲线的控制点Pn+1',将采样点Pn+1的位置坐标记为Pn+1(xn+1,yn+1),将控制点Pn+1'的位置坐标记为Pn+1'(xn+1',yn+1');Pn+1'(xn+1',yn+1')是根据Pn+1(xn+1,yn+1)、Pn+1的运行方位角度αn+1及Pn+1的运行速度大小vn+1来确定的;
[0023] 具体的,Pn+1'(xn+1',yn+1')的计算可以采用xn+1'=xn+1-C1*vn+1*cos(90°-αn+1),yn+1'=yn+1-C2*vn+1*sin(90°-αn+1)公式来计算,其中αn+1为Pn+1的运行方位角度,vn+1为Pn+1的运行速度大小,且αn+1及vn+1可以直接从定位终端的定位数据中获得;C1、C2是根据定位终端的实际运行特征对公式的一个修正系数,当坐标的单位为度、速度的单位为km/h时,C1、C2取值范围为0.00001-0.0001,即取该范围内的任意值均可;另外,作为一个优选的方案,C1、C2具体值可以通过步骤2中阐述的方法来获取;
[0024] 步骤4:将上述步骤中的采样点Pn、采样点Pn+1、采样点Pn的贝塞尔曲线的控制点Pn'、采样点Pn+1的贝塞尔曲线的控制点Pn+1',代入三阶贝塞尔曲线的曲线方程得到:B(t)=Pn(1-t)3+3Pn't(1-t)2+3Pn+1't2(1-t)+Pn+1t3,t∈[0,1],则得到对定位终端的实际轨迹的拟合曲线函数,该函数即为曲线的插值函数;
[0025] 步骤5:重复步骤1-步骤4以计算下一对相邻的采样点的拟合曲线函数,直至最后一个采样点;联合所有计算出的相邻采样点的拟合曲线函数(即相邻离散点的插值函数),则得到离散采样点的分段插值函数组,该函数组就是定位终端的移动轨迹的拟合曲线方程表达式。
[0026] 进一步的,本方法在执行上述步骤1之前,还执行对采样点进行过滤的步骤,根据定位终端的实际运行环境中的最大速度Vmax、最大加速度Amax以及采集间隔t来过滤采集过程中出现的异常定位数据。具体的判定方法为:如果采样点的速度值大于Vmax或相邻采样点的速度差大于3.6*Amax*t就判定为异常定位数据。
[0027] 上述方法中,本发明主要使用贝塞尔曲线来实现拟合,其原因有三点:一是通过贝塞尔控制点我们可以很方便的定义曲线的轨迹,而这些控制点正好可以结合终端实际移动过程中的特性(如速度、方向等),自然就达到了更贴近定位轨迹的效果;二是在分段插值过程中贝塞尔曲线也能保持很好的平滑度,整体效果好于其它分段插值方法;三是它的多项式的解法相对要简单些,实际工程应用的意义更大一些。
[0028] 相比传统的终端定位轨迹拟合方法,本发明在进行曲线拟合过程中将样点的移动速度、方向及运行规律作为拟合轨迹的依据,然后结合贝塞尔曲线的控制方式,利用三阶贝塞尔曲线作为插值函数来计算拟合曲线,解决了插值函数不能很好反应实际轨迹的问题,并且能够更加准确的进行终端定位轨迹的拟合,从而达到减少误差的效果。

附图说明

[0029] 图1是背景技术提到的利用不分段的多项式插值方法获得的理想效果图;
[0030] 图2是相邻两个采样点之间采用三阶贝塞尔曲线拟合示意图;
[0031] 图3是传统的不考虑移动速度及方向的插值曲线轨迹拟合;
[0032] 图4是利用本发明的方法进行三阶贝塞尔曲线进行的轨迹拟合;
[0033] 图5是实施例中的两点间P0、P1的实际移动轨迹;
[0034] 图6是实施例中通过不分段的三阶多项式插值函数得到的曲线轨迹;
[0035] 图7是实施例中通过本发明的方法得到的曲线轨迹;
[0036] 图8是本发明的流程图。

具体实施方式

[0037] 现结合附图和具体实施方式对本发明进一步说明。
[0038] 曲线拟合是一种把现有数据透过数学方法来代入一条数式的表示方式。科学和工程问题可以通过诸如采样、实验等方法获得若干离散的数据,根据这些数据,我们往往希望得到一个连续的函数(也就是曲线)或者更加密集的离散方程与已知数据相吻合,这过程就叫做拟合。本发明将定位终端采集的定位数据的轨迹透过拉曲线的方法来进行插值法运算。
[0039] 多项式插值或曲线拟合的概念很广,只要插值函数是用多项式表达的就可以认为是多项式插值。贝塞尔曲线函数可以通过多项式来表达,因此可以讲贝塞尔曲线是多项式拟合的一种。在工程上如果只是为了得到两点间的平滑过度,则就不会太在意具体的曲线轨迹,但是如果应用到移动物体的移动轨迹拟合,我们就不得不考虑拟合曲线与真实轨迹的吻合程度。这里还有个区分就是多项式插值中又分为:分段多项式插值和不分段的多项式插值,因为不分段的多项式插值随节点个数n的增加误差反而会增大,即所谓的Runge现象,所以本发明考虑分段插值的情况,具体是分段的贝塞尔曲线插值。换句话说就是要找到最合适的分段多项式来进行插值,本专利就是要通过三阶贝塞尔曲线来达到可以满足终端定位轨迹拟合的效果。
[0040] 具体的,如图8所示,本发明的一种基于贝塞尔曲线的终端定位轨迹拟合方法,包括以下步骤:
[0041] 步骤1:对采样点进行过滤,根据实际终端运行的特点(例如最大速度、最大加速度、道路宽度及弧度等)、采集间隔,来过滤采集过程中出现的GPS漂移。一般可根据定位终端的实际运行环境中的最大速度Vmax、最大加速度Amax以及采集间隔t来过滤采集过程中出现的异常定位数据,其具体的判定方法为:如果采样点的速度值大于Vmax或者相邻采样点的速度差大于3.6*Amax*t就判定为异常定位数据。以安装在普通车辆上的定位终端为例:Vmax为一般车辆运行的最大速度,例如取220km/h,则各采样点的速度值大于Vmax(220km/h)则判定为异常定位数据;Amax为车辆运行的最大加速度,例如取5m/s2,假设采样间隔t为5秒,相邻两点的最大速度差V为:V=Amax*t=5m/s2*5s=25m/s。为统一单位,将速度的单位m/s,再乘以3.6就统一换算为km/h(单位m/s乘以3600s再除以1000m,即等于单位km/h,3.6由此而来),即则相邻采样点的速度差V>3.6*Amax*t即判定为异常数据,本例中,3.6*Amax*t=(3600s/1000m)*5m/s2*5s=90km/h,则V>90km/h就判定为异常数据而舍弃。最终得到采样点:P0、P1、…、Pn、Pn+1、…;
[0042] 步骤2:如图2所示,三阶贝塞尔曲线的曲线函数如下:
[0043] B(t)=P0(1-t)3+3P1t(1-t)2+3P2t2(1-t)+P3t3,t∈[0,1];
[0044] 取相邻的两个采样点Pn、Pn+1作为三阶贝塞尔曲线的起点和终点,即令P0=Pn,P3=Pn+1;
[0045] 步骤3:令P1等于采样点Pn的贝塞尔曲线的控制点Pn',将采样点Pn的位置坐标记为Pn(xn,yn),将控制点Pn'的位置坐标记为Pn'(xn',yn');Pn'(xn',yn')是根据Pn(xn,yn)、Pn的运行方位角度αn及Pn的运行速度大小vn来确定的。具体的,可以采用xn'=xn+C1*vn*cos(90°-αn),yn'=yn+C2*vn*sin(90°-αn)公式来计算,其中αn为Pn的运行方位角度,vn为Pn的运行速度大小,且αn及vn可以直接从定位终端的定位数据中获得;C1、C2是根据定位终端的实际运行特征对公式的一个修正系数,当坐标的单位为度、速度的单位为km/h时,C1、C2取值范围为0.00001-0.0001,即取该范围内的任意值均可,例如xn'=xn+0.00005*vn*cos(90°-αn),yn'=yn+0.00005*vn*sin(90°-αn);作为一个优选的方案,C1、C2的具体值可以通过如下方法获取:首先让定位终端在实际运行环境中,以恒定速度v直线移动,并采样获得P、Q两点定位数据,假设采样获得P点的坐标为(xp,yp)、Q点坐标为(xq,yq),两点的方位角度同为α(直线行驶方向不变);其次,取P、Q两点连线的中点O(xo,yo)为P、Q两点共同的贝塞尔控制点,其中xo=(xp+xq)/2,yo=(yp+yq)/2;最后,通过P点的控制点的计算公式xo=xp+C1*v*cos(90°-α),可得C1=(xo-xp)/(v*cos(90°-α)),yo=yp+C2*v*sin(90°-α),可得C2=(yo-yp)/(v*sin(90°-α));
[0046] 步骤4:令P2等于采样点Pn+1的贝塞尔曲线的控制点Pn+1',将采样点Pn+1的位置坐标记为Pn+1(xn+1,yn+1),将控制点Pn+1'的位置坐标记为Pn+1'(xn+1',yn+1');Pn+1'(xn+1',yn+1')是根据Pn+1(xn+1,yn+1)、Pn+1的运行方位角度αn+1及Pn+1的运行速度大小vn+1来确定的;具体的,Pn+1'(xn+1',yn+1')的计算可以采用xn+1'=xn+1-C1*vn+1*cos(90°-αn+1),yn+1'=yn+1-C2*vn+1*sin(90°-αn+1)公式来计算,其中αn+1为Pn+1的运行方位角度,vn+1为Pn+1的运行速度大小,且αn+1及vn+1可以直接从定位终端的定位数据中获得;C1、C2是根据定位终端的实际运行特征对公式的一个修正系数,当坐标的单位为度、速度的单位为km/h时,C1、C2取值范围为0.00001-0.0001,即取该范围内的任意值均可,例如xn+1'=xn+1-0.00005*vn+1*cos(90°-αn+1),yn+1'=yn+1-0.00005*vn+1*sin(90°-αn+1);作为一个优选的方案,C1、C2的具体值可以通过如下方法获取:首先让定位终端在实际运行环境中,以恒定速度v直线移动,并采样获得P、Q两点定位数据,假设采样获得P点的坐标为(xp,yp)、Q点坐标为(xq,yq),两点的方位角度同为α(直线行驶方向不变);其次,取P、Q两点连线的中点O(xo,yo)为P、Q两点共同的贝塞尔控制点,其中xo=(xp+xq)/2,yo=(yp+yq)/2;最后,通过P点的控制点的计算公式xo=xp+C1*v*cos(90°-α),可得C1=(xo-xp)/(v*cos(90°-α)),yo=yp+C2*v*sin(90°-α),可得C2=(yo-yp)/(v*sin(90°-α));
[0047] 步骤5:将上述步骤中的采样点Pn、采样点Pn+1、采样点Pn的贝塞尔曲线的控制点Pn'、采样点Pn+1的贝塞尔曲线的控制点Pn+1',代入三阶贝塞尔曲线的曲线方程得到:B(t)=Pn(1-t)3+3Pn't(1-t)2+3Pn+1't2(1-t)+Pn+1t3,t∈[0,1],则得到对定位终端的实际轨迹的拟合曲线函数,该函数即为曲线的插值函数;
[0048] 步骤6:重复步骤2-步骤5以计算下一对相邻的采样点的拟合曲线函数,直至最后一个采样点;联合所有计算出的相邻采样点的拟合曲线函数(即相邻离散点的插值函数),则得到离散采样点的分段插值函数组,该函数组就是定位终端的移动轨迹的拟合曲线方程表达式。
[0049] 为了进行对比传统的拟合曲线,图3给出了传统的不考虑移动方向及速度的插值曲线轨迹的拟合。本发明对离散的位置信息的采样点进行拟合轨迹曲线,在构造插值函数还将定位终端采集的离散位置点的速度和运行方向等因素进行体现。通过结合贝塞尔控制点对曲线轨迹的控制方式,将采样点的运动方向和运动速度及定位终端实际运动中的特性用于生成贝塞尔曲线的控制点,其生成的曲线就在一定程度上反应了定位终端真实移动情况,最终确定拟合曲线的轨迹与真实移动的轨迹误差就更小。图4给出了利用本发明的方法进行三阶贝塞尔曲线进行的轨迹拟合,其中虚线为拟合轨迹,实线为实际轨迹,可见本发明解决了插值函数不能很好反应实际轨迹的问题,并且能够更加准确的进行终端定位轨迹的拟合,从而达到减少误差的效果。
[0050] 另外,为了对比不分段的多项式和本发明使用的分段贝塞尔曲线,现举实例如下,定位终端以5s的采集间隔通过定位模块采集到如下4个定位数据:
[0051]
[0052] 图5是采样点P0、P1、P2、P3、P4的实际移动轨迹。
[0053] 图6是通过Origin 8进行不分段的三阶多项式函数y=A+Bx+Cx2+Dx3插值后得到的曲线轨迹(其中本例采用Origin 8插值,其系数分别为:A=-3.73895E9,B=9.49561E7,C=-803849.8019,D=2268.32684),可见拟合的轨迹只是在大体上反应采集点的变化趋势,与实际轨迹仍有较大的差距。另外,上述曲线轨迹还可通过其他插值工具来获得,例如excel。
[0054] 通过本发明方法拟合终端的定位轨迹,首先以P0、P1为起点和终点做分段贝塞尔曲线,其中P0'(x0',y0')和P1'(x1',y1')为通过PO和P1的定位数据计算出来的控制点。具体的P0'(x0',y0')的坐标计算如下:
[0055] x0'=x0+C1*v0*cos(90°-α0),y0'=y0+C2*v0*sin(90°-α0);其中,C1=C2=0.00005。
[0056] P1'(x1',y1')的坐标计算如下:
[0057] x1'=x1-C1*v1*cos(90°-α1),y0'=y1-C2*v1*sin(90°-α1),其中本实施例中,令C1=C2=0.00005。
[0058] 接着,再以P1、P2为起点和终点做分段贝塞尔曲线,运用同样的计算方法得到P1在该分段内的控制点P1”和P2的控制点P2”,就得到了下一个分段的拟合曲线。以同样的方法计算P2和P3分段的控制点并确定拟合曲线,就可得到所有控制点的坐标:
[0059]控制点 经度(x度) 纬度(y度)
P0' 118.11655 24.47901
P1' 118.11959 24.47702
P1” 118.12074 24.48156
P2' 118.12394 24.48142
P2” 118.12594 24.47782
P3' 118.12755 24.47846
[0060] 确定所有控制点坐标后,分别运用三阶贝塞尔曲线的曲线方程:B(t)=Pn(1-t)3+2 2 3
3Pn't(1-t)+3Pn+1't(1-t)+Pn+1t ,t∈[0,1]就得到了P0至P4间的所有分段拟合曲线。最终效果通过Origin 8进行贝塞尔曲线绘制后如图7所示,可见本发明的方法能够得到与定位终端移动轨迹更为吻合的拟合曲线,且即使通过分段的插值过程,分段曲线间的连续性和平滑度也很好。上述结果也可以通过excel等其他工具绘制,其绘制后的曲线跟Origin 8绘制的曲线趋势一致。
[0061] 尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。