国产精品色情一区二区三区_欧美一区综合_日韩中文字幕一区二区_日韩一区二区三区毛片_一级毛片视频免费_久久精品国产午夜伦班片

大話現代控制理論之線性控制篇

2021/6/22 12:36:49 人評論 次瀏覽 分類:過程控制  文章地址:http://www.gsipv.com/tech/3845.html

PID從20世紀二三十年代開始被工業界廣泛應用,戲法變了好幾十年,也該換換花樣了。PID說一千道一萬,還是經典控制理論的產物。20世紀五六十年代時,什么都要現代派:建筑從經典的柱式、比例、細節的象征意義,變到“形式服從功能”的鋼架玻璃盒子;汽車從用機器牽引的馬車,變到流線型的鋼鐵藝術;控制理論也要緊跟形勢,要現代化。于是,美國人魯道夫·卡爾曼隆重推出濾波器·····現代控制理論。昌暉儀表網技術文庫欄目以大話形式推出一系列介紹控制理論的文章,分別介紹線性控制、最優控制、離散控制模型與辨識、自適應控制模型預估控制方面的內容。

大話現代控制理論之線性控制篇
大家都看過舞龍吧?一個張牙舞爪的龍頭氣咻咻地追逐著一個大繡球,龍身子扭來扭去,還時不時跳那么一兩下。中國春節沒有舞龍,就和西方人的圣誕節沒有圣誕老人一樣不可思議。想象一下,如果這是一條眼睛看不見的盲龍,只能通過一個人捏著龍尾巴在后面指揮,然后再通過龍身體里的人一個接一個地傳遞控制指令,最后使龍頭咬住繡球。這顯然是一個動態系統,龍身越長,人越多,動態響應越遲緩。如果只看龍頭的位置,只操控龍尾巴,而忽略龍身子的動態,那就是所謂的輸入-輸出系統。經典控制理論就是建立在輸入-輸出系統的基礎上的。對于很多常見的應用,這就足夠了。

但是卡爾曼不滿足于“足夠”。龍頭當然要看住,龍尾巴當然要捏住,
但龍身體為什么就要忽略呢?要是能夠看住龍身體,甚至操縱龍身體,也就是說,不光要控制龍頭龍尾巴,還要控制整個龍身體,那豈不更好?這就是狀態空間的概念:將一個系統分解為輸入、輸出和狀態。輸出本身也是一個狀態,或者是狀態的一個組合。在數學上,卡爾曼的狀態空間方法就是將一個高階微分方程分解成一組聯立的一階微分方程,這樣可以使用很多線性代數的工具,在表述上也比較簡潔、明了。

卡爾曼是一個數學家,數學家的想法就是和工程師不一樣。工程師腦
子里轉的第一個念頭就是“我怎么控制這個東西?增益少?控制器結構是什么樣的?”數學家想的卻是什么解的存在性、唯一性之類虛頭巴腦的東西。不過呢,這么說數學家也不公平。好多時候,工程師憑想象和“實干”辛苦了半天,發現想法完全不靠譜,結果完全不合情理,這時才想起那些存在性、唯一性什么的還是有用的。還記得永動機嗎?這不是勤奮加小聰明就可以發明的,不可能的就是不可能的。

圖1 本來龍尾巴這一頭的控制指令可以通過一個人、一個人往下傳,控制整個舞龍動作的,但中間有兩個人開小差,這龍就舞不起來了,換句話說,不可控了

