3

To launch any veins simulation veins_launchd daemon is used. It basically takes the sumo config file, finds an unused port, starts sumo and bridges the connection between sumo and OMNet++. Now as this is a socket-based communication, I want to connect a separate TraCI script(written in python) and hopefully retrieve the simulation data and maybe control some vehicles through it. Is there anything that I'm missing here? From what I understand it is possible to connect with multiple clients(as done in the Sumo-TraCI connection), but I'm not sure how to proceed here. I believe modifying the veins_launchd daemon can be a solution. It'll be very helpful if anyone working on this can give some insights.

1 Answers1

1

You are correct: Veins 5.1 contains veins_launchd, a convenience script that launches one SUMO instance for every client that connects to it.

You are also correct that this is not what you want to use if multiple clients are supposed to connect to a single SUMO instance (veins_launchd would spawn two instances of SUMO for the two clients connecting to it).

One possible way forward would be to modify veins_launchd to accept two clients for every SUMO instance.

Another would be to use Veins 5.1 without veins_launchd, by basing your simulations not on TraCIScenarioManagerLaunchd but on TraCIScenarioManager. This module connects directly to SUMO, so you have full control of when and how to launch SUMO -- but, of course, before running a simulation you will have to launch SUMO yourself.

Christoph Sommer
  • 6,893
  • 1
  • 17
  • 35