A one-way coupling framework integrating SUMO and BeamNG.tech for synchronized traffic simulation and 3D vehicle visualization using a Python middleware.
This project demonstrates a one-way coupling framework where SUMO acts as the traffic simulation engine and BeamNG.tech provides a realistic 3D visualization environment.
A Python middleware synchronizes vehicle states between the two simulators using TraCI and BeamNGpy. The middleware retrieves vehicle information from SUMO, performs coordinate transformation, and updates the corresponding vehicle in BeamNG.tech.
This repository documents the system architecture, synchronization workflow, implementation approach, technical challenges, and project outcomes.
Note: This repository presents the completed one-way coupling framework developed as part of an academic research project. The implementation has been simplified for portfolio purposes, and selected research code and project-specific assets are intentionally omitted.
My contributions to this project included:
- Exporting the BeamNG map to SUMO using the SumoExporter Tool to establish a common simulation environment
- Developing a Python middleware for one-way coupling between SUMO and BeamNG.tech
- Implementing position and heading synchronization for a single vehicle using TraCI and BeamNGpy
- Performing coordinate transformation between the SUMO and BeamNG coordinate systems
- Managing vehicle spawning and state updates in BeamNG.tech
- Enabling real-time 3D visualization of the synchronized vehicle
- One-way synchronization between SUMO and BeamNG.tech
- Python middleware for simulator communication
- Single-vehicle position and heading synchronization
- Coordinate transformation between SUMO and BeamNG coordinate systems
- Single-vehicle spawning and state synchronization
- Real-time 3D vehicle visualization
| Technology | Purpose |
|---|---|
| SUMO | Microscopic traffic simulation |
| BeamNG.tech | 3D vehicle visualization |
| BeamNGpy | Python interface for BeamNG.tech |
| SumoExporter Tool | Exporting BeamNG maps to SUMO |
| TraCI | Communication with SUMO |
| Python | Middleware implementation |
| Visual Studio Code | Development environment |
Figure 1: One-way coupling architecture integrating SUMO and BeamNG.tech through a Python middleware.
- Export the BeamNG map to SUMO using the SumoExporter Tool.
- Configure the SUMO road network and ego vehicle.
- SUMO simulates microscopic traffic.
- Python middleware retrieves the ego vehicle state through TraCI.
- Vehicle coordinates are transformed from the SUMO to the BeamNG coordinate system.
- The synchronized vehicle is spawned or updated in BeamNG.tech using BeamNGpy.
- BeamNG.tech visualizes the synchronized vehicle in a realistic 3D environment.
.
├── images/
│ └── One-Way Coupling Architecture.png
└── README.md
During the development of the one-way coupling framework, several technical challenges were addressed:
- Coordinate transformation between the SUMO and BeamNG coordinate systems
- Vehicle heading synchronization
- Vehicle spawning and state management
- Maintaining real-time synchronization between the simulators
- Terrain alignment to ensure accurate vehicle placement in BeamNG.tech
- Two-way coupling between SUMO and BeamNG.tech
- Traffic signal synchronization
- Dynamic vehicle creation and removal
- V2X communication integration
- Hardware-in-the-loop experiments
This project was completed as part of the Research Project Participation module at Westsächsische Hochschule Zwickau (WHZ).
The repository serves as a technical portfolio demonstrating the architecture, synchronization workflow, and implementation approach of the completed one-way coupling framework. Selected research code and project-specific assets have been intentionally omitted.
