DuckieBot 小鴨車控制簡介
DuckieTown 小鴨城
Duckietown是2016年由MIT五位教授及15 位博士研究後所開發發展出的平台(微型城市)。其中有著小小的自駕計程車Duckiebot,在城市中提供鴨子市民Duckie便利的交通。這些自駕車Duckiebot都安裝微型嵌入式電腦與相機鏡頭,使他們能完成大部分真實自駕車能做到的事。學生們利用Duckietown學習機器人領域的知識,並讓自動駕駛技術與人工智會變得更加容易學習、更加有趣。


自走車控制方法

  • Bang-Bang Control 起停式控制 (on –off control)
  • P 比例控制 (proportional control)
  • PI 比例積分控制 (proportional –integral control)
  • PD 比例微分控制 (proportional-derivative control)
  • PID 比例積分微分控制 (proportional-integral and derivatice control)



Bang-Bang Control 起停式控制 (開關控制)

起停式控制(bang-bang control),也稱為砰砰控制、bang-bang控制、開關控制、繼電器式控制或磁滯控制,是會讓控制輸出在兩種狀態之間切換的回授控制器,起停式控制會使控制輸出在某個狀態停留一段時間,再跳到另一個狀態[1]。起停式控制可以用有遲滯功能的元件實作。
起停式控制可以控制只接受二種狀態輸入的設備,例如一個只能控制全開或全關的電爐。常見的家用自動調溫器即為屬於起停式控制。起停式控制的輸出可以用離散形式的單位階躍函數來表示。因為起停式控制控制信號的不連續,控制系統中若有包括起停式控制,即可視為是一個變結構系統,因此起停式控制器也屬於變結構控制器。
起停式控制的優點是結構簡單方便,但其缺點是控制動作的不連續,若設計不當,容易造成系統震盪(這也是稱為砰砰控制的原因)

P 比例控制 (proportional control)

在自走車行進控制上,使用比例控制( proportional control ),當行進水平方向(黑線)和理想行進路線(中線)產生誤差時,誤差愈大,則車輪轉動的角度愈大(紅線),若以 𝜃 表示車輪轉動角度,e代表誤差,轉動角度為誤差乘上一個固定比例,所以稱為proportional control: 𝜃 = 𝑃 × 𝑒,而P值需要適度調整,如圖25,P值過大會造成過多的振盪,P值過小會使自走車很久才會達到目標路徑

PI 比例積分控制 (proportional –integral control)

在比例控制的操作中有一明顯的缺點,即操作程序有負荷變化時,其變數即有偏差(offset)的情形發生,為了消除偏差必須使用重整(reset)裝置,而成為比例積分控制(PI控制)。


PD 比例微分控制 (proportional-derivative control)

對於落後較大的程序,輸出的命令常無法及時消除誤差,因此在比例控制的後面加一預期動作,預測誤差的走向,事先加以調整稱為微分控制(PD控制)。當誤差信號發生時先起校正作用的是微分器然後才是比例控制器。微分作用的目的在抵消程序的落後,每個程序有其適當的速率時間,如調節過大,反而有害。一般應用上在落後很嚴重的系統中(如溫度控制)較常用微分控制有助於系統的穩定性。其優點為可消除圈環現象,使系統更穩定,缺點為對於微小的干擾信號或假信號也會將其放大。


PID 比例積分微分控制 (proportional-integral and derivatice control)

(比例-積分-微分控制器),由比例單元(P)、積分單元(I)和微分單元(D)組成。透過Kp,Ki和Kd三個參數的設定。PID控制器主要適用於基本上線性,且動態特性不隨時間變化的系統。


為了達到良好的控制,控制系統必須是 (1)偏位小(2)穩定(3)加快反應。 比例積分微分控制又稱PID控制,是藉由積分作用消除偏位(offset),而微分控制可縮小超越量(overshoot)加快反應(respone),為綜合了PI控制與PD控制的長處,去除其短處的控制。


DuckieBot 小鴨車中控制應用

DuckieBot 控制原文


Duckiebot為每個車輪使用執行器(直流電機)。通過對車輪施加不同的扭矩,Duckiebot可以轉動,直行(兩個車輪的扭矩相同)或保持靜止(兩個車輪都沒有扭矩)。該驅動配置稱為差速驅動器。


我們將推導出差速驅動輪式機器人的原理。 Duckiebot 將接收電壓作為輸入(到直流電機)並輸出。勢明確地描述了Duckiebot 相對於一些牛頓“世界”框架的位置和方向。

一旦我們估計了位置和方向在車道上的Duckiebot,我們用它來產生控制發出信號向車道行駛。