Giter Site home page Giter Site logo

carla-bike-simulator-tools's Introduction

CARLA Bike Simulator Tools

This project contains code and Unreal Engine assets for using CARLA as a bicycle simulator.

The folowing folder structure is used:

  • ./
    • {CARLA_VERSION}
      • Scripts
      • UE Assets
    • ...

In order to run the scripts, they need to be able to locate the carla python module. This can be ensured in one of two ways:

  • Copy the scripts to the folder {CARLA_ROOT}/PythonAPI/examples, or
  • Install the carla package (corresponding to the correct CARLA version) in the python environment being used

Project Info

Initial code written as part of the Master's Thesis of Paul Pabst at the Chair of Traffic Engineering and Control at the Technical University of Munich (TUM).

Code maintained by the Chair of Traffic Engineering and Control at TUM.

carla-bike-simulator-tools's People

Contributors

aboozarroosta avatar johannes-lindner avatar keler-andreas avatar patmalcolm91 avatar

Stargazers

 avatar

Watchers

 avatar  avatar

carla-bike-simulator-tools's Issues

Implement TLS synchronization

Write a script that controls Carla traffic lights based on Sumo TLS states. Most likely will need to use similar approach to in existing DYNA4 simulator, where a mapping is manually specified between Sumo TLS phases and Carla signal heads.

Improve performance of pygame displays

Current performance of pygame window(s) is very poor.

According to pygame docs and forum posts, this is due to the window not being rendered with hardware acceleration, even though the HWSURFACE flag is set, because this flag only has an effect when in full-screen mode (FULLSCREEN flag). Testing this by setting the FULLSCREEN flag confirms this. The code needs to be re-factored (if possible) to set FULLSCREEN on all windows, but in order to do this on a multi-monitor setup, the "active" display has to first be set. This might be possible by setting an SDL environment variable prior to creating the window, or possibly by using xrandr in the bash script.

Fix image quality in pygame windows

Quality of image (even at same resolution) is much worse in a pygame window (simulator script windows) compared to the native CARLA window.

Modularize code

Split different functionality into different scripts. This should make maintaining and updating the scripts for new versions of CARLA much easier.

Main Goals:

  • Remove all extra functionality from main script. This should only contain camera/rendering, sensor communication, dynamics model (possibly via imported external module), and simple HUD (for on-screen instructions, for example).
  • Move vehicle engine and control logic to separate module (so it can possibly be replaced in the future) - addressed by 0e5c0fe
  • Create a debugging / settings script to allow changing world parameters (weather, etc.), override vehicle controls, pause simulation, record, and so on.

Implement custom HUD for info graphics

Needs to handle:

  • Communication (receive messages from control script).
    • is there a way to accomplish this without using a UDP side channel?
  • Display (show the messages on screen)

Handle suffixes on SUMO vType IDs

When defining vehicle types, sometimes the same model must be used, but with different parameters. Therefore, SUMO vType IDs should be able to have a suffix which is ignored when mapping it to a CARLA blueprint.

When changing vehicle parameters via TraCI, the "@" character is used as a separator, so this is a logical choice. Change(s) should be made in bridge_helper.py in the carla source code (outside this repo).

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.