Apollo安装
apollo的安装手册
源码安装(目前源码安装不支持场景同步)¶
更新时间:2022-11-30
本手册旨在帮助用户重新安装 Apollo 8.0 系统环境及 Apollo 8.0 源码 运行软件。
步骤一:安装 Linux 系统¶
Apollo 软件系统依赖于 Linux 操作系统运行,而 Linux 操作系统种类繁多,且又分为服务器版本和桌面版本,这里我们选择当下比较流行的 Ubuntu 桌面操作系统的 64 位版本。安装 Ubuntu 18.04+ 的步骤,参见 官方安装指南。
(可选)步骤二:安装 NVIDIA GPU 驱动¶
Apollo 8.0 的一些模块的编译和运行需要依赖 NVIDIA GPU 环境(例如感知模块),如果您有编译和运行这类模块的需求,则需要安装 NVIDIA GPU 驱动。
您可以通过以下两种方式在 Ubuntu 上进行安装:
- (推荐) apt-get 命令,参见 How to Install NVIDIA Driver。
- 使用官方 runfile。
对于 Ubuntu 18.04+,只需执行以下命令即可:
1 2 3 4 |
|
安装完毕后,可以输入 nvidia-smi
来校验 NVIDIA GPU 驱动是否在正常运行(可能需要在安装后重启系统以使驱动生效)。如果成功,则会出现以下信息:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
|
步骤三:安装 docker¶
Apollo 8.0 依赖于 Docker 19.03+。要安装 Docker,参见 Install Docker Engine on Ubuntu。
Ubuntu 上的 Docker-CE 也可以通过 Docker 提供的官方脚本安装:
1 2 |
|
您可以自由选择安装方式,安装之后,不要忘记执行 Linux 上的后续操作说明。更多内容,参见 使用非 root 权限运行 docker 和 配置开机启动 docker。
(可选)步骤四:安装 NVIDIA Container Toolkit¶
为了在容器内获得 GPU 支持,在安装完 docker 后需要安装 NVIDIA Container Toolkit。 运行以下命令安装 NVIDIA Container Toolkit:
1 2 3 4 5 |
|
安装完成后,重启 Docker 以使改动生效。
1 |
|
安装完毕后,可以在APOLLO容器内输入nvidia-smi
来校验 NVIDIA GPU 在容器内是否能正常运行(详见步骤五)。
步骤五:下载并编译 Apollo 源码¶
-
安装 git 并将源码 clone 下来:
1 2 3 4 5
cd ~/ sudo apt update sudo apt install git -y git init git clone https://github.com/ApolloAuto/apollo.git
代码下载的时间视网速的快慢而有所区别,请耐心等待。
-
启动并进入 docker 容器,在终端输入以下命令:
1 2
cd ~/apollo bash docker/scripts/dev_start.sh
第一次进入 docker 时或者 image 镜像有更新时会自动下载 apollo 所需的 image 镜像文件,下载镜像文件的过程会很长,请耐心等待。
如果一切正常,则会见到以下信息:
1 2 3 4
[ OK ] Congratulations! You have successfully finished setting up Apollo Dev Environment. [ OK ] To login into the newly created apollo_neo_dev_root container, please run the following command: [ OK ] bash scripts/edu_launcher.sh enter [ OK ] Enjoy!
这个过程完成后,请输入以下命令以进入 docker 环境中:
1
bash docker/scripts/dev_into.sh
如果您在步骤二和步骤四分别安装了 NVIDIA GPU 驱动和 NVIDIA Container Toolkit,您可以输入
nvidia-smi
来校验 NVIDIA GPU 在容器内是否能正常运行,如果成功,则会出现以下信息:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
root@in-dev-docker:/apollo_workspace## nvidia-smi Wed Sep 14 11:43:13 2022 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 460.32.03 Driver Version: 460.32.03 CUDA Version: 11.2 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |=++| | 0 Tesla V100-SXM2... Off | 00000000:03:00.0 Off | 0 | | N/A 31C P0 38W / 300W | 153MiB / 32510MiB | 0% Default | | | | N/A | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=| | 0 N/A N/A 9962 C nvidia-cuda-mps-server 29MiB | +-----------------------------------------------------------------------------+
-
编译 Apollo 源码。
编译 Apollo,在终端输入以下命令,等待编译完成,编译过程耗时视机器配置的不同而有所区别,请耐心等待:
1
bash apollo.sh build
步骤六:运行 Dreamview 检验编译是否成功¶
-
进入 Apollo 容器环境。
1 2 3
cd ~/apollo bash docker/scripts/dev_start.sh bash docker/scripts/dev_into.sh
注:如果您已在容器环境内,请忽略此步骤。
-
启动 dreamview。
在终端输入以下命令:
1
bash scripts/bootstrap.sh
如果启动成功,在终端会输出以下信息:
1 2 3 4 5
nohup: appending output to 'nohup.out' Launched module monitor. nohup: appending output to 'nohup.out' Launched module dreamview. Dreamview is running at http://localhost:8888
在浏览器中输入以下地址访问 Dreamview:
1
http://localhost:8888
-
回放数据包。
在终端输入以下命令下载数据包:
1
wget https://apollo-system.cdn.bcebos.com/dataset/6.0_edu/demo_3.5.record
输入以下命令可以回放数据包,在浏览器 DreamView 中应该可以看到回放画面:
1
cyber_recorder play -f demo_3.5.record --loop