编者按:针对未知非线性系统问题,本文提出了一种基于深度学习的方法,称为可微预测控制,它利用系统动态的时间序列测量来学习神经状态空间模型,并通过微分MPC损失函数优化神经控制策略。在嵌入式实现方面,作者使用树莓派平台进行实验验证,证明了完全基于未知非线性系统的测量来训练约束控制策略是可行的。此外,作者将DPC方法与显式MPC方法进行比较,证实了可谓预测控制方法在控制性能、在线计算需求、内存需求、策略复杂性和构建时间等方面的效率提升。而且相比通过多参数规划解决的显式MPC方法,DPC方法具有更好的线性可扩展性。
《Differentiable predictive control: Deep learning alternative to explicit model predictive control for unknown nonlinear systems》
Journal of Process Control 116 (2022) 80–92
Ján Drgoňa 1,Karol Kiš 2,Aaron Tuor 1,Draguna Vrabie 1,Martin Klaučo 2
摘要:基于深度学习,我们提出了一种用于未知非线性系统的显式模型预测控制(MPC)的替代方案——可微预测控制(DPC)。在DPC框架中,从系统动力学的时间序列测量中学习神经状态空间模型。然后通过闭环系统动力学模型微分MPC损失函数,采用随机梯度下降法优化神经控制策略。提出的DPC方法学习具有状态约束和输入约束的基于模型的控制策略,同时支持时变引用和约束。在使用树莓派平台的嵌入式实现中,我们通过实验证明,完全基于未知非线性系统的测量来训练约束控制策略是可能的。我们比较了DPC方法与显式MPC方法的控制性能,并报告了在线计算需求、内存需求、策略复杂性和构建时间方面的效率提高。特别是,我们表明,与通过多参数规划解决的显式MPC的指数可扩展性相比,我们的方法具有线性可扩展性。
关键词:可微预测控制,模型预测控制,神经状态空间模型,数据驱动的可微优化,深度学习
机器学习方法在控制应用中的应用已成为控制理论领域的主要研究方向之一。许多基于机器学习(ML)方法的新型控制方法的设计很大程度上受到了模型预测控制(MPC)的好处的启发,例如约束处理和鲁棒性。控制领域的几位知名研究人员研究了用基于ML的控制器替代MPC[1-5]。此外,在实际应用中也考虑了神经网络作为MPC策略替代的应用[6-9]。上述所有工作都属于所谓的基于原始MPC的模仿学习的近似MPC。因此,这些工作有一个明显的缺点,即依赖于从闭环实验中收集的数据集,即基于ML的控制器是基于涉及完全实现的MPC的实验来训练的。
针对这些挑战,我们提出了一种新的控制方法,可微预测控制(DPC),用于学习非线性系统动力学和约束控制策略,而无需来自专家控制器的监督。唯一的要求是系统动力学的充分激发时间序列的数据集。这与文献[1]中最近的实现形成鲜明对比,其中训练有素的基于ML的控制器与在线MPC策略一起运行,使得算法在许多运行在低计算资源设置下的应用程序中计算成本很高。提出的DPC方法是基于闭环动力系统的神经参数化,其有两个组成部分:(i)神经系统模型,(ii)模型预测控制策略的深度学习构造。特别地,我们通过闭环系统动力学模型通过控制损失的反向传播将基于结构化神经状态空间模型的系统识别和嵌入不等式约束的策略优化结合起来。DPC的概念方法如图1所示。
图1 非线性可微预测控制(DPC)的概念方法
本文提出的DPC方法支持具有输入和状态约束、任意参考信号的非线性系统,并代表了对线性系统DPC先前工作的方法扩展[10]。文献[11]最近提出了一种思想上类似的方法,其中作者在给定系统动力学的测量值的情况下,使用Log-Sum-Exp神经网络来近似MPC相关的成本函数。然而,与所提出的DPC方法相比,文献[11]中方法的实现仍然依赖于在线非线性优化,不处理状态约束,并且在任意参考信号上进行训练存在计算挑战。
我们使用名为FlexAir的实验室设备,其实验结果演示了DPC方法具有处理非线性动力学和噪声测量信号的能力。我们演示了DPC在数据利用率、可扩展性和约束处理方面的几个关键特性:
1.1.相关工作
显式模型预测控制。 显式MPC是一种强大的最优控制策略系统设计方法,具有快速的在线评估过程。在显式MPC中,不是在线求解相应的最优控制问题,而是通过参数优化离线预计算解[12-15]。最终得到的控制器可以归结为获得一组分段仿射(PWA)函数,这些函数可以在嵌入式平台上进行评估。不幸的是,显式MPC有一个明显的缺点:解决方案的可扩展性和由此产生的PWA控制策略的内存占用[16]。即使对于小规模的动态系统,显式MPC的内存占用也可以达到几兆字节。在过去的几年中,研究人员开发了许多方法来降低显式解决方案的复杂性和内存占用[17-25]。然而,上述所有方法在求解时间方面通常都是代价很昂贵,并且不能扩展到大维度。此外,大多数显式MPC方法只处理线性系统动力学和约束。对于处理非线性系统,很少有基于底层非线性多参数规划(mpNLP)近似的方法[26-28]。而文献[29]中的作者将ReLU神经网络作为多参数规划问题(mpP)的约束。尽管有这些众多的进步,所有当代显式MPC方法都遭受与潜在mpP解决方案相关的维度诅咒[30]。在本文中,我们通过利用非线性系统辨识、可微规划[31]和参数空间采样来获得底层mpP的近似解,提出了一种可扩展的替代方案。
近似模型预测控制。 最近,一些研究工作致力于利用机器学习来近似求解潜在的多参数规划问题,以获得显式MPC控制律。其中一组工作包括基于模仿MPC行为和用神经网络取代控制律的监督学习[7,32,33]。这些方法在机器学习社区被称为模仿学习[34],或MPC引导的策略搜索[35]。设计了几个程序来用神经网络近似MPC的行为,这大大降低了MPC的实现要求,同时对控制性能的影响最小[7,33]。基于神经网络的MPC控制律逼近约束满足是一个新兴而活跃的研究领域。为了解决这个问题,一些作者提出在策略网络中加入额外的层,将控制输入投射到状态和动作空间的约束区域[36,37]。文献[1]中的作者使用附加的双策略神经网络来估计具有概率保证的学习控制律的次最优性。文献[5]则使用学习边界来经验验证网络训练后的约束处理能力。为了更全面地了解近似MPC和基于学习的MPC (LBMPC)方法,请读者参考文献[38]。然而,所有以前的工作都依赖于几个因素,这些因素是它们成功实施的先决条件。首先,需要设计监督MPC策略来生成训练数据。这项工作提出了一种替代的无监督策略优化方法,不需要监督控制器来模仿。相反,该策略学习系统动力学模型,并将该模型作为可微闭环系统模型的一部分。我们将证明,这允许对参数空间进行无监督采样,生成一个闭环数据集,该数据集可以通过随机梯度下降用于直接策略优化。
MPC中的数据驱动和神经模型。 为了解决建模问题,一些研究人员专注于训练神经网络作为MPC的预测模型[39]。文献[40]的作者使用高维系统的低秩特征来训练递归神经网络(RNN)来预测MPC的控制相关量。其他作者使用了受经典线性时变状态空间模型[41]、深度库普曼表示[42-44]、循环神经网络集成(RNN)[45]或通过主成分分析(PCA)选择特征的RNN[46]启发的结构化神经网络模型,而一些作者则提出使用凸神经架构[47]、图神经网络[48]或基于Lyapunov函数的稳定神经网络[49]。在这项工作中,我们在非线性系统识别的这些趋势的基础上,采用神经状态空间模型[50]作为学习被控系统的非线性动力学模型的通用抽象。
自动微分控制。 使用自动微分(AD)进行控制和优化是一种行之有效的方法。例如,CasADi工具箱[51]使用已知的系统动力学和约束来构建计算图,并计算非线性优化求解器的梯度。从机器学习的角度出发,文献[47]研究了通过凸神经网络参数化学习到的系统模型,通过反向传播解决最优控制问题的思路[52]。其他人则为机器人领域开发了特定领域的可微分物理模型[53,54]。文献[55]中介绍了通过在不动点处区分凸逼近的Karush-Kuhn-Tucker (KKT)条件来学习线性模型预测控制(MPC)策略。然而,对于未知动力学约束非线性最优控制问题,尚缺乏一种通用的AD显式求解方法。本文旨在通过提供统一的算法和开源软件框架来弥合这一差距[56]。
约束深度学习。 将约束纳入深度学习代表了学习过程的非凸性、收敛性和稳定性等多重挑战[57]。惩罚方法和损失函数正则化是对深度神经网络输出和参数施加约束的最直接的方法[58-60]。在这些方法中,损失函数增加了额外的项,通过松弛变量惩罚违反软约束的行为,这在实践中通常效果很好,通常优于硬约束方法[61,62]。文献[63]的作者提出了一种在优化问题的学习解的背景下施加硬相等和不等式约束的方法。对于控制应用,作者在[64,65]中使用障碍函数法结合Lyapunov函数来改进神经网络控制器的输出约束、稳定性和有界性。而作者在[66]中使用惩罚方法将软约束强化学习应用于过程控制应用。惩罚和障碍方法的另一种选择是施加硬约束的神经网络架构,如线性算子约束[67],或具有哈密顿[68]和拉格朗日[69]结构先验的架构,以实现能量守恒。在本文中,我们利用了这两种方法,惩罚函数对状态和动作变量施加不等式约束,神经架构设计施加表示系统状态的时间依赖性的硬相等约束,也称为打靶法。
本文的目的之一是将所提出的DPC策略与当前显式控制器领域的最新解决方案进行比较。因此,我们提出了显式模型预测控制(eMPC)方法,该方法以显式形式给出控制律,从而通过对分段仿射函数的简单函数求值来获得控制作用。同样,DPC策略的实施,也产生了明确的控制律,但在这种情况下,以神经网络的形式。
2.1.动力学系统
我们假设被控过程是一个离散时间未知的部分可观测非线性动力系统:
其中,为未知的系统状态,为观测输出,为时刻的控制输入。进一步,我们假设能够以输入-输出元组的形式访问系统产生的数据:
其中,是个时间步长的采样轨迹的个数。
2.2.模型预测控制
为了构造eMPC,我们首先建立了一个众所周知的模型预测控制器。我们遵循线性模型MPC的标准公式[70],由一个二次优化问题给出,具体形式为
这里,目标函数被定义为预测视界上两项的有限和,这两项都被认为是一个加权范数,即。注意,为了加强问题(3)的可行性,必须选择权重因子和分别为正定矩阵和正半定矩阵。约束(3b)-(3e)对是强制的。请注意,由矩阵、、和给出的线性系统动力学可以通过(1)中未知系统的第一性原理建模或众所周知的系统识别方法[71]来提取。此外,为了强制执行参考跟踪,最小化目标。式(3a)包括一个用于参考跟踪误差的项,,以及一个控制率惩罚项,,这是强制执行无偏移跟踪的标准方法[72]。优化问题用(3f)中的当前状态测量值、(3g)中描述的前一个采样时刻的控制作用值和(3a)中的参考值初始化。注意,符号对有效,这对于在初始预测步骤中计算目标函数的值是必要的。
控制策略以后退视界方式实现,其中我们求解(3)以实现全局最优性,从而产生最优控制动作序列,系统只执行第一个操作,图2展示了这种实现方法。
图2 具有未知动力系统的闭环控制系统的实现形式
我们使用YALMIP工具箱[73]在Matlab中制定了二次优化问题(3)。然后用GUROBI求解器对问题进行数值求解。由于被控系统的快速动态特性,以及MPC问题的数值解比采样率需要更多的时间,我们考虑了优化问题的参数解(3)。参数解允许我们对控制律进行评估,以在指定时间内获得最优控制动作。
2.3.显式模型预测控制
参数优化理论允许我们在最优控制问题(3)的初始条件和最优解之间创建解析映射。具体地说,参数向量,即初始条件,定义为
应用[74]中的初等矩阵运算后,式(3)中的OCP可以重新表述为
这是一个参数二次优化问题(PQP)。这个问题的解可以通过参数化规划的标准程序得到。也就是说,结果由一个分段仿射(PWA)函数表示,即
其中,变量表示参数向量,表示区域总数,向量和定义了区域的特定控制律。区域定义为多面体集,即
这里,矩阵和表示区域的半空间表示。由于优化问题(3)是一个具有线性约束的二次问题,所以所有区域都由线性不等式定义。
请注意,获得矩阵和的数值表示的过程是通过Matlab中的多参数工具箱[75]完成的。为了在实验室设备中使用显式MPC,我们将控制律导出到Python源代码中。导出到Pytho的源代码包含两个部分。第一部分是式(6)和式(7)的系数,第二部分是评估控制律的算法。该算法基于[76]中著名的顺序搜索方法。
本节介绍可微分预测控制(DPC),这是一种基于神经网络的方法,用于从测量数据中学习约束的显式预测控制策略。本文提出的数据驱动DPC方法分为两个步骤。第3.1节阐述的第一步是基于神经状态空间模型架构的非线性系统识别[50],包括强制保证物理现实预测的约束。第3.2节中介绍的第二步是使用学习到的系统动力学神经模型进行无监督离线策略优化。特别地,我们将神经状态空间模型与神经控制策略相结合,构造了一个全参数化的可微闭环系统动力学模型。这种通用的闭环架构允许我们使用类似MPC的损失函数的端到端自动微分和随机梯度下降优化来学习广泛的约束控制策略。算法1中提供了DPC方法的高级概述,概念方法如图1所示。
注意: 在显式MPC的背景下,所提出的DPC方法可以看作是非线性参数规划问题的基于无监督采样的近似解。与显式MPC类似,DPC使用对闭环系统动力学模型的步提前预测来离线优化控制策略,该模型是对综合生成的控制特征的分布的响应。训练后,与MPC类似,DPC以后退水平控制(RHC)方式部署。
3.1. 基于约束神经状态空间模型的系统识别
我们的目标是学习未知系统动力学的约束神经表示,给定从系统观测中获得的输入-输出时间序列数据集(2)。
模型架构。 给定标记数据集(2),我们提出了一个通用块神经状态空间模型(BN-SSM)来表示和学习部分可观察的未知非线性系统动力学(1)。BN-SSM架构如图3所示,其相应方程如下:
其中,定义离散时间步长,定义预测时域,即模型循环的滚动次数。单个模块、、和由神经网络表示。其中和定义模型状态和控制输入动力学,分别取代经典线性状态空间模型中的和矩阵。定义了从模型状态到可观测值的输出映射,取代了线性模型中的矩阵。被定义为从过去的轨迹到初始状态的映射,这对于处理部分可观系统是必要的。现在让我们将模型(8)的N步滚动预测表示为,其中为集合参数。
注意: 提出的BN-SSM架构(8)代表了一系列神经状态空间模型的泛化[77-84]。根据、、和的选择,可以表示完全非线性,Hammerstein-Weiner, Weiner, Hammerstein,或简单的线性动态模型,有或没有内部反馈。此外,该模块架构允许我们对块结构施加局部正则化,或者对内部块生成的变量施加约束。
系统标识丢失: 我们在观察到的系统动力学的采样输入输出轨迹(2)上训练神经状态空间动力学(8)。多期系统辨识损失如下:
图 3 模块结构神经状态空间模型(BN-SSM)进行系统识别(8)。其中,红色和蓝色的分别表示观察到的系统输出和预测的系统输出,为模型状态,为观察到的控制动作轨迹。
其中,表示预测步数的时间序数,表示个采样轨迹的批指数。第一项表示轨迹跟踪损失,定义为在真和预测在步上的输出轨迹之间的残差向量上的两个范数。第二项是通过惩罚连续模型状态之间的一次性步长差来平滑轨迹的正则化。第三和第四项通过惩罚对输出施加约束。在这项工作中,我们分别对时变下界和上界采用惩罚函数,如下所示:
此外,我们可以利用所提出的块神经状态空间模型(8)的结构,并对控制输入动力学分量的影响施加类似的约束,如损失函数(9)的最后两项所示。
注意:式(10)的惩罚函数可以在现代深度学习库(如PyTorch或Tensorflow)中使用标准的ReLU激活函数直接实现。
3.2. 可微预测控制策略优化
对于目标是在给定学习的神经状态空间模型(8)的情况下,优化约束可微预测控制(DPC)策略来控制未知的动态系统(1)。我们将DPC问题表述为约束参数最优控制问题:
其中,是表示神经控制策略的权重和偏差的决策变量,而表示MPC启发的损失函数,例如具有约束违反处罚的参考跟踪。接下来,我们将详细阐述DPC问题(11)的设计选择,并将其作为约束深度学习问题实现和解决方法。
神经控制策略。 从集合中采样的控制参数表示捕获控制问题的所有决策相关信号的设计选择。例如,我们可以将定义为一个全状态反馈策略。然而,一般来说,神经控制策略可以采用任何相关控制参数的向量。在本文中,我们使用,神经控制策略如下:
其中,是最优控制轨迹,表示过去步观察到的输出轨迹,是参考轨迹张量,和分别为未来产出轨迹设定了下限和上限。在这篇文章里,我们假定在状态下,作为一个全连接神经网络架构:
参数化为,权重为,偏置为,以及非线性激活函数。在DPC中,神经控制策略(12)取代了第2.3节中描述的显式MPC的PWA控制律,因此在DPC中,与Eq.(4)给出的显式MPC的低维参数空间相比,神经策略代表了一个扩展的参数空间。
可微闭环系统结构。 为了训练约束控制策略(12),我们使用学习到的神经状态空间模型(8)设计闭环动力学的神经表示:
给定由神经控制策略(12)生成的控制动作轨迹,使用系统动力学模型(8)提前步预测未来输出轨迹。相应的神经网络架构如图4所示。在这里,通过控制动作轨迹将学习到的系统动力学模型(8)与控制策略(12)结合,从而构建闭环模型。因此,所提出的控制策略是一种具有未来约束和参考信号预览的预测控制策略。通过在采样的过去输出轨迹上微分闭环神经动力学模型,并给出下、上约束轨迹和的预测,对策略进行优化。在策略优化过程中,代表开环系统动力学的预训练神经状态空间模型(8)的参数是固定的。过去输出轨迹的分布代表了初始条件的采样,而时变约束和参考信号的分布代表了不同操作场景和任务的采样。
图4 表示问题(11)的可微预测控制(DPC)体系结构。其中表示系统的控制输出,和表示上下输出约束,为采样参考轨迹,为使用MPC启发损失函数优化的神经策略生成的控制动作。
MPC启发的损失函数。 闭环系统参数化模型(14)现在允许我们模拟不同控制特征对系统输出动态的影响。这种仿真能力以及闭环模型(14)的可微性是所提出的控制方法的一个关键特征,它允许我们执行数据驱动的神经控制策略优化(12)。我们通过采样控制特征的分布来训练策略参数,并通过闭环系统模型反向传播损失函数的梯度。特别地,我们利用了以下受MPC启发的多项损失函数。主要参考跟踪项被控制平滑和惩罚项(10)扩展到控制动作和输出轨迹上:
其中,为时间指数,为预测时域,为批指数,为轨迹采样的批次数。表示由闭环系统的输出轨迹跟踪的采样参考轨迹,其中为参考跟踪权值。第二项由加权表示控制动作平滑。与和类似,和是未来步控制动作轨迹的下界和上界张量。惩罚项分别由输出和输入约束项和加权。现在,给定损失函数(15),我们可以使用随机梯度下降求解器来优化策略参数,同时保持动态模型(8)的参数不变。
注意:所提出的控制策略优化过程不需要与实际系统或其仿真器模型进行交互。相反,策略是通过使用训练好的动态模型对闭环系统进行采样来训练的。此外,由于可以综合生成所有采样轨迹,因此训练的数据效率极高。
本节给出了在开源框架NeuroMANCER[56]中实现的DPC策略优化算法1的实验案例研究,该框架基于PyTorch[85]深度学习库开发,用于科学机器学习。
4.1.系统描述
所提出的控制方法在一个名为FlexyAir的实验室设备上实现。该装置是一个单输入单输出系统,其中执行器是一个风扇,驱动空气进入一个垂直管,里面有一个漂浮物。一个红外接近传感器被放置在管子的顶部,用来测量漂浮物的水平。本实验室过程中被操纵的变量是风扇转速命令,给出给内部风扇转速控制器,该控制器为风扇本身设置相应的电流。接下来,过程变量是浮子在垂直管中的位置。控制目标是在满足给定约束条件的情况下,将漂浮物的垂直距离稳定在期望的参考水平上。实验装置的草图如图5所示。
图 5树莓派平台的实验室设备草图
4.2.资料组
系统辨识。 我们的实验数据集是通过观察真实的系统动力学得到的,采样时间为。(2)所测量的输入-输出时间序列有个数据点,这些数据点用于创建1000个样本长度相等的训练、验证和测试集。为了考虑训练期间的时间范围,我们应用步时移分别为输出变量生成过去和未来张量。每个集合中的时间序列随后被分成步批次,生成维度为的张量,其中代表批次数量,是变量的维度(也是如此)。批次数量取决于数据点总数和预测视界长度。
闭环控制。 如3.2节所述,控制策略训练基于闭环动力学模型输入序列的采样,不需要对真实系统进行额外的测量。为了证明数据效率,我们生成每个连续时间序列,训练集、验证集和测试集分别只有个样本。我们采用与系统辨识任务相同的步时域批处理方法。数据集还使用min--max规范化来将所有变量缩放至[0,1]之间。
输出轨迹的过去观测值是随机采样的连续轨迹,而预测的未来轨迹是由训练后的系统动力学模型内部生成的。为了提高跨动态模式的泛化,我们假设采样轨迹是动态生成的正弦波,在每个优化周期内具有不同的频率、幅度和噪声。时变的参考轨迹和约束边界可以从用户定义的分布中任意采样,从而将控制推广到一组任务中。
在我们的例子中,我们为输出参考采样正弦波,其振幅范围为[0.2,0.8],下界范围为[0.1,0.4],上界范围为[0.6,0.9]。控制动作界限原则上也可以随时间变化,然而,在我们的案例中,由于实验设置的性质,我们假设静态约束和。
注意:系统响应可以分解为一组固定频率的动态模态[86],这一事实启发了对变化频率和变化幅值的动态采样系统输出轨迹进行控制策略的训练。轨迹可以通过干扰学习到的系统动力学来产生,或者简单地用实际系统的观察来表示。
4.3.指标
我们通过两组指标来评估训练后的DPC性能,第一组用于训练和超参数选择,第二组用于特定任务的性能评估。对于训练,我们分别评估了系统识别损失(9)和策略学习损失(15)的均方误差(MSE)。在开发集上评估的损失函数MSE用于超参数选择,而在测试集上评估的MSE用于训练过程的性能评估。其次,我们使用时间步长的真实系统数据来定义特定于任务的度量,而不是面向训练的处理数据集。对于系统辨识,我们将训练模型的开环响应的MSE与实际系统的响应进行比较,给出如下公式:。为了评价闭环控制性能,我们将参考跟踪MSE计算为,绝对误差(IAE)的积分为。对于约束满足,我们计算输出约束违反的平均绝对(MA)值:
。
4.4. 优化和超参数选择
采用结构化神经网络模型的方法基于PyTorch[85]的工具箱NeuroMANCER [56]实现。我们使用Adam优化器[87]训练随机初始化权重的模型,学习率为0.001。我们模型中的所有神经网络块都是用GELU激活函数设计的[88]。我们使用网格搜索,通过在第4.3节中指定的开发集和任务性能指标上评估训练模型的性能来找到性能最好的超参数。对于系统识别,我们修改了[50]中提出的搜索空间,以包括块组件(MLP,RNN,ResNet,Linear)的不同神经架构,以及系统ID损失(9)加权项的不同值。对于神经策略优化,搜索空间包含系统DPC损失(15)加权项的不同值。对于动力学模型和控制策略,我们都选择预测水平,采样时间,对应8秒的时间窗。
系统识别: 系统动力学模型(8)使用1000个epoch的系统识别数据集进行训练。状态转移模块和输入动态块用残差神经网络表示,而输出解码器块是一个简单的线性映射。状态编码器映射由标准的全连接神经网络表示。为简单起见,我们假设状态编码器只有一个步长时滞。所有单独的神经模块组件都设计有4个隐藏层和30个隐藏神经元。得到的神经状态空间模型具有个可训练参数。系统辨识损失函数(9)的权重因子为:。训练后的块神经状态空间模型(8)随后用于设计约束可微控制策略,如第3.2节所述。
闭环控制: 约束可微分控制策略(12)是利用合成采样闭环系统数据集经过epoch进行训练的,并根据开发集MSE提前停止训练。策略映射由3层的全连接神经网络表示,每层有20个隐藏神经元,得到个可训练参数。约束控制损失函数(15)的权重因子为。
对于显式模型预测控制(eMPC)策略(3a),我们选择将预测范围的长度设置为,将调谐因子设置为。由于经典显式MPC的构造不能用神经状态空间模型来完成,因此使用Matlab中的系统识别工具箱中简化的线性模型来准备相应的二次优化问题(3)[89]。
图6显示了训练后的神经模型与实际系统的开环轨迹对比。灰色区域将数据集划分为训练集、开发集和测试集。我们训练的模型能够很好地复制高噪声非线性系统的输出轨迹。开发集损失MSE等于,其中对应于参考跟踪损失;残差由约束、惩罚和正则化表示。开环参考跟踪。因此,由于约束和步时域损失,该模型的泛化能力远远超出了训练数据集,而不会累积预测误差。
图 6训练神经模型(蓝色)和真实系统(红色)的开环轨迹
4.5.实时闭环控制性能
本节展示了实时实现两种控制策略的结果。首先,我们提出了一个阶跃变化场景来展示瞬态行为和参考跟踪的性能。其次,我们介绍了一个实验案例研究,其中谐波参考和一组谐波约束被考虑。在这里,我们展示了所提出的可微预测控制(DPC)如何处理约束满足。这些实时实验的所有控制策略都是使用Python 3.7在RaspberryPi 3上运行的嵌入式平台实现的。
阶跃变化场景: 这个场景展示了当过程变量发生阶跃变化时的跟踪性能。具体来说,我们考虑参考从为浮动位置的阶跃变化。此外,我们将约束设置为,底部。在这里,我们比较两种控制器的性能。首先,我们用明确的MPC策略设置基线。然后我们将提议的DPC策略包括在内。个别控制器的调谐因子在4.4节中提到。
各策略的控制性能如图7所示。此外,表1中报告了对测量性能的严格验证。我们可以看到,eMPC和DPC都遵循轨迹,并尊重报告结果的底部和顶部约束。我们可以观察到,eMPC和DPC以相同的方式响应参考变化(瞬态行为的斜率)。差别只是变化发生的时间瞬间。这是由个别政策的预测范围长短决定的。虽然对于DPC来说,视界的长度不是瓶颈(在这种情况下为32个样本),但由于内存占用,我们不能为超过10的视界构建eMPC。在这种情况下,我们使用。尽管我们在两个测试控制器上获得了相同的参考值,但我们观察到被操纵变量的一侧有轻微的偏移(参见图7),这可以忽略不计。这种行为是由实验室过程的综合动力学引起的,即,被操纵变量的一个稳态值可以导致被控制变量的几个稳态值。具体来说,我们可以观察到之间的风扇转速平均值,对应于15cm的参考,接近于28cm的参考风扇转速值。
表 1根据4.3给出的指标对控制性能进行定性评价
图 7 静态约束下DPC和eMPC控制策略的实时测量概况。上图显示参考(红虚线) 、显式模型预测控制(紫色)、约束可微预测控制(蓝色)和约束(黑虚线)。下图为各控制器风扇转速。
最后,我们将读者引导到表1,其中报告了定量数值评估。这里我们参照第4.3节规定的指标。在MSE标准方面,DPC的性能几乎是显式MPC的8倍。我们还包括IAE标准,这在控制社区中更常见,在这种情况下,DPC比eMPC性能好50%以上。在违反约束方面,这些标准的读数为0,因为DPC和eMPC都没有超过限制。
约束的满意度: 第二个场景涉及由DPC策略处理的系统约束的演示。这里我们利用谐波参考和谐波约束。具体结果如图8所示。请注意,即使参考超出了允许的空间,约束也不会被违反,因此即使在具有高测量噪声的具有挑战性的场景中,经验也证明了显着的鲁棒性能力。
图 8 提出的DPC策略在谐波参考和约束影响下的实时测量轮廓。上图显示了参考信号(红色虚线)和测量的浮子位置(蓝色)。下图为风扇转速分布图。
4.6.理想仿真案例研究
本节的目的是在理想仿真中演示所提出的约束可微预测控制策略(DPC)的控制能力。我们使用经过训练的系统动力学模型用于表示被控系统,忽略了模型失配和加性实时扰动对实际系统动力学的影响。研究表明,在系统动力学模型完善的情况下,DPC可以实现无偏移参考跟踪能力和鲁棒约束满足,从而经验地证明了收敛到接近最优控制性能。
参考跟踪: 图9显示了使用四种不同的动态信号评估训练后的DPC方法的无偏移参考跟踪能力。除了跟踪任意动态引用之外,DPC策略还使用引用预览演示了预测控制功能。特别要注意的是,在参考信号预览阶跃变化之前的几个时间步长的轨迹变化。能够在预测参数(如参考和约束)之前做出安全反应是许多工业控制应用所需的功能。与显式MPC相比,预览功能还代表了额外的价值,显式MPC无法处理其参数的预览。
约束的满意度: 我们展示了DPC在参考跟踪和约束处理方面平衡冲突目标的能力。图10动态参考交叉动态约束下的DPC性能图。即使在这种具有挑战性的场景中,经过训练的DPC策略也满足约束条件,同时牺牲了无法达到的参考的跟踪性能。
图9 模拟闭环控制轨迹,演示了DPC的参考跟踪能力
图10 模拟闭环控制轨迹,展示了动态参考和动态约束平衡冲突目标
4.7.可扩展性分析
在表2中,我们比较了所提出的可微预测控制(DPC)与显式模型预测控制(eMPC)在在线计算需求、内存占用、策略复杂性和离线构建时间方面的可扩展性,以及预测时域的长度的增加。
我们比较了评估和存储DPC和eMPC控制策略所需的平均和最大在线计算(CPU)时间和内存占用。如表2所示,两种控制策略的在线评估在CPU时间方面都非常快。这种特性对于控制具有高频采样率的快速和高动态系统至关重要,例如无人机或敏捷机器人系统。然而,线性可扩展DPC的内存需求与指数级增长的eMPC的内存需求有很大不同。在eMPC的情况下,其巨大的内存需求限制了这种控制策略仅适用于预测范围非常低的小规模系统。与eMPC相反,无论预测范围的长度如何,DPC策略都具有极低的内存占用,这为大规模的实际控制应用打开了大门。
为了更深入地理解所报告的内存需求,我们评估了DPC的参数数量和eMPC的关键区域数量。
从表2可以看出,随着预测层数N的增加,DPC的参数数量呈线性增长,而eMPC的关键区域数量呈指数增长。这背后的原因是,eMPC策略的复杂性(6)主要是由约束的数量给出的,这些约束的数量随预测范围的长度和优化变量的数量呈指数级增长。另一方面,DPC策略的复杂性主要取决于隐藏节点的数量和层数,这使得它可以扩展到具有长预测视野的大型状态-动作空间。
表2 针对显式MPC (eMPC)的可微预测控制策略的可扩展性分析
表2还报告了使用多参数规划的eMPC策略的构建时间[75,90],以使读者了解该求解方法的局限性。具体来说,我们将注意力集中在N=10的eMPC的构建时间上,其中相关控制器的生成几乎花费了3天。相反,DPC的构建时间在较大的预测范围内呈线性扩展,如表2所示。在这里,我们展示了所提出的DPC策略的巨大潜力,可以扩展到传统eMPC无法达到的大规模控制问题。
尽管实验证明了该方法的鲁棒性,但本文所提出的DPC方法并不能提供约束满足或闭环系统稳定性的理论保证。这是由于通过惩罚方法使用了软约束。未来的工作包括为基于学习的控制器使用在线安全过滤器[91],梯度投影方法[63],或使用控制屏障函数[92]来保证约束的满足。从理论的角度来看,潜在的优化问题与已经得到充分研究的MPC问题的结构相似性为提出的DPC方法的进一步扩展提供了机会。一些例子包括通过在线更新非线性系统模型的自适应控制,通过约束收紧的鲁棒随机控制,或基于MPC稳定性的闭环稳定性保证[93-95]。其他扩展包括最近为基于神经网络的控制器提出的带有增强状态空间模型的无偏移公式和控制误差积分器动力学[96]。从系统辨识的角度来看,本文的工作仅限于离散时不变非线性动力系统。不同的神经结构或多或少适合于参数化所提出的神经状态空间模型,这取决于底层的动力系统。本文提出的方法的直接模型架构扩展可能包括一系列可微模型,例如,非线性动力学的稀疏识别(SINDy)[97]、多步神经网络[98]或图神经网络[99]。
我们已经通过实验证明,完全基于对未知非线性系统动力学的观察,可以训练约束最优控制策略。其原理是通过微分已训练的神经状态空间模型来表示观察到的非线性系统的内部模型,从而优化带有约束惩罚函数的控制策略。我们将这种控制方法称为约束可微预测控制(DPC)。
我们比较了训练好的DPC策略与经典的显式模型预测控制(eMPC)的性能。控制算法在树莓派平台的实验室设备上实现。与使用线性模型的eMPC相比,DPC由于系统动力学模型的非线性以及参考和约束预测能力而获得了更好的控制性能。然而,最重要的是,DPC具有超越eMPC限制的前所未有的可扩展性。DPC随着问题复杂性的增加而扩展良好,这是由预测范围的长度定义的,从而导致底层优化问题的决策变量和约束数量的增加。DPC在内存占用、策略参数数量和所需构建时间方面展示了线性可伸缩性。因此,我们认为所提出的DPC方法在计算资源有限、采样速率快的大型控制系统中具有广泛应用的潜力。
参考文献
联系人:唐老师 |
电话:13917148827 |
邮箱:tangyanqin@tongji.edu.cn |
点“阅读原文”获取论文