An open autonomous driving platform
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE New issue template Aug 16, 2018
.vscode VSCode: modified the configuration files to support debugging based o… Jan 15, 2019
cyber framework: add examples to show deserialize pbmsg Jan 19, 2019
docker planning: install adolc with openmp, still under testing Jan 17, 2019
docs Docs: changes to ASU Jan 18, 2019
modules Planning: OpenSpace: bug fix Jan 20, 2019
scripts Revert "drivers: add cidiv2x in cyber" Jan 16, 2019
third_party Build: add gomp link opt Jan 18, 2019
tools Build: enabled Wconversion check for all modules and cyber. Dec 13, 2018
.clang-format Updated clang-format Apr 11, 2018
.gitattributes Demo: update demo docs and record. Jan 7, 2019
.gitignore Scripts: Output cyber proto along with other cyber modules. Dec 13, 2018
.travis.yml Docker: fix yaml-cpp secruity issue with a patch. (#2328) Dec 13, 2018
BUILD build: use a general USE_GPU compile flag Jul 28, 2018
CONTRIBUTING.md grammar+typos Aug 7, 2018
CPPLINT.cfg Apollo 1.0.0 release Jul 4, 2017
LICENSE Updated license Dec 13, 2018
README.md Missing url Jan 18, 2019
README_cn.md Docs: update demo command for Chinese version Jan 10, 2019
RELEASE.md DOCS: adding Cyber readme and links to docs Jan 15, 2019
WORKSPACE.in Planning: OpenSpace: BUILD file for adolc Dec 13, 2018
apollo.doxygen Doxygen: added README as front page Jan 12, 2018
apollo.sh Scripts: Generate cyber python proto to py_proto. Dec 13, 2018
apollo_docker.sh Tools: Add tool to stat and expose compile warnings. Dec 13, 2018

README.md

image alt text

Build Status Simulation Status


We choose to go to the moon in this decade and do the other things,

not because they are easy, but because they are hard.

-- John F. Kennedy, 1962

Welcome to Apollo's GitHub page!

Apollo is a high performance, flexible architecture which accelerates the development, testing, and deployment of Autonomous Vehicles.

For business and partnership, please visit our website.

Table of Contents

  1. Getting Started
  2. Prerequisites
  3. Architecture
  4. Installation
  5. Documents

Getting Started

Apollo 3.5 is loaded with new modules and features, but needs to be calibrated and configured perfectly before you take it for a spin. Please review the prerequisites and installation steps in detail to ensure that you are well equipped to build and launch Apollo. You could also check out Apollo's architecture overview for a greater understanding on Apollo's core technology and platform.

**To learn more, please refer to the migration guide for information about migrating to the updated Apollo master from an old version.

Want to contribute to our code? follow this guide.

Prerequisites

Basic Requirements:

  • Vehicle equipped with by-wire system, including but not limited to brake by-wire, steering by-wire, throttle by-wire and shift by-wire (Apollo is currently tested on Lincoln MKZ)

  • A machine with a 4-core processor and 6GB memory minimum

  • Ubuntu 14.04

  • Working knowledge of Docker

  • Please note, it is recommended that you install the versions of Apollo in the following order: 1.0 > whichever version you would like to test out. The reason behind this recommendation is that you need to confirm whether individual hardware components and modules are functioning correctly and clear various version test cases, before progressing to a higher more capable version for your safety and the safety of those around you.

  • Please note, if you do not have a vehicle, proceed to the Installation - Without Hardware

Individual Version Requirements:

The following diagram highlights the scope and features of each Apollo release:

Apollo 1.0:

Apollo 1.0 also referred to as the Automatic GPS Waypoint Following, works in an enclosed venue such as a test track or parking lot. This installation is necessary to ensure that Apollo works perfectly with your vehicle. The diagram below lists the various modules in Apollo 1.0.

image alt text

For Setup:

  • Hardware:

    • Industrial PC (IPC)

    • Global Positioning System (GPS)

    • Inertial Measurement Unit (IMU)

    • Controller Area Network (CAN) card

    • Hard drive

    • GPS Antenna

    • GPS Receiver

  • Software:

    • Apollo Linux Kernel (based on Linux Kernel 4.4.32)

Apollo 1.5:

Apollo 1.5 is meant for fixed lane cruising. With the addition of LiDAR, vehicles with this version now have better perception of its surroundings and can better map its current position and plan its trajectory for safer maneuvering on its lane. Please note, the modules highlighted in Yellow are additions or upgrades for version 1.5.

image alt text

For Setup:

  • All the requirements mentioned in version 1.0

  • Hardware:

    • Light Detection and Ranging System (LiDAR)

    • ASUS GTX1080 GPU-A8G- Gaming GPU Card

  • Software:

    • Nvidia GPU Driver

Apollo 2.0:

Apollo 2.0 supports vehicles autonomously driving on simple urban roads. Vehicles are able to cruise on roads safely, avoid collisions with obstacles, stop at traffic lights and change lanes if needed to reach their destination. Please note, the modules highlighted in Red are additions or upgrades for version 2.0.

image alt text

For Setup:

  • All the requirements mentioned in versions 1.5 and 1.0

  • Hardware:

    • Traffic Light Detection using Camera

    • Ranging System (LiDAR)

    • Radar

  • Software:

    • Same as 1.5

Apollo 2.5:

Apollo 2.5 allows the vehicle to autonomously run on geo-fenced highways with a camera for obstacle detection. Vehicles are able to maintain lane control, cruise and avoid collisions with vehicles ahead of them.

Please note, if you need to test Apollo 2.5; for safety purposes, please seek the help of the
Apollo Engineering team. Your safety is our #1 priority,
and we want to ensure Apollo 2.5 was integrated correctly with your vehicle before you hit the road. 

image alt text

For Setup:

  • All the requirements mentioned in 2.0

  • Hardware:

    • Additional Camera
  • Software:

    • Same as 2.0

Apollo 3.0:

Apollo 3.0's main focus is to provide a platform for developers to build upon in a closed venue low-speed environment. Vehicles are able to maintain lane control, cruise and avoid collisions with vehicles ahead of them.

image alt text

For Setup:

  • Hardware:

    • Ultrasonic sensors
    • Apollo Sensor Unit
    • Apollo Hardware Development Platform with additional sensor support and flexibility
  • Software:

    • Guardian
    • Monitor
    • Additional drivers to support Hardware

Apollo 3.5:

Apollo 3.5 is capable of navigating through complex driving scenarios such as residential and downtown areas. The car now has 360-degree visibility, along with upgraded perception algorithms to handle the changing conditions of urban roads, making the car more secure and aware. Scenario-based planning can navigate through complex scenarios including unprotected turns and narrow streets often found in residential areas and roads with stop signs.

image alt text

For Setup:

  • Hardware:

    • Velodyne VLS - 128
    • Apollo Extension Unit (AXU)
    • ARGUS FPD-Link Cameras (3)
    • NovAtel PwrPak7
    • Additional IPC
  • Software:

    • Perception
    • Planning
    • V2X
    • Additional drivers to support Hardware
  • Runtime Framework

    • Cyber RT

Architecture

  • Hardware/ Vehicle Overview

image alt text

  • Hardware Connection Overview

image alt text

  • Software Overview - Navigation Mode

image alt text

Installation

If at this point, you do not have a Hardware setup, please go to Without Hardware.

With Hardware:

Without Hardware:

Documents

  • Technical Tutorial: Everything you need to know about Apollo. Written as individual versions with links to every document related to that version.

  • HowTo: Brief technical solutions to common problems that developers face during the installation and use of the Apollo platform

  • Specs: A Deep dive into Apollo's Hardware and Software specifications (only recommended for expert level developers that have successfully installed and launched Apollo)

  • FAQs

Questions

You are welcome to submit questions and bug reports as GitHub Issues.

Copyright and License

Apollo is provided under the Apache-2.0 license.

Disclaimer

Please refer the Disclaimer of Apollo in Apollo's official website.

Connect with us