The Platooning Extension for Veins.

What's new in Plexe 2.0

  • Upgraded to latest software versions: Plexe-Veins is based on Veins 4.4 and supports the latest OMNeT++ 5.0 release. Plexe-SUMO has been upgraded to SUMO 0.26.0.
  • Programmable vehicle injection: You don't need to insert SUMO flows in SUMO config files anymore. Using a TrafficManager you can inject vehicles from Veins directly from your code. This way you can inject entire platoons directly at steady state instead of waiting for all vehicles to join the simulation and "speed up" to form the platoons. The examples in the tutorial section use this mechanism.
  • Detailed engine model: The new version comes with the classical First Order Lag model, as well as a new detailed engine model which accounts for engine power, gear ratios, aerodynamic characteristics of the vehicle, mass, etc. You can switch between the two depending on your needs. You can configure vehicles by setting parameters inside an XML file.
  • No sumo-launchd anymore: Plexe-Veins 2.0 inherits all the new Veins features, including a SUMO-Forker module. This means there is no need to start anymore before running your simulations.
  • Automated pre-processing scripts: To automatically and easily extract data from the simulations, Plexe now provides some scripts that can be configured by means of configuration files. Just tell the scripts what you want to extract, and you will find pre-processed .Rdata files ready to be used for your plots. See the github page of the project for detailed information.
  • New CACCs available: Plexe now comes with the CACCs proposed in [1], [2], and [3].
  • Platooning-related vehicle parameters in the GUI: In the Plexe-SUMO GUI, by right-clicking a vehicle and choosing Show vehicle parameters you will also see some platooning-related quantities such as control input (desired acceleration), current acceleration, and radar distance.
  • Multiplexing between beaconing protocols and applications: Differently from the previous version, now the BaseProtocol class can be connected to multiple applications. The applications register their interest in being notified about certain beacon types, so the network protocol will forward them those beacons. The idea is to separate different applications with different duties in your code, making it easier to keep it well-organized. For example, one application might take care of feeding the CACC with the data obtained from beacons, while another application might manage a maneuver. See the join maneuver tutorial for an example.
  • Track vehicles by search in Plexe-SUMO: In the Plexe-SUMO GUI, if you search for a vehicle and then click on Center, the GUI will center the view on the vehicle and automatically start tracking it.
  • Web-based tool for engine parameters verification and tuning: Given that the engine model has a lot of parameters and that it is difficult to verify if their values are correct, Plexe includes a web-based tool which loads vehicle parameters from the XML file and graphically shows the engine characteristics you would obtain with such parameters. You can then adjust those parameters and immediately see the outcome in the browser, for quick troubleshooting. Moreover, Plexe also provides a tool to translate the engine power curve taken from dyno measurements into a polynomial that it is used by the model to reproduce engine behavior.
  • Several bugfixes: Software improves with time (usually).
  • Windows support: Plexe can now be compiled in Windows as well, altough this is not recommended as a "production" solution.


  • Open: Plexe is Open Source, free to download, use, and modify, making it a valid tool for research
  • Realistic network and vehicle dynamics simulation: Plexe is based on Veins, meaning that users can exploit a fully detailed IEEE 802.11p and IEEE 1609.4 DSCR/WAVE network stack for realistic simulation of vehicular networks. Moreover, it extends SUMO by implementing several state-of-the-art cruise control models and realistic engine dynamics
  • Extensibility: Plexe is thought for researchers both in the control theory and in the vehicular networking fields. It is well documented and easy to extend, providing examples that show how to use and how to modify it
  • Large-scale and mixed scenarios: Being based on Veins, it is easy to generate and analyze large-scale scenarios, as well as mixed traffic. It is indeed possible to investigate platooning systems in the presence of human-driven vehicle, a necessary step toward the deployment of automated car-following systems


  • [1]: J. Ploeg, B. Scheepers, E. van Nunen, N. van de Wouv, and H. Nijmeijer, "Design and Experimental Evaluation of Cooperative Adaptive Cruise Control," Proceedings of IEEE International Conference on Intelligent Transportation Systems (ITSC 2011), Washington, DC, October 2011, pp. 260-265. [paper at]
  • [2]: R. Rajamani, H. S. Tan, B. K. Law, and W. B. Zhang "Demonstration of Integrated Longitudinal and Lateral Control for the Operation of Automated Vehicles in Platoons,," IEEE Transactions on Control Systems Technology, vol. 8 (4), pp. 695-708, July 2000. [paper at]
  • [3]: S. Santini, A. Salvi, A. S. Valente, A. Pescapè, M. Segata, and R. Lo Cigno, "A Consensus-based Approach for Platooning with Inter-Vehicular Communications," Proceedings of 34th IEEE Conference on Computer Communications (INFOCOM 2015), Hong Kong, China, April 2015, pp. 1158-1166. [paper at]