ADRC學習

學習ADRC先從提出這個算法的論文《從 PID 技術到“自抗擾控制”技術》開始。
https://download.csdn.net/download/qq_34445388/10309935
調試四輪智能車,板球控制系統,兩輪直立車,舵機控制,這些控制系統用的都是PID控制,雖然我已經有很多種改進方法,但是還是很難突破傳統PID的限制,調節速度和超調一定同時存在,想要得到較好的控制效果,用現代控制理論解決,要知道精確的系統模型。從網上看到有ADRC這種綜合了PID和現代模型的優勢的控制算法,想要學習一下。
一、先回味一下傳統的PID控制技術
PID控制技術相對於是非常簡單的,很容易就理解了,基於誤差進行控制,只要有誤差,就會往無限逼近誤差爲零的方向調節。
這裏寫圖片描述
PID的優點很明顯,簡單,就是簡單,就這麼一個公式什麼都能進行控制。
但是在使用過程中還是有些技巧的!
1、I 這個量雖然能提高控制的精度,但是他的存在很容易造成超調和滯後,對於響應速度較高(比較接近系統的開環響應頻率)的系統,基本上都要選用PD控制,如果是想要再提高響應而不顧超調的話,可以通過對I做限幅,不完全積分等方法加入控制中,明顯能夠提高系統的響應,但是超調量會急劇增加。
2、P的控制是系統綜合能力的體現,P小的時候系統相對穩定,但是跟蹤能力差,P大的時候系統總是存在震盪現象。如果你在調試一個系統的時候,他經常會讓你抓狂,大也不是,小也不是。這時候就可以使用一些變P的手段,提高P的階數,增加系統的響應,同時在小誤差時能夠兼顧穩定性 P= a * Error * Error + b。用一個標準二階函數就能顯著的提高控制系統的品質。
3、D 這個量,確實對於控制的預判有着非常明顯的作用,尤其是大滯後的系統,加D之後,能夠明顯提高響應和抑制積分控製造成的後遺症。但是經過我多次調試發現,微分變量對系統的改善的上限到達比較快,基本上都是PI調節完成之後,D再能對系統品質提高10%——20%,之後就會沒什麼作用,或者引起震盪。

所以我以前的調試總是絞盡腦汁的想辦法,變P變I變D,可是總是很難兼顧系統在不同狀態的運行。尤其是增加了很多的調試參數,最後自己都是一團亂,還不能說出一個所以然。看完這一篇感覺恍然大悟,直擊內心深處。
PID 的缺點:
①誤差的取法;
②由誤差 e 提取de/dt 的辦法;
③“加權和”策略不一定最好 ;
④積分反饋有許多副作用
我上面說的問題確實很多都與總結的四點有關,下面我們就看看解決辦法。
這裏寫圖片描述
這裏寫圖片描述
這裏的 ‘tao’(那個字符不會顯示)在我的理解裏就是採樣間隔時間,有時候確實是這樣的,採樣週期越短,噪聲被放大越大,引起系統的震盪。比如說直立車速度調節,因爲直立,速度和轉向都是調節輪子的轉速,所以測量的速度噪聲特別大,提高採樣週期之後才能明顯降低噪聲的影響。

跟蹤微分器TD
看了論文和各種資料,下面我介紹一下我認識的ADRC的TD,至於具體推導原理,是在是不懂。
https://download.csdn.net/download/qq_34445388/10318629
這是韓京清先生研究ADRC幾乎所有的論文集鏈接。
這裏寫圖片描述
這是跟蹤微分控制器的離散方程,看方程其實就很直接。
h:爲時間尺度 MATLAB的仿真步長爲0.001所以 h = 0.001

這裏寫圖片描述
Simulink 模型裏的TD 有一個輸入狀態,經過TD安排過渡時間,計算fst(快速控制最優綜合函數)後,會得到兩個輸出v1 目標狀態,v2系統的微分。
這裏寫圖片描述
這是TD的內部結構,和公式裏面的一樣,就是跟蹤微分的階躍響應公式。fst 輸入的第一個參數爲
v1(t) - v0(t).在結構圖裏,就是v1-v,之後的結構對照公式即可看明白。
這裏寫圖片描述

這裏看一下對TD的仿真波形圖。
這裏寫圖片描述
基本上很好的跟蹤上了正弦波。
這裏提示一下TD模型裏的參數修改的地方。在這個模型裏只有兩個參數r,h.
這裏寫圖片描述
這裏寫圖片描述
雙擊1,再選擇2的地方就可以了。然後設置3處的兩個參數。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章