tkn-tub / veins-gym

Reinforcement Learning-based VANET simulations
https://www2.tkn.tu-berlin.de/software/veins-gym/
GNU General Public License v2.0
53 stars 8 forks source link

How to integrate Veins-Gym into an OMNeT++ Project? #1

Closed stamourb closed 2 years ago

stamourb commented 2 years ago

I've installed Veins-Gym and have run the sample program for the serpentine model, but now I'm looking to use Veins-Gym with a different project (which includes several .cc files that collect data I'd like to use within the reinforcement learning) and run the simulation during the reinforcement learning process.

I haven't found any detailed instructions on how to do so in the serpentine project or in the Veins-Gym files; there's a Jupyter notebook file within the serpentine project that goes through it, but when it talks about the scenario there's a line saying "See TODO: add link to other tutorial here to find out how to write your own." I was wondering if there's supposed to be a link with instructions there or anywhere else that I've missed or if anyone would be able to give an explanation on how to integrate Veins-Gym with another project and use current simulation data from that project's files during the reinforcement learning. Thank you!

dbuse commented 2 years ago

Hi @stamourb, Sadly, there is not yet a tutorial on how to set up your own scenario. Starting with the serpentine-env is a great idea, though. It showcases how simulation code (multiplexing between two communication technologies) and the gym-bridge to access an agent through reinforcement learning can go together. It also shows how additional extensions to veins, like veins-vlc, can be embedded. Similarly, you should be able to set up your own environment in a similar manner. You can copy over or re-write the GymConnection and use it to make calls from the simulation to your agent in order to provide observations and request actions. I hope this helps you to get started!

dbuse commented 2 years ago

I've written up some details on how to build your own environment now, it is available here: https://github.com/tkn-tub/veins-gym/blob/master/doc/getting_started.md