This is the main readme of the ROS Simulation Framework CoInCar-Sim, developed jointly within the Priority Program 1835 "Cooperatively Interacting Automobiles" of the German Science Foundation (DFG) and within the TechCenter A-Drive funded by the state of Baden-Württemberg.
The motivation and concept is explained in our publication [DOI] and these slides.
Installation requires Linux as operating system. The framework is developed and tested under Ubuntu 18.04.
In order to use the framework, you need to install the following packages (installable via apt install
)
- ROS (see http://wiki.ros.org/ROS/Installation)
ros-melodic-desktop-full
ros-melodic-tf2-geometry-msgs
- Catkin tools, wstool and rosdep
python-catkin-tools
(http://catkin-tools.readthedocs.io/en/latest/index.html)python-wstool
(http://wiki.ros.org/wstool)python-rosdep
- System Libraries
libgeographic-dev
(for lanelet2)libpugixml-dev
(for lanelet2)qt5-default
- boost, boost-python and eigen are installed with ROS
This section describes the installation of the framework, assuming the prerequisites have already been installed.
For the full installation starting at a clean Ubuntu 18.04, have a look at how Travis does it in about 15 minutes:
- open a terminal
- source ROS
source /opt/ros/melodic/setup.bash
- you might want to add this to your
.bashrc
- navigate to the folder where you want to place the framework
- execute the script
desired_folder$ bash <(wget -qO- https://raw.githubusercontent.com/coincar-sim/coincarsim_getting_started/release/setup_workspace.sh)
- this creates a catkin workspace and downloads all source dependencies as defined in
simulation_framework_latest.rosinstall
- download the desired
*.rosinstall
file from the folderws_config
(or clone this repo)- this config file contains the url of all source dependencies for their automated download in step 3
- recommended: use
simulation_framework_latest.rosinstall
- also download the script and do the above steps by starting
$ ./setup_workspace.sh simulation_framework_latest.rosinstall
- download the desired
*.rosinstall
file from the folderws_config
(or clone this repo)- this config file contains the url of all source dependencies for their automated download in step 3
- recommended: use
simulation_framework_latest.rosinstall
- set up a catkin workspace from the
*.rosinstall
file you just downloaded$ mkdir catkin_ws && cd catkin_ws
catkin_ws$ wstool init src PATH_TO_ROSINSTALL_FILE.rosinstall
- build the workspace
catkin_ws$ catkin build
- source the build-files
catkin_ws$ source devel/setup.bash
- source the build-files
catkin_ws$ source devel/setup.bash
- start the simulation framework by launching the main launchfile:
catkin_ws$ roslaunch simulation_initialization_ros_tool _whole_framework.launch
- see the Readme of simulation_initialization_ros_tool for details about how the parts of the framework are launched
- as further described in FIRST_STEPS.md
- fork simulation_initialization_ros_tool and modify the launchfiles/settings/workspace config to simulate (parts of) your vehicle
- fork other components or create new vehicles to modify and/or extend the functionality
- if you did choose the latest version, you can update it with
catkin_ws$ wstool update
- June 2020: xenial support has been dropped in
rosinterface_handler
with this commit, so it is also dropped here; as a temporary solution, you might work with an old commit ofrosinterface_handler
See the respective packages for license issues.
If you are using CoInCar-Sim for scientific research, we would be pleased if you would cite our publication [DOI]:
@inproceedings{Naumann2018CoInCarSim,
title = {{C}o{I}n{C}ar-{S}im: An Open-Source Simulation Framework for Cooperatively Interacting Automobiles},
author = {M. {Naumann} and F. {Poggenhans} and M. {Lauer} and C. {Stiller}},
booktitle = {Proc. IEEE Int. Conf. Intelligent Vehicles},
year = {2018},
address = {Changshu, China},
month = {June},
pages = {1879--1884},
doi = {10.1109/IVS.2018.8500405}
}