搞非线性的试着答一波...这是非线性控制方法论vs频域方法论的大顺风局,是说明非线性方法论可提供更深刻直觉的绝佳领域,看了看没人推那我一定要试着推一推。什么是极点?什么是零点?左右半平面零极点到底意味着啥?为什么要求系统最小相位?相信学本科控制系统的朋友都痛苦过
这时候频域老哥就会说了,极点往下拐,零点往上拐,最小相系统可以画出唯一bode图..(这还是我硕士入学面试题…)简直比抽象更抽象。在频域里来回浸润的同志对着bode图可以一顿「直观理解」,很容易忘记这一切都是驯化的观点,所谓的直观也只是在所构建工具之上的直观,仅限于线性+SISO,不容易跟真实对象建立物理对应,所获得的直觉性观点也少之又少。真做了工程师,站在真实系统面前也只知道扫个频看个频谱...诚然电力电子/通信领域,频域的故事讲得很漂亮,但电气化的大航海时代早就结束了,现在是造高达的时代,更广阔的控制领域,不敢说频域害人不浅,也只能说过于rookie level了。
实际上就是害人不浅,你可以听到很多高精尖领域里的人声称还是用频域这一套,有的时候团队带头人是懂非线性的,他只是照顾成员用老一套来讲故事罢了…(当然不排除有些高精尖领域高精尖在装备上而不是算法上,用线性SISO就够了。)为了跟行内人士打交道,学校不得不教,学生不得不学,学完了已经对进阶的东西毫无兴趣了..实际上所谓进阶的东西一开始就学也不会有什么问题。国内高校懂的人也不太多,做控制的海龟又难拿教职,这何尝不是一种新式技术封锁?其实这事儿跳出线性SISO系统可能反而更直观,否则能举的例子太少了。如果说整个大系统是由一堆小系统互联的,每个小系统都有自己的动态(或说状态/微分方程因变量),那么:
这里和可观性有紧密关联。测不到的动态就是观测及其导数的核空间,线性情况下就是observability Gramian,非线性下会复杂很多,不过道理相通,我们可以在线性MIMO下建立insight:
你会发现压根就没有所谓的「零点过程」、「极点过程」,系统就在那里,都是ODE的特征值,一个动态对应零点还是极点取决于视角。本科的时候纳闷既然零/极点会确定性地对应bode图,那应该对应着不同的物理过程。为什么闭环以后零点没变,但又会翻到分母上改变极点?进而改变所谓的特征方程?大部分课程都会告诉你特征方程决定系统性能,但他不会告诉你这实际上是一种妥协..研究它是因为这是输出真正能测的部分,零点对应的动态我们压根测不到,只能期望它是渐进稳定的(即频域法的大前提,也是缺陷之一——最小相位)
拿摇晃酒杯举例,视手上施的力为输入,酒杯位移为输出,可用输出及其导数测得的是酒杯位移/速度/加速度,这些动态对应着极点(一个二阶系统);但是酒的状态不能通过输出测得,就对应着零点了。如果你一定建立成传递函数,会发现它有左半平面的零点,这是因为水的波动是耗散、渐进稳定的。
酒杯位移作为输出往往不是选择,而是不得不接受的事实..比如领导让你用工业机械臂拿水杯,冲咖啡什么的。控制杯子位移精准很简单,反馈+高增益控制就可以;但要保证酒不洒出来,就要对输入及其导数进行限幅,对应的是小增益控制/饱和控制。
前面说零/极点取决于视角,怎么理解呢?
机械臂的力还是输入,但加了一个摄像头,这样输出就变成杯子和水的位移了,杯子+水就变成了串联质量,此时系统没有「零点」,只不过变成了SIMO系统,不能用传递函数理解。线性化从状态空间看的话,系统一直都是四个特征值,只不过从两个不可观/两个可观变成了全都可观。
另外,我们说的「输出」是指我们最关心的指标、最想跟踪的轨迹,并不一定非得是可测得的量,特别是跟踪问题,有一个因果关系在。比如藤原拓海运豆腐,如果他只关注跑的安全跑得快,那豆腐就是零点;如果他一边看着车一边用屁股测力关心着豆腐,那车和豆腐都是极点,但是车辆动态会影响豆腐的平衡点,没法提前规划。另外,即使用内模观点构造成一个误差镇定问题,那也成两个模型两个insight了;但事实上我们想要一个模型好多insight——既然目的是汽车安全下山,同时镇定豆腐在汽车状态决定的平衡点附近(并不能提前求得),我们需要通过把汽车轨迹设为输出来说明:仅做输出反馈是不够的,用屁股做个状态反馈吧。再聊一个作者领域的例子——液压机械臂轨迹跟踪,液压油可压缩会产生不小的形变(也对应不同的压力),这显然是个零点,因为你并不能确定位移是泵入液压油导致的还是压缩导致的;但我们的目的是跟踪位置轨迹而不是跟踪压力轨迹,即便加压力传感器,也不能把压力视为「系统输出」。这是一个常见错误。
延伸出来,零/极点可以举出特别特别多的现实例子。极点没太有必要举,因为只要能测它都可以对应极点...nontrivial的东西是零点。零点在非线性控制里叫zero dynamics,即零动态。没有零动态/零点的性质在非线性里叫平坦性,是一类可以直接高增益压住的系统。而包含零动态的系统有:
再举几个身边的例子:
读者可能已经意识到,首先零极点精确对消是件多么荒唐的事,它只是因为频域没有对应响应而把对应物理对象都删掉了,但是老师除了说「这样不鲁棒」之外,几乎不会跟你讲清楚为什么(比如大楼的风阻尼器就是零极点对消,但有用不代表真的可以消掉,把楼当刚体怎么算阻尼器发热?)。在看了以上例子之后,读者也能发现零动态稳定性决定了系统能不能镇定,直接说结论:
零动态的故事大概就是这样了,相信你也理解了极点和零点是什么。如果读者学完了线性控制、多少接触过非线性,一定听说过Isidori老爷子,老爷子关注的topic之一就是零动态(根据上面的举例,读者应该不会低估这个方向的潜力吧),提出了isidori标准型,清清楚楚地分离出了零动态;用他自己的话说是「a long,painful but eventually successful story」 [2] 。回头再看老爷子的书,你也许就理解系统分解为什么如此重要;而如果你多少知道一点Lie理论,也就能明白为什么要用几何观点:系统分解的必要步骤-非线性换元法(坐标变换)是要用到微分几何的;哪有什么高处不胜寒,一切的努力都是希望我们看到系统的数学形式时,就像看到「自行车把上挂个购物袋」一样那么直观——用正确的语言讲故事是多么重要。也许你也能理解当这一切都用正确的语言讲明白之后,大佬们攀上高峰的空虚,以及为什么「control is dead」是一句充满骄傲的宣言。
但作为学生又能怎么办呢?频域还是要学的。毕竟考研/保研面试要考啊。
参考
- ^ Kalman, Rudolf Emil. "Mathematical description of linear dynamical systems." Journal of the Society for Industrial and Applied Mathematics, Series A: Control 1.2 (1963): 152-192. https://epubs.siam.org/doi/abs/10.1137/0301010
- ^ isidori talk, 2017 https://www.youtube.com/watch?v=zcvnVCH7IcY&t=2593s