This repo contains the code for the dissertation titled "Evaluation of Soft Actor Critic In Diverse Parking Environments".
├── highway_env
├── saved_models
├── scenarios
├── tests
├── requirements.txt
├── park_test.py
├── park_model.py
├──.gitignore
├── Readme.md
└── setup.py
We have used a modified highway-env
as our testing environment. To install the library open up a terminal and type the following commands:
cd Parking-AI
pip install -e .
Next we will install stable baseline (https://stable-baselines3.readthedocs.io/en/master/) directly from the github as shown below.
pip install git+https://github.com/DLR-RM/stable-baselines3
Install the remaining python dependencies by using the command below.
pip install -r requirements.txt
We will use the file park_model.py to perform our training.
- To perform the training for different lane orientations to park in the goal slot indexed at 2 for 100 episodes, the command below can be executed in the terminal. After the training ends, we will have a model saved by the name filename.
Vertical
python park_model.py --mode learn --episodes 100 --filename sac_straight --goalSpotNumber 2
Diagonal
python park_model.py --mode learn --episodes 100 --filename sac_diag --goalSpotNumber 2 --diagonalShift 6
Parallel
python park_model.py --mode learn --episodes 100 --filename sac_parallel --goalSpotNumber 2 --parallelParking 1
- To perform the phased training for 2 lane orientations, that is vertical and diagonal, to park in goal slot indexed at 2 for 100 episodes, the command below can be executed in the terminal.
python park_model.py --mode phasedLearn --episodes 100 --filename sac_phased --goalSpotNumber 2 --diagonalShift 6
- To perform the random training for 2 lane orientations to park in the goal slot indexed at 2 for 100 episodes, the command below can be executed in the terminal.
python park_model.py --mode randomLearn --episodes 100 --filename sac_random --goalSpotNumber 2 --diagonalShift 6
- To perform the random training same as previous but now with parallel parking to park in the goal slot indexed at 2 for 100 episodes, the command below can be executed in the terminal.
python park_model.py --mode randomLearn --episodes 100 --filename sac_random --goalSpotNumber 2 --diagonalShift 6 --parallelParking 1
We will use the file park_model.py to perform our simulation.
- To perform a simulation in different lane orientations using a trained agent, use the commands below. Vertical
python park_model.py --mode run --episodes 30 --filename sac_straight --goalSpotNumber 2
Diagonal
python park_model.py --mode run --episodes 30 --filename sac_diagonal --goalSpotNumber 2 --diagonalShift 6
Parallel
python park_model.py --mode run --episodes 30 --filename sac_parallel --goalSpotNumber 2 --parallelParking 1
- To perform the phased simulation for 2 lane orientations to park in goal slot indexed at 2 for 100 episodes, the command below can be executed in the terminal.
python park_model.py --mode phasedRun --episodes 100 --filename sac_phased --goalSpotNumber 2 --diagonalShift 6
- To perform the random simulation for 2 lane orientations to park in the goal slot indexed at 2 for 100 episodes, the command below can be executed in the terminal.
python park_model.py --mode randomRun --episodes 100 --filename sac_random --goalSpotNumber 2 --diagonalShift 6
- To perform the random simulation for 3 lane orientation to park in the goal slot indexed at 2 for 100 episodes, the command below can be executed in the terminal.
python park_model.py --mode randomRun --episodes 100 --filename sac_random --goalSpotNumber 2 --diagonalShift 6 --parallelParking 1
Refer this section for all the commandline arguments.
https://github.com/eleurent/highway-env
https://github.com/DinisMoreira/Dissert
https://stable-baselines3.readthedocs.io/en/master/