百度Apollo 中縱向控制原始碼解析

2021-08-19 18:37:03 字數 1342 閱讀 2309

上篇博文中,我們主要介紹了control模組的入口和車輛橫向控制的介紹,有興趣的可以參考鏈結apollo control 模組原始碼解析

此篇博文,我們主要介紹下apollo內部的縱向控制**和原理解析:

話不多少,首先我們需要看的源**為modules/control/controller/lon_controller.h和lon_controller.cc 在apollo control 模組原始碼解析中我們得知,controller的先後順序是 init()函式和computecontrolcommand()函式。即在modules/control/control.cc中control::init()

// set controller 

if (!controller_agent_.init(&control_conf_).ok())

status control::producecontrolcommand(controlcommand *control_command)

讓我們從lon_controller.cc 的init()函式一窺究竟:

status loncontroller::init(const controlconf *control_conf) 

const loncontrollerconf &lon_controller_conf =

control_conf_->lon_controller_conf();

station_pid_controller_.init(lon_controller_conf.station_pid_conf());

speed_pid_controller_.init(lon_controller_conf.low_speed_pid_conf());

setdigitalfilterpitchangle(lon_controller_conf);

loadcontrolcalibrationtable(lon_controller_conf);

controller_initialized_ = true;

return status::ok();

}

在這裡面,主要對conf檔案的匯入和兩個pid控制器(station_pid_controller_和speed_pid_controller_)的初始化,還有對根據conf檔案數字濾波器和標定表進行設定。pid的控制,是目前apollo作用於縱向速度控制的主要方式,apollo的pid控制器邏輯相對簡單些,具體的**存放在modules/control/common/pid_controller.cc中,可以檢視相關的**,下面我用一張簡圖將內部pid的邏輯描述下:

百度Apollo計畫跟蹤 文章彙總

github 1.關於apollo的資料 apollo的資料會如何開放?3.apollo迭代公升級史 4.apollo多感測器融合定位模組 多感測器融合定位 定位技術橫跨好幾個專業,包括測繪 導航 計算機視覺知識 以及點雲處理的知識。apollo2.0的多感測器融合定位模組的框架如下圖所示 git ...

ubuntu16 04安裝百度apollo 5 0

git clone官網推薦先建立docker倉庫,並從中安裝docker。更新apt包索引 sudo apt get update 安裝軟體包以允許apt通過https使用儲存庫 新增docker的官方gpg金鑰 curl fssl sudo apt key add 通過搜尋金鑰的最後8個字元,驗證...

百度取消百度新聞源,VIP俱樂部公升級!

所謂新聞源,是指符合搜尋引擎種子新聞站的標準,具有一定權威性,在新聞源資料庫裡的 這些 的站內資訊會第一時間被搜尋引擎優先收錄。1 新聞源取消,vip申請公升級公告 同時vip俱樂部提供的服務也全面公升級,首先開放原創優質時效性站點申請入口,符合要求原創優質時效性要求的站點可通過平台首頁右下方入口進...