技術文檔丨Apollo控制、路由等模塊

本文做者:Apollo開發者社區算法

控制模塊:經過生成控制命令(如加速、剎車和轉向)來執行規劃模塊提供的時空軌跡。控制模塊將規劃軌跡做爲輸入,併產生控制指令給Can總線。設計模式

 

路由模塊:告訴自動駕駛車輛如何通過一系列車道或道路到達目的地。要計算出自動駕駛車輛通過的車道和道路,路由模塊須要知道起點和終點。bash

 

數據:是計算機與外部物理世界鏈接的橋樑。數據採集模塊由傳感器、控制器等其它單元組成。架構

 

通用模塊:該模塊包含的代碼並不是專門面向任何模塊,但有助於提高Apollo的功能。app

 

 

 

  如下,ENJOY  函數

 

控制

 

簡介

 

根據規劃軌跡和汽車的當前狀態, Control模塊使用不一樣的控制算法來生成溫馨的駕駛體驗,Control模塊能夠在正常模式和導航模式下工做。工具

 

輸入

 

  • 規劃軌跡。google

  • 汽車狀態。spa

  • 定位。設計

  • Dreamview AUTO模式更改請求。

 

輸出

 

  • 發送到底盤的控制命令 (轉向、 油門、剎車)。

 

路由

 

簡介

 

路由模塊根據需求產生更加高級的導航信息。

 

路由模塊依賴一個路由拓撲文件,在Apollo中一般以routing_map.* 方式命名。

可使用如下命令生成路由地圖:

bash scripts/generate_routing_topo_graph.sh

 

輸入

 

  • 地圖數據

  • 路由需求(起始和終止位置)

 

輸出

 

  • 路由導航信息

 

數據

 

本模塊包含Apollo的數據解決方案, 包括進行數據收集、存儲、處理等操做的工具和基礎架構。

 

通用——模塊

 

apollo_app

 

apollo_app編譯目標定義抽象類ApolloApp,該類由全部模塊實現,同時它還定義宏APOLLO_MAIN,用於啓動每一個模塊。

 

日誌

 

log編譯目標將google日誌系統封裝成特定於項目的宏,從而能夠對日誌記錄級別進行更精確的控制。

 

macro(宏)

 

macro編譯目標定義一些經常使用的特定於類的宏。

 

適配器

 

適配器用於不一樣模塊之間的通訊。AdapterManager類派生全部專用適配器並對其進行管理。適配器需使用宏REGISTER_ADAPTER進行註冊。適配器類充當Apollo模塊和I / O機制(例如ROS)之間的抽象層。

 

configs/data

 

車輛配置在文件configs/data中指定。

 

math

 

math實現許多有用的數學庫。

 

monitor(監控)

 

monitor定義了日誌記錄系統。

 

proto

 

proto定義許多項目範圍的protocol buffers。

 

status

 

status用於肯定某些功能可否成功執行。若是不能,status將提供有用的錯誤消息。

 

time

 

time是與時間相關的輔助函數。

 

util

 

util包含帶有註冊的工廠設計模式的實現,一些字符串解析函數,以及一些用於從文件中解析protocol buffers的函數。

 

vehicle_state

 

所述vehicle_state classs描述車輛的當前狀態(例如位置、速度、方向等)。

原文連接地址:https://developer.baidu.com/topic/show/290446

相關文章
相關標籤/搜索