大家接觸到控制理論時常感覺枯燥乏味,昌暉儀表網(wǎng)技術文庫欄目以大話形式推出一系列介紹控制理論的文章,分別介紹線性控制、最優(yōu)控制、離散控制模型與辨識、自適應控制模型預估控制方面的內(nèi)容。
大話現(xiàn)代控制理論之最優(yōu)控制篇
搞控制的有三波人:電工出身的,化工出身的,還有應用數(shù)學出身的。在卡爾曼之前,電工出身的占主導地位,數(shù)學家們還在象牙塔里打轉轉,不知道外面世界的精彩,化工出身的則還對控制理論懵懵懂懂,還在“實干”呢??柭螅淮笈鷶?shù)學出身的人利用對數(shù)學工具的熟悉,轉攻控制理論。一時間,控制理論的數(shù)學化似乎成了“天下大勢,浩浩蕩蕩,順我者昌,逆我者亡”了。在狀態(tài)空間的框架下,多變量的問題容易研究,很快被一掃而光,剩下的都是難啃的硬骨頭,于是最優(yōu)化成為控制理論的新時尚。
對于一根給定的曲線,一階導數(shù)為零的點,就是這個曲線的極點;再對這一極點求二階導數(shù),就可以確定這是最大點、最小點還是駐點(單調(diào)上升或者下降曲線中一個過渡的水平段)。這是牛頓老爺子就整明白的東東,現(xiàn)在高中或大學人人都學過這一套。但是動態(tài)系統(tǒng)是一個微分方程,對微分方程求一階導數(shù)為零(采用變分法或所謂的歐拉方程。用變分法可以計算出兩點之間最小距離為直線,還可以計算出最小阻力的下滑曲線是拋物線。很奇妙的東西,但這東西用起來不方便。實際的最優(yōu)控制不大直接使用變分。
俄羅斯是一個奇怪的地方。俄國人要么蔫蔫的,要么瘋狂的。俄羅斯的悲劇文學看得你也郁悶地想去自殺。據(jù)說《安娜·卡列尼娜》原著連載到最后,真有人追隨安娜去臥軌了。但是俄國人要是搭錯筋整出一個喜劇呢?那你要么跟著瘋狂,要么被逼瘋狂。就是這么一個地方,除了托爾斯泰、柴可夫斯基、普希金、列賓等文藝巨璧外,也盛產(chǎn)數(shù)學家,其中兩個是列夫·龐特里亞京和學控制的人老惦記著的亞歷山大·李亞普諾夫。
龐特里亞京的極大值原理聽起來嚇人,說白了其實很簡單??匆娔巧?/span>了嗎?山頂就是最高點(切,這還用說?),這就是無約束最優(yōu)化問題;看見那山了嗎?要是在山腰畫一道線,線那邊是禁區(qū),那從山下往上爬,盡管山坡還在繼續(xù)往上延伸,山頂還更高,但是到線為止,不得逾越,那山腰上那道“三八線”就是最高點(切,這還用說?),這變成了約束最優(yōu)化問題。當然,山腰那道“三八線”要是畫到山背面去了,可以無限制地爬上山頂,這山頂還是最高點,又回歸到無約束最優(yōu)化問題了。這就是龐特里亞京極大值原理的基本原理。當然啦,龐特里亞京是用精巧、深奧的數(shù)學語言表述的,要不然他在數(shù)學界里也別混了。不過呢,意思就是這么一個意思。
圖1 最高點在哪里?羊走得到的最高的地方,最高點就在那里
龐特里亞京極大值原理的一個典型應用就是所謂最速控制問題,或者叫時間最優(yōu)控制(Time Optimal Control)問題。簡單地說,就是給定最大馬力和最大制動功率,問題是怎么開汽車能夠最快地從A點開到B點(什么轉彎、上下坡、紅綠燈,這種瑣碎的事情也要拿來煩人?一點品味都沒有!)。你可以用優(yōu)美但煩瑣的數(shù)學求證,或者用膝蓋想想:最快的方法,就是一上來就一腳油門踩到底,加足馬力,全速前進;然后在終點前的某一地點,一腳制動踩到底,全力減速,使慢下來的汽車在觸及終點時正好停下來。這是最快的方法,不可能比這更快了。稍微發(fā)揮一點想象力,可以想象:一上來就“梆”地一下,加速踏板一腳到底;再掐好時機“梆”地一下,制動踏板一腳到底,坐等車子漂移到終點線正好停下來,控制任務就完成了。所以最速控制也叫“梆-梆”控制(Bang Bang Control)。
圖2 從A到B要最快該怎么開?一起動就油門踩到底,算好差不多了制動踏板踩到底,正好飄到停車線停下。這是最快的,不可能更快了。這就是最速控制,也叫“梆-梆”控制
最速控制在理論上是一個很有趣的問題,解法也很簡潔、優(yōu)美,但在實際中直接使用的例子實在是鳳毛麟角。一般都是開始時用放水版的“梆-梆”,或者快速但均勻加減速到控制極限,以緩和控制的沖擊力;到終點附近時,改用PID做閉環(huán)微調(diào),以克服“梆-梆”對系統(tǒng)模型誤差十分敏感的缺點。電梯控制就是這樣一個例子:電梯要從一樓到四樓,一起動電動機就很快勻速上升到最高轉速,一過三樓,電動機轉入PID控制,根據(jù)電梯實際位置和樓面位置之差,有控制地減速,直至停下來。要是控制參數(shù)調(diào)得好,一下子就穩(wěn)穩(wěn)當當?shù)赝O聛砹恕?/span>
最速控制問題是較早的最優(yōu)控制問題,它提供了一個很有趣的思路,但這顆樹上開花結果不多。相比之下,最優(yōu)控制的另外一支卻枝繁葉茂,有生氣得多了。這一支就是線型二次型最優(yōu)控制(Linear Quadratic Control).數(shù)學是有趣的,但數(shù)學也是盲目的。在數(shù)學上,最優(yōu)化問題就是一個在曲面上尋找凸點(或者凹點,兩者在數(shù)學上是等價的)的問題,只要你能把一個物理問題表述成一個曲面,數(shù)學是不理會芙蓉姐還是黛玉妹的。既然如此,偏差的二次方在時間上的積分就是很自然的最優(yōu)化目標函數(shù)。二次方抹殺了正負偏差的區(qū)別,時間積分則一網(wǎng)打盡從過去到現(xiàn)在所有時間的偏差。累計都最小化了,任意時間上的瞬時偏差肯定也小。二次型就是二次方在線性代數(shù)里的說法。
線型系統(tǒng)的偏差二次方有很好的性質,這山峰是一個饅頭山,平滑光順,形狀規(guī)整,沒有懸崖峭壁,沒有溝壑坎坷,容易爬;一山只有一峰,不用擔心找錯地方。不過這山峰不能只包含控制偏差,還要包含控制量,原因有三個:
1)如果不包括控制量,那最優(yōu)控制的解是沒有意義的,因為無窮大的控制量可以使累計二次方偏差為無窮小,但無窮大的控制量是不現(xiàn)實的。
2)控制量的大小通常和能量、物料的消耗連在一起,實際控制問題一般是“在最小能量、低消耗情況下達到最高的控制精度”,所以在“山峰”中同時包含偏差和控制量是很自然的,這確保偏差和控制量均衡地同時達到最小。
3)系統(tǒng)模型總是有誤差的,誤差“總是”在高頻、大幅度控制作用下最突出,為了降低系統(tǒng)對模型誤差的敏感性,也有必要限制控制量的大小和“活躍度”。
所以,線性二次型最優(yōu)控制的“目標函數(shù)”(也就是山峰形狀的數(shù)學表述)是一個控制偏差和控制量各自二次方的加權和的積分。積分當然就是“在時間上的累積”了,加權和其實就是在控制偏差的二次方項和控制量的二次方項前分別乘以比例因子,然后再相加。兩個比例因子的具體數(shù)值不太重要,但相對大小決定了誰更重要。如果偏差項的加權更大,則控制精度的要求更高,但控制量就相對放任一點;如果控制項的加權更大,則控制量的使用就精打細算,而偏差就不能要求太高了。魚和熊掌總是不能兼得的,兩種做法各有各的用處。對于高精度但不惜工本的控制問題,偏差項加權可以大一點;對于馬馬虎虎就行了但要勤儉持家的控制問題,控制項加權應該大一點。
運用矩陣微分和線性代數(shù)工具,不難導出線性二次型控制律,而且這是一個基本的狀態(tài)反饋控制律!只是反饋增益矩陣是按最優(yōu)化的要求計算出來的,而不是線性控制里按照零極點配置計算出來的。
線性二次型最優(yōu)控制開創(chuàng)了一整個新的控制領域,很快從狀態(tài)空間走出來,進入其他領域,繁衍子孫,人丁興旺。這一支是當今最優(yōu)控制在實際應用中的主體。
線性二次型控制具有各種各樣的優(yōu)點,但是,線性二次型沒有回答一個最基本的控制問題:這個閉環(huán)系統(tǒng)是不是穩(wěn)定。這里,我們飽受惦記的怪人李亞普諾夫出場了,李亞普諾夫也是一個腦子搭錯筋的人,一百多年前,玩微分方程玩邪了門,整出兩個穩(wěn)定性(或者叫作收斂性)的定理。前一個沒有什么太了不起的,就把非線性系統(tǒng)局部線性化,就是把一根曲線用很多一小段、一小段的直線近似,然后按線性來分析。后一個就有點邪門了,老李琢磨出一個定理,說是對于任意一個系統(tǒng),如果能找到一個自我耗散的能量函數(shù)(能量函數(shù)在數(shù)學中也叫作正定函數(shù)),也就是其數(shù)值永遠為正,但隨時間漸進地趨向零,或者說如果這個能量函數(shù)對時間的導數(shù)永遠為負,那這個系統(tǒng)就是穩(wěn)定的。據(jù)說定理的證明是一個天才的杰作,我等凡人只有頻頻點頭的份。不過想想也對,系統(tǒng)的能量都耗散沒了,系統(tǒng)不也就消停下來了嗎?當然就穩(wěn)定嘍。
李亞普諾夫比卡爾曼還要數(shù)學家,他的定理只給出“如果存在......就......”,怎么找這個自我耗散的能量函數(shù)他沒說,這個函數(shù)一般是什么樣的他也沒說。這難不倒搞自動控制的廣大善男信女。不是要正定函數(shù)嗎?不是對正定函數(shù)的形式?jīng)]有限制嗎?那就用偏差的二次方吧。二次方了就永遠是正的,正好符合李亞普諾夫的要求。那自我耗散呢?先求導再說,不是有反饋增益矩陣嗎?湊湊弄弄,說不定能湊出個導數(shù)為負。
說干就干,但是干著干著,好玩的事情出現(xiàn)了,對偏差二次方(或二次型)的求導,導出了和線性二次型最優(yōu)控制推導過程中同樣出現(xiàn)的所謂黎卡蒂方程(Riccati Equation),感情這是殊途同歸呀!
換句話說,線性二次型控制總是穩(wěn)定的。想想也對,線性二次型的時間積分是從零到無窮大,只有偏差漸進趨向零了,或者說閉環(huán)系統(tǒng)是漸進穩(wěn)定的,這時間積分才是有限的,否則時間積分本身就是發(fā)散的,也談不上什么最優(yōu)了。這是線性二次型控制的一個重要貢獻:把最優(yōu)性和穩(wěn)定性連到一起。這也指出了一個非常重要的事實:控制理論在本質上是數(shù)學,數(shù)學是相通的,可以殊途,但弄到最后,總是同歸。不同的方法弄到最后常常是等價的。
再扯一句李亞普諾夫,他的第二個定理非常威猛,但是有點像一個奇形怪狀的大錘,到現(xiàn)在人們還在找合適的釘子,好用這把大錘砸?guī)紫隆>€性二次型控制是已知的僅有的幾個釘子之一,另一個是變結構控制(Variable Structure Control),也稱滑??刂?Sliding Mode Control),適用于很大一類非線性問題,也可以用李亞普諾夫方法。只要存在一個穩(wěn)定的線性“滑模”,就可以計算出確保穩(wěn)定的控制律。但除了特殊結構(或者說處于特定標準型)的系統(tǒng),這個穩(wěn)定的線性滑模很不容易找。換句話說,正面攻不上,可以試圖側面攻,似乎勢如破竹,直搗龍門。但存在真正艱難的“硬核”的話,換個方向攻,最后撞上的是同一個硬核的另一個面,真是又殊途同歸了。本質艱難的問題弄到最后還是要硬啃,繞是繞不過去的。但這是題外話了。
大話現(xiàn)代控制理論之最優(yōu)控制篇的內(nèi)容到此結束。歡迎大家繼續(xù)關注《大話現(xiàn)代控制理論之離散控制篇》。
作者:[加]晨楓