可控性
可控性提出的是一個看似簡單的是非問題:只用你被允許去撥弄的那些旋鈕和操縱桿,你能不能把一個系統驅趕到你想要的任意狀態?這裡的「狀態」指的是描述系統正在做什麼的那一整套內部條件——位置、速度、溫度等等。如果給足時間,你可用的輸入能把這些內部條件中的每一個都驅動到任意選定的值,這個系統就是可控的。如果系統的某個角落,無論你怎樣操作控制都永遠到不了、也改變不了,它就不是完全可控的。
一個家常的畫面有助理解。假設一列玩具火車跑在一條「8」字形軌道上,而你唯一的控制就是油門。你可以把火車放到軌道上的任何位置、或快或慢——但你永遠沒法讓它脫離軌道、停在房間正中央,因為沒有任何油門設定能到達那個狀態。軌道限制了你這唯一的輸入能產生哪些狀態。真實機器也有同樣的問題:一架失去了一個馬達的四旋翼,也許無法到達某些傾斜與自轉的組合;一套只有一個爐子的供暖系統,無法獨立設定每個房間的溫度。這種「搆不著」,正是可控性的缺失。
工程師在意它,是因為可控性是控制本身的前提:對於你的輸入在物理上根本影響不到的狀態,你無法設計出一個調節器去維持它或移動它。可控性是在動手搭建任何控制器之前,就從系統的數學模型裡檢驗出來的,它還常常指導硬體選擇——把推進器放在哪裡、要加多少個執行器、裝哪個閥門——好讓所有要緊的狀態都能搆得著。某部分不可控的系統,通常需要的是更多或位置更好的輸入,而不是更聰明的演算法。
一台兩輪自平衡機器人,靠車輪力矩就能被驅趕到任意傾角和速度,所以它是可控的;一旦把車輪焊死、動不了,傾角就變得無法到達,可控性也就被破壞了。
若某個輸入能到達每一種狀態,系統就是可控的;一旦失去這種「搆得著」,它就不可控了。
可控性是「系統加輸入」這一組合的性質,而不是某一個具體控制器的性質;它是可觀測性在輸入一側的孿生概念。