TELECARLA is an extension of the CARLA simulator for teleoperated driving. We use GStreamer for compression and transmission of camera data. ROS acts as interface between our framework and CARLA.
If you use TELECARLA please cite our paper.
TELECARLA: An Open Source Extension of the CARLA Simulator for Teleoperated Driving Research Using Off-the-Shelf Components, Markus Hofbauer, Christopher B. Kuhn, Goran Petrovic, Eckehard Steinbach; IV 2020 [PDF]
@inproceedings{hofbauer_2020,
title = {TELECARLA: An Open Source Extension of the CARLA Simulator for Teleoperated Driving Research Using Off-the-Shelf Components},
booktitle = {31st IEEE Intelligent Vehicles Symposium 2020 (IV)},
publisher = {IEEE},
address = {Las Vegas, NV, USA},
author = {Hofbauer, Markus and Kuhn, Christopher B. and Petrovic, Goran and Steinbach, Eckehard},
month = {Oct},
year = {2020},
pages = {1--6},
}
TELECARLA so far has been tested on
OS | ROS Version |
---|---|
Ubuntu 18.04 | Melodic |
Ubuntu 20.04 | Noetic |
- Download CARLA
- Install ROS and catkin_tools
- Create a workspace with e.g.
mkdir -p ~/catkin_ws_teleop/src && cd ~/catkin_ws_teleop/src
- Clone this repository into the workspace's
src
folder withgit clone https://github.com/hofbi/telecarla.git
- Run the install script:
./install.sh
- Build the workspace:
catkin build
- Source your workspace
source ~/catkin_ws_teleop/devel/setup.<your_shell>
See the main module for running the application: telecarla
To install the additional tools required for the development, call
python3 -m pip install -r requirements.txt
sudo apt install -y clang-format clang-tidy-10
sudo snap install shfmt
We use pre-commit to manage our git pre-commit hooks.
pre-commit
is automatically installed from requirements.txt
.
To set it up, call
git config --unset-all core.hooksPath # may fail if you don't have any hooks set, but that's ok
pre-commit install --overwrite
With pre-commit
, you don't use your linters/formatters directly anymore, but through pre-commit
:
pre-commit run --file path/to/file1.cpp tools/second_file.py # run on specific file(s)
pre-commit run --all-files # run on all files tracked by git
pre-commit run --from-ref origin/master --to-ref HEAD # run on all files changed on current branch, compared to master
pre-commit run <hook_id> --file <path_to_file> # run specific hook on specific file