Ubuntu 22.04.2 LTS安装Apollo8.0

news/2024/12/28 11:07:10/

本人硬件环境:

CPU:Intel Core i7 6700

显卡(GPU):NVIDIA GTX 3080 10G

内存:SAMSUNG DDR4 32GB

硬盘:双SSD系统盘 2T,双系统(windows,ubuntu)

一、安装Ubuntu 22.04.2 LTS

安装Ubuntu 22.04.2 LTS比较简单,这里不做细说。

安装完后如下图

二、安装 NVIDIA 显卡驱动

只需执行以下命令即可:

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

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

注意:现在 NVIDIA GeForce ...  On,这里,应该会是OFF。我由于安装了CUDA 12后,才显示On的。

重启

三、安装CUDA Toolkit 12.0,启用GPU

下载 CUDA Toolkit 12.0

下载地址:https://developer.nvidia.com/cuda-downloads?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exe_local 

 输入如下命令:

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.0.1/local_installers/cuda-repo-ubuntu2204-12-0-local_12.0.1-525.85.12-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-12-0-local_12.0.1-525.85.12-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-12-0-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda

安装完后,重启

重启后,执行nvidia-smi

看到GPU启用状态,就对了。

四、安装 docker ,Apollo 8.0依赖于Docker 19.03版本及以上,安装方式如下:

#首先,需要安装依赖并卸载旧版本
# 安装依赖项
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common


# 卸载旧版本(可能不存在)
sudo apt-get remove docker docker-engine docker-ce docker.io

#随后,添加docker官方提供的密钥并更新软件源
# 添加gpg密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -


# 设置stable存储库
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"


# 更新软件源
sudo apt-get update

#之后,直接安装最新版本的docker即可。
# 安装docker
sudo apt-get install docker-ce docker-ce-cli containerd.io

#安装完成后还需要添加权限
#添加docker用户组
sudo groupadd docker


#将登陆用户加入到docker用户组中
sudo gpasswd -a $USER docker


#更新用户组
newgrp docker

#设置开机自启动
sudo systemctl start docker && sudo systemctl enable docker
sudo systemctl enable docker.service
sudo systemctl enable containerd.service

五、下载Apollo8.0并编译 Apollo 源码

地址:GitHub - ApolloAuto/apollo: An open autonomous driving platform

apollo-master.zip,下载后,压缩文件是1.1G,解压至根目录下,并改目录名为:apollo

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

 cd ~/apollo

 bash docker/scripts/dev_start.sh 

执行后,看到如下界面

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

这里下载几十个G的数据,巨大

 

看到上面这界面,表示下载完成,并一切正常。

接下来输入以下命令以进入 docker 环境中:

 bash docker/scripts/dev_into.sh

看到下面界面,表示,进入了 docker 环境

 我们输入nvidia-smi来校验 NVIDIA GPU 在容器内是否能正常运行,如果成功,则会出现以下信息:

编译 Apollo 源码。

#切换到root权限,输入执行

sudo -s

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

bash apollo.sh build

出现如下界面,接着等待

等了接近一小时,终于大功告成,见如下界面。

 六、运行 Dreamview 检验编译是否成功

退出root权限,执行

exit

回到自身帐户

输入并执行

bash scripts/bootstrap.sh

在浏览器中输入以下地址访问 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 系统已经编译并成功运行。

 

完成,耗时,1.5天,主要下代码包,下了七八次(比较耗时),最终确定所有代码大小为1.1G后,开始后面的动作。 

 


http://www.ppmy.cn/news/27129.html

相关文章

【java基础】java八大基本数据类型和运算符

文章目录说明八大基本数据类型整型浮点型字符型布尔类型类型转换java运算符基础运算符二元运算符自增自减运算符关系和boolean运算符三元运算符位运算符运算符优先级说明 这里介绍java的八大基本数据类型和运算符 八大基本数据类型 java中有八大数据类型,4个整型…

如何保证数据的安全?对称和非对称加密,身份认证,摘要算法,数字证书等傻傻分不清?波哥图解带你彻底掌握

支付安全 1.基础概念 明文:加密前的消息叫“明文”(plain text) 密文:加密后的文本叫“密文”(cipher text) 密钥:只有掌握特殊“钥匙”的人,才能对加密的文本进行解密,…

【极海APM32替代笔记】低功耗模式配置及配置汇总

【极海APM32替代笔记】低功耗模式配置及配置汇总 文章总结:(后续更新以相关文章为准) 【STM32笔记】低功耗模式、WFI命令等进入不了休眠的可能原因(系统定时器SysTick一直产生中断) 【STM32笔记】HAL库低功耗模式配置…

HashMap(JDK1.8)源码+底层数据结构分析

HashMap 简介底层数据结构分析 JDK1.8 之前JDK1.8 之后 HashMap 源码分析 构造方法put 方法get 方法resize 方法 HashMap 常用方法测试 感谢 changfubai 对本文的改进做出的贡献! HashMap 简介 HashMap 主要用来存放键值对,它基于哈希表的 Map 接口实现…

华为OD机试真题Python实现【RSA 加密算法】真题+解题思路+代码(20222023)

RSA 加密算法 题目 RSA 加密算法在网络安全世界中无处不在 它利用了极大整数因数分解的困难度,数据越大安全系数越高 给定了一个32位正整数,请对其进行因数分解 找出哪两个素数的乘积 🔥🔥🔥🔥🔥👉👉👉👉👉👉 华为OD机试(Python)真题目录汇总 ## 输…

Java 数组(详细教学 基础篇)

一、数组的基本要素 标识符:数组的名称数组元素:数组中存放的数据元素下标:对数组元素进行编号,数组下标从0开始来访问元素类型:数组元素的数据类型 二、数组的五种赋值方法和使用方法 声明数组 int[] arr;//开辟三个…

【Mybatis源码分析】datasource配置${}表达式时是如何被解析的?

核心配置中${}表达式配置的解析一、核心配置主体二、核心配置文件中properties是如何被解析的?三、${} 表达式的解析四、总结前提: 核心配置文件是被XMLConfigBuilder 对象进行解析的,configuration 对象是由它父类BaseBuider继承下来的属性…

黑马 Vue 快速入门 笔记

黑马 Vue 快速入门 笔记0 VUE相关了解0.1 概述0.2 MVVM0.3 JavaScript框架0.4 七大属性0.5 el:挂载点1 VUE基础1.0 第一个vue代码:Hello,vue1.1 v-bind 设置元素的属性 简写 :1.2 v-if , v-else , v-else-ifv-if , v-e…