Skip to content

b-tok/SimLucy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SimLucy — digital twin of the HM test vehicle in CARLA

Couples the CARLA simulator with the Autoware autonomous-driving stack over a ROS 2 bridge, so the Intelligent Vehicle Lab's test vehicle can be developed and tested in simulation instead of on the road. Contains the Autoware sensor kit and vehicle model plus the CARLA-side Python scripts.

M.Sc. Projekt Angewandte Forschung 2, Intelligent Vehicle Lab, Hochschule München. Boris Tokic, supervised by Prof. Dr. Fabian Flohr, 2024. Full report: docs/Ausarbeitung.pdf (German).

License: LGPL v3

simlucy_demo.mp4

Overview

CARLA (Unreal Engine 4) provides the world, Autoware runs the autonomy. They don't talk directly, so a bridge sits between them: the existing Carla-Bridge (a TCP/IP client to the CARLA server) and the Autoware-Bridge, which remaps Autoware's control commands onto the Carla-Bridge topics. Actors and sensors are spawned from bridge_objects.json. Recording runs in synchronous mode so sensor timestamps stay evenly spaced.

CARLA and Autoware connected through the two bridges Traffic and the ego vehicle in CARLA, with camera and lidar client views

Sensor & vehicle model — Carla_t2/

Autoware workspace overlay, adapted from the TUMFTM Carla-Autoware-Bridge. The t2 naming and base models come from there (originally a VW T2); they were re-worked here for the lab's Mercedes S-Class.

Sensor kit: front + rear lidar (32 ch, 75 m, 20 Hz, modelled on the Ouster OS0), front + rear camera (modelled on the Basler a2A2448-23gcPRO), IMU and GNSS.

  • carla_t2_common_sensor_launch — processing nodes: lidar concatenation with self/mirror crop, and camera_node_container.launch.py, which runs YOLO on the front camera.
  • carla_t2_sensor_kit_description — sensor frames, poses and calibration (xacro + yaml).
  • carla_t2_sensor_kit_launch — one launch file per sensor, started by sensing.launch.xml.
  • carla_t2_vehicle_description — dimensions, mirrors, dynamics and the vehicle mesh.

ROS graph of the sensor nodes and topics

The vehicle mesh (MercedesCoupe.dae, ~98 MB) is not included — it is a third-party model and is linked instead (details). It is visual only; the simulation builds and runs without it.

Results

Vehicle following a route autonomously in Autoware YOLO detections on the front camera next to the ROS node graph

Route following, stopping for obstacles and traffic lights, weather changes and rosbag record/replay all work.

Known issues: YOLO leaks GPU memory across restarts; the GNSS node won't start (no macro yet, so the IMU macro is reused); the camera is capped at 800×600 because the full 2448×2048 resolution lags CARLA.

Build & run

Instructions are in Carla_t2/README.md: install Autoware and CARLA from upstream, build the carla_t2_* packages, then run CARLA, the TUM bridge and e2e_simulator.launch.xml. Install steps are not duplicated here.

Layout

Path Contents
Carla_t2/ Autoware workspace overlay (sensor kit + vehicle model)
carla_scripts/ CARLA Python clients: spawning traffic, recording camera/lidar, sensor tests
docs/ report, working notes, images

Attribution & license

Built on the TUMFTM Carla-Autoware-Bridge (LGPL-3.0); the carla_t2_* packages derive from it and keep that license. Uses Autoware (Apache-2.0) and CARLA (MIT). Vehicle mesh from cgtrader, not redistributed. Full list in ATTRIBUTION.md. Released under LGPL-3.0 (LICENSE).

About

Digital twin of the Hochschule München test vehicle: CARLA coupled to Autoware over a ROS 2 bridge, with sensor kit and vehicle model. M.Sc. research project.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages