omnet++ Simulation of VANETs using OMNeT++ and Artery Installation


Example

It is quite easy to install Artery on Linux based systems. You need to have a C++ Compiler with C++11 support as well as Boost and Vanetza libraries for building Artery. Also, you need one of Veins and INET. Of course, OMNeT++ and SUMO are also required.

Installing OMNeT++

  1. Download the OMNeT++ 5.0 archive (https://omnetpp.org/omnetpp).
  2. Extract the archive into a new folder.
  3. Type ./configure and after this type make.
  4. Add your path/to/OMNeT/build directory into your PATH environment variable.
  5. Make sure your installation works by typing omnetpp. It is expected that the OMNeT++ development environment starts.
  6. Further installing instructions can be found at https://omnetpp.org/doc/omnetpp/InstallGuide.pdf.

Installing SUMO

  1. For installing SUMO, first download the latest release (it can be found at http://www.sumo.dlr.de/userdoc/Downloads.html). It is not recommended to use the SUMO version shipped with Ubuntu or Debian system, because these versions are rather old.
  2. Extract the downloaded files.
  3. After this you have to build your SUMO version. Make sure that you have the packet libproj-dev (on Debian or Ubuntu) installed.
  4. Navigate to the directory, where you have extracted SUMO.
  5. Type: ./configure. After the configuring was done, take a look at the Optional features summary, which was printed at the end. It has to include the entry PROJ in theEnabled: list. This feature needs the above mentioned libproj-dev and enables SUMO to provide geographic coordinates for each vehicle. Without this feature, the simulation will stop at run-time because of invalid coordinates.
  6. Type: make to build SUMO in the ./build directory.
  7. Add path/to/your/sumo-version/build to your PATH environment variable.
  8. Verify your installation by typing sumo-gui.
  9. Further information on installing SUMO can be found at http://www.sumo.dlr.de/userdoc/Installing.html

Installing Artery

To install Artery, you need to have Vanetza, Veins and Inet. For the ease of installing, the Artery repository contains all these frameworks as sub-repository links. This ensures, that only compatible versions of *INET, Veins, and Vanetza are used with Artery.

  1. Pull the Artery repository from https://github.com/riebl/artery
  2. To build Vanetza, make sure you are in the root directory and type make vanetza. Vanetza will now be built in extern/vanetza/build
  3. To build Inet, make sure you are in the root directory of Artery and type make inet. Inet will now be built.
  4. To build Veins make sure you are in the root directory of Artery and type make veins. Veins will now be built in extern/veins/build
  5. To build Artery, make sure you are in the root directory again. Type mkdir build.
  6. Type cd build
  7. Type cmake ..
  8. Type cmake --build

Further information about building the above mentioned tools can be found at the following sources. This may be useful in case of an error.

  1. Vanetza: https://github.com/riebl/vanetza
  2. Artery: https://github.com/riebl/artery
  3. Inet: https://github.com/riebl/artery/blob/master/extern/inet/INSTALL
  4. Veins: http://veins.car2x.org/

Congrats, now you have all prerequisites to move forward and try to launch the first Artery example. How this is done is explained in the next section!