Apollo进阶课程㉙丨Apollo控制技术详解——控制器的类型
原文鏈接:進階課程?丨Apollo控制技術詳解——控制器的類型?
控制主要是為了彌補數學模型和物理世界執行之間的不一致性。對于自動駕駛而言,規劃的軌跡和車輛的實際運行軌跡并不完全一致,控制器按照規劃軌跡在條件允許下盡可能地調節車輛的運行軌跡。
上周阿波君為大家詳細介紹了「進階課程?Apollo控制技術詳解——基于模型的控制方法」。
主要介紹Apollo使用基于模型的控制方法,包括四個部分:建模、系統辨識、控制器設計和參數調優。其中詳細地講解了建模的類別、屬性以及控制模塊中的模型包括運動學模型和動力學模型。此外,還介紹了系統辨識、控制器設計等。
本周阿波君將繼續與大家分享Apollo控制技術詳解——控制器類型的相關課程。下面,我們一起進入進階課程第29期。
目錄
1.前饋環控制
優化控制
LQR(二次線性調節器)
MPC
魯棒性控制(Robust Control)
離散化
2.控制器設計的其它方面
3.控制器的發展趨勢
4.工程應用案例
控制器的類型大致可以分為三類,分別是開環控制、前饋環控制和后饋環控制,如圖1所示。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????????????圖1 控制器的類型
1.前饋環控制
前饋環控制器可以分為兩類,如圖2所示。上圖是增加一個H,可以看出是一個前置濾波器,把輸入轉化為理想的輸入。下圖是把擾動量加入到前饋環中,將模型的先驗知識添加到環路,減少擾動的影響。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????圖2 前饋環控制器的類別
前饋環控制器的主要控制策略有很多種,這里主要介紹三種,分別是Optimal Control(優化控制)、 Adaptive Control(自適應控制)、Robust Control(魯棒性控制),如圖3所示。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????圖3 前饋環控制的主要控制策略
那么設計控制器的時候需要考慮什么因素呢?首先是可控性和可觀性。可控性(Controllability)是指系統是不是能按期望通過控制量U達到相應的動態;可觀性(Observability)是指在初識狀態已知的情況下,是不是可以重構整個系統的狀態,如圖4所示。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??????????????????圖4 控制器設計考慮可控性和可觀性
優化控制
優化控制的目的是在給定系統的情況下,找到或者設計出一個控制法則使系統可以滿足特定的優化標準。圖5給出了優化控制的一個分類和演化過程。最早可追溯到上世紀五六十年代的卡爾曼濾波和后來的LQR。這兩個控制在一起可以得到一個LQG,需要注意的是LQG是一個線性并且沒有限制的控制器,在這個基礎上增加限制,就得到了LMPC。在LMPC的基礎上,增加非線性因素就得到了MPC。從上圖左邊到右邊的控制器演化,響應速度更快,但是計算代價更高。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????????????圖5 優化控制
LQR(二次線性調節器)
Apollo項目開源了LQR算法,這里簡要介紹一下。在線性化的橫向狀態方程上做LQR,一般的表示方程如圖6所示。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????????????圖6 LQR算法
它的狀態空間可以用方程表示,是輸入,集中最重要是設計代價函數,如圖中的第四行所示。首先,代價函數必須是corrected的,是x的二次方的形式。另外,還有兩個調節因子,一個是Q,另一個是R。
在這個基礎上,增加前饋項,然后做一個拉普拉斯轉換,從時域轉換到頻域。我們的目標是使系統的error X=0,經過一系列變換之后可以算出,進而得到前饋項,具體過程如圖7所示。
???????????????????????????????????? ???????????????????????????????????????????????????圖7 Controller Design-LQR Controller的求解過程
MPC
MPC控制器的基本邏輯如圖8所示。它包含Predictive Plant、Real Plant、MPC Controller以及Feedback?Correction。MPC和跟LQR的區別在于,MPC有一個關于時間T的優化矩陣,同時還有一系列的控制約束。如果想設計一個非常高效的、能在工程上應用其滿足魯棒性理論要求的控制器,一定要做離散化。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????圖8 MPC控制器的基本邏輯
MPC的代價函數如圖9所示。從圖中可以看出,代價函數增加了約束邊界,有上邊界和下邊界。?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????圖9 MPC的代價函數
關于優化控制的一些課外閱讀,可以參照圖10中列出的參考文獻。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????圖10 優化控制的相關參考資料
下面簡單介紹一下自適應控制和魯棒性控制。自適應控制是一種針對控制系統中參數多變或者初始值不確定的控制方法。最簡單的一種方法就是根據輸入使用swith的方式,根據輸入或者gain選擇不同的控制算法,如下圖所示。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????????????圖11 自適應控制
實際上,自適應控制更多的作為其他控制器的一種補充使用,圖12展示了兩種常用的模式。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????圖12 自適應控制的兩種使用模式
關于自適應控制的更多詳細介紹,可以參考圖13列出的參考資料。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????圖13 自適應控制的相關參考資料
魯棒性控制(Robust Control)
魯棒性用來解決如何確定模型的正確性問題。它主要是用來處理模型的非確定性,是一種在已知模型錯誤邊界的情況下,設計一個性能不錯而且穩定的控制器的方法。最簡單的魯棒性控制器是LQR/LTR控制器,也是一個二次線性調節器,如圖14所示。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?????????????????????????圖14 LQR/LTR控制器
離散化
首先,我們討論為什么要做離散化。離散化實際上是在盡可能的保存連續空間信息的情況下,把連續空間的問題轉換為離散空間的描述,使得計算機能夠更好地處理。需要注意的是離散化跟Digital Stability是相關的,如果采樣不夠好,會丟失很多信息使得系統不穩定。
其此,如何進行離散化呢?離散化有很多的方法,各種方法都有各自的優缺點。但是總的來說都是把數字信號轉換為模擬輸入/輸出信號,如圖15所示。同樣,也會把Analog輸出進行離散化,然后輸入到數字信號控制器中。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????圖15 控制器設計—離散化??
圖16是進行離散化的一個簡單例子,左邊是時域里的函數performance的表達方式,右邊是進行離散化的一些常用表達形式。最后一列是收斂的速率,表示在一定工況下,數字控制器在給定的時間下是可以保證收斂的。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????圖16 控制器設計—離散化例子
圖17給出了離散化時的一下簡單轉換公式對應關系。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????圖17控制器設計—離散化時轉換公式對應關系
更多關于離散化的詳細介紹可以參考圖18列出的一些參考資料。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????圖18 離散化相關參考文獻資料?
2.控制器設計的其它方面
控制器設計,除了上面提到的比較重要的幾個控制方法之外,還有其它次要的因素需要考慮,這些因素更多的是影響控制器的性能,包括Deadzone、飽和和抗飽和等。
Deadzone主要是執行器的一些特性引起的,例如汽車的油門,可能給油0%~15%的區間都不會使汽車前行,這個時候反應在圖上就是一條平行的線段,我們稱之為Deadzone。在控制器設計的時候需要對這部分進行補償設計,如圖19所示。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????圖19 控制器設計—Deadzon補償
飽和和抗飽和處理也是出于對執行器的特性的考慮,通常一個執行器是有上限和下限的。如圖20所示,把輸出值做一個限制,使得輸出在執行器的上下限范圍內。如果不進行飽和處理,在輸出100%的情況下突然轉換狀態,收斂到最終值可能需要很長的時間。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????圖20 飽和和抗飽和處理
關于Deadzone補償和飽和、抗飽和的更多相關資料,可參考圖21列出的參考文獻。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????圖21 Deadzone補償、飽和和抗飽和的相關參考文獻
3.控制器的發展趨勢
這部分更多的是討論,目前還沒有完整的理論或者應用案例。未來控制器可能從以下幾個方面發展,如圖22所示,包括數據驅動的控制、結合軌跡生成的控制、結合預測的控制、基于模型的增強學習控制方法。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????圖21 控制器的未來發展方向
4.工程應用案例
目前,在Apollo中,控制的工程應用主要有兩個方面,一個是系統識別,使用的是自動標定方法。另一個是安全策略,如圖23所示。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????????????圖23 工程應用案例
在自動駕駛系統中,有很多的部件參數是不確定,供應商也不會提供,但是在控制或者其它模塊可能需要對這些部件進行建模,首先就得識別部件的參數,通常采用的是自動標定的方法。
安全策略的考慮主要是基于控制是否與底層交流的最后一個模塊,所以有很多的安全策略需在控制層面完成。安全信息可分為兩個部分:上游信息(Planner發出)+下層反饋信息。如果上游Planning信息丟失、延時、未更新,控制系統需要做出諸如Emergency Stop、緩行之類的決策。類似的,由于接觸不穩或者其它因素,導致控制指令沒有執行,控制器也需要做一些安全策略的考慮。
總結
以上是生活随笔為你收集整理的Apollo进阶课程㉙丨Apollo控制技术详解——控制器的类型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 工行信用卡逾期利息怎么算 人性化的非全额
- 下一篇: 花了1亿研发 雷军谈1英寸大底传感器IM