GithubHelp home page GithubHelp logo

apolloauto / apollo Goto Github PK

View Code? Open in Web Editor NEW
24.5K 1.1K 9.6K 3.12 GB

An open autonomous driving platform

License: Apache License 2.0

Python 5.54% Shell 2.99% C++ 75.62% C 1.69% JavaScript 2.44% HTML 0.04% CMake 0.01% Smarty 0.32% Cuda 1.05% Dockerfile 0.05% Assembly 0.01% GLSL 0.03% Makefile 0.02% Batchfile 0.01% Starlark 3.24% Handlebars 0.01% SCSS 0.22% Vim Script 0.01% TypeScript 6.73% CSS 0.01%
apollo autonomous-vehicles autonomous-driving autonomy self-driving-car

apollo's Introduction

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. Introduction
  2. Prerequisites
  3. Individual Versions
  4. Architecture
  5. Installation
  6. Quick Starts
  7. Documents

Introduction

Apollo 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 platforms.

Prerequisites

[New 2021-01] The Apollo platform (stable version) is now upgraded with software packages and library dependencies of newer versions including:

  1. CUDA upgraded to version 11.1 to support Nvidia Ampere (30x0 series) GPUs, with NVIDIA driver >= 455.32
  2. LibTorch (both CPU and GPU version) bumped to version 1.7.0 accordingly.

We do not expect a disruption to your current work, but to ease your life of migration, you would need to:

  1. Update NVIDIA driver on your host to version >= 455.32. (Web link)
  2. Pull latest code and run the following commands after restarting and logging into Apollo Development container:
# Remove Bazel output of previous builds
rm -rf /apollo/.cache/{bazel,build,repos}
# Re-configure bazelrc.
./apollo.sh config --noninteractive

  • 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 8-core processor and 16GB memory minimum

  • NVIDIA Turing GPU / AMD GFX9/RDNA/CDNA GPU is strongly recommended

  • Ubuntu 18.04

  • NVIDIA driver version 455.32.00 and above (Web link) or ROCm v5.1 and above.

  • Docker-CE version 19.03 and above (Official doc)

  • NVIDIA Container Toolkit (Official doc)

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 and more capable version for your safety and the safety of those around you.

Individual Versions:

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.

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.

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.

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.

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.

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.

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.

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.

Apollo 6.0:

Apollo 6.0 incorporates new deep learning models to enhance the capabilities for certain Apollo modules. This version works seamlessly with new additions of data pipeline services to better serve Apollo developers. Apollo 6.0 is also the first version to integrate certain features as a demonstration of our continuous exploration and experimentation efforts towards driverless technology.

Apollo 7.0:

Apollo 7.0 incorporates 3 brand new deep learning models to enhance the capabilities for Apollo Perception and Prediction modules. Apollo Studio is introduced in this version, combining with Data Pipeline, to provide a one-stop online development platform to better serve Apollo developers. Apollo 7.0 also publishes the PnC reinforcement learning model training and simulation evaluation service based on previous simulation service.

Apollo 8.0:

Apollo 8.0 is an effort to provide an extensible software framework and complete development cycle for Autonomous Driving developer. Apollo 8.0 introduces easily-reused “Package” to organize software modules. Apollo 8.0 integrates the whole process of perception development ,by combining model training service, model deployment tool and end-to-end visual validation tool . And another 3 new deep learning models are incorporated in Apollo 8.0 for perception module. Simulation service is upgraded by integrating local simulator in Dreamview to provide powerful debug tool for PnC developer.

Apollo 9.0:

Apollo Open Source Platform 9.0 further focuses on enhancing the development and debugging experience, dedicated to provide autonomous driving developers with a unified development tool platform and easy-to-extend PnC and perception software framework interfaces. The new version reshapes the PnC and perception extension development method based on package management. It optimizes component splitting and configuration management according to business logic, simplifying the process of calling. In addition to the component extension method, a more lightweight plugin extension method has been added, simplifying the process of extending. The new version introduces Dreamview Plus, a brand-new developer tool that introduces modes for convenient multi-scenario use, a panel layout customizing visualization, and a resource center providing richer development resources. Furthermore, the LiDAR and Camera detection models in the new version have been upgraded for improved results, and incremental training methods have been opened up for easy extension. At the same time, support for 4D millimeter-wave radar has been added. Finally, the new version is adapted to the ARM architecture, and supports compilation and running on Orin, providing developers with additional device options.

