当前位置: 华文星空 > 汽车

控制系统中的零极点有什么物理意义么?

2013-11-14汽车

搞非线性的试着答一波...这是非线性控制方法论vs频域方法论的大顺风局,是说明非线性方法论可提供更深刻直觉的绝佳领域,看了看没人推那我一定要试着推一推。什么是极点?什么是零点?左右半平面零极点到底意味着啥?为什么要求系统最小相位?相信学本科控制系统的朋友都痛苦过

这时候频域老哥就会说了,极点往下拐,零点往上拐,最小相系统可以画出唯一bode图..(这还是我硕士入学面试题…)简直比抽象更抽象。在频域里来回浸润的同志对着bode图可以一顿「直观理解」,很容易忘记这一切都是驯化的观点,所谓的直观也只是在所构建工具之上的直观,仅限于线性+SISO,不容易跟真实对象建立物理对应,所获得的直觉性观点也少之又少。真做了工程师,站在真实系统面前也只知道扫个频看个频谱...诚然电力电子/通信领域,频域的故事讲得很漂亮,但电气化的大航海时代早就结束了,现在是造高达的时代,更广阔的控制领域,不敢说频域害人不浅,也只能说过于rookie level了。

实际上就是害人不浅,你可以听到很多高精尖领域里的人声称还是用频域这一套,有的时候团队带头人是懂非线性的,他只是照顾成员用老一套来讲故事罢了…(当然不排除有些高精尖领域高精尖在装备上而不是算法上,用线性SISO就够了。)为了跟行内人士打交道,学校不得不教,学生不得不学,学完了已经对进阶的东西毫无兴趣了..实际上所谓进阶的东西一开始就学也不会有什么问题。国内高校懂的人也不太多,做控制的海龟又难拿教职,这何尝不是一种新式技术封锁?

