本发明涉及一种自主移动设备的定位方法,属于无线网络的节点定位技术领域。
背景技术:
移动机器人、agv车等自主移动设备在现实生活中应用广泛,这些设备在移动过程中定位是否准确极大地影响它们的性能。现有自主移动设备的定位方法一般使用电磁、光学、无线信号等进行定位和导航。无线网络中的定位算法一般分为基于距离的定位算法和与距离无关的定位算法。基于距离的定位算法主要是通过测量节点间的实际距离或方位信息,然后使用三边测量法、三角测量法或极大似然估计法来计算节点位置。距离无关的定位算法主要是利用节点之间的连通性、相对位置或特定的协议估计距离来计算节点位置。在基于距离的定位算法中,主要通过到达时间(toa)法、到达时间差(tdoa)、到达角度(aoa)法和接收信号强度指示(rssi)法等方法来测量节点间距或方位。
基于rssi的定位方法中,微软公司开发的radar系统是一个典型的例子,该系统根据监测区域中部署的多个节点的信号强度,利用信号传播的经验模型和理论模型两种模型来测量节点距离,以获得节点位置信息。考虑到道路、隧道、管道和线路等特殊地方的监控应用,一些研究者将基于rssi值的测距法从二维的平面定位算法转化为一维的直线定位算法,简化了算法复杂度,提高了定位精度。
基于到达时间(toa)法、到达时间差(tdoa)等定位的方法,在获得较高精度的测量数据时,有较好的定位精度,但由于需要各个定位节点间进行时间同步,在实现上带来一定的复杂性。基于到达角度(aoa)法的定位方法,由于需要天线能获得较好的到达信号角度的数据,设备也是比较复杂的,同时也带来较高的成本。距离无关的定位算法则一般是通过大致估计的单跳距离来进行定位,使得定位精度并不高。radar系统和一维直线定位算法都是直接采用rssi值来测距和定位,并未考虑网络环境和信号衰弱随机性导致的rssi值的变化和误差,也未进行修正。因此,它们在维持方法简单性的同时,也存在定位精度不高的问题。
技术实现要素:
本发明要解决的技术问题是提供一种易于实现、成本较低、同时定位精度较高的自主移动设备的定位方法。
为了解决上述技术问题,本发明的技术方案是提供一种自主移动设备的定位方法,其特征在于:首先根据待定位节点信号的覆盖范围,确定可用的锚节点;再根据锚节点的位置以及锚节点和待定位节点的距离,合理分配待定位节点与锚节点之间定位信号交互的通信时隙,保证待定位节点与锚节点发送和接收定位信号时不会冲突,且待定位节点与锚节点发送和接收定位信号的时隙间隔最小。
优选地,该方法具体步骤为:
步骤1:锚节点按网格方式部署在网络中,网络中所有锚节点的位置和编号对所有待定位节点已知;控制中心根据网络中锚节点的位置,将整个网络划分为大致相同大小的网格,每个网格中至少包含3个锚节点,同时保证任一网格内最多只有一个待定位节点;
步骤2:控制中心根据gps获得待定位节点所在的大致位置进行初步定位,定位结果为待定位节点所在网格;
步骤3:经初步定位后,以待定位节点所在网格进行分簇,簇头为待定位节点,待定位节点所在网格的四个锚节点为簇成员;控制中心根据每个簇的位置对每个簇分配时隙;
步骤4:每个簇在自己分配的时隙内进行定位信息交互,并完成精确定位。
更优选地,所述步骤1中,由于自主移动设备需要保证设定的安全距离,当所述安全距离大于网格边长时,即实现任一网格内最多只有一个待定位节点。
更优选地,所述骤3中,控制中心根据每个簇的位置对每个簇分配时隙的具体方法如下:将每个簇看作一个超级节点,根据网格之间的邻接关系建立超级节点的网络拓扑,根据超级节点的邻接关系进行时隙分配。
进一步地,待定位节点所在网格与其相邻的4个网格、4个对角网格为相邻网格,相邻网格的超级节点为相邻超级节点。
更进一步地,所述根据超级节点的邻接关系进行时隙分配的具体方法为:对每个超级节点分配一个时隙,二跳以上的超级节点可时隙复用,时隙分配方法按启发式算法进行迭代获得,完成时隙分配后,控制中心将时隙分配结果通知待定位节点,待定位节点在分配给自己所在分簇的时隙内发送定位信号进行精确定位。
优选地,所述步骤4的具体过程如下:
步骤4.1:完成分簇的时隙分配后,待定位节点将分配给自己的时隙分成m个微时隙,m为该分簇内锚节点数,并在每个微时隙中,分别向自己网格所在的各锚节点发送定位信号,每个微时隙向其中一个锚节点发送定位信号;
步骤4.2:锚节点收到定位信号后,立即返回定位回应信号;
步骤4.3:待定位节点收到定位回应信号后,记录到达时间;
步骤4.4:待定位节点根据定位回应信号的到达时间差,计算待定位节点与锚节点的距离,根据距离按三角定位法进行精确定位。
更优选地,所述步骤4.1中,定位信号包含数据包头、锚节点号、时间标志。
本发明提供的方法克服了现有技术的不足,基于待定位节点与锚节点通信的时隙分配方法,通过合理时隙分配来减小待定位节点与锚节点之间通信的时间差,减小了定位误差,进而提高了节点定位的精度。
附图说明
图1为网格网络定位图;
图2为分簇拓扑图。
具体实施方式
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
本发明提供的自主移动设备的定位方法,先根据待定位节点信号的覆盖范围,确定可用的锚节点,再根据锚节点的位置以及和待定位节点的距离,合理分配待定位节点与锚节点之间定位信号交互的通信时隙,保证待定位节点与特定锚节点发送和接收定位信号时的时隙间隔最小,减小定位误差,减小定位距离判断的误差,进而提高定位精度。具体步骤如下:
步骤1:锚节点按网格方式部署在网络中,网络中所有锚节点的位置和编号对所有待定位节点已知。控制中心根据网络中锚节点的位置,将整个网络划分为大致相同大小的网格,每个网格中至少包含3个锚节点,同时保证任一网格内最多只有一个待定位节点。由于自主移动设备需要保证一定的安全距离,当安全距离大于网格边长时,可实现任一网格内最多只有一个待定位节点。举各最简单的实例,如图1所示,锚节点部署于网格顶点,待定位节点在网络中移动。
步骤2:控制中心根据gps获得待定位节点所在的大致位置进行初步定位,定位结果为待定位节点所在网格。
步骤3:经初步定位后,以待定位节点所在网格进行分簇,簇头为待定位节点,待定位节点所在网格的四个锚节点为簇成员。控制中心根据每个簇的位置对每个簇分配时隙。时隙分配方法如下:
将每个簇看作一个超级节点,根据网格之间的邻接关系建立超级节点的网络拓扑,待定位节点所在网格与其相邻的4个网格、4个对角网格为相邻网格,相邻网格的超级节点为相邻超级节点。如图1所示,a~g这7个超级节点可建立相应的拓扑结构,如图2所示。
建立超级节点的网络拓扑后,根据超级节点的邻接关系进行时隙分配。
1)对每个超级节点分配一个时隙;
2)二跳以上的超级节点可时隙复用;
3)时隙分配方法按启发式算法进行迭代获得;
4)完成时隙分配后,控制中心将时隙分配结果通知待定位节点,待定位节点在分配给自己所在分簇的时隙内发送定位信号进行精确定位。
步骤4:每个簇在自己分配的时隙内进行定位信息交互,并完成精确定位。定位过程如下:
1)完成分簇的时隙分配后,待定位节点将分配给自己的时隙分成m个微时隙(m为该分簇内锚节点数),并在每个微时隙中,分别向自己网格所在的各锚节点发送定位信号,每个微时隙向其中一个锚节点发送定位信号,定位信号包含数据包头,锚节点号,时间标志。
2)锚节点收到定位信号后,立即返回定位回应信号。
3)待定位节点收到定位回应信号后,记录到达时间。
4)待定位节点根据定位回应信号的到达时间差,计算待定位节点与锚节点的距离,根据距离按三角定位法进行精确定位。若某个簇存在大于三个锚节点时,取多个三角定位结果的平均值为最终结果。