淺析自動駕駛PID控制

2022-01-06 智駕最前沿

收錄於話題 #自動駕駛 243個

--後臺回復「資料」,領取特斯拉專利技術解析報告--

汽車控制如同每個人駕駛自己車輛一樣,當你熟悉前方道路的時候你如何控制你的車輛?

顯然,如果你不是專業的選手的話,你無法做到一步到位的控制,你需要一邊觀察車輛相對於你想要開的路線的相對偏差,一邊調整你的方向盤的角度和油門踏板的力度,這種基於環境反饋的控制我們稱為反饋控制 。反饋控制是現代控制理論的基礎,這是反饋控制的一般思路:

我們希望我們控制的對象(無人車)能夠按照我們希望(規劃好)的路逕行駛,我們會將環境當前給我們的反饋(我們當前的位置)和參考線進行比較,得到我們當前偏離參考線的距離(誤差),基於這個誤差,我們設計一定的算法來產生輸出信號,使得這個誤差不斷的變小,這樣的過程就是反饋控制的一般過程。那麼我們如何基於這個誤差來產生控制指令呢?我們最直觀的感覺就是要讓誤差在我們的控制下逐漸變小直到為0:

零誤差就意味著車一直在你想讓它開的路徑上開。如何減少誤差就是我們這幾篇博客要向大家介紹的內容。

為了了解反饋控制,我先向大家介紹 PID控制,PID控制是目前利用最為廣泛的控制理論,我們以它為出發點討論控制理論。

比例、積分、導數

PID就是指比例(proportion)、積分(integral)、導數(derivative),這三項表示我們如何使用我們的誤差來產生控制指令,整個流程如下:

首先是根據反饋和參考值求出誤差,這裡的誤差根據具體的情況可以是各種度量,比如說控制車輛按照指定的路徑形式,那麼就是車輛當前位置和參考線的距離,控制車輛的速度在設定的值,那麼就是當前速度和設定速度的差值,求出誤差以後,再根據誤差求比例,積分和微分三項,其中 KpKp , KiKi , 和 KdKd 是三項的係數,它們決定著這三項對最後輸出的影響的比重。將 P,I,DP,I,D 三項求和作為最後的輸出信號。我們分別討論這三項的意義。

P控制

考慮一個簡單的情況,假設我們希望無人車按照圖中綠線行駛,但是我們的車在如圖所示的位置:

那麼我們要轉多少度角呢?如果都按照固定的角度轉(如下圖),那麼車的軌跡將如圖中所示:

那麼顯然坐這樣的車是不舒服的。一個直觀的解決方法就是使用比例控制。如圖所示,當偏差大的時候,我們偏轉更多的角度,當偏差小的時候,則偏轉小一點。

那麼這就是P control(比例控制)這裡我們使用 CTE(Cross Track Error) 作為偏差度量 ,CTE就是我們到參考線的距離。那麼這個時候轉角就變成了:

steering angle=Kp⋅e(t)

其中的 e(t)e(t) 就是在t時刻的CTE,在P控制中係數 KpKp 會直接影響到實際的控制效果,在合理的數值範圍內 KpKp 越大控制的效果越好(越快速的回到參考線附近),但是,當本身位置和參考線相距很遠且 KpKp 係數較大的時候,就會出現車輛失去控制的情況

所以說,如果 KpKp 參數設計合理的話,P控制要比固定控制要更好,但是還是不能控制的很好,因為P控制的車輛容易0值的影響,如圖所示:

此時車輛雖然在參考線上,但是並不是我們希望的狀態(它在下一刻就會偏離),但是對於P控制而言,這是理想狀態,此時控制轉角為0,因此,P控制會一次又一次的超過參考線(overshot),為了矯正這種overshot,我們需要考慮一個額外的誤差項——CTE變化率

PD控制

CTE的變化率描述了我們的無人車向著參考線方向移動的有多快,如果我們的無人車一直都完美的在參考線上運動的話,那麼我們的CTE變化率就為0。那麼這一項(描述誤差的變化率)就可以用導數來表示,那麼,現在我們的控制輸出就變成了比例項和導數項求和的形式

steering angle=Kp⋅e+Kdd e(t)dt

其中的 KdKd 就是導數項的係數,它的大小決定了CTE變化率對於反饋控制的影響。此時我們的控制叫做PD控制,在PD控制中,我們有兩個係數需要調整,直觀上來看,增大 PP 係數將會增大無人車向著參考線方向運動的傾向;增大 DD 係數將會增大無人車快速向參考線方向的運動的「抵抗力」從而使得向參考線方向的運動變得更加平滑。使用過大的 PP 係數,過小的 DD 係數的系統我們稱之為 欠阻尼的(underdamped),這種情況的無人車將沿著參考線震蕩前進,反之,如果P係數過小,D係數過大,那麼我們稱之為 過阻尼的(overdamped),這將使得無人車要較長的時間才能糾正其誤差。合適地選擇 PP,DD參數可以使無人車能快速回到參考線上的同時很好的維持在參考線上運動。

