CN111670415B - 用于控制系统的预测控制器、车辆及方法 - Google Patents

用于控制系统的预测控制器、车辆及方法 Download PDF

Info

Publication number
CN111670415B
CN111670415B CN201880088336.4A CN201880088336A CN111670415B CN 111670415 B CN111670415 B CN 111670415B CN 201880088336 A CN201880088336 A CN 201880088336A CN 111670415 B CN111670415 B CN 111670415B
Authority
CN
China
Prior art keywords
matrix
controller
control
constraints
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201880088336.4A
Other languages
English (en)
Other versions
CN111670415A (zh
Inventor
R·奎因
A·克尼亚瑟夫
S·迪卡拉诺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of CN111670415A publication Critical patent/CN111670415A/zh
Application granted granted Critical
Publication of CN111670415B publication Critical patent/CN111670415B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/048Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators using a predictor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1607Calculation of inertia, jacobian matrixes and inverses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Software Systems (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Computing Systems (AREA)
  • Operations Research (AREA)
  • Feedback Control In General (AREA)
  • Complex Calculations (AREA)

Abstract

一种用于控制系统的预测控制器,该系统受到包括对系统的状态变量和控制变量的等式约束和不等式约束,该预测控制器包括:估计器,其使用系统的输出的测量值来估计系统的当前状态;以及控制器,其在每个控制步骤求解必要最优条件的矩阵方程式,以生成控制解并且使用控制解来控制系统,以改变系统的状态。矩阵方程式包括具有系统的等式约束的约束Jacobian矩阵的块结构矩阵。控制器使用包括第一级迭代的两级迭代来迭代地确定控制解,第一级迭代针对控制时程内的每个时间点选择有效的不等式约束,利用针对有效的不等式约束的集合中的改变的低秩更新来更新约束Jacobian矩阵,以包括等式约束和有效的不等式约束,以及响应于约束Jacobian矩阵的低秩更新,利用低秩因子分解更新来更新预处理矩阵。第二级迭代使用更新后的预处理矩阵来求解具有更新的约束Jacobian矩阵的矩阵方程式,以生成控制解。

Description

用于控制系统的预测控制器、车辆及方法
技术领域
本发明总体上涉及预测控制,并且更具体地,涉及一种用于在存在不等式约束的情况下动态系统的预处理(preconditioned)预测控制的方法及设备。
背景技术
在许多应用中使用诸如模型预测控制(MPC)之类的预测控制器来控制复杂的动态系统。这种系统的示例包括生产线、车辆、卫星、引擎、机器人、发电机和其它数控机器。
基于动态优化的预测控制和估计能够使控制器和估计器的设计过程显著加速。另外,动态优化允许直接考虑控制目标或估计目标、系统动态以及与系统的状态和控制相关的约束或限制。针对预测控制或估计的实时应用,需要在严格的定时约束下,通常是在具有有限计算资源的嵌入式硬件上解决最优控制问题。
已成功应用于实时最优控制的大多数嵌入式优化方法依赖于直接线性代数例程,例如参见美国专利申请公开No.2004/0107012。然而,当在二阶优化方法中明确考虑优化问题的块结构稀疏性时,这些直接求解过程的计算复杂度为O(Nm3)。这意味着计算成本与时界长度(horizon length)N成线性比例关系,但与系统的状态和控制的数量(即,m)呈三次方关系。对于最优控制和估计的一些实时应用,后者的三次方复杂度是不希望的。另一方面,在基于系统的离散时间动态从优化问题中消除了状态变量后,另选地,使用一阶优化方法导致O(N2m2)的计算复杂度。计算成本与系统的状态和控制的数量(即,m)的二次方成比例,但也与时界长度N的二次方成比例。因此,对于最优控制和估计的一些实时应用,后者的二次方复杂度也是不期望的。
发明内容
一些实施方式基于以下认识:求解动态优化问题的迭代方法在求解二阶优化中出现的鞍点线性系统时能够得到更好的渐近计算复杂度。另外,迭代求解器由于其加法和乘法运算比率高而适合于例如使用用于快速嵌入式应用的FPGA的线性系统求解的硬件加速。迭代方法的使用还允许在计算时间和解的数值准确度之间进行权衡。但是,迭代求解器在没有预处理的情况下趋向于收敛性差,并且需要高效生成预处理器。因此,存在对适用于动态系统的实时最优控制的迭代预处理求解器的需求。
为此,一些实施方式的目的是提供用于通过使用迭代预处理方法求解不等式约束的动态优化问题来控制系统的系统和方法。一些实施方式的目的是提供计算成本与间隔的数量成线性比例并且与动态系统中的状态变量和控制变量的数量成二次比例的迭代预处理求解器。因此,基于控制问题的维度,计算复杂度和存储器需求的比例为O(Nm2),其中N为控制时程长度,并且m为状态和控制的数量。一个实施方式的另一个目的是提供一种在迭代次数和相应计算时间上具有确定性行为的求解器,以解决优化问题。
一些实施方式的另一目的是提供适合于在用于实时最优控制的嵌入式硬件上实现的求解器。一个实施方式的另一个目的是提供一种适用于需要自包含求解器代码而无需不必要库依存性的嵌入式控制应用的求解器。一个实施方式的另一个目的是提供一种在具有有限计算资源的嵌入式控制硬件上具有可接受的实时数值性能的求解器。
一些实施方式基于二阶优化,该二阶优化直接求解最优控制问题的、形成最优性的必要条件的Karush-Kuhn-Tucker(KKT)方程式。更具体地说,二阶优化需要重复地求解具有变化的矩阵K和右侧向量b的矩阵方程式Kz=b,对此能够使用迭代求解器。对于控制的每个时间步长,预测控制器从对不等式约束优化问题的最优解生成控制系统的控制动作。由于在求解最优控制问题时矩阵K中的特定的块稀疏结构,因此需要为迭代线性求解器量身定制的利用结构的预处理器,以实现最优计算复杂度。这对于使用嵌入式控制硬件的有限计算资源的实时控制应用特别有用。
一些实施方式基于以下认识:使用近似线性系统的系数矩阵K的预处理矩阵P能够改善迭代求解器的收敛。更具体地说,预处理矩阵P-1K的特征值应比原始矩阵K的特征值聚类更多,以改善迭代求解器的收敛性。一些实施方式基于以下认识:针对最优控制的一些实际应用,在不使用预处理器的情况下不能使用迭代求解器。为此,一些实施方式基于以下认识:矩阵P能够形成为具有与稀疏矩阵K中的块结构类似的特定的块稀疏结构。块结构矩阵P在形成、更新和因子分解方面比稠密矩阵更便宜。为此,块结构预处理矩阵P对于在优化控制算法中使用迭代求解器是有利的。
具体地,一些实施方式基于以下理解:控制系统的计算复杂度是由于对系统的状态输入和控制输入的不等式约束。与等式约束相反,优化算法需要识别哪些不等式约束在最优控制解中是有效的,这通常是一个组合问题。一些实施方式基于以下认识:对于实时最优控制应用,通过使用基于对先前采样时刻的最优控制问题的解的定制初始化,能够有效地识别在解处的有效约束的最优集合。
一些实施方式基于以下认识:计算需求不仅在于构造预处理矩阵P,而且主要在于在从最优有效集的当前猜想添加或去除约束的二阶优化内更新矩阵P。这种矩阵更新所花费的资源比预处理矩阵的初始计算和因子分解所花费的更少。利用这些理解,一些实施方式修改了动态优化问题的迭代求解,以降低在更新对最优有效集的当前猜想并因此更新矩阵K和预处理矩阵P时的求解的复杂度。
一些实施方式基于以下认识:不等式约束仅在受控系统的状态或控制在控制时程内特定点处接近不等式约束的边界时才是有效的,否则是无效的。在控制的不同时间步长和/或优化的不同迭代处,不同的不等式约束能够是有效的或无效的。一些实施方式基于以下认识:能够忽略无效的不等式约束,并且可以用形成仅受等式约束的动态优化问题的等式约束来代替有效的不等式约束。通过代之求解此等式约束优化问题,在对积极约束集合的当前猜测为最优时能够恢复原始的最优控制解。在当前有效集不是最优的情况下,等式约束解提供了识别应该从当前猜想中添加和/或去除哪些约束以便迭代地找到最优有效集并且因此找到原始不等式约束优化问题的准确解的搜索方向。
用等式约束代替有效的不等式约束得到KKT方程式对应于鞍点线性系统的等式约束优化问题。该矩阵方程式的矩阵K是在此称为KKT矩阵的块结构KKT矩阵。KKT矩阵包括块对角Hessian矩阵和块结构Jacobian矩阵。一些实施方式基于以下认识:对当前有效集的改变得到对Jacobian矩阵的低秩更新。更具体地,当在有效集中添加或去除仅一个约束时,能够针对矩阵K中的Jacobian和针对相应的预处理矩阵P来计算秩一更新。对因子分解的预处理器的这种低级更新相比于新矩阵因子分解计算,需要更少的计算资源。在最优控制问题中的块稀疏结构矩阵的特定情况下,这些低秩因子分解更新技术会导致最优计算复杂度。
通常,具有预处理器的KKT系统的求解针对矩阵方程式的每个迭代求解需要新的预处理器。这是因为预处理器是矩阵方程式中KKT矩阵的函数,并且随着KKT矩阵的变化,应使用新的预处理器。
一些实施方式基于以下认识:当用有效集方法求解KKT最优方程式时,对于每次迭代求解,KKT矩阵的仅约束Jacobian矩阵被改变。此外,约束Jacobian矩阵的这种更新是秩一的。
一些实施方式基于以下认识:尽管仅预处理器是整个KKT矩阵的函数的事实,但是当用低秩更新来仅更新约束Jacobian矩阵时,约束Jacobian矩阵的低秩更新导致整个预处理器的低秩更新。以这种方式,针对矩阵方程式的每次迭代求解重新计算预处理器的复杂度被降低至先前确定的预处理器的低秩更新。
一些实施方式基于以下认识:由于约束Jacobian矩阵具有多级块稀疏结构,因此用于求解KKT系统的预处理器能够具有块三对角稀疏结构。预处理器是约束Jacobian矩阵的函数。每当更新了约束Jacobian矩阵时,一些实施方式在保留块三对角稀疏结构的同时更新预处理器。
一些实施方式基于以下认识:由于不等式约束的有效集中的变化,约束Jacobian矩阵被频繁更新。这些更新当从有效集中添加或去除仅一个约束时是秩一更新。约束Jacobian矩阵的秩一更新导致预处理器的秩一更新。由于求解矩阵方程式所需的预处理器的矩阵因子分解,导致预处理器的这种低秩更新在计算上仍然能够是昂贵的。
但是,由于其块三对角稀疏结构,因此能够使用块三对角Cholesky因子分解以高效计算的方式计算预处理器的矩阵因子分解。低秩更新与这种高效的矩阵因子分解相结合得到能够保留块三对角稀疏结构的计算上最优的因子分解更新。
一些实施方式在基于有效集的优化算法的每次迭代内迭代地使用预处理矩阵的块三对角Cholesky因子分解来求解矩阵方程式,以便有效地应用预处理器的逆。在该实施方式中,预处理矩阵具有块三对角结构,其中每个块是正定的,使得能够使用块结构Cholesky因子分解。
实施方式响应于有效的不等式约束的集合中的改变来更新Jacobian矩阵和预处理矩阵。以这种方式,Jacobian矩阵和预处理矩阵的更新是低秩因子分解更新。但是,在更新过程期间,一个实施方式保留了那些矩阵的块稀疏性结构。此外,应用预处理器的逆的后向代换基于其块结构Cholesky因子也需要复杂度为O(Nm2)的计算成本。以这种方式,在用于实时最优控制的基于有效集的优化算法内该迭代预处理求解器的整体计算复杂度为O(Nm2)。这使得该实施方式中的求解器的计算成本与控制间隔的数量N成线性比例关系,并且与系统中状态变量和控制变量的数量m成二次比例关系。
一些实施方式基于以下认识:求解器的迭代性质允许基于在闭环控制方案中先前时间步长期间确定的那些矩阵的值,来热启动预处理矩阵中的Jacobian矩阵和/或预处理器的块三对角Cholesky因子分解。那些实施方式还能够减少初始化那些矩阵和因子分解所需的计算资源。另外,一些实施方式基于以下认识:基于有效集的优化算法的提早终止得到满足受控系统的所有约束和限制的次优控制解。对于实时控制应用,这导致确定性计算延迟,其中最优控制输入或次优控制输入能够应用于系统,同时遵守所有约束。
因此,一个实施方式公开了一种用于控制系统的预测控制器,该系统受到包括对系统的状态变量和控制变量的等式约束和不等式约束。该预测控制器包括:估计器,其使用系统的输出的测量值来估计系统的当前状态;以及控制器,其在每个控制步骤求解必要最优条件的矩阵方程式,以生成控制解并且使用控制解来控制系统以改变系统的状态,其中,矩阵方程式包括具有系统的等式约束的约束Jacobian矩阵的块结构矩阵,其中控制器使用两级迭代来迭代地确定控制解,两级迭代包括第一级迭代和在第一级迭代的迭代内执行的第二级迭代,其中,直到满足第一终止条件之前所执行的第一级迭代:针对控制时程内的每个时间点选择有效的不等式约束,利用针对有效的不等式约束的集合中的单一改变的低秩更新来更新约束Jacobian矩阵,以包括等式约束和有效的不等式约束,以及响应于约束Jacobian矩阵的低秩更新,利用低秩因子分解更新来更新预处理矩阵,其中,直到满足第二终止条件之前所执行的第二级迭代使用更新后的预处理矩阵来求解具有更新的约束Jacobian矩阵的矩阵方程式,以生成控制解。
另一个实施方式公开了一种用于控制系统的方法,该系统受到包括对系统的状态变量和控制变量的等式约束和不等式约束,其中该方法使用与实现该方法的存储指令联接的处理器,其中指令在由处理器执行时实施该方法的步骤,步骤包括:使用系统的输出的测量值来估计系统的当前状态;在每个控制步骤,求解必要最优条件的矩阵方程式,以生成控制解;以及使用控制解来控制系统以改变系统的状态,其中,矩阵方程式包括具有系统的等式约束的约束Jacobian矩阵的块结构矩阵,其中控制器使用两级迭代来迭代地确定控制解,两级迭代包括第一级迭代和在第一级迭代的迭代中执行的第二级迭代,其中直到满足第一终止条件之前所执行的第一级迭代:针对控制时程内的每个时间点选择有效的不等式约束,利用针对有效的不等式约束的集合中的单一改变的低秩更新来更新约束Jacobian矩阵,以包括等式约束和有效的不等式约束,以及响应于约束Jacobian矩阵的低秩更新,用低秩因子分解更新来更新预处理矩阵,其中,直到满足第二终止条件之前所执行的第二级迭代使用预处理矩阵的更新后的因子分解来求解具有更新的约束Jacobian矩阵的矩阵方程式,以生成控制解。
又一个实施方式公开了一种非暂时性计算机可读存储介质,在该非暂时性计算机可读存储介质上实现用于执行方法的由处理器可执行的程序,该方法包括:使用系统的输出的测量值来估计系统的当前状态;在每个控制步骤,求解必要最优条件的矩阵方程式,以生成控制解;以及使用控制解来控制系统以改变系统的状态,其中,矩阵方程式包括具有系统的等式约束的约束Jacobian矩阵的块结构矩阵,其中控制器使用两级迭代来迭代地确定控制解,两级迭代包括第一级迭代和在第一级迭代的迭代中执行的第二级迭代,其中直到满足第一终止条件之前所执行的第一级迭代:针对控制时程内的每个时间点选择有效的不等式约束,用针对有效的不等式约束的集合中的单一改变的低秩更新来更新约束Jacobian矩阵,以包括等式约束和有效的不等式约束,以及响应于约束Jacobian矩阵的低秩更新,用低秩因子分解更新来更新预处理矩阵,其中,直到满足第二终止条件之前所执行的第二级迭代使用预处理矩阵的更新后的因子分解来求解具有更新的约束Jacobian矩阵的矩阵方程式,以生成控制解。
附图说明
[图1]
图1是根据一些实施方式的控制器和反馈系统的框图。
[图2]
图2是根据本发明的一些实施方式的使用CPU处理器和存储器实现的控制器以及反馈系统的框图。
[图3A]
图3A是根据一些实施方式的实现控制器的模型预测控制(MPC)方法的框图。
[图3B]
图3B是根据一些实施方式的求解最优控制结构二次规划(QP)的MPC方法的框图。
[图3C]
图3C示出了根据一些实施方式的双层控制器的示意图。
[图4A]
图4A是根据一些实施方式的实现MPC控制器的有效集优化的框图。
[图4B]
图4B是根据一个实施方式的实现MPC控制器的有效集优化的伪代码。
[图5A]
图5A是根据一些实施方式的用于基于有效集的MPC控制器的初始化过程的框图。
[图5B]
图5B是根据一些实施方式的用于基于有效集的MPC控制器的利用松弛变量的初始化过程的框图。
[图6A]
图6A是根据一些实施方式的基于有效集的MPC控制器内的预处理迭代求解器的框图。
[图6B]
图6B是根据一些实施方式的基于有效集的MPC控制器内的预处理器的秩一更新的框图。
[图7A]
图7A是根据一些实施方式的在MPC控制器中的每个有效集改变之后求解的KKT最优条件的线性系统的框图。
[图7B]
图7B是根据一些实施方式的在MPC控制器中的每个有效集改变之后求解的KKT线性系统中的块结构系数矩阵的示意图。
[图8]
图8是根据一些实施方式的用于在有效集优化的每次迭代中求解线性KKT系统的预处理迭代求解器的框图。
[图9A]
图9A是例示了根据一些实施方式的使用Cholesky因子分解在迭代求解器内应用正定预处理矩阵的框图。
[图9B]
图9B是例示根据一些实施方式的使用块三对角Cholesky因子分解来应用正定预处理矩阵的框图。
[图10A]
图10A是根据一些实施方式的结合迭代方法使用增强Lagrangian(拉格朗日)型块三对角预处理矩阵来求解每个线性KKT系统的MPC的有效集优化的框图。
[图10B]
图10B是根据一些实施方式的在基于有效集的MPC控制器内使用的增强Lagrangian型块三对角预处理矩阵的示意图。
[图11A]
图11A是根据一些实施方式的结合迭代方法使用Schur(舒尔)补型块三对角预处理矩阵来求解每个线性KKT系统的MPC的有效集优化的框图。
[图11B]
图11B是根据一些实施方式的在基于有效集的MPC控制器内使用的Schur补型块三对角预处理矩阵的示意图。
[图12A]
图12A是根据一些实施方式的结合投影预处理共轭梯度方法使用约束预处理器来求解每个线性KKT系统的MPC的有效集优化的框图。
[图12B]
图12B是根据一些实施方式的在MPC的投影预处理共轭梯度方法内应用约束预处理器的示意图。
[图13]
图13是包括采用一些实施方式的原理的控制器在内的车辆的示意图。
[图14]
图14是采用一些实施方式的原理的控制器与根据一些实施方式的车辆1301的控制器之间的交互的示意图。
具体实施方式
本发明的一些实施方式提供了用于控制系统的操作的系统和方法或者使用预测控制器的系统。预测控制器的示例是基于受控系统的模型确定控制输入的模型预测控制(MPC)。
图1示出了经由状态估计器130连接到预测控制器110的示例系统120。在一些实现中,预测控制器是根据系统的动态模型102编程的MPC控制器。该模型可以是表示系统120的状态和输出103随时间的变化的、作为当前和先前输入111与先前输出103的函数的方程式的集合。该模型能够包括表示系统的物理和操作限制的约束104。在操作期间,控制器接收指示系统的期望行为的命令101。命令能够是例如运动命令。响应于接收到命令101,控制器生成用作系统的输入的控制信号111。响应于输入,系统更新系统的输出103。基于对系统的输出103的测量值,估计器更新系统的估计状态121。系统的此估计状态121向控制器110提供状态反馈。
如本文所提到的,系统120能够是任何机器或装置,该机器或装置由可以与诸如电压、压力、力、转矩之类的物理量相关联的特定操纵输入信号111(输入)控制,并且返回可以与指示系统状态从先前状态转变到当前状态的诸如电流、流量、速度、位置之类的物理量相关联的一些受控的输出信号103(输出)。输出值部分地与系统的先前输出值相关,并且部分地与先前输入值和当前输入值相关。对先前输入和先前输出的依存性被编码在系统状态中。系统的操作(例如,系统组件的运动)能够包括在应用特定输入值之后由系统生成的输出值的序列。
系统的模型102能够包括作为当前输入和先前输入以及先前输出的函数的、描述了系统输出随着时间如何变化的一组数学方程式。系统的状态是与系统的模型和未来输入一起能够唯一地限定系统的未来运动的、通常随时间变化的任何信息集合,例如,当前输入和先前输入以及输出的适当子集。
系统能够经受物理限制和规格约束104,该物理限制和规格约束104限制了输出、输入以及也可能的系统状态被允许进行操作的范围。
控制器110能够以硬件实现或作为在处理器(例如,微处理器)中执行的软件程序来实现,该处理器以固定或可变的控制周期采样间隔接收系统的估计状态121和期望的运动命令101,并使用该信息确定用于操作系统的输入,例如,控制信号111。
估计器130能够用硬件实现,或作为在与控制器110相同或不同的处理器的处理器中执行的软件程序来实现,该处理器以固定或可变的控制周期采样间隔接收系统的输出103,并使用新的输出测量值和先前的输出测量值确定系统120的估计状态121。
图2示出了根据本发明的一些实施方式的控制器110的框图,该控制器激励系统,使得系统的估计状态121和输出103遵循命令101。控制器110包括连接到存储器202的、例如单个中央处理单元(CPU)或多个CPU处理器201的形式的计算机,存储器202用于存储模型102和关于系统操作的约束104。
图3A示出了根据一些实施方式的用于实现在给定系统的当前状态121和控制命令101的情况下计算控制信号111的控制器110的模型预测控制(MPC)的系统和方法的框图。具体地,MPC通过在每个控制时间步长求解不等式约束优化问题350来计算包含在系统的预测时程上的未来优化控制输入的序列的控制解(例如,解向量355)360。该优化问题350中的目标函数、等式约束和不等式约束的数据345取决于动态模型、系统约束340、系统的当前状态121和控制命令101。
在一些实施方式中,该不等式约束优化问题的求解350使用能够从存储器中读取的、来自先前控制时间步长310的预测时程上的状态值和控制值。这个概念被称为优化算法的温启动或热启动,并且在一些实施方式中,它能够大大减少MPC控制器所需的计算工作量。以类似的方式,相应的解向量355能够用于更新和存储用于下一控制时间步长360的最优状态值和控制值的序列。
图3B示出了在给定系统的当前状态121和命令101的情况下,求解最优控制结构优化问题350以在每个控制时间步长计算信号111的MPC控制器的框图。一些实施方式基于具有线性等式约束352和线性不等式约束354的系统的线性动态模型353以及线性二次目标函数351,使得需要在每个控制时间步长求解受约束二次规则(QP)350。具体地,QP数据345然后包括Hessian(黑塞)矩阵和约束Jacobian(雅可比)矩阵346以及相应的梯度和约束评估向量347。
在一些实施方式中,例如,基于系统的线性时不变(LTI)动态模型和时不变约束,仅QP向量347能够从一个控制时间步长改变到下一控制时间步长,相反,QP矩阵346是恒定的。在这种线性时不变的情况下,一些实施方式能够基于与常数QP矩阵相关的矩阵因子分解的重用而使用优化算法的热启动,以便减少在每个控制时间步长处MPC方法所需的计算工作量。在其它实施方式中,在给定动态模型的时变描述和/或系统的约束和限制的情况下,QP向量347和QP矩阵346二者能够从一个控制时间步长改变到下一控制时间步长。
一些实施方式基于以下认识:二阶优化算法需要重复求解具有变化的矩阵K和右侧向量b的矩阵方程式Kz=b。但是,迭代求解器在没有预处理的情况下趋于收敛性差。为此,设计了一种有效预处理矩阵P,以求解P-1Kz=P-1b,其每次迭代的计算成本为O(Nm2)。
通常,计算预处理矩阵P可以是计算量大的任务。然而,一些实施方式是基于以下认识:在一些情形下,能够用许多矩阵更新来代替预处理矩阵P。此外,使用矩阵的一些稀疏结构,这些多次更新具有较低的秩,这导致期望的计算成本为O(Nm2)。
具体地,认识到系统控制经受关于系统的状态和控制输入的等式约束和不等式约束,而计算复杂度主要由于不等式约束引起。在不同时间,不同的不等式约束能够是有效的(可能违反)或无效的。能够忽略无效的不等式约束,而有效的不等式约束能够用形成仅受等式约束的优化问题的等式约束来代替。
用等式约束代替有效的不等式约束导致针对每个有效集的改变来更新矩阵K和预处理矩阵P。因此,计算需求不仅在于构造预处理器P,而且主要在于响应于从当前有效集中增加或去除约束而更新矩阵P。另外,用等式约束代替有效的不等式约束得到KKT矩阵K,KKT矩阵K包括块对角Hessian矩阵和块稀疏Jacobian矩阵。矩阵P也能够形成为特定块稀疏结构,该结构相比于稠密矩阵以较少的计算来进行形成、更新和因子分解。
以这种方式,认识到对当前有效集的改变得到对块稀疏Jacobian矩阵的低秩更新。在这样的状况下,当原始矩阵和更新后的矩阵之间的差的秩相对于矩阵的维度较小时,认为对矩阵的更新是低秩的。作为一种特殊情况,认识到,向当前有效集仅添加一个约束或从当前有效集中仅去除一个约束,将得到对块稀疏Jacobian矩阵的秩一更新。在向当前有效集添加正好两个约束或从当前有效集去除正好两个约束的情况下,这导致对块稀疏Jacobian矩阵的秩二更新。尽管事实是预处理器是整个KKT矩阵K的函数,但约束Jacobian矩阵的低秩更新导致整个预处理器的低秩更新。
为此,一些实施方式在保持预处理矩阵P的稀疏结构(例如,块三对角结构)的同时使用具有预处理的迭代求解器的有效集优化。
图3C示出了根据一些实施方式的双层控制器370的示意图。双层控制器370包括以O(Nm2)的计算成本实现预测控制器110的原理的处理器。双层控制器370被配置为在每个控制步骤求解必要最优条件的矩阵方程式,以生成控制解380,并使用该控制解来控制系统以改变系统的状态。矩阵方程式包括具有系统的等式约束的约束Jacobian矩阵的块结构矩阵。处理器使用两级迭代来迭代地确定控制解,该两级迭代包括第一级迭代375和在第一级迭代的迭代内执行的第二级迭代377。
执行第一级迭代375,直到满足第一终止条件,例如,达到收敛准则和/或迭代次数。第一级迭代的目的是更新约束Jacobian矩阵和预处理矩阵。例如,第一级迭代针对控制时程内的每个时间点选择有效的不等式约束385,利用针对有效的不等式约束的集合中的单一改变的秩一更新来更新约束Jacobian矩阵,以包括等式约束和有效的不等式约束386,并且响应于约束Jacobian矩阵的秩一更新,利用秩一因子分解更新来更新预处理矩阵387。在对有效的不等式约束的集合进行多次改变的情况下,对约束Jacobian矩阵的低秩更新386导致对预处理矩阵的低秩因子分解更新387。
第二级迭代使用预处理矩阵的更新因子分解,求解具有更新的约束Jacobian矩阵的矩阵方程式377,以生成控制解380。迭代地寻找该解,直到满足第二终止条件,诸如解准则的最优性和/或迭代次数。如果找到的控制解380是最优的,则使用该解来控制系统。否则,将重复第一级迭代和第二级迭代。
图4A示出了根据一些实施方式的在MPC控制器110的每个控制时间步长计算最优控制解355的基于有效集的优化方法的框图,并且图4B示出了基于有效集的优化方法的伪代码。一些实施方式基于原始可行有效集方法,其中原始可行初始起点被用于形成最优控制解355的猜想和关于在最优控制解处的不等式约束的有效集的猜想401。一些实施方式使用来自先前控制时间步长的状态值和控制值310并且使用QP矩阵和向量345,来计算原始可行初始起点401。在有效集策略确保由预测时程上的状态值和控制值的序列组成的控制解猜想从有效集方法的一次迭代到下一次迭代保持原始可行的同时,迭代地更新此解猜想和不等式约束的有效集。
在有效集方法的每次迭代中,该方法求解与有效的不等式约束的当前猜测相对应的等式约束QP 405。等式约束QP的求解所需的计算工作量比不等式约束QP的原始求解更少。在所得到的新的控制解猜想既是最优的又是可行406的情况下,然后寻找对原始不等式约束QP 350的最优解355。如果不是这种情况,但是Lagrange(拉格朗日)乘子中的与有效的不等式约束的集合相对应的一个为负407,能够从该有效集的当前猜想中去除相应的不等式约束410。最后,如果新的解猜想不是最优和可行的,但是与有效的不等式约束相对应的所有Lagrange乘子是正的,则能够识别出阻滞(blocking)不等式约束,以便计算新的原始可行解猜想415。然后,该阻滞不等式约束能够被添加到不等式约束的有效集的当前猜想中420,并且能够相应地更新最优控制解猜想422。
在一些实施方式中,有效集方法的迭代持续进行,直到满足终止条件,例如,找到最优且可行的控制解355或达到最大迭代次数402。注意,在每次有效集迭代405中作为等式约束QP的解而被获得的搜索方向(Δy,Δλ)得出相对于有效集中包含的不等式约束和等式约束是原始可行的候选向量y+αΔy的族,而与α的值无关。因此,一些实施方式将最大的阻滞约束识别为步长α>0最大的不等式约束,使得阻滞不等式约束正好满足等式约束421,并且也满足所有其它不等式约束。
在Lagrange乘子中与有效的不等式约束相对应的至少一个为负407的情况下,一些实施方式从当前有效集中去除与最负Lagrange乘子相对应的不等式约束410。然而,另选地,一些实施方式能够决定从有效集中去除与负Lagrange乘子相对应的不同约束,或者一些实施方式能够决定从有效集中一次去除多个约束410。类似地,一些实施方式能够在一次迭代中向有效集一次添加多个不等式约束420。并且一些实施方式颠倒了决定从有效集中去除410约束或向有效集添加420约束的顺序,即,这样的实施方式在检查与有效不等式约束相对应的负Lagrange乘子407之前首先尝试识别阻滞不等式约束415。
图5A示出了针对基于有效集的MPC控制器计算原始可行初始起点401的过程的框图。一些实施方式从存储器中读取在先前控制时间步长的预测时程上的状态值和控制值310,并直接使用这些值来计算初始起点401。在一些其它实施方式中,从存储器读取先前状态值和控制值,并且将控制输入在时间上移动一个步长501,以便形成用于下一控制时间步长的最优控制解的更好猜想。在给定该移动的控制解猜想的情况下,能够基于当前状态估计121和离散时间系统动态获得相应的状态值505。然后,所得到的状态值和控制值的组合形成用于有效集优化算法的原始可行起点401。
在一些实施方式中,状态依存不等式约束的存在能够防止来自图5A的初始化过程得到原始可行的初始起点。相反,一些实施方式是基于松弛变量重制的,以便制定其中由软约束代替状态依存不等式约束的新QP。一些实施方式基于对这些松弛变量的L1惩罚,使得重制的QP是等效的,即,在原始优化问题可行的情况下,新QP的最优控制解也是原始不等式约束QP的唯一最优控制解。其它实施方式能够基于L2惩罚,即,这些松弛变量的最小平方成本。为了保持图3B中的优化问题的最优控制稀疏性结构350,需要引入至少一个松弛变量来独立地重制每个时间间隔的不等式约束。该松弛变量能够被认为是系统的附加的、人工的控制输入。
图5B示出了根据一些实施方式的包括将状态依存不等式约束重制为软约束以确保原始可行性的松弛变量的、基于有效集的MPC控制器的原始可行初始起点401的计算过程的框图。因此,一些实施方式在给定系统的当前状态121的情况下,通过从存储器读取先前的值310,将控制输入移位一个时间步长501,并且模拟系统动态以计算状态值505,来计算起点401。在给定了所得状态和控制输入的情况下,能够计算松弛变量的值,使得满足所有软不等式约束510。在一些实施方式中,能够将每个时间间隔的松弛变量设置为最小(正)值,以满足在那个特定时间间隔内的所有软约束。在一些其它实施方式中,基于对状态值和控制值的初始猜想,使用阶段I过程步骤来计算在预测时程的每个时间间隔内满足QP的所有(软)不等式约束的状态值和控制值的更新集合。
图6A示出了根据本发明的一些实施方式的在MPC控制器的一个时间步长期间在每次有效集迭代中计算对等式约束QP的解的、基于预处理迭代求解器的有效集优化算法的框图。在给定对不等式约束的有效集的当前猜想的情况下,需要求解等式约束QP 405以计算新的搜索方向(Δy,Δλ)。最优性的必要条件(即,等式约束QP的Karush-Kuhn-Tucker(KKT:卡罗需-库恩-塔克)条件对应于在每次迭代中需要求解的鞍点线性系统601。在本发明的实施方式中,使用预处理的迭代求解器有效地求解该鞍点线性KKT系统605。所得的新控制解猜想是可行的且最优的406,使得找到最优控制解355,或者需要对有效不等式约束的当前工作集进行更新610。
如图4A和图4B所示,依据是否存在负Lagrange乘子值407或存在阻滞不等式约束415,有效集的每次更新对应于向当前有效集添加约束420或从当前有效集去除约束410。一些实施方式基于以下认识:对有效的不等式约束的当前工作集的这些更新610导致对在有效集方法601的每次迭代中需要求解的线性KKT系统中的系数矩阵的低秩更新。当使用预处理的迭代求解器计算每个鞍点线性KKT系统的解605时,对当前工作集的这些更新610导致预处理矩阵的相应更新615。
图6B示出了基于预处理迭代求解器的有效集优化算法的框图,其中,每个有效集改变恰好对应于被添加至当前有效集的一个或更多个不等式约束420或从当前有效集去除的一个或更多个不等式约束410。对当前有效集的此更新611得到对直接取决于已添加或去除616的约束的预处理矩阵的低秩更新。在一些实施方式中,计算对矩阵因子分解的低秩更新,以在迭代求解器中有效地应用预处理器的逆。更具体地说,在对当前有效集的更新611中添加或去除仅一个约束的情况下,这得到对预处理矩阵及其因子分解616的秩一更新。
对于稠密n×n矩阵,矩阵因子分解通常具有O(n3)的计算复杂度,而对预计算的矩阵因子分解的秩一更新对应于仅O(n2)的计算复杂度。在低秩因子分解更新的情况下,只要秩相对于n×n矩阵的维数n较小,计算复杂度也为O(n2)。低秩因子分解更新能够直接执行或者以秩一因子分解更新的形式执行。因此,一般而言,矩阵因子分解的低秩更新具有比在有效集的每次更新之后的新矩阵因子分解的计算更低阶的计算复杂度。
图7A示出了在给定不等式约束的当前有效集合的情况下具有局部近似原始不等于约束QP 350的等式约束QP(EQP)公式700的详细描述的框图。注意,EQP中的目标函数701等效于原始线性二次目标函数351。类似地,EQP中的线性等式约束702和703等效于原始QP公式中的相应约束352和353。主要不同之处在于,基于在最优控制解处对有效集的当前猜想,QP公式中的原始不等式约束354已经被有效的不等式约束的集合704代替。如前所述,EQP问题700的求解需要求解描述了最优性的必要KKT条件705的鞍点线性系统。
一些实施方式基于以下认识:需要求解的线性系统707具有特定的鞍点KKT结构706。更具体地,(1,1)-块中的矩阵H对应于KKT矩阵708中的块对角Hessian。一些实施方式依赖于以下性质:每个Hessian块矩阵分别是正(半)定的708。此外,KKT矩阵706的(1,2)-块中的矩阵A及其在(1,2)-块中的转置AT定义了鞍点线性KKT系统中的块结构约束Jacobian矩阵。一些实施方式依赖于约束Jacobian是满秩矩阵(即,矩阵A中的每一行需要线性独立)的性质。如图4中所描述的,基于原始可行有效集方法的本发明的实施方式以Jacobian矩阵在有效集的每次迭代中是满秩的方式自动维持不等式约束的有效集。在其它实施方式中,需要计算有效集的最大线性独立子集,以得到满秩的相应Jacobian矩阵。
图7B示出了按照一些实施方式在每次有效集改变之后需要求解的鞍点线性系统中的KKT矩阵706的稀疏结构的示意图。在一些实施方式中,当每个Hessian块矩阵是对角的时,块对角Hessian矩阵简化为对角Hessian矩阵708,这通常能够减少求解相应鞍点线性KKT系统所需的计算工作量。另外,根据本发明的实施方式,KKT矩阵中的约束Jacobian矩阵709及其转置711示出了在每个鞍点线性KKT系统的有效求解中所利用的典型的最优控制块稀疏结构。
图8示出了在基于有效集的MPC方法的每次迭代中用于求解矩阵方程式(即,鞍点线性系统Kz=b)的预处理迭代方法的示例。准确系数矩阵801定义为具有如图7B所示的最优控制结构块稀疏性的KKT矩阵706。主要的计算工作量由以下组成:应用系数矩阵K 805和应用预处理器的逆P-1825,以便迭代地845更新线性系统Kz=b的解的近似840,直到找到解z835。
求解器的每次迭代需要至少一个矩阵向量与准确系数矩阵K805相乘,这可以通过利用如图7所示的最优控制结构块稀疏性来有效地执行。在给定了图7B中的Hessian矩阵708和Jacobian矩阵709的块稀疏结构的情况下,这些矩阵向量相乘的最终计算复杂度因此为O(Nm2),其中N是控制时程长度,m是状态变量和控制变量的数量。一些实施方式依赖于对角Hessian矩阵,这进一步降低了相应的计算成本。例如,在对于状态变量或控制变量中的一些在一定时间间隔内有效的简单边界的情况下,能够附加地利用对于块矩阵内的有效的不等式约束的Jacobian矩阵的稀疏性,以减少应用系数矩阵K 805的实际计算成本。
求解每个鞍点线性系统的总计算成本与迭代次数成比例。停止准则830检查当前近似值z是否满足给定容差或是否达到最大迭代步数k=kmax。如果满足该停止准则,则找到解z835,否则更新近似z840,并且继续迭代845。迭代方法的一些示例是预处理广义最小残差(PGMRES)方法、预处理最小残差(PMINRES)以及投影预处理共轭梯度法(PPCG)。
在一些实施方式中,使用初始近似解z0810来开始鞍点线性系统的求解的迭代过程。在给定从有效集方法的一次迭代到下一次迭代的有效集变化601的情况下,该近似解猜想可以是基于对先前鞍点线性系统605的解。另选地,一些实施方式计算鞍点线性系统706中的原始变量和对偶变量的变化,使得合理的解猜想由零值组成。
一些实施方式使用准确系数矩阵K801或近似系数矩阵815来确定或更新预处理矩阵的至少一部分820。能够例如在主迭代循环825的每个步骤中首先生成预处理器,然后应用预处理器。在一些实施方式中,预处理器与在主迭代循环之外生成820的预处理函数有关,其中,该预处理函数能够应用于向量,以返回预处理器的矩阵逆P-1与那个特定向量之间的乘积825。例如,在迭代方法的一些实施方式中,预处理函数作用于残差b-Kz,以计算P-1(b-Kz)。预处理器的应用在不显著增加每次迭代的计算成本的情况下加速了迭代方法的收敛,从而致使MPC控制器的整体性能得到改善。
在本发明的一些实施方式中,使用块结构的预处理器,使得能够有效地确定、更新820和应用825其矩阵因子分解。因此,块结构的矩阵因子分解需要复杂度为O(Nm3)的计算成本,其中N是控制时程长度并且m是状态变量和控制变量的数量。然而,在一些实施方式中,通过代替地更新615从有效集方法的一次迭代到下一迭代的预处理器的矩阵因子分解,避免了求解每个鞍点线性系统所需的矩阵因子分解的计算。如果在每次迭代中向有效集添加仅一个约束或者从有效集中去除仅一个约束,那么这种更新对应于保留了预处理矩阵的块结构稀疏性的、复杂度为O(Nm2)的秩一因子分解更新。类似地,在给定该块稀疏矩阵因子分解的情况下,将预处理器的逆P-1应用于向量需要复杂度为O(Nm2)的计算成本。
如果将近似系数矩阵的近似逆用于预处理器的矩阵形式,即P-1≈K-1,则预处理迭代方法中的迭代次数快速减少。在确切的情况下,在给定时间步长的预处理器820与准确系数矩阵801的逆一致,即,P-1=K-1,预处理方法中的迭代次数减少为1。然而,确切的情况在计算上可能是昂贵的,因此,一些实施方式基于这样的认识,即,出于预处理设置或更新820和应用825的目的,近似系数矩阵815与之准确的形式相比,能够更容易且更快地进行因子分解,同时仍可带来高质量的预处理。类似地,确定、更新或应用预处理器820不需要完全准确,并且能够在基于计算机的控制器110上使用数量减少的算术位来进行。另一实施方式能够从已经计算出的近似系数矩阵,以低准确度算术来确定和/或应用预处理器的因子分解。
图9A示出了基于由一个实施方式使用的预处理器矩阵900的Cholesky(楚列斯基)矩阵因子分解(或分解)来如何应用预处理器的框图。预处理器设置905确定矩阵因子分解P=LLT,其中预处理矩阵P是正定的并且矩阵L是下三角的。该分解P=LLT能够基于在P是n×n矩阵的情况下,以
Figure BDA0002612250230000171
浮点运算(FLOPS)为代价(即,计算复杂度为O(n3))的新矩阵因子分解来计算。相反,在给定预处理矩阵的低秩更新616的情况下,代之能够以O(n2)的计算复杂度来实施矩阵的Cholesky因子分解的秩一更新。预处理器函数的应用910包括以下步骤。首先,使用矩阵L是下三角的事实,通过前向代换915来求解矩阵方程式
Figure BDA0002612250230000181
然后,利用矩阵LT是上三角的事实,通过后向代换920来求解矩阵方程
Figure BDA0002612250230000182
能够以O(n2)的计算复杂度来实施利用Cholesky因子L和LT进行的前向代换和后向代换二者。最后,将预处理器的应用结果确定925为P-1b=(LLT)-1b=z。
图9B示出了基于由一个实施方式所使用的预处理器矩阵935的块三对角Cholesky因子分解(或分解)如何应用块结构正定预处理器930的框图。预处理器设置935确定矩阵因子分解P=LLT,其中预处理矩阵P是正定的并且是块三对角的,而矩阵L是下三角的和下块双对角的。该分解能够以O(Nm3)的计算复杂度基于新的块三对角矩阵因子分解来计算,其中N是块的数量,并且m表示每个块矩阵的维数。代之,在给定预处理矩阵616的低秩更新的情况下,能够代之用O(Nm2)的计算复杂度来实施矩阵的块三对角Cholesky因子分解的秩一更新。应用预处理器函数940包括以下步骤。首先,利用矩阵L既是下三角的又是下块双对角的事实,通过块双对角前向代换945来求解矩阵方程式
Figure BDA0002612250230000183
然后,利用矩阵LT既是上三角的又是上块双对角的事实,通过块双对角反向代换950来求解矩阵方程式
Figure BDA0002612250230000184
能够以O(Nm2)的计算复杂度实施使用Cholesky因子L和LT的块对角前向代换和后向代换二者。最后,将预处理器的应用结果确定925为P-1b=(LLT)-1b=z。
在秩一修正
Figure BDA0002612250230000185
之后,能够以O(n2)的计算来恢复n×n矩阵的Cholesky因子分解P=LLT。如果α>0,则这称为更新,如果α<0,则这称为回退(downdate)。在块三对角Cholesky因子分解的情况下,只要在秩一修正
Figure BDA0002612250230000186
之后矩阵保持块三对角,就能够保留Cholesky因子的特定块稀疏结构。如前所述,对于块三对角Cholesky因子分解,计算复杂度为O(Nm3),而对于基于块三对角矩阵的秩一修正的秩一更新,计算复杂度为O(Nm2)。注意,对称矩阵P中的行-列对的插入或去除也对应于特定类型的秩一修正,并且能够以O(Nm2)的相同计算复杂度更新Cholesky因子分解。在给定在控制预测时程中早期的时间间隔期间发生大多数有效集改变的事实的情况下,一些实施方式是基于块三对角Cholesky因子分解的后向变型或反向变型,这在MPC控制器的上下文中执行秩一因子分解化更新时具有特定优点。
图10A示出了实现MPC控制器110的有效集优化的框图,其中,根据一些实施方式,增强Lagrangian型块三对角预处理矩阵1010与预处理广义最小残差(PGMRES)方法或预处理最小残差(PMINRES)方法1005结合使用。在给定预处理矩阵1011的特定最优控制类型的块三对角稀疏结构的情况下,能够使用块三对角Cholesky因子分解以有效地应用该预处理器,如图9B所描述的。一些实施方式基于正定加权矩阵
Figure BDA0002612250230000191
使得预处理器Pa也是正定的,并且存在唯一的Cholesky因子分解。
图10B示出了根据一些实施方式的包括具有块三对角稀疏结构1022的块矩阵H+ATΓA1020和逆加权矩阵Γ-11021的块结构对称预处理矩阵Pa1011的示意图。本发明的一些实施方式是基于对角加权矩阵Γ=γI的简单选择,其中I表示单位矩阵并且γ>0是正值。在一些温和条件下,能够证明,该预处理器Pa对于γ>0的任何值是正定的并且存在唯一Cholesky因子分解。另外,预处理矩阵
Figure BDA0002612250230000192
的特征值随着γ>0的值的增加而在±1附近变得更加聚类,使得通常通过增加γ的值,预处理迭代方法将更快地收敛。因此,对于γ的足够大的值,PMINRES方法能够在两次迭代内收敛(接近)。但是,选择γ过大可能会导致预处理矩阵Pa的不良条件(ill-conditioning),使得此参数应例如依据基于计算机的控制器110中可用的算术位数来仔细设计。
给定有效集的更新,其中添加或去除不等式约束611,在保留块三对角稀疏结构的同时,针对预处理矩阵的Cholesky因子分解计算秩一更新。更具体地,对于增强Lagrangian型预处理器1011,添加或去除约束导致添加或去除对称加权矩阵Γ=γI的相应行和列,这是因为对称加权矩阵Γ=γI的维数对应于等式约束和有效的不等式约束的总数。另外,从有效集中添加或去除约束对应于在KKT矩阵706的约束Jacobian A中添加或去除行,这得到对矩阵H+ATΓA的块三对角Cholesky因子分解的秩一更新或回退。
对于Γ=γI的特定实施方式,逆
Figure BDA0002612250230000193
是已知的,使得针对块矩阵H+ATΓA1022仅需要计算和更新块三对角Cholesky因子分解。用于计算或更新该因子分解的计算成本分别为O(Nm3)或O(Nm2),其中N是控制时程长度,并且m是状态和控制的数量。
图11A示出了实现MPC控制器110的有效集优化算法的框图,其中,根据一个实施方式,Schur补型块三对角预处理矩阵1110与PGMRES方法或PMINRES方法结合使用1005。在给定预处理矩阵1111的特定最优控制类型的块三对角稀疏结构的情况下,能够使用块三对角Cholesky因子分解以有效地应用该预处理器,如图9B所描述的。一些实施方式基于Hessian正则化过程1120,以得到正定Hessian近似
Figure BDA0002612250230000201
使得预处理器Ps也是正定的,并且存在唯一的Cholesky因子分解。
图11B示出了根据一些实施方式的由块对角Hessian近似
Figure BDA0002612250230000202
1125和具有块对角稀疏结构1127的块矩阵
Figure BDA0002612250230000203
1126组成的块结构对称预处理矩阵Ps1111的示意图。因此,在本发明的一些实施方式中,Hessian近似以及矩阵
Figure BDA0002612250230000204
二者是正定的,使得对于Schur补型预处理器存在唯一的Cholesky因子分解。另外,随着Hessian近似变得越接近准确的块对角Hessian矩阵
Figure BDA0002612250230000205
预处理矩阵
Figure BDA0002612250230000206
的特征值变得越聚类,使得通常预处理迭代方法将更快地收敛。对于足够接近的近似值
Figure BDA0002612250230000207
PMINRES方法能够在(接近)三个迭代内收敛。但是,选择
Figure BDA0002612250230000208
以接近半定可能导致预处理矩阵Ps的不良条件,使得应例如依据基于计算机的控制器110中可用的算术位数来仔细设计Hessian正则化过程中的参数。
在一些实施方式中,MPC问题公式的Hessian矩阵是对角矩阵1125,使得能够例如通过近似每个对角元素使得它们分别大于某个正值∈>0,来有效地进行Hessian正则化
Figure BDA0002612250230000209
通常,对于越小值的∈>0,Hessian近似
Figure BDA00026122502300002010
变得越接近,使得迭代求解器收敛更快,但应选择足够大的∈,以避免预处理矩阵Ps的不良条件。在用于MPC问题公式的Hessian矩阵是具有稠密Hessian块的一般块对角矩阵的其它实施方式中,例如,能够通过试探或基于块矩阵的因子分解来执行Hessian正则化。另选地,能够执行基于Riccati的递归以使Hessian矩阵在系统动态和/或有效的不等式约束的范围空间内是正定的。但是,此类技术通常需要O(Nm3)的计算复杂度,这与块三对角Cholesky因子分解本身的复杂度相同。
给定有效集的更新,其中添加或去除不等式约束611,在保留块三对角稀疏结构的同时,针对预处理矩阵的Cholesky因子分解计算秩一更新。更具体地说,对于Schur补型预处理器1111,添加或去除约束不影响Hessian矩阵或其近似
Figure BDA00026122502300002011
但是,从有效集中添加或去除约束对应于在KKT矩阵706的约束Jacobian A中添加或去除行,这导致在具有块三对角稀疏结构1127的块矩阵
Figure BDA00026122502300002012
1126中添加或去除行-列对。然后,该插入或去除得到对矩阵
Figure BDA00026122502300002013
的块三对角Cholesky因子分解的秩一更新或回退。注意,对于对角Hessian矩阵
Figure BDA00026122502300002014
能够容易地计算矩阵
Figure BDA00026122502300002015
的更新,但是,即使对于一般的块对角Hessian矩阵,例如基于对正定Hessian近似
Figure BDA00026122502300002016
中的块矩阵的Cholesky因子分解,也能够有效地计算该更新。
图12A示出了一个实施方式的有效集优化的框图。在该实施方式中,为了实现MPC控制器110,具有例如如图7B所示的与KKT矩阵1211相同的块稀疏结构的约束预处理器1210与投影预处理共轭梯度(PPCG)方法1205结合使用。为了有效地应用约束预处理器,能够根据每个有效集改变来计算并更新矩阵
Figure BDA0002612250230000211
1212的块三对角Cholesky因子分解1215。与基于Schur补型块对角预处理器的实施方式类似,一些实施方式结合约束预处理矩阵来使用Hessian正则过程1220,使得能够使用Hessian近似
Figure BDA0002612250230000212
的Cholesky因子分解,以在迭代PPCG方法内有效地应用该预处理器。
在准确Hessian矩阵是可逆的,并且约束预处理器是基于近似
Figure BDA0002612250230000213
的情况下,生成的PPCG实现对应于直接线性系统求解,使得从理论上实施不多于一次的迭代。然而,实际上,由于在基于计算机的控制器110上使用有限数量的算术位,由于约束预处理器的不精确应用和/或针对实际MPC公式的问题数据的不良条件,所以通常仍然需要多次共轭梯度迭代。
图12B示出了根据一个实施方式应用约束预处理器,以在没有对零空间的基础的显式计算的情况下对约束Jacobian矩阵1225中的等式约束和有效的不等式约束的零空间执行向量的投影的示意图。注意,能够使用另一迭代求解器来计算作为鞍点线性系统1226的解的投影。在可逆Hessian近似
Figure BDA0002612250230000214
的情况下,一些实施方式通过应用逆算子
Figure BDA0002612250230000215
Figure BDA0002612250230000216
来直接应用约束预处理器1227。在对角Hessian近似矩阵的情况下,能够轻易地计算逆算子
Figure BDA0002612250230000217
在块对角Hessian矩阵的更一般情况下,一些实施方式基于Hessian块矩阵的Cholesky因子分解。类似于Schur补型预处理器,通过计算具有块三对角稀疏结构的矩阵
Figure BDA0002612250230000218
1126的块三对角Cholesky因子分解,能够有效地应用逆算子
Figure BDA0002612250230000219
1127,针对块三对角稀疏结构在有效集优化算法的每次迭代中使用秩一因子分解更新1215。
注意,通过执行热启动过程,在MPC控制器的在线计算中能够避免用于实施块三对角Cholesky因子分解的复杂度为O(Nm3)的相对高成本。在一些实施方式中,基于线性时不变MPC公式,然后从一个控制时间步长到下一控制时间步长重用Cholesky因子分解,这通常被称为有效集方法的热启动。为此,需要在下一控制时间步长期间基于从先前控制时间步长的控制解到有效集优化算法的初始可行起点的有效集改变来更新因子分解。
图13示出了包括采用本发明的一些实施方式的原理的预测控制器1302的车辆1301的示意图。如本文所使用的,车辆1301能够是任何类型的轮式车辆,诸如乘用车、公共汽车或漫游车。另外,车辆1301能够是自主或半自主车辆。例如,一些实施方式控制车辆1301的运动。该运动的示例包括由车辆1301的转向系统1303控制的车辆的横向运动。在一个实施方式中,转向系统1303由控制器1302控制。附加地或另选地,转向系统1303能够由车辆1301的驾驶员控制。
车辆还能够包括能够由控制器1302或车辆1301的其它部件控制的引擎1306。车辆还能够包括感测周围环境的一个或更多个传感器1304。传感器1304的示例包括测距仪、雷达、激光雷达和相机。车辆1301还能够包括感测其当前运动量和内部状态的一个或更多个传感器1305。传感器1305的示例包括全球定位系统(GPS)、加速仪、惯性测量单元、陀螺仪、轴旋转传感器、扭矩传感器、挠度传感器、压力传感器和流量传感器。传感器向控制器1302提供信息。车辆能够配备有使得控制器1302能够通过有线或无线通信信道进行通信的收发器1306。
图14示出了根据一些实施方式的预测控制器1302与车辆1301的控制器1400之间的交互的示意图。例如,在一些实施方式中,车辆1301的控制器1400是控制车辆1400的旋转和加速度的转向控制器1410和制动/油门控制器1420。在这种情况下,预测控制器1302向控制器1410和1420输出控制输入以控制车辆的状态。控制器1400还能够包括进一步处理预测控制器1302的控制输入的高级控制器,例如,车道保持辅助控制器1430。在两种情况下,控制器1400映射使用预测控制器1302的输出,以控制车辆的诸如车辆的方向盘和/或制动器之类的至少一个致动器,以便控制车辆的运动。
能够以多种方式中的任何方式来实现本发明的上述实施方式。例如,能够使用硬件、软件或其组合来实现实施方式。当以软件实现时,无论是设置在单台计算机中还是分布在多台计算机中,软件代码都能够在任何合适的处理器或处理器的集合上执行。这样的处理器可以实现为集成电路,在集成电路组件中具有一个或更多个处理器。但是,可以使用任何适当格式的电路来实现处理器。
另外,本文概述的各种方法或过程可以被编码为在采用各种操作系统或平台中任意一种的一个或更多个处理器上可执行的软件。附加地,可以使用多种合适的编程语言和/或编程或脚本工具中的任何一种来编写这样的软件,并且这样的软件还可以编译为在框架或虚拟机上执行的可执行机器语言代码或中间代码。通常,在各种实施方式中,程序模块的功能可以根据需要进行组合或分布。
另外,本发明的实施方式可以体现为已经提供了其示例的方法。作为该方法的一部分而执行的动作可以以任何合适的方式排序。因此,可以构造其中以与所示出的次序不同的次序执行动作的实施方式,这可以包括并行地执行即使在示例性实施方式中被示为顺序动作的一些动作。

Claims (22)

1.一种用于控制系统的预测控制器,该系统受到包括对所述系统的状态变量和控制变量的等式约束和不等式约束,该预测控制器包括:
估计器,该估计器使用所述系统的输出的测量值来估计所述系统的当前状态;以及
控制器,该控制器在每个控制步骤求解必要最优条件的矩阵方程式,以生成控制解并使用所述控制解来控制所述系统,以改变所述系统的状态,其中,所述矩阵方程式包括具有所述系统的所述等式约束的约束Jacobian矩阵的块结构矩阵,其中所述控制器使用两级迭代来迭代地确定所述控制解,所述两级迭代包括第一级迭代和在所述第一级迭代的迭代内执行的第二级迭代,
其中,直到满足第一终止条件之前所执行的所述第一级迭代,
针对控制时程内的每个时间点选择有效的不等式约束,
利用针对有效的不等式约束的集合中的改变的低秩更新来更新所述约束Jacobian矩阵,以包括所述等式约束和所述有效的不等式约束,以及
响应于所述约束Jacobian矩阵的所述低秩更新,利用低秩因子分解更新来更新预处理矩阵,
其中,直到满足第二终止条件之前所执行的所述第二级迭代使用更新后的预处理矩阵来求解具有更新的约束Jacobian矩阵的矩阵方程式,以生成所述控制解。
2.根据权利要求1所述的预测控制器,其中,当所述不等式约束的约束函数在时间点等于所述不等式约束的约束边界时,所述不等式约束在所述时间点是有效的,其中,所述第一级迭代基于所述系统的当前状态和控制输入的当前序列来选择所述有效的不等式约束的集合。
3.根据权利要求2所述的预测控制器,其中,所述第一终止条件包括所述控制解的可行性和所述控制解的最优性,
其中,所述控制器测试所述控制解的最优性和可行性,并在满足所述第一终止条件时退出所述第一级迭代,否则,
其中,所述控制解不是最优的,所述控制器去除阻止所述控制解的最优性的、具有负对偶变量的有效的不等式约束,并重复所述第一级迭代,否则,
其中,所述控制解不是可行的,所述控制器利用所述控制解的可行部分更新所述控制输入的当前序列,在所述有效的不等式约束的集合中添加阻滞不等式约束,并重复所述第一级迭代。
4.根据权利要求3所述的预测控制器,其中,所述控制器响应于添加所述阻滞不等式约束,在所述约束Jacobian矩阵中添加具有所述阻滞不等式约束的系数的第一函数的行,并且用所述阻滞不等式约束的所述系数的第二函数来更新所述预处理矩阵。
5.根据权利要求4所述的预测控制器,其中,所述控制器响应于去除所述有效的不等式约束,去除所述约束Jacobian矩阵中的与所去除的有效的不等式约束相对应的行,并利用所述第二函数的逆来更新所述预处理矩阵。
6.根据权利要求1所述的预测控制器,其中,所述有效的不等式约束的集合中的每个改变对应于添加或去除仅一个约束,这导致响应于所述约束Jacobian矩阵的秩一更新,对所述预处理矩阵的秩一因子分解更新。
7.根据权利要求1所述的预测控制器,其中,使用与用于所述矩阵方程式的算术准确度相比降低的算术准确度,来更新或估计所述预处理矩阵。
8.根据权利要求1所述的预测控制器,其中,所述预处理矩阵具有块三对角结构,其中,每个块是正定的,其中,所述控制器在保留所述块三对角结构的同时更新所述预处理矩阵的因子分解。
9.根据权利要求8所述的预测控制器,其中,所述控制器使用块三对角Cholesky因子分解的低秩更新来更新所述预处理矩阵的所述因子分解。
10.根据权利要求1所述的预测控制器,其中,对于当前控制步骤,所述控制器利用在先前的控制步骤期间确定的所述Jacobian矩阵的值和经因子分解的预处理矩阵的值来初始化所述Jacobian矩阵以及所述预处理矩阵的因子分解。
11.根据权利要求1所述的预测控制器,其中,所述预处理矩阵是增强Lagrangian块对角矩阵,并且其中所述第二级迭代使用最小残差方法来求解所述矩阵方程式。
12.根据权利要求1所述的预测控制器,其中,所述预处理矩阵是Schur补块对角矩阵,并且其中所述第二级迭代使用最小残差法求解所述矩阵方程式。
13.根据权利要求12所述的预测控制器,其中,所述控制器对所述矩阵方程式的矩阵的Hessian进行正则化以生成所述矩阵的所述Hessian的正定近似,并且其中所述控制器基于所述矩阵的所述Hessian的近似来确定所述Schur补块对角矩阵的元素。
14.根据权利要求1所述的预测控制器,其中,所述预处理矩阵是约束预处理器,并且其中所述第二级迭代使用投影共轭梯度方法来求解所述矩阵方程式。
15.根据权利要求14所述的预测控制器,其中,所述控制器对所述矩阵方程式的矩阵的Hessian进行正则化,以生成所述矩阵的所述Hessian的正定近似,并且其中所述控制器基于所述矩阵的所述Hessian的近似来确定所述约束预处理器的元素。
16.根据权利要求1所述的预测控制器,其中,所述控制系统是车辆,并且其中,所述控制器基于所述控制解来确定对所述车辆的输入,其中,对所述车辆的所述输入包括所述车辆的加速度、所述车辆的电动机的扭矩以及转向角中的一个或组合。
17.一种车辆,该车辆包括权利要求1的预测控制器。
18.一种用于控制系统的方法,该系统受到包括对所述系统的状态变量和控制变量的等式约束和不等式约束,其中,该方法使用与实现该方法的存储指令联接的处理器,其中,所述指令在由所述处理器执行时实施该方法的步骤,所述步骤包括:
使用所述系统的输出的测量值来估计所述系统的当前状态;
在每个控制步骤,求解必要最优条件的矩阵方程式,以生成控制解;以及
使用所述控制解来控制所述系统以改变所述系统的状态,
其中,所述矩阵方程式包括具有所述系统的所述等式约束的约束Jacobian矩阵的块结构矩阵,其中,控制器使用两级迭代来迭代地确定所述控制解,所述两级迭代包括第一级迭代和在所述第一级迭代的迭代内执行的第二级迭代,
其中,直到满足第一终止条件之前所执行的第一级迭代,
针对控制时程内的每个时间点选择有效的不等式约束,
利用针对有效的不等式约束的集合中的改变的低秩更新来更新所述约束Jacobian矩阵,以包括所述等式约束和所述有效的不等式约束,以及
响应于所述约束Jacobian矩阵的所述低秩更新,利用低秩因子分解更新来更新预处理矩阵,
其中,直到满足第二终止条件之前所执行的所述第二级迭代使用所述预处理矩阵的更新后的因子分解来求解具有更新的约束Jacobian矩阵的所述矩阵方程式,以生成所述控制解。
19.根据权利要求18所述的方法,其中,所述预处理矩阵具有块三对角结构,其中,每个块是正定的,其中,所述方法在保留所述块三对角结构的同时更新所述预处理矩阵的所述因子分解。
20.根据权利要求19所述的方法,其中,所述控制器使用块三对角Cholesky因子分解的低秩更新来更新所述预处理矩阵的所述因子分解。
21.根据权利要求18所述的方法,其中,所述控制系统是车辆,并且其中,所述控制器基于所述控制解来确定对所述车辆的输入,其中,对所述车辆的所述输入包括所述车辆的加速度、所述车辆的电动机的扭矩以及转向角中的一个或组合。
22.一种非暂时性计算机可读存储介质,在该非暂时性计算机可读存储介质上实现用于执行方法的由处理器能执行的程序,该方法包括以下操作:
使用系统的输出的测量值来估计所述系统的当前状态;
在每个控制步骤,求解必要最优条件的矩阵方程式,以生成控制解;以及
使用所述控制解来控制所述系统以改变所述系统的状态,
其中,所述矩阵方程式包括具有所述系统的等式约束的约束Jacobian矩阵的块结构矩阵,其中,控制器使用两级迭代来迭代地确定所述控制解,所述两级迭代包括第一级迭代和在所述第一级迭代的迭代内执行的第二级迭代,
其中,直到满足第一终止条件之前所执行的第一级迭代,
针对控制时程内的每个时间点选择有效的不等式约束,
利用针对有效的不等式约束的集合中的改变的低秩更新来更新所述约束Jacobian矩阵,以包括所述等式约束和所述有效的不等式约束,以及
响应于所述约束Jacobian矩阵的所述低秩更新,利用低秩因子分解更新来更新预处理矩阵,
其中,直到满足第二终止条件之前所执行的所述第二级迭代使用所述预处理矩阵的更新后的因子分解来求解具有更新的约束Jacobian矩阵的所述矩阵方程式,以生成所述控制解。
CN201880088336.4A 2018-02-05 2018-07-26 用于控制系统的预测控制器、车辆及方法 Active CN111670415B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/888,143 US10613490B2 (en) 2018-02-05 2018-02-05 Method and apparatus for preconditioned predictive control
US15/888,143 2018-02-05
PCT/JP2018/028950 WO2019150611A1 (en) 2018-02-05 2018-07-26 Predictive controller, vehicle and method for controlling system

Publications (2)

Publication Number Publication Date
CN111670415A CN111670415A (zh) 2020-09-15
CN111670415B true CN111670415B (zh) 2021-03-23

Family

ID=63490646

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880088336.4A Active CN111670415B (zh) 2018-02-05 2018-07-26 用于控制系统的预测控制器、车辆及方法

Country Status (5)

Country Link
US (2) US10613490B2 (zh)
EP (1) EP3729207B1 (zh)
JP (1) JP6808093B2 (zh)
CN (1) CN111670415B (zh)
WO (1) WO2019150611A1 (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112567301A (zh) * 2018-07-12 2021-03-26 阿韦瓦软件有限责任公司 处理优化服务器和系统
US10795330B2 (en) * 2018-07-30 2020-10-06 Mitsubishi Electric Research Laboratories, Inc. Symmetry alternating direction method of multipliers
CN110794811B (zh) * 2019-11-07 2021-02-26 浙江工业大学 一种带有量化的网络化运动控制系统的安全控制方法
US11753023B2 (en) * 2020-01-19 2023-09-12 Mitsubishi Electric Research Laboratories, Inc. Adaptive control of autonomous or semi-autonomous vehicle
US11163273B2 (en) * 2020-03-02 2021-11-02 Mitsubishi Electric Research Laboratories, Inc. Active set based interior point optimization method for predictive control
US11724387B2 (en) * 2020-04-03 2023-08-15 Fanuc Corporation Fast robot motion optimization with distance field
KR20210140862A (ko) * 2020-05-14 2021-11-23 현대자동차주식회사 소프트웨어 업데이트 시스템 및 그 제어 방법
CN111611536B (zh) * 2020-05-19 2023-04-07 浙江中控技术股份有限公司 数据处理方法、装置、存储介质及电子设备
US11327449B2 (en) 2020-05-29 2022-05-10 Mitsubishi Electric Research Laboratories, Inc. Nonlinear optimization for stochastic predictive vehicle control
CN111753255B (zh) * 2020-07-30 2024-03-15 中国南方电网有限责任公司 一种优化电网运行约束计算的线性化技术
CN112477880B (zh) * 2020-11-30 2022-05-20 天津大学 一种无人驾驶汽车纵向控制方法
CN113221298B (zh) * 2021-04-21 2023-02-24 南方电网科学研究院有限责任公司 一种机电暂态过程的仿真方法及系统
US11740598B2 (en) * 2021-04-30 2023-08-29 Aspentech Corporation Apparatus and methods to build a reliable deep learning controller by imposing model constraints
CN113381397B (zh) * 2021-05-31 2022-05-06 深圳大学 获取直流电力系统最小状态潮流的节点级分散方法
WO2023276255A1 (ja) * 2021-07-01 2023-01-05 ソニーグループ株式会社 情報処理装置、および情報処理方法、並びにプログラム
US20230083788A1 (en) * 2021-09-13 2023-03-16 Mitsubishi Electric Corporation Computing device and computing method
CN113977574B (zh) * 2021-09-16 2023-02-14 南京邮电大学 一种机械臂点约束控制方法
CN115877811B (zh) * 2023-03-08 2023-05-23 北京东方国信科技股份有限公司 流程工艺处理方法、装置及设备
CN116700012B (zh) * 2023-07-19 2024-03-01 合肥工业大学 一种多智能体的避撞编队合围控制器的设计方法
CN117331306B (zh) * 2023-12-01 2024-01-30 山东黄海智能装备有限公司 一种用于洪灾救援艇的模型预测pid航向控制优化方法
CN117572875B (zh) * 2024-01-15 2024-04-12 上海友道智途科技有限公司 一种基于热启动的实时速度规划方法、系统、设备及介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4972347A (en) * 1988-10-11 1990-11-20 Cincinnati Milacron Inc. Method and apparatus for determining the correct tool dimensions for a three dimensional tool mounted on a manipulator
US6182270B1 (en) * 1996-12-04 2001-01-30 Lucent Technologies Inc. Low-displacement rank preconditioners for simplified non-linear analysis of circuits and other devices
WO2000045229A1 (en) 1999-01-29 2000-08-03 Georgia Tech Research Corporation Uncalibrated dynamic mechanical system controller
US6701193B1 (en) 2000-08-18 2004-03-02 Ford Motor Company Method of adaptively controlling paint system
JP4007873B2 (ja) 2002-07-09 2007-11-14 富士通株式会社 データ保護プログラムおよびデータ保護方法
US7328074B2 (en) 2002-12-02 2008-02-05 United Technologies Corporation Real-time quadratic programming for control of dynamical systems
US7507221B2 (en) 2004-10-13 2009-03-24 Mallinckrodt Inc. Powerhead of a power injection system
US20060282178A1 (en) 2005-06-13 2006-12-14 United Technologies Corporation System and method for solving equality-constrained quadratic program while honoring degenerate constraints
US8924331B2 (en) 2010-09-03 2014-12-30 Honeywell International Inc. System and method for solving quadratic programming problems with bound constraints utilizing a semi-explicit quadratic programming solver
US8600525B1 (en) 2012-05-31 2013-12-03 Honeywell Asca Inc. Efficient quadratic programming (QP) solver for process control and optimization
US9581981B2 (en) * 2014-03-06 2017-02-28 Mitsubishi Electric Corporation Method and apparatus for preconditioned continuation model predictive control
US9897984B2 (en) 2014-08-05 2018-02-20 Mitsubishi Electric Research Laboratories, Inc. Model predictive control with uncertainties
US9983554B2 (en) 2014-11-25 2018-05-29 Mitsubishi Electric Research Laboratories, Inc. Model predictive control with uncertainties
EP3734375B1 (en) 2015-07-31 2023-04-05 Garrett Transportation I Inc. Quadratic program solver for mpc using variable ordering
US10915075B2 (en) * 2017-10-02 2021-02-09 University Of Dayton Reconfigurable hardware-accelerated model predictive controller

Also Published As

Publication number Publication date
EP3729207B1 (en) 2021-04-28
EP3729207A1 (en) 2020-10-28
US10877445B2 (en) 2020-12-29
CN111670415A (zh) 2020-09-15
JP6808093B2 (ja) 2021-01-06
US10613490B2 (en) 2020-04-07
JP2020535539A (ja) 2020-12-03
US20190369573A1 (en) 2019-12-05
US20190243320A1 (en) 2019-08-08
WO2019150611A1 (en) 2019-08-08

Similar Documents

Publication Publication Date Title
CN111670415B (zh) 用于控制系统的预测控制器、车辆及方法
CN111699443B (zh) 用于控制系统的操作的控制系统和方法及存储介质
EP3948440B1 (en) Nonlinear optimization method for stochastic predictive control
JP7257980B2 (ja) コントローラ、車両、方法、および非一時的なコンピュータ読み取り可能記憶媒体
CN113498523B (zh) 用于控制机器对象的操作的装置和方法以及存储介质
JP7297155B2 (ja) マシンの動作を制御するためのシステムおよびコンピュータ実施方法
US20210232922A1 (en) Actor ensemble for continuous control
JP7466785B2 (ja) 混合整数最適制御最適化における早期終了を伴うコントローラ
CN112596393A (zh) 船舶路径跟踪的控制方法、系统和存储介质
CN114193443A (zh) 用于控制机器人设备的设备和方法
JP7357812B2 (ja) 予測制御のためのアクティブセットベースの内点最適化法
KR102427366B1 (ko) 심층 신경망을 이용한 차선 추정 방법 및 장치
Gibson A direct search approach to optimization for nonlinear model predictive control
Tyatyushkin Multimethod optimization of control in complicated applied problems
Li Indirect RL with Function Approximation
CN117433797A (zh) 在车辆辅助系统中确定物理环境的空闲空间边界的方法
CN112417750A (zh) 经由连续的时间导数估计在线不可测量变量的虚拟传感器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant