波士頓動力的機器人是否代表了運動控制的最高水平?

波士頓動力的機器人是否代表了運動控制的最高水平?

波士頓動力的機器人是否代表了運動控制的最高水平?

從系統的角度看, 航空器, 汽車和機器人都可以用下面的方程描述

波士頓動力的機器人是否代表了運動控制的最高水平?

其中x是state variable,u是control input,y是系統輸出。

因此可以將相同的控制方法用在相似的系統上。control law的選擇取決於系統的結構,parameter的選擇取決於期望的performance。

上面的方程太抽象了,特徵太少。因此展開分析,第一步就是根據對系統的理解確立更精確、更具體的模型。系統建模是最重要的一步。合理的模型能有效降低分析的複雜程度。

比如有一類control-affine系統,可以寫做:

波士頓動力的機器人是否代表了運動控制的最高水平?

將系統自身的影響和控制的影響分開了。更特殊地,如果是Linear Time-Invariant,又可以簡化為

波士頓動力的機器人是否代表了運動控制的最高水平?

這就是大多數幾千頁的書裡會重點介紹的系統了。

絕大多數情況下,真實的系統既不linear也不time-invariant,但是可以通過System Identification建立經驗模型,再進行線性近似(“世上本沒有線性,只有taylor expansion前兩項”——周鋼)。

對於LTI systems,在controllability存在的前提下,可以通過full state feedback將poles放置到任意地方(pole placement)。然而很多情況下不能直接測量state variable,於是根據線性簡化的輸出模型建立了Estimator,並使用negative feedback確保其stability and convergence。為了均衡sensor noise & performance,引入了各種filter,其中最著名的就是Kalman Filter,其實是一個optimal observer,是根據最優化理論設計的。

但是有的時候,線性近似是不可行的,這時候就要回到更高一層的抽象,探索新的方法。

首先要確保的是系統的穩定性。一個俄國數學家提出了一種分析系統穩定性的方法,即Lyapunov Analysis。關鍵是找到一個scalar function,類比於力學系統中的force potential。如果能證明這個Lyapunov Function是單調遞減的,那麼系統一直在損失能量,必然趨於穩定。至於如何尋找Lyapunov Function,那是Black Magic (quoted from Prof. Russ Tedrake)。

有了鑑定穩定性的工具,就可以重新開展研究了。

對於簡單的系統,比如控制重物的一維位置,可以繪製phase plot,從圖中尋找規律。

對於一部分control-affine systems,可以使用feedback linearization再次線性化。例如manipulator equation

波士頓動力的機器人是否代表了運動控制的最高水平?

where H is the inertial matrix, C denotes centrifugal & coriolis terms, D is the damping term, G represents the gravity's contribution, u is the joint torques。可以改寫為:

波士頓動力的機器人是否代表了運動控制的最高水平?

波士頓動力的機器人是否代表了運動控制的最高水平?

波士頓動力的機器人是否代表了運動控制的最高水平?

波士頓動力的機器人是否代表了運動控制的最高水平?

當然還要加入一些PD terms to provide stability and convergence。

不是所有的系統都是feedback linearizable,比如quadrotor有六個DOF卻只有4個actuators,是underactuated system. 有人提出了partial feedback linearization,可以解決一部分問題,但是這樣治標不治本。此外,linearization的成本是非常高的,在考慮actuator saturation的情況下甚至是不可能實現的。

那麼現在問題就變成了:how to balance control effort and system performance? how to achieve desired behavior with least effort? 不少人都聽說過LQR,它對於LTI能生成最優的控制。它也是從最優化理論得到的。

Optimization對於控制實在是太有用了。Given the system's behavior, define the cost function,使用optimization tools能找到最優control law (w.r.t the cost function);或者優化trajectory;和更多。

但是再完美的model也不可能面面俱到,世上總有uncertainty,比如砸向atlas的大錘,飛機遇到的turbulence。那麼我們要從deterministic systems上升到更抽象的stochastic systems. 對於controller,除了stability and convergence,又多了一個robustness需求。Model predicative control比較適合這種情況,而且它顛覆了以前對於負反饋的認識。

綜合上面的簡單介紹,我悲觀地看到,整個control engineering歸根到底是嚴肅的數學。不管汽車飛機船舶機器人化學反應,都是數學方程。同樣的數學工具同樣的分析方法,應用到各種各樣的方程上面。所以你問,atlas的成果對於aero-astro有沒有幫助,我的回答是,有,至少人家提供了一個分析和控制underactuated systems的方法(所有的飛行器都是欠驅動的)。那麼Atlas上到底使用了什麼呢?MIT robot locomotion group的Atlas用的還是LQR,只不過人家重心設計特別好,system identification做得特別準,Q & R調的特別巧。你要問最難的是什麼:solder all the wires, make reliable connectors, connect all the motors。"implementation is always the most challenging part"

那麼怎樣才能遠離數學呢?develop your physical insight. 像Feynman, Fermi, Karman那樣去思考,而不是像中國高中生一樣沉浸在一本又一本的習題裡,只見樹木不見森林。為什麼PD control會保證穩定?因為P對應spring,D對應damper,真實世界中的spring-damper系統都是穩定的。人走路為什麼不摔倒?因為腿腳移動的速度比摔的速度快,重心投影又回到support polygon裡面了。

幾千頁的書不會都是正文;例題看看就行,選幾個做一做。如果真的都是正文,那肯定50%以上是廢話、細枝末節、special case。學習知識還是先抓主幹最好。general case搞定了,其他的都是特殊條件下的簡化、近似,隨便推一下就出來了。基於這個理由,不推薦任何中國教授編寫的教材,太零碎沒有核心思路;也不推薦翻譯成中文的書,因為一些譯者太不負責。我入門的書是feedback control of dynamic systems,一千頁,細枝末節也不少,所幸作者的思路終究是清楚的。

波士頓動力的機器人是否代表了運動控制的最高水平?

波士頓動力的機器人是否代表了運動控制的最高水平?

波士頓動力的機器人是否代表了運動控制的最高水平?

波士頓動力的機器人是否代表了運動控制的最高水平?

波士頓動力的機器人是否代表了運動控制的最高水平?

波士頓動力的機器人是否代表了運動控制的最高水平?

波士頓動力的機器人是否代表了運動控制的最高水平?


分享到:


相關文章: