...预测器——Koopman模型预测MPC(Matlab代码实现)
发布网友
发布时间:2024-10-24 11:44
我来回答
共1个回答
热心网友
时间:7小时前
本文提出了一种针对非线性受控动力系统的线性预测器,通过将非线性动力学提升到其演化近似线性的高维空间中实现。这一过程在不受控制的情况下,相当于对与非线性动力学相关联的库普曼算子进行数值近似。在引入控制因素后,我们将库普曼算子扩展至受控动力系统,并使用扩展动态模态分解(EDMD)方法计算算子的有限维近似,使预测器呈现线性受控动力系统的形式。相较于基于局部线性化或所谓Carleman线性化的预测器,本文方法在数值实例中表现出了更优性能。
构建这些线性预测器的过程具有高度数据驱动性,且流程极其简化,归结为数据的非线性变换(提升)和提升空间中的线性最小二乘问题,易于解决大规模数据集。这些线性预测器能与线性控制器设计方法结合,用于设计非线性动态系统的控制器,特别是模型预测控制(MPC)中。MPC控制器在此框架下的底层优化问题计算复杂度与具有相同控制输入数量和状态空间维数的线性动力系统相当。重要的是,状态和控制输入的线性不等式约束以及状态的非线性约束均能在线性方式下实施。同样,状态变量中的非线性成本函数也能以线性方式处理。
本文方法适用于全状态测量情况、输入输出情况以及包含干扰或噪声的系统。数值算例验证了该方法的有效性。
完整代码正在准备中,后续将提供。
参考文献部分可能包含了网络资源中的理论内容,如有侵犯版权,请及时联系删除。