控制算法手记—基于模型 and/or 数据驱动

在介绍了几种数据驱动控制算法(比例-积分-微分控制PID、迭代学习控制ILC、无模型自适应控制MFAC)后,本文试图探讨这么一个问题:针对处于给定应用场景下的被控对象,如何选择合适的动态控制方法以保证优异的控制系统性能?为限定讨论的范围,这里动态控制指在参考输入(Reference Input)已知的情况下,控制方法根据内部观测和被控对象信息计算出控制输入指令(Control Input)使得被控对象输出跟随参考输入的过程。如图1红色虚线框所示,系统对外部环境的感知以及据此做出的轨迹规划/决策暂不在本文的讨论范围。

图1.自动化系统组成部分[1]

对于工业自动化系统来说,动态控制算法应该具备实时(运算时间可短至毫秒级别或者更低)、可靠(始终保持对系统的一致、有效控制,保证控制系统的稳定性)、鲁棒性(干扰或不确定情况下,输出偏差在给定范围内,不能相差很大或得到完全相反的结果)、确定(输出确定性指令使系统尽可能精确地跟随参考输入,而不是概率意义上的判断)以及可解释性(和现实的被控对象关联)的特点。根据在控制实施过程中是否引入被控对象动力学模型,可将控制方法分为两类:基于模型的控制和数据驱动控制,分别如图2(a)和(b)所示。基于模型的控制在合理建模假设下,首先建立被控对象模型描述其动力学特性并以该模型为中心,完成控制器设计、参数整定、性能分析以及实时运算;数据驱动控制则直接从系统可用数据出发,通过对数据的有效组织和整理(表现为数据模型),完成包含设计、分析以及实时运算的整个控制流程。

图2 不同控制方法实施流程

基于模型的控制

基于模型的控制根植于这样一种理念:既然是对被控对象进行动态控制,如果能够准确知道被控对象动力学行为,便能有针对性地设计控制器以给出正确的控制指令;被控对象动力学行为如果能够通过数学模型精确描述,即数学模型所代表的系统和实际被控对象等效,那以模型为中心得到的理论控制性能和控制器实际实施中性能一致。因此,如图2(a)所示,基于模型的控制器设计第一步就是建立被控对象模型,最终控制性能分析和实际运算也是依据模型,其中模型可以经辨识得到或者从作用机理(物理、化学定理定律)出发推导而来。

理想情况下,如果建模精确、参数准确,模型能够正确反映被控系统在各种激励/工况下的变化情况:那么就能够通过模型的计算结果得到被控系统的实时输出值,代替传感器的作用,这对于不便于安装传感器或传感测量系统成本较高的场合至关重要;机理模型自动保证了被控系统输入、输出以及内部状态变量之间结构化、可解释的联系(这种联系已经自动包含在由大量实验和理论发现总结得到的各种普适性定理定律中),这正是利用深度学习利用各种深层神经网络所渴望达到的(相对于支持向量机等‘浅层学习’方法,深度学习在多层次网络结构的架构下,通过对原始数据进行逐层处理,逐步组合低层特征形成更加抽象的高层类别或特征)。充分利用模型所给出的信息,可以达到对被控对象最优的控制效果。从上世纪60年代以来,最优控制(Optimal Control)、模型预测控制MPC(Model Predictive)、自适应控制(Indirect AdaptiveControl)以及针对非线性系统的反馈线性化控制(Feedback Linearization)、反步控制(Back-stepping control)等各种基于模型的控制方法取得了重要研究进展,在实际应用中也已经体现了巨大威力,如模型预测控制(即根据数学模型预测被控系统未来动态变化情况,并根据此预测和当前约束计算出最优的控制输入指令)已经成功地控制人形机器人Atlas (@BostonDynamics)) 优雅地完成奔跑、跳跃、后空翻以及高难度体操动作(在这些动作过程中,需要全身多达几十个关节以及相应执行机构同步、精准完成规定动作)。

由于高度依赖于模型,模型的准确性决定了基于模型的控制系统性能。为简化模型并方便控制器设计,如图2(a)所示,在建模时通常会进行合理假设,未建模动态不可避免地存在。加之未知外界干扰或噪声,使得被控对象实际的动力学行为和模型所代表的动力学行为出现偏差,等效原则不再适用,会导致基于模型的控制系统性能恶化甚至系统失稳。此时,在对未建模动态或干扰进行假设的前提下,可通过相应的鲁棒性设计以保证控制系统的控制性能。

当被控对象无法准确建模(如随机性或不确定性系统)或者为高复杂性系统(用来等效描述其动力学行为的模型复杂度也随之提高),基于模型的控制方法面临着控制算法结构复杂以及由此带来的设计、分析、实时运算难度加大等问题,甚至无法设计出有效的基于模型的控制器。另一方面,随着自动化系统数字化程度不断增强,系统可用数据量也随着增加。以上两方面为数据驱动控制的发展及应用开辟了道路。

数据驱动控制

从字面上来看,数据驱动控制包含数据驱动和控制两个词,即利用数据驱动方法完成控制任务。从数据驱动的角度来看,一种常见的观念是将数据驱动和机器学习、神经网络直接对应起来。实际上,机器学习或神经网络等方法并不代表着数据驱动的全部内涵。数据驱动可以理解为利用特定框架或结构来组织整理数据并挖掘相关信息以完成特定任务,这个意义上来看,神经网络或者决策树、支持向量机都可以理解为‘特定框架/结构’中的一种,对于工业自动化控制的应用场合来说,当然也存在着其它类型的组织、整理数据的方法。从控制的角度来看:数据驱动控制作为动态控制方法的一类,其性能应该满足工业自动化系统对动态控制算法的一般性要求。在综合了数据驱动控制的不同描述后,参考文献[2]给出了数据驱动控制严格定义:

