跟踪算法
1 定位算法
所谓的跟踪轨迹其实就是若干次定位结果按时间顺序的集合。所以如何定位非常重要。目前常用的定位技术如基于准确测距的定位方法、质心算法等在空旷的环境中能够比较准确地完成定位,但在建筑物内部则相对效果较差。试验表明基于上述方法进行定位轨迹将是跳跃的,而非连续的。在建筑物内进行定位,有一个好处就是身处其中的待定位目标在活动空间上有一定约束,比如人在走廊中行走时,只能向前或者向后,左右两边都是墙壁,无法行走,这样实际上他的轨迹是遵循一定规律的。所以可以综合楼宇内部的位置信息进行定位。
考虑以上应用要求和环境,我们借鉴了文献[2]中的RADAR系统,采用基于RSSI技术的室内定位系统,但在测试方法上进行了改进,不利用基站定位,而是采用信标定位。
在系统中存在两种节点:一种是位置完全已知的信标节点;一种是位置待测的目标节点。经测试,我们本次基于CC2500硬件的节点在楼宇中的极限传输距离在60 m左右(PCB板射频部分走线影响最大传输距离),所以为准确起见,使用信标之间的间隔在20 m,在两个位置中间有墙壁或障碍物时,则一定要放置两个信标,不遵守上述规律。当然,信标数量越多,定位相对就更加准确。目标节点周期性地发出信号,信标接收到目标节点的信号后得到信号强度值RSSI,根据强度值推算目标节点的位置,然后把定位信息发往基站,完成定位工作。
楼宇内定位算法通常有基于信号传输的经验模型和基于信号传播的理论模型两种。后一种的准确性受建筑物材料的影响较大,最后还要进行大量的试验修正,所以我们采用信号传播的经验模型。首先放置好信标。并给定其坐标。设两个信标之间的距离的一半为D(m),如果两个信标之间有障碍物,则将信标到障碍物之间的距离定义为D。利用目标节点在距离D内移动,得到各点位置的RSSI,建立各个点上的位置和信号强度关系的离散数据表(x,y,RSSI)。同时要注意保证目标节点在每一点的时候都会有信标节点进行定位。可见系统的定位精度:
其中(x1,y1,RSSI1),(x2,y2,RSSI2)为离散数据表中两个相邻数据。
定位时,信标查表进行定位,当目标节点信号小于表中最小的门限RSSI时,直接舍弃,会有其他信标对其定位。
2 分簇路由算法
信标在得到目标节点的位置之后,需要将位置信息发往基站,由基站进入监控软件系统。在楼宇中信标的数量非常多,如果不选择一种良好的路由算法,那么很容易造成信息的丢失和误码率升高。我们采用分簇路由算法,这种拓扑有利于分布式算法的应用,适合大规模网络,簇头节点担负数据融合的任务,可使整个网络的数据传输量大大减轻,在使用电池供电的场合,其还可以显著延长整个网络的生存周期。
所有信标结点都固定划分成若干个簇,每一个簇选择一个簇头节点,在选择簇头节点的时候,要注意选择处于偏僻位置的信标节点,这种信标定位的工作相对较少,不容易在定位和传输中产生冲突。分簇主要以地理位置为准,每个簇的节点数不需要相同,这样有利于避免数据发往基站时产生冲突。簇头节点负责为簇内的所有信标节点分配时槽,每个信标节点在自己规定的时间发送定位信息给簇头节点。簇头节点接到所有簇内节点的信息后进行综合,总结成一帧数据发送给基站。在这帧中,所有信标的定位时间差被忽略,当作是同一个时间的定位信息。
如采用2s定位一次,有一个包含5个节点的簇,簇头节点为每个节点分配的时槽可以为300 ms。以250 kb/s为传输速率的CC2500在这个时槽内完全可以完成定位和数据传输工作。这样可以留给簇头节点约800 ms的时间进行数据融合和数据传输。信标节点数据融合的过程见图1。
数据上传到基站后,基站通过网口上传到电脑的监控软件。监控软件采用图形化方式将节点的位置示意出来,如图2所示。
跟踪算法
1 定位算法
所谓的跟踪轨迹其实就是若干次定位结果按时间顺序的集合。所以如何定位非常重要。目前常用的定位技术如基于准确测距的定位方法、质心算法等在空旷的环境中能够比较准确地完成定位,但在建筑物内部则相对效果较差。试验表明基于上述方法进行定位轨迹将是跳跃的,而非连续的。在建筑物内进行定位,有一个好处就是身处其中的待定位目标在活动空间上有一定约束,比如人在走廊中行走时,只能向前或者向后,左右两边都是墙壁,无法行走,这样实际上他的轨迹是遵循一定规律的。所以可以综合楼宇内部的位置信息进行定位。
考虑以上应用要求和环境,我们借鉴了文献[2]中的RADAR系统,采用基于RSSI技术的室内定位系统,但在测试方法上进行了改进,不利用基站定位,而是采用信标定位。
在系统中存在两种节点:一种是位置完全已知的信标节点;一种是位置待测的目标节点。经测试,我们本次基于CC2500硬件的节点在楼宇中的极限传输距离在60 m左右(PCB板射频部分走线影响最大传输距离),所以为准确起见,使用信标之间的间隔在20 m,在两个位置中间有墙壁或障碍物时,则一定要放置两个信标,不遵守上述规律。当然,信标数量越多,定位相对就更加准确。目标节点周期性地发出信号,信标接收到目标节点的信号后得到信号强度值RSSI,根据强度值推算目标节点的位置,然后把定位信息发往基站,完成定位工作。
楼宇内定位算法通常有基于信号传输的经验模型和基于信号传播的理论模型两种。后一种的准确性受建筑物材料的影响较大,最后还要进行大量的试验修正,所以我们采用信号传播的经验模型。首先放置好信标。并给定其坐标。设两个信标之间的距离的一半为D(m),如果两个信标之间有障碍物,则将信标到障碍物之间的距离定义为D。利用目标节点在距离D内移动,得到各点位置的RSSI,建立各个点上的位置和信号强度关系的离散数据表(x,y,RSSI)。同时要注意保证目标节点在每一点的时候都会有信标节点进行定位。可见系统的定位精度:
其中(x1,y1,RSSI1),(x2,y2,RSSI2)为离散数据表中两个相邻数据。
定位时,信标查表进行定位,当目标节点信号小于表中最小的门限RSSI时,直接舍弃,会有其他信标对其定位。
2 分簇路由算法
信标在得到目标节点的位置之后,需要将位置信息发往基站,由基站进入监控软件系统。在楼宇中信标的数量非常多,如果不选择一种良好的路由算法,那么很容易造成信息的丢失和误码率升高。我们采用分簇路由算法,这种拓扑有利于分布式算法的应用,适合大规模网络,簇头节点担负数据融合的任务,可使整个网络的数据传输量大大减轻,在使用电池供电的场合,其还可以显著延长整个网络的生存周期。
所有信标结点都固定划分成若干个簇,每一个簇选择一个簇头节点,在选择簇头节点的时候,要注意选择处于偏僻位置的信标节点,这种信标定位的工作相对较少,不容易在定位和传输中产生冲突。分簇主要以地理位置为准,每个簇的节点数不需要相同,这样有利于避免数据发往基站时产生冲突。簇头节点负责为簇内的所有信标节点分配时槽,每个信标节点在自己规定的时间发送定位信息给簇头节点。簇头节点接到所有簇内节点的信息后进行综合,总结成一帧数据发送给基站。在这帧中,所有信标的定位时间差被忽略,当作是同一个时间的定位信息。
如采用2s定位一次,有一个包含5个节点的簇,簇头节点为每个节点分配的时槽可以为300 ms。以250 kb/s为传输速率的CC2500在这个时槽内完全可以完成定位和数据传输工作。这样可以留给簇头节点约800 ms的时间进行数据融合和数据传输。信标节点数据融合的过程见图1。
数据上传到基站后,基站通过网口上传到电脑的监控软件。监控软件采用图形化方式将节点的位置示意出来,如图2所示。
举报