【Apollo】推動創新:探索阿波羅自動駕駛的進步(含安裝 Apollo的詳細教程)

在這里插入圖片描述
前言

Apollo (阿波羅)是一個開放的、完整的、安全的平臺,將幫助汽車行業及自動駕駛領域的合作伙伴結合車輛和硬件系統,快速搭建一套屬于自己的自動駕駛系統。
開放能力、共享資源、加速創新、持續共贏是 Apollo 開放平臺的口號。百度把自己所擁有的強大、成熟、安全的自動駕駛技術和數據開放給業界,旨在建立一個以合作為中心的生態體系,發揮百度在人工智能領域的技術優勢,為合作伙伴賦能,共同促進自動駕駛產業的發展和創新。
Apollo 自動駕駛開放平臺為開發者提供了豐富的車輛、硬件選擇,強大的環境感知、高精定位、路徑規劃、車輛控制等自動駕駛軟件能力以及高精地圖、仿真、數據流水線等自動駕駛云服務,幫助開發者從 0 到 1 快速搭建一套自動駕駛系統。


📕作者簡介:熱愛跑步的恒川,致力于C/C++、Java、Python等多編程語言,熱愛跑步,喜愛音樂的一位博主。
📗本文收錄于Apollo的學習錄系列,大家有興趣的可以看一看
📘相關專欄C語言初階、C語言進階系列等,大家有興趣的可以看一看
📙Python零基礎入門系列,Java入門篇系列、docker技術篇系列正在發展中,喜歡Python、Java、docker的朋友們可以關注一下哦!

探索阿波羅自動駕駛的進步

  • 步驟一:安裝基礎軟件
    • 1. 安裝 Ubuntu Linux
    • 2. 安裝 Docker Engine
  • 步驟二:安裝 Apollo 環境管理工具
    • 1. 添加 apt 源
    • 2. 安裝 apollo-neo-env-manager
  • 步驟三(可選):獲取 GPU 支持
    • 1. 安裝顯卡驅動
    • 2. 安裝 Nvidia container toolkit
  • 步驟四:創建和進入 Apollo 環境容器
    • 1. 創建工作空間
    • 2. 啟動 apollo 環境容器
    • 3. 進入 apollo 環境容器
    • 4. 初始化工作空間

軟件包安裝
本文主要介紹在如何使用軟件包(即 deb 包)的方式來安裝 Apollo,相對于源碼方式安裝,軟件包安裝方式不需要編譯,更加快捷。但是對環境的支持比較單一,如果在自定義環境內安裝,請移步源碼安裝方式

本文假定用戶已具備基本 Linux 工作知識。

步驟一:安裝基礎軟件

1. 安裝 Ubuntu Linux

??安裝 Ubuntu 18.04+ 的步驟,參見 官方安裝指南。

??注意:雖然其他發布版本的 Linux 也可能沒問題,但我們只在純凈的 Ubuntu 系統,即 Ubuntu 18.04.5 LTS (Bionic Beaver) 中測試過 Apollo。因此,推薦您使用 Ubuntu 18.04.5 作為主機的操作系統。

??完成安裝后更新相關軟件:

sudo apt-get update
sudo apt-get upgrade

注意:若要完成更新,需要保證網絡連接。

2. 安裝 Docker Engine

??Apollo 依賴于 Docker 19.03+。安裝 Docker 引擎,您可以根據官方文檔進行安裝:

??參見 Install Docker Engine on Ubuntu。
??您還可以者通過 Apollo 提供的安裝腳本直接安裝:

wget http://apollo-pkg-beta.bj.bcebos.com/docker_install.sh
bash docker_install.sh

??這個過程可能會運行多次腳本,根據腳本提示執行即可。

步驟二:安裝 Apollo 環境管理工具

??Apollo 環境管理工具是一個幫忙管理和啟動 Apollo 環境容器的命令行工具。

1. 添加 apt 源

添加源和 key:

