文章目录

  • 1. Ubuntu 18.04 安装
    • 1.1 硬件环境
    • 1.2 Ubuntu 18.04安装以及遇到的问题
  • 2. 常用软件的安装
    • 2.1 搜狗输入法
    • 2.2 Vscode
    • 2.3 Docker
      • 2.3.1 Docker的使用
      • 2.3.2 docker 存储位置的改变
    • 2.4 Ubuntu截图软件的使用
    • 2.5 安装 NVIDIA GPU 驱动
    • 2.6 安装 NVIDIA Container Toolkit
    • 2.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 和 DreamView
      • 3.2.4 安装 transform、perception 和 localization
      • 3.2.5 模块运行
      • 3.2.6 结果验证
  • 4. Apollo beta 源码安装
    • 4.1 下载并编译 Apollo 源码
    • 4.2 运行 Dreamview 检验编译是否成功

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适配器问题(亲测有效). 可能需要重复几次才能成功.

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的默认存储路径进行更改.直接参考下面文章即可.

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

2.4 Ubuntu截图软件的使用

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

功能 命令
复制截图到剪贴板 Ctrl + Print
复制窗口截图到剪贴板 Ctrl + Alt + Print
复制选区截图到剪贴板 Shift + Ctrl + Print
将屏幕截图保存到 图片 目录 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 数据包

  1. 输入以下命令下载数据包:
wget https://apollo-system.bj.bcebos.com/dataset/6.0_edu/sensor_rgb.tar.xz

  1. 创建目录并将下载好的安装包解压到该目录中:
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 ~/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:

回放数据包。

【Apollo学习笔记】从零开始Apollo系统安装相关推荐

  1. Apollo学习笔记

    Apollo学习笔记 Apollo课程 智能驾驶入门课程 无人驾驶概览 1.软件层分为三层: 实时操作系统(RTOS):确保在给定时间内完成特定任务,实时时确保系统稳定性.驾驶安全性的重要要求.通过在 ...

  2. Apollo学习笔记 进阶课程之三:定位技术②

    Apollo学习笔记 进阶课程之三:定位技术② 百度的无人驾驶定位方案 1).GNSS定位 GPS误差来源: 上图为单点定位,基于TOA 载波定位技术:(RPK技术,PPP技术) RPK:可以在五秒内 ...

  3. Apollo学习笔记3-定位模块配置

    Apollo学习笔记3-定位模块配置 环境介绍 导航设备参数配置 导航设备配置 (1)杆臂配置 (2)GNSS 航向配置 (3)导航模式配置 (4) USB 接口输出设置 (5)网口配置 (6) PP ...

  4. hpux安装oracle数据库,【学习笔记】HP-UNIX系统安装BUNDLE和补丁包的方法步骤

    天萃荷净 Oracle研究中心学习笔记:分享一篇关于HP-UNIX系统安装系统安装BUNDLE和补丁包的方法步骤. HPUX补丁包分2种: 1.BUNDLE在一起的: 2.单个的小补丁: 如果补丁包B ...

  5. Apollo星火计划学习笔记|L1 Apollo平台安装(2021年9月更新)

    系列文章目录 L1 Apollo平台安装 L2 CyberRT学习 L5 Routing简介 目录 系列文章目录 Apollo简介 Apollo安装 安装过程中遇到的问题. 综述文章 报名了百度apo ...

  6. Apollo学习笔记(4)坐标系

    百度Apollo项目用到了多种坐标系,其中帮助文档提及的坐标系包括: 全球地理坐标系(The Global Geographic coordinate system ) 局部坐标系-东-北-天坐标(T ...

  7. 【原创】强化学习笔记|从零开始学习PPO算法编程(pytorch版本)

    从零开始学习PPO算法编程(pytorch版本)_melody_cjw的博客-CSDN博客_ppo算法 pytorch 从零开始学习PPO算法编程(pytorch版本)(二)_melody_cjw的博 ...

  8. Apollo学习笔记1-ESD_CAN调试

    目录 适配 ESD CAN 1. ESD CAN卡安装 2.ESD CAN驱动安装 3.Apollo ESD CAN 库添加 适配 ESD CAN CANBUS模块是Apollo需要根据底盘协议写底盘 ...

  9. Apollo学习笔记(12)Lattice Planner规划算法

    本文主要参考Apollo开发者社区,以及一些大神的博客,在此膜拜,文末会奉上相关链接. Lattice Planner 规划算法简介 之前的相关的规划的算法都是放在无人驾驶专栏下的,Lattice P ...

最新文章

  1. 通过Spring配置文件中bean中的property赋值
  2. WAIC2021:优必选AMR智能物流机器人解决方案首次国内亮相
  3. 移动端html模板卡片列表效果,移动手机Material Design风格信息卡片UI设计
  4. 进程同步控制 Lock Semaphore Event
  5. .NET Core微服务系列基础文章索引(目录导航Final版)
  6. 【通知】有三个人指导以及VIP星球6月份之后升级,你的专属AI顾问了解一下
  7. 解决DeferredResult 使用 @ResponseBody 注解返回中文乱码
  8. NOP (code)_NOP指令作用及解析
  9. 论文浅尝 | 主题感知的问答生成
  10. 黑客使用一个UDP数据包可以打开任何HID门禁控制器
  11. 国内首个比特币勒索病毒案告破,三年获利 500 万!
  12. 数据采集无线网服务器软件,WIFI智能数据盒
  13. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-2.微信扫一扫功能开发前期准备...
  14. MATLAB中FFT的使用说明(含MATLAB代码)
  15. 软件工程之需求说明书
  16. Python下各种GUI(图形用户界面)简介、使用优缺点对比
  17. 常兴串口调试助手v3.6
  18. docker-comose入门到实战
  19. 脚踩智能汽车春风,百度踏上千亿美元市值征程
  20. Stratifyd入驻腾讯云市场,AI赋能品牌数字化升级

热门文章

  1. KS值和GINI系数
  2. 怎么做app开发?如何去开发适合自己企业的APP应用
  3. ANativeWindow
  4. 红外光谱曲线的基线调整
  5. IDEA 设置代码提示或自动补全的快捷键
  6. 【离散数学】群、环和域的关系
  7. vcruntime140_1.dll缺失
  8. Golang垃圾回收机制详解
  9. 什么是透传模块?为什么要透传?
  10. Resharper快捷键使用