用于提高计算效率的模型预测控制系统和方法
【专利摘要】本发明涉及用于提高计算效率的模型预测控制系统和方法。一种模型预测控制(MPC)模块实施多次迭代以基于转矩请求、发动机模型、表格矩阵和基解矩阵来确定发动机的一组当前目标值。每次迭代包括:确定基解矩阵是否呈非标准形式;当基解矩阵呈非标准形式时,基于非基本对的原始变量的第一输入位置来识别表格矩阵的第一列;当基解矩阵呈标准形式且基解矩阵的一个或更多个原始变量为负时,基于基本对的对偶变量的第二输入位置来识别表格矩阵的第一列;以及基于表格矩阵的第一列来选择性地更新基解矩阵。
【专利说明】
用于提高计算效率的模型预测控制系统和方法
[0001] 相关申请的交叉引用 本申请要求2015年2月12日提交的美国临时申请号62/115,293的权益。上述申请的公 开内容整体上通过引用并入本文中。
[0002] 本申请与美国专利申请号14/675,828相关,其在2015年4月1日提交,且要求2015 年2月12日提交的美国临时申请号62/115,208的权益。上述申请的公开内容整体上通过引 用并入本文中。
技术领域
[0003] 本公开涉及内燃发动机,且更确切地涉及用于车辆的发动机控制系统和方法。
【背景技术】
[0004] 此处提供的背景描述是出于大体呈现本公开的背景的目的。目前指定的发明人的 工作(在于此背景部分中所描述的范围内)以及在申请时可能不被确定为现有技术的描述 的方面既不明确地也不隐含地被认为是对抗本公开的现有技术。
[0005] 内燃发动机在气缸内燃烧空气与燃料混合物以驱动活塞,从而产生驱动转矩。经 由节流阀来调节进入发动机中的气流。更确切地,节流阀调节节流面积,从而增加或减少进 入发动机中的气流。当节流面积增大时,进入发动机中的气流增加。燃料控制系统调节喷射 燃料的速率,以将所需的空气/燃料混合物提供到气缸和/或达到所需的转矩输出。增加提 供到气缸的空气与燃料的量使发动机的转矩输出增大。
[0006] 在火花点火发动机中,火花开始提供到气缸的空气/燃料混合物的燃烧。在压缩点 火发动机中,气缸中的压缩燃烧提供到气缸的空气/燃料混合物。火花定时和气流可以是用 于调节火花点火发动机的转矩输出的主要机构,而燃料流可以是用于调节压缩点火发动机 的转矩输出的主要机构。
[0007] 已开发了发动机控制系统来控制发动机输出转矩以达到所需的转矩。然而,传统 的发动机控制系统并不如所需要的那么准确地来控制发动机输出转矩。另外,传统的发动 机控制系统并未提供快速响应来控制信号或在影响发动机输出转矩的各种装置当中协调 发动机转矩控制。
【发明内容】
[0008] 在一个特征中,公开了车辆的发动机控制系统。转矩请求模炔基于驾驶员输入产 生火花点火发动机的第一转矩请求。转矩转换模块将第一转矩请求转换成第二转矩请求。 模型预测控制(MPC)模块实施多次迭代以基于第二转矩请求、发动机模型、表格矩阵和基解 矩阵来确定一组当前目标值。每次迭代包括MPC模块:确定基解矩阵:呈包括原始变量和对 偶变量的非基本对的非标准形式;还是呈包括原始变量和对偶变量的基本对的标准形式; 当基解矩阵呈非标准形式时,基于非基本对的原始变量的第一输入位置来识别表格矩阵的 第一列;当基解矩阵呈标准形式且基解矩阵的一个或更多个原始变量为负时,基于基本对 的对偶变量的第二输入位置来识别表格矩阵的第一列;以及基于表格矩阵的第一列来选择 性地更新基解矩阵。致动器模炔基于一组当前目标值中的第一者来控制发动机致动器。
[0009] 在另外的特征中,当基解矩阵呈标准形式且基解矩阵的所有原始变量为正时,MPC 模炔基于基解矩阵的输入来确定一组当前目标值。
[0010] 在另外的特征中,当基解矩阵呈标准形式且基解矩阵的所有原始变量为正时,MPC 模炔基于基解矩阵的输入来确定一组当前目标值。
[0011] 在另外的特征中,当基解矩阵呈标准形式且基解矩阵的所有原始变量为正时,MPC 模块:基于基解矩阵的输入来分别确定目标值的变化;以及通过分别将所述变化与上一组 目标值相加来确定一组当前目标值。
[0012] 在另外的特征中,当基解矩阵呈标准形式时,MPC模炔基于与绝对值最大的负原始 变量成对的对偶变量的第三输入位置来识别表格矩阵的第一列。
[0013] 在另外的特征中,MPC模炔基于以下两者之间的比值来选择性地更新基解矩阵:基 解矩阵的对偶变量和基解矩阵的原始变量中的一者;以及表格矩阵的相对应的输入。
[0014] 在另外的特征中,对于基解矩阵的每个对偶变量和原始变量,MPC模块:确定基解 矩阵的所述输入和表格矩阵的相对应的输入之间的比值;识别所述比值中的正的且最小的 一个;以及基于表格矩阵的相对应的输入的输入位置来选择性地更新基解矩阵。
[0015] 在另外的特征中,当所述比值中没有一个为正时,MPC模块指示已发生故障。
[0016] 在另外的特征中,MPC模块对于等于0的预定加权值不执行矩阵输入的矩阵相乘。
[0017] 在另外的特征中,升压致动器模炔基于一组当前目标值中的第二者来控制涡轮增 压器的废气门的开度;排气再循环(EGR)致动器模炔基于一组当前目标值中的第三者来控 制EGR阀的开度;且移相器致动器模块分别基于一组当前目标值中的第四者和第五者来控 制进气阀定相和排气阀定相。致动器模炔基于一组当前目标值中的所述一者来控制节流阀 的开度。
[0018] 在一个特征中,公开了一种车辆的发动机控制方法。所述发动机控制方法包括:基 于驾驶员输入产生火花点火发动机的第一转矩请求;将第一转矩请求转换成第二转矩请 求;使用模型预测控制(MPC)模块,所述MPC模块实施多次迭代以基于第二转矩请求、发动机 模型、表格矩阵和基解矩阵来确定一组当前目标值,每个迭代包括:确定基解矩阵:呈包括 原始变量和对偶变量的非基本对的非标准形式;还是呈包括原始变量和对偶变量的基本对 的标准形式;当基解矩阵呈非标准形式时,基于非基本对的原始变量的第一输入位置来识 别表格矩阵的第一列;当基解矩阵呈标准形式且基解矩阵的一个或更多个原始变量为负 时,基于基本对的对偶变量的第二输入位置来识别表格矩阵的第一列;以及基于表格矩阵 的第一列来选择性地更新基解矩阵。所述发动机控制方法还包括:基于一组当前目标值中 的第一者来控制发动机致动器。
[0019] 在另外的特征中,所述发动机控制方法进一步包括:当基解矩阵呈标准形式且基 解矩阵的所有原始变量为正时,基于基解矩阵的输入来确定一组当前目标值。
[0020] 在另外的特征中,所述发动机控制方法进一步包括:当基解矩阵呈标准形式且基 解矩阵的所有原始变量为正时,基于基解矩阵的输入来确定一组当前目标值。
[0021] 在另外的特征中,所述发动机控制方法进一步包括:当基解矩阵呈标准形式且基 解矩阵的所有原始变量为正时,分别基于基解矩阵的输入来确定目标值的变化;以及通过 分别将所述变化与上一组目标值相加来确定一组当前目标值。
[0022] 在另外的特征中,所述发动机控制方法进一步包括:当基解矩阵呈标准形式时,基 于与绝对值最大的负原始变量成对的对偶变量的第三输入位置来识别表格矩阵的第一列。
[0023] 在另外的特征中,所述发动机控制方法进一步包括:基于以下各者之间的比值来 选择性地更新基解矩阵:基解矩阵的对偶变量和基解矩阵的原始变量中的一者;以及表格 矩阵的相对应的输入。
[0024] 在另外的特征中,所述发动机控制方法进一步包括,对于基解矩阵的每个对偶变 量和原始变量:确定基解矩阵的所述输入和表格矩阵的相对应的输入之间的比值;识别所 述比值中的正的且最小的一个;以及基于表格矩阵的相对应的输入的输入位置来选择性地 更新基解矩阵。
[0025]在另外的特征中,所述发动机控制方法进一步包括:当所述比值中没有一个为正 时,指示已发生故障。
[0026] 在另外的特征中,所述发动机控制方法进一步包括:对于等于0的预定加权值不执 行矩阵输入的矩阵相乘。
[0027] 在另外的特征方面中,所述发动机控制方法进一步包括:基于所述一组当前目标 值中的第二者来控制涡轮增压器的废气门的开度;基于所述一组当前目标值中的第三者来 控制排气再循环(EGR)致动器阀的开度;以及分别基于所述一组当前目标值中的第四者和 第五者来控制进气阀定相和排气阀定相。
[0028] 根据本公开,其还存在以下技术方案: 1. 一种用于车辆的发动机控制系统,其包括: 转矩请求模块,其基于驾驶员输入产生火花点火发动机的第一转矩请求; 转矩转换模块,其将所述第一转矩请求转换成第二转矩请求; 模型预测控制(MPC)模块,其实施多次迭代以基于所述第二转矩请求、所述发动机的模 型、表格矩阵和基解矩阵来确定一组当前目标值,其中,在每次迭代中,所述MPC模块: 确定所述基解矩阵:呈包括原始变量和对偶变量的非基本对的非标准形式;还是呈包 括原始变量和对偶变量的基本对的标准形式; 当所述基解矩阵呈非标准形式时,基于所述非基本对的所述原始变量的第一输入位置 来识别所述表格矩阵的第一列; 当所述基解矩阵呈标准形式且所述基解矩阵的一个或更多个原始变量为负时,基于所 述基本对的对偶变量的第二输入位置来识别所述表格矩阵的所述第一列;以及 基于所述表格矩阵的所述第一列来选择性地更新所述基解矩阵;以及 致动器模块,其基于所述一组当前目标值中的第一者来控制发动机致动器。
[0029] 2.根据技术方案1所述的发动机控制系统,其中,当所述基解矩阵呈标准形式且 所述基解矩阵的所有原始变量为正时,所述MPC模炔基于所述基解矩阵的输入来确定所述 一组当前目标值。
[0030] 3.根据技术方案2所述的发动机控制系统,其中,当所述基解矩阵呈标准形式且 所述基解矩阵的所有原始变量为正时,所述MPC模炔基于所述基解矩阵的输入来确定所述 一组当前目标值。
[0031] 4.根据技术方案3所述的发动机控制系统,其中,当所述基解矩阵呈标准形式且 所述基解矩阵的所有原始变量为正时,所述MPC模块: 基于所述基解矩阵的输入来分别确定所述目标值的变化;以及 通过分别将所述变化与上一组目标值相加来确定所述一组当前目标值。
[0032] 5.根据技术方案1所述的发动机控制系统,其中,当所述基解矩阵呈标准形式时, 所述MPC模炔基于与绝对值最大的负原始变量成对的所述对偶变量的第三输入位置来识别 所述表格矩阵的所述第一列。
[0033] 6.根据技术方案1所述的发动机控制系统,其中,所述MPC模炔基于以下两者之间 的比值来选择性地更新所述基解矩阵: 所述基解矩阵的对偶变量和所述基解矩阵的原始变量中的一者;以及 所述表格矩阵的相对应的输入。
[0034] 7.根据技术方案1所述的发动机控制系统,其中,对于所述基解矩阵的每个对偶 变量和原始变量,所述MPC模块:确定所述基解矩阵的输入与所述表格矩阵的所述相对应的 输入之间的比值;识别所述比值中的正的且最小的一个;以及基于所述表格矩阵的所述相 对应的输入的所述输入位置来选择性地更新所述基解矩阵。
[0035] 8.根据技术方案7所述的发动机控制系统,其中,当所述比值中没有一个为正时, 所述MPC模块指示已发生故障。
[0036] 9.根据技术方案1所述的发动机控制系统,其中,所述MPC模块针对等于0的预定 加权值不执行矩阵输入的矩阵相乘。
[0037] 10.根据技术方案1所述的发动机控制系统,其进一步包括: 升压致动器模块,其基于所述一组当前目标值中的第二者来控制涡轮增压器的废气门 的开度; 排气再循环(EGR)致动器模块,其基于所述一组当前目标值中的第三者来控制EGR阀的 开度;以及 移相器致动器模块,其分别基于所述一组当前目标值中的第四者和第五者来控制进气 阀定相和排气阀定相, 其中,所述致动器模炔基于所述一组当前目标值中的所述一者来控制节流阀的开度。
[0038] 11. -种用于车辆的发动机控制方法,其包括: 基于驾驶员输入产生火花点火发动机的第一转矩请求; 将所述第一转矩请求转换成第二转矩请求; 使用模型预测控制(MPC)模块,所述MPC模块实施多次迭代以基于所述第二转矩请求、 所述发动机的模型、表格矩阵和基解矩阵来确定一组当前目标值,每次迭代包括: 确定所述基解矩阵:呈包括原始变量和对偶变量的非基本对的非标准形式;还是呈包 括原始变量和对偶变量的基本对的标准形式; 当所述基解矩阵呈非标准形式时,基于所述非基本对的所述原始变量的第一输入位置 来识别所述表格矩阵的第一列; 当所述基解矩阵呈标准形式且所述基解矩阵的一个或更多个原始变量为负时,基于所 述基本对的对偶变量的第二输入位置来识别所述表格矩阵的所述第一列;以及 基于所述表格矩阵的所述第一列来选择性地更新所述基解矩阵;以及 基于所述一组当前目标值中的第一者来控制发动机致动器。
[0039] 12.根据技术方案11所述的发动机控制方法,其进一步包括:当所述基解矩阵呈 标准形式且所述基解矩阵的所有原始变量为正时,基于所述基解矩阵的输入来确定所述一 组当前目标值。
[0040] 13.根据技术方案12所述的发动机控制方法,其进一步包括:当所述基解矩阵呈 标准形式且所述基解矩阵的所有原始变量为正时,基于所述基解矩阵的输入来确定所述一 组当前目标值。
[0041] 14.根据技术方案13所述的发动机控制方法,其进一步包括,当所述基解矩阵呈 标准形式且所述基解矩阵的所有原始变量为正时: 基于所述基解矩阵的输入来分别确定所述目标值的变化;以及 通过分别将所述变化与上一组目标值相加来确定所述一组当前目标值。
[0042] 15.根据技术方案11所述的发动机控制方法,其进一步包括:当所述基解矩阵呈 标准形式时,基于与绝对值最大的负原始变量成对的所述对偶变量的第三输入位置来识别 所述表格矩阵的所述第一列。
[0043] 16.根据技术方案11所述的发动机控制方法,其进一步包括:基于以下两者之间 的比值来选择性地更新所述基解矩阵: 所述基解矩阵的对偶变量和所述基解矩阵的原始变量中的一者;以及 所述表格矩阵的相对应的输入。
[0044] 17.根据技术方案11所述的发动机控制方法,其进一步包括,对于所述基解矩阵 的每个对偶变量和原始变量: 确定所述基解矩阵的输入与所述表格矩阵的所述相对应的输入之间的比值; 识别所述比值中的正的且最小的一个;以及 基于所述表格矩阵的所述相对应的输入的所述输入位置来选择性地更新所述基解矩 阵。
[0045] 18.根据技术方案17所述的发动机控制方法,其进一步包括:当所述比值中没有 一个为正时,指示已发生故障。
[0046] 19.根据技术方案11所述的发动机控制方法,其进一步包括:对于等于0的预定加 权值不执行矩阵输入的矩阵相乘。
[0047] 20.根据技术方案11所述的发动机控制方法,其进一步包括: 基于所述一组当前目标值中的第二者来控制涡轮增压器的废气门的开度; 基于所述一组当前目标值中的第三者来控制排气再循环(EGR)致动器阀;以及 分别基于所述一组当前目标值中的第四者和第五者来控制进气阀定相和排气阀定相; 以及 基于所述一组当前目标值中的所述一者来控制节流阀的开度。
[0048]本公开的另外的适用领域将从以下描述、权利要求书和附图变得显而易见。详细 描述和特定示例旨在仅用于说明的目的而并非旨在限制本公开的范围。
【附图说明】
[0049]本公开将从详细描述和附图变得更充分理解的,其中: 图1是示例发动机系统的功能性框图; 图2是示例发动机控制系统的功能性框图; 图3是示例空气控制模块的功能性框图;以及 图4是描绘求解优化问题和确定目标值的示例方法的流程图;以及 图5是描绘使用模型预测控制来控制节流阀、进气和排气阀定相、废气门和排气再循环 (EGR)阀的示例方法的流程图。
[0050] 在附图中,可重复使用附图标记来指示相似和/或相同的元件。
【具体实施方式】
[0051] 发动机控制模块(ECM)控制发动机的转矩输出。更确切地,ECM分别基于目标值来 控制发动机的致动器,该目标值是基于所请求的转矩量确定的。例如,ECM:基于目标进气和 排气移相器角度来控制进气和排气凸轮轴定相;基于目标节流阀开度来控制节流阀;基于 目标排气再循环(EGR)开度来控制EGR阀;以及基于目标废气门占空比来控制涡轮增压器的 废气门。
[0052] ECM能够使用多个单输入单输出(SIS0)控制器来分别确定目标值,例如,比例积分 微分(PID)控制器。然而,当使用多个SIS0控制器时,可设定目标值以维持系统稳定性,但这 是以可能的燃料消耗减少为代价。额外地,对单独的SIS0控制器的校准和设计会是昂贵且 耗时的。
[0053]本公开的ECM使用模型预测控制(MPC)来产生目标值。更确切地,ECM通过迭代地求 解每个控制回路的约束二次优化问题来确定最优目标值。本公开的ECM以高效计算方式来 求解优化问题。
[0054]现参考图1,呈现了示例发动机系统100的功能性框图。发动机系统100包括发动机 102,该发动机102基于来自驾驶员输入模块104的驾驶员输入使空气/燃料混合物燃烧以产 生用于车辆的驱动转矩。发动机102可以是汽油火花点火内燃发动机。
[0055] 空气经由节流阀112被吸入进气歧管110。仅举例说明,节流阀112可包括具有可旋 转叶片的蝶形阀。发动机控制模块(ECM) 114控制节流阀致动器模块116,该节流阀致动器模 块116调节节流阀112的开度以控制被吸入进气歧管110中的空气量。
[0056] 来自进气歧管110的空气被吸入发动机102的气缸中。虽然发动机102可包括多个 气缸,但是出于说明的目的示出了单个代表性气缸118。仅举例说明,发动机102可包括2、3、 4、5、6、8、10和/或12个气缸。ECM 114可命令气缸致动器模块120选择性地停用气缸中的一 些,从而可在一些发动机操作条件下改善燃料经济性。
[0057] 发动机102可使用四冲程循环来操作。可将下文所描述的四个冲程称为进气冲程、 压缩冲程、燃烧冲程和排气冲程。在曲轴的每次回转(未示出)期间,在气缸118内发生四个 冲程中的两个。因此,为使气缸118经历所有四个冲程,需要两次曲轴回转。
[0058]在进气冲程期间,来自进气歧管110的空气经由进气阀122被吸入气缸118中。ECM 114控制燃料致动器模块124,该燃料致动器模块124调节燃料喷射以达到目标空气/燃料 比。可在中心位置处或在多个位置处(例如,在每个气缸的进气阀122附近)将燃料喷射至进 气歧管110中。在各种执行(未示出)中,可将燃料直接喷射至气缸中或喷射至与气缸相关联 的混合室中。燃料致动器模块124可停止将燃料喷射到被停用的气缸。
[0059]所喷射的燃料与空气混合并且在气缸118中产生空气/燃料混合物。在压缩冲程期 间,气缸118内的活塞(未示出)压缩空气/燃料混合物。火花致动器模块126基于来自ECM 114的信号使气缸118中的火花塞128通电,其点燃空气/燃料混合物。可相对于当活塞处于 其最上位置时的时间(称为上止点(TDC))来指定火花的定时。
[0060]火花致动器模块126可通过指定在TDC之前或之后多远的定时信号来控制以产生 火花。由于活塞位置直接与曲轴旋转有关,所以火花致动器模块126的操作可与曲轴角同 步。可将产生火花称为点火事件。火花致动器模块126可具有针对每一点火事件改变火花定 时的能力。当上个点火事件与下个点火事件之间的火花定时改变时,火花致动器模块126可 针对下个点火事件改变火花定时。火花致动器模块126可停止将火花提供到被停用的气缸。 [0061 ]在燃烧冲程期间,空气/燃料混合物的燃烧驱动活塞远离TDC,由此驱动曲轴。可将 燃烧冲程限定为在活塞到达TDC的时间与活塞到达下止点(BDC)的时间之间的时间。在排气 冲程期间,活塞开始移离BDC并且经由排气阀130排出燃烧副产物。燃烧副产物经由排气系 统134从车辆排出。
[0062] 进气阀122可通过进气凸轮轴140来控制,而排气阀130可通过排气凸轮轴142来控 制。在各种执行中,多个进气凸轮轴(包括进气凸轮轴140)可控制气缸118的多个进气阀(包 括进气阀122 )和/或可控制多列气缸(包括气缸118 )的进气阀(包括进气阀122 )。类似地,多 个排气凸轮轴(包括排气凸轮轴142)可控制气缸118的多个排气阀和/或可控制多列气缸 (包括气缸118)的排气阀(包括排气阀130)。在各种其它执行中,进气阀122和/或排气阀130 可通过除凸轮轴之外的其它装置来控制,例如,无凸轮阀致动器。气缸致动器模块120可通 过禁用进气阀122和/或排气阀130的开度来停用气缸118。
[0063]当进气阀122被打开时的时间可相对于活塞TDC通过进气凸轮移相器148来改变。 当排气阀130被打开时的时间可相对于活塞TDC通过排气凸轮移相器150来改变。移相器致 动器模块158可基于来自ECM 114的信号来控制进气凸轮移相器148和排气凸轮移相器150。 当执行时,可变的阀升程(未示出)也可通过移相器致动器模块158来控制。
[0064] 发动机系统100可包括涡轮增压器,该涡轮增压器包括热涡轮机160-1,该热涡轮 机160-1由流经排气系统134的热排气供以动力。涡轮增压器还包括由涡轮机160-1驱动的 冷空气压缩机160-2。压缩机160-2压缩引入节流阀112的空气。在各种执行中,由曲轴驱动 的增压器(未示出)可压缩来自节流阀112的空气并且将压缩空气递送到进气歧管110。
[0065] 废气门162可允许排气绕过涡轮机160-1,由此减少由涡轮增压器提供的升压(进 气压缩量)。升压致动器模块164可通过控制废气门162的开度来控制涡轮增压器的升压。在 各种执行中,可执行两个或两个以上涡轮增压器,且可通过升压致动器模块164来进行控 制。
[0066] 空气冷却器(未示出)可将来自压缩空气负载的热量转移到冷却介质,例如,发动 机冷却剂或空气。可将使用发动机冷却剂来冷却压缩空气负载的空气冷却器称为中间冷却 器。可将使用空气来冷却压缩空气负载的空气冷却器称为增压空气冷却器。压缩空气负载 可(例如)经由压缩和/或从排气系统134的部件接收热量。虽然出于说明的目的被示为分开 的,但涡轮机160-1和压缩机160-2可附接至彼此,从而使进气非常接近热排气。
[0067] 发动机系统100可包括排气再循环(EGR)阀170,该EGR阀170选择性地使排气改向 返回到进气歧管110 JGR阀170可位于涡轮增压器的涡轮机160-1上游。EGR阀170可通过EGR 致动器模块172基于来自ECM 114的信号进行控制。
[0068]可使用曲轴位置传感器180来测量曲轴的位置。可基于曲轴位置来确定曲轴的旋 转速度(发动机速度)。可使用发动机冷却剂温度(ECT)传感器182来测量发动机冷却剂的温 度。ECT传感器182可位于发动机102内,或位于冷却剂进行循环所在的其它位置(例如,散热 器(未示出))处。
[0069]可使用歧管绝对压力(MAP)传感器184来测量进气歧管110内的压力。在各种执行 中,可测量发动机真空度,所述发动机真空度是环境空气压力和进气歧管110内的压力之间 的差值。可使用空气质量气流(MAF)传感器186来测量流入进气歧管110中的空气的质量流 率。在各种执行中,MAF传感器186可位于壳体中,该壳体也包括节流阀112。
[0070] 节流阀致动器模块116可使用一个或更多个节流阀位置传感器(TPS)190来监控节 流阀112的位置。可使用进气温度(IAT)传感器192来测量被吸入发动机102中的空气的环境 温度。发动机系统100也可包括一个或更多个其它传感器193,例如环境湿度传感器、一个或 更多个爆振传感器、压缩机出口压力传感器和/或节流阀入口压力传感器、废气门位置传感 器、EGR位置传感器和/或一个或更多个其它合适的传感器。ECM 114可使用来自所述传感器 的信号以做出针对发动机系统100的控制决策。
[0071] ECM 114可与变速器控制模块194通信以协调变速器(未示出)中的档位齿轮。例 如,ECM 114可在换档期间减小发动机转矩。ECM 114可与混合动力控制模块196通信以协调 发动机102和电动马达198的运行。
[0072] 电动马达198也可充当发电机,且可用于产生电能以供由车辆电气系统使用和/或 供存储于电池中。在各种执行中,ECM 114、变速器控制模块194和混合动力控制模块196的 各种功能可集成到一个或更多个模块中。
[0073] 可将改变发动机参数的每个系统称为发动机致动器。例如,节流阀致动器模块116 可调节节流阀112的开度以达到目标节流阀开度范围。火花致动器模块126控制火花塞以达 到相对于活塞TDC的目标火花定时。燃料致动器模块124控制燃料喷射器以达到目标燃料参 数。移相器致动器模块158可控制进气凸轮移相器148和排气凸轮移相器150以分别达到目 标进气和排气凸轮移相器角度。EGR致动器模块172可控制EGR阀170以达到目标EGR开度范 围。升压致动器模块164控制废气门162以达到目标废气门开度范围。气缸致动器模块120控 制汽缸停用以达到启用或停用的汽缸的目标数量。
[0074] ECM 114产生发动机致动器的目标值,以引起发动机102产生目标发动机输出转 矩。ECM 114使用模型预测控制来产生发动机致动器的目标值,如下文进一步论述的。
[0075]现参考图2,呈现了示例发动机控制系统的功能性框图。ECM 114的示例执行包括 驾驶员转矩模块202、轴转矩仲裁模块204和推进转矩仲裁模块206 ACM 114可包括混合动 力优化模块208 ACM 114还可包括储备/加载模块220、转矩请求模块224、空气控制模块 228、火花控制模块232、气缸控制模块236和燃料控制模块240。
[0076]驾驶员转矩模块202可基于来自驾驶员输入模块104的驾驶员输入255来确定驾驶 员转矩请求254。驾驶员输入255可以是基于(例如)加速器踏板的位置和制动踏板的位置。 驾驶员输入255还可以是基于巡航控制,其可以是改变车速以维持预定行车间距的自适应 性巡航控制系统。驾驶员转矩模块202可存储加速器踏板位置到目标转矩的一个或更多个 映射,且可基于这些映射中所选择的一个来确定驾驶员转矩请求254。
[0077]轴转矩仲裁模块204在驾驶员转矩请求254和其它轴转矩请求256之间进行仲裁。 轴转矩(车轮处的转矩)可由包括发动机和/或电动马达的各个源所产生。例如,轴转矩请求 256可包括当检测到正车轮滑动时由牵引控制系统所请求的转矩减小。当轴转矩克服车轮 与道路表面之间的摩擦且车轮开始在道路表面上滑动时,发生正车轮滑动。轴转矩请求256 还可包括转矩增加请求以抵消负车轮滑动,其中由于轴转矩为负所以车辆轮胎相对于道路 表面在另外方向上滑动。
[0078]轴转矩请求256还可包括制动管理请求和车辆超速转矩请求。制动管理请求可减 小轴转矩,以确保当车辆停止时轴转矩不超过制动器固持住车辆的能力。车辆超速转矩请 求可减小轴转矩以防止车辆超过预定速度。轴转矩请求256还可由车辆稳定性控制系统产 生。
[0079]轴转矩仲裁模块204基于接收到的转矩请求254和256之间的仲裁结果来输出预测 转矩请求257和即时转矩请求258。如下文所描述的,来自轴转矩仲裁模块204的预测转矩请 求257和即时转矩请求258可在用于控制发动机致动器之前通过ECM 114的其它模块进行选 择性地调节。
[0080] 通常,即时转矩请求258可以是当前所需的轴转矩的量,而预测转矩请求257可以 是在短时间内可需要的轴转矩的量。ECM 114控制发动机系统100以产生等于即时转矩请求 258的轴转矩。然而,目标值的不同组合可产生相同的轴转矩。ECM 114可由此调整目标值, 以使得能够更快速地转变到预测转矩请求257,同时仍将轴转矩维持在即时转矩请求258 处。
[0081] 在各种执行中,可基于驾驶员转矩请求254来设定预测转矩请求257。在一些情形 下,例如,当驾驶员转矩请求254正使得车轮在结冰表面上滑动时,则即时转矩请求258可设 定成小于预测转矩请求257。在此类情况下,牵引控制系统(未示出)可经由即时转矩请求 258来请求减小,且ECM 114将发动机转矩输出减小到即时转矩请求258。然而,ECM 114实施 此减小,使得在车轮滑动停止时,则发动机系统100能够快速地恢复产生预测转矩请求257。 [0082]通常,能够将即时转矩请求258和(通常更高的)预测转矩请求257之间的差值称为 转矩储备。转矩储备可表示发动机系统100能够以最小延迟开始产生的额外转矩(高于即时 转矩请求258)的量。快速发动机致动器用于以最小延迟增大或减小当前轴转矩。快速发动 机致动器被定义成与慢速发动机致动器形成对比。
[0083]通常,快速发动机致动器能够比慢速发动机致动器更快速地改变轴转矩。慢速致 动器可比快速致动器更缓慢地响应于其各目标值中的变化。例如,慢速致动器可包括响应 于目标值中的变化需要时间来从一个位置移到另外位置的机械部件。慢速致动器的特征还 可以在于当慢速致动器开始执行所改变的目标值时开始改变轴转矩所耗费的时间量。通 常,此时间量对于慢速致动器而言将大于快速致动器。另外,即使在开始改变之后,轴转矩 可需要更长时间来充分响应于慢速致动器中的变化。
[0084]仅举例说明,火花致动器模块126可以是快速致动器。火花点火发动机可通过应用 火花来燃烧包括(例如)汽油和酒精的燃料。通过对比,节流阀致动器模块116可以是慢速致 动器。
[0085]例如,如上文所描述的,当上个点火事件与下个点火事件之间的火花定时被改变 时,火花致动器模块126能够针对下个点火事件改变火花定时。通过对比,节流阀开度的变 化需要更长时间来影响发动机输出转矩。节流阀致动器模块116通过调节节流阀112的叶片 角度来改变节流阀开度。因此,当节流阀112开度的目标值改变时,因为节流阀112响应于该 改变从其先前位置移到新位置,所以存在机械延迟。另外,基于节流阀开度的气流变化受到 进气歧管110中的空气输送延迟的影响。另外,直到气缸118在下个进气冲程中接收到额外 空气,压缩该额外空气并且开始燃烧冲程,进气歧管110中增加的气流才实现为发动机输出 转矩的增加。
[0086] 将这些致动器用作示例,能够通过将节流阀开度设定到将允许发动机102产生预 测转矩请求257的值来产生转矩储备。同时,能够基于小于预测转矩请求257的即时转矩请 求258来设定火花定时。虽然节流阀开度产生足够的气流以使发动机102产生预测转矩请求 257,但火花定时基于即时转矩请求258而被延迟(其减小转矩)。发动机输出转矩因此将等 于即时转矩请求258。
[0087] 当需要额外转矩时,能够基于预测转矩请求257或在预测转矩请求257与即时转矩 请求258之间的转矩来设定火花定时。在接下来的点火事件之前,火花致动器模块126可将 火花定时返回至最优值,从而允许发动机102产生以已存在的气流可达到的完全的发动机 输出转矩。发动机输出转矩因此可快速增加到预测转矩请求257,而不经历由于改变节流阀 开度的延迟。
[0088] 轴转矩仲裁模块204可将预测转矩请求257和即时转矩请求258输出到推进转矩仲 裁模块206。在各种执行中,轴转矩仲裁模块204可将预测转矩请求257和即时转矩请求258 输出到混合动力优化模块208。
[0089]混合动力优化模块208可确定应由发动机102产生多少转矩以及应由电动马达198 产生多少转矩。然后,混合动力优化模块208分别将修改的预测转矩请求259和即时转矩请 求260输出到推进转矩仲裁模块206。在各种执行中,混合动力优化模块208可在混合动力控 制模块196中被执行。
[0090]由推进转矩仲裁模块206接收到的预测转矩请求和即时转矩请求从轴转矩域(车 轮处的转矩)转换到推进转矩域(曲轴处的转矩)中。此转换可发生在混合动力优化模块208 之前、之后,或作为其的一部分,或代替其。
[0091]推进转矩仲裁模块206在推进转矩请求290(包括经转换的预测转矩请求和即时转 矩请求)之间进行仲裁。推进转矩仲裁模块206产生经仲裁的预测转矩请求261和经仲裁的 即时转矩请求262。可通过从接收到的转矩请求当中选择获胜请求来产生经仲裁的转矩请 求261和262。可替代地或额外地,可通过基于接收到的转矩请求中的另外一个或更多个修 改接收到的请求中的一个来产生经仲裁的转矩请求。
[0092] 例如,推进转矩请求290可包括用于发动机超速保护的转矩减小、用于防止失速的 转矩增加以及由变速器控制模块194所请求的以适应换档的转矩减小。推进转矩请求290还 可由离合器燃料切断产生,其在驾驶员压下手动档车辆中的离合器踏板时减小发动机输出 转矩以防止发动机速度的突然加剧。
[0093] 推进转矩请求290还可包括发动机关闭请求,在检测到紧急故障时可引发该发动 机关闭请求。仅举例说明,紧急故障可包括:检测到车辆被盗;起动马达被卡住;电子节流阀 控制问题以及意外的转矩增加。在各种执行中,当发动机关闭请求存在时,仲裁将发动机关 闭请求选为获胜请求。当发动机关闭请求存在时,推进转矩仲裁模块206可将0输出为经仲 裁的预测转矩请求261和即时转矩请求262。
[0094]在各种执行中,发动机关闭请求仅可独立于仲裁过程而关掉发动机102。推进转矩 仲裁模块206可仍接收发动机关闭请求,使得能够将(例如)适当的数据反馈到其它转矩请 求器。例如,可通知所有其它转矩请求器其已输掉仲裁。
[0095]储备/加载模块220接收经仲裁的预测转矩请求261和即时转矩请求262。储备/加 载模块220可调整经仲裁的预测转矩请求261和即时转矩请求262以产生转矩储备和/或补 偿一个或更多个负载。于是储备/加载模块220将经调整的预测转矩请求263和即时转矩请 求264输出到转矩请求模块224。
[0096] 仅举例说明,催化转换器起燃过程或冷起动减排过程可需要延迟的火花定时。储 备/加载模块220因此可将经调整的预测转矩请求263增加到高于经调整的即时转矩请求 264,以产生用于冷起动减排过程的延迟的火花。在另外示例中,可直接改变发动机的空气/ 燃料比和/或空气质量流量,例如通过诊断介入当量比测试和/或新发动机净化。在开始这 些过程之前,可产生或增加转矩储备以快速补偿由在这些过程期间缺乏空气/燃料混合物 产生的发动机输出转矩的减小。
[0097] 在预计到将来的负载的情况下,例如,动力转向栗操作或空调(A/C)压缩机离合器 的接合,储备/加载模块220还可产生或增加转矩储备。当驾驶员首先请求空气调节时,可产 生用于A/C压缩机离合器的接合的储备。储备/加载模块220可增大经调整的预测转矩请求 263,同时使经调整的即时转矩请求264不变以产生转矩储备。然后,当A/C压缩机离合器接 合时,储备/加载模块220可使经调整的即时转矩请求264增加 A/C压缩机离合器的估计负 载。
[0098]转矩请求模块224接收经调整的预测转矩请求263和即时转矩请求264。转矩请求 模块224确定将如何达到经调整的预测转矩请求263和即时转矩请求264。转矩请求模块224 可以是根据发动机类型所特定的。例如,转矩请求模块224可以不同方式执行,或针对火花 点火发动机与压缩点火发动机使用不同控制方案。
[0099]在各种执行中,转矩请求模块224可限定在所有发动机类型中普遍的模块与根据 发动机类型所特定的模块之间的分界。例如,发动机类型可包括火花点火类型和压缩点火 类型。在转矩请求模块224之前的模块(例如,推进转矩仲裁模块206)在发动机类型中可以 是普遍的,而转矩请求模块224和后续模块可以是根据发动机类型所特定的。
[0100]转矩请求模块224基于经调整的预测转矩请求263和即时转矩请求264来确定空气 转矩请求265。空气转矩请求265可以是制动转矩。制动转矩可指在当前操作条件下曲轴处 的转矩。
[0101] 基于空气转矩请求265来确定气流控制发动机致动器的目标值。更确切地,基于空 气转矩请求265,空气控制模块228确定目标废气门开度范围266、目标节流阀开度范围267、 目标EGR开度范围268、目标进气凸轮移相器角度269和目标排气凸轮移相器角度270。空气 控制模块228使用模型预测控制来确定目标废气门开度范围266、目标节流阀开度范围267、 目标EGR开度范围268、目标进气凸轮移相器角度269和目标排气凸轮移相器角度270,如下 文进一步论述的。
[0102] 升压致动器模块164控制废气门162以达到目标废气门开度范围266。例如,第一转 换模块272可将目标废气门开度范围266转换成待应用至废气门162的目标占空比274,且升 压致动器模块164可基于目标占空比274将信号应用至废气门162。在各种执行中,第一转换 模块272可将目标废气门开度范围266转换成目标废气门位置(未示出),且将目标废气门位 置转换成目标占空比274。
[0103] 节流阀致动器模块116控制节流阀112以达到目标节流阀开度范围267。例如,第二 转换模块276可将目标节流阀开度范围267转换成待应用至节流阀112的目标占空比278,且 节流阀致动器模块116可基于目标占空比278将信号应用至节流阀112。在各种执行中,第二 转换模块276可将目标节流阀开度范围267转换成目标节流阀位置(未示出),且将目标节流 阀位置转换成目标占空比278。
[0104] EGR致动器模块172控制EGR阀170以达到目标EGR开度范围268。例如,第三转换模 块280可将目标EGR开度范围268转换成待应用至EGR阀170的目标占空比282,且EGR致动器 模块172可基于目标占空比282将信号应用至EGR阀170。在各种执行中,第三转换模块280可 将目标EGR开度范围268转换成目标EGR位置(未示出),且将目标EGR位置转换成目标占空比 282〇
[0105] 移相器致动器模块158控制进气凸轮移相器148以达到目标进气凸轮移相器角度 269。 移相器致动器模块158还控制排气凸轮移相器150以达到目标排气凸轮移相器角度 270。 在各种执行中,可包括第四转换模块(未示出),且其可分别将目标进气和排气凸轮移 相器角度转换成目标进气和排气占空比。移相器致动器模块158可分别将目标进气和排气 占空比应用到进气凸轮移相器148和排气凸轮移相器150。在各种执行中,空气控制模块228 可确定目标重叠因子和目标有效位移,且移相器致动器模块158可控制进气凸轮移相器148 和排气凸轮移相器150以达到目标重叠因子和目标有效位移。
[0106] 转矩请求模块224还可基于预测转矩请求263和即时转矩请求264来产生火花转矩 请求283、气缸关闭转矩请求284和燃料转矩请求285。火花控制模块232可基于火花转矩请 求283确定使火花定时(其减小发动机输出转矩)从最优火花定时延迟多久。仅举例说明,可 反转转矩关系以求解目标火花定时286。对于给定的转矩请求(T Re3q)而言,可基于下式来确 定目标火花定时(ST)28R·
其中APC是APC(每气缸空气),I是进气阀定相值,E是排气阀定相值,AF是空气/燃料比, 0T是油温度,且#是启用的气缸数量。此关系可体现为方程和/或查找表。空气/燃料比(A/F) 可以是如由燃料控制模块240所报告的实际空气/燃料比。
[0107] 当将火花定时设定到最优火花定时时,所产生转矩可尽可能地接近最优转矩的最 小点火提前(MBT火花定时)。最优转矩是指,在使用辛烷值大于预定辛烷值的燃料且使用化 学计量比加燃料的情况下,在火花定时提前时,针对给定空气流所产生的最大发动机输出 转矩。将发生此最优转矩的火花定时称为MBT火花定时。最优火花定时可由于(例如)燃料品 质(例如,当使用更低辛烷值燃料时)和环境因素(例如,环境湿度和温度)而略微不同于MBT 火花定时。因此,最优火花定时处的发动机输出转矩可小于MBT。仅举例说明,可在车辆设计 的校准阶段期间确定对应于不同发动机操作条件的最优火花定时的表,且基于当前发动机 操作条件从所述表确定最优值。
[0108] 可由气缸控制模块236使用气缸关闭转矩请求284以确定待停用气缸的目标数量 287。在各种执行中,可使用待启用的气缸的目标数量。气缸致动器模块120基于目标数量 287来选择性地启用和停用气缸的阀。
[0109] 气缸控制模块236还可命令燃料控制模块240停止为停用的气缸提供燃料,且可命 令火花控制模块232停止为停用的气缸提供火花。当已经存在于气缸中的燃料/空气混合物 已经燃烧时,则火花控制模块232可停止将火花提供到气缸。
[0110] 燃料控制模块240可基于燃料转矩请求285来改变提供到每个气缸的燃料量。更确 切地,燃料控制模块240可基于燃料转矩请求285来产生目标燃料参数288。目标燃料参数 288可包括(例如)燃料的目标质量、目标喷射开始定时和目标燃料喷射次数。
[0111]在正常操作期间,燃料控制模块240可以空气主导模式操作,在该空气主导模式 中,燃料控制模块240试图通过基于气流控制加燃料来维持化学计量的空气/燃料比。例如, 燃料控制模块240可确定在与每缸空气(APC)的当前质量组合时将产生化学计量比燃烧的 目标燃料质量。
[0112] 图3是空气控制模块228的示例执行的功能性框图。现参考图2和图3,如上文所论 述的,空气转矩请求265可以是制动转矩。转矩转换模块304将空气转矩请求265从制动转矩 转换成基础转矩(base torque)。由转换成基础转矩产生的转矩请求将称作基础空气转矩 请求308。
[0113] 基础转矩可指,在发动机102是热的且附件(例如,交流发电机和A/C压缩机)未将 转矩负载强加于发动机102上的情况下,在发动机102操作期间在测力计上产生的曲轴处的 转矩。转矩转换模块304可(例如)使用使制动转矩与基础转矩相关联的映射或函数将空气 转矩请求265转换成基础空气转矩请求308。在各种执行中,转矩转换模块304可将空气转矩 请求265转换成另外的合适类型的转矩(例如,指示转矩)。指示转矩可指曲轴处的可由于经 由气缸内的燃烧所产生的功的转矩。
[0114] MPC模块312使用MPC(模型预测控制)来产生目标值266-270以达到基础空气转矩 请求308 JPC模块312包括状态估计器模块316和优化模块320。
[0115] 状态估计器模块316基于发动机102的数学模型、来自先前(例如,上个)控制回路 的发动机状态及来自先前控制回路的目标值266-270来确定控制回路的状态。例如,状态估 计器模块316可基于以下关系式来确定控制回路的状态:
其中k是第k个控制回路,x(k)是具有指示第k个控制回路的发动机102状态的输入的向 量,x(k-l)是来自第k-Ι个控制回路的向量x(k),A是包括基于发动机102的特征所校准的常 数值的矩阵,B是包括基于发动机102的特征所校准的常数值的矩阵,u(k-l)是包括在上个 控制回路期间所使用的目标值266-270的输入的向量,y(k)是向量x(k)的线性组合,C是包 括基于发动机102的特征所校准的常数值的矩阵,B v是包括基于发动机的特征所校准的常 数值的矩阵,且ν是包括测量扰动的矩阵。测量扰动模型包括影响发动机行为但无法直接操 纵的参数,例如环境压力和/或温度。可基于这些参数的测量或估计值(由反馈输入330-起 图示出)来调节状态参数中的一个或更多个。状态估计器模块316可(例如)使用卡尔曼滤波 器或另外的合适类型的状态估计器来确定状态。
[0116] 由MPC模块312实施的功能通常能够描述如下。对于k=l,……,N(N是大于1的整 数),其实现: (1)使用以上方程和反馈输入330来获得在k时刻的发动机102状态的估计值; (2)计算对于k时刻的目标值266-270的最优值,以最小化在从k时刻到将来的k+p时刻 的周期期间的成本函数;以及 (3 )将目标值266-270设定成仅对于k+Ι时刻所计算的最优值。然后,针对下个控制回路 返回到(1)。
[0117] k时刻和k+p时刻之间的周期是指预测时域。
[0118] 成本函数是在每个控制回路在预测时域范围内所定义的最优控制问题中待最小 化的性能准则。此函数反映所需的控制目标。其可以是(例如)对应于跟踪误差的不同项的 和,例如针对用于跟踪一些参考位置的操纵变量的
,针对用于跟踪 一些所需的设定点值的控制变量
,控制效果(例如,
或
)以及用于约束违反的惩罚项。更通常地,成本函数取决于操纵变量u、来自上 个控制回路的操纵变量的变化Δ u、控制变量y和约束违反惩罚变量C。可将目标值266-270 称为操纵变量且其由变量u表示。可将预测参数称为控制变量且其可由变量y表示。
[0119] 致动器约束模块360(图2)可设定目标值266-270的致动器约束348。例如,致动器 约束模块360可设定对于节流阀112的致动器约束、对于EGR阀170的致动器约束、对于废气 门162的致动器约束、对于进气凸轮移相器148的致动器约束和对于排气凸轮移相器150的 致动器约束。
[0120]对于目标值266-270的致动器约束348可包括相关联目标值的最大值和此目标值 的最小值。通常,致动器约束模块360可将致动器约束348设定成相关联致动器的预定操作 范围。更确切地,通常,致动器约束模块360可分别将致动器约束348设定成对于节流阀112、 EGR阀170、废气门162、进气凸轮移相器148和排气凸轮移相器150的预定操作范围。然而,在 一些情形下,致动器约束模块360可选择性地调节致动器约束348中的一个或更多个。
[0121] 输出约束模块364(图2)可设定对于控制变量(y)的输出约束352。对于控制变量的 输出约束352可包括此控制变量的最大值和此控制变量的最小值。通常,输出约束模块364 可分别将输出约束352设定成相关联控制变量的预定范围。然而,在一些情形下,输出约束 模块364可改变输出约束352中的一个或更多个。
[0122] 参考模块368(图2)分别产生对于目标值266-270的参考值356。参考值356包括对 于目标值266-270中的每者的参考。换言之,参考值356包括参考废气门开度范围、参考节流 阀开度范围、参考EGR开度范围、参考进气凸轮移相器角度和参考排气凸轮移相器角度。参 考模块368可(例如)基于空气转矩请求265、基础空气转矩请求308和/或一个或更多个其它 合适参数来确定参考值356。
[0123] 优化模块320使用Dantzig二次规划(QP)求解器来确定目标值266-270<^Ρ求解器 在不等式约束下使用二次成本函数来求解优化问题。例如,如果向量
表示一些优化变量,则能够将X的二次函数表示为以下形式:
其中,Q是η χ η常数的对称正定矩阵,Constant是常数值,且
h对于每个控制回路是恒定的向量,但能够根据不同的控制回路而变化。线性约束呈以 下形式:
其中C是常数矩阵,且b对于每个控制回路是恒定的向量,但能够根据不同的控制回路 而变化。
[0124] 将依据nu和ny来描述下文,nu是指目标值的数量(例如,在以上示例中为5个),且n y 是指控制变量的数量。
其中i是在1和nu之间的整数。
[0125] 能够将待求解的控制问题写成以下形成: 在以下约束下:
其中,加 h言所描沭的,
同时满足
[0126] WAU、WU和Wy为正的预定加权值。VAu、VU和Vy为大于或等于〇的预定软约束值。可将预 定约束值设定成0,(例如)以引起对相应参数的硬约束。具有下标min和max的值表示相应参 数的上限约束和下限约束。
[0127] 能够将操纵变量u或操纵变量变化Δ u用作待优化(经由优化问题)的值。将依据操 纵变量变化Διι是待优化的值来描述以下示例。基于以上方程(1)和(2)以及归纳法:
[0129]依据Δ u进行重写得到:
其中u(l)是包括前一个控制回路的目标值的矩阵,且x(0)是包括当前控制回路的状态 参数的矩阵,该状态参数是由状态估计器模块316所提供。
[0130]为了简化记录,定义
[0131]然后,
[0132] 为了减小优化问题的大小,优化模块320应用阻断-移动(blocking-move)技术。假 设η。是自由控制移动(free control move)的数量。假设Jm是对应于AU的给定阻断移动结 构的矩阵。于是,Jm是大小为pnu X η。的矩阵,其仅包括η。识别适当位置和0处的Inu。假设z是 新的优化变量(所有自由移动变量)。于是通过构造下式: ΔΙ.? 二:。
[0133] 使用z,能够将方程(6)重写为:
依据上文所提供的成本函数,
是包括加权值的矩阵。为了简化记录,
[0134] 在这些矩阵中,对角块的数量等于预测时域的长度。
[0135] 使用此记法,可以将成本函数重写为:
〇
[0136] 从成本函数移除所有常数项并依据Δ 1]和:€来表示J,
[0140]由于这些定义,能够将成本函数重写为:
[0141] 能够按如下来重写约束和所述约束的满足。
[0142] 从方程(5)和(6),能够获得下式:
[0143] 使用以下定义:
[0144] 在Mz矩阵中,通过移除对应于被阻断至0的所有Δ us的0的所有行,能够将块
其中Iz表示大小为z的单位矩阵。类似地,也通过移除不必要的行来缩减其它Μ矩阵。能 够针对以下块执行对应于致动器约束的类似缩减:
[0145] 预测参数(y值)在整个预测时域范围内受到约束。然而,有可能在强加输出约束的 预测时域范围内挑选特定时间步。在此情况下,%矩阵中仅保持对应于以下块中的这些时 间步的行:
且相应地通过移除不必要的行来修改所有其它Μ矩阵。
[0146] 矩阵和籍以及向量紙和对于给定线性模型而言不变。向量 和(Μ当前)取决于由状态估计器模块316所估计的当前状态以及来自上个控制回路 (即,最近控制动作)的目标值266-270,且在由优化模块320用来确定当前控制回路的目标 值266-270之前对于每个控制回路进行更新。
[0147] 使用这些记录,能够将在每个控制回路由优化模块320求解的QP问题重写为:
[0148] 以上优化问题具有以下形式,其在以下约束下:
[0149] 上标Τ的使用表示转置使用。
[0150] 根据Karush-Kuhn-Tucker(KKT)定理,当且仅当存在;f备聰声时,?蹲1是QP 问题的唯一解,使得:
[0151] 上文中,(ii)涉及原始和对偶约束满足,且(iii)涉及互补性。可将X称为原始变 量。可将λ称为拉格朗日乘子或对偶变量。对于收到约束的QP优化问题而言,最优解包括原 始变量和对偶变量的最优对。
[0152]能够引入新的变量y,其中
[0158] I是单位矩阵。
[0159] 因此能够使用以下方程来确定;:
[0160] 可将求解满足条件(i)到(iii)的最优对pil+l的求解器称为对偶求解器。优化 模块320包括对偶求解器且求解如上文所描述的最优
[0161 ] 尤?包括对应于来自前一个控制回路(例如,k_l)的目标值266-270的变化的最优 值。优化模块320分别基于的值来调节来自前一个控制回路的目标值266-270,以产生 当前控制回路的目标值266-270用于控制相应的致动器。仅举例说明,优化模块320可分别 将目标值266-270与尤> 的值相加,以产生用于当前控制回路的目标值266-270。这些目标 值266-270将用于控制相应的致动器。
[0162] 能够将以上重写为:
其中钕w :ss..|Sir.4. s?:暴以及會怒義.其中辦.和议是在.徽爾中。A是已知的m x m正 矩阵,且向量是已知的。
[0163] 可将找到满足上式的(w,u)的问题称为线性互补问题(LCP)且通过优化模块320 来求解。具体而言,可由Dantzig QP求解器来使用此形式。对称矩阵Α和向量q包括预定数 据。可将A矩阵称为表格。表格的大小影响产生目标值266-270所需要的计算数量。
[0164] 在关系式(12)中,LCP(w和u)中存在2n个未知数,且存在η个线性方程。为了确定w 和u,此外还需要η个方程。以更简单的方式写出关系式(12)的条件,我们得到:
[0165] 这意味着对于(i=l......因此,在w和u的所有2n个分量当中存在至 少η个(LDantzig QP求解器以迭代方式确定对于w和u的零分量以及非零分量的正确组合, 使得关系式(12)和其条件同时得到满足。
[0166] 应用于LCP的Dantzig QP求解器是用于线性规划的单纯形求解器的扩展。关系式 (12)具有至多η个非零分量。关系式(12)的基本解仅为在求解过程中由于关系式(12)的条 件而需要加以考虑的那些基本解。对于给定的基本解而言,可将具有非零值的所有分量称 为基本变量。
[0167] 基本原始可行解是所有原始变量为非负的基本解。基本对偶可行解是所有对偶变 量为非负的基本解。如果没有一对对应的w分量和u分量包括两个非零兀素,则可称基本可 行解呈标准形式。在标准形式中,每对(Wi, Ui)的恰好一个元素是零(i=l,···,m)。如果基本 可行解呈标准形式,则也可称相对应表格呈标准形式。如果基本可行解不呈标准形式(即, 其具有数对的每对( Wl,m),使得两个分量为零或两个均为非零),则可称其呈非标准形式。
[0168] 现将使用以下变量。N是指约束变量w的数量,且等于nuNUC是无约束变量的数量, 且在此示例中可等于LBV是基本变量的值的向量,且由优化模块320以迭代方式确定并且 初始化至BV=q。
[0169] IB是对于u的大小为N的索引向量。如果IB(I)>0,则町是基本变量且WI=BV(IB(I))。 如果IB(I )〈0,则们是非基本变量且町=0,并且-IB(I)是它在表格A中的列数。IL是对于w的大 小为N的索引向量。如果IL(I)>0,则m是基本变量且 UI=BV(IB(I))。如果ΙΒ(Ι)〈0,则m是非 基本变量且w=0,并且-IB(I)是它在表格A中的列数。A是初始表格且其通过优化模块320以 迭代方式进行修改。
[0170] IRET是指示优化已终止的返回值。IRET>0指示已找到最优解,且IRET指示用于获 得最优解的迭代次数。IRET=-I指示在初始BV的w变量中的不可行分量的索引。IRET=-3N指 示不可能从基移除变量。不应出现IRET=-I和IRET=-3N。
[0171]通常而言,优化模块320以迭代方式修改关系式(12)的基本解,以便在有限的迭代 数量中找到满足关系式(12)以及满足关系式(12)的条件的一个基本解。
[0172]关系式(12)的一个解是《=(1和1!=0。在此情况下,满足关系式(12)的所有条件,但 W泛0.除外。如果q的所有分量均为正,则优化模块320停止并且已找到最优解。否则,优化 模块320执行一次或更多次另外的迭代。使用以上术语,使基本解初始化至预定基本解:
且基本变量为w的分量。如果q具有至少一个负分量,则此基本解是唯一的对偶可行解。 根据索引向量IL和IB的以上定义,最初, 对于(i=l,···,111),1以;〇=1,且 IB=-IL〇
[0173] 假设表格、/? = ζ/,Μ;)是表格,且h是当前步骤下的右乘矩阵,相对应的基本解 由下式表示:
其中ZB和ZN分别是基本变量和非基本变量。显然,ZB=h,且根据定义ZN=0,其中在初始化 时 Μ 且 h=q。
[0174] 假设減以和h+分别是表格和在下次迭代的右乘矩阵。现将解释优化模块 320如何从进行到和h+。
[0175] 其中Ei和Mi分别表示I和Μ的第i列。所进行的一次迭代如下: (i)根据一些规则(确定1C和IR),选择Μ中的1C列和I中的IR列并交换这两个列,使得
[0176] (ii)通过主元消元(pivoting)求解,即,通过对i和h进行运算以获得:
[0177] 然后,确定进入基和离开基的变量。当提及非基本变量应进入基时,其意指,对应 于表格中的此变量的列应代替对应于基本变量的一列。当提及基本变量应离开基时,其意 指,对应于表格中的此变量的列应由对应于应进入基的非基本变量的一列来代替。
[0178] 如果表呈标准形式,则非基本u变量应进入基,使得对应的w变量具有h中的绝对值 最大的负值。如果表格呈非标准形式,且(Wl,m)为非基本对,然后化应进入基。假设Μκ是表 格的待进入基的列,且h是基本变量的当前值。计算所有基本u变量与对应于主要变量(所述 主要变量与将进入基的U变量相关联)的变量的比值hi/Mi,K。删除对应于最小正比值的变 量。
[0179]关于主元消元,如果使j左乘Γ1,则我们将获得以下单位块:
[0181 ]优化模块320根据关系式(13)来更新表格和基本解。
[0182] 然而,需要计算由下式给出:
[0183] 优化模块320验证:
[0184] 主元消元会是由优化模块320为获得最优解所执行的(计算上)最耗时的运算。相 对于用于执行主元消元的计算时间,Dantzig QP求解器的所有其它运算的时间可忽略。
[0185] 假设g是大小为N的向量,且假设E(i,g)是通过用g代替单位矩阵的第i列所获得 的矩阵,使得
[0186] 可将E(i,g)称为初等矩阵。由于以上所述,P和F1也是单位矩阵。
[0187] 假设a是大小为N的仵何向量,
[0188] 由于以上所述,显然,所执行的用于计算E(i,g)a的运算次数与N线性地成比例, 而计算通用矩阵-向量积所需的运算次数与向量大小的平方成比例。
[0189] 如上文所描述,假设(IR,IC)是主元消元的位置,将在每次迭代时执行以下矩阵相 乘:
[0190] 然而,又如上文所陈述,仅需要基本变量的值来确定IC(即,不需要来自表格的信 息),且在确定1C之后,仅表格的第1C列需要进行更新,以便执行剩余的迭代以确定IR。
[0191] 例如,在一控制回路期间的η次迭代时,已基于基本变量的更新值确定了索引1C。 问题于是在于,如何在先前的n-Ι次迭代期间更新初始表格的第1C列。假设 是在先前的n-Ι次迭代期间所使用的初等(左手侧)矩阵,其均呈E(IRk, gk)的形式,其中IRk是在k次迭代时所选择的主元行,且gk是在k次迭代时从主元列所获得的 列向量。假设gn是表格的第1C列在当前迭代时应达到的值。在第一种情况下,在目前控制回 路的先前迭代中还没有选择表格的第1C列。在此情况下,假设go是初始表格的第1C列:
其与(n-l)N成比例。在第二种情况下,在目前控制回路的前一个迭代中选择了表格的 第1C列。在此情况下,假设k是使用第1C列的上一次迭代,且假设IRk是在此迭代时所选择的 行的索引,第1C列需要通过EIrk=(0,. . .,0,1,0,. . .,的仅等于1的分 量相关联,使得
[0192] 对于一些gk而言,具有E(IRk,gk)的形式。因此,我们得到:
[0193] 此外, 其与n-1-k(N)成比例。
[0194] 由于以上内容,在η次迭代时的所需计算次数至多与(n-l)N成比例。因此,对于η次 迭代的总运行时间与下式成比例:
[0195] 如果对于每次迭代执行全矩阵相乘,则总的运行时间将是ηΝ2。上式与ηΝ2的比值接 近η/2Ν。因此,通过优化模块320实现了计算效率改进(以每次迭代实施更少计算的方式)。
[0196] 图4是流程图,其描绘一种求解优化问题和确定目标值266-270的示例方法。控制 回路始于404,在404处,优化模块320初始化,从而将初始基本解BV设定成预定初始基本解: 且将基本变量设定成w的分量。
[0197] 在408处,优化模块320确定初始基本解是否为对偶可行解。预定的初始基本解是 对偶可行解。因此,如果初始基本解BV在408处不是对偶可行解,则优化模块320在410处指 示已发生故障且将IRET设定成指示初始基本解BV不是对偶可行解的第一预定值(例如,-I)。如果408为真,则控制继续至412。
[0198] 在412处,优化模块320确定基本解BV是否呈标准形式。如果基本解BV在412处不呈 标准形式,则控制继续至416。优化模块320在416处将列位置索引1C保存在非基本对的原始 变量的表格中,且控制继续至436,如下文进一步论述的。此变量(及因此其在表格中的列) 将对于下次迭代进入基。如果基本解BV在412处呈标准形式,则控制继续至420。
[0199] 在420处,优化模块320确定基本解BV的所有原始变量是否均为正。如果所有原始 变量在420处均为正,则已求解优化问题,且控制继续至424。在424处,优化模块424指示求 解目前控制回路的优化问题所需的迭代次数。d向量于是包括λ*值,这些λ*值用于确定X* 值,如上文所描述的。所述X*值分别是目标266-270的Δ值。优化模块320将目前控制回路的 目标值266-270设定成等于来自前一个控制回路的目标值266-270分别加上所述Δ值的和。 这些(更新的)目标值266-270将用于控制当前控制回路的致动器。
[0200]如果基本解BV的原始变量中的一个或更多个在420处为负,则还没有求解优化问 题,且控制继续至428。在428处,优化模块320识别基本解BV的绝对值最大的负(most negative)原始变量。优化模块320在432处将相对应的对偶变量的列位置索引1C保存在表 格中。此变量(及因此其在表格中的列)将对于下次迭代进入基。控制接着继续至436。
[0201] 在436(始于432或者416)处,对于对应于所识别的基本对偶变量和原始变量的每 个分量,优化模块320确定(目前)基本解BV的分量与表格的1C列的相对应分量之间的比值。 在440处,优化模块320确定所确定的比值中的一个或更多个是否为正。如果440为假,则优 化模块320在444处指示已发生故障且将IRET设定到指示无法从基移除变量的第二预定值 (例如,-3N)。如果440为真,则控制继续至448。
[0202]在448处,优化模块320识别所确定的比值中的正的且最小的一个。在452处,优化 模块320将列位置索引IR存储在表格中。此变量(及因此其在表格中的列)将对于下次迭代 离开基。在456处,优化模块对于下次迭代更新表格A和基本解BV,且控制返回到412以开始 目前控制回路的下次迭代。可针对每个控制回路执行图4的示例。
[0203]如上文所陈述的,优化问题具有以下形式,其在C'X S d的约束下使得下式最小: 样%:。在对偶表示中问题的表格和初始基分别由下式给出:
[0204]能够确定最优原始变量X*如下:
其中λ*是最优对偶变量。
[0205] 假设sx是η X η可逆矩阵,且sc是具有严格正对角输入的m X m对角矩阵,能够将优 化问题重与为:在乙无 g c:|的约束下,使得下式最小化:
其中
。这是X的变化和约束的缩放。在 此情况下,优化问题的表格和初始基由下式给出:
^ 〇
[0206] 假设无#和是优化问题的最优原始变量和对偶变量。
[0209]缩放约束相当于缩放对偶变量。为了改进数值稳定性,优化模块320缩放&矩阵:
[0210] 该缩放使可能值的范围变窄,由此改进优化结果的准确度。
[0211] MPC的一个特征是预期未来事件并相应地调节控制动作的能力。这通过求解一系 列受约束的QP问题来获得。MPC能否在嵌入式控制器上成功地实施强烈取决于能够处理这 些优化问题中所需的数据的良好程度如何。
[0212] 如上文所论述,Dantzig QP求解器用于求解QP问题。Dantzig QP求解器操纵称作 表格的大矩阵,所述表格包括大量输入(例如,几千个)以便求解QP问题并找到最优解。所述 表格存储在ROM(只读存储器)中。在每个控制回路调用Dantzig QP求解器以求解新的一组 QP问题,所述QP问题取决于系统的当前状态和约束。为了更新成本函数和约束,也可将几个 大矩阵存储在ROM中。
[0213]包括整个表格的所有矩阵能够保存在ROM中并加以复制以供在调用Dantzig QP求 解器之前使用。由于这些矩阵的大小,存储器需要大的存储空间,且存储器复制是耗时的。 这些属性会影响MPC的性能且甚至影响可执行性。
[0214]然而,本申请实现了 ROM使用的缩减少。表格是对称矩阵。因此,表格矩阵的仅包括 对角线的下三角形部分需要保存在ROM中,如果表格是m X m的大小,则该下三角形部分总 共具有m*(m+l)/2个输入,而不是m*m个输入。在复制下三角形部分的同时,矩阵的上三角形 部分由在线的MPC模块312使用对称性来构建。
[0215]由于使用对称性,所以通过将大小为m*(m+l)/2的向量V2的元素复制到大小为m*m 的向量VI中的正确位置中并使用对称性完成VI的缺失输入来从所述向量V2构建所述向量 VI。如果V2以标准方式(例如,使用堆叠列)存储并被复制到VI中以占据最初的m*(m+l)/2个 位置,则仅m个最初输入位于正确位置处,且剩余的m*(m-l)/2个元素需要移到其正确位置。 在本申请中,V2以非标准方式存储,使得在将V2复制到VI中时待移动的元素数量最小化。 [0216]如上文所陈述的,V2对应于表格矩阵的下三角形部分。此直角三角形可称为大三 角形。概念是垂直"切割"的大三角以获得左边的直角梯形和右边的小直角三角形,接着将 小三角形旋转180度并将其置于梯形顶部以形成矩形。然后以标准方式存储此矩形矩阵。能 够示出,如果使用此结构来保存V2,则仅需要移动)/8个元素,而不是m*(m-l )/2个元 素。
[0217] -些矩阵被用于更新成本函数的线性部分。更确切地,Kut和Kr是用于在每个控制 回路更新成本函数中的线性项的两个大矩阵。利用其特殊结构以达到ROM缩减。
[0218] Kut与输入信号的参考值的矩阵积有助于更新成本函数。通过直接使参考值与其相 对应的加权参数相乘,能够更有效得多地获得积结果。根据本申请,K ut矩阵不存储在ROM中 且不执行与〇的不必要的相乘。基于一个或更多个其它矩阵来构建Kut矩阵。
[0219]还需要Kr与输出信号的参考值的矩阵积以更新成本函数。Kr矩阵具有块结构,且是 通过由对应的输出跟踪加权参数缩放另外矩阵的行所构建(与存储在ROM中相反)。因此,如 果某个输出信号的跟踪权值为〇,则在预测时域范围内K r中的相对应的行也等于0。因此,不 必存储这些行。
[0220] -些矩阵被用于更新约束。在每个控制回路待求解的QP问题的约束取决于系统的 当前状态、先前应用的输入信号以及在预测时域范围内的预期的测量扰动信号。因此,三个 大矩阵Mx、Mul和Mv被存储在ROM中并在每个控制回路用于更新。通过利用以下结构来实现 ROM缩减:所有三个这些矩阵被结构化为对应于混合约束、输出约束、输入约束和输入速率 约束的四个行块(row block)。对应于输入约束和输入速率约束的所有块行能够被有效地 恢复(由MPC模块312构建)并且不存储在ROM中。对应于输入速率约束的所有行均为0。对应 于输入约束的所有行含有〇(M x和Μν)或者单位矩阵(Mul)的块。如果输出信号具有下边界约 束和上边界约束两者,则在这三个矩阵中其对应行仅相差一负号。因此,至多仅对应于输出 约束的行的一半需要存储在ROM中。
[0221] 如果加权值中的一个或更多个改变,则修改上文所论述的K矩阵。如上文所描述 的,
[0222] 不必构建Kut矩阵。相关的是,其是块大小为p X η。的块-行矩阵。如果块 移动结构是(Ρ1,ρ2, . . .,pnc),则第i块位置等于:
[0223]又如上文所描述的,
[0224]使SuJm左乘Wy2对应于S ujJ^行缩放。通过不使行缩放0(相当于忽略掉具有0加权值 的所有y)获得计算效率。
[0225] 可构建矩阵Mz、Mx、Mul和Μ ν,和/或将其存储在存储器中。可存储MZKZ」而非Mz。如果 加权值实时地改变,则可存储M z。通常,需要存储的Μ矩阵的行的数量仅取决于y个约束的数 量而不是约束的总数。
[0226] 依据Mx矩阵,
因此能够仅存储对应于约束y值的Sx的行。因此,通过计算MxX(o)来实时更新矩阵,其 中X (0)表示由状态估计器模块316提供的当前状态。连同一系列乘以0的乘法,能够执行Sxx (〇)-次,而不是两次。
[0227] 关于Mul矩阵,
/
[0228] 与Mx矩阵类似,对于Mul能够仅存储Sul。当计算M ulu(_l)(其中u(_l)表示前一个控 制回路的目标值)时,能够仅计算Sul(_l)-次,即:
[0229] 关于Mv矩阵,
[0230]对此而言,能够仅存储:
[0231]假设:
产生:
[0232] 现参考图5,呈现了流程图,其描绘一种估计操作参数并使用MPC(模型预测控制) 来控制节流阀112、进气凸轮移相器148、排气凸轮移相器150、废气门162(及因此涡轮增压 器)和EGR阀170的示例方法。控制可从504开始,在504处,转矩请求模块224基于经调节的预 测转矩请求263和即时转矩请求264来确定空气转矩请求265。在508处,转矩转换模块304可 将空气转矩请求265转换成基础空气转矩请求308或另外合适类型的转矩以供由MPC模块 312使用。在512处,状态估计器模块316确定当前控制回路的发动机102状态,如上文所描述 的。状态估计器模块316可(例如)使用卡尔曼滤波器来确定状态。
[0233] 在516处,优化模块320求解优化问题以确定用于确定目标值266-270的最优对 (X*,λ*),如上文所描述的。在520处,优化模块320分别基于上个控制回路的目标值266-270和X*的Δ值来确定当前控制回路的目标值266-270。仅举例说明,优化模块320通过分别 将X*的Δ值与上个控制回路的目标值266-270相加来确定目标值266-270。
[0234] 在528处,第一转换模块272将目标废气门开度范围266转换成待应用于废气门162 的目标占空比274,第二转换模块276将目标节流阀开度范围267转换成待应用于节流阀112 的目标占空比278。在428处,第三转换模块280也将目标EGR开度范围268转换成待应用于 EGR阀170的目标占空比282。第四转换模块也可分别将进气凸轮移相器角度269和排气凸轮 移相器角度270转换成待应用于进气凸轮移相器148和排气凸轮移相器150的目标进气和排 气占空比。
[0235] 在532处,节流阀致动器模块116控制节流阀112以达到目标节流阀开度范围267, 且移相器致动器模块158分别控制进气凸轮移相器148和排气凸轮移相器150以达到目标进 气凸轮移相器角度269和目标排气凸轮移相器角度270。例如,节流阀致动器模块116可将信 号应用至处于目标占空比278的节流阀112以达到目标节流阀开度范围267。并且在532处, EGR致动器模块172控制EGR阀170以达到目标EGR开度范围268,且升压致动器模块164控制 废气门162以达到目标废气门开度范围266。例如,EGR致动器模块172可将信号应用至处于 目标占空比282的EGR阀170以达到目标EGR开度范围268,且升压致动器模块164可将信号应 用至处于目标占空比274的废气门162以达到目标废气门开度范围266。虽然图5示出在432 后结束,但图5说明了一个控制回路,且可按预定速率执行控制回路。
[0236] 前述描述本质上仅为说明性的且不以任何方式旨在限制本公开、其应用或用途。 能够以多种形式来实施本公开的广泛教导。因此,虽然本公开包括特定示例,但不应如此限 制本公开的真实范围,因为在研究了附图、说明书和以下权利要求书后,其它修改将变得显 而易见的。如本文所使用的,短语Α、Β和C中的至少一个应解释为意指逻辑(Α或Β或C)(使用 非排它性逻辑0R),且不应解释为意指"Α中的至少一个、Β中的至少一个和C中的至少一个"。 应理解到,在不更改本公开的原理的范围内,可以不同次序(或同时)执行方法内的一个或 更多个步骤。
[0237] 在本申请(包括以下定义)中,可用术语"电路"代替术语"模块"或术语"控制器"。 术语"模块"可指以下各者、为以下各者的一部分、或包括以下各者:特定用途集成电路 (ASIC);数字、模拟或混合型模拟/数字离散电路;数字、模拟或混合型模拟/数字集成电路; 组合逻辑电路;现场可编程门阵列(FPGA);执行代码的处理器电路(共用、专用或组);存储 由处理器电路执行的代码的存储器电路(共用、专用或组);提供所需功能性的其它合适的 硬件部件;或以上中的一些或所有的组合(例如,在片上系统中)。
[0238] 模块可包括一个或更多个接口电路。在一些示例中,接口电路可包括有线或无线 接口,该接口连接到局域网(LAN)、因特网、广域网(WAN)或其组合。可将本公开的任何给定 模块的功能性分配于经由接口电路所连接的多个模块当中。例如,多个模块可允许负载平 衡。在另外的示例中,服务器(也称为远程服务器或云服务器)模块可代表客户模块实现一 些功能性。
[0239] 如上文所使用的,术语代码可包括软件、固件和/或微码,且可指程序、例程、函数、 类、数据结构和/或对象。术语共用处理器电路涵盖执行来自多个模块的一些或所有代码的 单个处理器电路。术语组处理器电路涵盖与额外处理器电路结合且执行来自一个或更多个 模块的一些或所有代码的处理器电路。对多个处理器电路的引用涵盖离散电路小片(die) 上的多个处理器电路、单个电路小片上的多个处理器电路、单个处理器电路的多个核、单个 处理器电路的多个线程或以上各者的组合。术语共用存储器电路涵盖存储来自多个模块的 一些或所有代码的单个存储器电路。术语组存储器电路涵盖与额外存储器结合且存储来自 一个或更多个模块的一些或所有代码的存储器电路。
[0240] 术语存储器电路是术语计算机可读介质的子集。如本文所使用的,术语计算机可 读介质不涵盖经由介质(例如,在载波上)传播的暂时性的电信号或电磁信号;术语计算机 可读介质因此可被认为是有形的和非暂时性的。非暂时性的、有形的计算机可读介质的非 限制性示例是非易失性存储器电路(例如,快闪存储器电路、可擦除可编程只读存储器电 路、或掩模只读存储器电路)、易失性存储器电路(例如,静态随机存取存储器电路或动态随 机存取存储器电路)、磁性存储介质(例如,模拟或数字磁带或硬盘驱动)和光学存储介质 (例如,⑶、DVD或蓝光盘)。
[0241] 本申请中所描述的设备和方法可部分地或全部由通过配置通用用途的计算机所 产生的专用计算机来实施,以执行计算机程序中所体现的一个或更多个特定功能。上文所 描述的功能块、流程图组成和其它元素充当软件说明书,其能够通过有经验的技术人员或 程序员的常规作业转译成计算机程序。
[0242] 计算机程序包括存储在至少一个非暂时性的、有形的计算机可读介质上的处理器 可执行指令。计算机程序还可包括或依赖于所存储的数据。计算机程序可涵盖与专用计算 机的硬件相互作用的基本输入/输出系统(BIOS)、与专用计算机的特定装置相互作用的装 置驱动器、一个或更多个操作系统、用户应用、后台服务、后台应用等。
[0243] 计算机程序可包括:(i)待解析的描述性文本,例如HTML(超文本标记语言)或XML (可扩展标记语言汇编代码;(iii)通过编译器从源代码产生的目标代码;(iv)供由 解译器执行的源代码;(v)供由即时编译器编译和执行的源代码等等。仅作为示例,可使用 来自包括以下各种语言的语法来写源代码丄工++丄#、01^6(^丨¥6(:、他81?511、6〇、3〇1^1?、 Lisp、Java ?、Fortran、Perl、Pascal、Cu;rl、OCaml、Javasc;ript ?、]^¥1^5、厶(1&、厶3?(主动服 Python ? 〇
[0244]除非使用短语"用于……的机构"或在方法权利要求的情况下使用短语"用于…… 的操作"或"用于……的步骤"来明确叙述元件,否则权利要求中所叙述的元件中没有一个 旨在是在35 U.S.C. §112(f)的意义范围中的手段加功能元件。
【主权项】
1. 一种用于车辆的发动机控制系统,其包括: 转矩请求模块,其基于驾驶员输入产生火花点火发动机的第一转矩请求; 转矩转换模块,其将所述第一转矩请求转换成第二转矩请求; 模型预测控制(MPC)模块,其实施多次迭代以基于所述第二转矩请求、所述发动机的模 型、表格矩阵和基解矩阵来确定一组当前目标值,其中,在每次迭代中,所述MPC模块: 确定所述基解矩阵:呈包括原始变量和对偶变量的非基本对的非标准形式;还是呈包 括原始变量和对偶变量的基本对的标准形式; 当所述基解矩阵呈非标准形式时,基于所述非基本对的所述原始变量的第一输入位置 来识别所述表格矩阵的第一列; 当所述基解矩阵呈标准形式且所述基解矩阵的一个或更多个原始变量为负时,基于所 述基本对的对偶变量的第二输入位置来识别所述表格矩阵的所述第一列;以及 基于所述表格矩阵的所述第一列来选择性地更新所述基解矩阵;以及 致动器模块,其基于所述一组当前目标值中的第一者来控制发动机致动器。2. 根据权利要求1所述的发动机控制系统,其中,当所述基解矩阵呈标准形式且所述基 解矩阵的所有原始变量为正时,所述MPC模炔基于所述基解矩阵的输入来确定所述一组当 前目标值。3. 根据权利要求2所述的发动机控制系统,其中,当所述基解矩阵呈标准形式且所述基 解矩阵的所有原始变量为正时,所述MPC模炔基于所述基解矩阵的输入来确定所述一组当 前目标值。4. 根据权利要求3所述的发动机控制系统,其中,当所述基解矩阵呈标准形式且所述基 解矩阵的所有原始变量为正时,所述MPC模块: 基于所述基解矩阵的输入来分别确定所述目标值的变化;以及 通过分别将所述变化与上一组目标值相加来确定所述一组当前目标值。5. 根据权利要求1所述的发动机控制系统,其中,当所述基解矩阵呈标准形式时,所述 MPC模炔基于与绝对值最大的负数原始变量成对的所述对偶变量的第三输入位置来识别所 述表格矩阵的所述第一列。6. 根据权利要求1所述的发动机控制系统,其中,所述MPC模炔基于以下两者之间的比 值来选择性地更新所述基解矩阵: 所述基解矩阵的对偶变量和所述基解矩阵的原始变量中的一者;以及 所述表格矩阵的相对应的输入。7. 根据权利要求1所述的发动机控制系统,其中,对于所述基解矩阵的每个对偶变量和 原始变量,所述MPC模块:确定所述基解矩阵的输入与所述表格矩阵的所述相对应的输入之 间的比值;识别所述比值中的正的且最小的一个;以及基于所述表格矩阵的所述相对应的 输入的所述输入位置来选择性地更新所述基解矩阵。8. 根据权利要求7所述的发动机控制系统,其中,当所述比值中没有一个为正时,所述 MPC模块指示已发生故障。9. 根据权利要求1所述的发动机控制系统,其中,所述MPC模块针对等于O的预定加权值 不执行矩阵输入的矩阵相乘。10. -种用于车辆的发动机控制方法,其包括: 基于驾驶员输入产生火花点火发动机的第一转矩请求; 将所述第一转矩请求转换成第二转矩请求; 使用模型预测控制(MPC)模块,所述MPC模块实施多次迭代以基于所述第二转矩请求、 所述发动机的模型、表格矩阵和基解矩阵来确定一组当前目标值,每次迭代包括: 确定所述基解矩阵:呈包括原始变量和对偶变量的非基本对的非标准形式;还是呈包 括原始变量和对偶变量的基本对的标准形式; 当所述基解矩阵呈非标准形式时,基于所述非基本对的所述原始变量的第一输入位置 来识别所述表格矩阵的第一列; 当所述基解矩阵呈标准形式且所述基解矩阵的一个或更多个原始变量为负时,基于所 述基本对的对偶变量的第二输入位置来识别所述表格矩阵的所述第一列;以及 基于所述表格矩阵的所述第一列来选择性地更新所述基解矩阵;以及 基于所述一组当前目标值中的第一者来控制发动机致动器。
【文档编号】F02D43/00GK105888868SQ201610081877
【公开日】2016年8月24日
【申请日】2016年2月5日
【发明人】R.龙, N.金
【申请人】通用汽车环球科技运作有限责任公司