Skip to content
/ tamva Public

Traffic-Aware Multi-View Video Stream Adaptation for Teleoperated Driving

License

Notifications You must be signed in to change notification settings

hofbi/tamva

Repository files navigation

Traffic-Aware Multi-View Video Stream Adaptation for Teleoperated Driving

Actions Status Actions Status Code style: black

Paper

If you use this work please cite our paper.

Traffic-Aware Multi-View Video Stream Adaptation for Teleoperated Driving, Markus Hofbauer, Christopher B. Kuhn, Mariem, Goran Petrovic, Eckehard Steinbach; VTC2022-Spring [PDF]

@inproceedings{hofbauer_2022,
    title = {Traffic-Aware Multi-View Video Stream Adaptation for Teleoperated Driving},
    booktitle = {2022 IEEE 95th Vehicular Technology Conference (VTC2022-Spring)},
    publisher = {IEEE},
    address = {Helsinki, Finland},
    author = {Hofbauer, Markus and Kuhn, Christopher B. and Khlifi, Mariem and Petrovic, Goran and Steinbach, Eckehard},
    month = {June},
    year = {2022},
    pages = {1--7},
}

Setup

This so far has been tested on

OS ROS Version
Ubuntu 20.04 Noetic
  1. Download CARLA
  2. Install ROS and catkin_tools
  3. Create a workspace with e.g. mkdir -p ~/catkin_ws_teleop/src && cd ~/catkin_ws_teleop/src
  4. Clone this repository into the workspace's src folder with git clone --recurse-submodules https://github.com/hofbi/tamva
  5. Run the install script: ./install.sh
  6. Build the workspace: catkin build
  7. Source your workspace source ~/catkin_ws_teleop/devel/setup.<your_shell>

Run

See the main module for running the application: view_adaptation

Development

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

pre-commit git hooks

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

Usage

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