拓冰建站拓冰建站
首页 / 资讯中心 / 正文

AMT混合动力换挡控制:线性前馈与LQR最优控制策略

简介这份PDF资料聚焦AMT混合动力汽车换挡过程控制面向车辆工程、自动变速器控制方向的研究生、工程师及技术研发人员帮助理解换挡平顺性与动力无中断的控制实现思路。内容围绕电机换挡与发动机换挡两条主线展开涵盖纯电动与混合动力两种驱动模式下的动力传递路线并给出电机输出转矩控制率、离合器摩擦转矩线性前馈控制率以及惯性相状态空间方程与最优控制权重矩阵的推导过程同时明确最小化离合器接合时间、换挡冲击度与滑摩功等控制目标。资源包共1个PDF文件约2.55MB为2019年中国汽车工程学会年会交流材料含升挡与降挡过程示意图、电机效率MAP图与发动机万有特性曲线等图表便于对照公式理解控制策略。目前已有220人学习适合作为换挡控制算法与仿真验证的参考材料。1. 换挡冲击与动力中断的工程矛盾AMT 混合动力换挡控制要解决什么燃油车 AMT 换挡时那种“被人从后面踹一脚”的顿挫本质是动力中断期间转矩突变。到了混合动力架构里这个问题反而有了新解法电机可以主动调速离合器可以精确控扭两者协调好了换挡过程能做到输出转矩基本不中断。这份来自吉林大学汽车仿真与控制国家重点实验室的技术资料核心就是讲清楚 AMT 混合动力汽车在纯电和混动两种模式下换挡过程到底怎么控。它面向的是做整车控制策略、变速箱 TCU 标定、或者混动系统仿真的工程师。资料里给了完整的推导链条从电机效率 MAP 和发动机万有特性出发论证挡位数选择再落到升挡/降挡的力矩相与惯性相划分最后用线性前馈加线性二次型最优控制把离合器摩擦转矩和电机输出转矩的轨迹算出来。如果你正在做 AMT 混动的换挡品质优化或者需要一套可复现的 Simulink 状态空间控制器这份材料的技术密度是够的。2. 从电机效率 MAP 到挡位数选择换挡控制的前置约束2.1 电机与发动机高效区的差异如何决定挡位数量资料里给了一张电机效率 MAP 图和一张发动机万有特性曲线图对比结论很直接发动机高效区窄需要 5 到 6 个挡位才能让工作点落在经济区间电机高效区宽2 到 3 个挡位就够。这个差异直接决定了 AMT 混合动力变速箱的挡位布置逻辑——不是简单把燃油车的变速箱拿过来用而是要根据电机参与程度重新规划速比。从控制角度看挡位数少意味着换挡次数少但每次换挡的转速差可能更大对离合器滑摩功和冲击度的控制要求反而更高。所以资料里把换挡过程拆成力矩相和惯性相两个阶段来分别处理这个划分是后面所有控制算法的前提。2.2 纯电与混动模式的动力传递路线纯电动模式下电池 SOC 充足动力驱动装置工作在纯电驱动模式一挡和二挡的动力传递路线不同但都由电机单独驱动。当 SOC 低于某一最小值时发动机启动进入混合动力驱动模式。资料里以电机为一挡为例给出了混合驱动工况下的动力传递路线发动机一挡和二挡的路径也分别画出。这里的关键在于换挡控制不是孤立的变速箱动作而是要和整车能量管理策略耦合。SOC 阈值决定了模式切换时机而模式切换又会影响换挡过程中转矩协调的对象——纯电模式下只需要协调电机和离合器混动模式下还要考虑发动机主动调速。2.3 换挡过程的阶段划分与力矩传递升挡过程分为力矩相和惯性相。力矩相阶段离合器力矩增加啮合套力矩减小直到啮合套力矩降为零离合器力矩保持不变离合器锁止。降挡过程则相反离合器分离转矩保持不变电机调速继续分离直到完全分离啮合套结合。这个阶段划分的意义在于每个阶段的控制目标不同。力矩相主要解决转矩交接的平顺性惯性相主要解决转速同步和冲击度控制。资料里给出的控制目标有四个最小化离合器接合时间、最小化换挡冲击度、最小化离合器滑磨功、保证变速器输出转矩平顺变化且无动力中断。这四个目标之间存在 trade-off后面的最优控制权重矩阵就是用来平衡它们的。3. 力矩相线性前馈控制升挡过程的转矩轨迹规划3.1 线性前馈控制律的推导以升挡过程为例力矩相采用线性前馈控制。资料里给出的控制律是离合器摩擦转矩控制率Tc(t) Tc0 (Tc1 - Tc0) * (t - t0) / (t1 - t0)电机输出转矩控制率Tm(t) Tm0 (Tm1 - Tm0) * (t - t0) / (t1 - t0)其中Tc0和Tm0是初始值Tc1和Tm1是目标值t0是力矩相开始时刻t1是力矩相结束时刻。驱动电机输出转矩线性增加是为了消除换挡过程中变速器输出转矩动力中断现象。这个线性前馈的形式看起来简单但参数标定很讲究。Tc1通常取离合器需要传递的目标转矩Tm1取电机最大输出转矩乘以加速踏板开度 β。斜率由(Tc1 - Tc0) / (t1 - t0)决定时间窗口t1 - t0太短会导致冲击度超标太长则滑摩功增加。3.2 用 Python 复现前馈转矩轨迹下面用 Python 把这段线性前馈控制律写成可运行的函数方便在仿真前快速验证参数import numpy as np import matplotlib.pyplot as plt def torque_phase_feedforward(Tc0, Tc1, Tm0, Tm1, t0, t1, dt0.001): 力矩相线性前馈控制 Tc0, Tc1: 离合器摩擦转矩初始值/目标值 (Nm) Tm0, Tm1: 电机输出转矩初始值/目标值 (Nm) t0, t1: 力矩相起止时间 (s) dt: 仿真步长 (s) 返回: 时间序列, 离合器转矩序列, 电机转矩序列 t np.arange(t0, t1 dt, dt) # 线性插值斜率由首末值和时间窗口决定 Tc Tc0 (Tc1 - Tc0) * (t - t0) / (t1 - t0) Tm Tm0 (Tm1 - Tm0) * (t - t0) / (t1 - t0) return t, Tc, Tm # 参数示例初始离合器转矩 50Nm目标 150Nm电机初始 50Nm目标 150Nm t, Tc, Tm torque_phase_feedforward(50, 150, 50, 150, 0, 0.3) plt.plot(t, Tc, labelClutch Torque) plt.plot(t, Tm, labelMotor Torque) plt.xlabel(Time (s)) plt.ylabel(Torque (Nm)) plt.legend() plt.title(Torque Phase Feedforward Control) plt.show()这段代码的逻辑是给定首末转矩和时间窗口生成线性变化的转矩轨迹。参数Tc0和Tm0通常取换挡开始时的实际转矩值Tc1和Tm1根据目标挡位和踏板开度确定。t1 - t0一般取 0.2 到 0.5 秒具体看离合器执行机构响应速度。如果仿真中发现冲击度超标优先增大时间窗口或降低转矩变化率。3.3 前馈控制的局限与惯性相的衔接线性前馈只能保证转矩按预定轨迹变化但无法处理模型误差和外部扰动。所以力矩相结束后进入惯性相需要切换到状态空间最优控制。资料里明确写了为了无动力中断惯性相要保证Tm(t) Tc(t) T0为了最小化冲击度要控制d(Tm - Tc)/dt为了最小化滑摩功离合器转速差要尽量小、换挡时间尽量短。这三个需求在惯性相里通过状态空间方程和最优控制权重矩阵来统一处理。前馈控制在这里的角色是提供初始条件让惯性相的起始状态尽量接近目标状态减轻最优控制器的负担。4. 惯性相状态空间最优控制LQR 权重矩阵与 Simulink 实现4.1 状态空间方程的建立惯性相的核心是把换挡动力学写成状态空间形式。资料里给出的动态微分方程涉及等效转动惯量Jp、Jc负载转矩TL以及离合器转矩Tc和电机转矩Tm。状态变量选为x [ωm, ωc, Tc, Tm, TL, 1]^T控制变量选为u [dTc/dt, dTm/dt]^T线性状态方程为x_dot Ax Bu。资料里给出了完整的 A 矩阵和 B 矩阵形式其中包含Jp、Jc、传动比i、阻尼系数c等参数。这个方程把换挡过程中的转矩和转速动态用线性时不变系统描述为 LQR 设计提供了基础。4.2 最优控制问题的转化与权重矩阵设计资料把最优控制问题转化为有限时间状态调节器问题终止时间固定终止状态约束。目标函数为J X(tf)^T F X(tf) ∫(X^T Q X U^T R U) dt其中F是终值权重矩阵Q是状态权重矩阵R是控制权重矩阵。资料里给出了具体的矩阵结构F中f22、f33、f44较大确保在换挡结束时刻ωm - ωc、Tc - T0、Tm - Tc趋于零。Q中q22、q33、q44、q55、q66分别对应不同状态量的过程约束。R中r1、r2约束控制量的变化率。参数调整的逻辑是q33较大使Tc尽快趋于零q24限制Tc * Δω滑摩功过程量尽量小r2较大约束冲击度dTc/dt尽可能小q44限制Tm - Tc过程量尽量小。4.3 Simulink 状态空间模型搭建步骤资料里给出了 Matlab/Simulink 状态空间模型和最优控制器框图。搭建步骤大致如下在 Simulink 中建立 State-Space 模块输入 A、B、C、D 矩阵。C 取单位阵D 取零阵表示全状态输出。用 LQR 函数计算最优反馈增益 KK lqr(A, B, Q, R)。将 K 接入反馈回路控制量u -K * x。在积分器前加入饱和模块限制Tc和Tm在[0, Tc_max]和[0, Tm_max]范围内。用 Signal Builder 或 From Workspace 模块输入初始状态和目标状态。下面是一个用 Python 计算 LQR 增益的示例方便在没有 Matlab 的环境下快速验证权重矩阵import numpy as np from scipy.linalg import solve_continuous_are def lqr_gain(A, B, Q, R): 求解连续时间 LQR 最优反馈增益 A, B: 状态矩阵和控制矩阵 Q, R: 状态权重和控制权重 返回: 反馈增益 K # 求解代数 Riccati 方程 P solve_continuous_are(A, B, Q, R) # 计算增益 K R^{-1} B^T P K np.linalg.inv(R) B.T P return K # 示例简化二阶系统实际使用时替换为资料中的 A、B 矩阵 A np.array([[0, 1], [0, 0]]) B np.array([[0], [1]]) Q np.diag([100, 1]) # 状态权重位置误差权重大 R np.array([[1]]) # 控制权重 K lqr_gain(A, B, Q, R) print(LQR Gain K:, K)这段代码用scipy.linalg.solve_continuous_are求解 Riccati 方程再算反馈增益。参数Q和R的调整直接对应资料里的权重矩阵设计原则Q大表示更看重状态收敛R大表示更限制控制量变化。实际使用时把资料里的 A、B 矩阵代入即可。4.4 仿真验证与试验对比资料里提到“试验及仿真验证”说明这套控制策略不仅在 Simulink 里跑过还在台架或实车上验证过。仿真验证的重点通常是看三个指标换挡时间、冲击度峰值、滑摩功。如果仿真结果和试验数据偏差大优先检查离合器摩擦模型是否准确、电机转矩响应是否有延迟、状态空间方程中的等效转动惯量是否随挡位变化。提示LQR 权重矩阵没有解析最优解只能通过反复仿真试凑。建议先固定R调Q让状态收敛再固定Q调R压制控制量抖动。5. 换挡品质验证与参数标定技巧5.1 冲击度与滑摩功的量化评估换挡品质的两个硬指标是冲击度和滑摩功。冲击度定义为变速器输出轴角加速度的变化率单位是 rad/s³ 或 m/s³。滑摩功是离合器主从动盘转速差与摩擦转矩的乘积对时间的积分。资料里给出的控制目标直接对应这两个量最小化换挡冲击度、最小化离合器滑摩功。评估时冲击度峰值一般要求低于 10 m/s³滑摩功则根据离合器热容量设定上限。如果冲击度超标优先增大r2或延长惯性相时间如果滑摩功超标优先减小离合器转速差或缩短换挡时间。这两个目标往往冲突需要根据实际驾驶工况折中。5.2 权重矩阵参数调整的实操顺序资料里给出了 F、Q、R 参数调整的具体方向。实操中建议按以下顺序步骤调整对象目标观察量1f22,f33,f44增大终值收敛换挡结束时的转速差和转矩差2q33增大Tc尽快趋于零离合器转矩轨迹3q24增大滑摩功过程量小滑摩功积分值4r2增大冲击度小输出轴角加速度变化率5q44增大Tm - Tc过程量小电机与离合器转矩差这个顺序的逻辑是先保证终值约束满足再优化过程量。如果一开始就调r2可能导致终值收敛变慢换挡时间拉长。5.3 从仿真到台架的迁移注意事项仿真模型里的电机转矩响应通常是一阶惯性环节时间常数取 10 到 20 毫秒。台架试验时电机控制器实际响应可能更慢尤其是大转矩请求时。迁移时建议把仿真中的电机时间常数调大 20% 到 30%留出余量。离合器执行机构的响应延迟也要考虑气动或液压执行机构通常有 30 到 50 毫秒的滞后。另外状态空间方程里的等效转动惯量Jp和Jc在换挡过程中会变化仿真时如果按常值处理台架试验中可能出现转速跟踪偏差。常见做法是在不同挡位下分别标定Jp和Jc或者用在线辨识方法更新。资料里把Jp和Jc作为常值处理实际工程中需要根据挡位查表修正。5.4 一个快速验证控制效果的技巧如果手头没有完整的 Simulink 模型可以用 Python 写一个简化的前向仿真只保留惯性相的线性状态方程和 LQR 控制器验证权重矩阵是否合理。把资料里的 A、B 矩阵代入上面的lqr_gain函数然后用scipy.integrate.odeint积分状态方程观察ωm - ωc和Tm - Tc的收敛曲线。如果收敛太慢增大Q如果控制量抖动增大R。这个方法能在几分钟内筛掉明显不合理的权重组合再去 Simulink 里做完整验证。本文还有配套的精品资源点击获取
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门