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.
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_Scripts
contains scripts to start carla simulator and run the data collection scriptsJob_Files
contains the data collection scripts
python3 data_generation_bash_scripts.py
bash Data_Collection_Scripts/Start_Carla_Job_Scripts/job0.sh
This 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.sh
Arguments 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 model0
to train from epoch 01
to train from epoch where pre-trained model left it
radar_channels
- Select radar from carla or simulation2
to use carla's front and back radar<anything else>
to use radar data from SHENRON
radar_cat
- Select the radar concatenation model from SHENRON1
to use front and back concatenation2
to 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.py
generates the bash scripts to start carla simulator and running the evaluation scripts intoStart_Carla_Job_Scripts
Evaluation_Scripts/evaluation_bash_scripts.py
generates 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.sh
Again, 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.