Apollo安装全攻略

news2024/9/20 14:25:34

安装方式

  • 概述
  • 快速安装
    • 安装基础软件
      • 安装 Ubuntu Linux
      • 安装 Docker Engine
    • 安装 Apollo 环境管理工具
    • 获取 GPU 支持(可选)
    • 创建和进入 Apollo 环境容器
  • 源码安装
    • 安装 Linux 系统
    • (可选)安装 NVIDIA GPU 驱动
    • 安装 docker
    • 下载并编译 Apollo 源码
    • 运行 Dreamview 检验编译是否成功
  • 福利活动

在这里插入图片描述

主页传送门:📀 传送

概述


  Apollo(阿波罗)是一个流行的开源自动驾驶平台,为汽车行业和自动驾驶领域的合作伙伴提供了一个软件开发平台。本文将介绍Apollo的俩种不同安装方式,可以根据个人需求选择安装方式。

快速安装


  基于软件包的方式进行安装,方便开发者快速安装、快速体验。

安装基础软件


安装 Ubuntu Linux


根据官网的安装步骤一步步操作 安装 Ubuntu 18.04+ 的步骤,参见 官方安装指南。

注意:虽然其他发布版本的 Linux 也可能没问题,但只在纯净的 Ubuntu 系统,即 Ubuntu 18.04.5 LTS (Bionic Beaver) 中测试过 Apollo。因此,推荐您使用 Ubuntu 18.04.5+(包括 Ubuntu
20.04)作为主机的操作系统。

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

sudo apt-get update
sudo apt-get upgrade

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

安装 Docker Engine


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

参见 Install Docker Engine on Ubuntu。
还可以通过 Apollo 提供的安装脚本直接安装:

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

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

安装 Apollo 环境管理工具


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

  1. 添加 apt 源
    添加源和 key:
sudo bash -c "echo 'deb https://apollo-pkg-beta.cdn.bcebos.com/neo/beta bionic main' >> /etc/apt/sources.list"
wget -O - https://apollo-pkg-beta.cdn.bcebos.com/neo/beta/key/deb.gpg.key | sudo apt-key add -
sudo apt update
  1. 安装 apollo-neo-env-manager
    执行以下命令安装:
sudo apt install apollo-neo-env-manager-dev

成功安装后即可使用

aem -h

如果您对 aem 工具的功能感兴趣,可以查阅 aem - Apollo 环境管理工具。

获取 GPU 支持(可选)


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

车上的 Apollo 运行环境需要依赖 NVIDIA GPU 驱动。

注意:如果您不需要运行感知模块,只想播放数据包体验 Apollo,则不需要安装 NVIDIA 驱动。

您可以通过以下两种方式在 Ubuntu 上进行安装:
(推荐)apt-get 命令。
使用官方 runfile。

对于 Ubuntu 18.04+,只需执行以下命令即可:

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

可以输入 nvidia-smi 来校验 NVIDIA GPU 驱动是否在正常运行(可能需要在安装后重启系统以使驱动生效)。如果成功,则会出现以下信息:

Prompt> nvidia-smi
Mon Jan 25 15:51:08 2021
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.27.04    Driver Version: 460.27.04    CUDA Version: 11.2     |
|-------------------------------+----------------------+----------------------+
| 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 RTX 3090    On   | 00000000:65:00.0  On |                  N/A |
| 32%   29C    P8    18W / 350W |    682MiB / 24234MiB |      7%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1286      G   /usr/lib/xorg/Xorg                 40MiB |
|    0   N/A  N/A      1517      G   /usr/bin/gnome-shell              120MiB |
|    0   N/A  N/A      1899      G   /usr/lib/xorg/Xorg                342MiB |
|    0   N/A  N/A      2037      G   /usr/bin/gnome-shell               69MiB |
|    0   N/A  N/A      4148      G   ...gAAAAAAAAA --shared-files      105MiB |
+-----------------------------------------------------------------------------+

