赞
踩
安装 Ubuntu 18.04+ 的步骤,参见 官方安装指南。
完成安装后更新相关软件:
- sudo apt-get update
- sudo apt-get upgrade
注意:若要完成更新,需要保证网络连接。
Apollo 依赖于 Docker 19.03+。安装 Docker 引擎,您可以根据官方文档进行安装:
- wget http://apollo-pkg-beta.bj.bcebos.com/docker_install.sh
- bash docker_install.sh
这个过程可能会运行多次脚本,根据脚本提示执行即可。
Apollo某些模块需要GPU的支持才能够编译、运行(例如感知模块),如果您需要使用此类模块,需要安装Nvidia显卡驱动以及Nvidia container toolkit以获取GPU支持。
注意:本教程只适用于ubuntu系统,虚拟机无法安装显卡驱动,wsl请自行上网搜索 注意:如果您之前已经安装过Nvidia显卡驱动,即往终端输入
nvidia-smi
能够正常输出,可以跳过1.安装显卡驱动
小节
可参照官网方法安装驱动官网驱动。
显卡驱动和CUDA版本兼容性,由于nvidia的硬件更新的很快,因此会遇到显卡驱动和CUDA版本不兼容的情况,以下为我们测试的畅通链路。
10、20、30系列显卡推荐使用470.63.01版本的驱动 ,您可以通过Nvidia官网来下载驱动
下载之后,找到相应的文件夹打开终端输入安装指令:
- sudo chmod 777 NVIDIA-Linux-x86_64-470.63.01.run
- sudo ./NVIDIA-Linux-x86_64-470.63.01.run
安装完毕后,您可以通过nvidia-smi指令来检查驱动是否安装成功,如果一切正常,您可以看到类似以下的提示:
- Tue Jan 3 12:04:21 2023
- +-----------------------------------------------------------------------------+
- | NVIDIA-SMI 460.91.03 Driver Version: 470.63.01 CUDA Version: 11.4 |
- |-------------------------------+----------------------+----------------------+
- | 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 GeForce GTX 1080 Off | 00000000:01:00.0 Off | N/A |
- | 0% 38C P8 7W / 198W | 239MiB / 8118MiB | 0% Default |
- | | | N/A |
- +-------------------------------+----------------------+----------------------+
-
- +-----------------------------------------------------------------------------+
- | Processes: |
- | GPU GI CI PID Type Process name GPU Memory |
- | ID ID Usage |
- |=============================================================================|
- | 0 N/A N/A 2566 G /usr/lib/xorg/Xorg 18MiB |
- | 0 N/A N/A 2657 G /usr/bin/gnome-shell 67MiB |
- | 0 N/A N/A 6104 G /usr/lib/xorg/Xorg 132MiB |
- | 0 N/A N/A 6234 G /usr/bin/gnome-shell 13MiB |
- | 0 N/A N/A 7440 G gnome-control-center 1MiB |
- +-----------------------------------------------------------------------------+

