apollo

一个开放的自动驾驶平台。(An open autonomous driving platform.)

Github stars Tracking Chart

Apollo

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 (约翰 F. 肯尼迪), 1962

欢迎来到Apollo GitHub。

Apollo是一种高性能、灵活的架构,可加速自动驾驶汽车的开发、测试和部署。

有关业务和合作伙伴关系, 请访问 我们的官网

入门

Apollo 3.5装载了新的模块和功能,但需要在你去兜风之前进行校准和配置。 请详细了解先决条件和安装步骤,以确保您具备构建和启动Apollo的能力。 您还可以查看Apollo的架构概述,以便更好地了解Apollo的核心技术和平台。

要了解更多信息,请参阅迁移指南,了解有关从旧版本迁移到更新的Apollo master的信息。

想要为我们的代码做出贡献? 按照本指南。

先决条件

基本要求:

  • 配备线控系统的车辆,包括但不限于制动线控,线控转向,油门线控和线控换档(Apollo目前在林肯MKZ上测试)
  • 一台配备4核处理器和6GB内存的机器
  • Ubuntu 14.04
  • Docker的工作知识
  • 请注意,建议您按以下顺序安装Apollo版本:1.0>您要测试的版本。 这个建议背后的原因是您需要确认各个硬件组件和模块是否正常运行并清除各种版本测试用例,然后再为更安全的版本和周围人的安全性而开发更高版本。
  • 请注意,如果您没有车辆,请继续安装 - 无硬件

安装

我们强烈建议您在我们预定义的Docker环境中搭建Apollo。 以下是设置Docker环境,和基于源代码搭建Apollo的步骤。

设置Docker环境请运行如下命令

首先,你需要正确地安装Docker-ce.

以下命令会将你带入Docker容器中。

docker ps  # 确认Docker可以非sudo运行
bash ocker/scripts/dev_start.sh -C   # -C表示从docker中国的镜像服务器下载,速度较快
bash docker/scripts/dev_into.sh

基于源代码搭建Apollo

bash apollo.sh build

如果编译很卡,可以在后面附加参数限制CPU

bash apollo.sh build --local_resources 2048,1.0,1.0

运行Apollo

请按照如下步骤启动Apollo。

启动Apollo

# 启动人机交互界面(HMI)
bash scripts/bootstrap.sh

访问 HMI

可使用您常用的浏览器,比如Chrome, 打开人机交互界面(HMI), 地址是:http://localhost:8888。

选择Navigation模式

下拉框里选择Navigation模式

播放演示rosbag

bash ./docs/demo_guide/rosbag_helper.sh download # ownload rosbag
rosbag play -l ./docs/demo_guide/demo_2.5.bag

这时,Dreamview会播放一辆带着预测轨迹的行驶中的汽车。

文档

Apollo文档可以在docs目录下找到。

咨询

非常欢迎您随时提出疑问或提交bug报告: Github Issues

版权

Apollo遵守Apache-2.0 license

免责声明

请参考Apollo的免责声明Apollo official website

Overview

Name With OwnerApolloAuto/apollo
Primary LanguageC++
Program languagePython (Language Count: 22)
PlatformDocker, Linux
License:Apache License 2.0
Release Count16
Last Release Namev9.0.0-rc-r10 (Posted on 2024-04-08 15:05:19)
First Release Namev1.0.0 (Posted on )
Created At2017-07-04 19:03:31
Pushed At2024-04-25 05:51:26
Last Commit At2024-04-25 13:51:17
Stargazers Count24.5k
Watchers Count1.1k
Fork Count9.6k
Commits Count19.3k
Has Issues Enabled
Issues Count4334
Issue Open Count747
Pull Requests Count9714
Pull Requests Open Count99
Pull Requests Close Count1178
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private

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 5.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 of Apollo's core technology and platform.

[Attention] The Apollo team is proud to announce that the platform has been migrated to Ubuntu 18.04, one of the most requested upgrades from our developers. We do not expect a disruption to your current work with the Apollo platform, but for perception related code, you would need to:

  1. Upgrade host to ubuntu_16.04 and above (Ubuntu 18.04 is preferred)
  2. Update local host NVIDIA driver >=410.48. Website link. Or follow the guide to install Apollo-Kernel and NVIDIA driver, if you want to install Apollo-Kernel.
  3. Install latest Docker-CE (19.03+) by following the official doc.
  4. Install latest nvidia-container-toolkit by following the official doc.

For those developers that would like to continue working with Ubuntu 14.04, please use the Ubuntu 14.04 branch instead of the master branch.

[Attention] The Apollo team has decided to retire Git LFS, which might impact your development. For details, please refer to:
migration guide.

Want to contribute to our code? Follow this guide.

Prerequisites

Basic Requirements:

  • The vehicle equipped with the 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 8GB memory minimum (16GB for Apollo 3.5 and above)

  • Ubuntu 18.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.

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 primary 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

Apollo 5.0:

Apollo 5.0 is an effort to support volume production for Geo-Fenced Autonomous Driving.
The car now has 360-degree visibility, along with upgraded perception deep learning model to handle the changing conditions of complex road scenarios, making the car more secure and aware. Scenario-based planning has been enhanced to support additional scenarios like pull over and crossing bare intersections.

For Setup:

Apollo 5.5:

Apollo 5.5 enhances the complex urban road autonomous driving capabilities of previous Apollo releases, by introducing curb-to-curb driving support. With this new addition, Apollo is now a leap closer to fully autonomous urban road driving.
The car has complete 360-degree visibility, along with upgraded perception deep learning model and a brand new prediction model to handle the changing conditions of complex road and junction scenarios, making the car more secure and aware.

For Setup:

  • Hardware:

    • Same as Apollo 5.0
  • Software:

    • Data Pipeline
    • Perception
    • Planning
    • Control
    • Prediction
    • Simulation

Architecture

  • Hardware/ Vehicle Overview

image alt text

  • Hardware Connection Overview

image alt text

  • Software Overview - Navigation Mode

image alt text

Installation

Congratulations! You have successfully built out Apollo without Hardware. If you do have a vehicle and hardware setup for a particular version, please pick the Quickstart guide most relevant to your setup:

With Hardware:

Documents

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

  • How To Guide: 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.

Apollo is provided under the Apache-2.0 license.

Disclaimer

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

Connect with us

To the top