K7-01 预测性热管理(导航/云端/驾驶意图协同)
课程代码 K7-01 · 板块 K 控制、软件与标定 / K7 智能与软件定义 时长 约 3.5 小时(6 讲 + 1 次预处理逻辑实操) 适合对象 控制 / 系统工程师,尤其是做能量管理与快充预处理策略的岗位(选修,建议先有控制基础) 前置 K3-01 整车热管理控制策略总览与模式管理 整车热管理控制策略总览与模式管理;K3-06 模型预测控制(MPC)在热管理中的应用 模型预测控制(MPC)在热管理中的应用;K3-05 PID/前馈/增益调度控制实战 PID/前馈/增益调度控制实战 本讲义定位 讲师授课蓝本 / 学员自学讲义,是 K7-01 大纲的完整展开版
引言:交付物不是「预测得多准」,是提前量够不够、错了还兜不兜得住
冬天的高速服务区,一台车刚下高速插上枪,电芯温度还在低温区,桩上有功率而车吃不进去,仪表上的充电剩余时间比预计长了一截。回工位复盘时最常听到的一句是「热管理响应太慢」,紧接着就是三个动作:换一台响应更快的压缩机、把水泵的转速斜坡放陡、把温控环的比例增益再加大一档。三个动作都花钱、都做得到,对这个场景却一个都不起作用——因为这里慢的不是执行器,是电池包本身的热惯性。判据只有一问:把执行器换成快一倍的,这个问题解决了吗?答案是「没有」,那这笔钱就花在了不解决问题的那一层上。所以本课要立的第一件事,是把「响应慢」这三个字拆开:从指令发出到被控量真正变化,中间串着三层性质完全不同的滞后,另外还有一条不在热路上、却同样吃掉时间的信息链。分错层的代价不是慢一点,是把方向做反。
本课的输入是一条已经调好的热管理闭环——电池温控环、座舱出风温度环、电驱水温环都算,加上一路来自车外或车内的前瞻信息(导航路径、云端气象、充电桩预约、驾驶员选的模式档位、踏板与纵向加速度的滚动窗口统计量……)。输出只有两样东西:一个启动时刻(这次预处理什么时候开始动手)和一个置信度权重(这一路前瞻信息该被信到什么程度)。所以预测性热管理不是一个新控制器,是给已有的前馈-反馈架构外挂一个「提前量」的信息层:⛔ 本课不产出新的控制器结构、不产出整定参数,也不去比较哪一种预测模型更准——预测模型的技术路线与云侧数据生态归 N6-01 预测性热管理的车云数据生态与产业路径,每一路输入的车端获取实现(信号表定义、事件抓帧、带宽与存储预算)归 K7-04 车队数据回流的车端实现:信号表定义、事件抓帧与带宽/存储预算。这里还有一个常被误设的前置条件要先拆掉:不必先把 MPC 上了才谈得上预测,本课的方法在一条纯 PID 环上就能落地,MPC 的接法放在第 5 讲(链 K3-06 模型预测控制(MPC)在热管理中的应用)。至于收益的上限,它由信息侧滞后定死,⛔ 不由算法精度定——反推出来的启动时刻如果比信息真正到达车端的时刻还早,这条链根本不成立,预测再准也换不来一秒提前量。
学完这门课,你要能对手上任意一个「想让它提前动手」的对象当场答出三件事。第一件是判层:这个对象的滞后属第几层、值不值得用本课的方法救——功率电子结温的时间常数在秒级以下,给它做行程级预处理就是把成本花在没有收益的地方,它该走秒级前馈与降额那条路(E2-05 结温估计、热保护与主动降额策略)。第二件是判料:能拿到的前瞻信息按「信息从哪来、谁产生的」分成七类,每一路都要判四件事——延迟、更新周期、可信度,以及失效时的表现(断了是报错、是保持旧值、还是给一个看起来完全正常的错值)。第四件是本课归纳补上的一格,⛔ 少判它,第 6 讲的降级设计就没有输入。第三件是算账、接线与兜底:把提前量 t_lead 反推出来并且把两笔死区加回去,把「做不做」与「插枪前还是插枪后」这两笔性质不同的账各自算清,把结果按 u = w·u_ff + u_fb 接进现有架构,再给两类性质完全不同的失效各写一条降级路径。这三件事分别落在第 1 讲、第 2~3 讲和第 4~6 讲。
全课反复敲两根钉子。钉子 1:预测救的是第三层滞后,不是执行器慢,也不是传感器慢。从指令发出到被控量真正变化,中间串着三层:① 执行器自身动态(压缩机转速闭环、PTC 电功率建立、泵与风扇转速斜坡、电子阀与风门行程),典型量级在亚秒到秒;② 回路输运纯滞后 τ_transport = V_pipe/V̇,加上换热器与水路自身的热容,典型量级在秒到几十秒;③ 被控对象热惯性 τ_plant = (m·c_p)/(U·A)(电池包、冷却液回路、座舱),典型量级在分钟到十分钟。三者之间的差距是量级带一级的,而不是某两个具体秒数之比;关键在于只有第三层整条带落在分钟级以上——这就是「反馈来不及」的结构性原因:反馈控制器的输入是偏差,偏差没出现它没有任何理由动作,而第三层惯性决定了偏差出现时留给你的时间已经不够了。⚠ 三层只给量级带、⛔ 不排固定次序:座舱要改用 τ_plant = (m·c_p)_eff/(U·A + ṁ_air·c_p),分母多出的通风换气项让同一个座舱在大风量与小风量下不是同一个时间常数(口径与定量前指 B1-04 目标设定:降温速率、冬季续航热损、快充温升),所以「座舱比电池包快还是慢」没有平台无关的答案。第一层的治法在别处——驱动实现归 K1-02 执行器驱动:电子阀/泵/风扇/压缩机 PWM、整定归 K3-05 PID/前馈/增益调度控制实战,本课只把它作为死区的一笔计进提前量;第二层在射程内,但它是纯滞后不是惯性,只能作为死区加进去(构成与量级前指 B2-02 混动(HEV/PHEV)热管理架构与工作模式切换),⛔ 加大 P_heat 缩不掉 τ_transport,这是纯滞后与惯性之间最要紧的一处区别。本课还归纳补入第四层·信息侧滞后 θ_info(云端服务更新周期、导航刷新间隔、网关与报文排队、时间戳与时钟不同步)——它不在热路上,沿着热的传递路径数必然整类漏掉它,而它直接从可用提前量里扣掉(口径前指 K2-02 CAN/LIN/CAN-FD 通信与整车 EEA 集成 与 K4-01 热管理嵌入式软件架构与 AUTOSAR 基础)。钉子 1 的直接推论只有一句:本课的第一个交付物是提前量 t_lead,不是预测精度。
钉子 2:前馈只加不减,反馈权限不随置信度让渡——u = w·u_ff + u_fb,w 只乘在前馈支路上。这一句同时是本课的架构钉子与安全钉子,它一次管住三件事:① 融合方式是加法式的前馈-反馈结构(符号体系与结构前指 K3-05 PID/前馈/增益调度控制实战);② 置信度低时该往哪走——是「前馈少给」,⛔ 不是「反馈加大」,更不是重新整定反馈;③ 降级时退到哪里——退回纯反馈之所以能当安全兜底,前提正是反馈这条通道从头到尾没有被削过权限;如果 w 曾经乘在反馈上,退回去的那一刻反馈已经不是原来那条环了。还有一条推论最容易被跳过:反馈的整定 ⛔ 不因为有了前馈而放松。前馈是锦上添花,反馈是最后一道,两者的设计判据互不相干,⛔ 不得互相推导。
两根钉子合起来是一句话:预测性热管理的交付物不是「预测得多准」,是「提前量够不够、而且错了还兜得住」。钉子 1 说的是为什么值得做——第三层滞后靠反馈是结构性地救不回来的;钉子 2 说的是怎么做才不出事——做错的时候不能把兜底一起赔进去。全课每一讲的收口都要回到这两句。
★ 还有一句话是本课最容易被读反的,先在这里点破:「置信度加权,就是在前馈与反馈之间分配信任——越信预测,反馈的权重就该越小;不信预测时,把反馈权重加回来。」这句话听起来完全正确,而且它的来源是一个真正正确的习惯:在估计与数据融合层(互补滤波、多源加权、量测融合),凸组合 w·x₁ + (1−w)·x₂ 就是对的——两侧是对同一个量的两个估计,权重之和当然是 1。危险恰恰在这里:读者不是不懂,是把一个在隔壁层上成立的范式搬到了它不成立的层上。在控制律层它不成立,因为 u_ff 与 u_fb 不是对同一个量的两个估计——u_ff 是「已知扰动的补偿量」(我知道前面有个坡、前面要快充,先把这份出力垫上),u_fb 是「未被补偿掉的那部分偏差的回归通道」;两者相加是叠加不是投票,没有哪一份「信任预算」需要它们分掉。在反馈支路上乘 (1−w),等价于在线改回路增益——闭环带宽与稳定裕度会随网络好不好、预报准不准而漂移,而这两个量本该只由被控对象与整定决定;更要命的是 w→1 时反馈权限归零、系统退化成开环,恰恰在「我很信任预测」的那一刻把兜底拿掉了。
说不出「读者会做错的那个具体动作」就不算点破,所以把三个方向写清楚。方向 A(写成凸组合,最常见):把控制律实现成 u = w·u_ff + (1−w)·u_fb,现场表现是「网络好的时候响应又快又准,网络一差整条环变钝甚至爬不动」,人会去查网络、查数据质量,查不到根上——真因是回路增益被 w 改了。方向 B(不改公式、改权限,更隐蔽):公式那一行写的确实是加法式,却在置信度高时顺手把反馈的输出限幅收窄、把积分权限调小,理由是「反正预测已经把它带到位了,反馈别来捣乱」;后果与方向 A 完全一样,而且代码评审时看不出来。方向 C(置信度掉下来之后的反向操作):觉得总出力不够了,于是加大反馈增益补回来,这一步同时改坏了整定裕度,并且在 w 恢复时造成总出力过量与超调。正解是 w 低就是前馈少给,反馈按它自己的整定继续工作、⛔ 一个参数都不动;如果这样就明显不够用,说明这条环本来就不该靠预测撑,回到钉子 1 重新判它属第几层。当场自检只要代两次:把 w 令成 0,必须退化成一条完好的纯反馈环(这正是第 6 讲降级路径的前提);把 w 令成 1,反馈必须仍然满权限在环。任何一端不满足,就是把置信度加到了不该加的地方。⚠ 另有一条同族但不是这一条的读反——「反馈来不及是因为传感器或执行器慢」,它由钉子 1 与第 1 讲正面处理;两者的错误动作方向不同(一个是选错了治法,一个是把兜底拆了),⛔ 不要合并理解。
全课六讲就按这条主干排。第 1 讲把三层滞后与本课补入的信息侧滞后立起来,并且把快充预热这笔账摆到桌面上:「插枪后就来不及」是一句错话,真相是插枪后照样能加热、只是加热要和充电抢桩的功率预算(约束式 P_charge + P_heat ≤ P_pile_max,定量对照去向 D3-04 低温预热与出行预约热管理),而到桩前预热划不划算随环境温度、桩功率与目标 SOC 反转,⛔ 不存在「预热总是划算」这一说。第 2 讲与第 3 讲判料:第 2 讲讲行程级输入(导航路径、云端气象、历史与习惯),重点是「逐段累加的偏置不会互相抵消而是线性累积」,数据通道与合规边界(GB/T 32960 与个人信息保护相关法规体系)只写它们各管什么与去向;第 3 讲讲秒级负荷意图,把驾驶行为的滚动窗口统计量落成带进入/退出门限与最小驻留的场景标志位——标志位的命名、编号与互斥并存矩阵归 K3-13 模式表/场景表与仲裁规则的静态体检:可达性、死锁与切换质量,本课只负责判「这个场景现在成不成立」。第 4 讲把提前量与两笔账真算出来,并且把退出条件和多目标冲突时的排序判据一起写死。第 5 讲把它接进前馈-反馈与 MPC 架构,钉子 2 在这一讲落成公式与三条互不替代的工程约束。第 6 讲证明它错了以后还兜得住:失效必须按性质分两条路——有迹可循的 E/E 失效(网络断开、报文超时、传感器失效)走进入安全状态与平滑退回纯反馈,无故障码的能力不足(ETA 大幅偏移、未设目的地时预热误触发、导航路径合法而用户根本不去、模型被外推到标定范围之外)则先要声明可信域与置信度失效判据;两侧分别落在 ISO 26262 与 ISO 21448 所管的范围里(⚠ 版次与年份以现行标准目录为准,引用前须核;本课只写标准号与它管什么,⛔ 不写条款内容)。而「预测误差分布多大可接受、场景覆盖到什么程度可放行」的论证充分性不在本课,归 K2-05 预期功能安全(SOTIF/ISO 21448)与 AI 件安全论证在热管理的落法,本课只负责降级实现。最后收在影子模式上:先跑不接管、看预测误差的分布,再决定要不要真正接管执行。
第 1 讲 为什么需要预测:三层滞后、快充的时间窗口,与那笔要真算的账
这一讲不设计任何预测算法,也不写一行控制律。它做的是"动手之前"的五件事:把本课的输入与输出交代清楚、把工程师嘴里那句"响应慢"拆成三层(外加本课归纳补上的第四层)、把全课的时间量符号钉死、把快充预热这件事从一句口号还原成一笔可以算的账、把本课的射程与三条边界立起来。
这些看起来像热身,但它们不是。后面每一讲用的都是这一讲钉下来的口径:滞后分层一旦分错,第 4 讲反推出来的提前量就会算错方向而不是算不准;符号一旦松动,纯滞后与惯性会被混进同一个位置;"预测是叠加不是取代"这一条一旦立不住,第 5 讲的置信度权重就会被读成在前馈与反馈之间分配信任——那正是全课最危险的一条误读。所以顺序是先把口径立住,再谈提前量。
1.1 本课的输入是一条已经调好的环,输出是「启动时刻」与「置信度权重」——⛔ 不是一个新控制器
是什么。预测性热管理(predictive thermal management)不是一套新的控制器结构,它是给已有的前馈-反馈架构外挂一个「提前量」的信息层。说清楚它的输入输出,这门课的边界就画掉了一大半:
- 输入=两样东西。第一样是一条已经调好的热管理闭环——电池温控环、座舱出风温度环、电驱水温环都算,它此刻工作正常、参数已经整定过;第二样是一路来自车外或车内的前瞻信息(导航路径与 ETA、云端气象、驾驶员的显式声明、秒级的负荷意图等,逐路的判据在第 2、3 讲)。
- 输出=也是两样东西。一个是启动时刻——什么时候开始动作,即预处理(preconditioning)该在哪一刻投入;另一个是置信度权重——这一次的前瞻信息该被信到什么程度,它只调制前馈出力(第 5 讲给公式)。
- ⛔ 本课不产出新的控制器结构,也不产出任何整定参数。你手上那条环该怎么整定,学完这门课之后与学之前一个参数都不该变。
为什么这个定位要写在全课第一句。因为"把预测当成一个更聪明的控制器"是这门课最容易走岔的第一步,而且它岔得很隐蔽——听起来完全合理。真相是:控制器再聪明,它的输入仍然是误差,仍然要等偏差出现才有理由动作;而下面 1.2 要立的第三层热惯性决定了,偏差出现的那一刻,留给你的时间已经不够了。这不是算法好坏的问题,是信息到达顺序的问题:控制器改的是"偏差出现之后怎么做得更好",预测改的是"在偏差出现之前就开始做"。两者不在同一条时间轴的同一段上。
工程量级。这个信息层带来的收益,全部体现在「提前了多久」这一个量上——本课把它记作 t_lead。而 t_lead 的上限不由预测算法的精度定,由信息侧滞后定(就是 1.2 里那个本课归纳补上的第④层):信息什么时候到达车端,你最早就只能在那一刻开始动作,再准的预测也变不出更早的时刻。⇒ 本课的第一个交付物是 t_lead,⛔ 不是预测精度。这一句在第 4 讲会被写成反推式,在第 6 讲会被写成降级的判据。
易错点。
- 以为要先把 MPC 上了才谈得上预测。不必。本课的方法在一条纯 PID 环上就能落地——前馈通道加上去,启动时刻算出来,就已经拿到了大部分收益。滚动优化框架里预测数据扮演什么角色是第 5 讲的一节,链 K3-06 模型预测控制(MPC)在热管理中的应用,它是一条可选的接法,⛔ 不是前置条件。
- 把本课当成一门「预测算法课」,一上来就比较哪种预测模型更准、该用什么技术路线。预测模型本身的技术路线、准确率与覆盖率的权衡、云侧的数据生态,一律归 N6-01 预测性热管理的车云数据生态与产业路径。本课判的是另一件事:拿到一个带误差的预测之后,怎么用它才安全。这两件事的判据链完全不同,⛔ 不得互相推导。
1.2 「响应慢」必须分三层说,⛔ 不许把执行器动态与被控热质量的惯性混为一谈
是什么。从控制指令发出到被控量真正变化,中间串着三层,外加一条不在热路上的第四层(本课归纳补入):
- ①执行器自身动态:压缩机转速闭环、PTC 电功率建立、泵与风扇的转速斜坡、电子阀与风门的行程时间。典型量级亚秒到秒级。
- ②回路输运纯滞后与回路自身热容:冷却液从热源流到被控件那段管路的输运时间 τ_transport = V_pipe/V̇,加上换热器与水路本身的热容。典型量级秒到几十秒级。
- ③被控对象热惯性:τ_plant = (m·c_p)/(U·A),对象是电池包、冷却液回路、座舱。典型量级分钟到十分钟级。
- ④信息侧滞后 θ_info(本课归纳补入的一层):预测输入自己的延迟——云端服务的更新周期、导航 ETA 的刷新间隔、网关与报文排队、时间戳与时钟不同步。它不在热路上,却直接从可用提前量里扣掉。
⚠ 三条量级带都标「典型」,⛔ 不给任何单点值,⛔ 端点也不得当作可承诺值("最多就几十秒"这种话说不得)。第④层的量级随通道而变,须逐路实测,口径前指 K2-02 CAN/LIN/CAN-FD 通信与整车 EEA 集成(报文周期与最坏延迟)与 K4-01 热管理嵌入式软件架构与 AUTOSAR 基础(任务周期与一拍延迟);⛔ 不许拿供应商标称的更新周期去替代实测的最坏延迟。
为什么非分层不可。因为真正让反馈来不及的是第三层——它比其余两层高出一到两个量级的量级带(这个比较的两侧都是上面那三条带,不是任何单点值,所以它是一句可以说的话)。而现场看到的现象——"响应慢"——三层长得一模一样:波形都是慢慢爬,都要好久才到位。工程师凭现象归因,必然归到最容易改的那一层,也就是第一层:换更快的执行器、提高采样率、把驱动斜坡放开。钱花了,而第三层一点没动。
⇒ 由此得到本课的射程判据一问,全课反复用它:
把执行器换成快一倍的,这个问题解决了吗? 解决了 ⇒ 那是第一层的事,治法归 K1-02 执行器驱动:电子阀/泵/风扇/压缩机 PWM(驱动侧)与 K3-05 PID/前馈/增益调度控制实战(整定)。 没解决 ⇒ 就是第三层,只有提前动手才有用——才轮到本课。
这一问同时定死了三层各自的归属:第一层射程外(本课只把它作为死区的一笔计入提前量,⛔ 不重讲它的治法);第二层射程内,但只作为死区计进提前量(1.4 专讲,构成与量级前指 B2-02 混动(HEV/PHEV)热管理架构与工作模式切换);第三层射程内,是本课要救的那一层;第四层射程内,它是本课归纳补上的,理由见下一段。
为什么必须补第④层。如果只沿"热是怎么一层层传过去的"这条线索去数,会整类漏掉它——它根本不在热路上,数几遍都数不到。可它扣的正是你能用的东西:反推式算出来的那个启动时刻,如果比信息到达车端的时刻还早,这条链根本不成立,再准的预测也救不回来。反过来,只沿"控制器内部有什么"去数,会整类漏掉②③;只沿"时间常数"这个词去数,会漏掉纯滞后与惯性的区别——而这两者在提前量算式里的位置完全不同(1.4 与 1.5)。
易错点。① 把 τ_transport 这类纯滞后当成"惯性大",并进 τ_th 一起算(1.4 专门打这一条);② 看到"响应慢"就去提高采样率或换更快的执行器——分错层的钱是白花的;③ 把功率电子结温划进第三层:它的时间常数在秒级以下,⛔ 不属于这一层,给它做行程级预处理是把成本花在没有收益的地方,正确治法是秒级前馈与降额,接口见 E2-05 结温估计、热保护与主动降额策略。
1.3 三层之间差的是量级带,⛔ 不是名次:第三层内部不排次序,座舱的分母另含通风换气项,结温根本不属于这一层
是什么。第三层的口径式是 τ_th = (m·c_p)/(U·A),落在这一层里的对象有电池包、冷却液回路、座舱。两个必须单列的变体:
- 座舱要改用带通风换气项的形式:τ_th = (m·c_p)_eff/(U·A + ṁ_air·c_p)。因为把舱内空气整体换掉这件事本身就是一条散热通道,它和壁面传热是并联关系,所以进的是分母(口径与定量前指 B1-04 目标设定:降温速率、冬季续航热损、快充温升)。
- 功率电子结温不属于这一层:它的时间常数在秒级以下。这一条只有一个用途——说明它不该由本课的行程级方法来管,去向 E2-05 结温估计、热保护与主动降额策略。⛔ 不给具体秒数,⛔ 也不拿它和第三层做倍数或数量级比较(那会把一个不给数的量拉进比较)。
为什么要专门说"不排次序"。看那个座舱的式子:分母里多了一项 ṁ_air·c_p,意味着座舱的 τ_th 会随风量档位大幅变化——同一个座舱,大风量下的时间常数与小风量下的根本不是一个数。⇒ "座舱比电池包慢还是快"这个问题没有平台无关的答案。这就是为什么本课只给三层之间的量级带,而层内不排名次:次序随平台、随回路构型、随此刻的工况变。把某一款车上量出来的次序当成通则写进文档,是一句在子集上成立、却被写成全称的话——下一个平台照着它做,方向就是反的。
工程量级。各部件的 τ_th 具体值全部是平台相关量,⛔ 不给数:它取决于包体质量与电芯体系、冷却液充注量、U·A 与回路构型,须由实测或系统仿真确定。座舱那一项同样只给式子结构与一条定性方向(分母多一项 ⇒ 同样热容下座舱比封闭对象来得快,且换气量一变时间常数就跟着变),⛔ 不给任何一项的取值。图上同样不给——所以下面那张图画的是量级带,⛔ 没有刻度值。
易错点。① 把某台车上量出来的三个对象的快慢次序写成通则;② 用不带通风项的式子去算座舱,于是预处理的提前量算得过长,白开一段空调——这笔白耗电正是第 4 讲的代价上限要管的东西;③ 把结温放进来做行程级预处理。
1.4 第二层不能丢:τ_transport 是纯滞后,进的是死区加项、⛔ 不进指数
是什么。第二层是冷却液从加热源流到被控件之间那段管路的输运时间,加上换热器与水路本身的热容带来的滞后。它在提前量反推式里的位置是一个加项——往前多推这么久,⛔ 不是指数里的时间常数。式子结构是:
τ_transport = V_pipe / V̇ (V_pipe 为该管段容积,V̇ 为体积流量)
为什么位置这么要紧。因为纯滞后与惯性在数学上站的位置根本不同,而它们的工程含义也因此完全不同:
| 类别 | 它回答的问题 | 在反推里的位置 | 加大 P_heat 能压缩它吗 |
|---|---|---|---|
| 惯性(τ_th) | 推到目标要多久 | 进温升解的指数 | 能——功率越大,主项越短 |
| 纯滞后(τ_transport、θ_info) | 这条链最早什么时候能看到效果 | 死区加项 | ⛔ 不能 |
把 τ_transport 并进 τ_th 一起算,形式上只差一点点,实质上是把一个不可压缩的等待时间当成了可以靠加大功率缩短的时间。加大 P_heat 缩不掉 τ_transport——液体还没流到,被控件那里就是什么都没发生。这个错误的后果不是"算得不准",是提前量算错了方向:你以为可以晚一点开始,实际必须更早。
工程量级。V_pipe 与 V̇ 都是平台相关量,⛔ 不给数;死区的构成与量级前指 B2-02 混动(HEV/PHEV)热管理架构与工作模式切换,⛔ 本课不重推。本课只给这一条:它是加项、不是指数。
易错点。
- "它只有几十秒,相对分钟级的第三层可以忽略"——这句话在裕度充足时听着没错,在裕度紧张时是致命的:ETA 只剩几分钟的快充场景里,几十秒就是全部裕度。量级小不等于可忽略,可忽略要看它占的是谁的份额。
- 用额定流量去算 V̇,而预处理刚启动的那一段泵还没提速——此刻的实际流量比额定小,τ_transport 比你算的长。⇒ 这正是"提前提泵速"被放进预处理动作清单的原因之一(第 4 讲)。
- 把第一层那笔也一并忘掉。第一层虽然射程外,但它同样是死区里的一笔,反推提前量时要计入,⛔ 只是它的治法不归本课。
1.5 四类时间量先钉死:⛔ 全课不得裸写 t 或 τ,两套记号在这里一次性合并
是什么。本课会同时出现四类时间量,它们量纲相同、含义完全不同,混起来必错。先立表,后面各讲一律照此读写:
| 类别 | 符号 | 它是什么 |
|---|---|---|
| 时刻类(绝对时间点) | t_arrival | 到达时刻(到桩、到目的地) |
| t_precon | 预处理启动时刻 | |
| t_now | 当前时刻 | |
| 时长类(提前量与窗口) | t_lead | 提前量,t_lead = t_arrival − t_precon |
| T_w | 滚动窗口长度(第 3 讲) | |
| T_hold | 场景标志位的最小驻留时长(第 3 讲) | |
| t_charge | 充电时长 | |
| Δt_precon | 预处理实际持续的那段时长,即反推式里的主项(⛔ 不是 t_precon,后者是时刻);它进 ΔSOC_precon 与主动作耗电那一笔的乘法(1.8、4.8) | |
| Δt_ext | 预冷把峰值功率可持续时长延长的那一段,是预冷收益的度量(第 4 讲 4.4) | |
| 纯滞后类(死区,进 t_precon 的加项) | τ_transport | 回路输运滞后,= V_pipe/V̇ |
| θ_info | 信息侧滞后(本课记号,本课归纳补入的第④层) | |
| 惯性类(时间常数,进温升解的指数) | τ_th(按层点名时写 τ_plant) | 被控对象主时间常数 |
★ 两套记号在这里合并,全课只留一套。被控对象热惯性这个量在不同场合有两种常见写法:(m·c_p)/(U·A) 与 (m·c)/(h·A)——它们是同一个物理量的两种写法(c 与 c_p、U·A 与 h·A 分别对应同一位置)。⇒ 本课全课统一取 τ_th = (m·c_p)/(U·A),⛔ 其余各处不得再出现 (m·c)/(h·A) 这一形式。两者的差别要说清:h·A 是单侧对流热导,U·A 是包含全部串联热阻的总热导,只有当主导热阻确实落在该侧对流上时,两者才可以近似互换;主导热阻在别处(导热层、接触热阻、另一侧对流)时,拿 h·A 去代 U·A 会把热导算大、把时间常数算小,于是提前量算短。 ⚠ 在滞后分层里点名"这是第三层那个对象的主时间常数"时,本课写 τ_plant;它与 τ_th 指的是同一个量,只是前者强调它属于哪一层、后者强调它的口径式。⛔ 除这一对之外,全课不得出现第三种写法。 ⚠ 还有一处用法要在这里说清,否则第 3 讲会读成撞名:第 3 讲把 τ_plant 用在「这一路统计量要去驱动的那条通道」上——驱动泵时它是泵那条通道的、驱动电池预见性预冷时它是电池包的(3.2)。含义仍是同一个(此刻要驱动的那个对象的主时间常数),只是被驱动的对象不一定落在第三层:泵那条通道属第一层。⇒ 读到"泵的 τ_plant"时,⛔ 不得据此把泵划进第三层,也⛔ 不得反过来说第三层里有亚秒级的成员。
★ ⛔ 纯滞后与惯性不得混算。θ 类进的是"往前推多久开始",τ 类进的是"推到目标要多久";两者在反推式里的位置不同、量级也常差一个数量级。混起来的后果不是算不准,是算错方向(1.4 已经给过这条的具体形态)。
★ ⛔ 全课不得裸写 t 或 τ,必须带下标。同一个量在两处写成不同形态(这里写 τ_th、那里写裸 τ)也算违反——读者会以为那是两个量。
工程量级。本节不给任何数,它给的是口径:哪几笔进死区加项、哪一笔进指数、哪些只作为取值来源前指别的课。各笔的取值方法分别归 B2-02 混动(HEV/PHEV)热管理架构与工作模式切换(输运死区)、K2-02 CAN/LIN/CAN-FD 通信与整车 EEA 集成/K4-01 热管理嵌入式软件架构与 AUTOSAR 基础(信息侧)、B1-04 目标设定:降温速率、冬季续航热损、快充温升(座舱口径),⛔ 本课不重推。
易错点。① 把 T_w(窗口长度)和 t_lead(提前量)都读成"一段时间"于是互相代入——前者是统计量的取样窗口,后者是动作提前量,两者由完全不同的判据定;② 把 t_precon(一个时刻)与 t_lead(一段时长)混写,于是反推式两边量纲对不上;③ 见到 τ 就往指数里放。
1.6 纯反馈的局限是结构性的、⛔ 不是整定不好
是什么。反馈控制器的输入是误差 e = r − y。在扰动进入系统、并且经过第三层惯性把 y 拉偏到可测量的程度之前,e ≈ 0——控制器没有任何理由动作。它不是不想动,是没有输入。
为什么这一条无法靠整定绕开。因为它决定了纯反馈的最好情况也只是"偏差出现之后尽快收敛"。而快充预热这类场景要的是"在窗口打开之前就已经到位"——两者不是快慢之差,是能不能之差。把它当成整定问题去处理,会走进一条没有出口的路:加大比例增益 ⇒ 振荡 ⇒ 调回去 ⇒ 又太钝 ⇒ 再加大……两次改的都不是真因,因为真因在"什么时候才有输入"这一层,而增益改的是"有了输入之后动多大"。
⇒ 这就是前馈(feedforward)该出场的地方,也是本课的立足点:前馈不需要等误差,它的输入是"我已经知道前面会发生什么"。预测性热管理做的事,本质上就是给这条前馈通道提供一个来自车外或车内的、带提前量的输入。
工程量级。可用增益的上限由延迟总账与对象时间常数的比值定,整定判据前指 K3-05 PID/前馈/增益调度控制实战,⛔ 本课不重推、不给整定式、不给任何推荐参数。这是本课的一条边界:讲到"反馈调不动了"就打住,往下是那门课的地盘。
易错点。
- 把"来不及"当成整定问题,在"太钝"与"振荡"之间来回换位置——上面那条死路。
- 反过来,认为"既然有了预测,反馈可以调钝一点"。⛔ 恰恰相反。反馈是预测出错时唯一的兜底,它的整定不因为有了前馈而放松:前馈是锦上添花,反馈是最后一道,两者的设计判据互不相干,⛔ 不得互相推导。这一条在第 5、6 讲还会以另一种面目回来——那时的形态是"置信度高就把反馈权限收一收",同一个错误,更隐蔽。
1.7 快充前预热的真相:插枪后不是「来不及」,是要和充电抢桩的功率预算
是什么。快充前的电池预热是最典型的"时间窗口"场景,也是全课的主案例。但它的机理常常被一句话说错,而那句错话会同时诱发两个方向相反的错误动作。先把正确的说法立住:
插枪之后仍然可以加热。约束是 P_charge + P_heat ≤ P_pile_max——加热与充电共享桩的功率预算。代价不是"加热不了",是总充电时长被拉长:分给加热的每一份功率,都是从充电功率里扣出来的。
⇒ 所以到桩前预热的实质是:把这段加热搬到行车段,用包里的电去换充电时长。这是一笔可以算的账(1.8 就算它),⛔ 不是一句"必须提前预热"的口号。
为什么那句错话危险。⚠ 下面这句只以被点破的错句的身份出现在这里和"常见误区"一节,⛔ 不得以正面表述出现在本课任何别处:
✗ 「插枪后就来不及了,所以必须在到桩前把电池预热到位。」
它错在把一个代价问题说成了一个可行性问题。而一句错话之所以比一个错数更贵,是因为它同时把两个方向的人都带偏:
- 方向 A(信了"来不及",于是不计代价地预热):ETA 很短、环境很冷的时候,用包里的电狂加热。此时预热耗掉的电很多、而剩余时间又不足以真正到位——半途而废是三种结局里最差的一种:电花了、窗口没赶上、还占了功率预算。
- 方向 B(判定"来不及了",于是干脆放弃预热):到桩后被迫在低温下限流充电,桩明明有功率而车吃不下,时长与电量两头都亏。
两个动作方向完全相反,根子却是同一句错话。正解是:这三条路(到桩前预热、到桩后补热、不预热直接充)各有各的代价,选哪一条要算,⛔ 不是背结论。
工程量级。P_pile_max 由所接桩的铭牌与实时协商结果给出,属基础设施相关量,⛔ 不给数;⛔ 尤其不许拿铭牌标称值去替代实时协商值——协商结果会随桩的温度、电网侧与车端请求变化,用标称值反推出来的提前量是虚的。快充的目标温度窗口(最佳充电温度区间)既不给数也不给区间,它由电芯体系与充电曲线定,去向 D4-01 快充产热与温升预测建模。功率分账与低温加热的定量对照去向 D3-04 低温预热与出行预约热管理。本课只给约束式的结构与这三条路的代价形态。
易错点。① 把"来不及"这句错话原样写进策略文档或培训材料——它会以两种相反的形式在下游各犯一次;② 把 P_pile_max 当成一个常数写死在标定表里;③ 忘掉第三条路:不预热也不是零代价,低温限流会让桩的功率吃不进去。
1.8 那笔账要真算出来:ΔSOC_precon,以及「⛔ 不存在预热总是划算」
是什么。预处理本身要花电,这笔电必须进账。本课把它写成一个占比:
ΔSOC_precon ≈ P_precon · Δt_precon / E_batt
即预处理消耗的电量占电池总容量的比例(P_precon 为预处理功率,在本课的主算例里它就是那一份此刻真正可用的加热功率 P_heat;Δt_precon 为预处理实际持续的那段时长,也就是第 4 讲反推式里的主项;E_batt 为电池总容量)。⚠ ⛔ 这里的时长记号是 Δt_precon,不是 t_precon——后者是一个时刻(预处理启动时刻),1.5 会把「时刻」与「时长」两类一次性钉死,写混了两边量纲就对不上。把它与"省下来的充电时长折算成的收益"放在同一张收支表上比,才叫算过账;只报其中一侧,那不是账,是宣传。
⚠ 本节把两件事写在同一处,但它们是两条互不相干的判据链:ΔSOC_precon 判的是「这段加热放在插枪前做还是插枪后做」;而「这次到底做不做」由第 4 讲 4.8 那条按期望计的收支判据 E_precon < ΔE_saved 回答——⛔ 两者不得互相推导(4.8 易错点②会再点一次)。下面那三条反转曲线说的是后一件事。
为什么必然存在反转点。因为三个主要变量各自都把结论往两个相反的方向拉:
- 环境温度:越冷,预热耗电越多(成本涨);但低温限流也越狠,预热省下的充电时长越多(收益也涨)。
- 桩功率:越大,省下的时长越值钱(收益涨);但插枪后加热占掉的那份功率相对越小、代价越轻(收益又跌)。
- 目标 SOC:越高,充电曲线后段本来就慢,预热带来的边际收益递减(收益跌)。
⇒ 三条净收益曲线各自穿过零线,所以「预热总是划算」这句话不成立,反过来"预热从来不划算"同样不成立。要读的是"存在反转"这个结构,⛔ 不是反转点在哪——反转点的位置由本平台与所接的桩给出。
工程量级。P_precon、E_batt、目标温度窗口全是平台相关量,⛔ 不给数,须由实测或系统仿真确定。⚠ 本讲不走这笔账的手算算例——全课的手算算例只有一处,在第 4 讲,用一组明确标注为教学假设值的输入从头走一遍(含提前量主项、两笔死区、耗电与 ΔSOC_precon)。⛔ 那组数不对应任何平台、不得取用,也⛔ 不得进入本课任何一张图。把算例集中在一处,是为了让全课这几个数只有一套写法与一套舍入。
易错点。
- 只算省下的充电时长、不算预热耗掉的电。这样"实测"出来的节能,很可能就是预热多花的那部分电换了个名目——严重时整体反而更费电。
- 把某个环境温度下算出来的结论写成全称("我们测过,预热能省 X")。它是在一个子集上成立的结论,换一个温度、换一个桩就翻面。
- 拿这笔账去反算别的量,比如反推"最佳预热温度"。⛔ ΔSOC_precon 只用于判「这段加热放在插枪前做还是插枪后做」,⛔ 不用于反算温度、功率或任何别的量——一个只为某个判断而立的式子,反过来用就没有依据。⚠ 也⛔ 不许拿它去判「这次到底做不做」:那是 4.8 那条按期望计的收支判据的活,ΔSOC 小不等于收支为正。
1.9 预测不是取代反馈,是给反馈一个前瞻的初始条件——工程含义是「只增不减地叠加」
是什么。预测层产出的是一个补偿量:我已经知道前面有一段长坡、知道前面要快充,于是先把这份出力垫上。它叠加在反馈输出之上,⛔ 不是替换掉反馈的一部分。用后面几讲的记号说:预测层给的是 u_ff(可测或可预测扰动的前馈补偿量),反馈控制器给的是 u_fb(未被补偿掉的那部分偏差的回归通道),两者是加法关系。
为什么要在第 1 讲就立这一条。因为第 5 讲会给出控制律 u = w·u_ff + u_fb,其中置信度权重 w 只乘在前馈这一支上。如果不在这里把"叠加"立住,那条公式看起来就像一个可选的数学写法,读者很容易改写成另一种"更对称"的形式。而它不是数学选择,它是本课定位的直接后果:
- 如果预测是取代反馈,那 w 当然应该在两者之间分配——两条支路在抢同一份权限。
- 正因为预测是叠加,两条支路做的是完全不同的两件事(一个补已知扰动,一个收未补掉的偏差),不存在一份需要它们分掉的"信任预算",w 才只能乘在前馈上。
工程量级。本节不含数值。w 的取值、分档数与"置信度 → w"的映射函数一律不在本课给定(第 5 讲会说明为什么"不给映射函数"在这里是被鼓励的诚实写法)。
易错点。
- 读成"有了预测就少用反馈"。⚠ 这是全课最容易被读反的一条,它的完整形态与三种具体错误动作在第 5 讲展开。这里只先埋一个自检:把 w 令成 0 和 1 两个极端各代一次——w=0 时必须退化成一条完好的纯反馈环(这正是第 6 讲降级路径的前提),w=1 时反馈必须仍然满权限在环。任何一端不满足,就是把置信度加到了不该加的地方。
- 读成"前馈量越大越好"。前馈过量会造成超调,而超调之后仍然是反馈在收拾——前馈把烂摊子丢给了它本该帮忙的那条通道。限幅与变化率这三条约束在第 5 讲,它们互不替代。
1.10 本讲收口:一句话射程判据,与三条边界
射程判据(全课通用,一问定归属):
把执行器换成快一倍的,这个问题解决了吗? 没有 ⇒ 才轮到本课。
这一问把"响应慢"这个含混的现象切成了可判真假的两半。它成立的依据就是 1.2 到 1.6 这四节:三层滞后的量级带(图2)、纯滞后与惯性在算式里的不同位置(1.4、1.5)、以及反馈的落后是结构性的(图3)。
三条边界,全课凡越界处一律只写去向:
| 边界 | 归哪门课 | 本课怎么处理 |
|---|---|---|
| 第一层滞后的治法(执行器驱动与环路整定) | K1-02 执行器驱动:电子阀/泵/风扇/压缩机 PWM(驱动)、K3-05 PID/前馈/增益调度控制实战(整定) | 只把它作为死区的一笔计入提前量,⛔ 不重讲治法、不给整定式、不给推荐参数 |
| 预测模型本身的技术路线与云侧生态 | N6-01 预测性热管理的车云数据生态与产业路径 | 只判"拿到一个带误差的预测之后怎么用它才安全",⛔ 不比较模型优劣、不给准确率 |
| 数据回流的车端实现(信号表定义、事件抓帧、带宽与存储预算) | K7-04 车队数据回流的车端实现:信号表定义、事件抓帧与带宽/存储预算 | 只判每一路输入"能不能用、用来驱动哪一类动作、错了怎么表现",⛔ 不算带宽与存储 |
为什么边界要在第 1 讲就交代完。因为这类跨域选修课最常见的失控方式,是把相邻课的内容都顺手讲一遍,结果每一块都讲不透。边界在这里立住,后面每一处越界都能用一句话打住:那是那门课的事,这里只写去向。
⚠ 但"写去向"有一条纪律:⛔ 不许把边界写成"那门课讲过了"就完事。写去向的人有责任确认那门课真的讲了这件事——否则读者顺着指过去,发现那里也没有,这条链就断在半路上,而断在半路比不给去向更糟:它让人以为问题已经有人管了。
这一讲要带走的四句话:
- 本课的输入是一条已经调好的环加一路前瞻信息,输出是启动时刻与置信度权重,⛔ 不是一个新控制器。
- "响应慢"分三层(外加本课归纳的信息侧第四层),只有第三层是预测能救的那一层;分层用那一问,⛔ 不用现象。
- 纯滞后进死区加项,惯性进指数;加大功率缩得掉后者、⛔ 缩不掉前者。
- 快充预热是一笔要算的账,不是一句"必须提前预热";账的两侧都得记,⛔ 不存在"预热总是划算"。
下一讲开始逐路审预测输入:行程级的导航、云端气象与历史数据,每一路要判的是延迟、更新周期、可信度,以及失效时它表现成什么样——最后那一件,正是第 6 讲降级设计的唯一输入。
后面还有 5 讲正文 · 关键公式 · 案例拆解 · 常见误区 · 动手做