古典控制

可觀測性

可觀測性提出的是與可控性互為鏡像的問題:只憑你實際能採到的那些測量值,你能不能推斷出系統內部正在發生的一切?許多重要的內部條件是隱藏的——你也許能測到車輪的位置,卻測不到它的打滑;能測到水箱的出口流量,卻測不到深處的溫度。如果透過一段時間地觀察系統的輸出,你能從看到的東西裡推斷出完整的隱藏狀態,這個系統就是可觀測的。如果某個內部條件在任何測量上都根本不留下任何蛛絲馬跡,那一部分就是不可觀測的,你對它就是「兩眼一抹黑」。

想像一位醫生,他沒法直接看進病人體內,但可以在幾分鐘裡量脈搏、體溫和血壓。如果這幾個讀數——連同它們的起伏一起被觀察——足以確定身體內部正在發生什麼,情況就是可觀測的。如果兩種截然不同的內部狀況會產生完全相同的一串讀數,那麼單憑測量醫生就永遠無法把它們區分開——這就是不可觀測。同樣的邏輯也支配著機器:一台機器人,若它的感測器恰好以某種永遠不會顯現在讀數上的方式漏掉了一根來回擺動的柔性連桿,它就無從知道那根連桿在擺動。

可觀測性之所以重要,是因為大多數控制器都需要知道狀態才能動作,而感測器卻很少能直接測到一切。當狀態被隱藏但可觀測時,一個估計器——比如卡爾曼濾波器這樣的一段軟體——會依據可得的輸出和系統模型把它重建出來,控制器再依據這個估計值去動作。如果系統不可觀測,那麼任何估計器都無法找回缺失的那部分,於是補救之道是增加或改進感測器,而不是更高明的數學。和可控性一樣,可觀測性也是在硬體定型之前,就從模型裡檢驗出來的。

一台只裝了車輪編碼器的自平衡機器人,也許分不清「向前傾倒」和「向前滾動」;加一個傾角感測器,傾角就變得可觀測了,控制器這才能去糾正它。

若輸出能揭示每一個隱藏狀態,系統就是可觀測的;若某個狀態藏得天衣無縫,它就不可觀測。

可觀測性是可控性在輸出一側的孿生概念:一個關乎「駕馭」隱藏狀態,另一個關乎「看見」它們。兩者合在一起,才告訴你一個基於狀態的控制器到底有沒有可能實現。

又稱
state observability可观察性可观性