其实这事儿跳出线性SISO系统可能反而更直观,否则能举的例子太少了。如果说整个大系统是由一堆小系统互联的,每个小系统都有自己的动态(或说状态/微分方程因变量),那么:

  • 极点对应可通过输出测量的系统动态
  • 零点对应着通过输出测不到的系统动态
  • 这里和可观性有紧密关联。测不到的动态就是观测及其导数的核空间,线性情况下就是observability Gramian,非线性下会复杂很多,不过道理相通,我们可以在线性MIMO下建立insight:

  • 零点对应着不可观部分的特征值
  • 极点对应着可观部分的特征值
  • 「系统分解」是控制理论里几乎不可能再重要的思维方式了,看到后面的举例相信你也会深刻地建立这个直觉。关于线性系统可观/不可观的分解见kalman的论文 [1]

    你会发现压根就没有所谓的「零点过程」、「极点过程」,系统就在那里,都是ODE的特征值,一个动态对应零点还是极点取决于视角。本科的时候纳闷既然零/极点会确定性地对应bode图,那应该对应着不同的物理过程。为什么闭环以后零点没变,但又会翻到分母上改变极点?进而改变所谓的特征方程?大部分课程都会告诉你特征方程决定系统性能,但他不会告诉你这实际上是一种妥协..研究它是因为这是输出真正能测的部分,零点对应的动态我们压根测不到,只能期望它是渐进稳定的(即频域法的大前提,也是缺陷之一——最小相位)

    拿摇晃酒杯举例,视手上施的力为输入,酒杯位移为输出,可用输出及其导数测得的是酒杯位移/速度/加速度,这些动态对应着极点(一个二阶系统);但是酒的状态不能通过输出测得,就对应着零点了。如果你一定建立成传递函数,会发现它有左半平面的零点,这是因为水的波动是耗散、渐进稳定的。

    酒杯位移作为输出往往不是选择,而是不得不接受的事实..比如领导让你用工业机械臂拿水杯,冲咖啡什么的。控制杯子位移精准很简单,反馈+高增益控制就可以;但要保证酒不洒出来,就要对输入及其导数进行限幅,对应的是小增益控制/饱和控制。

    前面说零/极点取决于视角,怎么理解呢?

    机械臂的力还是输入,但加了一个摄像头,这样输出就变成杯子和水的位移了,杯子+水就变成了串联质量,此时系统没有「零点」,只不过变成了SIMO系统,不能用传递函数理解。线性化从状态空间看的话,系统一直都是四个特征值,只不过从两个不可观/两个可观变成了全都可观。

    另外,我们说的「输出」是指我们最关心的指标、最想跟踪的轨迹,并不一定非得是可测得的量,特别是跟踪问题,有一个因果关系在。比如藤原拓海运豆腐,如果他只关注跑的安全跑得快,那豆腐就是零点;如果他一边看着车一边用屁股测力关心着豆腐,那车和豆腐都是极点,但是车辆动态会影响豆腐的平衡点,没法提前规划。另外,即使用内模观点构造成一个误差镇定问题,那也成两个模型两个insight了;但事实上我们想要一个模型好多insight——既然目的是汽车安全下山,同时镇定豆腐在汽车状态决定的平衡点附近(并不能提前求得),我们需要通过把汽车轨迹设为输出来说明:仅做输出反馈是不够的,用屁股做个状态反馈吧。再聊一个作者领域的例子——液压机械臂轨迹跟踪,液压油可压缩会产生不小的形变(也对应不同的压力),这显然是个零点,因为你并不能确定位移是泵入液压油导致的还是压缩导致的;但我们的目的是跟踪位置轨迹而不是跟踪压力轨迹,即便加压力传感器,也不能把压力视为「系统输出」。这是一个常见错误。

    延伸出来,零/极点可以举出特别特别多的现实例子。极点没太有必要举,因为只要能测它都可以对应极点...nontrivial的东西是零点。零点在非线性控制里叫zero dynamics,即零动态。没有零动态/零点的性质在非线性里叫平坦性,是一类可以直接高增益压住的系统。而包含零动态的系统有:

  • 串联的电容/电感(但也不一定)。电路元件是零/极点判断不能归于定式。如果一个储能元件的能量可以不依赖输入直接用输出测得,那就是极点,否则会出现在零点上。
  • 欠约束刚体杆。只关注某一点位移/旋转的话,一定有一个自由度观测不到。由于旋转非线性,会有诡异的正零点:想象用筷子向上打筷子,质心一定是向上的,但一端可能会先向下。这是大多数人会遇到的第一个「非最小相位系统」(但它显然是耗散的,并不是坐标无关的不稳定零动态。频域法充满了对坐标的妥协,它无法反过来指导你从哪取输入输出)
  • 固定翼飞机俯仰,和上一条类似。记得之前有飞控大佬分享固定翼的传函,上面就有正零点,这里虽然不是耗散的,但明显也是取坐标的问题:总能找到一个不是质心的点,使得升降舵对高度没有正零点。如果含鸭翼就更有意思了(相信飞控领域是传统和现代方法冲突最多的领域之一)
  • 几乎所有PDE控制。比如热控制/过程控制/管道压力控制。下面连续说几个。
  • 想象管道流动的1维pde,我们只知道有限个点的压力,其余地方我们根本测不到。
  • 过控也是坐标相关正零点的重灾区,学校开了专门的过控/预测控制课,除了理论和算法基本就是正零点处理技巧,每次都想冲上去说换个地方装传感器/多装两个就好了(很可能并不现实
  • 炸火箭的管道/结构耦合振动。把加速度传感器装错了位置(对箭体平坦但对油管不平坦),导致没处理好PDE里的零动态;
  • 舰船主轴振动,这一类被动抑振问题都是找个好地方加轴承/阻尼,其实本质上是在pde上找一个低阶振型的平坦输出并约束之。这里和inverse system联系密切
  • 汽车白车身振动。搞nvh的应该有体会
  • 机械臂颤振/加工颤振/薄壁件钻孔颤振,也是上面这一类,是把PDE形变杆视为刚体的锅。所谓input shaping/reference shaping抑振,只不过是小增益镇定被搞伺服的频域老哥们重新发明了一遍...
  • 汽车悬架的底盘变形/轮胎变形;如果悬架是被动的,那所谓的轮上质量也变成了零点
  • 火箭/飞机内晃动的油料
  • 高速电梯绳索振动
  • 桁吊/港口吊机/起重机等
  • 摩天大楼的风阻尼器
  • 直升机上用绳索挂的任务载荷(驾驶员看不到绳索状态)
  • 运动员倒立上单杠,运动员通过训练只明确知道曲髋角度的轨迹,其整体质心就是零动态。对应acrobot模型
  • 和上面例子一样,人步行时整体质心相对于地面的移动是零动态。加上接触切换/系统降阶,再找一个稳定orbit,就是HZD了(
  • 再举几个身边的例子:

  • 走路时挂在胳膊上的东西
  • 小时候都背着一书包的书跑过吧
  • 新手学游泳,如果身体不太协调,无法感受到腿的位置,只会曲髋和摇手臂,这个时候下肢的俯仰角就是零动态
  • 骑自行车往一边歪的角度(你能测但它不是输出)
  • 骑自行车时挂在车把上的购物袋(这个例子很有趣,因为镇定上面一条本来就需要小增益,但是对购物袋来说增益还是过大了,因此要进一步缩小增益,同时会缩小保持自行车平衡的收敛域,导致容易摔倒)
  • 甩鱼竿时鱼竿上栓的钩子
  • 射箭。找到一个映射,把箭的最终位置作为输出,拉弓方式作为输入,那么中间过程统统都是零动态(希望有读者能想到poincare mapping进而想到轨道动力学)
  • 用杯子码骰子时,没有贴紧杯子的骰子(此时系统输出是位移+力,贴紧杯子的骰子状态是可观的)
  • 管理团队时,除了你信任的人之外都是零动态..这一观点可以推广到任一管理问题/治理问题(所以领导要加摄像头啊
  • 单向的心理治疗基本都是零动态镇定问题..实际上双向的博弈也算是这类问题(还记得纳什求得的那个著名平衡点吗)
  • 传统中医几乎就是输出反馈零动态镇定…现代医学算是强行状态反馈。
  • 读者可能已经意识到,首先零极点精确对消是件多么荒唐的事,它只是因为频域没有对应响应而把对应物理对象都删掉了,但是老师除了说「这样不鲁棒」之外,几乎不会跟你讲清楚为什么(比如大楼的风阻尼器就是零极点对消,但有用不代表真的可以消掉,把楼当刚体怎么算阻尼器发热?)。在看了以上例子之后,读者也能发现零动态稳定性决定了系统能不能镇定,直接说结论:

  • 如果零动态是指数稳定的,这时候频域观点叫最小相系统,非线性也讲strong minimum phase。我们可以不太管它,用高增益镇定就好。如果振动不可接受,当然也可以分析一下给输入的导数加个饱和;按频域观点,也可以给控制器加几个极点压一压高频。这里给输入导数限幅和压高频的操作是等价的,都是不希望把零动态激振起来。
  • 如果零动态是「弱」渐近稳定的,比如线性化后零点在虚轴上或者虚轴附近,但其中心流形是稳定的。这个时候频域观点就傻了眼了;非线性上叫weak minimum phase,在一定条件下整个系统semiglobally可镇定的(至少构造一个确定的吸引域,比local的临域可镇定强,但又不是全局的),至于怎么镇定又是另外的故事了。
  • 如果零动态是不稳定的(有右半平面特征值/有右半平面零点),输出反馈的镇定是不可能的,此时你需要加传感器做状态反馈,当然这也是MIMO设计的范畴了。
  • 但你要明白这根本不是搞理论的在做什么空中楼阁的东西,都是实实在在的真-常见问题。理论上说镇定不了的事,他就真的不可能镇定啊,不要再浪费钱改控制器了,请直接加反馈或改设计。再不提高国内控制工程姿势水平的话,在造高达的路上我们会落后一大截(

    零动态的故事大概就是这样了,相信你也理解了极点和零点是什么。如果读者学完了线性控制、多少接触过非线性,一定听说过Isidori老爷子,老爷子关注的topic之一就是零动态(根据上面的举例,读者应该不会低估这个方向的潜力吧),提出了isidori标准型,清清楚楚地分离出了零动态;用他自己的话说是「a long,painful but eventually successful story」 [2] 。回头再看老爷子的书,你也许就理解系统分解为什么如此重要;而如果你多少知道一点Lie理论,也就能明白为什么要用几何观点:系统分解的必要步骤-非线性换元法(坐标变换)是要用到微分几何的;哪有什么高处不胜寒,一切的努力都是希望我们看到系统的数学形式时,就像看到「自行车把上挂个购物袋」一样那么直观——用正确的语言讲故事是多么重要。也许你也能理解当这一切都用正确的语言讲明白之后,大佬们攀上高峰的空虚,以及为什么「control is dead」是一句充满骄傲的宣言。

    但作为学生又能怎么办呢?频域还是要学的。毕竟考研/保研面试要考啊。

    参考

    1. ^ 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
    2. ^ isidori talk, 2017 https://www.youtube.com/watch?v=zcvnVCH7IcY&t=2593s