如何获得准确的车速?
How to get the accurate vehicle speed?
我在veins-inet子项目存在的网络场景下对INET框架中的运行GPSR协议做了一些修改
问题是任何车辆的当前速度 (mobility->getCurrentSpeed) 在(零和 1 或 -1 之间变化)并且最大速度总是 = nan。
使用的移动类型是 veins-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-如何获得相扑中提到的(m/s)车辆的实际速度?
最后,我用的是instant veins-4.7.1
谢谢!这似乎是 Veins 4.7.1 中的错误(mobility->getCurrentSpeed()
应该 return 主机当前在 x/y/z 方向上每秒移动多少米)- 在 Veins 4.7.1 中,它而是报告标准化为单位向量的值。
要修复代码库中的错误,以下补丁应该足够了。如果是,请告诉我:
https://github.com/sommer/veins/commit/58333692f93c6ebe5597c663421c19abd8fa06dd
我在veins-inet子项目存在的网络场景下对INET框架中的运行GPSR协议做了一些修改
问题是任何车辆的当前速度 (mobility->getCurrentSpeed) 在(零和 1 或 -1 之间变化)并且最大速度总是 = nan。
使用的移动类型是 veins-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-如何获得相扑中提到的(m/s)车辆的实际速度?
最后,我用的是instant veins-4.7.1
谢谢!这似乎是 Veins 4.7.1 中的错误(mobility->getCurrentSpeed()
应该 return 主机当前在 x/y/z 方向上每秒移动多少米)- 在 Veins 4.7.1 中,它而是报告标准化为单位向量的值。
要修复代码库中的错误,以下补丁应该足够了。如果是,请告诉我:
https://github.com/sommer/veins/commit/58333692f93c6ebe5597c663421c19abd8fa06dd