为了在容器内获得 GPU 支持,在安装完 docker 后需要安装 NVIDIA Container Toolkit。 运行以下指令安装 NVIDIA Container Toolkit:
- distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
- curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
- curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
- sudo apt-get -y update
- sudo apt-get install -y nvidia-docker2
安装完毕后,需要手动重启下docker:
sudo systemctl restart docker
Apollo 环境管理工具是一个帮忙管理和启动 Apollo 环境容器的命令行工具。
- sudo apt-get update
- sudo apt-get install ca-certificates curl gnupg
- # 添加 gpg key
- sudo install -m 0755 -d /etc/apt/keyrings
- curl -fsSL https://apollo-pkg-beta.cdn.bcebos.com/neo/beta/key/deb.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/apolloauto.gpg
- sudo chmod a+r /etc/apt/keyrings/apolloauto.gpg
-
- # 设置源并更新
- echo \
- "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/apolloauto.gpg] https://apollo-pkg-beta.cdn.bcebos.com/apollo/core"\
- $(. /etc/os-release && echo "$VERSION_CODENAME") "main" | \
- sudo tee /etc/apt/sources.list.d/apolloauto.list
- sudo apt-get update
注:如果之前已经安装过8.0版本的apollo的话,在宿主机上的
/etc/apt/sources.list
文件中会有形如deb https://apollo-pkg-beta.cdn.bcebos.com/neo/beta bionic main
的配置,可以直接删除,宿主机上的apollo源配置仅用于安 装aem
工具
3. 安装aem:
sudo apt install apollo-neo-env-manager-dev --reinstall
安装成功后即可使用
aem -h
Apollo 目前提供了3个示例工程,您可以根据需要选择其一
以 x86 架构的 application-core 为例
git clone https://github.com/ApolloAuto/application-core.git application-core
- # 先进入工程目录
- cd application-core
- # 环境设置:识别主机系统是x86_64还是aarch64, 并修改对应的.env和.workspace.json配置
- bash setup.sh
- # 启动容器
- aem start
- # 先进入工程目录
- cd application-core
- # 进入容器
- aem enter
示例工程中包含一个名为 core
目录,其中 core/cyberfile.xml
文件中描述了工程所依赖软件包,可以通过 buildtool 工具进行依赖包的安装
buildtool build -p core
此操作真正含义是编译工程中
core
这个包,但core
本身并没有需要编译的代码,所以此操作仅会安装core/cyberfile.xml
中声明的依赖包
示例工程中profiles/sample目录是官方提供的基于一个雷达两个摄像头的车型配置,您可以参考profiles目录下的sample编写自己的车型配置,生效车型配置的方法如下:
- # 以sample为例
- aem profile use sample
wget https://apollo-system.cdn.bcebos.com/dataset/6.0_edu/demo_3.5.record -P $HOME/.apollo/resources/records/
buildtool map get sunnyvale
从
9.0.0-rc-r10
版本开始,地图数据已经被分离出来,需要单独下载,不再随地图包发布;通过buildtool map list
可以查看所有可用的地图
aem bootstrap start --plus
在 Dreamview+ 中播放数据包
动 Dreamview+ 之后,在浏览器输入 localhost:8888
进入 Dreamview+ 界面,您可以选择默认模式,也可以选择其他模式播放数据包。本小节以默认模式为例。
单击底部区域播放按钮。
可以在 Vehicle Visualization/车辆可视化 中看到数据包播放的画面。
通过命令行播放数据包
在 Dreamview+ 中 Resource Manager/资源管理 > Records/数据包 中先下载需要的数据包。输入以下命令播放数据包:
cyber_recorder play -f ~/.apollo/resources/records/数据包名称 -l
注意:如果您想要循环播放数据包,添加 -l,如果不循环播放数据包,则不需要添加 -l。
至此,Apollo 安装已经完成
整个工程的目录结构如下
- application-core
- ├── .aem
- │ └── envroot
- │ ├── apollo # 会挂载到容器内的 /apollo 目录
- │ └── opt # 会挂载到容器内的 /opt/ 目录,而 Apollo 的软件包会默认安装到 /opt/ 下,因此该目录可以起到缓存的作用
- ├── core # 工程依赖包
- │ ├── BUILD
- │ └── cyberfile.xml # 包的描述文件,描述整个工程的所有依赖
- ├── CPPLINT.cfg
- ├── data # 数据目录,会挂载到 /apollo/data
- │ ├── calibration_data # 标定配置目录,会挂载到 /apollo/modules/calibration/data
- │ ├── kv_db.sqlite
- │ ├── log # 日志目录,会挂载到 /opt/apollo/neo/data/log
- │ └── map_data # 地图目录,会挂载到 /apollo/modules/map/data
- ├── profiles # 新版配置目录
- │ ├── current -> sample # 当前启用的配置目录
- │ └── sample # 官方提供的单lidar和两个camera样例车型配置
- ├── third_party
- ├── tools -> /opt/apollo/neo/packages/bazel-extend-tools/latest/src
- ├── .vscode # 默认的 vscode 配置
- │ ├── c_cpp_properties.json
- │ └── settings.json
- ├── WORKSPACE # bazel 的配置
- └── .workspace.json # apollo 工程配置,可以在这指定软件包版本

接下来,您可以通过实践教程来学习放了解更多 Apollo 的使用方法
此步骤说明如何删除已安装的工程
以 application-core
工程为例
- # 先进入工程目录
- cd application-core
- # 删除容器
- aem remove
- # 回到上一级目录
- cd ..
- # 删除工程目录
- rm -r application-core
以下为官方的教学课程,感兴趣的小伙伴上课学习吧~
Apollo开放平台9.0专项技术公开课链接
《Apollo自动驾驶技术详解25讲》
《自动驾驶新人之旅》
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。