PD控制似乎已經能夠勝任良好的反饋控制了,但其實還不夠,PD控制器可以保證正常的控制的需求,但是當環境存在擾動的時候,比如說下面這種情況:


車在受力發生輕微偏移以後,由於PD控制中下 PP 項傾向於向參考線方向運動,而 DD 項則嘗試抵消這種傾向,造成無人車始終都無法沿著參考線運動,這個問題叫做 steady state error 為了解決這個問題,我們再引入一項—— 積分項

我們將積分項也代入到我們的控制輸出函數中,這個時候,無人車的轉角就可以表示為:

steering angle=Kp⋅e+Kdd e(t)dt+Ki∫0te(t)dt

其中 KiKi 就是積分項係數,積分項在我們這個例子中其實很好理解,本質就是車的實際路線到參考線的圖形的面積,加入積分項以後,控制函數會儘可能使車輛路線的積分儘可能小(也就是使車輛路線和實際運動參考線之間形成的形狀的面積儘可能小),那麼也就避免了steady state這種情況了。

同樣的,這裡的積分項係數的大小也會影響我們整個控制系統的穩定性,過大的 KiKi 會使控制系統「震蕩」地運行,過小的 KiKi 又會使控制的車輛在遇到擾動以後(處於steady state)要很久才能回到參考線上,這在某些情況下勢必會使車輛處於一個危險的境況。

PID控制就是由這三項共同決定的,還有其他應用於無人駕駛汽車的高級控制算法,但是他們都和我們介紹的PID控制的原理相似。

我們發現其實PID實現確實不難,但是三個係數的選擇卻很難,我們可以在我們的控制循環中通過一定的算法不斷嘗試,下面我提供給大家一種尋找參數的算法:

轉載自自動駕駛測評,文中觀點僅供分享交流,不代表本公眾號立場,如涉及版權等問題,請您告知,我們將及時處理。

-- END --