還是回過來看這條龍。現在,龍頭、龍尾巴、龍體都要看,不光要看,
還要直接拿捏住每一個環節。但是,這龍不是想看就看得了的,不是想舞就舞得了的。說到“看”,直接能夠測量/觀測的狀態在實際上是不多的,所謂看,實際上是估算。要是知道龍身體有多少節(就是有多少個人在下面撐著啦),龍身體的彈性/韌性有多少,那么捏住龍尾巴抖一抖,再看看龍頭最后落到哪里,是可以估算出龍身體每一節的位置的,這叫作狀態觀測。那么,要是這龍中間有幾個人開小差,手不好好拉住,那再捏住龍尾巴亂抖也沒用,
這時系統中的部分狀態就是不可觀測的。如果你一聲令下,部分人充耳不聞,根本不理會你的指揮,或者說控制命令根本傳不到這些人這里,那這些狀態就是不可控制的。卡爾曼從數學上推導出不可控和不可觀的條件,在根本上解決了什么時候才不瞎耽誤工夫的問題。這是控制理論的一個重要里程碑。

再來看這條龍。如果要看這條龍整齊不整齊,排成縱列的容易看清楚;
如果要清點人數,看每一個人的動作,排成橫列更容易看清楚。但是無論怎么排,這條龍還是這條龍,只是看的角度不同。早些年中國的春節舞龍還沒有在美國的中國城里鬧騰起來,不知道卡爾曼有沒有看到過舞龍,反正他把數學上的線性變換和線性空間的理論搬到控制里面,從此,搞控制的人有了新工具:一個系統橫著看不順眼的話,可以豎著看。興趣來了,還可以斜著看、倒著看、擰著看,因為無論怎么看,系統的本質是一樣的。但是不同的角度有不同的用處,有的角度設計控制器容易一點,有的角度分析系統的穩定性容易點,諸如此類。在控制理論里,有各種特診的形式就叫這個那個標準型”。這是控制理論的有一個里程碑。

這個“觀測狀態的最終目的還是控制。只用輸出的反饋叫作輸出反饋,經典
控制理論里的反饋都可以歸到輸出反饋里,但是用狀態進行反饋的就叫狀態反饋了。輸出反饋對常見系統已經很有效了,但狀態反饋要猛得多,可以對所有零極點精確配置,而不是像經典方法那樣,只配置主要零極點,其他的只是“趕”到左半平面(穩定區域)足夠遠的地方就行了。想象一下,一個系統的所有狀態都被牢牢地瞄住,所有狀態都乖乖地聽從調遣,那是何等的威風?

盡管學控制的人都要學現代控制理論,但大多數人記得卡爾曼還是
因為那個卡爾曼濾波器(Kalman Filter)。說它是濾波器,其實是一個狀態觀測器(State Observer),是用來從輸入和輸出“重構”系統狀態的。這重構聽著玄妙,其實不復雜。不是有系統的數學模型嗎?只要模型精確,給它和真實系統一樣的輸入,它不就乖乖地把系統狀態給復現出來了嗎?且慢,微分方程的解不光由微分方程本身決定,還有一個初始條件,要是初始條件不對,即使微分方程的解的形式是正確的,但是數值永遠差一拍。卡爾曼在系統模型的微分方程后再加了一個尾巴,把實際系統輸出和模型計算的理論輸出相比較,再乘上一個校正因子,形成一個實際上的狀態反饋,把狀態重構的偏差漸進地消除,解決了未知或者不確定初始條件和其他的系統誤差問題。
卡爾曼濾波的基本原理
圖2 根據經驗(數學模型)推斷,然后根據斷斷續續的情報(實時測量)修正,來推測系統狀態,這就是卡爾曼濾波的基本原理


卡爾曼濾波器最精妙之處,在于卡爾曼推導出一個系統的方法,可以
考慮進測量噪聲和系統內在的隨機噪聲,根據信噪比來決定上述校正因子的大小。如果測量噪聲主導,那最優狀態估計主要基于從系統模型重構;如果系統本質噪聲主導,那最優狀態估計主要依賴輸出測量的校正。這是符合實際生活經驗的。在戰斗中,如果“戰爭之霧”濃重,無法得到及時、確切的敵人情報,有經驗的指揮官會根據先前已知的確切情報和對敵人通常行為的了解,來憑經驗對當前敵人的狀態進行推斷;如果敵人根本沒有章法,打仗時還常常會莫名其妙亂跑,串個門、敘個舊什么的,那就只有根據當前戰線位置反過來推斷了。

