串級PID直立控制


基於串級PID的直立車控制算法研究

摘要:直立平衡車因其動力學系統同時具有多變量,非線性,不穩定,強耦合等特性,傳統的單環PID控制平衡已經略顯吃力。本文將采用內環角速度PI控制、外環角度PD控制及最外環速度PI控制組成的串級 PID算法來控制直立車的平衡及運動,串級PID控制器比常規PID控制系統具有較強的穩定性、抗干擾性。

關鍵詞:串級PID;直立車;姿態控制;耦合

0引言

智能車是現代汽車工業和電子計算機等科技成果相結合的產物, 具有自動識別道路的功能從而實現自動駕駛。兩輪直立小車廣泛的應用於倉庫物流運輸以及巡邏的代步工具等方面[1]。兩輪直立智能車賽題在大學生智能車競賽中已經出現快十年,直立車的控制算法也日趨多樣,兩輪直立智能車在賽道中,需同時兼顧速度、平衡與循跡,姿態與循跡控制效果的優劣直接決定行駛平均速度的高低[2]。直立車模本身只具有一個執行機構,即兩個主控馬達。對於傳統PID控制,涉及到平衡角度環和速度環控制輸出復用一個執行機構問題,為提升在較高速度下的運行性能,對傳統算法進行了一定程度的改進,提出一種基於串級PID的直立車姿態控制算法。

1串級PID控制設計

直立車由雙電機驅動,左右電機為控制對象,控制器需具有直立、行駛同時兼顧轉向的功能。傳統直立車控制算法,大多采用角度環輸出與速度環輸出線性疊加,在高速行駛狀態時姿態的跟隨能力欠佳,在此在傳統算法基礎上將速度-角度進行了串聯,並增加了角速度為最內環回路。串級PID 控制器輸出后經過處理換算為PWM,輸入驅動板后可使直立車行駛。

1.1傳統直立車PID控制系統

直立車傳統控制系統如圖1所示。為使其具有速度控制與姿態平衡能力,利用2個單獨的閉環分別進行控制,輸出電機控制信號為各環輸出的疊加。該控制方案雖簡單但存在一定問題,如:僅單獨施加直立控制,其車身平衡效果雖能滿足要求,但此時如果在該基礎上額外施加速度控制,速度控制勢必會打破直立車的平衡姿態,使得速度與直立控制互相耦合,此時如果再施加轉向控制,就會導致高速時轉向控制實時性和姿態的平衡性欠佳。

在這里插入圖片描述

圖1 直立車傳統控制框圖

傳統位置式PID控制算法公式:

\[P(k)=K_pe(t)+K_i\sum_{j=0}^ke(j)+K_d[e(k)-e(k-1)]\tag{1} \]

其中\(P(k)\)為調節器輸出,\(e(t)\)是當前角度誤差,\(K_p\)比例系數,\(K_i\)積分系數,\(K_d\)微分系數。

1.2直立車串級PID 控制

串級PID控制系統結構如圖2所示。

在這里插入圖片描述

圖2 直立車串級控制系統框圖

串級PID外環控制算法如公式2

\[\omega(k)=K_p\theta(t)+K_i\sum_{j=0}^k\theta(j)+K_d[\theta(k)-\theta(k-1)]\tag{2} \]

式中\(\omega(k)\)為外環調節器輸出,\(\theta(t)\)是當前角度誤差。

內環PID控制算法公式:

\[\begin{cases} p(k)=K_pe(t)+K_i\sum_{j=0}^ke(j)+K_d[e(k)-e(k-1)]\\ e(t)=\omega(k)-\omega(t) \end{cases}\tag{3} \]

式中\(p(k)\)為內環調節器輸出,\(e(t)\)是當前角速度誤差,\(\omega(t)\)為當前角速度

如圖2所示,行駛閉環控制車模的行駛姿態和運行速度。在行駛速度閉環中,速度PID 計算輸出的值為直立車在機械零點角需要前傾或者后仰的角度,該輸出值需與機械零點角相加才能將速度控制轉化為角度控制,而角度的變化是要由角速度產生的俯仰角度PID 計算輸出值為直立車需要保持的角速度,俯仰角速度PID 計算結果即為串級行駛閉環的輸出值

直立車平衡控制使用串級PID,外環角度,內環角速度,最外環速度,只需要通過姿態傳感器采集一個軸的數據即可。速度環100ms環控制一次,角度環10ms進行一次控制,角速度環2ms控制一次,外環輸出先加一個限幅才傳給內環,實測效果非常穩定,不會震盪,也不會出現明顯的反應滯后。速度控制和平衡控制,轉化為角度和角速度的控制,整個控制系統中僅僅有角速度環的輸出給電機控制,原理上可以有效地消除傳統速度PID 與直立平衡PID 並聯所產生的耦合。

1.3算法實現

串級PID算法的實現在於角速度環、角度環和速度環控制的不同周期。初始化程序完成之后,啟動周期為2ms的定時中斷。PIT 中斷要為循環中的算法提供程序執行的時序標志位控制,根據標志位實現不同周期執行不同控制環節,這種程序結構有助於提高算法的執行效率以及實時性。中斷服務函數中具體控制的算法流程如圖3所示。

在這里插入圖片描述

圖3 中斷程序框圖

1.4串級PID參數整定

由於串級控制,速度環、角度環和角速度環會互相影響,所以調節參數時應該從內環開始整定。先令外環(角度環、速度環)調節器目標值為零,然后開始整定內環(角速度)PID參數,因為陀螺儀在測量角速度過程中會不斷積累誤差以及各種噪聲的干擾,最終造成系統的穩態誤差,所以角速度環采用PI控制來降低系統的穩態誤差,調整參數至直立車能夠做緩慢的自由落體運動,此時內環參數整定完成。

調整好角速度環后就可以開始整定角度環PID參數了,角度環采用PD控制,調節到直立車能夠快速響應在機械零點保持平衡,給一個干擾后能快速回到平衡位置且不發生震盪就算調節好外環參數。

速度環采用PID調節,速度環的參數整定最后來完成,先應該通過設定目標值為零來確定參數的極性,然后通過觀察車模實際運行狀態,通過上位機觀察各數據來給定參數。

2兩種方案對比分析

當系統受到多級噪聲時,內環會先進行調整,再由外環進行調整,所以控制的精度和穩定性都優於單極PID控制。通過實際小車運行狀態來看,如圖4所示。傳統算法圍繞中線產生了較大過調;串級PID算法過調明顯較小,且跟隨能力遠強於傳統算法,可以看出常規PID 的穩定時間比串級控制短。串級PID控制器比常規PID 控制系統具響應迅速,穩定性高等優點。

在這里插入圖片描述

圖4 實驗數據圖

3結語

串級 PID 相比典型的 PID 算法控制更精准、穩定,系統內環為角速度環,外環為角度環,經過系統測試,能夠實現良好的平衡控制效果。由於串級算法實現簡單且實用,對傳統方案進行改進不需要額外的硬件要求,在直立車控制上具有一定的工程推廣和參考價值。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM