如何获得准确的车速?

时间:2019-09-12 20:00:11

标签: omnet++ veins inet

我对存在于静脉内子项目中的网络方案进行了一些修改,以在INET框架中运行GPSR协议。

问题在于,任何车辆的当前速度(mobility-> getCurrentSpeed)在(零和1或-1)之间变化,并且最大速度始终为nan。

使用的活动性类型是静脉内活动性。

以下是在不同时间间隔节点[1]的当前速度的一些结果:

** Event #177  t=13.778533849167  Scenario.node[1].networkLayer.ip (IPv4, id=107)  on ping1 (inet::ICMPMessage, id=134)
INFO (GPSR)Scenario.node[1].gpsr: Scenario.node[1].gpsr: self position= (120.706, 129.627, 0)
INFO (GPSR)Scenario.node[1].gpsr: Scenario.node[1].gpsr: self speed= (0.99343, -0.11444, 0)

* Event #240  t=16.778533849167  Scenario.node[1].networkLayer.ip (IPv4, id=107)  on ping4 (inet::ICMPMessage, id=192)
INFO (GPSR)Scenario.node[1].gpsr: Scenario.node[1].gpsr: self position= (129.95, 90.9386, 0)
INFO (GPSR)Scenario.node[1].gpsr: Scenario.node[1].gpsr: self speed= (6.12323e-17, -1, 0)

** Event #317  t=20.778533849167  Scenario.node[1].networkLayer.ip (IPv4, id=107)  on ping8 (inet::ICMPMessage, id=258)
INFO (GPSR)Scenario.node[1].gpsr: Scenario.node[1].gpsr: self position= (129.95, 35.6802, 0)
INFO (GPSR)Scenario.node[1].gpsr: Scenario.node[1].gpsr: self speed= (6.12323e-17, -1, 0)

所以,我有两个问题:
1-结果中提到哪种速度。是速度吗?
2-如何获得相扑中提到的车辆的实际速度(m / s)?

最后,我正在使用即时静脉4.7.1

1 个答案:

答案 0 :(得分:1)

谢谢!这似乎是Veins 4.7.1中的错误({mobility->getCurrentSpeed()应该返回主机当前正在移动的x / y / z方向每秒多少米)-在Veins 4.7.1中,它报告值归一化为单位向量。

要修复代码库中的错误,以下修补程序就足够了。请让我知道是否是

https://github.com/sommer/veins/commit/58333692f93c6ebe5597c663421c19abd8fa06dd