Coder Social home page Coder Social logo

hofbi / telecarla Goto Github PK

View Code? Open in Web Editor NEW
44.0 4.0 13.0 851 KB

TELECARLA: An Open Source Extension of the CARLA Simulator for Teleoperated Driving Research Using Off-the-Shelf Components

License: MIT License

Makefile 0.03% CMake 15.88% Python 26.42% Shell 4.36% C++ 52.54% Dockerfile 0.78%
carla-simulator teleoperation gstreamer ros carla-driving-simulator telecarla

telecarla's Introduction

TELECARLA

Actions Status Actions Status pre-commit.ci status Code style: black

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.

TELECARLA

Paper

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},
}

Setup

TELECARLA so far has been tested on

OS ROS Version
Ubuntu 18.04 Melodic
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 https://github.com/hofbi/telecarla.git
  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: telecarla

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

telecarla's People

Contributors

cbachhuber avatar hofbi avatar pre-commit-ci[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

telecarla's Issues

Sync CARLA with wall-time

I'm glad to find the study about remote driving.

I am also conducting a remote driving experiment in an environment using CARLA.

Meanwhile, I found that the CARLA uses its own time frame, and proceeds separately from the wall clock.

By default, the 'rostopic hz' command refers to the /clock topic by the use_sim_time parameter, so ROS users can easily miss understanding the time.

As a result of comparing the real-world time(use rostopic hz --wall-time), the simulation was faster or slower(depending on computational speed). (run about 40fps on 30fps setup)

It's not a big deal for the general CARLA community because they are not a human-in-the-loop system, but problems can occur with remote driving.

Is there any setting for these things in TELECARLA?

Resource not found: carla_ros_bridge

Hi,

I am kind of a newbie on ROS while running locally (roslaunch telecarla telecarla_single_local.launch) I get the following..

Resource not found: carla_ros_bridge
ROS path [0]=/opt/ros/melodic/share/ros
ROS path [1]=/home/subhojeet/Scratch/catkin_ws_teleop/src/telecarla/gstreaming
ROS path [2]=/home/subhojeet/Scratch/catkin_ws_teleop/src/telecarla/telecarla
ROS path [3]=/home/subhojeet/Scratch/catkin_ws_teleop/src/telecarla/telecarla_manual_control
ROS path [4]=/home/subhojeet/Scratch/catkin_ws_teleop/src/telecarla/telecarla_msgs
ROS path [5]=/home/subhojeet/Scratch/catkin_ws_teleop/src/telecarla/telecarla_gui
ROS path [6]=/home/subhojeet/Scratch/catkin_ws_teleop/src/telecarla/telecarla_rpc
ROS path [7]=/opt/ros/melodic/share
The traceback for the exception was written to the log file

Now I have installed the carla-ros-bridge following instructions at https://github.com/carla-simulator/ros-bridge but I suspect this may be a ROS_PACKAGE_PATH issue. I can't seem to update that path either from `/.bashrc.

Has the TELECARLA team faced this issue previously? If so, any help is really appreciated.

Failed "catkin build"

I am trying to install TELECARLA and I am running into these errors when running the "catkin build" command. It is unable to complete the build jobs for telecarla_gui and gstreaming. I am on Linux 20.04 and am using ROS Noetic.

I have attached the relative log files and appreciate any help with the issue
build.make.000.log
build.make.000.log
!

no camera image teleop gui from the client side

Helloo,
i run "roslaunch telecarla telecarla_single_local.launch" and the teleop gui open normally.Nevertheless,when i run "roslaunch telecarla telecarla_single_client.launch host:=<server_ip>" teleop gui opens without camera image,only a black window.I check the rostopic list and client topics exist.I see the sensors config and its ok after your update but the client teleop gui dont work correctly.Ty

Server-side memory leak

Discussed in #29

Originally posted by phikre February 4, 2022
Hi,

I just started using your framework on a single PC with the single_client and single_server. Carla version is 0.9.12, GStreamer 1.14.5., ROS Melodic.

I observed that the memory utilization will continuously rise until Ubuntu crashes. This happens after ~ 6 min simulation time, with multi-camera setup correspondingly faster. With only the server running, everything is fine, which is why I conclude that the leak is somewhere on the client side.

As this seems quite fundamental, is this a known issue and is there a fix?

Thanks a lot,
Philipp

Telecarla Installation

Hello and thank you for making this awesome tool for interacting with CARLA. I am very new to CARLA and ROS and was wondering if you could point me in the right direction with installing telecarla.

from my understand these are the steps i need to follow:

step1 .Download version of Carla you want (9.10.1 tar.gz)

  • we install the version of Carla as well?

step2 install ROS and catkin_tools

  • pretty straight forward for me (add keys and apt install both packages)

step3 create workspace

  • straight forward (make directory and change into the directory

step4 Clone Repo

step5 run install script (does it need to be root/sudo?

step6 source workspace


Running telecarla

I understand we installed and setup carla along with the telecarla extension. do we need to install the same packages on the remote client (say another ubuntu 18.04) or just the telecarla gui that interact with the telecarla server?

Sorry again if I'm not understanding the way telecarla is built.

Thanks again!

No camera image

Hi,
First I had the same problem as seen here #6, catkin make instead of catkin build solved the issue, or inserting the package in exiting ROS-bridge workspace also worked.
Now the problem is that when i roslaunch telecarla telecarla_single_local.launch or any other launch file, I get no camera image back. (telecarla_manual_control, pygame hud is opened all the text is here but no image form camera). There is no error being shown, everything looks normal. ROS-bridge works fine. Any hint where to look for the possible problem, would be great.

Best regards

Using:
Kubuntu 18.04
Carla 9.10.1
python2

Question- How is near-real time streaming achieved?

Hello,
Thank you for the great work!
I wanted to clarify the following points-
1.In the paper it is mentioned that by using a data-compressed streaming pipeline for video,you are able to transmit the video at 20fps.Does this apply to single camera or is it that all 6 cameras are able to transmit simultaneously at 20 fps?

2.Since ROS cannot transmit data over different networks,is this also one of the reasons for choosing gstreamer so that you can connect the remote driver to a network A and vehicle to network B?

Let me know your thoughts on this.
Thanks in advance.

[info] Incorporating Artifical Delay

Hi,

Thank you for a great repo! Sorry to make an issue, but I was wondering how I could go about incorporating artificial video / input delay on a local teleop simulation.

Would the best place be around here?

Thank you!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.