宿主机基础环境
系统:ubuntu22.04
CPU: Intel(R) Core(TM) i9-14900K
GPU: NVIDIA GeForce RTX 4090
Docker version 26.0.0, build 2ae903e
Driver Version: 535.171.04
CUDA Version: 12.2 参考文档:Apollo9.0自动驾驶开放平台
一、下载安装 Apollo 源码 1. 克隆 Apollo 源码
1 2 3 4 git clone git@github.com:ApolloAuto/apollo.git git clone https://github.com/ApolloAuto/apollo.git
1 2 cd apollogit checkout master
2. 启动Apollo环境容器 因为是40系显卡,参考40系列镜像支持 进行操作
修改docker/scripts/dev_start.sh中的VERSION_X86_64镜像版本
1 VERSION_X86_64="dev-x86_64-18.04-20231128_2222"
1 bash docker/scripts/dev_start.sh
操作成功后您将会看到如下样式的提示输出
3. 进入Apollo环境
1 bash docker/scripts/dev_into.sh
将third_party/centerpoint_infer_op/workspace.bzl修改为下述内容
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 26 27 28 29 30 31 32 33 34 35 36 37 "" "Loads the paddlelite library" "" load("@bazel_tools//tools/build_defs/repo:http.bzl" , "http_archive" ) def clean_dep(dep): return str(Label(dep)) def repo(): http_archive( name = "centerpoint_infer_op-x86_64" , sha256 = "038470fc2e741ebc43aefe365fc23400bc162c1b4cbb74d8c8019f84f2498190" , strip_prefix = "centerpoint_infer_op" , urls = ["https://apollo-pkg-beta.bj.bcebos.com/archive/centerpoint_infer_op_cu118.tar.gz" ], ) http_archive( name = "centerpoint_infer_op-aarch64" , sha256 = "e7c933db4237399980c5217fa6a81dff622b00e3a23f0a1deb859743f7977fc1" , strip_prefix = "centerpoint_infer_op" , urls = ["https://apollo-pkg-beta.bj.bcebos.com/archive/centerpoint_infer_op-linux-aarch64-1.0.0.tar.gz" ], )
将third_party/paddleinference/workspace.bzl修改为
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 26 27 28 29 30 31 32 33 34 35 36 37 "" "Loads the paddlelite library" "" load("@bazel_tools//tools/build_defs/repo:http.bzl" , "http_archive" ) def clean_dep(dep): return str(Label(dep)) def repo(): http_archive( name = "paddleinference-x86_64" , sha256 = "7498df1f9bbaf5580c289a67920eea1a975311764c4b12a62c93b33a081e7520" , strip_prefix = "paddleinference" , urls = ["https://apollo-pkg-beta.cdn.bcebos.com/archive/paddleinference-cu118-x86.tar.gz" ], ) http_archive( name = "paddleinference-aarch64" , sha256 = "048d1d7799ffdd7bd8876e33bc68f28c3af911ff923c10b362340bd83ded04b3" , strip_prefix = "paddleinference" , urls = ["https://apollo-pkg-beta.bj.bcebos.com/archive/paddleinference-linux-aarch64-1.0.0.tar.gz" ], )
4. 编译 首先检查工作空间是否存在.apollo.bazelrc文件,如果存在先删除
将modules/perception/common/inference/tensorrt/rt_legacy.h中的宏注释掉
在容器内的 /apollo 目录下输出以下命令编译整个工程
1 ./apollo.sh build_opt_gpu perception
5. 启动 Apollo 进行播包验证 5.1 获取数据包 1 wget https://apollo-system.cdn.bcebos.com/dataset/6.0_edu/demo_3.5.record -P $HOME /.apollo/resources/records/
5.2 启动 Dreamview+ 1 bash scripts/bootstrap.sh start_plus
5.3 在 Dreamview+ 中播放数据包 启动 Dreamview+ 之后,在浏览器输入 localhost:8888
进入 Dreamview+ 界面,您可以选择默认模式,也可以选择其他模式播放数据包,以默认模式为例。
选择 Default Mode 。
勾选 Accept the User Agreement and Privacy Policy/接受用户协议和隐私政策 ,并单击 Enter this Mode 进入 Mode Settings/模式设置 页面。
在 Mode Settings/模式设置 页面,设置播包参数。
在 Operations/操作 中选择 Record 。
在 Environment Resources/环境资源 中,单击 Records/数据包 ,并选择具体想要播放的数据包。
在 Environment Resources/环境资源 中,单击 HDMap/高精地图 ,并选择 Sunnyvale Big Loop 。
单击底部区域播放按钮。
可以在 Vehicle Visualization/车辆可视化 中看到数据包播放的画面。
5.4 通过命令行播放数据包
进入 docker 环境,
在 Dreamview+ 中 Resource Manager/资源管理 > Records/数据包 中先下载需要的数据包。输入以下命令播放数据包:
1 cyber_recorder play -f ~/.apollo/resources/records/数据包名称 -l
注意:如果您想要循环播放数据包,添加 -l,如果不循环播放数据包,则不需要添加 -l。
至此,Apollo 安装已经完成