1 引言
卫星电源系统由太阳阵、电池组、电源控制器等部件组成
[1].在地影期由电池组独立提供能量,因此确保电池组的可靠运行是卫星电源系统的关键问题之一
[2].
锂离子电池已经在卫星电源系统中得到广泛应用.锂电池单体电压较低且输出能力和容量有限,通常采用大量单体串并联组成大容量电池组
[3].如果电池单体荷电状态(State Of Charge,SOC)不一致,容量较小的单体可能过充/放,将加速电池老化
[4,5],严重影响其使用寿命和安全性.与地面电池组相比,卫星电源电池组还存在如下问题:(1)锂电池端电压随容量变化较大,为了提高供电效率和响应时间,电源系统往往需要将电池组直挂母线上
[6],这难以对母线电压进行控制;(2)锂电池单体故障率较高,相较于一般电池组,卫星电源系统无法更换故障单体;(3)卫星电源系统对体积和重量有较高的要求,均衡电路设计需要简单可靠.
为了解决上述问题,需要在串联电池组中增加冗余电池,并对电池组输出电压进行控制.在单体电池损坏后,可以切除故障单体,提高系统容错能力.电池组还可以利用冗余电池实现单体间的容量均衡,不需要额外的均衡电路.在系统工作过程中,还可以改变投入的串联电池数量,改变电池组端口电压.
针对含有冗余电池的串联电池组的容量管理方法,文献[
7]将冗余电池作为附加电源,实现非冗余电池容量均衡.但是该方法不能控制冗余电池的容量,在冗余电池充满或耗尽时将失去均衡能力.文献[
8]提出了一种以电池单体电压和SOC偏差为依据的均衡方法.文献[
9]提出了一种等能量变化/时间切换的电池均衡策略,并讨论了冗余电池数量、切换频率和效率等因素的影响.文献[
10]提出了一种基于冒泡排序的均衡方式,并与升压变换器配合使用,提升了电池组的容错能力.这些方法通过确定的阈值根据电池的剩余容量进行控制,存在着均衡效果和切换次数的矛盾.文献[
11]提出了一种基于二次规划求解单体电池最优分配时间比例的均衡方法.该方法需要已知充/放电周期使用电量和单体的效率.
由于锂电池端电压随容量变化较大,母线电压会有较大波动,减少母线电压的变化范围有利于降低二次电源的设计要求.改变串联电池数量可以减少串联电池组端电压的变化范围,电池单体两端的电压受充放电电流影响,剩余容量相同的单体在静置和工作状态下的端电压有较大差别,不易判断电池节数改变的时间点.随着串联电池节数与冗余电池节数的增加,均衡算法的实现也会更加困难.
近年来,人工智能技术迅速发展,已经广泛应用到多个行业.与经典的优化方法、基于规划的方法和启发式算法相比,强化学习方法具有不需要依赖明确的目标函数、容易收敛、能够进行实时决策等优点
[12].本文提出一种基于强化学习的串联电池控制策略.利用冗余电池均衡电池容量并动态调节串联电池数量,在尽可能保证直流电压稳定的同时减少开关动作次数.在MTALB\Simulink和OpenAI的gym环境中完成模型搭建和强化学习智能体训练,最后进行了算例检验并在Jetson Xavier NX处理器部署了算法,验证了所提出的强化学习方法对电池均衡控制的有效性和实时性.
2 系统建模
2.1 卫星电源系统及均衡拓扑
卫星电源系统主要由太阳阵、太阳阵控制器和电池组构成.为了简化结构,提高系统效率,一些卫星电源系统将电池组直接挂在母线上
[13],如
图1所示.在地影期,母线电压完全取决于电池组电压,电池电压变化会直接影响供电电压.
针对
图1中蓄电池组,本文采用的串联电池电路的拓扑结构如
图2所示
[8].其中B
i (
i=1,2,…,
N)为电池单体,每节电池配备一个串联开关K
i 和一个并联开关K
- i .当K
i 闭合,K
- i 断开时,单体电池投入;K
i 断开,K
- i 闭合时,单体电池切除.为了避免两个开关同时闭合引起短路,应选用常开式开关,并配备熔断器.
蓄电池组的串联冗余均衡方式下,如果电池串联数量为N节,备用电池数量为1节.在额定工作情况下,只有N-1节电池串联工作.在光照期对电池充电时,如果检测到B i 的容量较大而其他电池的容量较小时,将B i 旁路并将冗余电池投入,保证串联电池总数仍然为N-1节;同样,在地影期,检测到B i 的容量较小,而其它电池的容量较大时,将B i 旁路,由其他电池为负载提供能量.
2.2 电池组建模
电池的SOC定义为:
其中, Qt 为电池在t时刻的剩余容量,Q 0为电池额定容量,即电池充满后可放出的最大容量.
电池模型可以等效为受控电压源E和电阻R串联,
其中,V BAT为电池两端电压,i为流经电池单体的电流,i>0为单体放电,i<0为单体充电.
电源系统需要满足电流平衡条件.在光照期太阳阵为负载供电,多余的能量为蓄电池充电,如果光照不足或负载需求过大,则由太阳阵和蓄电池同时为负载供电.在地影期,负载由蓄电池供电.
其中,I BAT>0为电池放电,I BAT<0为电池充电.
由于电池的容量和充放电能力有限,需要满足电流约束,容量约束和工作电压约束.
3 深度强化学习算法
3.1 基本架构
传统的控制方法通过控制器对被控对象发出控制信号,再由反馈对控制信号进行修正,控制策略通常由数值或逻辑运算组成,需要设计者具备足够的专业知识,如
图3所示.深度学习的特点是不需要先验知识,可以通过海量数据提取特征进行自主学习,但是缺乏决策能力,而强化学习具有决策能力,却需要人工提取特征.将两者进行结合为解决复杂系统的决策问题提供了新的思路
[14~17].
强化学习的问题模型通常被表示为一个元组(S, A, P, R),其中,S 表示状态的集合,A 表示动作的集合,P 表示状态转移概率,R 表示奖励函数.
强化学习通过代理观察环境的当前状态s∈S,并根据状态决定要采取的动作a∈A.一种状态可能对应多种动作,每种动作有不同的选择概率p,p由策略π决定.
动作对状态产生改变后,会生成奖励.强化学习的价值由当前奖励和折扣的未来奖励组成.如果该奖励是正面的,则随后执行该奖励的概率会增加.在状态s中,动作a对应的价值如式(8)所示:
式中,γ∈[0,1]为折扣因子.使用贪婪策略可以选择当前价值最大的动作,最优价值为:
实际中许多问题难以用模型描述,状态转移概率 P,以及每一个动作或状态对应的即时奖励可能是未知的.Q学习 (Q-learning)是一种不基于环境模型、 基于价值的强化学习算法.其主要思路是定义状态动作价值函数,即 Q函数.在随机初始化参数后,将观测数据代入到式(10)中对Q 函数进行迭代学习.
其中, st 和st +1分别为t时刻的状态和t+1时刻的状态,at 为t时刻的动作,α为学习率.
如果状态和动作有限,Q学习方法可以生成一个表格.但是如果状态或动作连续,使用表格表示策略就不可行了.使用参数化的动作价值函数Q ( s, a | θ)作为函数逼近器,可以处理连续的状态.更新方法是梯度下降法,使当前价值Q接近目标值Yt Q .
其中目标值Yt Q 如式(12)所示:
在深度Q网络(Deep-Q-Network,DQN)方法中,使用神经网络代替价值函数,并增加了目标网络,参数为 .其中 每隔几步由在线网络的参数θ复制过来.同时DQN使用了经验回放的训练方法,可以使训练容易收敛且更稳定.DQN的目标值如式(13)所示:
与式(13)对比可知,DQN中的贪婪策略与Q值更新都是在目标网络中执行的.
由于在值函数逼近中,动作选择和价值计算使用的参数是一样的,计算最大值的步骤会使估值偏大.双深度
Q网络(Double Deep-Q-Network, DDQN)算法
[18]在DQN的基础上进行了改进,其更新方法与DQN一样,但是目标值替换为
与DQN的目标值进行对比可以看出,DDQN的贪婪策略在在线网络中执行,而Q值更新在目标网络中执行.由于两个网络之间存在一定的更新间隔,动作选择和价值计算被分开,可以使价值计算更加准确、加速训练过程并更容易收敛.
3.2 控制目标
本文需要解决的问题包括串联电池组的均衡以及电池组端口电压调节.
首先是串联电池组的均衡,电池组的均衡程度可由式(15)计算.
其中,SOCBAT_max为当前所有电池中SOC最大的电池单体的SOC,SOCBAT_min为当前所有电池中SOC最小的电池单体的SOC,SOC'为所有电池单体的平均SOC,SOCEND为电池充电或放电的终点.在充电阶段,SOCEND= SOCMAX;在放电阶段,SOCEND= SOCMIN.这种设置对电池SOC偏离程度要求在充/放电初始阶段较小,在充/放电过程中不断增加.
其次,需要尽可能减少母线电压变化范围.母线电压的波动范围可由式(16)计算.
其中,V B为母线电压的实际值,V R为母线电压的额定值.
投入和切除电池单体需要对开关进行切换,频繁的通断开关,会减少开关的使用寿命,在电池的离散程度可以接受的情况下,应尽可能的减少电池单体的切换次数.开关的动作次数F可由式(17)计算.
式中N为串联电池总节数,ai t 为t时刻开关K i 的动作,其中1为接入,0为切除,ai t+ 1为t+1时刻开关K i 的动作,当改变开关动作时两者差值的绝对值为1,不改变时为0.
在实现串联电池均衡与母线电压调节时,需要改变电池单体的工作状态,控制变量为开关的通断情况.动作为开关的组合状态.
式中ai 为1或0.其中,1表示电池投入,0表示电池切除.
3.3 训练过程
本文所使用的强化学习算法的整体框架图如
图4所示,包括环境、状态、奖励、动作等要素.在训练过程中,强化学习智能体通过模拟环境进行自主学习,将每一个控制周期获得的状态、奖励和动作等信息存入记忆库中,并从记忆库中抽样对神经网络更新.
当前环境的状态包括系统的母线电压V B, N节电池的SOC,N节电池的电压V BAT_ i,控制N节电池的N个开关的上一个控制周期的动作信号ai .动作空间如式(18)所示,为所有开关状态的组合.奖励包括开关状态变化的惩罚,母线电压偏离期望电压的惩罚和电池SOC偏差惩罚,如式(19)所示.
这里T 1和T 2分别为母线电压和电池SOC偏离程度的阈值.
强化学习的训练流程如
图5所示.其中,
t为采样周期,
T为仿真时间,
j为当前训练次数,
J为训练总次数.当SOC
BAT_min小于SOC
MIN时提前结束本次训练.
4 算例分析
4.1 仿真设置
电池电压的工作范围为2.6~4.2 V,标称容量为3 000 mAh.母线电压的额定值设置为28 V.本算例中智能体需要获得的信息包括系统的母线电压V B, 9节电池的SOC: [SOC1, SOC2, …, SOC9] ,9节电池的电压: [V BAT_1, V BAT_2, …, V BAT_9] ,控制9节电池的9个开关的上一个控制周期的动作信号: [a 1, a 2, …, a 9].
锂离子电池电压变化范围较大,为了减少母线电压的变化范围,在工作过程中灵活选择同时串联的电池数量.设置46个动作组合,包括9节电池全部投入( =1),投入8节电池( =9)和7节电池( =36)三种情况.
考虑到冗余电池的存在,需要控制电池进行轮流使用,所以在充放电过程的前中期并不需要电池完全均衡,而是在整个放电周期结束之前逐渐均衡即可,电池偏离程度的计算式(15)很好的体现了这一点.对于式(19),设定当母线电压的偏离程度超过5%,SOC偏离程度超过10%时增加惩罚,同时对每一步的开关动作次数增加惩罚.
DDQN算法中的神经网络设置为四层,其中输入层共有28个节点,对应28个观察信号,隐藏层1共有112个节点,隐藏层2共有184个节点,输出层共有46个节点,对应46个动作.
由于电池充电阶段母线电压会受到太阳阵控制器工作模式的影响.这里只对电池放电阶段进行仿真.仿真时间设置为30 min,强化学习的采样设置为60 s/次.设置电池初始SOC为80~100的随机数.电池放电电流为5.5~7 A之间的一个随机数.
4.2 结果分析
为了检验电池均衡和电压控制效果,在电池初始条件均衡和不均衡两种条件下进行了仿真验证.
初始条件均衡时,初始SOC设置为100.放电电流设置为6.5 A.
图6(
a)为各节电池放电过程中所有电池单体SOC变化曲线.
图6(
b)为各电池单体SOC的极差值,从
图6(
b)中可以看出,在电池组放电过程中,单体电池间SOC的最大差异在7左右.在放电结束时,SOC的差异减小到0.
图6(
c)为母线电压变化情况,
图6(
d)为投入电池节数.在起始阶段,单体电池电压较高,投入电池节数为7节,随着单体电池电压的升高,为了维持母线电压接近28 V,投入电池节数依次增加为8节、9节,电压变化范围在23.9~30.3 V左右.
图6(
e)为每个控制周期开关的动作次数,表示在当前控制周期共有多少节电池的工作状态发生了变化.从图中可以看出,电池的投入和切除并不是时刻进行的,通过对开关动作设置惩罚,可以在满足控制目标的同时,减少开关动作次数.
初始条件不均衡的仿真中,初始SOC分别为100, 99, 95, 91, 90, 89, 85, 81和80,放电电流为5.8 A.
放电过程中电池SOC的变化曲线如
图7(
a)所示,
图7(
b)为放电过程中电池组SOC的极差值,各节电池SOC的最大值和最小值的差值为20,在800 s时,电池的SOC差值减少到5以下,结束时差值在3以下.在放电过程中实现了SOC均衡.母线电压的变化范围如
图7(
c)所示,在500 s之前,接入系统的电池节数为7节.随着单节电池电压降低,接入的电池数增加为8节和9节.系统电压也维持在接近28 V.可以看出该控制策略在实现电池均衡的同时并没有增大系统母线电压的变化范围.
在现有的针对可重构电池组的研究中,文献[
7,
8,
10]均是基于设置电池单体间不均衡程度的阈值来实现均衡控制的,基本对结构如
图8所示.
该类方法利用排序与阈值判断,从N节电池中挑选N-1节同时工作.首先对所有电池单体的容量进行排序确定SOCBAT_max和SOCBAT_min,然后使用式(16)判断是否达到均衡条件,如果未达到,则保持上一个控制周期的开关状态;如果达到,则将SOC最大的电池单体的控制开关置0,并将冗余电池单体的开关置为1.对比结果中的控制周期、均衡阈值设置以及仿真设置与上一小节中初始条件不均衡的设置一致.
对比方法的控制效果如
图9所示,其中电池单体SOC的变化趋势如
图9(
a)所示,从
图9(
b)可以看出,该方法的最终均衡目标与
图7(
b)相同.从
图9(
b)中可以看出,由于没有调整工作电池的数目,母线电压的变化范围为31~22 V,在
图7(
b)中母线电压的变化范围为30.75~25.5 V,通过改变电池节数,母线电压的变化减少了56%.从
图9(
d)中可以看出,如果不考虑初始变化,开关动作次数为56次,在
图7(
e)中,使用强化学习方法的开关动作次数为50次,开关次数也有所减少.
4.3 参数对比
为了研究不同参数对实验结果的影响,本文对DDQN算法框架的不同优化器,包括rmsprop、adam和sgdm,以及关键的超参数学习率(Learning Rate,lr)和批大小(Batchsize,bs)进行了比较.设置了5个参数组合,不同参数组合下lr和bs的设置如
表1所示,其他参数的设置如
表2所示.
图10(
a)~(
c)分别是使用rmsprop、adam和sgdm优化器在不同参数组合下训练过程的平均奖励曲线,奖励越高,说明当前控制策略的效果越接近预期.
参数 | 数值 |
折扣率 | 0.9 |
记忆库大小 | 100 000 |
梯度阈值 | 2 |
目标平滑系数 | 1 |
目标更新频率 | 4 |
组合 | 学习率 | 批大小 |
参数组合1 | 0.005 | 128 |
参数组合2 | 0.001 | 64 |
参数组合3 | 0.001 | 128 |
参数组合4 | 0.001 | 256 |
参数组合5 | 0.000 5 | 128 |
对比三个优化器的训练过程可以看出,使用adam和rmsprop优化器训练 5 000次后在lr为0.000 5和0.001时都可以收敛到较好的结果,而采用sgdm优化器的训练结果几乎都没有收敛到另外两个优化器的最佳结果.在已有的参数对比中,采用adam优化器的收敛速度要略快于rmsprop.在adam和rmsprop优化器的训练结果中,不同参数下的训练过程平均奖励的变化趋势相同,当lr为0.005时可以更快收敛,但是训练效果较差.而lr过小(0.000 5)会影响收敛速度.通过比较参数组合2、3和4可知,增大bs可以适当提升收敛速度,使用adam和rmsprop优化器的训练结果中,参数组合4都是最先收敛到最优值的,但是考虑到增大bs也会增加计算负担,在收敛速度差距不大的情况下bs也不宜过大.
4.4 实验验证
为了进一步验证方法的时效性和可行性,制作了英伟达Jetson Xavier NX处理器载板,对算法进行了验证,Jetson Xavier NX是一款基于arm的嵌入式GPU硬件平台,可以部署人工智能算法.
首先,使用电池测试仪对松下18650型电池进行放电测试,如
图11所示.不同电流大小下的放电曲线如
图12所示.根据电池放电曲线,建立了电压源和电阻串联的电池模型,电池内阻根据数据手册设定为0.04 Ω,开路电压
E与SOC的关系根据电池放电曲线拟合,如
式(20)所示.
其中,p 1至p 6为系数,p 1=1.445×10-9,p 2=-4.06×10-7, p 3 =4.3×10-5, p 4=-0.002 1, p 5=0.054,p 6=2.8.
然后,使用python在OpenAI 的强化学习环境库gym中搭建了本方法需要的强化学习环境,神经网络框架采用pytorch,强化学习算法的训练参数与神经网络参数与matlab仿真一致.最后,将训练好的模型和搭建的gym电池环境分别部署到两个Jetson Xavier NX上,信号通过搭配的FPGA使用PCIE(Peripheral Component Interconnect Express)传递,两个载板的FPGA通过LVDS(Low-Voltage Differential Signaling)通信,如
图13所示.
在程序运行的同时记录观察状态和执行动作,本算例的运行结果为如
图14所示.从结果可以看出,电池单体的SOC变化和电池组电压变化曲线和Matlab仿真中的结果基本一致,同时完成了电池单体均衡和电池组电压调节两个目标.进行本算例30次控制的总时间为0.84 s,完全可以满足60 s/次的实时控制要求.
5 结论
针对卫星电源系统中串联电池组均衡和母线电压变化范围较大的问题,本文提出了一种基于深度强化学习的串联电池冗余均衡控制策略.主要创新点为:
(1)在串联电池组冗余均衡拓扑中,通过控制电池的投入和切除在实现电池容量均衡的同时改变串联电池节数调节母线电压.
(2)提出了基于DDQN强化学习的电池组控制算法,设计强化学习算法的动作空间和奖励函数.
(3)使用simulink和gym分别搭建了电池组的强化学习环境,并在嵌入式硬件平台上进行了算例验证.
在算例分析中,本方法在满足电池均衡目标要求的同时减少了56%的母线电压变化范围和11%开关次数,并达到同样的均衡效果.该方法有助于实现高可靠电池管理,提升卫星电源系统的性能和安全性.
{{custom_sec.title}}
{{custom_sec.title}}
{{custom_sec.content}}
[1] 李康,何发智,潘一腾,等.基于簇相似的多分类器目标跟踪算法[J].电子学报,2016,44(4):821-825. LI Kang,HE Fa-zhi,PAN Yi-teng,et al.Multi-classifier object tracking based on cluster similarity[J].Acta Electronica Sinica,2016,44(4):821-825.(in Chinese)
[2] 宋涛,李鸥,刘广怡.基于置信区域内多级动态层表达的类贯序蒙特卡洛视觉跟踪方法[J].电子学报,2016,44(6):1355-1361. SONG Tao,LI Ou,LIU Gang-yi.Quasi-sequential Monte Carlo visual tracking based on multilevel dynamic layer representations in confidence region[J].Acta Electronica Sinica,2016,44(06):1355-1361.(in Chinese)
[3] PANG Y,LING H.Finding the best from the second bests-inhibiting subjective bias in evaluation of visual tracking algorithms[A].Proceedings of the 2013 IEEE International Conference on Computer Vision[C].Sydney,NSW,Australia:IEEE Press,2013.2784-2791.
[4] SMEULDE AWM,CHU DM,CUCCHIARA R,et al.Visual tracking:an experimental survey[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2014,36(7):1442-1468.
[5] WU Y,LIM J,YANG M.Object tracking benchmark[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2015,37(9):1834-1848.
[6] NAWAZ T,CAVALLARO A.A protocol for evaluating video trackers under real-world conditions[J].IEEE Transactions on Image Processing,2013,22(4):1354-1361.
[7] KRISTAN M,PFLUGFELDER R,LEONARDIS A,et al.The visual object tracking VOT2013 challenge results[A].Proceedings of the 2013 IEEE International Conference on Computer Vision Workshops[C].Sydney,NSW,Australia:IEEE Press,2013.98-111.
[8] KRISTAN M,MATAS J,LEONARDIS A,et al.A novel performance evaluation methodology for single-target trackers[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2016,38(11):2137-2155.
[9] TENG H,YU L,LIU H,et al.A novel performance evaluation method for visual tracking methods[A].Proceedings of the 2015 Chinese Intelligent Automation Conference[C].Fuzhou China:Springer,2015.313-324.
[10] CEHOVIN L,LEONARDIS A,KRISTAN M.Visual object tracking performance measures revisited[J].IEEE Transactions on Image Processing,2015,25(3):1261-1274.
[11] KASTURI R,GOLDGOF D,SOUNDARARAJAN P,et al.Framework for performance evaluation of face,text,and vehicle detection and tracking in video:Data,metrics,and protocol[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2009,31(2):319-336.
[12] 王国华,刘琼,庄家俊.基于局部特征的车载红外行人检测方法研究[J].电子学报,2015,43(7):1444-1448. WANG Guo-hua,LIU Qiong,ZHU Jia-jun.Method research on vehicular infrared pedestrian detection based on local features[J].Acta Electronica Sinica,2015,43(7):1444-1448.(in Chinese)
[13] DANELLJAN M,SHAHBAZ KHAN F,FELSBERG M,et al.Adaptive color attributes for real-time visual tracking[A].IEEE Conference on Computer Vision and Pattern Recognition[C].USA:IEEE Press,2014.1090-1097.
[14] JIA X,LU H,YANG M.Visual tracking via adaptive structural local sparse appearance model[A].Proceedings of the 2012 IEEE Conference on Computer Vision and Pattern Recognition[C].Providence,RI,USA:IEEE Press,2012.1822-1829.
[15] HENRIQUES JF,CASEIRO R,MARTINS P,et al.High-speed tracking with kernelized correlation filters[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2015,37(3):583-596.
[16] SEVILLA-LARA L,LEARNED-MILLER E.Distribution fields for tracking[A].Proceedings of the 2012 IEEE Conference on Computer Vision and Pattern Recognition[C].Providence,RI,USA:IEEE Press,2012.1910-1917.
[17] WANG D,LU H,YANG M.Online object tracking with sparse prototypes[J].IEEE Transactions on Image Processing,2013,22(1):314-325.
[18] ZHANG K,ZHANG L,LIU Q,et al.Fast visual tracking via dense spatio-temporal context learning[A].Proceedings of the 2014 European Conference on Computer Vision[C].Florence,Italy,2014.127-141.
[19] 余旺盛,田孝华,侯志强,等.基于局部分块学习的在线视觉跟踪[J].电子学报,2015,43(1):74-78. YU Wang-sheng,TIAN Xiao-hua,HOU Zhi-qiang,et al.Online visual tracking based on local patch learning[J].Acta Electronica Sinica,2015,43(1):74-78.(in Chinese)