0

I am using veins 5.1. I am trying use getCurrentPosition() function present in TraCIMobility. But it says there is no such function like that? How do I get the current position of a node?

My application source code:

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;

And I have defined mobility_veins in the header file as

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;
Nehal
  • 17
  • 4

1 Answers1

1

You can get the current position by:

 mobility->getPositionAt(simTime());
thardes2
  • 1,162
  • 12
  • 28
  • When I try getPositionAt(simTime());, the program abruplty stops. I have attached my application source code and header above. – Nehal Aug 11 '21 at 13:55