Omnet++ 如何获得准确的车速?

Omnet++ 如何获得准确的车速?,omnet++,veins,inet,Omnet++,Veins,Inet,我对INET子项目中存在的网络场景进行了一些修改,以便在INET框架中运行GPSR协议 问题是任何车辆的当前速度(移动->getCurrentSpeed)在(0和1或-1)之间变化,并且最大速度始终为=nan 所使用的移动性类型为inet移动性 以下是节点[1]在不同时间间隔的当前速度的一些结果: ** Event #177 t=13.778533849167 Scenario.node[1].networkLayer.ip (IPv4, id=107) on ping1 (inet::I

我对INET子项目中存在的网络场景进行了一些修改,以便在INET框架中运行GPSR协议

问题是任何车辆的当前速度(移动->getCurrentSpeed)在(0和1或-1)之间变化,并且最大速度始终为=nan

所使用的移动性类型为inet移动性

以下是节点[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-如何获得sumo中提到的车辆实际速度(m/s)


最后,我使用的是即时血管-4.7.1

谢谢!这似乎是Velse4.7.1中的一个bug(
mobility->getCurrentSpeed()
应该返回主机当前在x/y/z方向上每秒移动的米数)-在Velse4.7.1中,它会报告标准化为单位向量的值

要修复代码库中的错误,下面的补丁应该足够了。如果是,请告诉我:


我根据您的链接修改了代码,问题已经解决。结果包含实际速度值,而不是标准化速度值。非常感谢。