安装 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 环境容器


  1. 创建工作空间
    创建并进入目录
mkdir application-demo
cd application-demo
  1. 启动 apollo 环境容器
aem start

注意:默认的环境镜像已经包含 gpu 相关的依赖库,如您想以 gpu 模式启动容器可以使用start_gpu子命令。在使用start_gpu命令前,请务必确保已正确安装Nvidia显卡驱动以及Nvidia container toolkit

如果一切正常,将会见到类似下图的提示:
在这里插入图片描述
3. 进入 apollo 环境容器

aem enter

脚本执行成功后,将显示以下信息,您将进入 Apollo 的运行容器:

user_name@in-dev-docker:/apollo_workspace# 

工作空间文件夹将被挂载到容器的 /apollo_workspace 中。

  1. 初始化工作空间
aem init

至此 Apollo 环境管理工具及容器已经安装完成,接下来可以根据不同的使用场景按需安装不同的模块。

源码安装


帮助用户重新安装 Apollo 8.0 系统环境及 Apollo 8.0 源码 运行软件。

安装 Linux 系统


Apollo 软件系统依赖于 Linux 操作系统运行,而 Linux 操作系统种类繁多,且又分为服务器版本和桌面版本,这里我们选择当下比较流行的 Ubuntu 桌面操作系统的 64 位版本。

(可选)安装 NVIDIA GPU 驱动


同上

安装 docker


同上

下载并编译 Apollo 源码


安装 git 并将源码 clone 下来:

cd ~/
sudo apt update
sudo apt install git -y
git init
git clone https://github.com/ApolloAuto/apollo.git

代码下载的时间视网速的快慢而有所区别,请耐心等待。

启动并进入 docker 容器,在终端输入以下命令:

 cd ~/apollo
 bash docker/scripts/dev_start.sh

第一次进入 docker 时或者 image 镜像有更新时会自动下载 apollo 所需的 image 镜像文件,下载镜像文件的过程会很长,请耐心等待。

如果一切正常,则会见到以下信息:

[ OK ] Congratulations! You have successfully finished setting up Apollo Dev Environment.
[ OK ] To login into the newly created apollo_neo_dev_root container, please run the following command:
[ OK ]   bash scripts/edu_launcher.sh enter
[ OK ] Enjoy!

这个过程完成后,请输入以下命令以进入 docker 环境中:

bash docker/scripts/dev_into.sh

编译 Apollo 源码。

编译 Apollo,在终端输入以下命令,等待编译完成,编译过程耗时视机器配置的不同而有所区别,请耐心等待:

bash apollo.sh build

运行 Dreamview 检验编译是否成功


进入 Apollo 容器环境。

cd ~/apollo
 bash docker/scripts/dev_start.sh
 bash docker/scripts/dev_into.sh

注:如果您已在容器环境内,请忽略此步骤。

启动 dreamview。

在终端输入以下命令:

bash scripts/bootstrap.sh

如果启动成功,在终端会输出以下信息:

 nohup: appending output to 'nohup.out'
 Launched module monitor.
 nohup: appending output to 'nohup.out'
 Launched module dreamview.
 Dreamview is running at http://localhost:8888

在浏览器中输入以下地址访问 Dreamview:

http://localhost:8888
回放数据包。

在终端输入以下命令下载数据包:

wget https://apollo-system.cdn.bcebos.com/dataset/6.0_edu/demo_3.5.record

输入以下命令可以回放数据包,在浏览器 DreamView 中应该可以看到回放画面:

cyber_recorder play -f demo_3.5.record --loop

您的 Apollo 系统已经编译并成功运行。

福利活动

加入课程

在这里插入图片描述

Apollo开发者社区 观看课程学习apollo

课程进度可以拖动 几秒就能完成。

学完填表选心仪的奖品领奖就行

在这里插入图片描述

表单填写

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1144825.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