相關焦點

  • 飛機駕駛技術——自動駕駛儀
    當兩個飛行員(比如一個教練,一個學員)輪流操作飛機時,在任何時候他們都會非常清楚現在誰在控制飛機。當一個飛行員移交控制給另一個飛行員時,他會說:「你來控制飛機。」當第二個飛行員開始控制飛機時,他會說:「我來控制飛機。」這種方法避免了兩個飛行員同時控制飛機或者兩個人都不在控制飛機的危險情況。使用自動駕駛儀的話就不一樣了。
  • 利用5G通信和遠程控制補充和輔助自動駕駛
    KDDI在2017年12月開展了使用4G LTE通信的「遠程控制型自動駕駛系統」路試,2019年2月使用5G通信開展了該實驗。<成功在愛知縣的公路上開展L4級自動駕駛車的遠程操作>2017年12月,KDDI、Aisan Technology、Tiafoe三方實施了由愛知縣牽頭的2017年度「自動駕駛路試項目」的演示,這是首次在日本實施普通公路上的遠程控制型自動駕駛系統的試驗,成功進行了L4級自動駕駛車的遠程控制。
  • 案例解析丨三菱PID控制實例
    這裡介紹PID控制改變加熱器(熱盤管)的加熱時間從而實現對溫度的閉環控制。 在溫度控制系統中,電加熱器加熱,溫度用熱電耦檢測,與熱電耦型溫度傳感器匹配的模擬量輸入模塊 FX2N-4ad-tc將溫度轉換為數字輸出,cpu將檢測的溫度與溫度設定值比較,通過PLC的PID控制改變加熱器的加熱時間從而實現對溫度的閉環控制。PLC控制時和自動調諧時電加熱器的動作情況如上圖所示。其參數設定內容如下表所示。
  • 詳說飛機自動駕駛
    什麼是自動駕駛  飛機的自動駕駛功能也是自動控制的一種形式,所謂自動控制就是在沒有人直接參與的情況下
  • 什麼是飛機自動駕駛?
    什麼是自動駕駛  飛機的自動駕駛功能也是自動控制的一種形式
  • 解密「飛機自動駕駛」
    飛機的自動駕駛功能也是自動控制的一種形式,所謂自動控制就是在沒有人直接參與的情況下,利用外加的設備(控制器),使機器、設備(控制對象)的某個工作狀態或參數自動地按照預定的規律運行;它通過對系統的輸出不斷地,直接地或間接地、全部或部分地返回,並作用於系統,其本質是通過信息的傳遞、處理與反饋實施的一種控制。
  • PID的控制原理
    PID控制詳解讓我們先看一張圖:注意觀察pid三個值的變化對曲線的影響一、PID控制簡介
  • 飛機自動駕駛很普遍,汽車自動駕駛為什麼沒普及?
    問題: 為什麼自動駕駛飛機已經很普遍了,自動駕駛汽車還沒有普及?
  • 我們辛辛苦苦研究控制理論,卻發現工業界只愛PID
    最常見的自動控制設備是抽水馬桶。2. 蘇聯時期的飛彈,是靠模擬電路搭建的控制算法。(我解釋一下,運放電路其實就是帶負反饋的控制電路。)3. 2012年,美國抓捕晶片和傳感器走私商人何朝輝,重大打擊了中國的航天控制事業。4.世界上,只有俄羅斯和中國有純粹的自動化專業。5. 雖然很多人都在說PID,其實在控制領域卡爾曼濾波也有重大工程意義。
  • 自動駕駛巴士,「新技能」get!
    想像一下,當你走上一輛巴士,卻不見駕駛員的蹤影,忐忑之餘,你發現這並不影響它平穩地駛往目的地;下了車,匆忙中你發現自己的雙肩包落在了車裡,茫然之際,遠在控制塔裡的操作員已經幫你找到了它的準確位置.好了,現在可以停止想像,因為在不久的將來,愛立信支持的5G Ride自動駕駛巴士項目即將讓這些成為現實.
  • 航空知多少 | 飛機自動駕駛儀
    自動駕駛系統(自動駕駛儀),是一種通過飛行員按一些按鈕和旋轉一些旋鈕,或者由導航設備接收地面導航信號,來自動控制飛行器完成三軸動作的裝置。不同型號的飛機所裝備的自動駕駛儀可能會有一些小的差別,但是大體相似。一、自動駕駛系統能做些什麼?• 保持機翼水平,不發生滾轉。• 保持飛機當前的仰俯角。
  • 駕駛模擬器之LGSVL篇:一個高保真的自動駕駛模擬器
    如今,與駕駛相關的商業視頻遊戲提供了逼真的環境。研究人員使用諸如俠盜獵車手V這樣的遊戲來生成合成數據集[28]、[29]、[30]。然而,這通常需要一些黑客攻擊才能訪問遊戲中的資源,並可能違反用戶許可協議。此外,也很難支持攝像頭以外的傳感器,並且確定地控制車輛以及行人和交通等非玩家角色。圖2說明了由LGSVL模擬器實現的自動駕駛駕駛仿真工作流程。
  • 自動駕駛的LiDar技術
    福特自動駕駛夜測使用的這款LiDar傳感器,是 Velodyne 公司最新生產的雷射雷達測距傳感器——固態混合超級傳感器(SH Ultra PUCK Auto)——該設備因其形狀及大小類似冰球而被稱作 「超級傳感冰球」。Velodyne最初成立於1983年,至今已有有30多年的歷史。
  • 自動駕駛車輛仿真模擬軟體盤點
    它的缺點是只能控制上下左右四個方向鍵,不能設置方向盤的角度。除了Euro Truck Simulator 2,還有The Open Racing Car Simulator遊戲也可以被用來進行自動駕駛汽車的訓練。
  • 英偉達ONTAP自動駕駛數據平臺
    自動駕駛的挑戰自動駕駛很難不僅僅是在於它的某一個算法很難實現,而更多的是如何在有限的計算資源上訓練更多更好的AI模型來達到最好的自動駕駛效果。
  • 摸清自動駕駛車輛規劃技術的第一步
    是的,這一篇的文章主題是自動駕駛車輛規劃。全文共7144字。/ 導讀 /一輛自動駕駛車輛的典型架構如圖1所示。從圖中可以看到,自動駕駛車輛從系統功能上劃分,可以分為環境感知模塊、決策規劃模塊和車輛控制模塊。
  • 高質量傳感器,實現自動駕駛汽車
    電動車除了帶來零排放的環保效益,同時亦有帶動了自動駕駛汽車(AV)的發展。其中,有車廠順勢把電動汽車與自動駕駛技術結合,以提升車輛的安全與舒適度,為汽車業界設立了產業標竿,令各車廠加速投自動駕駛研發。本文來源於:ASM Pacific Technology Ltd.
  • 自動駕駛的主導權之爭
    本周Bosch在澳大利亞ITS峰會上展出了一輛基於Tesla Model S改裝的自動駕駛原型車,疑似與AutoPilot 2.0有關。此前Tesla高調宣布採用毫米波雷達,採用的正是Bosch提供的技術。這輛原型車裝有六個毫米波雷達,六個雷射雷達,一個雙目攝像頭和一個高精度GPS,這個配置已經可以進行一些全自動駕駛任務。
  • 解析展望雷射雷達—自動駕駛
    無人駕駛汽車之所以無需人工操作,是因為它能代替人的感官去自動識別道路信息和行人,然後控制汽車完成壁障等功能。
  • 2018-2019年自動駕駛產業鏈全景圖
    L2級別下的自動駕駛汽車無需雷射雷達,但L3級別以上的自動駕駛汽車對雷射雷達的解析度和數量需求逐漸增加,L5級別自動駕駛需要128線的雷射雷達,可以說如果雷射雷達的發展不夠理想,自動駕駛等級的提高會收到很大的限制。目前雷射雷達的技術不夠發達,生產成本高。