1. Ubuntu 18.04 安装
1.1 硬件环境
机型:联想拯救者 y9000p 2022
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 2022 i7-12* + 3070Ti安装ubuntu20.04(解决wifi失效、亮度调节问题)
联想拯救者 y9000p 2022 机型比较新,但是Ubuntu 18.04系统内核较老,有些驱动是没有的,会使安装后的系统无法连上无线网、没有声卡、没有蓝牙。能安装20.04的就安装20.04,系统版本高就不会有这些问题了,但我还有其他需求,所以得用18.04.
下面这篇博文给出了一些参考解决方案。
拯救者Y9000P 2022 ubuntu18.04问题总结
我暂时没有蓝牙、声卡等需求,所以这些方案我还未尝试过。对于没有无线网(未找到WIFI适配器)这个问题,我是用手机开热点,开启USB网络共享,再用一根USB线连上电脑。具体操作参考下篇博文。USB共享网络的设置如下图所示,不同手机可能不太一致,需要仔细找找。
【安装Ubuntu18.04遇到的问题】未找到WIFI适配器
另: 这篇博客给出了解决方案:拯救者y9000p 双系统 中ubuntu18.04无wifi适配器问题(亲测有效). 可能需要重复几次才能成功.
安装ubuntu20.04将会解决大部分的问题。
显卡驱动安装后启动黑屏:ubuntu系统安装完显卡驱动出现黑屏和登录死循环的解决方法(新增惠普暗夜精灵7-3070显卡解决方法)
20.04 仍有亮度无法调节的问题,当切换到集显时,可以正常调节亮度。切换到独显时,无法调节亮度(NVIDIA驱动版本470)。搜寻网上各类教程,暂无解决方案。
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 registry.baidubce.com/apollo/apollo-env-gpu:0.0.2-beta
最后查看容器
可以看到GPU环境已经被成功删除
2.3.2 docker 存储位置的改变
Apollo的镜像内存体积还是不小的,对于根目录空间分配不足的电脑,有可能会将根目录空间占满,甚至出现编译失败等各种问题.为了避免此种情况,可以利用分区助手对磁盘分区进行调整,或者将docker的默认存储路径进行更改.直接参考下面文章即可.
2.4 Ubuntu截图软件的使用
Ubuntu自带截图功能,如上图所示,常用的截图功能有:
功能 | 命令 |
---|---|
复制截图到剪贴板 | Ctrl + Print |
复制窗口截图到剪贴板 | Ctrl + Alt + Print |
复制选区截图到剪贴板 | Shift + Ctrl + Print |
将屏幕截图保存到 图片 目录 | |
将窗口截图保存到 图片 目录 | Alt + Print |
将选区截图保存到 图片 目录 | Shift + Print |
记录一小段屏幕录像 | Shift + Ctrl + Alt + R |
2.5 安装 NVIDIA GPU 驱动
对于 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 驱动是否在正常运行(可能需要在安装后重启系统以使驱动生效)。如果成功,则会出现以下信息
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.list
sudo apt-get -y update
sudo 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.bj.bcebos.com/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
2022.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:https://live.csdn.net/v/263483
bilibili:https://www.bilibili.com/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 upgrade
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 镜像文件,下载镜像文件的过程会很长,请耐心等待。
如果一切正常,则会见到以下信息:
这个过程完成后,请输入以下命令以进入 docker 环境中:
bash docker/scripts/dev_into.sh
编译 Apollo 源码。
编译 Apollo,在终端输入以下命令,等待编译完成,编译过程耗时视机器配置的不同而有所区别,请耐心等待:
bash apollo.sh build
编译成功:
4.2 运行 Dreamview 检验编译是否成功
进入 Apollo 容器环境(如果您已在容器环境内,请忽略此步骤)。
cd ~/apollo
bash docker/scripts/dev_start.sh
bash docker/scripts/dev_into.sh
启动 dreamview。
bash scripts/bootstrap.sh
如果启动成功,在终端会输出以下信息:
在浏览器中输入http://localhost:8888
访问 Dreamview:
回放数据包。