toon boom harmony基础

以下都是tbh快捷键使用,或者一些常用功能介绍 1、在节点视图中,按回车可直接弹出节点库搜索框 2、中心线编辑器 只能编辑用笔刷画出来的线条,铅笔画出来的线条无法编辑。 3、镜头标记 1 右键箭头方向,可弹出下拉,&am…

铁轨(Rails, ACM/ICPC CERC 1997, UVa 514)rust解法

有一个火车站,铁轨铺设如图6-1所示。有n节车厢从A方向驶入车站,按进站顺序编号为1~n。你的任务是判断是否能让它们按照某种特定的顺序进入B方向的铁轨并驶出车站。例如,出栈顺序(5 4 1 2 3)是不可能的,但(5 4 3 2 1)是…

jmeter中beanshell的用法小结

本文主要介绍了jmeter中beanshell的用法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 一、什么是Bean Shell BeanShell是用Java写成的,一个小型的、免费的、…

CV计算机视觉每日开源代码Paper with code速览-2023.10.26

精华置顶 墙裂推荐!小白如何1个月系统学习CV核心知识:链接 点击CV计算机视觉,关注更多CV干货 论文已打包,点击进入—>下载界面 点击加入—>CV计算机视觉交流群 1.【基础网络架构:Transformer】(Ne…

处理大数据的基础架构,OLTP和OLAP的区别,数据库与Hadoop、Spark、Hive和Flink大数据技术

处理大数据的基础架构,OLTP和OLAP的区别,数据库与Hadoop、Spark、Hive和Flink大数据技术 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开的话&am…

自学SLAM(5)《第三讲:李群和李代数》作业

前言 小编研究生的研究方向是视觉SLAM,目前在自学,本篇文章为初学高翔老师课的第三次作业。 文章目录 前言1.群的性质2.验证向量叉乘的李代数性质3.推导 SE(3) 的指数映射4.伴随5.轨迹的描绘6.* 轨迹的误差(附加题) 1.群的性质 课上我们讲解了什么是群。…

Linux--进程替换

1.什么是进程替换 在fork函数之后,父子进程各自执行代码的一部分,但是如果子进程想要执行一份全新的程序呢? 通过进程替换来完成,进程替换就是父子进程代码发生写时拷贝,子进程执行自己的功能。 程序替换就是通过特定的…

GPT出大错了!原来GPT不是万能的!这就是人类存在的意义!

目录 前言 测试方式 测试 问题一 问题二 问题三 问题四 结尾 前言 Chat GPT大家应该都听说过,但是它真的有想象中的那么强大吗?这篇文章带你深入了解。 这几个月GPT非常火爆,我也是经常用到。GPT是一个只能聊天机器人,能…

高等数学前置知识——二次函数

文章目录 二次函数1.1 二次函数1.2 二次函数的图像1.2.1 a > 0 时1.2.2 a < 0 时1.2.3 二次函数的平移1.2.4 普通二次型函数图像总结 1.3 其他形式的二次函数1.3.1 顶点式1.3.2 交点式 1.4 二次函数与直线的交点 二次函数 1.1 二次函数 二次函数的定义&#xff1a;y a…

贪心算法学习——最长单调递增子序列

目录 ​编辑 一&#xff0c;题目 二&#xff0c;题目接口 三&#xff0c;解题思路和代码 一&#xff0c;题目 给你一个整数数组 nums &#xff0c;找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列&#xff0c;删除&#xff08;或不删除&#xff09;数组…

STM32F4X SDIO(二) SDIO协议

上一节简单介绍了SD卡的分类&#xff0c;本节将会介绍SD卡的通信协议&#xff0c;也就是SDIO协议。 STM32F4X SDIO&#xff08;二&#xff09;SDIO协议 SD 卡管脚和寄存器SD卡管脚分布SD卡通信协议SD卡寄存器SD卡内部结构 SDIO总线SDIO总线拓扑SDIO总线协议SDIO协议的基本结构…

手写RPC框架

文章目录 什么是RPC框架RPC框架中的关键点通信协议序列化协议动态代理和反射 目前已有的RPC框架手写RPC框架介绍项目框架项目执行流程项目启动 什么是RPC框架 RPC&#xff08;Remote Procedure Call&#xff0c;远程过程调用&#xff09;, 简单来说遵循RPC协议的就是RPC框架. …

编程实例:洗车店会员管理系统软件一卡多项目管理编程

编程实例&#xff1a;洗车店会员管理系统软件一卡多项目管理编程 编程系统化课程总目录及明细&#xff0c;点击进入了解详情。 https://blog.csdn.net/qq_29129627/article/details/134073098?spm1001.2014.3001.5502 1、会员可以直接用手机号&#xff0c;并可以绑定车牌号 2…

进阶JAVA篇- Java 综合基本语法实践(习题一)

路漫漫其修远兮&#xff0c;吾将上下而求索。—— 屈原 目录 第一道题&#xff1a;集合的灵活运用 第二道题&#xff1a;基础编程能力 第三道题&#xff1a; 手写 ArrayList 集合&#xff08;模拟实现 ArrayList 核心API&#xff09; 第四道题&#xff1a;二分查找的应用 第五道…

设置Oracle数据库默认为spfle启动,并且设置数据库SGA大小和PGA大小

本次目标&#xff1a;设置数据库默认为spfle启动&#xff0c;并且数据库SGA大小为2G&#xff0c;PGA大小为200M 1、环境检查 Oracle 9i以后启动的时候默认使用的初始化文件是spfile&#xff0c;但是为了万一还是进行查看一下 首先&#xff0c;确认您的数据库当前是否使用pfi…

事件循环的学习、执行上文、this、执行栈和任务队列

事件循环 对于js运行中的任务&#xff0c;js有一套处理收集&#xff0c;排队&#xff0c;执行的特殊机制&#xff0c;我们称之为事件循环(Even Loop). &#x1f355;js一大特点就是单线程&#xff0c;同一个时间只能做一件事。为了协调事件、用户交互、脚本、UI渲染和网络处理…

FPGA_状态机工作原理

FPGA_状态机介绍和工作原理 状态机工作原理Mealy 状态机模型Moore 状态机模型状态机描述方式代码格式 总结 状态机工作原理 状态机全称是有限状态机&#xff08;Finite State Machine、FSM&#xff09;&#xff0c;是表示有限个状态以及在这些状态之间的转移和动作等行为的数学…

2023年正版win10/win11系统安装教学(纯净版)

第一步&#xff1a;准备一个8G容量以上的U盘。 注意&#xff0c;在制作系统盘时会格式化U盘&#xff0c;所以最好准备个空U盘&#xff0c;防止资料丢失。 第二步&#xff1a;制作系统盘。 安装win10 进入windows官网 官网win10下载地址&#xff1a;https://www.microsoft.c…

【精选】VMware部署ESXI6.5 vCenter Server详解

VMware部署ESXI6.5 vCenter Server 一、ESXi主机介绍1、虚拟机的好处2、为什么要使用虚拟机 二、虚拟化服务器概述1、VSphere物理架构2、体系架构3、VMware vSphere 组件 三、ESXi安装环境1、安装步骤2、使用VMware新建ESXi主机3、初始环境安装 四、创建虚拟机五、安装部署VMwa…

kr 第三阶段(五)32 位逆向

如何寻找 main 函数 对于低版本的 VC 编译器&#xff08;VC 6.0&#xff09;&#xff0c;main 函数在 PE 入口点 mainCRTStartup 函数中是倒数第 3 个函数调用&#xff0c;且参数个数为 3 个&#xff08;wmain 函数为 4 个参数&#xff09;。 对于高版本的 VC 编译器 程序入口…