【问题标题】:speed and position of vehicular status are not consistent reasonably in Veins,omnet++ and sumoVeins、omnet++和sumo中车辆状态的速度和位置不一致
【发布时间】:2015-12-10 18:05:55
【问题描述】:

使用:Omnet++4.6、Sumo0.21.0 和 Veins-3.0
当车辆连续发送包含 Vx(x 轴速度)、Vy(y 轴速度)、位置、速度的信标(WSM)时,我尝试使用 RSU 跟踪车辆 .我在这个场景中使用了开放街道地图。通过 RSU 记录信标消息(WSM)后,我发现以下内容:

t0=0.839078378444 id=0 x0=299.711 Vx0=-0.0273485 y0=542.695 Vy0=-1.58621 AngleRed0=1.58804 速度=1.58645
t1=1.839078378444 id=0 x1=299.665 Vx1=-0.0607238 y2=540.03 Vy2=-3.52198 AngleRed1=1.58804 Speed=3.5225

我使用以下代码在车辆节点的 WSM 中设置属性,该节点已从 RSU 的 onBeacon 方法中检索到:
wsm->setSpeed(traci->getSpeed());
wsm->setAngleRad(traci->getAngleRad());
wsm->setvecX(traci->getCurrentSpeed().x);
wsm->setvecY(traci->getCurrentSpeed().y);
wsm->setSenderPos(traci->getCurrentPosition());
wsm->setCarId(getParentModule()->getIndex());

现在计算来检查 Vx 和 Vy 是否一致:
在时间 t1 = 1.839078378444,(x1,y1) = (299.711,542.695),(x2,y2)=(299.665,540.03)
d=√(-0.046)²+(-2.665)² = 2.665396 所以,1.588 = 91.032ᶿ, Cos(91.032)= -0.018008156, Speed=2.665396/1,Vx=Speed*Cosᶿ,Vx = 2.665396*Cos91.032 =2.665396*(-0.018008156)= -0.0479 不一致与 Vx0(-0.0273485)
Vy= 2.66496 不一致与 Vy0(-1.58621) 和其他记录相同。因此,d/t=speed=2.665396 不一致与 speed=3.5225。有什么建议或解决方案或澄清这个概念吗?

【问题讨论】:

    标签: omnet++


    【解决方案1】:

    你的车似乎在加速。

    如果我没听错的话,在你测量的两个时刻,SUMO 首先报告汽车的速度为 1.6 m/s,一秒钟后报告为 3.5 m/s。

    在我看来,您计算的距离(2.67 m)是合理的。您可能希望您的汽车行驶在 1.6 m 和 3.5 m 之间的某个地方,它确实如此。

    请注意,当您计算速度时,您将符号翻转到 y 方向:请记住 OMNeT++ 使用的坐标系是左上角的 (0,0)。

    【讨论】:

    • 感谢您的回答。这意味着 SUMO 报告的速度是瞬时速度,而不是上一个时间步的平均速度,对吧?一个相关问题:SUMO 是否会将汽车传感器中预期的噪声添加到报告的位置和速度测量值中?
    • SUMO 的默认汽车跟随模型使用离散运动,其中每辆车存储其从一个时间步长到下一个时间步长的瞬时位置和速度。例如,参见Stefan Krauß Dissertation 中的 Eq (6.1)。报告平均速度不会带来立竿见影的好处,因为它可以很容易地从位置样本中得出。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-27
    • 2018-09-23
    相关资源
    最近更新 更多