控制模塊根據(jù)預(yù)測的軌跡和估計的車輛狀態(tài)向油門,、剎車或轉(zhuǎn)向扭矩發(fā)送適當(dāng)?shù)拿?。控制模塊使汽車盡可能接近計劃的軌跡,。控制器參數(shù)可以通過最小化理想狀態(tài)和觀測狀態(tài)之間的誤差函數(shù)(偏差)來估計。 決策問題通常用POMDP加上一些機器學(xué)習(xí)的技術(shù)來解決,。解決好規(guī)劃問題,,需要把兩個方面做好,,一個是數(shù)據(jù)閉環(huán)(Data Driven),,另一個是基于規(guī)則的方法。 上周阿波君為大家詳細(xì)介紹了「進(jìn)階課程?Apollo規(guī)劃技術(shù)詳解——Understand More on the MP Difficulty」,。詳細(xì)地講解了Apollo EM planner規(guī)劃框架,以及解決優(yōu)化問題的常用方法:離散化的方式,、Expectation Maximization(期望最大化)。 本周阿波君將繼續(xù)與大家分享Apollo控制技術(shù)詳解——控制理論的相關(guān)課程,。下面,,我們一起進(jìn)入進(jìn)階課程第27期,。 完整版視頻學(xué)習(xí) 請戳『閱讀原文』 以下,ENJOY 本節(jié)主要介紹Apollo控制相關(guān)內(nèi)容,,包括常用控制理論、功能限制與未來趨勢,、相似原理在不同模塊中的應(yīng)用。目的是讓大家了解控制模塊的整體脈絡(luò)及理論,,通過案例講解將理論轉(zhuǎn)化成code及真正測試標(biāo)準(zhǔn)的方法,。 本次課主要介紹以下三個方面的內(nèi)容:
首先我們回顧一下Apollo自動駕駛框架的基本結(jié)構(gòu),,如圖1所示。 ▲圖1 Apollo 軟件框架 從圖中可以看出,,控制模塊的輸入一方面來自planning(規(guī)劃模塊),另一方面來自反饋階段信息(如localization和HD Map),,此部分信息包括車輛位置、朝向,、速度等,。 其輸出結(jié)果是控制指令,,與下層模塊canbus(車輛交互標(biāo)準(zhǔn))進(jìn)行交互;同時控制模塊也會從底層車輛得到反饋信號(車輛本身in vehicle reference frame:速度信息,、四輪轉(zhuǎn)速信息、車輛健康狀況信息,、底盤是否報錯信息、危險信息) 如圖2所示,,控制模塊包括三個部分:預(yù)處理、控制器和后處理,。其中,,預(yù)處理部分的主要功能包括三方面,,第一是對輸入信號的檢查,對不正常信號的過濾,;第二是做一些緊急處理,第三是做一些濾波操作,,例如信號的平滑等,。 ▲圖2 控制模塊的組成 控制器主要功能包括:模型建立、系統(tǒng)識別和分析,,控制器/觀察器設(shè)計以及參數(shù)調(diào)優(yōu)等功能,如圖3所示,。 ▲圖3 控制器的主要功能 后處理部分將信號發(fā)送給執(zhí)行器,包括限制的處理以及信號濾波,,如圖4所示。因為油門,、剎車、轉(zhuǎn)向這種執(zhí)行器本身有上下限,、滯后(回滯曲線),所以需要對信號進(jìn)行一些相關(guān)處理,。 ▲圖4 后處理 控制主要是為了彌補數(shù)學(xué)模型和物理世界執(zhí)行之間的不一致性,。對于自動駕駛而言,規(guī)劃的軌跡和車輛的實際運行軌跡并不完全一致,,控制器按照規(guī)劃軌跡在條件允許下盡可能地調(diào)節(jié)車輛本身,。為了能夠安全,、舒適的行駛,自動駕駛系統(tǒng)對性能的要求需要控制模塊,,主要體現(xiàn)在以下幾個方面,如圖5所示,。
▲圖5 自動駕駛系統(tǒng)對性能的要求 具體而言,自動駕駛系統(tǒng)是否滿足性能要求可以從三個角度去評測:時域,、頻域以及discrete domain(離散域)。時域是指輸出在時間軸上應(yīng)該滿足的要求,。其衡量的指標(biāo)包括steady state gain,、rising time,、setting time、overshoot和undershoot,。每個指標(biāo)對應(yīng)的具體含義如圖6所示。 ▲圖6 控制模塊在時域上的性能要求 類似的,,系統(tǒng)在頻域里也需要滿足一定的要求,。在頻域空間,,X軸是輸入頻率,Y軸是輸出跟輸入的比例,,理想狀態(tài)下輸出和輸入比例應(yīng)該為1。系統(tǒng)性能在頻域中的評價指標(biāo)包括pass band,、cutoff frequency等,如圖7所示,。 ▲圖7 頻域的評判指標(biāo) 除了時域和頻域的要求,還需要滿足discrete domain的要求,。 ▲圖8 時域和頻域的相互關(guān)系 對系統(tǒng)來說,,在time domain跟frequency domain中的系統(tǒng)需求是可以等價轉(zhuǎn)換的。系統(tǒng)在時域中的要求,、響應(yīng),、數(shù)學(xué)表達(dá)跟頻域是可以相互對應(yīng)的。 此外,,系統(tǒng)性能要求還有一些其它的考量指標(biāo),如圖9所示。 ▲圖9 滿足系統(tǒng)性能要求的額外考量指標(biāo) 前面介紹了自動駕駛系統(tǒng)需要滿足一些性能需求,,如果沒有控制器的話,這些性能指標(biāo)可能難以滿足,,這就是為什么在自動駕駛系統(tǒng)中需要引入控制器的原因。 那么怎么樣設(shè)計出好的控制模塊呢,?最簡單的控制器就是PID控制器,,即比例,、積分、微分控制,,它是一個model free的控制方法,也就是說PID控制具有通用性,。PID控制的基本原理如圖10所示,。 ▲圖10 PID 控制器 U是參考量,,它和反饋信號之間的差距用error 表示,即圖中的e,。比例控制P的意思是該控制量與誤差成比例,用kp*e(t) 表示,。當(dāng)kp比較小的時候,,接近終值的速度會非常慢,,如右圖的紅線所示,,但是它有超調(diào)與undershoot現(xiàn)象。當(dāng)kp設(shè)置比較大時,,則達(dá)到穩(wěn)態(tài)速度變快,但會超調(diào),,如右圖紫色曲線所示。如果系統(tǒng)中存在損耗,比如汽車上坡的動力或者摩擦損耗,,使得比例控制每次增加的控制量就等于或者小于損耗時,出現(xiàn)穩(wěn)態(tài)誤差,,這就是引入積分控制的目的,它可以將之前的誤差進(jìn)行積分,,消除穩(wěn)態(tài)誤差。而微分控制的目的是使系統(tǒng)更快的從瞬態(tài)轉(zhuǎn)化為穩(wěn)態(tài),。系統(tǒng)的控制量就是P+I+D三項的和,。
|
|