利用Random Waypoint Model生成室内轨迹数据
在做室内定位方面的实验时,打算利用RNN进行室内定位,而利用RNN做定位则需要室内行人的轨迹数据做训练,如果让人走,工作量太大。经过一篇论文的启发,觉得可以利用Random Waypoint Model自动生成室内行人轨迹数据,因此就学习这一模型并编写了生成轨迹数据的Python代码。
1 模型简介
1.1 Random Waypoint Model
在RWP中,初始状态时,结点在整个仿真区域内服从均匀分布,结点首先从二维仿真区域中随机选择一个结点作为目的地,然后从[Vmin, Vmax]中随机选择一个速度(服从均匀分布),结点以此速度向目的地运动。在到达目的地后,结点在[0, Pmax]中随机选择一段停留时间T,然后选择下一个目的地。RWP中结点运动模式如图1.1.1所示。
图1.1.1 RWP结点运动模式
另外,RWP中存在密度波(density wave)的现象,具体来说就是结点会随着时间的推移表现出非均匀分布,在仿真区域的中心处达到最大,而在边界处密度趋于0。下面是论文[1]中描述RWP密度波现象的图。
图1.1.2 density wave
在后面利用RWP生成室内轨迹数据也可以看到这种现象。
1.2 Random Walk Model
RW作为RWP的变体,也是一种重要的随机移动性模型。RW中结点从[0, 2π]随机的选择一个方向,从[Vmin, Vmax]随机选择一个速度,然后按照选取的方向和速度移动到新的位置。在结点移动的过程中,选择一个时间间隔t或者固定距离d,当结点运动了t时间或者移动了d长度时,重新选择结点的方向和速度。RW中结点的运动模式如图1.2.1所示。
图1.2.1 RW结点运动模式
当结点到达仿真区域的边界时,要根据当前结点运动的方向以一定的角度从边界弹回。
1.3 Random Direction Model
在RD中,结点随机地从[0, 2π]选择一个方向,然后按此方向一直移动,直到达到仿真区域的边界,在[0, Pmax]中随机选择一段停留时间T,再从[0, π]之间选择一个角度,继续移动。RD可以克服RWP引起的density wave现象。
图1.3.1 RD中结点的移动模式
2 生成轨迹数据
图2.1 2000step RWP
图2.2 2000step RWP-RP(RP pro=0.3)
链接
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/217816.html原文链接:https://javaforall.net
