等效燃油消耗ECMS与庞德里亚金最小值原理PMP中协同状态的关系
今儿阅读了一篇文献——《车联网环境下并联混合动力客车控制策略优化研究》,是北理的博士所写的,内容比较翔实。主要是里面的关于ECMS和庞德里亚金最小值原理(PMP)的关系推导很让人印象深刻,故打算把这个过程捋一下。需要说明的是本文同时也参考了文献【2】的第五章主讲PMP的证明过程。
文献【1】首先是将汉密尔顿函数用于能量管理策略,表示的结果就如下式4.49所示,λ(t)是协同状态,而根据PMP(庞德里亚金最小值)原理,协同状态的动态方程可以由公式4.50表示


在文献【2】的第55页,是这样去描述这个过程,公式

和上面文献【1】的公式是表达一样的意思,而公式5.17中的w(SOC)则是类似于惩罚函数一样的东西,主要是判断取值是否超出边界,在文献【2】中w(SOC)的公式如下
。 而公式5.16和5.17之所以要在状态量上加一个*号,就是表达这是最优的取值。
根据电池SOC在文献【1】中的计算公式
,然后作者认为普通混动汽车电池SOC在较小的范围内变动,所以电池开路电压Voc和内阻Rin是常数,与电池SOC无关,所以就推导出公式4.52如下
,然后
,所以协同状态λ就是一个常数。
在文献【2】中是如何推导这个过程的呢?作者把公式5.16和5.17进行变化,利用公式3.4
,公式3.4中的
其实就是dSOC/dt,也就是和文献【1】中的4.51一样。最后得到的结果就如公式5.21所示,
。其中的推导过程其实如下
,紧接着文献【2】里面说开路电压和内阻相对于SOC的变化可以忽略不计,于是
和
都是0,那么公式5.21也变成0了,所以协同状态λ就是一个常数。总的来看,推导过程几乎一致,唯一的区别是文献【2】更准确的说明了Voc和内阻R是相对于SOC的倒数为0,而不是一直是个常数不变。
基于以上的推导过程,文献【1】最终得到的汉密尔顿函数的另一种形式,
,然后再和ECMS的表达式
进行比较,就可以发现等效因子和协同状态λ之间的关系:
要记住上面的推导结论,协同状态λ就是一个常数,但是等效因子s不一定是一个常数,因为开路电压和内阻其实是随时间变化的,电池如果老化了,容量值也会发生变化。
这里必须得说明一下,上面文献【1】中的公式4.59,可以把它稍微变形,因为I=Pm/Voc,而电池SOC的变化 dSOC/dt = I/Qnom,又因为汉密尔顿函数和ECMS等效起来,所以其实可以把ECMS的形式写成
,这样的话可以把电机的功率值替换成电池SOC,实现起来更为直观。
参考文献:
【1】《车联网环境下并联混合动力客车控制策略优化研究》
【2】Hybrid Electric Vehicles Energy Management Strategies,Chapter 5
等效燃油消耗ECMS与庞德里亚金最小值原理PMP中协同状态的关系的更多相关文章
- 机器学习:逻辑回归(scikit-learn 中的逻辑回归)
一.基础理解 使用逻辑回归算法训练模型时,为模型引入多项式项,使模型生成不规则的决策边界,对非线性的数据进行分类: 问题:引入多项式项后,模型变的复杂,可能产生过拟合现象: 方案:对模型正则化处理,损 ...
- 手写线程池,对照学习ThreadPoolExecutor线程池实现原理!
作者:小傅哥 博客:https://bugstack.cn Github:https://github.com/fuzhengwei/CodeGuide/wiki 沉淀.分享.成长,让自己和他人都能有 ...
- 手写一个线程池,带你学习ThreadPoolExecutor线程池实现原理
摘要:从手写线程池开始,逐步的分析这些代码在Java的线程池中是如何实现的. 本文分享自华为云社区<手写线程池,对照学习ThreadPoolExecutor线程池实现原理!>,作者:小傅哥 ...
- WCF初探-17:WCF数据协定之等效性
数据协定等效性特点概述 对于客户端要将某种类型的数据成功发送到服务,或者服务要将数据成功发送到客户端的情况,接收端上并不一定必须存在此发送数据类型. 唯一的要求是两种类型的数据协定应该等效. 要使数据 ...
- 查看JAVA进程中哪个线程CPU消耗最高
一,在centos linux 上查看进程占用cpu过高 top shift+h 查看哪个进程程消耗最高 二,查看JAVA进程中哪个线程消耗最高 2.1 导出java运行的线程信息 ...
- redis内存消耗详解
Redis所有的数据都存在内存中,相对于廉价的硬盘,内存资源还是比较昂贵的,因此如何高效利用redis内存变得非常重要. 内存消耗分析 管理内存的原理和方法 内存优化技巧 一.内存消耗 理解redis ...
- 关于质能等效的两个思想实验 Two Ideological Experiments on Mass-Energy Equivalence
大家知道,物质和能量是等效的,虽然质能方程已暗示了这种等效关系,但并非显而易见.此等效性可以从以下两个思想实验中获知. 实验一:一台电子称上放置一个金属物体,加热它,称的读数将会略微增加.这是因为金属 ...
- golang 如何查看程序执行消耗时间
写代码过程中,有时需要分析代码块的时间消耗. 本文介绍使用time包中的Since函数查看程序执行时间. package main import ( "fmt" "tim ...
- Linux环境下的CPU消耗分析
在Linux系统中, CPU 主要用于中断,内核以及用户进程的任务处理,优先级为 中断 > 内核 > 用户进程.在CPU消耗分析中,我们还经常遇到下面几个概念. 上下文切换 ...
随机推荐
- jest 测试入门(一)
说实话,作为前端来说,单元测试,并不是一种必须的技能,但是确实一种可以让你加法的技能 之前我一个库添加了单元测试,加完之后感悟颇深,所以写下这篇文章来记录 环境搭建 一般来说,普通的库,如果没有添加 ...
- 静态、动态cell区别
静态cell:cell数目固定不变,图片/文字固定不变(如qq设置列表可使用静态cell加载) 动态cell:cell数目较多,且图片/文字可能会发生变化(如应网络请求,淘宝列表中某个物品名称或者图片 ...
- [单调队列]XKC's basketball team
XKC's basketball team 题意:给定一个序列,从每一个数后面比它大至少 \(m\) 的数中求出与它之间最大的距离.如果没有则为 \(-1\). 题解:从后向前维护一个递增的队列,从后 ...
- crontab不执行service命令
我这里的需求是每30分钟重启一次 写成下面的格式就可以正确执行了,后面执行的命令写绝对路径 */30 * * * * /usr/bin/supervisorctl restart all
- 华为鸿蒙系统pk安卓系统
Harmony OS Vs Android Comparison It isn’t based on Linux kernel The key difference between HarmonyOS ...
- VLC查看日志的方法
最近使用VLC去播放rtsp网络串流总是失败,显示要查看日志,查看的方法: 进入VLC的GUI,点击视图,添加界面,添加调试窗口: 添加调试窗口,会弹出界面: 上面会有报错的提示. 大佬如果有其他的办 ...
- [LC] 77. Combinations
Given two integers n and k, return all possible combinations of k numbers out of 1 ... n. Example: I ...
- PowerDesign15连接数据库并反向表结构详细
10.0 sql2008 11.0 sql2010 这的服务器名称,复制到上面 这里的默认数据库不要改.Powerdesign会把自已的数据也存在默认的数据库里 一般不用改 测试 成功 这里ODBC的 ...
- SHELL用法三(变量及参数设置)
京峰JF2115-Day45上课笔记 1.SHELL编程变量命名规范: 变量分为:系统变量.环境变量.用户变量: 定义变量时使用=赋值,无需通过declare定义变量的类型: 变量赋值时,=前后是不能 ...
- LG_3457_[POI2007]POW-The Flood
题目描述 Description 你手头有一张该市的地图.这张地图是边长为 m∗n 的矩形,被划分为m∗n个1∗1的小正方形.对于每个小正方形,地图上已经标注了它的海拔高度以及它是否是该市的一个组成部 ...