The Platooning Extension for Veins.
cookiecutter
. Simply launch the script and let cookiecutter
run the commands to download and build the code for you.bin
folder of Plexe, instead of having a copy of all of them in each of the analysis
folder inside the examples.UnicastProtocol
module that was placed between the 802.11p NIC and the BaseProtocol
module has been removed.JoinPositionHelper
for the join maneuver example). Now Plexe has a single position helper that initializes itself automatically by fetching information about platoons from a singleton class (DynamicPositionManager
) which, in turn, is populated by the traffic manager. Developers now just need to define their own traffic manager and inform the DynamicPositionManager
class about vehicles and platoons being generated. In addition, the new position helper is only initialized through the DynamicPositionManager
class. Then each vehicle has its own copy of the position manager, permitting to modify the information therein without affecting the others (e.g., changing the known formation through the setPlatoonFormation()
method).plexe_format_code
) and for running the simulations (plexe_run
, automatically generated at build time) have been moved to the bin
folder. The scripts can be added to the PATH
by using the setenv
script inside the root folder. Users can still use the old format-code.sh
and run
scripts in the root folder, but they are marked as deprecated.TraCIScenarioManagerForker
module of Veins to automatically start SUMO instead of using the veins_launchd
utility. Users that prefer veins_launchd
can now switch to it by simply setting *.useLaunchd = true
in their omnetpp.ini
file.master
branch is the new development branch, while releases are still marked using branches.clang-format
to automatically format the source files, using a configuration file provided with Plexe-Veins. Please see the FAQs to know how to automatically format your files to be Plexe-Veins code-style compliant..csv
format. See here for the documentation.examples/autolanechange
folder.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.XML
file.sumo-launchd.py
anymore before running your simulations..Rdata
files ready to be used for your plots. See the github page of the project for detailed information.Show vehicle parameters
you will also see some platooning-related quantities such as control input (desired acceleration), current acceleration, and radar distance.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.Center
, the GUI will center the view on the vehicle and automatically start tracking it.