【Apollo】ubuntu20.04源码安装apollo8.0

news2024/12/23 0:24:53

官方源码安装教程

https://blog.csdn.net/weixin_45929038/article/details/120113008

安装NVIDIA GPU驱动

Apollo 8.0 的一些模块的编译和运行需要依赖 NVIDIA GPU 环境(例如感知模块),如果有编译和运行这类模块的需求,则需要安装 NVIDIA GPU 驱动。

三种方式安装显卡驱动

Linux系统安装NVIDIA显卡驱动

apt 安装
sudo apt-get update
sudo apt-add-repository multiverse
sudo apt-get update
sudo apt-get install nvidia-driver-525
官方驱动安装

官方驱动下砸

NVIDIA Driver Downloads

(软件与更新)附加驱动安装
安装测试
nvidia-smi

安装docker

Apollo 8.0 依赖于 Docker 19.03+。要安装 Docker,参见我的笔记。

ubuntu20.04安装docker教程

安装测试

docker -v
# output
Docker version 24.0.7, build afdd53b

安装NVIDIA Container Toolkit (可选)

为了在容器内获得 GPU 支持,在安装完 docker 后需要安装 NVIDIA Container Toolkit

基于Apollo的CUDA的docker镜像需要依赖于NVIDIA Container Toolkit。

Installing the 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 源码

安装 git 并将源码 clone 下来
cd ~/
sudo apt update
sudo apt install git -y
git init
git clone https://github.com/ApolloAuto/apollo.git
# 可以用IDM或者xdm加速器下载(超级快)
https://github.com/ApolloAuto/apollo

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

启动并进入 docker 容器
 cd ~/apollo
 bash docker/scripts/dev_start.sh

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

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

