1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 【Apollo学习笔记】从零开始Apollo系统安装

【Apollo学习笔记】从零开始Apollo系统安装

时间:2022-02-09 15:55:27

相关推荐

【Apollo学习笔记】从零开始Apollo系统安装

文章目录

1. Ubuntu 18.04 安装1.1 硬件环境1.2 Ubuntu 18.04安装以及遇到的问题 2. 常用软件的安装2.1 搜狗输入法2.2 Vscode2.3 Docker2.3.1 Docker的使用2.3.2 docker 存储位置的改变 2.4 Ubuntu截图软件的使用2.5 安装 NVIDIA GPU 驱动2.6 安装 NVIDIA Container Toolkit2.7 Ubuntu18.04 网页视频无法播放 3. Apollo beta软件包安装3.1 软件包CPU模块3.2 感知激光雷达功能测试3.2.1 启动 Apollo Docker 环境并进入3.2.2 下载 record 数据包3.2.3 安装 Apollo core 和 DreamView3.2.4 安装 transform、perception 和 localization3.2.5 模块运行3.2.6 结果验证 4. Apollo beta 源码安装4.1 下载并编译 Apollo 源码4.2 运行 Dreamview 检验编译是否成功

1. Ubuntu 18.04 安装

1.1 硬件环境

机型:联想拯救者 y9000p

CPU:intel i7 12700H

GPU:RTX 3060

硬盘:双SSD

1.2 Ubuntu 18.04安装以及遇到的问题

    具体安装过程参考下面这篇博文,(在安装双系统之前,记得把电脑里的重要数据、文件进行备份):

Win10安装Ubuntu18.04双系统,图文详解,全网最详细教程

    注意联想拯救者的BIOS进入方式与设置方式——按F2进入BIOS设置,联想拯救者 y9000p 的BIOS界面有些特殊,主要完成两个操作:Secure boot——Disable 、USB boot——Enable。完成之后退出保存,进入win系统,再重启,同样按F2,进入BIOS,调整windows和带有Ubuntu的U盘的启动优先级,之后就可以进入Ubuntu安装了。下面两篇博客提供了参考方案。

拯救者Y9000P 安装Ubuntu18.04 、Ros Melodic等相关配置过程中出现的错误及解决办法

联想拯救者Y9000P i7-12* + 3070Ti安装ubuntu20.04(解决wifi失效、亮度调节问题)

    联想拯救者 y9000p 机型比较新,但是Ubuntu 18.04系统内核较老,有些驱动是没有的,会使安装后的系统无法连上无线网、没有声卡、没有蓝牙。能安装20.04的就安装20.04,系统版本高就不会有这些问题了,但我还有其他需求,所以得用18.04.

    下面这篇博文给出了一些参考解决方案。

拯救者Y9000P ubuntu18.04问题总结

    我暂时没有蓝牙、声卡等需求,所以这些方案我还未尝试过。对于没有无线网(未找到WIFI适配器)这个问题,我是用手机开热点,开启USB网络共享,再用一根USB线连上电脑。具体操作参考下篇博文。USB共享网络的设置如下图所示,不同手机可能不太一致,需要仔细找找。

【安装Ubuntu18.04遇到的问题】未找到WIFI适配器

     另: 这篇博客给出了解决方案:拯救者y9000p 双系统 中ubuntu18.04无wifi适配器问题(亲测有效). 可能需要重复几次才能成功.

2. 常用软件的安装

2.1 搜狗输入法

    搜狗输入法的具体安装参考搜狗输入法的官网安装指南。对于Ubuntu18.04,搜狗输入法的版本过高,可能无法成功使用,所以需要安装低版本的搜狗输入法。具体操作见【Linux】43.ubuntu18.04安装搜狗输入法不能正常使用。也可以不用搜狗输入法,就用原本的ibus。

2.2 Vscode

    代码调试必备软件。参考安装教程ubuntu18.04系统下安装vscode教程。为了方便,可以直接从Ubuntu软件商店直接下载安装,很快很便捷,适合小白。

2.3 Docker

    Apollo依赖于 Docker 19.03+。Docker的安装可以看官网的操作指南Install Docker Engine on Ubuntu。如果不太明白的话,可以参考这篇博客ubuntu18.04上安装Docker。安装的过程可能有些长,需要耐心等待。

2.3.1 Docker的使用

参考博客:Docker 如何删除及清理镜像

1.查看容器列表

docker images

2. 删除容器

docker rmi [image]

或者

docker image rm [image]

以删除GPU镜像为例

可以看到提示信息,无法删除该镜像,因为有容器正在引用他!同时,这段信息还告诉我们,除非通过添加 -f 子命令,也就是强制删除,才能移除掉该镜像!

docker rmi -f docker.io/alpine

但是,我们一般不推荐这样暴力的做法,正确的做法应该是:

1.先删除引用这个镜像的容器;

2. 再删除这个镜像;

也就是,根据上图中提示的,引用该镜像的容器 ID (bf3231ee4051), 执行删除命令:

docker rm bf3231ee4051

可以看到,由于容器正在运行,还无法删除。所以需要暂停容器的运行。

docker stop bf3231ee4051

删除引用

docker rm bf3231ee4051

删除容器

docker rmi /apollo/apollo-env-gpu:0.0.2-beta

最后查看容器

可以看到GPU环境已经被成功删除

2.3.2 docker 存储位置的改变

Apollo的镜像内存体积还是不小的,对于根目录空间分配不足的电脑,有可能会将根目录空间占满,甚至出现编译失败等各种问题.为了避免此种情况,可以利用分区助手对磁盘分区进行调整,或者将docker的默认存储路径进行更改.直接参考下面文章即可.

