车辆状态的速度和位置在 Veins、omnet++ 和 sumo 中不合理
speed and position of vehicular status are not consistent reasonably in Veins,omnet++ and sumo
使用: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 Speed=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
我使用以下代码在从 RSU 的 onBeacon 方法检索到的车辆节点中的 WSM 中设置属性:
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 So,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不一致。任何建议或解决方案或澄清这个概念?
你的车好像在加速。
如果我没理解错的话,在你测量的两个时刻,SUMO 报告车速首先为 1.6 m/s,一秒后为 3.5 m/s。
在我看来,您计算的距离(2.67 m)是合理的。您希望您的汽车行驶在 1.6 m 和 3.5 m 之间的某个地方,它确实如此。
请注意,当您计算速度时,您在 y 方向翻转了符号:请记住 OMNeT++ 使用坐标系,其中 (0,0) 是左上角。
使用: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 Speed=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
我使用以下代码在从 RSU 的 onBeacon 方法检索到的车辆节点中的 WSM 中设置属性:
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 So,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不一致。任何建议或解决方案或澄清这个概念?
你的车好像在加速。
如果我没理解错的话,在你测量的两个时刻,SUMO 报告车速首先为 1.6 m/s,一秒后为 3.5 m/s。
在我看来,您计算的距离(2.67 m)是合理的。您希望您的汽车行驶在 1.6 m 和 3.5 m 之间的某个地方,它确实如此。
请注意,当您计算速度时,您在 y 方向翻转了符号:请记住 OMNeT++ 使用坐标系,其中 (0,0) 是左上角。