CN112632860B - 一种基于强化学习的动力传动系统模型参数辨识方法 - Google Patents
一种基于强化学习的动力传动系统模型参数辨识方法 Download PDFInfo
- Publication number
- CN112632860B CN112632860B CN202110002104.6A CN202110002104A CN112632860B CN 112632860 B CN112632860 B CN 112632860B CN 202110002104 A CN202110002104 A CN 202110002104A CN 112632860 B CN112632860 B CN 112632860B
- Authority
- CN
- China
- Prior art keywords
- parameter
- value
- parameters
- model
- reinforcement learning
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000002787 reinforcement Effects 0.000 title claims abstract description 57
- 230000005540 biological transmission Effects 0.000 title claims abstract description 36
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 31
- 238000004088 simulation Methods 0.000 claims abstract description 29
- 230000035945 sensitivity Effects 0.000 claims abstract description 14
- 230000006870 function Effects 0.000 claims description 47
- 239000002245 particle Substances 0.000 claims description 41
- 230000009471 action Effects 0.000 claims description 35
- 239000003795 chemical substances by application Substances 0.000 claims description 31
- 239000013598 vector Substances 0.000 claims description 28
- 238000012549 training Methods 0.000 claims description 26
- 239000011159 matrix material Substances 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 20
- 230000006399 behavior Effects 0.000 claims description 11
- 238000010206 sensitivity analysis Methods 0.000 claims description 10
- 238000005457 optimization Methods 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 8
- 238000012614 Monte-Carlo sampling Methods 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 3
- 230000003247 decreasing effect Effects 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims description 2
- 238000009966 trimming Methods 0.000 claims 1
- 238000005094 computer simulation Methods 0.000 abstract description 5
- 230000008901 benefit Effects 0.000 abstract description 4
- 230000000694 effects Effects 0.000 abstract description 3
- 230000002265 prevention Effects 0.000 abstract description 2
- 238000013016 damping Methods 0.000 description 5
- 230000006872 improvement Effects 0.000 description 4
- 239000003638 chemical reducing agent Substances 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000002068 genetic effect Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 239000006096 absorbing agent Substances 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000035939 shock Effects 0.000 description 1
- 230000005477 standard model Effects 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/25—Design optimisation, verification or simulation using particle-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/08—Probabilistic or stochastic CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/14—Force analysis or force optimisation, e.g. static or dynamic forces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Feedback Control In General (AREA)
Abstract
本发明公开了一种基于强化学习的动力传动系统模型参数辨识方法,属于系统建模仿真领域。本发明针对动力传动系统模型参数敏感度不一致,现有辨识算法收敛速度慢、搜索范围要求较高的问题,构建用于动力传动系统模型参数辨识的强化学习框架,具有防止局部最优、收敛速度快、搜索范围大的优点;本发明采用分阶段的辨识流程,粗调阶段利用强化学习收敛速度快、搜索范围大的特点,快速找到各参数的最优子区间,微调阶段利用启发式算法精度高、全局搜索能力强的特点,在最优子区间中确定最终辨识结果,与只使用单个算法相比,分阶段的辨识效果更好。
Description
技术领域
本发明属于系统建模仿真领域,更具体地,涉及一种基于强化学习的动力传动系统模型参数辨识方法。
背景技术
随着多领域系统建模仿真技术的不断发展,Modelica语言逐渐成为了多领域多学科系统仿真领域发展的行业标准,其目标是定义一种通用的用于复杂系统建模的编程语言。Modelica模型即为使用Modelica语言编写的具有面向对象建模、多领域统一建模、非因果陈述式建模和连续离散混合建模能力的程序,可用于不同行业的工程师搭建自己的仿真模型系统,开展相应的动态仿真。对于Modelica模型而言,想要尽可能地与物理样机保持一致,关键的一点就在于模型参数的设置,搭建模型的过程只是确定了模型的基本形式,想要获得最优的仿真性能,必须设置精确的模型参数。
动力传动系统是在控制器控制下从功率源以速度/角速度、力/力矩形式获取能量并传递到系统下一个环节的装置,主要包括电动机、减速器等部件,动力传动过程中存在能量损失、速度改变等状态。
现有的模型参数辨识方法有多种,目前最常用的即为最小二乘法,该方法是建模软件中默认的参数优化方法。但是,最小二乘估计对数据的依赖性过高,辨识结果容易受噪声影响,且对参数的初始化范围要求比较苛刻。另外比较常用的辨识方法为进化算法,如粒子群算法(Particle Swarm Optimization,PSO)、遗传算法(Genetic Algorithm,GA)等,这类方法逼近全局最优的能力较强,但收敛速度较慢,精度也有待提高。因此,急需一种收敛速度快、对参数初始范围要求不高的辨识方法来对基于Modelica的动力传动系统模型进行参数辨识。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于强化学习的动力传动系统模型参数辨识方法,其目的在于提出一种收敛速度快、对参数初始范围要求不高的辨识方法来对基于Modelica的动力传动系统模型进行参数辨识。
为实现上述目的,本发明提供了一种基于强化学习的动力传动系统模型参数辨识方法,包括:
S1.构建基于多领域统一建模语言Modelica的动力传动系统动力学模型;
S2.对模型待辨识参数进行灵敏度分析;
S3.基于强化学习算法对待辨识参数进行粗调:
构建用于Modelica动力传动系统模型参数辨识的强化学习框架;
利用强化学习框架进行迭代训练,得到每个待辨识参数的最优子区间;
S4.参数微调:
以实测数据与模型估计值的均方误差为目标函数,在待辨识模型参数所形成的解空间中迭代寻优,以得到目标函数值最小时对应的各参数值,作为最终的辨识结果。
进一步地,步骤S2具体为,使用sobol方法对参数待定的动力传动系统模型进行参数灵敏度分析,具体步骤如下:
01.在N个待辨识参数的可能取值区间范围内分别进行蒙特卡洛采样,生成初始样本矩阵一A、初始样本矩阵二B以及交叉样本矩阵其中i={1,2,…,N};
02.将样本矩阵A、B、作为输入对动力传动系统模型进行仿真求解,分别得到初始样本矩阵A、初始样本矩阵B以及交叉样本矩阵/>的模型仿真结果向量f(A)、f(B)、
03.基于仿真结果和以下公式求出每个参数的全局影响指数STi:
其中,Y表示f(A)、f(B)和构成的向量集合;Var(Y)表示动力传动系统模型输出的方差;
04.根据参数全局影响指数的大小对待辨识参数进行敏感度排序;影响因子越大表示越敏感;
05.将灵敏度低于设定阈值的待辨识参数进行组合。
进一步地,强化学习框架构建过程具体包括:
(1)将模型估计值Yest与实测值Ymea的均方误差作为强化学习目标函数F(X);
(2)构建单步奖赏:
r=min(1,max(0,(F(Xmean)-F(Xbest))/(F(Xmean)-F(Xcur)000
其中,r表示单步奖赏值,F(Xcur)表示当前参数下的目标函数值,F(Xbest)表示最优参数下的目标函数值,F(Xmeab)表示参数平均值下的目标函数值;
(3)根据参数最小变化量Gi(i=1,2,…,N)及每个参数的范围设置动作:
将第i个参数的搜索范围拆分为个子区间,选中一个子区间后,在该子区间随机获取一个值作为动作;其中,ximax为第i个参数最大值,ximin为第i个参数最小值;最小变化量Gi指第i个参数在辨识过程中每步增加或减少的变化量;
(4)构建动作选择策略:
01.选择搜索路径:
确定下一轮选择的动作在当前动作的左边还是右边,选择指标为Lp(i,j),计算公式为:
其中,k表示参数变换组合的数量;为第l个路径上与当前动作ai,j相邻的k个动作中第n大的Q值,λ1为路径权重系数;
获取一个[0,1]之间的随机数ε1,使用如下公式确定搜索路径l:
rand(1,2)表示1-2区间内的随机概率分布;
02.确定动作:
获取一个[0,1]之间的随机数ε2,使用如下公式确定动作a:
q(i,m)表示第i个待辨识参数的Q值,ε1和ε2是用来保证强化学习探索性的随机数;
(5)构建Q值函数的更新策略:
第i个参数对应的Q值函数更新公式如下:
Qr+1(i,j)+=α(r+(1-λ2)max(Lp(i,j))+λ2min(Lp(i,j))-Qr(i,j))
式中α为控制学习速率的超参数,r为单步奖赏,λ2为控制更新幅度的超参数。
进一步地,参数粗调阶段,使用基于Q-Learning算法的强化学习框架,迭代训练的具体步骤如下:
(1)随机初始化所有待辨识参数,并代入动力传动系统模型中计算,与实测数据相比得到均方误差作为最优目标函数F(X)的初始值;
(2)多个智能体按照待辨识参数灵敏度从大到小执行串行学习;强化学习框架中根据Q值表调整待辨识参数的环节称为智能体,每个待辨识参数都唯一对应一个智能体;智能体调整待辨识参数的过程称为智能体的学习行为;
学习过程包括:在当前智能体对应参数的可能取值区间范围内随机选取一个动作arand(i),固定其它参数,将此参数应用到动力传动系统模型中,得到当前参数下的目标函数值F(Xcur)以及单步奖赏值r,根据Q值函数的更新策略更新当前智能体的Q值表;若F(Xcur)≤F(Xbest),认为当前参数有搜索价值,转入步骤(3),否则重复上述学习过程;
(3)根据动作选择策略选择一个动作aiter(i),固定其它参数,将此参数应用到FMU中,得到目标函数值F(Xcur)以及奖惩值r,更新Q值表;
(4)针对第i个参数迭代执行步骤(2)与(3)次,完成第i个参数的一次辨识,转入第i+1个参数的辨识;
(5)所有待辨识参数串行执行步骤(2)~(4)后完成一个训练周期,若当前完成周期数小于给定训练次数转(2)进入下一个训练周期,否则训练结束。
进一步地,步骤S4具体为,使用PSO优化算法对参数进行微调,得到最终的辨识结果,具体步骤如下:
考虑到强化学习的辨识误差,将微调范围设置为 其中,μ值根据粒子群算法的搜索能力设置,/>为强化学习得到的最优子区间,/>是第i个参数经过强化学习辨识后的最优值;
初始化一个N维空间以及粒子群,创建每个粒子的速度向量vi、位置向量xi、历史最优位置向量pi,以及整个粒子群的历史最优位置向量pg;
以模型预测值与实测值的均方误差建立适应度函数G(X),模型预测值由粒子的当前位置代入FMU中仿真求解得到;整个粒子群的搜索目标就是使G(X)最小;
开始迭代搜索:
在一轮迭代中,计算每个粒子的适应度值,更新单个粒子的pi值及种群的pg值,再根据下式更新每个粒子的速度和位置向量;
式中ω为惯性权重,默认为0.6,c1、c2为学习因子,r1、r2为[0,1]之间的随机数;
达到最大迭代次数后,粒子群的历史最优位置向量pg即为参数辨识的最终结果。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果。
(1)本发明针对Modelica模型参数敏感度不一致,现有辨识算法收敛速度慢、搜索范围要求较高的问题,构建用于Modelica动力传动系统模型参数辨识的强化学习框架,具有防止局部最优、收敛速度快、搜索范围大的优点;本发明采用分阶段的辨识流程,粗调阶段利用强化学习收敛速度快、搜索范围大的特点,快速找到各参数的最优子区间,微调阶段利用启发式算法精度高、全局搜索能力强的特点,在最优子区间中确定最终辨识结果,与只使用单个算法相比,分阶段的辨识效果更好,
(2)针对参数数量过多引起的搜索空间庞大的问题,本发明还对待辨识参数进行了灵敏度分析,将灵敏度较低的待辨识参数进行组合,有助于减少待辨识参数的数量,节约强化学习辨识参数过程中计算资源的开销;同时利用灵敏度大小对参数辨识优先级进行设定,能够为强化学习方法辨识参数过程中学习率设定提供依据,有助于提高参数辨识精度。
(3)本发明基于Sobol法设计了灵敏度分析方案,Sobol法基于方差在可能的取值空间同时探索模型的所有参数,并且对模型的非线性和单调性没有限制,适合对任意模型进行参数全局灵敏度分析。
附图说明
图1是本发明提供的基于强化学习的动力传动系统模型参数辨识方法流程图;
图2是基于Modelica创建的动力传动系统模型;
图3是inertia2.J/spring.c/damping/和Jmotor参数的全局影响指数;
图4是针对数控机床进给系统建立基于Modelica动力传递模型,采用本发明方法进行参数辨识,在相同输入条件下,物理样机输出结果与模型仿真结果。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明提供了一种基于强化学习的Modelica模型参数辨识方法,可以有效地辨识出Modelica模型的关键参数以提高模型的仿真性能。本发明为达到收敛速度快、辨识精度高的要求,以模型对应的物理机实测数据作为训练样本,在参数粗调阶段采用基于Q-Learning算法改进的强化学习框架,对每个待辨识参数代表的智能体进行串行的迭代训练;在微调阶段采用PSO/GA算法,确定待辨识参数的最终值。本发明具有收敛速度快、辨识精度高的特点。
强化学习是一种基于“试错机制”的机器学习方法,起源于对动物智能领域的研究,随后发展为机器学习领域的一个重要分支。强化学习考虑的是由目标指引的智能体与未知环境之间相互作用的过程,在不断试错的过程中积累经验并不断更新动作选择策略,具有收敛速度快、易于避免局部最优、无需先验知识等优点。目前,强化学习多用于组合优化(序列决策)领域且已有成功案例,而参数辨识所属的函数优化领域还未有其应用。考虑到Modelica模型参数辨识所需的快速收敛、全局最优等要求,因此本发明提供一种基于强化学习的参数辨识方法来解决该问题。
本发明采用的整体技术方案为:使用基于Sobol的灵敏度分析方法分析待辨识Modelica模型的参数灵敏度,根据参数的全局影响因子大小对参数进行排序,并确定参数在粗调阶段的训练顺序及离散化程度(即在初始化范围拆分的格子数);使用本发明中基于Q-Learning改进的强化学习框架,以物理机上的实测数据和模型仿真数据之间的均方误差为目标函数及环境状态,参数在可行范围内的调整为动作,当前目标函数值与历史最优/平均值之间的关系为单步奖赏,对Modelica模型的待辨识参数进行粗调并得到每个参数的最优子区间;基于上述所有参数的最优子区间,采用PSO/GA算法,迭代训练得到每个参数的最优辨识值,即为整个技术方案最终的辨识结果。
S1.基于Sobol方法的Modelica模型参数灵敏度分析,包括以下几个步骤:
(1)导出待辨识Modelica模型的FMU(Functional Mock-up,功能模型单元,包含模型的C代码、求解器等,可以被直接调用并独立完成模型的仿真求解),设置为“Co-Simulation”(联合仿真)模式;
(2)在N个待辨识参数的范围内分别进行蒙特卡洛采样,生成样本矩阵A、B以及ABi(i=1,2,…,N),将样本矩阵作为输入对FMU进行仿真求解得到Y值矩阵,基于Y值矩阵和影响指数公式得到每个待辨识参数的全局影响因子并排序。根据待辨识参数影响因子的大小确定训练顺序,影响因子越大(即越敏感)的参数在单轮训练中越先被优化;
(3)在每个参数的搜索范围内获取一个随机值,代入FMU计算出结果作为基准值,再依次确定每个参数的最小子区间大小Gi(i=1,2,…,N),确保第i个参数在增减Gi后对仿真结果有比较显著的影响。
S2.基于Q-Learning算法的强化学习框架,用于参数粗调阶段。其特征在于,构成如下:
(1)环境状态设置为当前轮数的模型估计值Yest与物理机实测值Ymea的均方误差(即强化学习目标函数F(X)),用于表示当前模型参数组合与实际参数组合之间的差别;
(2)单步奖赏用于衡量当前状态所选动作的好坏,是目标函数值的表达式,有如下两种模式:
iir=min(1,max(0,(F(Xmean)-F(Xbest))/(F(Xmean)-f(Xcur))))
r表示奖惩值,F(Xmean)表示参数平均值下的目标函数值,F(Xbest)表示最优参数下的目标函数值,F(Xcur)表示当前参数下的目标函数值
(3)动作根据参数最小子区间Gi(i=1,2,…,N)及每个参数的范围设置,将第i个参数的搜索范围拆分为个子区间(ximax为参数最大值,/>为参数最小值),选中一个子区间后,在该区间随机获取一个值作为动作即可;
(4)动作选择策略分为两个阶段:选择搜索路径和确定行为。前者确定下一轮选择的行为在当前行为的左边还是右边,选择指标为Lp(i,j),计算公式如下:
Lp(i,j)表示……,k表示参数变换组合的数量
为第l个路径上与当前行为ai,j相邻的k个行为中第n大的Q值,λ1为路径权重系数。
获取一个[0,1]之间的随机数ε1,使用如下公式确定搜索路径:
rand(1,2)表示1-2区间内的随机概率分布
确定行为则是在搜索路径上与当前行为相邻的k个行为中选择一个,获取一个[0,1]之间的随机数ε2,使用如下公式确定行为:
ε1和ε2都是用来保证强化学习探索性的随机数。
(5)基于Q-Learning算法设计Q值函数的更新策略,第i个参数对应的Q值函数更新公式如下:
Qr+1(i,j)+=α(r+(1-λ2)max(Lp(i,j))+λ2min(Lp(i,j))-Qr(i,j))
式中α为控制学习速率的超参数,r为单步奖赏,λ2为控制更新幅度的超参数,其值越小,Q值表更新幅度越大。
S3.基于强化学习框架的Modelica模型参数辨识算法,用于参数粗调阶段,具体步骤如下:
(1)随机初始化所有待辨识参数,并代入FMU中计算,与实测数据相比得到均方误差作为最优目标函数的初始值,并记录下来;
(2)进入一个训练周期,在该周期内多个智能体执行串行学习,即每个参数轮流优化,单个智能体的学习过程称之为“一回合”;
(3)进入一个回合,在该参数的搜索范围内随机选取一个动作arand(i),固定其它参数,将此参数应用到FMU中,得到当前回合的目标函数值F(Xcur)以及当前奖惩值r,根据Q值函数的更新策略更新当前智能体的Q值表。若F(Xcur)≤F(Xbest),认为当前参数有搜索价值,转(4),否则进入下一回合;
(4)进入一个搜索周期,在该周期内执行次迭代,每轮迭代根据动作选择策略选择一个动作aiter(i),固定其它参数,将此参数应用到FMU中,得到当前回合的目标函数值F(Xcur)以及当前奖惩值r,更新当前智能体的Q值表;
(5)一个智能体的搜索周期结束后,进入下一个智能体的“一回合”,直到所有智能体都经历一个回合,一个训练周期结束,若当前周期数小于转(2)进入下一个训练周期,否则训练结束。
S4.基于启发式优化算法PSO的参数微调方案,构成如下:
(1)根据强化学习算法的运行结果,确定每个待辨识参数的微调范围。若强化学习得到的最优子区间为i=1,2,…,N,考虑到强化学习的辨识误差,将微调范围设置为/>μ值根据粒子群算法的搜索能力来设置,/>是第i个参数经过强化学习辨识后的最优值;
(2)初始化一个N维空间以及粒子群,创建每个粒子的速度向量vi、位置向量xi、历史最优位置向量pi,以及整个粒子群的历史最优位置向量pg;
(3)以模型预测值与实测值的均方误差建立适应度函数F(X),模型预测值由粒子的当前位置代入FMU中仿真求解得到。整个粒子群的搜索目标就是使F(X)最小;
(4)开始迭代搜索,在一轮迭代中,计算每个粒子的适应度值,更新单个粒子的pi值及种群的pg值,再根据下式更新每个粒子的速度和位置向量,
式(1)中ω为惯性权重,默认为0.6,c1、c2为学习因子,通常c1=c2=2,r1、r2为[0,1]之间的随机数;
达到最大迭代次数后,粒子群的历史最优位置向量pg即为参数微调的最终结果,亦是整个参数辨识流程的最终结果。
本发明实施例以附图2所示的基于Modelica创建的动力传动系统模型(数控机床单轴伺服进给系统)为例对上述方法进行详细介绍,该系统模拟的是正弦信号驱动齿轮减速器,带动负载运转,系统中间还有两个用于模拟惯性的组件以及影响整个系统的弹簧和减震器。整个系统模型的输入为正弦信号,输出为组件inertia3的绝对角速度,待辨识的参数及其附属信息如表1所示。
表1
应当解释,此实施方案是为详解本发明技术方案并证明其有效性及可行性,而非真实工程案例,所以此实施方案中不以真实物理机的实测数据作为样本集,而是以标准模型的输出作为样本集,再随机初始化所有待辨识参数,进而利用本发明的技术方案进行参数辨识使得待定参数尽可能地靠近参数标准值,即完成辨识。完整的辨识流程,包括下列步骤:
1.导出该传动系统Modelica模型的FMU(功能模型单元),设置好仿真求解的步长、开始时间、结束时间及求解器等仿真参数;
2.将FMU中的待辨识参数设置为标准值,仿真求解得到输出作为样本集。输出曲线上以固定周期取样1000个点作为此次参数辨识的数据样本集,后续的强化学习目标函数和PSO算法适应度函数都为这1000个点的纵坐标和模型预测值之间的均方误差;
3.对Modelica模型进行参数灵敏度分析。如上所述,4个待辨识的参数分别为减速器负载转动惯量inertia2.J/扭簧刚度系数spring.c/阻尼器阻尼系数damping/和电机输出轴转动惯量Jmotor,灵敏度分析步骤如下:
(1)设定样本:维数为4(即4个输入变量),个数为10000(即10000个输入样本),基于每个参数的范围生成一个10000×8的Sobol矩阵,并按照Sobol法对其进行处理得到矩阵A、B以及AB (i)(i=1,2,…,8);
(2)将上述样本矩阵输入到FMU中仿真求解得到输出,按照Sobol方法将输出整理为Y值矩阵YA、YB和YAB,分别用f(A)、f(B)和f(AB i)表示;
(3)根据以下公式求出每个参数的全局影响指数STi:
结果如附图3所示,就敏感性而言,Jmotor>spring.c>damping>inertia2.J;
(4)依步骤(3)得到的敏感度排序确定学习顺序为Jmotor、spring.c、damping、inertia2.J,再确定每个参数对应的Gi,进而确定每个参数对应的拆分格子数分别为200/1000/100/30。
4.对Modelica模型进行参数粗调。使用基于Q-Learning的强化学习,需要为每个参数设定一个搜索范围,本案例中的的4个待辨识参数,其搜索范围由查阅手册或经验得出,在表1亦有体现。同时设置好算法中的参数,令强化学习算法学习率α=0.7,λ1=0.5为路径权重系数,λ2=0.25为控制更新幅度的超参数,k=4为参数变换组合的数量,然后使用如下步骤对参数进行初步辨识:
(1)随机初始化所有待辨识参数,代入基于Modelica动力传动系统模型中计算,与数据样本集相比得到均方误差作为最优目标函数的初始值,并记录下来;
(2)进入一个训练周期,在该周期内多个智能体执行串行学习,即每个参数轮流优化,单个智能体的学习过程称之为“一回合”;
(3)进入一个回合,在该参数的搜索范围内随机选取一个动作arand(i),固定其它参数,将此参数应用到FMU中,得到当前回合的目标函数值F(Xcur),使用公式得到单步奖赏r,使用公式Qr+1(i,j)+=α(r+(1-λ2)max(Lp(i,j))+λ2min(Lp(i,j))-Qr(i,j))更新当前智能体的Q值表。若F(Xcur)≤F(Xbest),认为当前参数有搜索价值,转(4),否则进入下一回合;
(4)进入一个搜索周期,在该周期内执行次迭代,每轮迭代根据动作选择策略选择一个动作aiter(i),固定其它参数,将此参数应用到FMU中,得到当前回合的目标函数值F(Xcur)以及当前奖惩值r,更新当前智能体的Q值表;
(5)一个智能体的搜索周期结束后,进入下一个智能体的“一回合”,直到所有智能体都经历一个回合,一个训练周期结束,若当前周期数小于转(2)进入下一个训练周期,否则训练结束。
此阶段获得的初步辨识结果为每个参数的最优子区间,如表2所示,在此基础上,还需确定精确解;
表2
5.对Modelica模型进行参数微调。步骤4只是得到了每个待辨识参数所在的最优子区间,还需要在此区间内使用PSO算法确定最终辨识结果,具体步骤如下:
(1)步骤4得到的最优子区间为考虑到强化学习的辨识误差,将微调范围设置为/>基于粒子群算法的搜索能力,将μ值都设为2;
(2)初始化一个4维空间以及粒子群,创建每个粒子的速度向量vi、位置向量xi、历史最优位置向量pi,以及整个粒子群的历史最优位置向量pg;
(3)以模型预测值与数据样本集的均方误差建立适应度函数F(X),模型预测值由粒子的当前位置代入FMU中仿真求解得到。整个粒子群的搜索目标就是使F(X)最小;
(4)开始迭代搜索,在一轮迭代中,计算每个粒子的适应度值,更新单个粒子的pi值及种群的pg值,再根据下式更新每个粒子的速度和位置向量,
式(1)中ω为惯性权重,默认为0.6,c1、c2为学习因子,通常c1=c2=2,r1、r2为[0,1]之间的随机数;
(5)达到最大迭代次数后,粒子群的历史最优位置向量pg即为参数微调的最终结果,亦是整个参数辨识流程的最终结果。
最终辨识结果与参数标准值的对比如表3,参数辨识结果与标准值误差均小于5%,满足工程使用要求。
表3
针对数控机床进给系统建立基于Modelica动力传递模型,并采用本发明方法进行参数辨识,在相同输入条件下,物理样机输出结果与模型仿真结果如图4所示,可以看出,模型仿真曲线变换趋势、数值大小与物理样机输出曲线基本一致,说明了本发明参数辨识方法的正确性与有效性。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种基于强化学习的动力传动系统模型参数辨识方法,其特征在于,包括:
S1.构建基于多领域统一建模语言Modelica的动力传动系统动力学模型;
S2.对模型待辨识参数进行灵敏度分析;
S3.基于强化学习算法对待辨识参数进行粗调:
构建用于Modelica动力传动系统模型参数辨识的强化学习框架;
利用强化学习框架进行迭代训练,得到每个待辨识参数的最优子区间;
强化学习框架构建过程具体包括:
(1)将模型估计值Yest与实测值Ymea的均方误差作为强化学习目标函数F(X);
(2)构建单步奖赏:
r=min(1,max(0,(F(Xmean)-F(Xbest))/(F(Xmean)-F(Xcur))))
其中,r表示单步奖赏值,F(Xcur)表示当前参数下的目标函数值,F(Xbest)表示最优参数下的目标函数值,F(Xmean)表示参数平均值下的目标函数值;
(3)根据参数最小变化量Gi(i=1,2,…,N)及每个参数的范围设置动作:
将第i个参数的搜索范围拆分为个子区间,选中一个子区间后,在该子区间随机获取一个值作为动作;其中,/>为第i个参数最大值,/>为第i个参数最小值;最小变化量Gi指第i个参数在辨识过程中每步增加或减少的变化量;
(4)构建动作选择策略:
01.选择搜索路径:
确定下一轮选择的动作在当前动作的左边还是右边,选择指标为Lp(i,i),计算公式为:
其中,k表示参数变换组合的数量;为第l个路径上与当前动作ai,j相邻的k个动作中第n大的Q值,λ1为路径权重系数;
获取一个[0,1]之间的随机数ε1,使用如下公式确定搜索路径l:
rand(1,2)表示1-2区间内的随机概率分布;
02.确定动作:
获取一个[0,1]之间的随机数ε2,使用如下公式确定动作a:
q(i,m)表示第i个待辨识参数的Q值,ε1和ε2都是用来保证强化学习探索性的随机数;
(5)构建Q值函数的更新策略:
第i个参数对应的Q值函数更新公式如下:
Qr+1(i,j)+=α(r+(1-λ2)max(Lp(i,j))+λ2min(Lp(i,j))-Qr(i,j))
式中α为控制学习速率的超参数,r为单步奖赏,λ2为控制更新幅度的超参数;
S4.参数微调:
以实测数据与模型估计值的均方误差为目标函数,在待辨识模型参数所形成的解空间中迭代寻优,以得到目标函数值最小时对应的各参数值,作为最终的辨识结果。
2.根据权利要求1所述的一种基于强化学习的动力传动系统模型参数辨识方法,其特征在于,步骤S2具体为,使用sobol方法对参数待定的动力传动系统模型进行参数灵敏度分析,具体步骤如下:
01.在N个待辨识参数的可能取值区间范围内分别进行蒙特卡洛采样,生成初始样本矩阵一A、初始样本矩阵二B以及交叉样本矩阵其中i={1,2,…,N};
02.将样本矩阵作为输入对动力传动系统模型进行仿真求解,分别得到初始样本矩阵A、初始样本矩阵B以及交叉样本矩阵/>的模型仿真结果向量f(A)、f(B)、
03.基于仿真结果和以下公式求出每个参数的全局影响指数STi:
其中,Y表示f(A)、f(B)和构成的向量集合;Var(Y)表示动力传动系统模型输出的方差;
04.根据参数全局影响指数的大小对待辨识参数进行敏感度排序;影响因子越大表示越敏感;
05.将灵敏度低于设定阈值的待辨识参数进行组合。
3.根据权利要求1所述的一种基于强化学习的动力传动系统模型参数辨识方法,其特征在于,参数粗调阶段,使用基于Q-Learning算法的强化学习框架,迭代训练的具体步骤如下:
(1)随机初始化所有待辨识参数,并代入动力传动系统模型中计算,与实测数据相比得到均方误差作为最优目标函数F(X)的初始值;
(2)多个智能体按照待辨识参数灵敏度从大到小执行串行学习;强化学习框架中根据Q值表调整待辨识参数的环节称为智能体,每个待辨识参数都唯一对应一个智能体;智能体调整待辨识参数的过程称为智能体的学习行为;
学习过程包括:在当前智能体对应参数的可能取值区间范围内随机选取一个动作arand(i),固定其它参数,将此参数应用到动力传动系统模型中,得到当前参数下的目标函数值F(Xcur)以及单步奖赏值r,根据Q值函数的更新策略更新当前智能体的Q值表;若F(Xcur)≤F(Xbest),认为当前参数有搜索价值,转入步骤(3),否则重复上述学习过程;
(3)所述动作选择策略选择一个动作aiter(i),固定其它参数,将此参数应用到FMU中,得到目标函数值F(Xcur)以及奖惩值r,更新Q值表;
(4)针对第i个参数迭代执行步骤(2)与(3)次,完成第i个参数的一次辨识,转入第i+1个参数的辨识;
(5)所有待辨识参数串行执行步骤(2)~(4)后完成一个训练周期,若当前完成周期数小于给定训练次数转步骤(2)进入下一个训练周期,否则训练结束。
4.根据权利要求1所述的一种基于强化学习的动力传动系统模型参数辨识方法,其特征在于,步骤S4具体为,使用PSO优化算法对参数进行微调,得到最终的辨识结果。
5.根据权利要求1所述的一种基于强化学习的动力传动系统模型参数辨识方法,其特征在于,使用PSO优化算法对参数进行微调,具体步骤如下:
将微调范围设置为其中,μ值根据粒子群算法的搜索能力设置,/>为强化学习得到的最优子区间,/>是第i个参数经过强化学习辨识后的最优值;
初始化一个N维空间以及粒子群,创建每个粒子的速度向量vi、位置向量xi、历史最优位置向量pi,以及整个粒子群的历史最优位置向量pg;
以模型预测值与实测值的均方误差建立适应度函数G(X),模型预测值由粒子的当前位置代入FMU中仿真求解得到;整个粒子群的搜索目标是使G(X)最小;
开始迭代搜索:在一轮迭代中,计算每个粒子的适应度值,更新单个粒子的pi值及种群的pg值,再根据下式更新每个粒子的速度和位置向量;
式中ω为惯性权重,c1、c2为学习因子,r1、r2为[0,1]之间的随机数;
达到最大迭代次数后,粒子群的历史最优位置向量pg即为参数辨识的最终结果。
6.一种基于强化学习的动力传动系统模型参数辨识系统,其特征在于,包括:计算机可读存储介质和处理器;
所述计算机可读存储介质用于存储可执行指令;
所述处理器用于读取所述计算机可读存储介质中存储的可执行指令,执行权利要求1至5任一项所述的基于强化学习的动力传动系统模型参数辨识方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110002104.6A CN112632860B (zh) | 2021-01-04 | 2021-01-04 | 一种基于强化学习的动力传动系统模型参数辨识方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110002104.6A CN112632860B (zh) | 2021-01-04 | 2021-01-04 | 一种基于强化学习的动力传动系统模型参数辨识方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112632860A CN112632860A (zh) | 2021-04-09 |
CN112632860B true CN112632860B (zh) | 2024-06-04 |
Family
ID=75290870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110002104.6A Active CN112632860B (zh) | 2021-01-04 | 2021-01-04 | 一种基于强化学习的动力传动系统模型参数辨识方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112632860B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113406434B (zh) * | 2021-05-14 | 2022-05-31 | 杭州电子科技大学 | 基于参数故障特性的svg动态参数分段优化辨识方法 |
CN113836788B (zh) * | 2021-08-24 | 2023-10-27 | 浙江大学 | 基于局部数据增强的流程工业强化学习控制的加速方法 |
DE102022104313A1 (de) | 2022-02-23 | 2023-08-24 | Dr. Ing. H.C. F. Porsche Aktiengesellschaft | Verfahren, System und Computerprogrammprodukt zum autonomen Kalibrieren eines elektrischen Antriebsstrangs |
CN114676572B (zh) * | 2022-03-25 | 2023-02-17 | 中国航空发动机研究院 | 一种参数确定方法及装置、计算机可读存储介质 |
CN114860388B (zh) * | 2022-07-07 | 2022-09-20 | 中国汽车技术研究中心有限公司 | FMU模型转换为Modelica模型的联合仿真方法 |
CN117312808B (zh) * | 2023-11-30 | 2024-02-06 | 山东省科学院海洋仪器仪表研究所 | 一种海面空气动力学粗糙度的计算方法 |
CN118096085B (zh) * | 2024-04-24 | 2024-07-19 | 山东冠县鑫恒祥面业有限公司 | 一种基于物联网的面粉产线设备运维管理方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107341294A (zh) * | 2017-06-15 | 2017-11-10 | 苏州同元软控信息技术有限公司 | 基于Modelica语言的航天器信息系统建模仿真方法 |
CN109522602A (zh) * | 2018-10-18 | 2019-03-26 | 北京航空航天大学 | 一种基于代理模型的Modelica模型参数优化方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11321504B2 (en) * | 2018-05-09 | 2022-05-03 | Palo Alto Research Center Incorporated | Learning constitutive equations of physical components with constraints discovery |
-
2021
- 2021-01-04 CN CN202110002104.6A patent/CN112632860B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107341294A (zh) * | 2017-06-15 | 2017-11-10 | 苏州同元软控信息技术有限公司 | 基于Modelica语言的航天器信息系统建模仿真方法 |
CN109522602A (zh) * | 2018-10-18 | 2019-03-26 | 北京航空航天大学 | 一种基于代理模型的Modelica模型参数优化方法 |
Non-Patent Citations (1)
Title |
---|
基于Modelica语言的多领域模型仿真优化研究;吴义忠;蒋占四;陈立平;;系统仿真学报;20090620(12);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112632860A (zh) | 2021-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112632860B (zh) | 一种基于强化学习的动力传动系统模型参数辨识方法 | |
CN111428849A (zh) | 基于改进粒子群算法的传递函数模型参数辨识方法及装置 | |
WO2021029802A1 (en) | Improved machine learning for technical systems | |
CN112395777B (zh) | 基于汽车尾气排放模拟环境的发动机标定参数寻优方法 | |
CN103440377B (zh) | 基于改进并行de算法的飞行器气动外形优化设计方法 | |
Haddad Khodaparast et al. | Efficient worst case” 1-cosine” gust loads prediction | |
CN114880806A (zh) | 基于粒子群优化的新能源汽车销量预测模型参数优化方法 | |
CN115167102A (zh) | 一种基于并行优势动作评价的强化学习自适应pid控制方法 | |
CN113614743A (zh) | 用于操控机器人的方法和设备 | |
Menner et al. | Automated controller calibration by Kalman filtering | |
CN116560301A (zh) | 一种基于梯度优化的机床进给系统数理模型参数辨识方法 | |
JP2020095586A (ja) | 強化学習方法、および強化学習プログラム | |
CN113939775A (zh) | 用于确定针对技术系统的调节策略的方法和设备 | |
Picotti et al. | Data-driven tuning of a nmpc controller for a virtual motorcycle through genetic algorithm | |
CN114564787A (zh) | 用于目标相关翼型设计的贝叶斯优化方法、装置及存储介质 | |
Xu et al. | Meta-learning via weighted gradient update | |
Bethke et al. | Approximate dynamic programming using Bellman residual elimination and Gaussian process regression | |
CN110908280B (zh) | 一种小车-二级倒立摆系统优化控制方法 | |
CN114967472A (zh) | 一种无人机轨迹跟踪状态补偿深度确定性策略梯度控制方法 | |
CN113657604A (zh) | 用于运行检查台的设备和方法 | |
CN114879644A (zh) | 汽车自适应巡航系统控制器参数快速标定方法 | |
He et al. | A novel tuning method for predictive control of vav air conditioning system based on machine learning and improved PSO | |
Wang et al. | A learning-based tune-free control framework for large scale autonomous driving system deployment | |
CN111077769A (zh) | 用于控制或调节技术系统的方法 | |
CN117273392B (zh) | 家具生产决策方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |