Apollo进阶课程㉘丨Apollo控制技术详解——基于模型的控制方法
原文鏈接:進階課程?丨Apollo控制技術詳解——基于模型的控制方法
PID控制是一個在工業控制應用中常見的反饋回路部件,由比例單元P、積分單元I和微分單元D組成。PID控制的基礎是比例控制;積分控制可消除穩態誤差,但可能增加超調;微分控制可加快大慣性系統響應速度以及減弱超調趨勢。
上周阿波君為大家詳細介紹了「進階課程?Apollo控制技術詳解——控制理論」。
主要介紹Apollo控制相關內容,包括常用控制理論、功能限制與未來趨勢、相似原理在不同模塊中的應用。目的是讓大家了解控制模塊的整體脈絡及理論,通過案例講解將理論轉化成code及真正測試標準的方法。
本周阿波君將繼續與大家分享Apollo控制技術詳解——基于模型的控制方法的相關課程。下面,我們一起進入進階課程第28期。
目錄
1.建模
2.系統辨識
3.控制器設計
相對于簡單的PID控制,Apollo里面更多使用基于模型的控制方法,它包括四個部分:建模、系統辨識、控制器設計和參數調優。本節主要介紹前三個部分,如圖1所示。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????圖1 設計基于模型的控制模塊的關鍵步驟
1.建模
Modeling一般可以分為分析建模和擬合建模。通常,一個模型主要由各種屬性表示,如圖2所示,主要包括描述輸入輸出的數量、模型是線性還是非線性、連續還是離散等特性。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????圖2 模型的屬性表示
控制模塊中的模型,通常包括運動學模型和動力學模型。運動學模型是一種幾何模型,感知、預測討論的模型則以運動學模型為主。而在控制模塊中,更多考慮動力學模型。實際上,運動學模型是動力學模型的一個子集。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????圖3 運動學模型和動力學模型
在自動駕駛中,Dynamic model以Kinematics model為初始模型,將環境等參數設置到Kinematics model中,把車看作質點進行分析。Dynamic model將車按車輪等部分分開進行約束或者系統補償。
圖4是兩個比較簡單的幾何模型,左圖是一個綜合移動機器人控制模型,右圖是著名的自行車模型,它把汽車看作只有兩個輪胎的自行車,該模型在當年的DARPA挑戰賽上獲得冠軍。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????????????圖4 兩個幾何模型
實際上,只考慮幾何約束是不夠的。下圖是一個動力學模型,它不僅考慮了幾何約束,還考慮了力矩和扭矩平衡。如圖5所示,在自行車模型中,把前后輪都在XY兩個方向進行分解。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????????????圖5 動力學模型
圖6是剛體的一些力矩分析以及扭矩分析的公式,總體滿足牛頓第二定律。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????圖6 力矩與扭矩分析公式
在假設縱向速度為0的情況下,我們可以對橫向方程進行線性化,如圖7所示。線性化的過程需要基于一些假設。大家一定要記住,做完控制之后要檢查這些假設是否合理或者是否會造成很大的誤差。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????????????圖7 模型線性化
通常情況下,模型的建立是基于誤差,而不是參考值,如圖8所示,對實際側向加速度和理想側向加速度之間的誤差進行建模。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????????????圖8 基于誤差的建模
在控制器實現過程中,通常會將ODE或者PDE方程進行處理,轉化為矩陣計算的形式。雖然在數學表達形式上不一致,但是其物理含義保持不變,如圖9所示。在狀態空間表示中還會給出一些狀態量的標識,包括輸入量。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????????????圖9 狀態空間表示
關于汽車的動力學模型,感興趣的可以參考以下文獻。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????圖10 車輛動力學模型相關參考文獻
2.系統辨識
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????????????圖11 系統辨識
在模型中,有些參數是未知的,系統辨識的目的是確定這些未知參數的值。確定未知參數的方法有三種:白盒、灰盒以及黑盒方法。
白盒方法是指對于基于第一原理(如牛頓定律)的模型結構,可以由測量數據估計模型的參數。
灰盒方法是用于只有部分模型結構可知,通過數據重建的方法來獲取模型的其它部分的方法。
黑盒方法是指模型結構和參數都在未知的情況下,只能通過輸入輸出數據來估計的方法。
關于白盒和黑盒方法,更多的可以參考以下資料。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????圖12 白盒和黑盒方法的參考資料
基于學習的系統辨識方法可以參考以下資料,仔細分析,我們會發現基于學習的辨識方法和黑盒方法很類似。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????圖13 基于學習的系統辨識方法參考資料
3.控制器設計
基于模型的控制模塊設計第三步是控制器的設計,包括濾波器設計、控制器設計以及觀察器設計等。
濾波器可以分為線性和非線性,數字濾波或者模擬信號濾波,離散濾波或者連續濾波等,如圖14所示。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????????????圖14 濾波器分類
前面已經介紹,系統在頻域里面需要滿足某些性能要求,濾波器通常也會對頻域信號進行處理。根據頻域邊界,我們可以對濾波器進行進一步細分,如圖15所示,包括低通濾波,高通濾波等。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????圖15 低通濾波和高通濾波
根據實現方式不同,濾波器又可以分為高斯濾波、卡爾曼濾波、貝葉斯濾波等,如圖16所示,這些濾波器通常用于預測和跟蹤。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????圖16 用于預測和跟蹤的濾波器
總結
以上是生活随笔為你收集整理的Apollo进阶课程㉘丨Apollo控制技术详解——基于模型的控制方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 南京排查出4例新冠阳性:有一个共同特点
- 下一篇: 400元!EVGA发布四8针-16针转接