【发布时间】:2018-04-17 11:18:04
【问题描述】:
我正在使用 Veins 4.6、Sumo 0.25 和 Omnet++ 5.2。我需要在给定时间获取两辆车(节点)的坐标,以计算它们之间的距离。
我尝试在函数 handlePositionUpdate() 中修改 TraCIDemo11p.cc 文件。问题是当veh0返回它的坐标的同时有veh1发送的坐标非常小。
如何在给定时间获取两辆车的位置并找到它们之间的距离?
void TraCIDemo11p :: handlePositionUpdate(cObject* obj) {
BaseWaveApplLayer::handlePositionUpdate(obj);
// Get vehicle ID
std::string vehID = mobility->getExternalId().c_str();
// Get coordinates of first vehicle
if (vehID == "veh0"){
firstVehX = mobility->getCurrentPosition().x;
firstVehY = mobility->getCurrentPosition().y;
firstVehZ = mobility->getCurrentPosition().z;
calculateDistance(vehID, firstVehX, firstVehY,firstVehZ);
}
//Get coordinates of second vehicle
if (vehID == "veh1"){
secondVehX = mobility->getCurrentPosition().x;
secondVehY = mobility->getCurrentPosition().y;
secondVehZ = mobility->getCurrentPosition().z;
calculateDistance(vehID, secondVehX, secondVehY, secondVehZ);
}
}
【问题讨论】: