如何获取静脉中的RSU节点坐标?
How to get RSU node coordinates in veins?
我在模拟环境中使用Veins 5.0
。
目前有 4 个 RSU 节点正在使用中。 omnetpp.ini
代码如下:
omnetpp.ini
*.fRSU[0].mobility.x = 125
*.fRSU[0].mobility.y = 125
*.fRSU[0].mobility.z = 3
...
这里是 RSU 的 C++ 代码:
fRSUBehavior.cc
posX = check_and_cast<BaseMobility*>(getSimulation() -> getModuleByPath("fRSU[0].mobility.x")) -> getPositionAt(simTime()).x;
posY = check_and_cast<BaseMobility*>(getSimulation() -> getModuleByPath("fRSU[0].mobility.y")) -> getPositionAt(simTime()).y;
EV << "X: " << posX << " Y: " << posY << std::endl;
在此文件中,我想获取该节点的位置。但是,日志输出的值始终定义为0。
我该如何修改代码?
getModuleByPath("fRSU[0].mobility.x"))
不太可能起作用。模块名很可能是fRSU[0].mobility
,即不包含参数名。 getModuleByPath
returns 很可能是一个 Null 指针,并且偶然地,您的程序不会崩溃,但您正在读取一些合理的值。
我在模拟环境中使用Veins 5.0
。
目前有 4 个 RSU 节点正在使用中。 omnetpp.ini
代码如下:
omnetpp.ini
*.fRSU[0].mobility.x = 125
*.fRSU[0].mobility.y = 125
*.fRSU[0].mobility.z = 3
...
这里是 RSU 的 C++ 代码:
fRSUBehavior.cc
posX = check_and_cast<BaseMobility*>(getSimulation() -> getModuleByPath("fRSU[0].mobility.x")) -> getPositionAt(simTime()).x;
posY = check_and_cast<BaseMobility*>(getSimulation() -> getModuleByPath("fRSU[0].mobility.y")) -> getPositionAt(simTime()).y;
EV << "X: " << posX << " Y: " << posY << std::endl;
在此文件中,我想获取该节点的位置。但是,日志输出的值始终定义为0。
我该如何修改代码?
getModuleByPath("fRSU[0].mobility.x"))
不太可能起作用。模块名很可能是fRSU[0].mobility
,即不包含参数名。 getModuleByPath
returns 很可能是一个 Null 指针,并且偶然地,您的程序不会崩溃,但您正在读取一些合理的值。