Architecture

  • Hardware/ Vehicle Overview

  • Hardware Connection Overview

  • Software Overview

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:

Quick Starts:

Documents

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

Apollo open source platform only has the source code for models, algorithms and processes, which will be integrated with cybersecurity defense strategy in the deployment for commercialization and productization.

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

Connect with us

apollo's People

Contributors

capri2014 avatar daohu527 avatar emankov avatar fengqikai1414 avatar freehackofjeff avatar golancer avatar hongyisun avatar jasonzhou404 avatar jinghaomiao avatar jmtao avatar kechxu avatar kevin-y-wang avatar lianglia-apollo avatar lj0919 avatar michael4338 avatar mickeyouyou avatar natashadsouza avatar panjiacheng avatar seasoulchris avatar siyangy avatar sjiang2018 avatar startcode avatar storypku avatar techoe avatar vlin17 avatar wanglei828 avatar xiaoxq avatar yajiazhang avatar ycool avatar yifeijiang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

apollo's Issues

remote access to offline demo through hostname: 8887

I have installed the apollo docker to one ubuntu machine and running the offline demo according to
https://github.com/ApolloAuto/apollo/blob/master/docs/demo_guide/README.md,
It might add bash scripts/hmi.sh before rosbag play docs/demo_guide/demo.bag --loop will work for me when i access to localhost:8887.

Can we remote access the system without considering the safety issue? Coz sometimes the team want to access the same machine to debug or somehow would be better before production env, thanks

what hardware need to control car ?

The Lincoln MKZ, enhanced by Autonomous Stuff, provides users with an accessible autonomous vehicle platform. The platform supplies users with a comprehensive stack of hardware and software solutions

The platform supplies users with a comprehensive stack of hardware and software solutions. whats this ?? how to get this hardware ?

if i had lincoln MKZ, and apollo,and IPC ,and some sensing ,what else hardware software need to control the MKZ car ??

HMI ros_node_service core dump

This could be obsolete, as the core dumps were collected on around 06/25/2017.
I'm working on it but have no idea yet. Will mark as obsolete if we cannot reproduce for a period of time.

#0  0x00007fa643ea1404 in ?? ()
#1  0x00007fa62d7f9b00 in ?? ()
#2  0x00000000004101cf in __gnu_cxx::__exchange_and_add (__mem=0x28, __val=0)
    at /usr/include/c++/4.8/ext/atomicity.h:49
#3  0x000000000041121e in __static_initialization_and_destruction_0 (
    __initialize_p=0, __priority=40)
    at /usr/include/boost/system/error_code.hpp:222
#4  0x0000000000597447 in apollo::common::Point2D::~Point2D (
    this=0x7fa62d7f9b90, __in_chrg=<optimized out>)
    at bazel-out/local-dbg/genfiles/modules/common/proto/geometry.pb.cc:1070
#5  0x0000000000597037 in apollo::common::PointLLH::InternalSwap (this=
    0x86ee70 <google::protobuf::internal::ExtensionSet::RemoveLast(int)+666>, 
    other=0x7fa62d7f9b30)
    at bazel-out/local-dbg/genfiles/modules/common/proto/geometry.pb.cc:945
#6  0x0000000000594124 in apollo::common::protobuf_AssignDesc_modules_2fcommon_2fproto_2fgeometry_2eproto ()
    at bazel-out/local-dbg/genfiles/modules/common/proto/geometry.pb.cc:50
#7  0x00000000004106d1 in apollo::hmi::(anonymous namespace)::RunGRPCServer ()
    at modules/hmi/ros_node/ros_node_service.cc:62

Flaky test: throttle_63_test

