zhulh0927 / awesome-self-driving-car

An awesome list of self-driving cars

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Awesome Self-Driving Cars Awesome

We wanted flying cars, instead we got 140 characters. - Peter Thiel

We want self-driving cars, and we want them with an awesome list. - Not Peter Thiel

Introduction

A curated list of all awesome things related to self-driving car.

Contributing

Contributions are highly appreciated. Please send me pull request. We want really awesome stuff. Please feel free to contact me if you have any questions.

Table of Contents

Autonomous driving technology stack

First, let's look at the technology stack for autonomous driving. In order to understand the full stack of autonomous driving. After that, you can learn the corresponding skill tree.
technology stack

  • apollo - Apollo is an open source autopilot platform that contains almost everything. Including hardware, systems, vehicle platforms, cloud services, etc. You can quickly build a self-driving system of your own by Apollo.
  • autoware - The original Autoware project built on ROS 1. Launched as a research and development platform for autonomous driving technology.
  • openpilot - Openpilot is an open source driver agent. Use the iphone to control the car, which provides adaptive cruise control (ACC) and lane keeping assist (LKAS).
  • Point Cloud Library - Point Cloud Library (PCL) is a standalone, large open project for 2D / 3D imagery and point cloud processing. Widely used to process laser point cloud data.
  • ROS - The Robot Operating System (ROS) is a flexible framework for writing robot software. It is a collection of tools, libraries, and conventions that aim to simplify the task of creating complex and robust robot behavior across a wide variety of robotic platforms.
  • OpenCV library - OpenCV (Open Source Computer Vision Library) is an open source computer vision and machine learning software library. OpenCV was built to provide a common infrastructure for computer vision applications and to accelerate the use of machine perception in the commercial products.
  • TensorFlow - TensorFlow is an open source software library for numerical computation using data flow graphs. Used for automatic driving perception and prediction.

Traffic Sign

  • STSD - More than 20 000 images with 20% labeled, Contains 3488 traffic signs.
  • LISA - 7855 annotations on 6610 frames.
  • Tsinghua-Tencent 100K - 100000 images containing 30000 traffic-sign instances.
  • German Traffic Sign [Images] - More than 50,000 images and 40 classes of traffic signs.
  • Udacity's Self-Driving Car Simulator - This simulator is built for Udacity's Self-Driving Car Nanodegree to teach students how to train cars how to navigate road courses using deep learning. It is used for the project of Behavioral Cloning.
  • Microsoft's AirSim - An open-source and cross platform simulator built for drones and other vehicles. AirSim is designed as a platform for AI research to experiment with deep learning, computer vision and reinforcement learning algorithms for autonomous vehicles.
  • MIT's Moral Machine - Moral machine provides a "platform for 1) building a crowd-sourced picture of human opinion on how machines should make decisions when faced with moral dilemmas, and 2) crowd-sourcing assembly and discussion of potential scenarios of moral consequence". If you are a fan of the trolley problem, you can't miss this.
  • MIT's Google Self-Driving Car Simulator - Self-driving car simulated completely by visual programming language Scratch.
  • Carla - CARLA has been developed from the ground up to support development, training, and validation of autonomous driving systems.
  • Lgsvl - The LGSVL Simulator is a simulator that facilitates testing and development of autonomous driving software systems. The LGSVL simulator is developed by the Advanced Platform Lab at the LG Electronics America R&D Center, formerly the LG Silicon Valley Lab.

[1] Ekim Yurtsever, Jacob Lambert, Alexander Carballo, Kazuya Takeda. "A Survey of Autonomous Driving: Common Practices and Emerging Technologies." arXiv:1906.05113 arXiv:1906.05113v2 (2020). [pdf] (Very very comprehensive introduction) ⭐⭐⭐⭐⭐

Survey

Details

Survey

Object Detection

Lane Detection

A real-time operating system (RTOS) is any operating system (OS) intended to serve real-time applications that process data as it comes in, typically without buffer delays. Processing time requirements (including any OS delay) are measured in tenths of seconds or shorter increments of time. A real time system is a time bound system which has well defined fixed time constraints. Processing must be done within the defined constraints or the system will fail.

RT linux - For now you can use the path to make the Linux kernel a real-time operating system.

thread affinity - Processor affinity, or CPU pinning, enables the binding and unbinding of a process or a thread to a central processing unit (CPU) or a range of CPUs, so that the process or thread will execute only on the designated CPU or CPUs rather than any CPU. This can be viewed as a modification of the native central queue scheduling algorithm in a symmetric multiprocessing operating system.

interrupt binding - Realtime environments need to minimize or eliminate latency when responding to various events. Ideally, interrupts (IRQs) and user processes can be isolated from one another on different dedicated CPUs.

If I have seen further it is by standing on ye sholders of Giants.
                                                                - Isaac Newton
comma.ai Waymo Cruise Automation drive.ai
Ford Udacity GM nuTonomy
NIO Tesla NVIDIA Otto
Uber
  • Arizona - Executive order 2015-09 was signed to direct all state agencies to undertake any necessary steps to support the testing and operation of self-driving vehicles on public roads within Arizona. The executive order also specifies that in Arizona the operator of a self-driving vehicle does not have to be physically inside the vehicle. The vehicle can be directed remotely in self-driving mode.
  • Colorado - Colorado passes first law to regulate self-driving cars. Companies who plan to test self-driving cars in Colorado need to first check in with the state Department of Transportation and State Patrol.
  • California - Application required for testing self-driving cars. Manufacturers are required to provide accident reports and disengagement reports. The regulations for post-testing deployment of self-driving cars have been drafted and will establish the requirements for manufacturers to meet prior to operation on California’s on public roads.
  • New York - It is announced on May 10, 2017 that the state is accepting application for self-driving car testing. The pilot testing program is included in FY 2018 and can be further extended.
  • Texas - Bill SB 2205 is proposed to implement minimum safety requirements and accelerate testing of self-driving cars on public roads. The bill passed the Texas Senate Transportation Committee and it is currently pending Senate debate and referral to the House.
  • Virginia - Arguably the most friendly state to self-driving cars with no application or permit required and $25M per year fund set to facilitate self-driving cars. Virginia Automated Corridors is announced to offer self-driving car developers the opportunity to test their technologies on Virginia roads covering more than 70 miles of interstates and arterials in the Northern Virginia region.
  • Singapore -
  • China -
  • South Korea -
  • Japan -
  • Europe -

About

An awesome list of self-driving cars

License:Apache License 2.0