文章目錄
- 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.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共享網絡的設定如下圖所示,不同手機可能不太一緻,需要仔細找找。
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIyVGduV2YfNWawNyZwpmLxgjZhFTM5UDN1YzMhJ2YhNjNjRDZyEzMwYTOxIWOilzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
【安裝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. 删除容器
或者
以删除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.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 以使改動生效。
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 鏡像環境(需要花費一些時間):
第一次運作的時候未将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參數屏蔽掉資料包中包含的感覺通道資料。
驗證檢測結果: 打開 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:
回放資料包。