共计 1780 个字符,预计需要花费 5 分钟才能阅读完成。
背景介绍
Apollo 是百度开源的自动驾驶平台,提供了一套完整的自动驾驶解决方案。它包含了高精度地图、感知、预测、规划、控制等模块,适用于自动驾驶研究和开发。Apollo 的特点是模块化设计,支持硬件在环仿真,并且有丰富的文档和社区支持。

对于刚接触自动驾驶的开发者来说,运行一个 Apollo 的 Demo 是快速了解平台功能的好方法。本文将详细介绍如何从零开始搭建环境并运行第一个 Demo。
环境准备
在开始之前,我们需要确保硬件和软件环境满足要求。
硬件要求
- 推荐配置:
- CPU:Intel i7 或更高
- 内存:16GB 或以上
- 显卡:NVIDIA GPU(支持 CUDA)
- 存储:至少 50GB 可用空间
软件要求
- 操作系统:Ubuntu 18.04 LTS(推荐)
- 依赖软件:
- Docker
- NVIDIA Docker
- Git
- Python 3
环境配置
1. 安装 Docker
运行以下命令安装 Docker:
sudo apt-get update
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
2. 安装 NVIDIA Docker
# Add the package repositories
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 update && sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker
3. 克隆 Apollo 仓库
git clone https://github.com/ApolloAuto/apollo.git
cd apollo
Demo 运行
1. 启动 Docker 容器
bash docker/scripts/dev_start.sh
2. 进入 Docker 容器
bash docker/scripts/dev_into.sh
3. 编译 Apollo
./apollo.sh build
4. 运行 Dreamview
./scripts/bootstrap.sh
打开浏览器访问 http://localhost:8888,你将看到 Apollo 的 Dreamview 界面。
5. 运行 Demo
在 Dreamview 界面选择 Modules -> Auto,然后点击Play 按钮,Demo 就会开始运行。
常见问题
- Docker 权限问题
- 解决方法:将当前用户添加到 docker 组
sudo usermod -aG docker $USER -
然后重新登录
-
NVIDIA 驱动问题
- 确保安装了正确的 NVIDIA 驱动
-
运行
nvidia-smi检查驱动状态 -
编译错误
- 确保所有依赖都已安装
- 清理后重新编译
./apollo.sh clean ./apollo.sh build
进阶建议
- 阅读 Apollo 官方文档,了解各个模块的功能
- 尝试修改 Demo 的参数,观察效果变化
- 参与 Apollo 社区,提问和分享经验
实践练习
- 尝试在不同的地图上运行 Demo
- 修改车辆参数,观察行为变化
- 学习如何添加新的传感器数据
通过本指南,你应该已经成功运行了第一个 Apollo 自动驾驶 Demo。接下来可以继续探索 Apollo 平台的其他功能,逐步深入自动驾驶的开发。
正文完
