![]() | ![]() |
2024-09-05
Des nouvelles passionnantes ! FREA est accepté par CoRL 2024 pour une présentation orale ??!2024-08-10
Explorez notre page de projet, maintenant en direct ici ?!2024-08-10
Les codes sont maintenant publiés !2024-06-05
Notre article est disponible sur Arxiv ?!Ce référentiel contient la mise en œuvre du document.
FREA : Génération guidée par la faisabilité de scénarios critiques pour la sécurité avec une contradictoire raisonnable
Keyu Chen 1 , Yuheng Lei 2 , Hao Cheng 1 , Haoran Wu 1 , Wenchao Sun 1 , Sifa Zheng 1
1 École des véhicules et de la mobilité, Université Tsinghua 2 Université de Hong Kong
Si vous trouvez notre travail utile, donnez-nous une étoile ?!
? FREA intègre la faisabilité comme guide pour générer des scénarios contradictoires mais réalisables et critiques pour la sécurité.
Système recommandé : Ubuntu 20.04 ou 22.04
Étape 1 : Installer Carla (0.9.13 recommandé)
Étape 2 : Configurer l'environnement Conda
conda create -n frea python=3.8
conda activate frea
Étape 3 : Clonez ce dépôt git dans un dossier approprié
git clone [email protected]:CurryChen77/FREA.git
Étape 4 : Entrez le dossier racine du dépôt et installez les packages :
cd FREA
pip install -r requirements.txt
pip install -e .
# Launch CARLA
./CarlaUE4.sh -prefernvidia -RenderOffScreen -carla-port=2000
# Launch in another terminal
python scripts/run.py --agent_cfg expert.yaml --scenario_cfg standard_train.yaml --mode collect_feasibility_data
# Merge data
python frea/feasibility/unify_offline_data.py
Pour utiliser l'ensemble de données hors ligne dans notre article, téléchargez-les ici, placez-les dans le dossier feasibility
.
# Train optimal feasible value function of AV
python train_feasibility.py
# Launch CARLA
./CarlaUE4.sh -prefernvidia -RenderOffScreen -carla-port=2000
# Train FREA
python scripts/run.py --agent_cfg expert.yaml --scenario_cfg fppo_adv_train.yaml --mode train_scenario
# Launch CARLA
./CarlaUE4.sh -prefernvidia -RenderOffScreen -carla-port=2000
# Train FPPO-RS
python scripts/run.py --agent_cfg expert.yaml --scenario_cfg fppo_rs_train.yaml --mode train_scenario
# Launch CARLA
./CarlaUE4.sh -prefernvidia -RenderOffScreen -carla-port=2000
# Train PPO
python scripts/run.py --agent_cfg expert.yaml --scenario_cfg ppo_train.yaml --mode train_scenario
# Launch CARLA
./CarlaUE4.sh -prefernvidia -RenderOffScreen -carla-port=2000
# Train FREA
python scripts/run.py --agent_cfg ppo.yaml --scenario_cfg fppo_adv_train.yaml --mode train_agent
# Launch CARLA
./CarlaUE4.sh -prefernvidia -RenderOffScreen -carla-port=2000
# Train FREA
python scripts/run.py --agent_cfg ppo.yaml --scenario_cfg standard_train.yaml --mode train_agent
# Launch CARLA
./CarlaUE4.sh -prefernvidia -windowed -carla-port=2000
# Evaluation FREA
python scripts/run.py --agent_cfg expert.yaml --scenario_cfg FPPO_adv_eval.yaml --mode eval --eval_mode analysis
# Launch CARLA
./CarlaUE4.sh -prefernvidia -windowed -carla-port=2000
# Evaluation FREA
python scripts/run.py --agent_cfg expert.yaml --scenario_cfg FPPO_adv_eval.yaml --mode eval --eval_mode render
Assurez-vous que l'évaluation est terminée et que les résultats sont enregistrés dans le dossier.
# Process the recorded data
python eval_analysis/process_data/process_all_data.py
# Plot the evaluation result
python eval_analysis/plot_data/plot_evaluation_result.py
# Launch CARLA
./CarlaUE4.sh -prefernvidia -windowed -carla-port=2000
# Set world spectator
python scripts/run.py --agent_cfg expert.yaml --scenario_cfg standard_eval.yaml --mode eval -sp
# Launch CARLA
./CarlaUE4.sh -prefernvidia -windowed -carla-port=2000
# Visualize AV route
python scripts/run.py --agent_cfg expert.yaml --scenario_cfg standard_eval.yaml --mode eval -viz_route
# Launch CARLA
./CarlaUE4.sh -prefernvidia -windowed -carla-port=2000
# Visualize BEV map
python scripts/run.py --agent_cfg expert.yaml --scenario_cfg FPPO_adv_eval.yaml --mode eval --eval_mode render
Si vous trouvez notre article utile, veuillez nous citer via :
@inproceedings{
chen2024frea,
title={{FREA}: Feasibility-Guided Generation of Safety-Critical Scenarios with Reasonable Adversariality},
author={Keyu Chen and Yuheng Lei and Hao Cheng and Haoran Wu and Wenchao Sun and Sifa Zheng},
booktitle={8th Annual Conference on Robot Learning},
year={2024},
url={https://openreview.net/forum?id=3bcujpPikC}
}
Cette implémentation est basée sur le code de plusieurs référentiels. Nous remercions sincèrement les auteurs pour leur formidable travail.