Coder Social home page Coder Social logo

hustyangjia / highway-path-planning Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mithi/highway-path-planning

0.0 1.0 0.0 7.78 MB

My path-planning pipeline to navigate a car safely around a virtual highway with other traffic.

License: MIT License

CMake 1.76% C++ 79.64% C 1.94% Shell 0.16% Cuda 1.09% Fortran 10.99% Python 0.07% JavaScript 0.06% CSS 0.04% Jupyter Notebook 4.23%

highway-path-planning's Introduction

Introduction

This is my submission to the path planning project for term 3 of Udacity's self-driving car program. The goal is to create a path planning pipeline that would smartly, safely, and comfortably navigate a virtual car around a virtual highway with other traffic. We are given a map of the highway, as well as sensor fusion and localization data about our car and nearby cars. We are supposed to give back a set of map points (x, y) that a perfect controller will execute every 0.02 seconds. Navigating safely and comfortably means we don't bump into other cars, we don't exceed the maximum speed, acceleration and jerk requirements. Navigating smartly means we change lanes when we have to.

Links

Medium Article: Reflections on Designing a Virtual Highway Path Planner

Others

Project Goals Achieved

The following criteria have been met.

  • The car is able to drive at least 4.32 miles without incident.
  • The car doesn't drive faster than the speed limit. Also the car isn't driving much slower than speed limit unless obstructed by traffic.
  • Max Acceleration and Jerk are not exceeded. The car does not exceed a total acceleration of 10 m/s^2 and a jerk of 10 m/s^3.
  • Car does not have collisions. The car must not come into contact with any of the other cars on the road.
  • The car stays in its lane, except for the time between changing lanes. The car doesn't spend more than a 3 second length out side the lane lanes during changing lanes, and every other time the car stays inside one of the 3 lanes on the right hand side of the road.
  • The car is able to change lanes. The car is able to smoothly change lanes when it makes sense to do so, such as when behind a slower moving car and an adjacent lane is clear of other traffic.

How to use

  • Download the simulator and installed

  • Clone this repo.

  • Make a build directory in this directory mkdir build && cd build

  • Compile: cmake .. && make

  • Run it: ./path_planning.

  • Open the aforementioned simulator

  • Choose the lowest resolution and graphics quality of fastest for best results

  • Click the path planning section

  • Watch your autonomous car go :)

highway-path-planning's People

Contributors

mithi avatar

Watchers

 avatar

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.