(I am not supporting this repo anymore. It was used for thesis 2 years ago)
This repo is an example of scenario using veinsgym tool
If you already have veinsgym, gym, omnet, protobuf and their dependencies installed, just import this project to omnet and it may work just fine. You can also simply start the venv you use to run the python scripts and run TrivialRL.
If you aren't familiar with all above, try the following steps (that are guided to linux/ubuntu, so you may need to adapt to your system):
To run this project, it is needed to:
Install omnetpp dependencies
Install omnet++
Download INET
Download Veins
Import INET and Veins to omnet++ (using gui, right click in Project Explorer > import).
Build INET and Veins (Right Click each > Build Configurations > Build Selected).
Download or clone this Project.
Import this project to omnet.
If not Project Referenced, right click the project, then Properties > Projects Reference > INET + Veins.
Install ZMQ and Protobuf dependencies:
Go to the project, Properties > Omnet++ > Makemake > click src:makemake(deep, recursive) and Build > Options, then: 11.1 At Compile tab, check all. 11.2 At Link tab > additional libraries > add "zmq" and "protobuf". 11.3 At Custom tab add: MSGC:=$(MSGC) --msg6
Build the project
Go to agent dir, start a new venv, activate it and pip install gym and veinsgym
Now it is ready to be used by AI Agent.
You may want to recompile/rebuild if not working with the binaries here.
You will want to run either noconnection config or MultipleGymsOne config. MultipleGyms is a postponed idea. Make sure to put 5555 port at TrivialRL if you will try General config.
Extra:
Attention that there is no snakemake or similar, so it must be compiled using omnet IDE for now.