Apllo高階課程26 Apollo平台的快速入門

2021-10-09 01:56:07 字數 1549 閱讀 2237

apollo是向汽車行業及自動駕駛領域的合作夥伴提供乙個開放、完整、安全的軟體平台,幫助他們結合車輛和硬體系統,快速搭建一套屬於自己的完整的自動駕駛系統。

本節主要和大家分享apollo的快速入門方法,包括編譯、高精地圖和實時相對地圖、一些除錯工具以及新加入的計算單元和模組。

首先,我們對apollo專案的issue也進行了一些統計分析,結果如圖1所示。從圖中可以看出大家對感知、build、docker、規劃、除錯等方面的內容比較感興趣。另外是在還沒有硬體的情況下,如何在理想的環境中做一些演算法模組的開發和除錯。我們將就這些大家比較感興趣的問題進行講解。

docker是一種容器的技術,它在是linux核心的基礎上做了一些輕量級和隔離機制的優化,讓環境更小,部署起來更快。利用docker可以使整個工程的安裝更加簡單。docker映象通常是乙個配置好的執行環境,包括依賴的第三方庫等,使得使用者不需要對環境編譯做過多複雜的操作。例如,在release版本中,apollo各個模組是乙個已經編譯好的二進位制檔案,可以直接執行;如果是開發版本,通常已經載入了所需的第三方庫,使用者只需要執行對應的編譯指令。

另一方面,假如你對官方提供的執行環境有疑問,或者你想在自己的硬體上部署docker,我們也提供了對應的docker file。

很多開發者關心如何將不同於參考硬體的感測器繼承到apollo平台。要完成自己硬體的整合,需要遵循以下三步,如圖3所示:第一需要原始的 udp(user data packet,使用者資料報)。第二是做乙個ros driver方法,把驅動編譯到apollo裡面。第三是把資料發布出來。下面舉兩個例子講述具體如何操作。

第乙個例子是如何使用乙個新型號的camera,假設是usb介面的相機。最下層是相機硬體;往上一層是乙個標準的底層驅動,即video for linux driver; 再上一層是乙個ros driver,最上層是apollo可以接收到的內容。要使用該相機,主要的工作是底層硬體的解析,使得apollo可以接收到相應的資料。

第二個例子是雷射雷達。它大致的工作流程是:硬體通常以基於核心socket的方式把資料傳輸給pc,pc端做一些資料處理之後發布對應的訊息型別。對於雷射雷達來而言,發布的是pointcloud訊息型別,該訊息將被最上層的apollo感知模組接收如圖5所示。

圖左側是乙個高精度地圖,右側是實時相對地圖。實時相對地圖是車輛通過感測器來感知車身周圍環境,可以幫助開放者更友好、方便地執行apollo。

apollo提供了一些非常有用的工具,幫助開發者提供效率,如圖所示。

該模組是整個apollo專案視覺化的乙個模組,基於該模組,開發者可以在沒有車和感測器的情況下使用apollo各個軟體模組,如圖11所示。

Apllo高階版 1 開源模組

再往上一層是參考硬體平台 reference hardware platform 裡面包含乙個計算平台 computing unit 用於計算感測器傳遞的各類資訊,例如英偉達的晶元drive px。這一層還包含各種感測器。例如 camera攝像頭 lidar radar gps mu等。除了計算單元...

js高階課程1

資料儲存方式 建立乙個基本的資料型別,把資料儲存在棧裡面 如果建立引用資料型別,則把資料儲存在堆裡面,但會在棧裡面儲存該資料型別的位址 位址是字串 棧 儲存基本資料型別,儲存使用者建立引用資料型別在堆的位址 位址是字串 堆 儲存引用資料型別,也可以儲存包含基本資料型別的物件。ec execution...

Hadoop入門高階課程 目錄

hadoop入門高階課程1 hadoop1.x偽分布式安裝 hadoop入門高階課程2 hadoop2.x 64位編譯 hadoop入門高階課程3 hadoop2.x64位環境搭建 hadoop入門高階課程4 hdfs原理及操作 hadoop入門高階課程5 mapreduce原理及操作 hadoop...