This repository contains the official implementation used for the paper "A Realistic Radar Simulator for End-to-End Autonomous Driving in CARLA". The simulator is designed to generate realistic radar data for autonomous driving tasks, enhancing the capabilities of the CARLA simulator.
Project webpage: C-Shenron project page
C-Shenron is a high-fidelity radar simulation framework integrated with the CARLA simulator, enabling realistic, physics-based radar data generation using LiDAR and camera inputs. It supports customizable radar sensor setups and generates data suitable for End-to-End (E2E) autonomous driving pipelines, especially for transformer-based models like Transfuser++.
Key features:
- Realistic radar data using physics-based Shenron model
- Supports multiple radar views (Front, Back, Left, Right)
- End-to-end integration with imitation learning pipelines
- Easily scalable data collection and evaluation setup
- Demonstrated performance gains over LiDAR-camera baselines (+3% Driving Score)
First we need to generate bash scripts for both starting carla simulator and data collection. data_generation_bash_scripts.py will generate the scripts into Data_Collection_Scripts directory which has two sub-folders:
Start_Carla_Job_Scriptscontains scripts to start carla simulator and run the data collection scriptsJob_Filescontains the data collection scripts
python3 data_generation_bash_scripts.pybash Data_Collection_Scripts/Start_Carla_Job_Scripts/job0.shThis is an example, you can run any of the files from bash Data_Collection_Scripts/Start_Carla_Job_Scripts.
Refer to parallelization.md in this repository for instructions on how to run data collection scripts in parallel by executing each script in a separate pod.
The dataset can be downloaded from the following link: http://wcsng-41.nrp-nautilus.io:8000/
bash team_code/shell_train.shArguments for team_code/train.py:
id- Specifies the sub-directory where the trained model will be storedcontinue_epoch- Use only when you want to use pre-trained model0to train from epoch 01to train from epoch where pre-trained model left it
radar_channels- Select radar from carla or simulation2to use carla's front and back radar<anything else>to use radar data from SHENRON
radar_cat- Select the radar concatenation model from SHENRON1to use front and back concatenation2to use front, back, left and right concatenation
use_radar- To use radar data for traininguse_lidar- To use lidar data for training
Similar to data collection, we need to generate bash scripts for both starting carla simulator and data collection.
Evaluation_Scripts/generate_run_bashs.pygenerates the bash scripts to start carla simulator and running the evaluation scripts intoStart_Carla_Job_ScriptsEvaluation_Scripts/evaluation_bash_scripts.pygenerates the evaluation scripts intoJob_Files
You can vary all the evaluation parameters in evaluation_bash_scripts.py.
bash /Evaluation_Scripts/Start_Carla_Job_Scripts/job0.shAgain, this is an example and you can run any of the files from the Start_Carla_Job_Scripts and parallelize the process by following the above mentioned repository.
If you use this work in your research, please cite our paper:
@INPROCEEDINGS{11310463,
author = {Srivastava, Satyam and Li, Jerry and Mishra, Pushkal and Bansal, Kshitiz and Bharadia, Dinesh},
booktitle = {2025 IEEE 102nd Vehicular Technology Conference (VTC2025-Fall)},
title = {A Realistic Radar Simulator for End-to-End Autonomous Driving in CARLA},
year = {2025},
pages = {1--6},
doi = {10.1109/VTC2025-Fall65116.2025.11310463}
}