FAIL: //modules/canbus/vehicle/lincoln/protocol:throttle_63_test (see /home/siyangy/.cache/bazel/_bazel_siyangy/9ed9c7603857b144a49c9eb873c44a13/execroot/apollo/bazel-out/local-dbg/testlogs/modules/canbus/vehicle/lincoln/protocol/throttle_63_test/test.log).
INFO: From Testing //modules/canbus/vehicle/lincoln/protocol:throttle_63_test:
==================== Test output for //modules/canbus/vehicle/lincoln/protocol:throttle_63_test:
Running main() from gmock_main.cc
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from Throttle63Test
[ RUN ] Throttle63Test.General
modules/canbus/vehicle/lincoln/protocol/throttle_63_test.cc:32: Failure
Value of: cd.gas().throttle_enabled()
Actual: true
Expected: false
[ FAILED ] Throttle63Test.General (0 ms)
[----------] 1 test from Throttle63Test (0 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (0 ms total)
[ PASSED ] 0 tests.
[ FAILED ] 1 test, listed below:
[ FAILED ] Throttle63Test.General

1 FAILED TEST

The failure disappeared after I rerun it. @lianglia-apollo

flag provided but not defined: -u

first when i bash pollo-master/docker/scripts/release_into.sh ,there is a Instruction error reporting.
as follows:
demo@demo-VirtualBox:$ bash '/home/demo/Downloads/apollo-master/docker/scripts/release_into.sh'
flag provided but not defined: -u
See 'docker exec --help'.
demo@demo-VirtualBox:
$

who can teach me how to solve this,Thanks

Does the apollo code not include code of avoiding obstacle?

I read the document of apollo,i find the hardwares in vechile have no two-eyes camera which generally rebuild the 3D enviroment to avoid obstacles.Could you tell me how to avoid obstacle or other vechiles on road when car embeded with apollo-1.0 is in auto-driving mode.thanks

Errors in docker environment set-up

I'm trying to install this on ubuntu 16.04 LTS.

bash docker/scripts/install_docker.sh
docker ps

So far, they went fine.
However, "bash docker/scripts/dev_start.sh" resulted in

~/apollo/apollo-master$ bash docker/scripts/dev_start.sh
Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
Error response from daemon: No such container: apollo_dev
Error response from daemon: No such container: apollo_dev
mknod: /dev/can0: File exists
/home/kyuil75lee/sait/apollo/apollo-master/data/core/core_%e.%p
[WARNING] Failed to find device with pattern "ttyUSB*" ...
[ OK ] Found device: /dev/ttyS31.
[ OK ] Found device: /dev/ttyS30.
[ OK ] Found device: /dev/ttyS29.
[ OK ] Found device: /dev/ttyS28.
[ OK ] Found device: /dev/ttyS27.
[ OK ] Found device: /dev/ttyS26.
[ OK ] Found device: /dev/ttyS25.
[ OK ] Found device: /dev/ttyS24.
[ OK ] Found device: /dev/ttyS23.
[ OK ] Found device: /dev/ttyS22.
[ OK ] Found device: /dev/ttyS21.
[ OK ] Found device: /dev/ttyS20.
[ OK ] Found device: /dev/ttyS19.
[ OK ] Found device: /dev/ttyS18.
[ OK ] Found device: /dev/ttyS17.
[ OK ] Found device: /dev/ttyS16.
[ OK ] Found device: /dev/ttyS15.
[ OK ] Found device: /dev/ttyS14.
[ OK ] Found device: /dev/ttyS13.
[ OK ] Found device: /dev/ttyS12.
[ OK ] Found device: /dev/ttyS11.
[ OK ] Found device: /dev/ttyS10.
[ OK ] Found device: /dev/ttyS9.
[ OK ] Found device: /dev/ttyS8.
[ OK ] Found device: /dev/ttyS7.
[ OK ] Found device: /dev/ttyS6.
[ OK ] Found device: /dev/ttyS5.
[ OK ] Found device: /dev/ttyS4.
[ OK ] Found device: /dev/ttyS3.
[ OK ] Found device: /dev/ttyS2.
[ OK ] Found device: /dev/ttyS1.
[ OK ] Found device: /dev/ttyS0.
[ OK ] Found device: /dev/can0.
[ OK ] Found device: /dev/ram15.
[ OK ] Found device: /dev/ram14.
[ OK ] Found device: /dev/ram13.
[ OK ] Found device: /dev/ram12.
[ OK ] Found device: /dev/ram11.
[ OK ] Found device: /dev/ram10.
[ OK ] Found device: /dev/ram9.
[ OK ] Found device: /dev/ram8.
[ OK ] Found device: /dev/ram7.
[ OK ] Found device: /dev/ram6.
[ OK ] Found device: /dev/ram5.
[ OK ] Found device: /dev/ram4.
[ OK ] Found device: /dev/ram3.
[ OK ] Found device: /dev/ram2.
[ OK ] Found device: /dev/ram1.
[ OK ] Found device: /dev/ram0.
[ OK ] Found device: /dev/loop7.
[ OK ] Found device: /dev/loop6.
[ OK ] Found device: /dev/loop5.
[ OK ] Found device: /dev/loop4.
[ OK ] Found device: /dev/loop3.
[ OK ] Found device: /dev/loop2.
[ OK ] Found device: /dev/loop1.
[ OK ] Found device: /dev/loop0.
[ OK ] Found device: /dev/loop-control.
Unable to find image 'apolloauto/apollo:dev-latest' locally
docker: Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).
See 'docker run --help'.
Error response from daemon: No such container: apollo_dev