sudo bash -c "echo 'deb https://apollo-pkg-beta.cdn.bcebos.com/neo/beta bionic main' >> /etc/apt/sources.list"
wget -O - https://apollo-pkg-beta.cdn.bcebos.com/neo/beta/key/deb.gpg.key | sudo apt-key add -
sudo apt update

2. 安裝 apollo-neo-env-manager

執行以下命令安裝:

sudo apt install apollo-neo-env-manager-dev

成功安裝后即可使用

aem -h

如果您對 aem 工具的功能感興趣,可以查閱 aem - Apollo 環境管理工具。

步驟三(可選):獲取 GPU 支持

Apollo某些模塊需要GPU的支持才能夠編譯、運行(例如感知模塊),如果您需要使用此類模塊,需要安裝Nvidia顯卡驅動以及Nvidia container toolkit以獲取GPU支持。

1. 安裝顯卡驅動

通過以下指令來安裝Nvidia顯卡驅動:

sudo apt-get update 
sudo apt-add-repository multiverse 
sudo apt-get update 
sudo apt-get install nvidia-driver-455

安裝完畢后,您可以通過nvidia-smi指令來檢查驅動是否安裝成功,如果一切正常,您可以看到類似以下的提示:

Tue Jan  3 12:04:21 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.91.03    Driver Version: 460.91.03    CUDA Version: 11.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  GeForce GTX 1080    Off  | 00000000:01:00.0 Off |                  N/A |
|  0%   38C    P8     7W / 198W |    239MiB /  8118MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------++-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      2566      G   /usr/lib/xorg/Xorg                 18MiB |
|    0   N/A  N/A      2657      G   /usr/bin/gnome-shell               67MiB |
|    0   N/A  N/A      6104      G   /usr/lib/xorg/Xorg                132MiB |
|    0   N/A  N/A      6234      G   /usr/bin/gnome-shell               13MiB |
|    0   N/A  N/A      7440      G   gnome-control-center                1MiB |
+-----------------------------------------------------------------------------+

2. 安裝 Nvidia container toolkit

??為了在容器內獲得 GPU 支持,在安裝完 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

步驟四:創建和進入 Apollo 環境容器

1. 創建工作空間

創建并進入目錄

mkdir application-demo
cd application-demo

2. 啟動 apollo 環境容器

aem start

注意:默認的環境鏡像已經包含 gpu 相關的依賴庫,如您想以 gpu 模式啟動容器可以使用start_gpu子命令。在使用start_gpu命令前,請務必確保已正確安裝Nvidia顯卡驅動以及Nvidia container toolkit

??如果一切正常,將會見到類似下圖的提示:
在這里插入圖片描述

3. 進入 apollo 環境容器

aem enter

腳本執行成功后,將顯示以下信息,您將進入 Apollo 的運行容器:

user_name@in-dev-docker:/apollo_workspace# 

工作空間文件夾將被掛載到容器的 /apollo_workspace 中。

4. 初始化工作空間

aem init

??至此 Apollo 環境管理工具及容器已經安裝完成,接下來請跟著 QuickStart 文檔根據不同的使用場景按需安裝不同的模塊。

更全面的Apollo社區官網文檔
??Apollo社區官網文檔,主要為新手開發者提供Apollo相關介紹、以及上機場景和上車場景的實踐說明,讓新手開發者能快速了解Apollo并上手實操。在8.0中,我們優化了社區官網文檔的結構,從開發者使用場景出發,針對不同場景提供應用實踐案例指導以及擴展開發指導。
在這里插入圖片描述

??社區官網文檔:https://apollo.baidu.com/community/Apollo-Homepage-Document/Apollo_Doc_CN_8_0。
??另外還有活動任務《星火培訓》:星火培訓。

??Apollo 8.0從“新架構”、“新能力”兩個重要層面進行了全面升級,從開發者的實際需求出發進行改良,幫助開發者更好、更快地熟悉和使用Apollo開放平臺。此次Apollo開放平臺8.0的推出,再次讓Apollo開放平臺在工程易用性上向前邁進一大步,降低操作難度、操作成本的門檻,讓更多開發者可以簡單方便地上手Apollo開放平臺、投身自動駕駛技術領域。


