本发明涉及无线定位领域,特别是指一种对运动中的目标节点进行无线定位的方法、装置和系统。
背景技术:
无线定位技术主要通过目标节点(Tag)到接收节点(Anchor)的距离或者角度对目标节点进行测距,进而计算位置信息。无线定位技术可分为基于信号接收强度(RSSI)的定位技术、基于信号达到角度(AOA)的定位技术和基于信号传输时间(TOF,Time of Flight)的定位技术以及基于信号传输时间差(TDOA)的定位技术。其中基于信号传输时间和基于信号传输时间差的定位技术是目前应用最广泛的测距技术。
以目标节点做二维平面运动为例,TOF定位技术的核心思想是测量出目标节点与三个接收节点之间的距离,使用三边测量算法,从而得到目标节点的位置。定位原理如下:
已知三个接收节点的位置(x1,y1),(x2,y2),(x3,y3);
已知目标节点(x0,y0)到三个接收节点的距离d1,d2,d3;
如图1所示,以(x1,y1),(x2,y2),(x3,y3)为圆心,以d1,d2,d3为半径作三个圆,根据毕达哥拉斯定理,得出的交点即为目标节点的位置,计算公式如下:
(x1-x0)2+(y1-y0)2=d12
(x2-x0)2+(y2-y0)2=d22
(x3-x0)2+(y3-y0)2=d32
在TOF定位中,Tag逐一与三个Anchor测距,得到d1,d2,d3,即可使用三边测量算法实现位置计算。
若Tag做一维直线运动,则仅需要两个Anchor即可对Tag进行定位(两个Anchor对Tag进行定位,会有2个解,由于Tag做一维直线运动,可以舍去一个明显不在一维直线轨迹上的一个解)。
以上方法均是建立在Tag位置没有变化的基础上的,如果Tag高速运动,则Tag逐一与多个Anchor测距时,其位置已经发生了变化。举例来说,假若Tag以300公里时速运动,大约是83.3米/秒的速度运动。如果Tag与Anchor逐一测距间隔100ms,当Tag与一个Anchor测距完毕,又与另一个Anchor测距时,Tag的位置已经变化了8.33米;也就是说,在Tag高度移动的情况下,测量的d1,d2,d3与实际的距离d′1,d′2,d′3是有误差的,这样通过三边测量方法计算出的(x0,y0)与实际位置有偏差,定位精度不理想。
技术实现要素:
本发明提供一种对运动中的目标节点进行无线定位的方法、装置和系统,能够消除目标节点与多个接收节点逐一测距时的误差,精确地测量目标节点的位置。
为解决上述技术问题,本发明提供技术方案如下:
一方面,本发明提供一种对运动中的目标节点进行无线定位的方法,包括:
步骤101:向第一接收节点和第二接收节点发送第一轮询信号,所述第一轮询信号中包括第一接收节点标识;
步骤102:接收所述第一接收节点发送的第一回复消息;
步骤103:向所述第一接收节点发送第一确认消息;
步骤104:向第一接收节点和第二接收节点发送第二轮询信号,所述第二轮询信号中包括第二接收节点标识;
步骤105:接收所述第二接收节点发送的第二回复消息;
步骤106:向所述第二接收节点发送第二确认消息;
步骤107:向上位机发送t1、t5、t6、t8、t12和t13,以使所述上位机计算t8时刻的位置(x0,y0),其中:
(x2-x0)2+(y2-y0)2=d22
d′1=d1+d,d=c((t8–t1)–(t10–t3)),(x1,y1)为第一接收节点的位置,(x2,y2)为第二接收节点的位置,d1=c((t7-t4)–(t6-t5))/2,d2=c((t14-t11)–(t13-t12))/2;
t1为发送所述第一轮询信号的时刻,t5为接收所述第一回复消息的时刻,t6为发送所述第一确认消息的时刻,t8为发送所述第二轮询信号的时刻,t12为接收所述第二回复消息的时刻,t13为发送所述第二确认消息的时刻;
t3、t4、t7和t10为所述第一接收节点向所述上位机发送的,t3为所述第一接收节点接收所述第一轮询信号的时刻,t4为所述第一接收节点发送所述第一回复消息的时刻,t7为所述第一接收节点接收所述第一确认消息的时刻,所述t10为所述第一接收节点接收所述第二轮询信号的时刻;
t11和t14为所述第二接收节点向所述上位机发送的,t11为所述第二接收节点发送所述第二回复消息的时刻,t14为所述第二接收节点接收所述第二确认消息的时刻。
另一方面,本发明提供一种目标节点,包括:
第一轮询信号发送模块,用于向第一接收节点和第二接收节点发送第一轮询信号,所述第一轮询信号中包括第一接收节点标识;
第一回复消息接收模块,用于接收所述第一接收节点发送的第一回复消息;
第一确认消息发送模块,用于向所述第一接收节点发送第一确认消息;
第二轮询信号发送模块,用于向第一接收节点和第二接收节点发送第二轮询信号,所述第二轮询信号中包括第二接收节点标识;
第二回复消息接收模块,用于接收所述第二接收节点发送的第二回复消息;
第二确认消息发送模块,用于向所述第二接收节点发送第二确认消息;
第一通讯模块,用于向上位机发送t1、t5、t6、t8、t12和t13,以使所述上位机计算t8时刻的位置(x0,y0),其中:
(x2-x0)2+(y2-y0)2=d22
d′1=d1+d,d=c((t8–t1)–(t10–t3)),(x1,y1)为第一接收节点的位置,(x2,y2)为第二接收节点的位置,d1=c((t7-t4)–(t6-t5))/2,d2=c((t14-t11)–(t13-t12))/2;
t1为发送所述第一轮询信号的时刻,t5为接收所述第一回复消息的时刻,t6为发送所述第一确认消息的时刻,t8为发送所述第二轮询信号的时刻,t12为接收所述第二回复消息的时刻,t13为发送所述第二确认消息的时刻;
t3、t4、t7和t10为所述第一接收节点向所述上位机发送的,t3为所述第一接收节点接收所述第一轮询信号的时刻,t4为所述第一接收节点发送所述第一回复消息的时刻,t7为所述第一接收节点接收所述第一确认消息的时刻,所述t10为所述第一接收节点接收所述第二轮询信号的时刻;
t11和t14为所述第二接收节点向所述上位机发送的,t11为所述第二接收节点发送所述第二回复消息的时刻,t14为所述第二接收节点接收所述第二确认消息的时刻。
再一方面,本发明提供一种对运动中的目标节点进行无线定位的方法,包括:
步骤201:第一接收节点和第二接收节点接收所述目标节点发送的第一轮询信号,所述第一轮询信号中包括第一接收节点标识;
步骤202:第一接收节点向所述目标节点发送第一回复消息;
步骤203:第一接收节点接收所述目标节点发送的第一确认消息;
步骤301:第一接收节点和第二接收节点接收所述目标节点发送的第二轮询信号,所述第二轮询信号中包括第二接收节点标识;
步骤302:第二接收节点向所述目标节点发送第二回复消息;
步骤303:第二接收节点接收所述目标节点发送的第二确认消息;
步骤401:第一接收节点向上位机发送t3、t4、t7和t10,第二接收节点向上位机发送t11和t14,以使所述上位机计算t8时刻目标节点的位置(x0,y0),其中:
(x2-x0)2+(y2-y0)2=d22
d′1=d1+d,d=c((t8–t1)–(t10–t3)),(x1,y1)为第一接收节点的位置,(x2,y2)为第二接收节点的位置,d1=c((t7-t4)–(t6-t5))/2,d2=c((t14-t11)–(t13-t12))/2;
t3为所述第一接收节点接收所述第一轮询信号的时刻,t4为所述第一接收节点发送所述第一回复消息的时刻,t7为所述第一接收节点接收所述第一确认消息的时刻,所述t10为所述第一接收节点接收所述第二轮询信号的时刻,t11为所述第二接收节点发送所述第二回复消息的时刻,t14为所述第二接收节点接收所述第二确认消息的时刻;
t1、t5、t6、t8、t12和t13为所述目标节点向上位机发送的,t1为发送所述第一轮询信号的时刻,t5为接收所述第一回复消息的时刻,t6为发送所述第一确认消息的时刻,t8为发送所述第二轮询信号的时刻,t12为接收所述第二回复消息的时刻,t13为发送所述第二确认消息的时刻。
再一方面,本发明提供一种第一接收节点,包括:
第一轮询信号接收模块一,用于接收所述目标节点发送的第一轮询信号,所述第一轮询信号中包括第一接收节点标识;
第一回复消息发送模块,用于向所述目标节点发送第一回复消息;
第一确认消息接收模块,用于第一接收节点接收所述目标节点发送的第一确认消息;
第二轮询信号接收模块,用于接收所述目标节点发送的第二轮询信号,所述第二轮询信号中包括第二接收节点标识;
第二通讯模块,用于向上位机发送t3、t4、t7和t10。
再一方面,本发明提供一种第二接收节点,包括:
第一轮询信号接收模块二,用于接收所述目标节点发送的第一轮询信号,所述第一轮询信号中包括第一接收节点标识;
第二回复消息发送模块,用于第二接收节点向所述目标节点发送第二回复消息;
第二确认消息接收模块,用于第二接收节点接收所述目标节点发送的第二确认消息;
第二轮询信号接收模块二,用于接收所述目标节点发送的第二轮询信号,所述第二轮询信号中包括第二接收节点标识;
第三通讯模块,用于向上位机发送t11和t14。
再一方面,本发明提供一种对运动中的目标节点进行无线定位的系统,包括上述目标节点、第一接收节点和第二接收节点。
本发明具有以下有益效果:
本发明中,由目标节点Tag逐一向指定接收节点Anchor(第一接收节点或第二接收节点)发送poll消息,消息携带需要进行测距的Anchor标识,所有接收节点Anchor均处于监听状态,即多个Anchor都会接收到Tag发送来的poll消息,只有指定的Anchor与Tag进行后边的测距步骤,其他Anchor只记录接收到poll的时刻,如图3所示。
假设Tag在最左边点位置静止不动,则计算出Tag与Anchor-A1(第一接收节点),Anchor-A2(第二接收节点)的距离分别为d1,d2’;实际上在测距过程中,Tag由最左边点位置移动到了最右边点位置,实际Tag与Anchor-A1与Anchor-A2测量的距离分别为d1,d2。
由于Anchor监听了所有poll消息,通过图3与图4可以得到最左边点与最右边点之间的距离,即Tag分别于两个Anchor测距相隔的距离:d=c((t8–t1)–(t10–t3))。
按照上一步得到的结果,可以得知Tag与第二接收节点A2测距时,与第一接收节点A1的距离为d1+d,即d1',则按照三边计算方法,通过d1’与d2画圆求交点,从而得到最精确的Tag的位置(x’,y’),即最右边点的位置(t8时刻),反推之,可得到Tag与Anchor-A1测距时的精确位置,即最左边点(t1时刻)的位置。
使用三个Anchor则可在二维平面中精确计算出Tag的位置,本发明描述的为一维平面的计算方式,但不限于一维平面计算。
综上所述,本发明的对运动中的目标节点进行无线定位的方法能够消除目标节点与多个接收节点逐一测距时的误差,精确地测量目标节点的位置。
附图说明
图1为定位原理图;
图2为本发明的对运动中的目标节点进行无线定位的方法流程图(用于目标节点);
图3为本发明的对运动中的目标节点进行无线定位的示意图;
图4为本发明中的定位的原理图;
图5为本发明的目标节点示意图;
图6为本发明的对运动中的目标节点进行无线定位的方法流程图(用于第一接收节点和第二接收节点);
图7为本发明的第一接收节点示意图;
图8为本发明的第二接收节点示意图;
图9为本发明的对运动中的目标节点进行无线定位的系统示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
一方面,本发明提供一种对运动中的目标节点进行无线定位的方法,用于目标节点上,如图2和图3所示,包括:
步骤101:目标节点t1时刻向第一接收节点和第二接收节点发送第一轮询信号,第一轮询信号中包括第一接收节点标识,第一接收节点t3时刻接收到,第二接收节点t2时刻接收到。第一接收节点于t4时刻向目标节点发送第一回复消息,第二接收节点不工作。
步骤102:目标节点在t5时刻接收第一接收节点发送的第一回复消息。
步骤103:目标节点在t6时刻向第一接收节点发送第一确认消息,第一接收节点t7时刻接收到。
步骤104:目标节点在t8时刻向第一接收节点和第二接收节点发送第二轮询信号,第二轮询信号中包括第二接收节点标识,第一接收节点t10时刻接收到,第二接收节点t9时刻接收到,第二接收节点于t11时刻向目标节点发送第二回复消息,第一接收节点不工作。
步骤105:目标节点在t12时刻接收第二接收节点发送的第二回复消息。
步骤106:目标节点在t13时刻向第二接收节点发送第二确认消息,第二接收节点t14时刻接收到。
步骤107:目标节点向上位机发送t1、t5、t6、t8、t12和t13,以使上位机计算t8时刻的位置(x0,y0),其中:
(x2-x0)2+(y2-y0)2=d22
d′1=d1+d,d=c((t8–t1)–(t10–t3)),(x1,y1)为第一接收节点的位置,(x2,y2)为第二接收节点的位置,d1=c((t7-t4)–(t6-t5))/2,d2=c((t14-t11)–(t13-t12))/2;
t1为发送第一轮询信号的时刻,t5为接收第一回复消息的时刻,t6为发送第一确认消息的时刻,t8为发送第二轮询信号的时刻,t12为接收第二回复消息的时刻,t13为发送第二确认消息的时刻;
t3、t4、t7和t10为第一接收节点向上位机发送的,t3为第一接收节点接收第一轮询信号的时刻,t4为第一接收节点发送第一回复消息的时刻,t7为第一接收节点接收第一确认消息的时刻,t10为第一接收节点接收第二轮询信号的时刻;
t11和t14为第二接收节点向上位机发送的,t11为第二接收节点发送第二回复消息的时刻,t14为第二接收节点接收第二确认消息的时刻。
本发明中,由目标节点Tag逐一向指定接收节点Anchor(第一接收节点或第二接收节点)发送poll消息,消息携带需要进行测距的Anchor标识,所有接收节点Anchor均处于监听状态,即多个Anchor都会接收到Tag发送来的poll消息,只有指定的Anchor与Tag进行后边的测距步骤,其他Anchor只记录接收到poll的时刻,如图3所示。
假设Tag在最左边点位置静止不动,则计算出Tag与Anchor-A1(第一接收节点),Anchor-A2(第二接收节点)的距离分别为d1,d2’;实际上在测距过程中,Tag由最左边点位置移动到了最右边点位置,实际Tag与Anchor-A1与Anchor-A2测量的距离分别为d1,d2。
由于Anchor监听了所有poll消息,通过图3与图4可以得到最左边点与最右边点之间的距离,即Tag分别于两个Anchor测距相隔的距离:d=c((t8–t1)–(t10–t3))。
按照上一步得到的结果,可以得知Tag与第二接收节点A2测距时,与第一接收节点A1的距离为d1+d,即d1',则按照三边计算方法,通过d1’与d2画圆求交点,从而得到最精确的Tag的位置(x’,y’),即最右边点的位置(t8时刻),反推之,可得到Tag与Anchor-A1测距时的精确位置,即最左边点(t1时刻)的位置。
使用三个Anchor则可在二维平面中精确计算出Tag的位置,本发明描述的为一维平面的计算方式,但不限于一维平面计算。
综上所述,本发明的对运动中的目标节点进行无线定位的方法能够消除目标节点与多个接收节点逐一测距时的误差,精确地测量目标节点的位置。
进一步的,还可以测得t1时刻的位置,此时步骤107进一步为:
向上位机发送t1、t5、t6、t8、t12和t13,以使所述上位机计算t1时刻的位置(x'0,y'0),其中:
d'2=d2+d
另一方面,本发明提供一种目标节点5,如图5所示,包括:
第一轮询信号发送模块51,用于向第一接收节点和第二接收节点发送第一轮询信号,第一轮询信号中包括第一接收节点标识;
第一回复消息接收模块52,用于接收第一接收节点发送的第一回复消息;
第一确认消息发送模块53,用于向第一接收节点发送第一确认消息;
第二轮询信号发送模块54,用于向第一接收节点和第二接收节点发送第二轮询信号,第二轮询信号中包括第二接收节点标识;
第二回复消息接收模块55,用于接收第二接收节点发送的第二回复消息;
第二确认消息发送模块56,用于向第二接收节点发送第二确认消息;
第一通讯模块57,用于向上位机发送t1、t5、t6、t8、t12和t13,以使上位机计算当前位置(x0,y0),其中:
(x2-x0)2+(y2-y0)2=d22
d′1=d1+d,d=c((t8–t1)–(t10–t3)),(x1,y1)为第一接收节点的位置,(x2,y2)为第二接收节点的位置,d1=c((t7-t4)–(t6-t5))/2,d2=c((t14-t11)–(t13-t12))/2;
t1为发送第一轮询信号的时刻,t5为接收第一回复消息的时刻,t6为发送第一确认消息的时刻,t8为发送第二轮询信号的时刻,t12为接收第二回复消息的时刻,t13为发送第二确认消息的时刻;
t3、t4、t7和t10为第一接收节点向上位机发送的,t3为第一接收节点接收第一轮询信号的时刻,t4为第一接收节点发送第一回复消息的时刻,t7为第一接收节点接收第一确认消息的时刻,t10为第一接收节点接收第二轮询信号的时刻;
t11和t14为第二接收节点向上位机发送的,t11为第二接收节点发送第二回复消息的时刻,t14为第二接收节点接收第二确认消息的时刻。
本发明的目标节点能够消除目标节点与多个接收节点逐一测距时的误差,精确地测量目标节点的位置。
进一步的,还可以测得t1时刻的位置,此时第一通讯模块57进一步用于:
向上位机发送t1、t5、t6、t8、t12和t13,以使所述上位机计算t1时刻的位置(x'0,y'0),其中:
d'2=d2+d
另一方面,本发明提供一种对运动中的目标节点进行无线定位的方法,用于第一接收节点和第二接收节点,如图6所示,包括:
步骤201:第一接收节点和第二接收节点接收目标节点发送的第一轮询信号,第一轮询信号中包括第一接收节点标识;
步骤202:第一接收节点向目标节点发送第一回复消息;
步骤203:第一接收节点接收目标节点发送的第一确认消息;
步骤301:第一接收节点和第二接收节点接收目标节点发送的第二轮询信号,第二轮询信号中包括第二接收节点标识;
步骤302:第二接收节点向目标节点发送第二回复消息;
步骤303:第二接收节点接收目标节点发送的第二确认消息;
步骤401:第一接收节点向上位机发送t3、t4、t7和t10,第二接收节点向上位机发送t11和t14,以使上位机计算目标节点的当前位置(x0,y0),其中:
(x2-x0)2+(y2-y0)2=d22
d′1=d1+d,d=c((t8–t1)–(t10–t3)),(x1,y1)为第一接收节点的位置,(x2,y2)为第二接收节点的位置,d1=c((t7-t4)–(t6-t5))/2,d2=c((t14-t11)–(t13-t12))/2;
t3为第一接收节点接收第一轮询信号的时刻,t4为第一接收节点发送第一回复消息的时刻,t7为第一接收节点接收第一确认消息的时刻,t10为第一接收节点接收第二轮询信号的时刻,t11为第二接收节点发送第二回复消息的时刻,t14为第二接收节点接收第二确认消息的时刻;
t1、t5、t6、t8、t12和t13为目标节点向上位机发送的,t1为发送第一轮询信号的时刻,t5为接收第一回复消息的时刻,t6为发送第一确认消息的时刻,t8为发送第二轮询信号的时刻,t12为接收第二回复消息的时刻,t13为发送第二确认消息的时刻。
本发明的对运动中的目标节点进行无线定位的方法能够消除目标节点与多个接收节点逐一测距时的误差,精确地测量目标节点的位置。
再一方面,本发明提供一种第一接收节点7,如图7所示,包括:
第一轮询信号接收模块一71,用于接收目标节点发送的第一轮询信号,第一轮询信号中包括第一接收节点标识;
第一回复消息发送模块72,用于向目标节点发送第一回复消息;
第一确认消息接收模块73,用于第一接收节点接收目标节点发送的第一确认消息;
第二轮询信号接收模块74,用于接收目标节点发送的第二轮询信号,第二轮询信号中包括第二接收节点标识;
第二通讯模块75,用于向上位机发送t3、t4、t7和t10。
再一方面,本发明提供一种第二接收节点8,如图8所示,包括:
第一轮询信号接收模块二81,用于接收目标节点发送的第一轮询信号,第一轮询信号中包括第一接收节点标识;
第二回复消息发送模块82,用于第二接收节点向目标节点发送第二回复消息;
第二确认消息接收模块83,用于第二接收节点接收目标节点发送的第二确认消息;
第二轮询信号接收模块二84,用于接收目标节点发送的第二轮询信号,第二轮询信号中包括第二接收节点标识;
第三通讯模块85,用于向上位机发送t11和t14。
本发明的第二接收节点能够消除目标节点与多个接收节点逐一测距时的误差,精确地测量目标节点的位置。
再一方面,本发明提供一种对运动中的目标节点进行无线定位的系统,如图9所示,包括上述目标节点5、第一接收节点7和第二接收节点8。
本发明的对运动中的目标节点进行无线定位的系统能够消除目标节点与多个接收节点逐一测距时的误差,精确地测量目标节点的位置。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。