百度Apollo探索之旅:迈出第一步基础软件安装指南(文末赠送apollo周边)

简介: 百度Apollo探索之旅:迈出第一步基础软件安装指南(文末赠送apollo周边)

步骤一:安装基础软件

1. 安装 Ubuntu Linux

安装 Ubuntu 18.04+ 的步骤,参见 官方安装指南

完成安装后更新相关软件:

sudo apt-get update
sudo apt-get upgrade

‍注意:若要完成更新,需要保证网络连接。

2. 安装 Docker Engine

Apollo 依赖于 Docker 19.03+。安装 Docker 引擎,您可以根据官方文档进行安装:

wget http://apollo-pkg-beta.bj.bcebos.com/docker_install.sh

bash docker_install.sh

这个过程可能会运行多次脚本,根据脚本提示执行即可。

步骤二(可选):获取 GPU 支持

Apollo某些模块需要GPU的支持才能够编译、运行(例如感知模块),如果您需要使用此类模块,需要安装Nvidia显卡驱动以及Nvidia container toolkit以获取GPU支持。

‍注意:本教程只适用于ubuntu系统,虚拟机无法安装显卡驱动,wsl请自行上网搜索 注意:如果您之前已经安装过Nvidia显卡驱动,即往终端输入nvidia-smi能够正常输出,可以跳过1.安装显卡驱动小节

1.安装驱动

可参照官网方法安装驱动官网驱动

显卡驱动和CUDA版本兼容性,由于nvidia的硬件更新的很快,因此会遇到显卡驱动和CUDA版本不兼容的情况,以下为我们测试的畅通链路。

显卡系列 测试显卡 驱动版本 最低支持驱动版本 cuda版本
GeForce 10 Series GeForce GTX 1080 nvidia-driver-470.160.03 nvidia-driver-391.35 CUDA Version :11.4
GeForce RTX 20 Series GeForce RTX 2070 SUPER nvidia-driver-470.63.01 nvidia-driver-456.38 CUDA Version :11.4
GeForce RTX 30 Series GeForce RTX 3090 nvidia-driver-515.86.01 nvidia-driver-460.89 CUDA Version :11.6
GeForce RTX 30 Series GeForce RTX 3060 nvidia-driver-470.63.01 nvidia-driver-460.89 CUDA Version :11.4
Tesla V-Series Tesla V100 nvidia-driver-418.67 nvidia-driver-410.129 CUDA Version :10.1
AMD MI100 dGPU ROCm™ 3.10 driver

10、20、30系列显卡推荐使用470.63.01版本的驱动 ,您可以通过Nvidia官网来下载驱动

下载之后,找到相应的文件夹打开终端输入安装指令:

sudo chmod 777 NVIDIA-Linux-x86_64-470.63.01.run
sudo ./NVIDIA-Linux-x86_64-470.63.01.run

安装完毕后,您可以通过nvidia-smi指令来检查驱动是否安装成功,如果一切正常,您可以看到类似以下的提示:

ue Jan  3 12:04:21 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.91.03    Driver Version: 470.63.01    CUDA Version: 11.4     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  GeForce GTX 1080    Off  | 00000000:01:00.0 Off |                  N/A |
|  0%   38C    P8     7W / 198W |    239MiB /  8118MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      2566      G   /usr/lib/xorg/Xorg                 18MiB |
|    0   N/A  N/A      2657      G   /usr/bin/gnome-shell               67MiB |
|    0   N/A  N/A      6104      G   /usr/lib/xorg/Xorg                132MiB |
|    0   N/A  N/A      6234      G   /usr/bin/gnome-shell               13MiB |
|    0   N/A  N/A      7440      G   gnome-control-center                1MiB |
+-----------------------------------------------------------------------------+

2. 安装 Nvidia container toolkit

为了在容器内获得 GPU 支持,在安装完 docker 后需要安装 NVIDIA Container Toolkit。 运行以下指令安装 NVIDIA Container Toolkit:

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 -y update
sudo apt-get install -y nvidia-docker2

安装完毕后,需要手动重启下docker:

sudo systemctl restart docker

步骤三:安装 Apollo 环境管理工具

Apollo 环境管理工具是一个帮忙管理和启动 Apollo 环境容器的命令行工具。

1. 安装依赖软件

sudo apt-get update
sudo apt-get install ca-certificates curl gnupg

2. 在宿主机添加 Apollo 软件源的 gpg key,并设置好源和更新

  • 添加 gpg key
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://apollo-pkg-beta.cdn.bcebos.com/neo/beta/key/deb.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/apolloauto.gpg
sudo chmod a+r /etc/apt/keyrings/apolloauto.gpg

