先進控制
狀態空間模型
狀態空間模型是一種整潔、標準化的寫法,把控制工程師需要瞭解的、關於機器人如何運動和響應的一切都記錄下來。核心概念是「狀態」:一小串數字,刻畫系統當前完整的狀況——對於單個關節來說,可能就只是它的角度,以及這個角度變化的快慢。狀態的承諾是:只要你知道此刻的狀態,再加上從現在起接下來要發出的指令,就能預測整個未來,而不需要任何「你是怎麼走到這一步」的歷史。狀態就是系統的完整記憶,被壓縮進了寥寥幾個變量裡。
隨後,模型把動力學打包進兩個緊湊的方程。第一個是狀態方程,它說明:給定當前的狀態和你施加的輸入(馬達指令),狀態此刻正以多快的速度變化——也就是它的變化率。第二個是輸出方程,它說明你的感測器實際測量並報告的是狀態中的哪些部分。按慣例,這些方程被組織成:變化率只依賴於當前狀態和當前輸入——即一階形式——而這恰恰是整套現代控制設計工具(比如配置極點、構建觀測器)所要求的形狀。
用這種方式來描寫機器人之所以強大,是因為它把一團亂麻般的物理,變成了乾淨、可擴展的「記帳」。兩個數字的狀態描述一個關節;把各個位置和速度疊起來,你就能在一個統一的框架裡描述整條多關節機械臂、一個輪式底盤,或一架無人機。一旦系統寫成狀態空間形式,一個龐大的設計方法庫就可以現成取用,這也是為什麼這種表示是大多數高級機器人控制底層的通用語言。
對於一個機器人擺桿來說,狀態就只有兩個數字——角度和角速度。狀態方程預測它們在馬達力矩作用下如何演變,輸出方程則說明編碼器只能測到角度,而測不到速度。
兩個數字就裝下了擺桿的全部當下,並能預測它的未來。
經典的線性版本寫作 x' = Ax + Bu 與 y = Cx + Du,其中 x 是狀態,u 是輸入,y 是測得的輸出,而 A、B、C、D 是把機器人動力學編碼進去的矩陣。
又稱
另見