之前在知乎寫過一篇《搞不清楚的前饋》,曾寫道從自動控制原理的角度,前饋項可以理解為產生跟蹤期望軌跡的力,而PD控制是消除軌跡誤差。換句話說,加入前饋可進行軌跡跟蹤,而單純PD控制是進行定點的鎮定控制。

前饋項無疑可以提高響應速度,在頻域上改善相位裕度。在對命令信號的響應進行整形時,前饋非常有用(前饋所基於的命令信號總是可獲得的)。由於前饋總是試圖使兩個信號相匹配,這就要求有良好的過程模型,否則的話,校正量就可能出錯,或者校正信號可能會發生時序(相位)上的問題。

對於期望前饋信號的一階導數或者二階導數,可通過跟蹤微分器獲取。《搞不清楚的前饋》中對於前饋信號對應的係數的理解是依據動力學方程將相關線性或非線性的相關項進行補償(即根據重力轉矩和慣性矩陣對角線元素相應的慣性矩陣來實現補償),從而將被控系統轉換成二階線性控制系統的控制問題,通過PD的參數設置,使該控制系統快速無超調的響應。

瞭解了系統辨識的知識後,有了從頻域進行前饋設置的相關理解。以前執拗的我對於基於模型或者名義模型的控制演算法總有種偏見,一是模型不易得來,二是即使有了模型,也大多基於線性化,其適應範圍小,不具有自適應和魯棒性(以上所說的模型跟多指向物理理論建模)。學過系統辨識,掌握相關工具後,對於基於頻率的模型(被控對象傳遞)的相關控制演算法如同發現新大陸般激動。

通過辨識的頻域模型,求逆,可獲取前饋信號的相關係數;通過matlab工具可使用NCD、優化函數之類的方法進行系統的PID整定;而對於辨識的模型(名義模型)與實際模型的差異可通過幹擾觀測器等幹擾觀測補償方法進行補償(同時反饋信號也會對幹擾或建模誤差進行校正)。

當然這樣的整體控制思想,也是可以基於時域動力學模型進行設計。(基於上述角度,有利於理解我之前翻譯的四旋翼無人機SO(3)高性能全姿態控制中圖3(完整的姿態控制圖)中動力學前饋項和串級PID的組合的整體控制框架)

對於擾動或模型的不準確的處理,一種方法是上文提到的對擾動進行觀測然後進行對應項的補償,另一種方法是通過自適應方法對增益係數進行自適應調節(上文所提到的相關具體方法可參考先進PID控制MATLAB模擬(第4版))。

書中很多穩定控制律基於PD控制,而魯棒控制器基於PI控制,我感覺PID加擾動補償會更魯棒一些,或許包含I後,穩定性證明會相對複雜一些。

下一講,再詳述前饋和反饋的綜合設計~

推薦閱讀:

相關文章