GithubHelp home page GithubHelp logo

mynkpl1998 / upgraded-octo-lamp Goto Github PK

View Code? Open in Web Editor NEW
4.0 2.0 0.0 27.07 MB

An autonomous driving simulator for modelling Vehicle to Infrastructure (V2I) conditions.

Python 4.77% Jupyter Notebook 93.71% TeX 1.52%
v2i reinforcement-learning gym-environment autonomous-vehicles autonomous-driving pygame-application intelligent-driver-model newtonian-mechanics rllib ppo

upgraded-octo-lamp's Introduction

V2I

V2I is an open-source simulator for autonomous driving research developed at Cyber-Physical Systems Lab IIIT-Delhi. It has been developed to address the need of a simulator which can simulate Vehicle-To-Infrastructure communication. The simulator is designed primarily to learn driving and querying policies using Reinforcement Learning.

Features

The simulator is under heavy development, new features are being added everyday. For now, the checked box represents the implemented features and rest will be implemented soon.

  • Occupancy Grids
  • Velocity Grids
  • Multi Lane
  • Driving Model for Non-Autonomous Vehicles - Intelligent Driver Model
  • Multi Agent

Installation

We recommend you to use virtual environment like conda for installation. You can get the mini version of conda from here. We will use this MiniConda as our base python installation and will do the required installation on top of that. To install the dependencies, run the following commands inside the conda environment

conda create -n v2i python=3.6.8
# Activate the environment
conda activate v2i

# Install all required dependencies
pip install -r requirements.txt

# Install Tensorflow
conda install tensorflow-gpu

upgraded-octo-lamp's People

Contributors

mynkpl1998 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

upgraded-octo-lamp's Issues

simulator reaches terminal states if though no collision takes place.

Configuration to reproduce the result.

Script : test.py

Sim Config

config:
  # Simulation Parameters
  t-period: 0.1 # in secs
  
 # IDM settings
   max-speed: 10 # in m/s
   local-view: 20 # in metres (one side)
   cextended-view: 20 # in metres (one side)
   reg-size: 5 # in metres
   cell-size: 1 # in metres

  # Reward Function
  collision-penalty: -10

  # UI settings
  render: true
  fps: 5

  # Set Mode
  mode: 'test'

  # Frame Skip
  frame-skip-value: 1

Reward Shaping

With speed based reward function, average length of the episode is low for higher density because the cars gets too close to each other and using a stochastic policy leads to selection of action which results in collision.

Solution : Penalise the agent if bumper to bumper distance becomes smaller than a threshold distance. (like 2m)
image

add red light to simulate mix traffic.

As discussed in the meeting, the ego vehicle should not travel faster than the what is allowed by the local view size. However this is not current the case as we are not simulating the mixed traffic correctly. Therefore, Add a light at a the junction for the same.

current lane change behaviour results in wrong policies.

According to lane change behaviour which is

  1. If lane change is valid move to next lane, but no change is position and speed.

This causes wrong policies like when tf lights are enabled and both lanes are blocked agent uses lane change action to prevent agent to move forward.

Revert back to correct lane change behaviour which is in addition to 1 includes doing a do-nothing action.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.