以下提供一些个人观点。
从系统的角度看, 航空器, 汽车和机器人都可以用下面的方程描述
\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,一千页,细枝末节也不少,所幸作者的思路终究是清楚的。