如果這份博客對大家有幫助,希望各位給恒川一個免費的點贊👍作為鼓勵,并評論收藏一下?,謝謝大家!!!
制作不易,如果大家有什么疑問或給恒川的意見,歡迎評論區留言。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/39352.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/39352.shtml
英文地址,請注明出處:http://en.pswp.cn/news/39352.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【密碼學】維京密碼

維京密碼 瑞典羅特布魯納巨石上的圖案看起來毫無意義,但是它確實是一種維京密碼。如果我們注意到每組圖案中長筆畫和短筆畫的數量,將得到一組數字2、4、2、3、3、5、2、3、3、6、3、5。組合配對得到24、23、35、23、36、35。現在考慮如圖1.4所示的內容&a…

【變形金剛03】使用 Pytorch 開始構建transformer

一、說明 在本教程中,我們將使用 PyTorch 從頭開始構建一個基本的轉換器模型。Vaswani等人在論文“注意力是你所需要的一切”中引入的Transformer模型是一種深度學習架構,專為序列到序列任務而設計,例如機器翻譯和文本摘要。它基于自我注意機…

iOS Epub閱讀器改造記錄

六個月前在這個YHEpubDemo閱讀器的基礎上做了一些優化,這里做一下記錄。 1.首行縮進修復 由于分頁的存在,新的一頁的首行可能是新的一行,則應該縮進;也可能是前面一頁段落的延續,這時候不應該縮進。YHEpubDemo基于XDS…

pycharm,VSCode 幾個好用的插件

pycharm Tabnine AI Code 可以在編寫程序的時候為你提供一些快捷方式,增加編程速度 Chinese 對英文不好的程序員來說是個不錯的選擇,可以將英文狀態下的pycharm變為中文版的 ChatGPT 可以跟ai聊天,ai可以解決你80%的問題 ,也可以幫…

變形金剛:從零開始【01/2】

一、說明 在我們的日常生活中,無論你是否是數據科學家,你都在單向地使用變壓器模型。例如。如果您使用的是 ChatGPT 或 GPT-4 或任何 GPT,那么在為您回答問題的框中是變壓器的一部分。如果您是數據科學家或數據分析師,則可能正在使…

【BASH】回顧與知識點梳理(二十九)

【BASH】回顧與知識點梳理 二十九 二十九. 進程和工作管理29.1 什么是進程 (process)進程與程序 (process & program)子進程與父進程:fork and exec:進程呼叫的流程系統或網絡服務:常駐在內存的進程 29.2 Linux 的多人多任務環境多人環境…

SAP MM學習筆記23-購買發注的賬戶分配類型(勘定Category)

SAP中控制財務憑證過賬科目的是 賬號分配類型(勘定Category)欄目。 ?賬號分配類型(勘定Category)有: 1,K 原價Center(成本中心。用于消耗物料采購 的過賬) 2,E 得意先…

【云原生之Docker實戰】使用Docker部署Syncthing同步程序及基本使用

【云原生之Docker實戰】使用Docker部署Syncthing同步程序及基本使用 一、Syncthing介紹1.1 Syncthing簡介1.2 Syncthing特點1.3 備份和同步區別二、本地環境介紹2.1 本地環境規劃2.2 本次實踐介紹三、本地環境檢查3.1 檢查Docker服務狀態3.2 檢查Docker版本3.3 檢查docker comp…

LabVIEW對并行機器人結構進行建模仿真

LabVIEW對并行機器人結構進行建模仿真 為了對復雜機器人結構的數學模型進行建模、搜索、動畫和驗證,在工業機器人動態行為實驗室中,設計并實現了具有五個自由度的單臂型機器人。在研究臺上可以區分以下元素:帶有直流電機和編碼器的機器人;穩…

nvm管理node版本