设置源并更新

echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/apolloauto.gpg] https://apollo-pkg-beta.cdn.bcebos.com/apollo/core"\
$(. /etc/os-release && echo "$VERSION_CODENAME") "main" | \
sudo tee /etc/apt/sources.list.d/apolloauto.list
sudo apt-get update
• 1
• 2
• 3
• 4
• 5

注:如果之前已经安装过8.0版本的apollo的话,在宿主机上的/etc/apt/sources.list文件中会有形如 deb https://apollo-pkg-beta.cdn.bcebos.com/neo/beta bionic main的配置,可以直接删除,宿主机上的apollo源配置仅用于安 装aem工具。

3. 安装aem:

sudo apt install apollo-neo-env-manager-dev --reinstall
• 1

安装成功后即可使用

aem -h
• 1

步骤四:安装示例工程

1. 选择示例工程

Apollo 目前提供了3个示例工程,您可以根据需要选择其一

  • application-core , 包含 Apollo 所有开源软件包,可以基于此工程搭建自己的应用
  • application-pnc , 仅包含 规划控制相关的软件包,适合仅关注规划控制方向的用户
  • application-perception , 仅包含感知相关的软件笣,适合仅关注感知方向的用户

2. 克隆工程

以 application-core 为例

git clone https://github.com/ApolloAuto/application-core.git application-core

3. 启动 Apollo 环境容器

先进入工程目录

cd application-core

启动容器

aem start

4. 进入 Apollo 环境容器

1.先进入工程目录

cd application-core

2. 进入容器

aem enter

5. 安装软件包

示例工程中包含一个名为 core 目录,其中 core/cyberfile.xml 文件中描述了工程所依赖软件包,可以通过 buildtool 工具进行依赖包的安装

buildtool uild -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+ 界面,您可以选择默认模式,也可以选择其他模式播放数据包。本小节以默认模式为例。

  1. 选择 Default Mode
  2. 勾选 Accept the User Agreement and Privacy Policy/接受用户协议和隐私政策 ,并单击 Enter this Mode 进入 Mode Settings/模式设置 页面。
  3. Mode Settings/模式设置页面,设置播包参数。
  • Operations/操作 中选择 Record
  • Environment Resources/环境资源 中,单击 Records/数据包 ,并选择具体想要播放的数据包。
  • Environment Resources/环境资源 中,单击 HDMap/高精地图 ,并选择 Sunnyvale Big Loop
  1. 单击底部区域播放按钮。

    可以在 Vehicle Visualization/车辆可视化 中看到数据包播放的画面。

通过命令行播放数据包

  1. 进入 docker 环境,
  2. 在 Dreamview+ 中 Resource Manager/资源管理 > Records/数据包 中先下载需要的数据包。输入以下命令播放数据包:
    cyber_recorder play -f ~/.apollo/resources/records/数据包名称 -l

‍注意:如果您想要循环播放数据包,添加 -l,如果不循环播放数据包,则不需要添加 -l。

安装目录结构说明

至此,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感知实践

步骤六:删除工程(可选)

此步骤说明如何删除已安装的工程

1. 删除容器

application-core 工程为例

# 先进入工程目录
cd application-core
# 删除容器
aem remove

2. 删除工程

# 回到上一级目录
cd ..
# 删除工程目录
rm -r application-core

我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=1ubkjh9xtzpzq

