This is the repository is collection of jupyter notebooks for CARLA simulation environment for autonomous driving using Generative AI. The project is developed using Gemini API and CARLA simulation environment. The project is developed as a part of the Google Hackathon @Devpost.
Before proceeding with the installation, ensure you have the following prerequisites installed:
-
Anaconda: Anaconda is a distribution of Python that includes many popular packages for data science and machine learning. You can download and install Anaconda from here.
-
CARLA Simulator (Version 0.9.14): CARLA is an open-source simulator for autonomous driving research. Version 0.9.14 is required for this project. You can download it from the CARLA GitHub releases.
Once you have the prerequisites installed, follow these steps to install and set up the project:
-
Clone the repository:
git clone https://github.com/pritisolanki/Geminus.git
-
Navigate to the project directory:
cd Geminus
-
Create a new Anaconda environment (optional but recommended):
conda create --name project_env python=3.8
-
Activate the Anaconda environment:
conda activate project_env
-
Install the required Python packages from
requirements.txt
:pip install -r requirements.txt
-
Download and extract the CARLA Simulator (Version 0.9.14) to a desired location on your system.
-
Open jupyter notebook Stage_0.ipynb
jupyter notebook
-
You're all set! You can now run the project using Python.
Playground notebook for setting up camera configuration and openCV. OpenCV is a great tool for image processing and performing computer vision tasks.
Playground notebook for collecting video data from the CARLA simulation environment. The notebook uses the CARLA Python API to collect video data from the simulation environment.
This notebook is the first stage of the project. The notebook is used to setup the CARLA simulation environment and the Python API. The notebook is used to setup the environment and showcase communication between CARLA and GEMINI. The api integration code is written in Node JS Codebase. In stage 0 we are controlling forward motion by applying throttle and brakes based on the traffic signal state.