[ 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

进入容器后,如果在步骤二和步骤四分别安装了 NVIDIA GPU 驱动NVIDIA Container Toolkit,可以输入nvidia-smi来校验 NVIDIA GPU 在容器内是否能正常运行,如果成功,则会出现以下信息:

NVIDIA-SMI 525.147.05   Driver Version: 525.147.05   CUDA Version: 12.0 
******
编译 Apollo 源码
# 普通编译
bash apollo.sh build

# 优化模式编译(GPU)
bash apollo.sh build_opt_gpu
# 优化模式编译(CPU)
bash apollo.sh build_cpu

编译成功以后,将显示如下字样

(02:26:51) INFO: Elapsed time: 849.925s, Critical Path: 164.47s
(02:26:52) INFO: 26743 processes: 18504 internal, 8239 local.
(02:26:52) INFO: Build completed successfully, 26743 total actions
+ set +x
==============================================
[ OK ] Done building apollo. Enjoy!
==============================================

启动Dreamview测试编译是否成功

完成编译后,即可在Docker环境下启动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'
[ OK ] Launched module monitor.
nohup: appending output to 'nohup.out'
[ OK ] Launched module dreamview.
Dreamview is running at http://localhost:8888

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

https://localhost:8888

在这里插入图片描述

  • 回放数据包

  • 首先需要下载record数据包(类似于ROS中的bag数据包)

wget https://apollo-system.cdn.bcebos.com/dataset/6.0_edu/demo_3.5.record
  • 随后使用cyber RT运行播放数据

选项 –loop 用于设置循环回放模式

即可在Dreamview中查看播放的数据了

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

在这里插入图片描述

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

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

相关文章

时间序列预测 — BiLSTM实现多变量多步光伏预测(Tensorflow)

目录 1 数据处理 1.1 导入库文件 1.2 导入数据集 1.3 缺失值分析 2 构造训练数据 3 模型训练 3.1 BiLSTM网络 3.2 模型训练 4 模型预测 1 数据处理 1.1 导入库文件 import time import datetime import pandas as pd import numpy as np import matplotlib.pyplot…

已经写完的论文怎么降低查重率 papergpt

大家好,今天来聊聊已经写完的论文怎么降低查重率,希望能给大家提供一点参考。 以下是针对论文重复率高的情况,提供一些修改建议和技巧: 已经写完的论文怎么降低查重率 背景介绍 在学术界,论文的查重率是评价论文质量的…

QT----第三天,Visio stdio自定义封装控件

目录 第三天1 自定义控件封装 源码:CPP学习代码 第三天 1 自定义控件封装 新建一个QT widgetclass,同时生成ui,h,cpp文件 在smallWidget.ui里添加上你想要的控件并调试大小 回到mainwidget.ui,拖入一个widget(因为我们封装的也…

MES系统在制造企业数字化工厂中扮演着什么角色?

MES是制造执行系统(Manufacturing Execution System)的缩写。它是一种用于监控和管理制造过程的数字化管理系统,旨在优化生产流程、提高效率并确保产品质量。通过整合各种生产环节,MES系统为企业提供了更高效、更智能的生产管理方…

LangChain学习二:提示-实战(下半部分)

文章目录 上一节内容:LangChain学习二:提示-实战(上半部分)学习目标:提示词中的示例选择器和输出解释器学习内容一:示例选择器1.1 LangChain自定义示例选择器1.2 实现自定义示例选择器1.2.1实战&#xff1a…

【大数据】Doris 架构

Doris 架构 Doris 的架构很简洁,只设 FE(Frontend)、BE(Backend)两种角色、两个进程,不依赖于外部组件,方便部署和运维,FE、BE 都可线性扩展。 ✅ Frontend(FE&#xff0…

MySQL概述

数据库相关概念 名称全称简称数据库存储数据的仓库,数据是有组织的进行存储DataBase (DB)数据库管理系统操纵和管理数据库的大型软件。有关系型数据库(RDBMS)与非关系型数据库(NoSQL)两种DataBase Management System (DBMS)SQL操作关系型数据库的编程语言&#xff…

MySQL 8.x temp空间不足问题

目录 一、系统环境 二、问题报错 三、问题回顾 四、解决问题 一、系统环境 系统Ubuntu20.04 数据库版本MySQL 8.0.21 二、问题报错 在MySQL上执行一个大的SQL查询报错Error writing file /tmp/MYfd142 (OS errno 28 - No space left on device) Exception in thread …

记录 | linux安装Manim

linux 安装 Manim sudo apt update sudo apt install build-essential python3-dev libcairo2-dev libpango1.0-dev ffmpeg sudo apt install xdg-utilsconda create manim_py39 python3.9 conda activate manim_py39pip install manim安装好环境后来测试一个例程,…

GO闭包实现原理(汇编级讲解)

go语言闭包实现原理(汇编层解析) 1.起因 今天开始学习go语言,在学到go闭包时候,原本以为go闭包的实现方式就是类似于如下cpp lambda value通过值传递,mutable修饰可以让value可以修改,但是地址不可能一样value通过引用传递,但是在其他地方调用时,这个value局部变量早就释放,…

freemarker+Aspose.word实现模板生成word并转成pdf

需求:动态生成pdf指定模板 实现途径:通过freemarker模板,导出word文档,同时可将word转为pdf。 技术选择思路 思路一:直接导出pdf 使用itext模板导出pdf 适用范围 业务生成的 pdf 是具有固定格式或者模板的文字及其…

Spring Boot 3 整合 Mybatis-Plus 动态数据源实现多数据源切换

🚀 作者主页: 有来技术 🔥 开源项目: youlai-mall 🍃 vue3-element-admin 🍃 youlai-boot 🌺 仓库主页: Gitee 💫 Github 💫 GitCode 💖 欢迎点赞…

【数学建模】《实战数学建模:例题与讲解》第十一讲-因子分析、聚类与主成分(含Matlab代码)

【数学建模】《实战数学建模:例题与讲解》第十一讲-因子分析、聚类与主成分(含Matlab代码) 基本概念聚类分析Q型聚类分析R型聚类分析 主成分分析因子分析 习题10.11. 题目要求2.解题过程3.程序4.结果 习题10.21. 题目要求2.解题过程3.程序4.结…

【密码学引论】密钥管理

密码体制的安全应当只取决于密钥的安全,而不取决于对密码算法的保密。密钥管理包括密钥的产生、存储、分配、组织、使用、停用、更换、销毁等一系列技术问题密钥管理问题分为:技术问题、管理问题、人员素质问题密钥管理的原则:区分密钥管理的…

掌握iText:轻松处理PDF文档-高级篇-添加水印

前言 iText作为一个功能强大、灵活且广泛应用的PDF处理工具,在实际项目中发挥着重要作用。通过这些文章,读者可以深入了解如何利用iText进行PDF的创建、编辑、加密和提取文本等操作,为日常开发工作提供了宝贵的参考和指导。 掌握iText&…

数字人er-nerf安装

目录 服务器环境 环境准备 1.下载源码 2.安装Ancoda环境 3.安装cudatoolkit 4.安装cuDNN 5.安装pytorch 6.安装requirements 7.安装tensorflow 8.安装pytorch3d 9.gcc安装 训练准备 训练 最近安装er-nerf,安装了很久,各种报错,我…

go学习之反射知识

反射 文章目录 反射1、反射的使用场景1)结构体标签的应用2)使用反射机制编写函数的适配器(桥连接) 2、反射的基本介绍-1.基本介绍-2.反射的图解-3.反射重要的函数和概念 3.反射快速入门-1.请编写一个函数,演示对&#…

【Vue】router.push用法实现路由跳转

目录 router.push用法 在Login.vue中 在Register.vue中 ​ 上一篇:登录与注册界面的制作 https://blog.csdn.net/m0_67930426/article/details/134895214?spm1001.2014.3001.5502 制作了登录与注册界面,并介绍了相关表单元素即属性的用法 在登录页面…

OpenHarmony应用开发——创建第一个OpenHarmonry工程

一、前言 本文主要介绍DevEco Studio的相关配置,以及创建第一个OpenHarmony应用程序。 二、详细步骤 打开DevEco Studio. 进入Settings. 随后SDK选择OpenHarmony,并完成下述API的选择与下载. 等待下载完成后,创建第一个Project. 此处选择Emp…

区块链技术的未来,了解去中心化应用的新视角

小编介绍:10年专注商业模式设计及软件开发,擅长企业生态商业模式,商业零售会员增长裂变模式策划、商业闭环模式设计及方案落地;扶持10余个电商平台做到营收过千万,数百个平台达到百万会员,欢迎咨询。 随着…