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).
simlucy_demo.mp4
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.
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, andcamera_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 bysensing.launch.xml.carla_t2_vehicle_description— dimensions, mirrors, dynamics and the vehicle mesh.
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.
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.
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.
| 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 |
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).




