當前位置: 華文問答 > 科學

波士頓動力的機器人是否代表了運動控制的最高水平?所用到的理論知識和工程經驗在普通工程中有套用價值麽?

2014-11-10科學

以下提供一些個人觀點。

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

\dot x = f(x, u, t)

y=h(x,u,t)

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

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


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

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

\dot x = f(x, t)+g(x,t)u

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

\dot x = Ax+Gu

y=Hx+Ju

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

絕大多數情況下,真實的系統既不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

H(q,\dot q)\ddot q + C(q, \dot q)\dot q + D(q, \dot q) \dot q + G(q) = u

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。可以覆寫為

\ddot q = H^{-1}(u-G(q)-D(q,\dot q)\dot q - C(q, \dot q)\dot q)

那麽對於期望的軌跡v ,只要控制

u=H(q,\dot q)\ddot v+ C(q, \dot q)\dot q+D(q,\dot q)\dot q +G(q)

which yields\ddot q = \ddot v

當然還要加入一些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,一千頁,細枝末節也不少,所幸作者的思路終究是清楚的。