一种数据丢失与通信故障下的分布式目标跟踪方法及装置
技术领域
本发明涉及信息科学领域的多传感器技术,特别是涉及一种数据丢失与通信故障下的分布式目标跟踪方法及装置。
背景技术
近些年,分布式系统在许多领域都得到了极大的关注,例如机器人编队,传感器网络和智能电网等。是由大量微型的、低功耗的、低成本的、多功能的传感器节点组成,各个节点通过无线通信方式形成一种特殊的无线自组织网络。这些节点具有显著的特征,如能量(电池)受限、存储受限、处理速度受限、通信带宽受限、感知与通信范围受限、测量精度受限等。这些受限性问题造成了无线传感器网络在走向应用的过程中出现了一系列的严峻挑战。
分布式估计是分布式系统中的一个重要问题,大量地理上分布的传感器节点被安置在所监测的区域,测量所感兴趣的特征参数如湿度、温度、水流量、压力、震动、某种空气或水污染物、声音等。这些分布式的传感器节点相合协作,形成一种单跳、多跳或成簇等拓扑的无线传感器网络。所搭建的无线传感器网络通常完成一个共同的目标,即基于传感器节点的测量信息,构造或估计出监测区域中所潜在的物理参数。单个传感器节点通信范围小,而多个传感器节点则可以覆盖更宽的监测区域;单个传感器节点感知精度有限,而多个传感器节点可以大幅提升其估计精度;单个传感器节点能量严重受限,而多个传感器节点就可以按照性能需求调度传感器参与工作,能够解决单个传感器节点因过度频繁工作过早耗尽电池能量的问题;同时单个传感器节点较难胜任复杂计算任务,而多个传感器节点协作可以分布式处理计算任务,能较好地完成复杂性高的任务。
虽然多个传感器节点协作可以分布式处理计算任务,能较好地完成复杂性高的任务,但是采用分布式传感器对目标进行跟踪时,所得到的跟踪结果可靠性较差。
发明内容
本发明提供了一种数据丢失与通信故障下的分布式目标跟踪方法、装置和电子设备,以解决现有技术中存在的采用分布式传感器对目标进行跟踪时,所得到的跟踪结果可靠性较差的问题。
为了解决上述问题,本发明公开了一种数据丢失与通信故障下的分布式目标跟踪方法,应用于分布式传感器的目标跟踪场景中,包括:
确定网络拓扑结构,且对各传感器进行初始化;
针对每个传感器,所述传感器获取量测数据,依据所述量测数据执行Kalman滤波,计算得到目标中间状态估计值;将所述目标中间状态估计值发送至与自身通信的传感器;
各传感器分别依据接收到的目标中间状态估计值以及自身计算得到的目标中间状态估计值,确定目标状态值。
可选地,确定网络拓扑结构,且对各传感器进行初始化的步骤,包括:
确定分布式网络中传感器的个数和传感器拓扑结构;
将各传感器对应的初始值、以及误差方差矩阵进行初始化。
可选地,所述传感器获取量测数据,依据所述量测数据执行Kalman滤波,计算得到目标中间状态估计值的步骤,包括:
所述传感器基于前一时刻所述传感器确定的目标状态值,进行目标状态预测得到状态预测值;
所述传感器依据获取的量测数据对所述状态预测值进行校正,得到目标中间状态估计值。
可选地,传感器依据接收到的目标中间状态估计值以及自身计算得到的目标中间状态估计值,确定目标状态值的步骤,包括:
判断是否接收到目标中间状态估计值;
若是,则确定通信数据未丢失,调用第一公式依据接收到的目标中间状态估计值以及自身计算得到的目标中间状态估计值,确定目标状态值;
若否,则确定通信数据丢失,调用第二公式自身计算得到的目标中间状态估计值,确定目标状态值。
可选地,所述第一公式为:
所述第二公式为:
其中,表示与第i个传感器通信的传感器的集合,gi,k为增益参数,gi,k<max{di},di为第i个传感器的度,为第i个传感器在k时刻所得到的目标中间状态估计值,为第i个传感器在k时刻所确定的目标状态值。
为了解决上述问题,本发明公开了一种数据丢失与通信故障下的分布式目标跟踪装置,应用于分布式传感器的目标跟踪场景中的各传感器中,所述装置包括:
初始化模块,用于确定网络拓扑结构,且对传感器进行初始化;
第一计算模块,用于调用所述传感器获取量测数据,依据所述量测数据执行Kalman滤波,计算得到目标中间状态估计值;将所述目标中间状态估计值发送至与自身通信的传感器;
第二计算模块,用于依据传感器接收到的目标中间状态估计值以及自身计算得到的目标中间状态估计值,确定目标状态值。
可选地,所述初始化模块包括:
拓扑结构确定子模块,用于确定分布式网络中传感器的个数和传感器拓扑结构;
初始化子模块,用于将各传感器对应的初始值、以及误差方差矩阵进行初始化。
可选地,所述第一计算模块包括:
预测子模块,用于基于传感器前一时刻所述传感器确定的目标状态值,进行目标状态预测得到状态预测值;
校正子模块,用于所述传感器依据获取的量测数据对所述状态预测值进行校正,得到目标中间状态估计值。
可选地,所述第二计算模块包括:
判断子模块,用于判断是否接收到目标中间状态估计值;
第一调用子模块,用于若所述判断子模块的判断结果为是,则确定通信数据未丢失,调用第一公式依据接收到的目标中间状态估计值以及自身计算得到的目标中间状态估计值,确定目标状态值;
第二调用子模块,用于若所述判断子模块的判断结果为否,则确定通信数据丢失,调用第二公式自身计算得到的目标中间状态估计值,确定目标状态值。
可选地,所述第一公式为:
所述第二公式为:
其中,表示与第i个传感器通信的传感器的集合,gi,k为增益参数,gi,k<max{di},di为第i个传感器的度,为第i个传感器在k时刻所得到的目标中间状态估计值,为第i个传感器在k时刻所确定的目标状态值。
为了解决上述问题,本发明公开了电子设备,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行如权利要求书中所述的任意一种数据丢失与通信故障下的分布式目标跟踪的方法。
与现有技术相比,本发明包括以下优点:
本发明实施例提供的数据丢失与通信故障下的分布式目标跟踪方案,基于Kalman滤波算法,结合分布式一致性框架和量测数据丢失与通信数据丢失的随机性对目标进行动态的跟踪。由于Kalman滤波方法实时性好、且能够对非平稳状态的目标进行有效跟踪,因此,本发明实施例提供的分布式目标跟踪方案,能够对目标进行有效跟踪,得到可靠性高的跟踪结果。
附图说明
图1是根据本发明实施例一的一种数据丢失与通信故障下的分布式目标跟踪方法的步骤流程图;
图2是根据本发明实施例二的一种数据丢失与通信故障下的分布式目标跟踪方法的步骤流程图;
图3是分布式传感器的网络拓扑示意图;
图4是根据本发明实施例三的一种数据丢失与通信故障下的分布式目标跟踪装置的结构框图;
图5是根据本发明实施例四的一种数据丢失与通信故障下的分布式目标跟踪装置的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例一
参照图1,示出了本发明实施例一种数据丢失与通信故障下的分布式目标跟踪方法的步骤流程图。
本实施例的数据丢失与通信故障下的分布式目标跟踪方法包括以下步骤:
步骤101:确定网络拓扑结构,且对各传感器进行初始化。
本发明实施例中所述的目标跟踪方法,应用于分布式传感器的目标跟踪场景中。该场景中分布式排布有多个传感器,传感器之间可以建立通信关系组成网络拓扑结构。
针对每个传感器初始化设置可以为:对传感器参数xi,0、Pi,0进行设置,xi,0=x0,Pi,0=P0;xi,0为第i个传感器初始值,Pi,0为第i个传感器的误差方差矩阵。
步骤102:针对每个传感器,传感器获取量测数据,依据量测数据执行Kalman滤波,计算得到目标中间状态估计值。
在具体实现过程中,传感器可能成功获取到量测数据,也可能无法成功获取到量测数据,因此存在量测数据丢失的情况,故需要考虑量测数据丢失的随机性对目标进行动态跟踪。
Kalman滤波即卡尔曼滤波是一种高效率的递归滤波方式,它能够从一系列的不完全包含噪声的测量中,估计动态系统的状态。卡尔曼滤波的一个典型实例是从一组有限的,对物体位置的,包含噪声的观察序列预测出物体的坐标位置及速度。在很多工程应用中都可以找到它的身影。卡尔曼滤波利用目标的动态信息,设法去掉噪声的影响,得到一个关于目标位置的好的估计。这个估计可以是对当前目标位置的估计,也可以是对于将来位置的估计,也可以是对过去位置的估计等。
步骤103:将目标中间状态估计值发送至与自身通信的传感器。
例如:分布式系统中传感器A与B、C均具有通信关系,则传感器A将得到的目标中间状态估计值发送至传感器B、C。
步骤102至步骤103描述了分布式系统中,单个传感器确定目标中间状态估计值、以及将自身确定的目标中间状态估计值发送至自身通信的传感器的流程。在具体实现过程中,分布式系统中的各传感器均执行步骤102至步骤103中的相关操作。
步骤104:各传感器分别依据接收到的目标中间状态估计值以及自身计算得到的目标中间状态估计值,确定目标状态值。
目标状态值可以表征目标的状态、位置等信息。
在具体实现过程中,传感器间的通信可能成功也可能失败,通信成功时则可接收到其他具有通信关系的传感器发送的目标中间状态估计值,通信失败时则无法接收到其他具有通信关系的传感器发送的目标中间状态估计值。由于存在通信数据丢失的情况,故本发明实施例中需要考虑通信数据丢失的随机性对目标进行动态跟踪。
步骤102至步骤104为单个时间节点下对目标跟踪得到目标状态值的具体流程,在具体实现过程中,需要实时对目标进行跟踪。当在下一时间节点下对目标进行跟踪时,针对每个传感器依据其上一时间节点确定的目标状态值、以及当前时间节点下获取到的量测数据,得到目标中间状态估计值,然后再与通信传感器之间进行目标中间状态估计值通信,进一步确定当前时间节点对应的目标状态值。重复执行上述跟踪流程,对目标进行动态跟踪。
本发明实施例提供的数据丢失与通信故障下的分布式目标跟踪方法,基于Kalman滤波算法,结合分布式一致性框架和量测数据丢失与通信数据丢失的随机性对目标进行动态的跟踪。由于Kalman滤波方法实时性好、且能够对非平稳状态的目标进行有效跟踪,因此,本发明实施例提供的分布式目标跟踪方案,能够对目标进行有效跟踪,得到可靠性高的跟踪结果。
实施例二
参照图2,示出了本发明实施例二的一种数据丢失与通信故障下的分布式目标跟踪方法的步骤流程图。
本发明实施例中将量测数据丢失与通信数据丢失建模为Bernoulli分布,并结合Kalman滤波与分布一致性协议对目标进行动态的跟踪。本发明构思主要为:依据如下的目标运动模型,
x(k+1)=Ax(k)+v(k),
其中,x(k)=[x(k,1)…x(k,m)]T∈Rm×1,v(k)为m维过程噪声,通常假定为高斯白噪声。如何通过带通信拓扑的传感器网络获得目标的状态值为主要解决的问题。每个传感器的量测模型描述如下,
yi(k)=Cx(k)+wi(k),
其中,C∈Rq×m为量测矩阵,yi(k)为每个传感器获得的量测数据,wi(k)为第i个传感器的量测噪声,假定为高斯白噪声。
每个传感器可与相邻的传感器节点进行通信,分布式估计的主要目的是对每个传感器设计估计算法,使得每个传感器获得对目标的一致状态估计,最终得到可靠性高的目标跟踪结果。
本发明实施例的数据丢失与通信故障下的分布式目标跟踪方法具体包括以下步骤:
步骤201:确定分布式网络中传感器的个数和传感器拓扑结构。
通过传感器拓扑结构,可以确定传感器的度,其中在分布式网络中每个传感器即为一个节点,传感器的度即节点的度,节点的度即与该节点通信的全部节点数量。
步骤202:将各传感器对应的初始值、以及误差方差矩阵进行初始化。
针对每个传感器初始化设置可以为:对传感器参数xi,0、Pi,0进行设置,xi,0=x0,Pi,0=P0;xi,0为第i个传感器初始值,Pi,0为第i个传感器的误差方差矩阵。
步骤203:针对每个传感器,传感器基于前一时刻传感器确定的目标状态值,进行目标状态预测得到状态预测值。
根据前一时刻(k-1时刻)目标状态预测目标状态值(k时刻)时,可以采用如下公式:
其中,A为目标运动的系统矩阵,Q为过程噪声方差,k为当前时刻,(k-1)为前一时刻,Pi,k-1为第i个传感器在k-1时刻所计算得到的目标中间状态估计值的误差方差矩阵;为第i个传感器在k时刻所确定的目标状态值的误差方差矩阵。
步骤204:传感器依据获取的量测数据对状态预测值进行校正,得到目标中间状态估计值。
具体地进行校正时若传感器获取到量测数据,则依据第三公式进行Kalman滤波;
第三公式为:
其中,Ci为第i个,传感器的量测矩阵,Ri为第i个传感器的量测噪声方差,yi,k为第i个传感器在K时刻获取到的量测数据,为第i个传感器在K时刻所得到的目标中间状态估计值,
若传感器获取到量测数据,则依据第四公式进行Kalman滤波;
第四公式为:该种情况下的误差方差计算公式为:
步骤205:将目标中间状态估计值发送至与自身通信的传感器。
通过步骤203至步骤205单个传感器已完成目标中间状态估计值、以及将自身确定的目标中间状态估计值发送至自身通信的传感器的操作。在具体实现过程中,分布式系统中的各传感器均执行步骤203至步骤205中的相关操作。
步骤206:各传感器分别判断是否接收到目标中间状态估计值;若是,则执行步骤207;若否,则执行步骤208。
若接收到目标中间状态估计值,则确定通信数据未丢失;反正,则确定通信数据丢失。
步骤207:确定通信数据未丢失,调用第一公式依据接收到的目标中间状态估计值以及自身计算得到的目标中间状态估计值,确定目标状态值。
步骤208:确定通信数据丢失,调用第二公式自身计算得到的目标中间状态估计值,确定目标状态值。
第一公式为:
第二公式为:
其中,表示与第i个传感器通信的传感器的集合,gi,k为增益参数,gi,k<max{di},di为第i个传感器的度,为第i个传感器在k时刻所得到的目标中间状态估计值,为第i个传感器在k时刻所确定的目标状态值。优选地,将gi,k设置成di。
步骤203至步骤208为单个时间节点下对目标跟踪得到目标状态值的具体流程,在具体实现过程中,需要实时对目标进行跟踪。当在下一时间节点下对目标进行跟踪时,针对每个传感器依据其上一时间节点确定的目标状态值、以及当前时间节点下获取到的量测数据,得到目标中间状态估计值,然后再与通信传感器之间进行目标中间状态估计值通信,进一步确定当前时间节点对应的目标状态值。重复执行上述跟踪流程,对目标进行动态跟踪。
本发明实施例提供的数据丢失与通信故障下的分布式目标跟踪方法,基于Kalman滤波算法,结合分布式一致性框架和量测数据丢失与通信数据丢失的随机性对目标进行动态的跟踪。由于Kalman滤波方法实时性好、且能够对非平稳状态的目标进行有效跟踪,因此,本发明实施例提供的分布式目标跟踪方法,能够对目标进行有效跟踪,得到可靠性高的跟踪结果。
下面参照图3,以通过多6个传感器节点组成的分布式网络系统,对一个匀速直线运行的目标进行跟踪为例,对本发明实施例的目标跟踪方法进行说明。
本具体实例中传感器的网络拓扑图如图3所示。目标的运动方程为:
其中,T为采样周期,取T=1s。传感器节点i的量测方程为
目标做匀速直线运动,因此约束可以为本例中取η=60deg,R1=diag(60,60),R2=diag(80,80),R3=diag(70,70),R4=diag(75,75),R5=diag(85,85),R6=diag(95,95)。
通过调节量测数据丢失率、通信率,在在不同测丢失率和通信率下由各传感器对目标进行实时跟踪,各传感器跟踪所确定的目标状态信息与目标实际状态信息趋于一致,可见,本发明实施例提供的目标跟踪方法不仅可以对目标进行实时跟踪,并且所得跟踪结果可靠性高。
实施例三
参照图4,示出了本发明实施例三中的数据丢失与通信故障下的分布式目标跟踪装置的结构示意图。
本发明实施例的数据丢失与通信故障下的分布式目标跟踪装置应用于分布式传感器的目标跟踪场景中的各传感器中,所述装置包括:初始化模块401,用于确定网络拓扑结构,且对传感器进行初始化;第一计算模块402,用于调用所述传感器获取量测数据,依据所述量测数据执行Kalman滤波,计算得到目标中间状态估计值;将所述目标中间状态估计值发送至与自身通信的传感器;第二计算模块403,用于依据传感器接收到的目标中间状态估计值以及自身计算得到的目标中间状态估计值,确定目标状态值。
通过本发明实施例提供的数据丢失与通信故障下的分布式目标跟踪装置,基于Kalman滤波算法,结合分布式一致性框架和量测数据丢失与通信数据丢失的随机性对目标进行动态的跟踪。由于Kalman滤波方法实时性好、且能够对非平稳状态的目标进行有效跟踪,因此,本发明实施例提供的分布式目标跟踪装置,能够对目标进行有效跟踪,得到可靠性高的跟踪结果。
实施例四
参照图5,示出了本发明实施例四中的数据丢失与通信故障下的分布式目标跟踪装置的结构示意图。
本发明实施例的数据丢失与通信故障下的分布式目标跟踪装置应用于分布式传感器的目标跟踪场景中的各传感器中。本发明实施例中的装置是对实施例三中所示的装置的进一步优化,优化后的数据丢失与通信故障下的分布式目标跟踪装置包括:初始化模块501,用于确定网络拓扑结构,且对传感器进行初始化;第一计算模块502,用于调用所述传感器获取量测数据,依据所述量测数据执行Kalman滤波,计算得到目标中间状态估计值;将所述目标中间状态估计值发送至与自身通信的传感器;第二计算模块503,用于依据传感器接收到的目标中间状态估计值以及自身计算得到的目标中间状态估计值,确定目标状态值。
优选地,所述初始化模块501包括:拓扑结构确定子模块5011,用于确定分布式网络中传感器的个数和传感器拓扑结构;初始化子模块5012,用于将各传感器对应的初始值、以及误差方差矩阵进行初始化。
优选地,所述第一计算模块502包括:预测子模块5021,用于基于传感器前一时刻所述传感器确定的目标状态值,进行目标状态预测得到状态预测值;校正子模块5022,用于所述传感器依据获取的量测数据对所述状态预测值进行校正,得到目标中间状态估计值。
优选地,所述第二计算模块503包括:判断子模块5031,用于判断是否接收到目标中间状态估计值;第一调用子模块5032,用于若所述判断子模块的判断结果为是,则确定通信数据未丢失,调用第一公式依据接收到的目标中间状态估计值以及自身计算得到的目标中间状态估计值,确定目标状态值;第二调用子模块5033,用于若所述判断子模块的判断结果为否,则确定通信数据丢失,调用第二公式自身计算得到的目标中间状态估计值,确定目标状态值。
优选地,所述第一公式为:所述第二公式为:其中,表示与第i个传感器通信的传感器的集合,gi,k为增益参数,gi,k<max{di},di为第i个传感器的度,为第i个传感器在k时刻所得到的目标中间状态估计值,为第i个传感器在k时刻所确定的目标状态值。
本发明实施例中的数据丢失与通信故障下的分布式目标跟踪装置用于实现前述方法实施例中相应的数据丢失与通信故障下的分布式目标跟踪方法,并且具有相应的方法实施的有益效果,在此不再赘述。
本发明实施例还提供了一种电子设备,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行本发明各实施例中所示的数据丢失与通信故障下的分布式目标跟踪方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以预测方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种数据丢失与通信故障下的分布式目标跟踪方法、装置和电子设备,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。