步骤四:安装示例工程
1. 选择示例工程
Apollo 目前提供了3个示例工程,您可以根据需要选择其一
application-core , 包含 Apollo 所有开源软件包,可以基于此工程搭建自己的应用
application-pnc , 仅包含规划控制相关的软件包,适合仅关注规划控制方向的用户
application-perception , 仅包含感知相关的软件包,适合仅关注感知方向的用户
2. 克隆工程
以 x86 架构的 application-core 为例
git clone https://github.com/ApolloAuto/application-core.git application-core
如果您使用的是 arm 架构,请使用 application-core-arm 工程
git clone https://github.com/ApolloAuto/application-core-arm.git application-core
3. 启动 Apollo 环境容器
# 先进入工程目录 cd application-core # 启动容器 aem start
4. 进入 Apollo 环境容器
# 先进入工程目录 cd application-core # 进入容器 aem enter
5. 安装软件包
示例工程中包含一个名为 core
目录,其中 core/cyberfile.xml
文件中描述了工程所依赖软件包,可以通过 buildtool 工具进行依赖包的安装
buildtool build -p core
此操作真正含义是编译工程中 core
这个包,但 core
本身并没有需要编译的代码,所以此操作仅会安装 core/cyberfile.xml
中声明的依赖包
6. 播放数据包
获取数据包
wget https://apollo-system.cdn.bcebos.com/dataset/6.0_edu/demo_3.5.record -P $HOME/.apollo/resources/records/
启动 Dreamview+
aem bootstrap start --plus
在 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/车辆可视化 中看到数据包播放的画面。
通过命令行播放数据包
进入 docker 环境,
- 在 Dreamview+ 中 Resource Manager/资源管理 > Records/数据包 中先下载需要的数据包。输入以下命令播放数据包:
cyber_recorder play -f ~/.apollo/resources/records/数据包名称 -l
注意:如果您想要循环播放数据包,添加 -l,如果不循环播放数据包,则不需要添加 -l。
7. 安装目录结构说明
至此,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 -> default # 当前启用的配置目录 │ └── default # 名为 default 的配置目录 ├── 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 的使用方法
- Apollo规划实践
- Apollo感知实践