Git Product home page Git Product logo

apollo's Introduction

Apollo

Build 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 the Apollo GitHub.

Apollo is an open autonomous driving platform. It is a high performance flexible architecture which supports fully autonomous driving capabilities. For business contact, please visit http://apollo.auto

Apollo Team now proudly presents to you the latest version 2.0.

Installation

We strongly recommend building Apollo in our pre-specified Docker environment. See the following instructions on how to set up the docker environment and build from source. The steps are:

  • Run a machine that runs linux (tested on Ubuntu 16.04 with and without an nVidia GPU)
  • Create a docker environment
  • Build Apollo from source
  • Bootstrap start Apollo
  • Download the demonstration loop and run it
  • Start a browser session and see the Dreamview user interface

More instructions are below

The docker environment can be set by the commands below.

Running a docker container from a linux system is done with this sequence. At the end, the dev_into.sh script will get you into the container

bash docker/scripts/install_docker.sh
# logout and login back in the system to make sure to run docker command without sudo
docker ps  # to verify docker works without sudo
# in case you forgot to logout and login back, do so, remove ~/.docker/config.json
# and check again with `docker ps`
bash docker/scripts/dev_start.sh
bash docker/scripts/dev_into.sh

To build from source

First check and make sure you are in development docker container before you proceed. Now you will need to build from the source. If you want to run the entire system, make sure you have an nVidia GPU and that you have installed the Linux nVidia drivers.

# To get a list of build commands
./apollo.sh
# To make sure you start clean
./apollo.sh clean
# This will build the full system and requires that you have an nVidia GPU with nVidia drivers loaded
bash apollo.sh build

If you do not have an nVidia GPU, the system will run but with the CUDA-based perception and other modules. You must specify either dbg for debug mode or opt for optimized code

./apollo.sh build_no_perception dbg

If you make modifications to the Dreamview frontend, then you must run ./apollo.sh build_fe before you run the full build.

Run Apollo

Follow the steps below to launch Apollo. Note that you must build the system first before you run it. Note that the bootstrap.sh will actually succeed but the user interface will not come up if you skip the build step.

Start Apollo

Running Apollo will start the ROS core and then startup a web user interface called Dreamview, this is handled by the bootstrap script, so from within the docker container, you should run:

# start module monitor
bash scripts/bootstrap.sh

Access Dreamview

Access Dreamview by opening your favorite browser, e.g. Chrome, go to http://localhost:8888 and you should see this screen However, there will be nothing running in the system.

Access Dreamview

Replay demo rosbag

To see if the system works, use the demo 'bag' which feeds the system.

# get rosbag note that the command download is required
bash ./docs/demo_guide/rosbag_helper.sh download

# You can now replay this demo "bag" in a loop with the '-l' flag
rosbag play -l ./docs/demo_guide/demo_2.0.bag

Dreamview should show a running vehicle now. (The following image might be different due to changes in frontend.)

Dreamview with Trajectory

Documents

Apollo documents can be found under the docs repository.

Ask 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 official website.

apollo's People

Contributors

allenlyu avatar capri2014 avatar fangzhenli-hust avatar fanzhu1985 avatar fengqikai1414 avatar ghdawn avatar guoweiwan avatar henryhu6 avatar hyjbrave avatar jinghaomiao avatar jmtao avatar jzhuucla avatar kechxu avatar kimifly06 avatar lianglia-apollo avatar madorui avatar msbeta avatar rongqiqiu avatar siyangy avatar startcode avatar tc87 avatar unacao avatar vlin17 avatar wanglei828 avatar xiaohuitu avatar xiaoxq avatar yajiazhang avatar ycool avatar yifeijiang avatar zhxt avatar

Watchers

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