目录
相关文章
|
SpringCloudAlibaba Java 程序员
阿里最新产,SpringCloud微服务核心技术全解手册Github星标50k
SpringCloud想必每一位Java程序员都不会陌生,很多人一度把他称之为“微服务全家桶”,它通过简单的注解,就能快速地架构微服务,这也是SpringCloud的最大优势。但是最近有去面试过的朋友就会发现,现在面试你要是没有SpringCloud经验基本面试机会都不会有。
|
19天前
|
安全 前端开发 开发工具
【01】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-优雅草卓伊凡拟开发一个一站式家政服务平台-前期筹备-暂定取名斑马家政软件系统-本项目前端开源-服务端采用优雅草蜻蜓Z系统-搭配ruoyi框架admin后台-全过程实战项目分享-从零开发到上线
【01】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-优雅草卓伊凡拟开发一个一站式家政服务平台-前期筹备-暂定取名斑马家政软件系统-本项目前端开源-服务端采用优雅草蜻蜓Z系统-搭配ruoyi框架admin后台-全过程实战项目分享-从零开发到上线
56 5
【01】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-优雅草卓伊凡拟开发一个一站式家政服务平台-前期筹备-暂定取名斑马家政软件系统-本项目前端开源-服务端采用优雅草蜻蜓Z系统-搭配ruoyi框架admin后台-全过程实战项目分享-从零开发到上线
|
8月前
|
负载均衡 Java Linux
黑马头条01,环境搭建,今日头条的介绍,今日头条的功能架构图,技术栈的说明,服务层,nacos(奶靠丝)安装,安装在Linux服务器上环境准备,
黑马头条01,环境搭建,今日头条的介绍,今日头条的功能架构图,技术栈的说明,服务层,nacos(奶靠丝)安装,安装在Linux服务器上环境准备,
|
10月前
|
消息中间件 缓存 算法
太全!不愧是Github爆火的阿里812页高并系统设计核心技术全解
某乎上有这样一个问答:现在好点的互联网公司招聘基本都要求有高并发经验,但没有高并发的经验的人感觉只有在好点的互联网才获得高并发经验,这难道不是死循环?没有高并发经验的人如何才能获取高并发方面的经验呢? 如何获取高并发经验? 其实并不是去了大公司就能获得高并发的经验,高并发只是一个结果,并不是过程。在来自全人类的高并发访问面前,一切都有可能发生,所以我们经常能看到顶级网站的颤抖。想要获得高并发经验基础最重要,这包括算法,操作系统,jvm,数据库,缓存,多线程等等。这些独立而又关联的知识其实书本里都有,我们需要时不时地去温习,不能一直痴迷于框架,框架只会挡住你的眼睛,让你觉得什么都不重要。大并发
|
10月前
|
传感器 自动驾驶 数据可视化
Apollo 开放平台9.0 :百度驾自动驾驶技术的全新升级(文末赠送apollo周边)
Apollo 开放平台9.0 :百度驾自动驾驶技术的全新升级(文末赠送apollo周边)
237 1
|
设计模式 Cloud Native Java
GitHub爆出阿里内部突击路线+配套学习资源,直接霸榜
又到了一年一度的备战秋招的时间,虽然这两年因为经济环境不太好,年初互联网行业的各大厂都再裁员,前半年的行业发展趋于平稳,随着经济形势正在复苏,今年秋招各个公司hc也逐渐开放,很多小伙伴也反馈面试机会变多了,想查缺补漏冲刺大厂,我软磨硬泡终于从阿里p8手里弄来了突击秘籍,分享给大家。 涨薪秘籍从Java核心并发开始,到经典的框架源码设计模式、分布式微服务架构设计、微服务NetFilx体系和Alibaba体系、微服务架构性能调优、云原生以及虚拟化、Spring Cloud Alibaba项目实战。
197 2
GitHub爆出阿里内部突击路线+配套学习资源,直接霸榜
|
架构师 Java 程序员
同事开源我的微服务深度实践笔记到GitHub,短短3天竟吸粉10W+
说Spring成就了Java,Spring是Java程序员必修课之一,应该没人反对吧? 前几年面试最常问的且可以顺利拿到高薪的技能是Spring,随着Spring体系的壮大,除非你在简历上添加Spring Boot和Spring Cloud的技能,才可以打动面试官,而现在,除非是Spring架构的扎实经验,否则难以让面试官高看。 一名合格的Java后端工程师或架构师,至少微服务架构是必须牢牢掌握的,这里也整理了整套微服务架构学习路线,准备作为福利送给大家,可以先看一下重点简图。
|
SQL NoSQL 小程序
手把手教你利用开源项目搭建一个属于自已的电商平台
手把手教你利用开源项目搭建一个属于自已的电商平台
548 0
手把手教你利用开源项目搭建一个属于自已的电商平台
|
Java Nacos Maven
配置中心新贵:Nacos,阿里开源,真香!!
本文探讨Nacos作为配置中心,如何实现不同环境(开发、测试、灰度、正式)的配置管理问题。
配置中心新贵:Nacos,阿里开源,真香!!
|
人工智能 小程序 物联网
开放下载,多场景多实战《阿里云AIoT造物秘籍》,值得收藏!
万物智联的时代,智能家居物联网设备越来越受欢迎、医疗保健行业的大幅增长、人工智能和物联网的结合增强,开发者如何才能快速入门阿里云AIoT设备端接入?
61905 0
开放下载,多场景多实战《阿里云AIoT造物秘籍》,值得收藏!

热门文章

最新文章