https://github.com/ethanmclark1/carla_aebs
Reinforcement learning based emergency braking system built using the CARLA driving simulator
https://github.com/ethanmclark1/carla_aebs
advanced-emergency-braking-system autonomous-driving autonomous-vehicles carla-simulator deep-learning deep-reinforcement-learning lane-following pytorch reinforcement-learning self-driving-car
Last synced: about 1 year ago
JSON representation
Reinforcement learning based emergency braking system built using the CARLA driving simulator
- Host: GitHub
- URL: https://github.com/ethanmclark1/carla_aebs
- Owner: ethanmclark1
- License: apache-2.0
- Created: 2021-08-02T19:45:56.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2023-08-08T00:16:36.000Z (almost 3 years ago)
- Last Synced: 2025-04-12T16:14:48.823Z (about 1 year ago)
- Topics: advanced-emergency-braking-system, autonomous-driving, autonomous-vehicles, carla-simulator, deep-learning, deep-reinforcement-learning, lane-following, pytorch, reinforcement-learning, self-driving-car
- Language: Python
- Homepage:
- Size: 1.21 MB
- Stars: 12
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Autonomous Emergency Braking System
## Overview
The Autonomous Emergency Braking System described here integrates two neural networks for enhanced vehicle safety and lane adherence:
**1. Convolutional Neural Network (CNN) for Lane Following**:
- This network is responsible for determining the steering angle.
- The output is based on visual inputs, ensuring the vehicle remains centered within its lane.
**2. Dueling Deep Q-Network (Dueling DQN)**:
- This network receives the steering angle from the CNN, combined with data on velocity and distance.
- It then computes Q-values for potential actions.
- The action with the highest Q-value is selected, guiding the vehicle's next move.
Together, these networks enable the vehicle to autonomously apply brakes as needed, preventing collisions with vehicles ahead while ensuring consistent lane positioning.
## Setup Environment
- [Install Anaconda for Linux](https://docs.anaconda.com/anaconda/install/linux/)
- [Install CARLA for Linux](https://carla.readthedocs.io/en/0.9.11/start_quickstart/)
- `conda create --name --file requirements.txt`
## Run AEBS
- Open a terminal and enter command: `./CarlaUE.sh -opengl` to run CARLA simulator
- Activate conda environment in another terminal then enter command: `python3 driver.py`
- To visualize the agent in action, open a third terminal and enter the command: `sudo docker run -it --network="host" -e CARLAVIZ_HOST_IP=localhost -e CARLA_SERVER_IP=localhost -e CARLA_SERVER_PORT=2000 mjxu96/carlaviz:0.9.11` then open a browser and go to localhost: `127.0.0.1:8080/`
## References
1. [Chae, Hyunmin, et al. "Autonomous braking system via deep reinforcement learning." 2017 IEEE 20th International conference on intelligent transportation systems (ITSC). IEEE, 2017.](https://arxiv.org/abs/1702.02302)
2. [Bojarski, Mariusz, et al. "End to end learning for self-driving cars." arXiv preprint arXiv:1604.07316 (2016).](https://arxiv.org/abs/1604.07316)
3. [Wang, Ziyu, et al. "Dueling network architectures for deep reinforcement learning." International conference on machine learning. PMLR, 2016.](https://arxiv.org/abs/1511.06581)