修改docker默认存储路径方法总结

2.4 Ubuntu截图软件的使用

     Ubuntu自带截图功能,如上图所示,常用的截图功能有:

2.5 安装 NVIDIA GPU 驱动

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

sudo apt-get updatesudo apt-add-repository multiversesudo apt-get updatesudo apt-get install nvidia-driver-455

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

2.6 安装 NVIDIA Container Toolkit

基于 Apollo 的 CUDA 的 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.listsudo apt-get -y updatesudo apt-get install -y nvidia-docker2

安装完成后,重启 Docker 以使改动生效。

sudo systemctl restart docker

2.7 Ubuntu18.04 网页视频无法播放

ubunntu系统网页无法播放视频解决办法

新装的ubuntu18.04大概是没有安装视频解码

终端输入指令:

sudo apt-get install ffmpeg

第二步安装flash

sudo apt-get install flashplugin-installer

重启之后就可以打开网页的视频了,完美解决。

3. Apollo beta软件包安装

    按照官方教程去安装。Apollo开放平台Beta版文档

3.1 软件包CPU模块

    只用到CPU的模块与之前在WSL、云平台里的操作基本一致,运用到GPU的模块(如perception)与之前的操作还是有些不大一样的。建议先将NVIDIA Container Toolkit和 NVIDIA GPU 驱动先安装好,不然到时候可能会出现一些问题导致运行失败。

3.2 感知激光雷达功能测试

3.2.1 启动 Apollo Docker 环境并进入

1.输入以下命令获取 GPU 镜像环境(需要花费一些时间):

bash scripts/apollo_neo.sh start_gpu -f

    第一次运行的时候未将NVIDIA Container Toolkit和 NVIDIA GPU 驱动先安装好,环境是正常启动了,但是由于没有GPU驱动,依然启动的是CPU的环境,再拉镜像的时候,报了一堆warning,但没管它,最后mainboard启动激光雷达模块失败了。

等了一段时间,最后成功:

2.输入以下命令进入容器:

bash scripts/apollo_neo.sh enter

3.2.2 下载 record 数据包

输入以下命令下载数据包:

wget https://apollo-system./dataset/6.0_edu/sensor_rgb.tar.xz

创建目录并将下载好的安装包解压到该目录中:

sudo mkdir -p ./data/bag/sudo tar -xzvf sensor_rgb.tar.xz -C ./data/bag/

3.2.3 安装 Apollo core 和 DreamView

*注:Apollo core 仅应该在容器内进行安装,请勿在宿主机执行此步骤!

1.通过以下命令安装 Apollo core:

bash scripts/apollo_neo.sh install_core

中间报了些warning:最后成功安装:

2.在同一个终端,输入以下命令,安装 DreamView 程序。

buildtool install --legacy dreamview-dev monitor-dev

报了些warning:

最后安装完成:

3.2.4 安装 transform、perception 和 localization

1.在同一个终端,输入以下命令,安装 perception 程序。

buildtool install --legacy perception-dev

.12.22 再次安装时遇到一下问题

直接使用 apt 安装

sudo apt install apollo-neo-perception-dev

依然不行

2.输入以下命令安装 localization 、v2x 和 transform 程序。

buildtool install --legacy localization-dev v2x-dev transform-dev

3.2.5 模块运行

1.将/apollo/modules/common/data/global_flagfile.txt中增加数据包中 pointcloud_topic 数据:

vim /apollo/modules/common/data/global_flagfile.txt--pointcloud_topic=/apollo/sensor/velodyne64/compensator/PointCloud2

2.在同一个终端,输入以下命令,启动 Apollo 的 DreamView 程序。

bash scripts/apollo_neo.sh bootstrap

进入DreamView的网页,选择正确的模式、车型、地图。

在Module Controller 模块启动transform模块。

3.使用 mainboard 方式启动激光雷达模块:

mainboard -d /apollo/modules/perception/production/dag/dag_streaming_perception_lidar.dag

启动之后,我的终端显示的是这样的:

3.2.6 结果验证

再另开一个终端,进入Apollo容器,播放数据包:需要使用-k参数屏蔽掉数据包中包含的感知通道数据。

cyber_recorder play -f ./data/bag/sensor_rgb.record -k /perception/vehicle/obstacles /apollo/perception/obstacles /apollo/perception/traffic_light /apollo/prediction -l

验证检测结果: 打开 DreamView 左侧工具栏中的 LayerMenu,并将 Perception 中的 Point Cloud 打开。

查看结果:

视频地址:

CSDN:/v/263483

bilibili:/video/BV13e4y1K7fM/?spm_id_from=333.999.0.0&vd_source=67597beb15c6804a2da3e2d025e6963e

Apollo_beta_软件包_激光雷达测试

4. Apollo beta 源码安装

4.1 下载并编译 Apollo 源码

安装 git 并将源码 clone 下来:

cd ~/sudo apt upgradesudo apt updatesudo apt install git -ygit initgit clone /ApolloAuto/apollo.git

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

cd ~/apollobash docker/scripts/dev_start.sh

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

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

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

bash docker/scripts/dev_into.sh

编译 Apollo 源码。

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

bash apollo.sh build

编译成功:

4.2 运行 Dreamview 检验编译是否成功

进入 Apollo 容器环境(如果您已在容器环境内,请忽略此步骤)。

cd ~/apollobash docker/scripts/dev_start.shbash docker/scripts/dev_into.sh

启动 dreamview。

bash scripts/bootstrap.sh

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

在浏览器中输入http://localhost:8888访问 Dreamview:

回放数据包。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。