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

最近逐漸了解了一些航空航天方面控制系統要面對的一些難題,忍不住想對比一下機器人的控制。然而個人水平實在太低,只能仰望之,遂來問問題。
雖然知道這兩個對象完全不是一個類別,差別很大,完全不沾邊,但還是想知道哪個理論結合工程的水平更吊?或者可以這麼問,除了氣動和結構設計,波士頓動力的牛逼人物們來搞各種航空航天運動控制方面的東西是不是木有多大難度。

自從確定上研究生以後,逐漸認識到理論知識的重要性,最近埋頭看書,面對這一本本動輒幾百頁上千頁的控制和導航類專業書內心一陣陣發虛,也不知道日常設計時需要這麼多東西么?還是說經典控制理論已經足夠應對?求大神們教導,讓我有勇氣繼續面對那些專業書籍。最好是實際應用的例子哈~多謝多謝~


以下提供一些個人觀點。
從系統的角度看, 航空器, 汽車和機器人都可以用下面的方程描述
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 yieldsddot 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,一千頁,細枝末節也不少,所幸作者的思路終究是清楚的。


樓主可以了解一下人類第一次登月的時候,那個登月艙出來的過程。當時看了之後覺得那時候人類是發了什麼演算法才搞定這個東西的……


說我身邊的兩個關於控制的故事:
1.原來數學系有個研究自動控制方向的老師,據說在數學系被那些搞計算的,統計的同行鄙視,然後跑到控制系去了,從此以後各種論文,期刊,升教授,整個人紅光滿面。。。
2.我本科導師就是數學轉控制,很年輕,長江學者,在現代控制里有很深的造詣。。

說這兩個故事是說一個悲哀的事情:就僅僅從理論上來說搞控制的,在搞數學的看來是不入流的。
控制更多的問題是對實際控制對象的建模。而建模的主要知識,就不是控制理論能告訴你的了。

………………………………………………………………………
學渣沒有敢鄙視上面兩位業內大神的意思,實際上就理論上沒有被數學鄙視的,也就只有物理了吧。但是還是想說類似大狗機器人的控制,實際上最難的真不是控制理論的事兒。
再拿一個產銅工廠舉例,廠長一般是搞工藝的,副手才是搞控制的。
………………………………………………………………………
所以航天和大狗機器人這類最前沿的應用之間,沒有太大的借鑒作用,雖然看起來都是自動控制。沒有控制是不行,不過控制理論不是工程化中的難點。


中國人必須得有這個!!

中國人必須得有這個!!

中國人必須得有這個!!

——

別看這個很難,但是我內心裏面好像總有個聲音在呼喚我——「我也能做出來這個東西」


我也相信我能做出來


理論是讓人了解物體運行規律的,實踐是將理論轉化為實際應用,所有的控制學都是相通的只是考慮的因素數量有所不同,術者知道理,知其理,天下萬物皆為吾等所用


上邊張同學說的很對,所謂控制系統抽象出來都是解方程的問題。怎麼把方程解的又快又好,那沒點數學功底真是玩不來


理論真的是必須.基礎的例子,比如,一階,二階,甚至三階倒立擺的平衡性,你沒有理論去建模,難道靠猜,靠調試?飛機在著陸時,就有專門的模型,讓其平穩順滑地著陸.殲10戰鬥的總設計師,據說之前在哈工大潛心研究了8年的空氣力學(我個人看的資料啊,不當準).

自動控制跟純軟體很大區別就是,自動控制的東西存在於現實環境中,受到各種影響,你必須要有一個合適的模型去描述它,去預測它,才能夠達到控制的目的.

BD的機器人真的太出色了,出色到讓同行有點絕望了.


我對航空方面的控制系統不太了解,但是可以跟你說下機器人控制的東西。無論是大狗或者獵豹,他們之所以能夠實現複雜的運動控制,歸功於兩點:控制器和控制演算法。首先要有一套優秀而的伺服控制系統,這是基礎,其次是高效的運動學動力學控制演算法以及智能性。
事實上機器人運動與航天器運動所面對的問題是不同的。個人不認為學習機器人控制會對航天器控制有什麼幫助,即使有也是事倍功半。


可能書讀得少,一直不太明白為什麼要這麼嚴格的區分"搞控制的"和"搞數學的"。

我覺得只是解決不同問題而已。

至於最高水平與否,從視頻里真心看不出。重要的人家不放,人們也不關心。人們只關心好看的。

比如做個語音控制機器人的例子吧,運動控制只是一個方面。有限的工作量,你說是全分配到運動控制上呢,還是均勻一下?


推薦閱讀:

如何能夠較好掌握飛控系統設計?有沒有比較好的書籍推薦?
自動控制理論中的開環傳遞函數是什麼意思?為什麼是G(s)H(s)而非G(s)?
有哪些介紹自動控制(反饋控制理論、狀態估計、卡爾曼濾波等)歷史的書?
自動化專業的優勢在哪裡?
你見過哪些奇葩的控制演算法?

TAG:機器人 | 控制系統 | 自動控制 | 航空航天 |