Please advise me how to correct these problems.
Thank you.

Mac Support.

I run script install_docker.sh but found need apt-get. Could you adapt scripts for mac? Thanks very much.

I got unreadable code while running install_docker.sh

after running the installation command, I got log like following:

$ bash docker/scripts/install_docker.sh
++ uname -r
+ sudo apt-get -y install curl linux-image-extra-3.13.0-32-generic linux-image-extra-virtual
?????????... ??
?????????????
????????... ??
linux-image-extra-3.13.0-32-generic is already the newest version.
linux-image-extra-3.13.0-32-generic ?????????
????????????:
  libcurl3 linux-generic linux-headers-3.13.0-107
  linux-headers-3.13.0-107-generic linux-headers-generic
  linux-image-3.13.0-107-generic linux-image-extra-3.13.0-107-generic
  linux-image-generic
????????:
  fdutils linux-doc-3.13.0 linux-source-3.13.0 linux-tools
????????????:
  curl linux-headers-3.13.0-107 linux-headers-3.13.0-107-generic
  linux-image-3.13.0-107-generic linux-image-extra-3.13.0-107-generic
  linux-image-extra-virtual
?????????:
  libcurl3 linux-generic linux-headers-generic linux-image-generic
??? 4 ????,???? 6 ????,??? 0 ????,? 228 ?????????
???? 62.0 MB ?????
???????? 273 MB ??????

where my locale is as following:

LANG=zh_CN.UTF-8
LANGUAGE=zh_CN.UTF-8
LC_CTYPE=zh_CN.UTF-8
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=

what's wrong with me?

About support PC

Hi, authors,

According to the HW/SW installation readme, Neousys Nuvo-5095GC are only supported. However , this machine only provide nvidia 1050 GPU card, which is quite limited. Could we consider other PC spec. which support high-end GPU card such as 1080TI / Titan X?

build fail

excute bash apollo.sh build, then throw this error:

ERROR: /home/work/apollo/modules/planning/BUILD:3:1: no such package 'third_party/ros': BUILD file not found on package path and referenced by '//modules/planning:lib_planning'.
ERROR: Analysis of target '//modules/planning:lib_planning' failed; build aborted.

NVIDIA PX2 AND JETSON TX2 SUPPORT

I saw that the current version of the hardware is using an IPC,it used an Intel X86 Processer and it did not using the NVIDIA GPU Card. Are there any plan to prebuild an apollo software Platform on ARM and using CUDA. Then we can test it on a PX2 or jetson tx2 card

Error while building ESD Kernel Driver

When I run ln -s Makefile.esd Makefile;make I get this error message:

make -C /lib/modules/4.4.0-83-generic/build M=/home/ryan/Desktop/esdcan-pcie402-linux-2.6.x-x86_64-3.10.4/src modules
make[1]: Entering directory /usr/src/linux-headers-4.4.0-83-generic' CC [M] /home/ryan/Desktop/esdcan-pcie402-linux-2.6.x-x86_64-3.10.4/src/esdcan.o CC [M] /home/ryan/Desktop/esdcan-pcie402-linux-2.6.x-x86_64-3.10.4/src/osif.o SHIPPED /home/ryan/Desktop/esdcan-pcie402-linux-2.6.x-x86_64-3.10.4/src/nucleus.o SHIPPED /home/ryan/Desktop/esdcan-pcie402-linux-2.6.x-x86_64-3.10.4/src/esdacc.o SHIPPED /home/ryan/Desktop/esdcan-pcie402-linux-2.6.x-x86_64-3.10.4/src/board.o SHIPPED /home/ryan/Desktop/esdcan-pcie402-linux-2.6.x-x86_64-3.10.4/src/boardrc.o SHIPPED /home/ryan/Desktop/esdcan-pcie402-linux-2.6.x-x86_64-3.10.4/src/crc32.o LD [M] /home/ryan/Desktop/esdcan-pcie402-linux-2.6.x-x86_64-3.10.4/src/esdcan-pcie402.o ld: Relocatable linking with relocations from format elf64-x86-64 (/home/ryan/Desktop/esdcan-pcie402-linux-2.6.x-x86_64-3.10.4/src/nucleus.o) to format elf32-i386 (/home/ryan/Desktop/esdcan-pcie402-linux-2.6.x-x86_64-3.10.4/src/esdcan-pcie402.o) is not supported make[2]: *** [/home/ryan/Desktop/esdcan-pcie402-linux-2.6.x-x86_64-3.10.4/src/esdcan-pcie402.o] Error 1 make[1]: *** [_module_/home/ryan/Desktop/esdcan-pcie402-linux-2.6.x-x86_64-3.10.4/src] Error 2 make[1]: Leaving directory /usr/src/linux-headers-4.4.0-83-generic'
make: *** [default] Error 2

Build too slow

I add code in source code, then I use Build modules step "bash apollo.sh build",It takes 30-40 seconds,too long time. Using Cmake and make just take several seconds to build project. I learn about appllo using bazel to build,It should more quick, Does it has some else way to bulid project.

compile error: xargs: bazel: No such file or directory

platform: Ubuntu 16.04 LTS

command: bash apollo.sh build

output:

[WARNING] ESD CAN library supplied by ESD Electronics does not exit.
[WARNING] If you need ESD CAN, please refer to third_party/can_card_library/esd_can/README.md
Start building, please wait ...
apollo.sh: line 83: bazel: command not found
Building on x86_64, with targets:

xargs: bazel: No such file or directory
============================
[ERROR] Build failed!
[INFO] Took .013 seconds
============================

能做一个中文文档吗?

Can you make a Chinese document? After all, Baidu is an enterprise in China and should provide documentation of its mother tongue.

error while running 'bash docker/scripts/dev_start.sh'

for the first time I run this cmd, I got these message:

$ bash docker/scripts/dev_start.sh
THE APOLLO ......

Type 'y' or 'Y' to agree to the license agreement above, or type any other key to exit
y
dev-latest: Pulling from apolloauto/apollo
5d890c53be21: Pull complete
......
aef5b9a80c49: Pull complete
Digest: sha256:4119d0e023d773a5e47a......
Status: Downloaded newer image for apolloauto/apollo:dev-latest
Error response from daemon: No such container: apollo_dev
Error response from daemon: No such container: apollo_dev
/home/ao/apollo/data/core/core_%e.%p
[WARNING] Failed to find device with pattern "ttyUSB*" ...
[ OK ] Found device: /dev/ttyS31.
......
[ OK ] Found device: /dev/loop-control.
d1d59f9f0d28642e1722f13df42f0b55b......
Adding user `ao' ...
Adding new group `ao' (1000) ...
Adding new user `ao' (1000) with group `ao' ...
The home directory `/home/ao' already exists.  Not copying from `/etc/skel'.
chfn: PAM: System error
adduser: `/usr/bin/chfn -f  ao' returned error code 1. Exiting.

Then I run it for the second time, and I got these

dev-latest: Pulling from apolloauto/apollo
Digest: sha256:4119d0e023d773a5e47a68f31da4......
Status: Image is up to date for apolloauto/apollo:dev-latest
apollo_dev
apollo_dev
mknod: '/dev/can0': File exists
/home/ao/apollo/data/core/core_%e.%p
[WARNING] Failed to find device with pattern "ttyUSB*" ...
[ OK ] Found device: /dev/ttyS31.
......
eb04534a05762d10aabb9c4c55d45d2840.......
Adding user `ao' ...
Adding new group `ao' (1000) ...
Adding new user `ao' (1000) with group `ao' ...
The home directory `/home/ao' already exists.  Not copying from `/etc/skel'.
chfn: PAM: System error
adduser: `/usr/bin/chfn -f  ao' returned error code 1. Exiting.

Anyone know what happened? And how could I fix it?

can not connect to http://localhost:8887/

I do as follow

bash docker/scripts/install_docker.sh
docker ps  
bash docker/scripts/dev_start.sh
bash docker/scripts/dev_into.sh
bash scripts/hmi.sh

and then

...
[WARNING] Failed to find device with pattern "ttyUSB*" ...
...
[WARNING] Failed to find device with pattern "ram*" ...
...
...
Start roscore...
HMI ros node service running at localhost:8887
HMI running at http://localhost:8887

but I can not connect to can not connect to http://localhost:8887/

Open "Dreamview" button, apollo log is warning

i use docker start apollo, open "Dreamview" button, but cannot see any car ,please watching the log has a warning below:

tailf data/log/dreamview.WARNING

root@in_dev_docker:/apollo# tailf data/log/dreamview.WARNING 
W0710 20:05:26.222985   687 server.cc:70] Not sending simulation world as the data is not ready!
W0710 20:05:26.322291   687 server.cc:70] Not sending simulation world as the data is not ready!
W0710 20:05:26.422611   687 server.cc:70] Not sending simulation world as the data is not ready!
W0710 20:05:26.522936   687 server.cc:70] Not sending simulation world as the data is not ready!
W0710 20:05:26.622248   687 server.cc:70] Not sending simulation world as the data is not ready!
W0710 20:05:26.722566   687 server.cc:70] Not sending simulation world as the data is not ready!
W0710 20:05:26.823019   687 server.cc:70] Not sending simulation world as the data is not ready!
W0710 20:05:26.922327   687 server.cc:70] Not sending simulation world as the data is not ready!
W0710 20:05:27.022641   687 server.cc:70] Not sending simulation world as the data is not ready!
W0710 20:05:27.122959   687 server.cc:70] Not sending simulation world as the data is not ready!
W0710 20:05:27.222261   687 server.cc:70] Not sending simulation world as the data is not ready!
W0710 20:05:27.322600   687 server.cc:70] Not sending simulation world as the data is not ready!
W0710 20:05:27.422886   687 server.cc:70] Not sending simulation world as the data is not ready!
W0710 20:05:27.522244   687 server.cc:70] Not sending simulation world as the data is not ready!
W0710 20:05:27.622570   687 server.cc:70] Not sending simulation world as the data is not ready!
W0710 20:05:27.722879   687 server.cc:70] Not sending simulation world as the data is not ready!
W0710 20:05:27.822212   687 server.cc:70] Not sending simulation world as the data is not ready!
W0710 20:05:27.922564   687 server.cc:70] Not sending simulation world as the data is not ready!
W0710 20:05:28.022972   687 server.cc:70] Not sending simulation world as the data is not ready!
W0710 20:05:28.122336   687 server.cc:70] Not sending simulation world as the data is not ready!

Conflict with hosting newest-version ROS?

$ bash docker/scripts/dev_start.sh
ROS_DISTRO was set to 'kinetic' before. Please make sure that the environment does not mix paths from different distributions.
  • It seems that there is no ROS environment
    image

Docker pull image has issue

The pull command always failed with these log even with the http proxy setting. But the latter build command can be successful. But run the hmi.sh, many python packages are missing like glog, google-apputils and so on.

cb56c90f0b30: Pulling fs layer
0acc551e5716: Pulling fs layer
8956dcd35143: Pulling fs layer
908242721214: Waiting
b44ff14dd3bb: Waiting
68a565a88d05: Waiting
84198a14886c: Pulling fs layer
d4b61997bf6f: Pulling fs layer
fad90c9e6967: Pulling fs layer
c3a71b8081c8: Pulling fs layer
1b6b7f5fd058: Pulling fs layer
59564810fdd3: Pulling fs layer
c3cf6685d4cd: Pulling fs layer
8ce4073e8bb7: Pulling fs layer
fb888a093cc0: Pulling fs layer
6bc8b4e3c140: Pull complete
7b7fe4477995: Pull complete
89a17d68e3e2: Pull complete
e274af5eb115: Pull complete
cd580452c88c: Pull complete
f5499142713f: Pull complete
08ef9610a2f5: Pull complete
46e28973d034: Pull complete
276ce7aafce3: Pull complete
b9a2230796d7: Pull complete
d125bdde2f39: Pull complete
598a4b6f9275: Pull complete
29c4a1ccdc5b: Pull complete
1022ce674994: Pull complete
aa9329b7dd1e: Pull complete
0a464d8cb669: Pull complete
587566f9fa9a: Pull complete
57d7ecae556d: Pull complete
ec7992419a91: Pull complete
65a09c54e731: Pull complete
e2f3689560f1: Pull complete
419b3e44ef6d: Pull complete
505679240dc6: Pull complete
Digest: sha256:09aeb7850578a877fdb855bfe7319c857289faa1f68df3eede1a548a09783d09
Status: Downloaded newer image for apolloauto/apollo:dev-20170707_1129
Error response from daemon: No such container: apollo_dev
Error response from daemon: No such container: apollo_dev

In Dreamview no car model load

Thanks for open source this project, and those clear instructions!
I just follow up steps and open up firefox browser, and enable dreamview.
But there is no car model load.
apollo
This is mine screenshot on ubuntu14.04 ros indigo
Thank you in advance!

Please more information about how it works

Thank you for this exciting project.

I am working on a project to develop a PoC self driving car. I am sure this platform can be useful. However I do not understand how the different modules guiding the car are integrated.

I would like to see more detailed documentation about how external information is collected, how objects are recognized to actually drive car.

Many thanks

Setting up without Docker

I started installing it without Docker, on an Ubuntu VM where I have all my dev tools. I'm planning to use just simulator for now, not the full car hardware. Building the apollo-platform went well (had to install a few missing dependencies), then did the main apollo setup:

bash Apollo.sh build

I went through a few errors cause by missing dependencies, and now I ran into this:

ERROR: /home/cfotache/Python/Apollo/apollo/modules/prediction/BUILD:18:1: Linking of rule '//modules/prediction:prediction' failed: gcc failed: error executing command /usr/bin/gcc -o bazel-out/local-dbg/bin/modules/prediction/prediction '-Wl,-rpath,$ORIGIN/../../_solib_k8/_U@ros_S_S_Cros_Ucommon___Uexternal_Sros_Slib' ... (remaining 8 argument(s) skipped): com.google.devtools.build.lib.shell.BadExitStatusException: Process exited with status 1.
modules/prediction/main.cc:23: error: undefined reference to 'ros::init(int&, char**, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int)'
external/ros/include/ros/publisher.h:107: error: undefined reference to 'ros::console::initializeLogLocation(ros::console::LogLocation*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ros::console::levels::Level)'
external/ros/include/ros/publisher.h:107: error: undefined reference to 'ros::console::initializeLogLocation(ros::console::LogLocation*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ros::console::levels::Level)'
external/ros/include/ros/publisher.h:107: error: undefined reference to 'ros::console::initializeLogLocation(ros::console::LogLocation*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ros::console::levels::Level)'
external/ros/include/ros/publisher.h:113: error: undefined reference to 'ros::console::initializeLogLocation(ros::console::LogLocation*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ros::console::levels::Level)'
modules/common/adapters/adapter_manager.cc:48: error: undefined reference to 'ros::NodeHandle::NodeHandle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)'
collect2: error: ld returned 1 exit status

Any idea how to get over this error?
Or any other specific recommendations, when not using Docker?

com.google.devtools.build.lib.shell.BadExitStatusException

/home/ckt/work/apollo/modules/canbus/can_client/BUILD:39:1: Linking of rule '//modules/canbus/can_client:can_client_tool' failed: gcc failed: error executing command /usr/bin/gcc -o bazel-out/local-dbg/bin/modules/canbus/can_client/can_client_tool '-Wl,-rpath,$ORIGIN/../../../_solib_k8/_U@ros_S_S_Cros_Ucommon___Uexternal_Sros_Slib' ... (remaining 8 argument(s) skipped): com.google.devtools.build.lib.shell.BadExitStatusException: Process exited with status 1.
/usr/bin/ld.gold: error: cannot find -lboost_system
collect2: error: ld returned 1 exit status

checkout with TortoiseSVN failed

Hi,
Thanks first for provide the code.
I meet some problems when get the code using TortoiseSVN.
Here is the hint information.

Command: Update  
Updating: D:\F\project\apollo.git  
Skipped obstructing working copy: D:\F\project\apollo.git\branches  
Skipped obstructing working copy: D:\F\project\apollo.git\tags  
Error: The XML response contains invalid XML  
Error: Malformed XML: no element found  
Completed!: 

does the ros in apollo is the ROS-Comm: (Bare Bones)?

hi,expert
i want to know what package of indigo the ros in apollo is?it is a Desktop-Full Install or Desktop Install or ROS-Comm: (Bare Bones) ?i know ros in apollo must be added something in traditional ROS,but what is original source package from ROS indigo?thanks

Docker steps

I was trying to build the apollo on Mac and I already have Docker installed.
Do I still need to run install_docker.sh script.

I tried without the install script and hitting error on unable to add user. Any tips to circumvent this issue?

Someting wrong with ROS: modules/common/adapters/adapter_manager.cc

When I run the command bash apollo.sh build, I have an ERROR.
modules/prediction/main.cc:23: error: undefined reference to 'ros::init(int&, char**, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int)' external/ros/include/ros/publisher.h:107: error: undefined reference to 'ros::console::initializeLogLocation(ros::console::LogLocation*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ros::console::levels::Level)' external/ros/include/ros/publisher.h:107: error: undefined reference to 'ros::console::initializeLogLocation(ros::console::LogLocation*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ros::console::levels::Level)' external/ros/include/ros/publisher.h:107: error: undefined reference to 'ros::console::initializeLogLocation(ros::console::LogLocation*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ros::console::levels::Level)' external/ros/include/ros/publisher.h:113: error: undefined reference to 'ros::console::initializeLogLocation(ros::console::LogLocation*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ros::console::levels::Level)' modules/common/adapters/adapter_manager.cc:48: error: undefined reference to 'ros::NodeHandle::NodeHandle(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)' collect2: error: ld returned 1 exit status

So I think maybe ROS leads to this error, and I don't install ROS in my PC. What should I do? or Need I to install ROS and which version?

Any help? Thanks!

Cannot see any car image in the Dreamview or see any trajectory.

Hi All,

I successfully finish all the instructions for the demo, but when I switch into Dreamview window, there is neither car image nor trajectory such as in the readme when I rosbag play -l.

I can see the bag file playing, but there's nothing showing on the localhost:8888. Has anyone encounter same problem as me ?

Thanks!

Why doesn't it mention how to connect IPC's CAN to MKZ's CAN bus?

Hi,

I read the Hardware Installation Guide but failed to find information how to connect IPC's CAN to MKZ's CAN bus. As far as I know, the vehicle should have a CAN bus interface to allow outside unit to control its brake and throttle system. I suppose that Apollo's IPC should connect to the vehicle's CAN bus then the algorithm on IPC can control vehicle. But I failed to find this.

And in this section c. Connect the DB9 cable to the IPC to talk to the CAN (as shown):, it shows IPC's CAN is connected to one CAN bus, but it doesn't show any more details. Is this the vehicle's ECU(engine control unit)'s CAN bus?

Thanks!

error to build from source use bash apollo.sh build

some file not exist.
error detail

➜  apollo git:(master) bash apollo.sh build
/Users/zongbao/tools/apollo/scripts/apollo_base.sh: line 22: 1499226682N: value too great for base (error token is "1499226682N")
ln: illegal option -- r
usage: ln [-Ffhinsv] source_file [target_file]
       ln [-Ffhinsv] source_file ... target_dir
       link source_file target_file
[\e[33mWARNING] \e[33mESD CAN library supplied by ESD Electronics does not exit.
[\e[33mWARNING] \e[33mIf you need ESD CAN, please refer to third_party/can_card_library/esd_can/README.md
apollo.sh: line 83: third_party/ros/setup.bash: No such file or directory
apollo.sh: line 91: 1499226682N: value too great for base (error token is "1499226682N")

Is it a fully open source auto driving software?

I found that a lot of functions are missing?

Such as we don't know how the perceptionobstacles process inside?
How to get localization through images? Is it same as some SLAM methods?

Thanks very much.

No Py3 support and not support PEP8?

e.g.:https://github.com/ApolloAuto/apollo/blob/master/modules/tools/control_info/control_info.py

1.use print "Showing Lateral" rather than print ("Showing Lateral");I expect many from __future__ import xx lines

2.And import order:import sys is system library,appear on first line;import threading is also system library,appear on second line from bottom;including third-part library and module-part library between them;I don't konw whcih coding-style support such writing?

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.