数据驱动控制定义】:数据驱动控制包含所有这样的控制理论及方法:这些理论和方法通过直接利用(被控系统在线/离线输入/输出数据或从数据处理过程中得到的知识),而并不通过(显式地利用从被控对象数学模型得到的信息)来设计控制器;这些理论和方法的稳定性、收敛性和鲁棒性能够在合理假设前提下能够通过严格的数学分析得到保证。

如图2(a, b)所示,与基于模型的控制方法相比,数据驱动控制方法直接从系统可用数据(数据本身包含了系统结构变化、未建模动态和未知干扰等信息)出发,摆脱了对被控对象模型的依赖由此提高了控制系统的鲁棒性、并能够有效地处理难以建模的被控对象的控制问题。值得注意的是,尽管目前机器学习、深度神经网络等数据驱动方法已经成功地应用到外部环境感知、推理决策、故障诊断及预测等不同环节中(见图1),但其在动态控制中的应用、理论分析仍有待进一步发展。作为参考,这里给出参考文献[1]对机器学习控制(Machine Learning Control)的定义:

机器学习控制定义】:机器学习控制是一种使用机器学习算法来学习有效控制率的概念,该概念用来因应难以或不可能(对要处理复杂控制任务的系统)进行建模的场合。

在该定义中,机器学习控制也是针对基于模型的控制方法无法应用的场合,以已经存在的有效控制率为学习对象或内容。然而关键性的问题正是面临复杂控制任务时,如何设计这一有效控制率以保证系统正常运转,并提供机器学习所需要的足够数据。参考文献[1]给出了这样的例子:在受控/训练环境下,用动作捕捉系统准确获知无人机位置,并根据位置信息通过模型预测控制器准确控制无人机避障,然后使用强化学习对模型预测控制器进行学习;在测试环境中,撤掉动作捕捉系统(只有机载传感器),利用已经训练好的深度神经网络来控制无人机运动。这里实际利用了深度神经网络强大的拟合和泛化能力,使得控制系统面临未知新情况也能进行有效控制。按照参考文献[2]对数据驱动控制的定义,深度神经网络作为控制器虽然使用了离线数据进行训练,但该训练数据从模型预测控制而来,仍然显式地使用了被控对象模型信息,并不严格属于数据驱动控制的范畴。实际上,在深度学习取得重要进展的领域(如计算机视觉、自然语言处理等)中,所针对的系统已经独立自主地运行,而且存在着大批量相对容易获取的‘场域’数据。对于工业自动化系统来说,如何对被控对象进行有效动态控制以保证其良好运转已经是一项艰巨的任务;加之数据大多为小批量、单点的数据,某些场景下甚至无法安装传感器获取数据,如何提供足够数据保证深度学习的训练效果以用于动态控制又是另一项重大课题。因此,如何将以各类机器/深度学习算法和动态控制具体需求相结合,是一个开放性问题,需要不断进行探索和研究。针对工业自动化系统的特点,应该开发适用于工业自动化场合的数据驱动控制方法。除已经在前面文章介绍的PID,ILC,MFAC,去伪控制(unfalsified control)、懒惰学习(lazy learning)、迭代反馈调节(iterative feedback tuning)等其它数据驱动控制方法也取得重要研究进展并得到了实际应用,会在后续文章中逐一进行介绍。

总结

回到最开始的问题,在选择控制方法时应该清醒地意识到:没有一类控制方法能够适用于所有应用场合,各类控制方法的优缺点也是相对应用场景来说的;不应存在对某一类控制方法的偏执,控制算法的设计应该建立在对被控对象和应用场景的深入理解和把握的基础上。如图3(a)所示,参考文献[2]给出了一种根据被控对象建模情况选用控制方法的方式:对于能够建立精确模型的被控对象,应该优先使用基于模型的控制方法(考虑到该方法能够实现对被控对象的最优控制);对于被控对象模型不太精确且有不确定性的情况,既可选用各种鲁棒、自适应控制,也可选择数据驱动控制方法;对于基于模型的控制力有不逮的场合则选择数据驱动控制方法。从另一个层面来说,为达到最佳的控制效果,两种控制方法也可根据各自优势结合使用,形成各种混合控制方法。例如:在基于模型的控制方法中利用数据驱动方法处理难以建模部分或未知干扰(利用神经网络拟合能力)以提高鲁棒性或者在线调节基于模型的控制器;在数据驱动控制方法中利用机理模型提供有用信息、数据给数据驱动控制器、或修正数据驱动控制器给出的控制指令。

图3. 控制方法总结[2]

综上,基于模型和数据驱动控制方法不是互相排斥‘or’的关系,而是互为补充‘and’的关系,两者结合构成了整个动态控制方法体系,如图3(b)所示。

【参考文献】

[1]. S.Moe, Rustad A M, Hanssen K G. "Machine learning in control systems: Anoverview of the state of the art."International Conference on Innovative Techniques and Applications of Artificial Intelligence. Springer,Cham, 2018: 250-265.

[2]. Zhong-Sheng Hou and Zhuo Wang. "From model-based control to data-driven control: Survey, classification and perspective." Information Sciences 2013, vol. 235, pp.3-35.

【备注】个人公众号定期更新传感、执行及控制方面的机电和自动化研究进展,欢迎关注!