【问题标题】:Current position of a vehicle?车辆的当前位置?
【发布时间】:2021-10-14 15:59:53
【问题描述】:

我正在使用静脉 5.1。我正在尝试使用 TraCIMobility 中的 getCurrentPosition() 函数。但它说没有这样的功能?如何获取节点的当前位置?

我的应用程序源代码:

bool VeinsInetSampleApplication::startApplication()


if (getParentModule()->getIndex() == 0) {
    auto callback = [this]() {




        veins::TraCICommandInterface::Junction traciJunction = traci->junction("node4");
        veins::TraCICommandInterface::Junction traciJunction1 = traci->junction("node6");
        veins::Coord nodes1 = traciJunction.getPosition();
        veins::Coord nodes2 = traciJunction1.getPosition();
        veins::Coord veh_pos = mobility_veins->getPositionAt(simTime());
    
    };
    timerManager.create(veins::TimerSpecification(callback).interval(SimTime(6, SIMTIME_S)));
}

return true;

我已经在头文件中定义了mobility_veins

class VEINS_INET_API VeinsInetApplicationBase : public inet::ApplicationBase, public inet::UdpSocket::ICallback {
protected:
veins::VeinsInetMobility* mobility;
TraCIMobility* mobility_veins;
veins::TraCICommandInterface* traci;
veins::TraCICommandInterface::Vehicle* traciVehicle;
veins::TimerManager timerManager{this};

inet::L3Address destAddress;
const int portNumber = 9001;
inet::UdpSocket socket;

【问题讨论】:

    标签: omnet++ veins


    【解决方案1】:

    您可以通过以下方式获取当前位置:

     mobility->getPositionAt(simTime());
    

    【讨论】:

    • 当我尝试 getPositionAt(simTime()); 时,程序突然停止。我在上面附上了我的应用程序源代码和标题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-17
    相关资源
    最近更新 更多