在ubuntu18.04上体验百度Apollo6.0自动驾驶

前言

Apollo 是优秀的自动驾驶开发框架,出自百度之手,目前已更新到 6.0 版本,本文旨在详细记录 Apollo 6.0 在 Ubuntu 18.04 中的完整安装及运行过程,并会阐述在虚拟机和物理机中进行安装时的细微区别。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

前置依赖软件安装

一、电脑配置

系统:Ubuntu20.04.2 LTS

内存:8G

CPU:[email protected]*8

GPU:NVIDIA GK208[GeForce GT 730]

二、预装软件

  • 安装 Ubuntu 18.04
  • 安装 NVIDIA 显卡驱动
  • 安装 Docker 引擎
  • 安装 NVIDIA 容器工具包

1.1 安装 Ubuntu 18.04

系统安装
此步骤就跳过了,有不懂的可以参考一些百度
更新和升级

完成系统安装后,配置 Ubuntu 软件仓库,并选择国内更稳定的镜像源,例如清华源:https://mirrors.tuna.tsinghua.edu.cn/ubuntu/
在这里插入图片描述
随后,进行更新和升级:

sudo apt-get update
sudo apt-get upgrade

1.2 安装 NVIDIA 显卡驱动

如果是在物理机中安装的 Ubuntu,且机器配有 NVIDIA 显卡,需要安装对应驱动:

sudo apt-get update
sudo apt-add-repository multiverse
sudo apt-get update
sudo apt-get install nvidia-driver-455

随后,可以通过在终端中执行 nvidia-smi 命令来查看 NVIDIA 显卡工作是否正常(完成驱动安装后可能需要重启),正常情况下终端将显示下面的信息:
在这里插入图片描述
注意: 如果是在虚拟机中安装的 Ubuntu 或物理机没有配置 NVIDIA 显卡,此步务必跳过,否则将导致后续步骤中启动 Apollo 开发容器时失败。虚拟机情况下这样做的根本原因是,虚拟机中无法虚拟 NVIDIA 显卡。

1.3 安装 Docker 引擎

Apollo 6.0 需要 Docker 19.03 及以上版本,在终端中直接执行下述命令即可完成 Docker 社区版的安装:

curl https://get.docker.com | sh
sudo systemctl start docker && sudo systemctl enable docker

重启 Docker 守护进程以使改动生效:

sudo systemctl restart docker

完成 Docker 安装后,在终端中执行下述命令并重启系统,这样可以免去每次执行 Docker 命令时需要添加 sudo 的繁琐:

sudo groupadd docker
sudo usermod -aG docker your_username

1.4 安装 NVIDIA 容器工具包

如果是在物理机中安装的 Ubuntu,且机器配有 NVIDIA 显卡,在安装了驱动的前提下,还需要安装 NVIDIA 容器工具包以运行 Apollo Docker 镜像中的 CUDA:

distribution=$(. /etc/os-release;echo I D ID IDVERSION_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

注意: 如果是在虚拟机中安装的 Ubuntu 或物理机没有配置 NVIDIA 显卡,此步同样需要跳过。

克隆 Apollo 源码

通过 SSH 方式或 HTTPS 方式克隆 Apollo 源码仓库:

# 使用 SSH 的方式
git clone [email protected]:ApolloAuto/apollo.git

# 使用 HTTPS 的方式
git clone https://github.com/ApolloAuto/apollo.git

GitHub 在国内访问速度可能很慢,可以使用 Gitee 替代:

# 使用 SSH 的方式
git clone [email protected]:ApolloAuto/apollo.git

# 使用 HTTPS 的方式
git clone https://gitee.com/ApolloAuto/apollo.git

启动 Apollo Docker 开发容器

进入到 Apollo 源码根目录,打开终端,执行下述命令以启动 Apollo Docker 开发容器:

./docker/scripts/dev_start.sh

不出意外得话,启动成功后将得到下面信息:

在这里插入图片描述
如果是在虚拟机中安装的 Ubuntu 或物理机没有配置 NVIDIA 显卡,但却又安装了 NVIDIA 驱动,则在执行上述启动容器的操作时将遇到下面的报错:
在这里插入图片描述
解决方法是直接卸载 NVIDIA 相关安装项:

sudo apt purge nvidia*

进入 Apollo Docker 开发容器

启动 Apollo Docker 开发容器后,执行下述命令进入容器:

./docker/scripts/dev_into.sh

可以发现,进入容器后终端信息发生了相应变化,后面的操作都将在容器中进行:

在这里插入图片描述

在容器中构建 Apollo

进入 Apollo Docker 开发容器后,在容器终端中执行下述命令构建 Apollo:

./apollo.sh build

构建成功后将得到下面的信息:

在这里插入图片描述

运行 Apollo

启动 Apollo

完成 Apollo 构建后,在容器终端中执行下述命令:

./scripts/bootstrap.sh start

上述命令会启动 DreamView 并使能模块监控机制,在浏览器中访问 http://localhost:8888 来显示 DreamView 界面:
在这里插入图片描述

选择驾驶模式和地图

在 DreamView 界面的对应下拉框中选择驾驶模式为“Mkz Standard Debug”,选择地图为“Sunnyvale with Two Offices”:
在这里插入图片描述

回放 Demo 数据

在容器终端中执行下述命令下载 demo 数据:

cd docs/demo_guide/
python3 record_helper.py demo_3.5.record

由于网络原因,下载可能失败,可以点击这里手动下载并将数据放到 apollo/docs/demo_guide/ 目录下。继续在容器终端中执行下述命令来播放数据,-l 表示循环播放(loop):

cyber_recorder play -f demo_3.5.record -l

至此,DreamView 界面中将呈现出自车规划轨迹、他车预测轨迹、路网等各种信息:

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_45066628/article/details/124305512
今日推荐