Skip to content

Autonomous driving reinforcement learning model deployed on a Jetson board.

Notifications You must be signed in to change notification settings

khlaifiabilel/Autonomous-driving-Jetson

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Autonomous-driving-Jetson

forthebadge forthebadge forthebadge forthebadge forthebadge

Project overview

Developing Autonomous vehicles (AVs) is a very challenging task in terms of Programming, Optimizing and Deployment , especially if we are working in complicated environments, Such as a mixed traffic environment where the AVs coexist with normal human-driven vehicles (HDVs).

In this project we have developed an efficient and scalable multiagent reinforcement learning model that can be used in different dynamic traffic uses cases where the communication topology could be time-varying. Parameter sharing and local rewards are exploited to foster inter-agency cooperation while achieving great scalability. Later, An action masking scheme is employed to improve the learning efficiency by filtering out invalid/unsafe Actions at each step. In addition, a novel priority-based safety supervisor is developed to significantly reduce the collision rate and greatly expedite the training process. A simulation environment was tuned, based on a previous open-source project published on GitHub, with three different levels of traffic densities. We exploit curriculum learning to efficiently learn harder tasks from trained models under simpler settings.

Privious Works

List of publications our project was based on :

PhD theses

Master theses

Deep Reinforcement Learning with Jetson Boards

In this Project, we'll be creating artificially intelligent agents that learn from interacting with their environment, gathering experience, and a system of rewards with deep reinforcement learning (deep RL). Using end-to-end neural networks that translate raw pixels into actions, RL-trained agents are capable of exhibiting intuitive behaviors and performing complex tasks.

Ultimately, our aim will be to train reinforcement learning agents from virtual robotic simulation in 3D and transfer the agent to a real-world robot. Reinforcement learners choose the best action for the agent to perform based on environmental state (like camera inputs) and rewards that provide feedback to the agent about it's performance. Reinforcement learning can learn to behave optimally in it's environment given a policy, or task - like obtaining the reward.

Installation

This project requires python3 (>=3.5), The graphics require the installation of pygame, which itself has dependencies that must be installed manually.

sudo apt-get update -y
sudo apt-get install -y python-dev libsdl-image1.2-dev libsdl-mixer1.2-dev
    libsdl-ttf2.0-dev libsdl1.2-dev libsmpeg-dev python-numpy subversion libportmidi-dev
    ffmpeg libswscale-dev libavformat-dev libavcodec-dev libfreetype6-dev gcc

Getting Started on Jupyter lab

Several scripts and notebooks to train driving policies are available. Here are a few of them you can run using Google Colab or a your local jupyter Lab :

  • Highway with image observations and a CNN model [ Open In Colab](scripts)
  • Trajectory Planning on Highway [ Open In Colab](scripts)
  • A Model-based Reinforcement Learning tutorial on Parking [ Open In Colab](scripts)
  • Parking with Hindsight Experience Replay [ Open In Colab](scripts)
  • Intersection with DQN and social attention [ Open In Colab](scripts)

About

Autonomous driving reinforcement learning model deployed on a Jetson board.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published