nvm是什么? NVM全名叫做 nodejs version manage,即Node的版本管理工具。 使用NVM,可以通過命令很方便地在多個NodeJS版本之間進行切換。 nvm的下載與安裝 下載地址:Releases coreybutler/nvm-windows (github.com) windows系統下載nvm-setup…

Arcgis中直接通過sde更新sqlserver空間數據庫失敗

問題 背景 不知道有沒有人經歷過這樣一個情況,我們直接在Arcgis中通過sde更新serserver數據庫會失敗,就是雖然在sde更新sqlserver數據庫,但是在Navicat中通過sql語句來查詢,發現數據并沒有更新,如:上圖中,更新數據庫后,第一張圖是sde打開的sqlserver數據庫,它的數據庫…

項目管理工具和方法有哪些:了解項目管理的必備工具和有效方法

先談談什么是項目管理,簡單直白,就是對項目進行管理。項目管理涉及有效的計劃和對工作的系統管理,但很多工具可以使項目管理更有效、更高效。比如,Zoho Projects項目管理工具。 1.項目合理拆解 當確定了項目目標后,無疑…

我國農機自動駕駛系統需求日益增長,北斗系統賦能精準農業

中國現代農業的發展,離不開智能化、自動化設備,迫切需要自動駕駛系統與農用機械的密切結合。自動駕駛農機不僅能夠緩解勞動力短缺問題,提升勞作生產效率,同時還能對農業進行智慧化升級,成為解決當下農業痛點的有效手段…

Pycharm社區版連接WSL2中的Mysql8.*

當前時間2023.08.13,Windows11中默認的WSL版本已經是2了,在WSL2中默認的Ubuntu版本已經是22.04,而Ubuntu22.04中默認的Mysql版本已經是8.*。 Wsl 2 中安裝mysql WSL2中安裝Mysql的方法參考自微軟官方文檔【開始使用適用于 Linux 的 Windows …

vector【2】模擬實現(超詳解哦)

vector 引言(實現概述)接口實現詳解默認成員函數構造函數析構函數賦值重載 迭代器容量size與capacityreserveresizeempty 元素訪問數據修改inserterasepush_back與pop_backswap 模擬實現源碼概覽總結 引言(實現概述) 在前面&…

分布式定時任務系列5:XXL-job中blockingQueue的應用

傳送門 分布式定時任務系列1:XXL-job安裝 分布式定時任務系列2:XXL-job使用 分布式定時任務系列3:任務執行引擎設計 分布式定時任務系列4:任務執行引擎設計續 Java并發編程實戰1:java中的阻塞隊列 引子 這篇文章的…

MATLAB計算一組坐標點的相互距離(pdist、squareform、pdist2函數)

如果有一組坐標P(X,Y),包含多個點的X和Y坐標,計算其坐標點之間的相互距離 一、坐標點 P[1 1;5 2;3 6;8 8;4 5;5 1; 6 9];二、pdist函數 輸出的結果是一維數組,獲得任意兩個坐標之間的距離,但沒有對應關系 Dpdist(P)三、square…

tensorflow學習筆記

tensorflow學習筆記 1. 安裝2. 驗證GPU是否可用3. 靜態圖說明 tensorflow學習過程中記錄的筆記 1. 安裝 cuda的安裝過程略,參考pytorch的那篇筆記。 一個穩定版本的tensorflow2.5版本匹配: conda create -n hi_hand_det python3.7.0 conda install c…

JavaWeb-Servlet服務連接器(二)

目錄 Request(獲取請求信息) 1.獲取請求行內容 2.解決亂碼問題 3.獲取請求頭部分 4.獲取請求體 5.其他功能 Request(獲取請求信息) 工作流程: 1.通過請求的url的資源路徑,tomcat會生成相應的Servlet實…

【單片機】DS2431,STM32,EEPROM讀取與寫入

芯片介紹: https://qq742971636.blog.csdn.net/article/details/132164189 接線 串口結果: 部分代碼: #include "sys.h" #include "DS2431.h"unsigned char serialNb[8]; unsigned char write_data[128]; unsigned cha…