Multi-vehicle Simulation Framework
The development of cooperative vehicle systems is a complex task, which involves a complex logistics to perform field tests. The availability of multiple vehicles equipped with sensors, communication systems, and an adequate and safe space for experiments makes the testing of hardware and software a very hard task. It is also very time consuming to setup all these elements and perform field tests. The risk of damage in the case of autonomous system is also an important issue to be taken to account in the preliminary stage of development.
Simulation tools can be a convenient option for cooperative vehicular systems development. Realistic physical simulation of vehicles, sensors, and complex environment can be created in order to reduce time and costs of field tests. Also Network communication simulation can test protocols and effects of physical characteristics of wireless networks that emulate the data exchange between moving vehicles.
Our group developed a framework for cooperative vehicle systems evaluation based on preceding communication topology. It combines a realistic robotic simulator with a Wireless Access in Vehicular Environments (WAVE) simulator, which allows data exchange between the robotic/vehicular simulator and a software middleware for control.
To perform multi-robot real-time physics simulation, we used MORSE simulator, which allow us to customize or build new robots and sensors. Taking advantage of this characteristics we developed a robot platform based on the CaRINA 2 experimental platform. Dynamic characteristics of the real vehicle (acceleration, braking, and steering speed) have been used as reference for a faithful simulation of the vehicle behavior.
In order to simulate the communication among vehicles we used NS-3 simulator. Based on its structure, we created an application that allows us to simulate a Preceding Communication Topology for a V2V network. The structure consists of nodes for vehicular network composed of a physical layer for wifi 802.11p (i.e., Wireless Access in Vehicular Environments (WAVE)). Each nodes has a MAC layer and a a definition of the hardware physical properties, which in this case we choose Network Mobility for a better wireless network simulation. We can assign a IP address for each vehicle and the communication is based on UDP, used for send data packages among nodes.
ROS (Robot Operating System) has been our choice for process message passing tool (middleware) due to the fact that CaRINA 2 control software is based on ROS framework, and thus, a software evaluated on the simulator can be directly executed in the on-board computers of the real vehicle. It is also important to mention that our simulation framework does not depend on ROS. It can be used with any other software capable of exchanging data using socket communication.
Besides simulating autonomous vehicles, it is also possible to manually control vehicles in the same scenario. This allows a very interactive environment that can be used in driver assistance applications.
We have plans to make our simulation framework available in our repository in the future. In this mean time, if you are interested in using it to do research or to contribute to its development, feel free to contact us.