Coder Social home page Coder Social logo

self-driving-car's Introduction

Self-Driving-Car

A course by Professor Steven Waslander, Dr. Jonathan Kelly and Professor Paul Newman involving Vehicle Dynamics, Perception, Planning - mapping and controller as well as its firmware design aspects.

Tech Stack

  1. Forward Kinematics
  2. System Dynamics
  3. State-space equations and Laplace Transfer Function of LTI systems
  4. Feedforward Controllers
  5. PID, LQR and MPC controllers
  6. Geometric path tracking controller - Pure pursuit, Stanley controller, receeding horizon control
  7. CARLA simulator
  8. Method of Reccursive and Weighted Least-Squares for state estimation

Description of files in this repository

  • Vehicle-Path-Control - Implemented a controller for the CARLA simulator where the goal is to control the vehicle to follow a race track by navigating through preset waypoints. The vehicle needs to reach these waypoints at certain desired speeds, so both longitudinal and lateral control will be required.
  • Kinematic_Bicycle_Model.ipynb - This files generates a Forward Kinematic model for a 4 wheeled vehicle, approximated to be a simple 2 wheeled bycycle model. We generate random trajectories and analyse the controller performance for the same.
  • Longitudinal_Vehicle_Model.ipynb - The model accepts throttle inputs and steps through the longitudinal dynamic equations. Once implemented, you will be given a set of inputs that drives over a small road slope to test your model.
  • Cruise_control.py - Adaptive Cruise Control based on Fuzzy Logic. Reference Link for the book
  • ____ -

The following section contains a brief of informative notes that I had made during my learning.

Some shortforms:

  • OEDR - Object and Evet Detection and Response
  • ODD - Operational Design Domain
  • ACC - Adaptive Cruise Control
  • Ego - A term to express the notion of self, which is used to refer to the vehicle being controlled autonomously, as opposed to other vehicles or objects in the scene.
  • FMEA - Failure Mode and Effects Analysis
  • GNSS - Global Navigation Satellite System
  • HAZOP - Hazard and Operability Study
  • IMU - Inertial Measurement Unit
  • Lidar - Light Detection and Ranging

Sensors

A sensor is any device that measures or detects some property of the environment, or changes to that property over time. Sensors are broadly categorized into two types, depending on what property they record. If they record a property of the environment they are exteroceptive. Extero means outside, or from the surroundings. On the other hand, if the sensors record a property of the ego vehicle, they are proprioceptive. Proprios means internal, or one's own.

Some of the main sensors used for perception of a car:

  1. Camera
  2. Lidar
  3. Radar
  4. Ultrasonic
  5. GPS
  6. IMU
  7. Wheel Odometry

To learn more about sensing requirements for automated vehicles for highway and rural environments, check out K.J. Bussemaker's master's thesis.

Software Stack

  • environment perception,
  • environment mapping,
  • motion planning,
  • vehicle control,
  • system supervisor.

Maps

  • Lidar Map generation
  • Occupancy Grid map for static objects
  • Hybrid map using process software for dynamic obstacles

self-driving-car's People

Contributors

jash-2000 avatar

Stargazers

Timothy 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.