Apollo自动驾驶平台安装指南与常见问题解决
2026/9/7 22:15:18 网站建设 项目流程

1. Apollo平台安装全流程解析

作为百度开源的自动驾驶开发平台,Apollo的安装过程确实存在不少"坑"。我在实际部署过程中发现,90%的问题都集中在环境准备和依赖项配置阶段。不同于普通软件的一键安装,Apollo对系统环境有着严格的要求,这也是许多开发者首次接触时容易踩雷的地方。

2. 环境准备阶段的关键要点

2.1 系统版本选择与验证

Apollo官方推荐使用Ubuntu 18.04 LTS版本,这是经过充分测试的稳定组合。我在实际测试中发现,即使使用Ubuntu 20.04也会遇到各种兼容性问题。建议通过以下命令确认系统版本:

lsb_release -a

重要提示:不要尝试在Windows子系统(WSL)中安装Apollo,这会导致后续GPU驱动和Docker兼容性问题。

2.2 硬件需求检查

Apollo对硬件有较高要求,特别是GPU支持。建议至少准备:

  • NVIDIA显卡(GTX 1080及以上)
  • 16GB以上内存
  • 100GB可用磁盘空间

验证GPU驱动是否正常:

nvidia-smi

如果显示"No devices were found",说明需要重新安装驱动。

3. 依赖项安装的常见问题

3.1 Docker安装与配置

Apollo强烈依赖Docker环境,但官方文档中的安装命令可能需要调整:

# 替代官方提供的安装命令 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

安装后务必执行:

sudo usermod -aG docker $USER

然后注销重新登录,否则会遇到权限问题。

3.2 CUDA和cuDNN的版本匹配

这是最容易出错的环节之一。Apollo 6.0需要:

  • CUDA 10.2
  • cuDNN 7.6.5

版本不匹配会导致编译失败。验证CUDA版本:

nvcc --version

4. Apollo源码获取与编译

4.1 源码下载注意事项

建议使用国内镜像加速下载:

git clone https://gitee.com/ApolloAuto/apollo.git cd apollo git checkout v6.0.0 # 指定稳定版本

常见问题:直接使用GitHub源可能下载速度极慢甚至中断。

4.2 编译过程中的典型错误

首次编译建议使用:

./apollo.sh build

可能遇到的错误及解决方案:

  1. "Protobuf版本冲突":删除系统原有protobuf

    sudo apt-get remove libprotobuf-dev
  2. "Eigen3 not found":手动指定Eigen路径

    sudo ln -s /usr/include/eigen3/Eigen /usr/include/Eigen
  3. "GPU support disabled":检查docker容器内nvidia-smi是否可用

5. 容器环境配置技巧

5.1 容器内网络配置

由于国内网络环境,需要修改容器内的apt源:

docker exec -it apollo_dev bash sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list apt update

5.2 持久化数据存储

默认情况下,容器停止后数据会丢失。建议将重要数据挂载到宿主机:

docker run -it --name apollo_dev \ -v /path/on/host:/apollo/data \ apolloauto/apollo:dev-x86_64-18.04-latest

6. 模拟环境搭建实战

6.1 Dreamview启动问题排查

启动Dreamview后无法访问localhost:8888?检查:

  1. 容器端口是否正确映射
  2. 防火墙是否阻止访问
  3. 容器内服务是否正常启动

6.2 激光雷达模拟数据注入

测试激光雷达模块时,可以使用官方提供的测试包:

cyber_recorder play -f docs/demo_guide/demo.bag -l

7. 性能优化建议

7.1 编译参数调整

对于性能较弱的机器,可以修改编译选项:

export USE_GPU=0 # 禁用GPU加速 ./apollo.sh build --local_resources 2048,1.0,1.0 # 限制资源使用

7.2 容器资源分配

适当限制容器资源可以防止系统卡死:

docker update --memory 8G --memory-swap 10G apollo_dev

8. 版本升级注意事项

从Apollo 5.0升级到6.0时,特别注意:

  1. 配置文件格式变化
  2. 新引入的Cyber RT框架
  3. 传感器接口变更

建议先备份原有工程:

tar -czvf apollo5_backup.tar.gz /apollo

9. 开发环境维护技巧

9.1 日常清理策略

定期执行以下命令释放空间:

docker system prune ./apollo.sh clean

9.2 多版本共存方案

如果需要同时维护多个Apollo版本,可以使用不同容器:

docker run -it --name apollo_5.0 -v $(pwd):/apollo apolloauto/apollo:5.0 docker run -it --name apollo_6.0 -v $(pwd):/apollo apolloauto/apollo:6.0

10. 社区资源利用

遇到问题时,建议按以下顺序查找解决方案:

  1. Apollo官方GitHub Issues
  2. Apollo中文社区论坛
  3. 百度开发者中心

提交issue时,应包含:

  • 系统环境信息
  • 完整错误日志
  • 已尝试的解决方案

我在实际项目中发现,90%的问题都能在社区找到答案。保持耐心,仔细阅读错误信息,大多数"坑"都有成熟的解决方案。最后提醒,Apollo的安装过程确实复杂,但一旦环境配置正确,后续开发会顺利很多。建议做好详细的安装记录,这对团队协作和后续维护都很有帮助。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询