預估-校正”的構型其實不是卡爾曼的獨創,卡爾·隆伯格(Carl
Luenburg)也得出了類似的結構,但他是從系統穩定性角度出發的,用極點配置的辦法來決定校正因子,并不直接考慮測量噪聲和系統噪聲的問題。

同樣的結構大量用于各種“預測-校正”模型結構,在工業上也得到很
多應用。比如聚合反應器的分子重量分布可以用反應器的溫度、進料配比、催化劑等來間接計算,但不夠精確,也無法把林林總總的無法測量的干擾因素統統包括進數學模型里。這時用定時采樣、中心分析室測定的真實值來定期與模型估計值相比較,計入校正因子(業內也稱為“信任因子”,代表對模型計算和分析結果的相對信任程度)后,就可以結合數學模型及時的特點和分析結果精確的特點,滿足實時控制的要求,這或許可以算作簡易的卡爾曼濾波器。

卡爾曼濾波器最早的應用還是在雷達上。所謂邊掃描邊跟蹤,就是用
卡爾曼濾波器根據飛機的動態模型估計敵機的位置,再由雷達的間隙掃描結果來實際校正。實際應用中還有一個典型的問題:有時候,對同一個變量可以有好幾個測量值可用,比如有的比較間接而且不甚精確,但很快捷;有的是直接測量,很精確但有很大的滯后,這時可以用卡爾曼濾波器把不同來源的數據按不同的信噪比加權“整合”起來,也算是簡化版的“信息融合”。關于信息融合,后面還會更多地談到。

除了卡爾曼濾波器外,卡爾曼的理論在實際中用得不多,但是卡爾曼
建立了一個出色的理論框架,對理解和研究控制問題有極大的作用。

順便說一句,卡爾曼的理論基本局限于線形系統,也就是說,十塊大
洋買一袋米,二十塊大洋就買兩袋米,都是成比例的。實際系統中有很多非線性的問題,兩千塊大洋還能買兩百袋米,但兩千萬大洋就要看米倉有沒有貨了,不是錢越多,買的米越多,有一個“飽和”的問題。另一方面,要是米倉有足夠的貨,兩千萬大洋的集團購買力強,或許就可以討價還價出一個折扣價,買三百萬袋米了。這些只是非線性的簡單例子。所有偏離線性的問題都是非線性的。非線性的問題研究起來要復雜得多。實際系統還有其他特性,有的是所謂時變系統,像宇宙火箭,其重量隨時間和燃料的消耗而變,系統特性當然也就變了。很多問題都是多變量的,像汽車轉彎,不光方向盤的轉動是一個輸入,加速和制動也是輸入變量。狀態空間的理論在數學表述上為線性、非線性、單變量、多變量、時變、時不變系統提供了一個統一的框架,這是卡爾曼最大的貢獻。

在實用中,可以把非線性系統按當前條件用泰勒級數展開,取線性項
作為近似,這樣又可以把卡爾曼的經典線性理論用上了。在實際使用中,隨當前條件的漂移,重新計算近似的線性項,與時俱進,這就是簡單的自適應卡爾曼濾波,也叫作增廣卡爾曼濾波。不過,其是否有效取決于很多因素,本來就接近線性的容易成功,但這也不需要費自適應這個事,鎖定一個近似線性項就差不多了;高度本質非線性的就比較難,但這恰恰是需要自適應的地方。沒辦法,世界上的事情常常就是這么擰:好做的不需要,難做的做不了。

大話現代控制理論之線性控制篇的內容到此結束。歡迎大家繼續關注《大話現代控制理論之最優控制篇》。

作者:[加]晨楓

共有訪客發表了評論 網友評論

  客戶姓名:
郵箱或QQ:
驗證碼: 看不清楚?