一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于单轴伺服系统的惯量时变振动抑制算法的制作方法

2022-09-03 22:03:13 来源:中国专利 TAG:


1.本发明涉及伺服系统控制技术领域,具体为一种基于单轴伺服系统的惯量时变振动抑制算法。


背景技术:

2.伺服驱动器是一种重要的基本工业产品,广泛的应用于各类工业电机控制之中。伺服驱动器主要由驱动电路等硬件和控制算法两部分构成。传统的驱动器在硬件上主要由arm芯片、dsp芯片或是x86平台的各类cpu芯片做为主控芯片。传统的伺服驱控器采用pid控制算法等传统方法进行各类控制。传控的伺服控制器,在高精度的控制任务中(例如点到点运动中的快速振动抑制,高精度轨跟踪等),会因为各类原因产生控制性能不够的问题。例如,需要已知较为精确的产品的动力学模型。首先、需要对被控对象进行精准的动力学模型搭建,该步骤需要多年的实验数据作支撑;其次、在生产制造加工装配过程中需要对产品的一致性要求很高,该步骤对加工制造生产的机床控制精度要求很高;真实应用时,还需要对每款具体的产品进行单体的模型辨识,该步骤需要标定人员进行的产品参数标定,造成较高的标定成本。
3.现代人工智能技术的发展日新月异,已经在技术应用领域产生翻天覆地的影响,引领着新一代的技术革命。其中最具有通用解决方案前景的强化学习是其中翘楚,强化学习已经应用在围棋、电子游戏、自动驾驶、生物医药设计、健康预测、机器人控制等领域。目前强化学习在伺服驱控领域的应用很少。由于伺服驱动器的控制要求实性较高,控制精度较高等特有的问题,需要从ai芯片的引入等硬件以及强化学习训练算法、推理算法、评估算法等软件方面进行一系列改进与适配。
4.传统方法在控制复杂机械臂的任务中,传统时变振动抑制算法在环境随机量较多的时候,会出现振荡时间过长或到达目标位置时间过慢等缺陷,具体来说,存在着以下问题:
5.1)无法在控制的过程中适应随时间变化的系统,导致整个控制过程过于僵硬和死板。
6.2)无法在环境和机械臂参数未被测量标定的情况下给出合适的控制策略,需要大量的前期标定工作来为策略提供辅助。
7.3)在控制的过程中会受到较大的环境影响,导致控制策略不稳定,无法快速精确到达指定目标。
8.申请号为cn202110507042.4的中国发明专利公开一种变频振动自学习快速调谐吸振系统,包含被控振动初级系统、刚度阻尼可调谐电磁吸振和强化学习快速调谐控制系统;其中刚度阻尼可调谐电磁吸振包含永磁振子、刚度控制电磁线圈、导电铜片、阻尼控制电磁线圈和固定外框架;强化学习快速调谐控制系统包含强化学习模块、耦合动力学模块和频率辨识模块。本发明将强化学习植入吸振器的控制系统,通过使吸振与外部振动环境进行交互不断累计学习经验,学习完成后的吸振能快速调谐至最优状态并完成对初级振动
系统的振动抑制,其与本方案的具体应用领域存在差异,且为完全解决背景技术中提出的问题。
9.基于以上原因,申请人提出了一种基于单轴伺服系统的惯量时变振动抑制算法,可以在多参数较大范围泛化和惯量时变的情况下,达到传统控制无法达到的控制效果,并显著提升控制精度。


技术实现要素:

10.本发明的目的在于提供一种基于单轴伺服系统的惯量时变振动抑制算法,以解决上述背景技术中提出的传统时变振动抑制算法在环境随机量较多的时候,会出现振荡时间过长或到达目标位置时间过慢等缺陷。
11.为实现上述目的,本发明提供如下技术方案:一种基于单轴伺服系统的惯量时变振动抑制算法,包括以下步骤:
12.步骤一:数学建模;
13.将机器人单关节电机负载模型抽象为两个刚体、两个旋转副及一个扭簧相连接的力学模型,并分别建立动力学响应方程及变形方程,其动力学响应方程及变形方程分别为:
[0014][0015][0016][0017]
其中,物理量m表示扭矩,j表示转动惯量,α表示角加速度,b表示旋转阻尼,ω表示角速度,θ表示角度,物理量的下角标分别表示所对应的物体,其中下角标m代表电机,ml代表联轴器,l代表载荷,
[0018]
特别的,k
ml
表示联轴器的等效扭转刚度,表达式为:
[0019][0020]
其中,g
ml
表示联轴器切变模量,j
ml
表示联轴器转动惯量,l
ml
表示联轴器轴长;
[0021]
根据所得动力学响应方程,联立得到积分形式的机器人单关节负载时变系统的动力学表征,其中:
[0022]
联轴器两端的扭转满足如下几何约束:
[0023][0024]
其中,θ
ml
表示联轴器发生扭转变形的角度,αm表示电机的角加速度,α
l
表示载荷的角加速度,
[0025]
对系统受力分析可知:
[0026]
[0027][0028]
其中,mm为电机扭矩,m
ml
表示联轴器扭矩,m
l
表示载荷扭矩,m
in
表示输入扭矩。
[0029]
联立得到机器人单关节负载时变系统的动力学表征;
[0030][0031]
其中,物理量m表示扭矩,j表示转动惯量,α表示角加速度,b表示旋转阻尼,ω表示角速度,θ表示角度,物理量的下角标分别表示所对应的物体,其中下角标m代表电机,ml代表联轴器,l代表载荷。特别的,m
in
代表输入扭矩,k
ml
表示联轴器的等效扭转刚度。
[0032]
步骤二:搭建强化学习模型;
[0033]
基于强化学习ppo(proximal policy optimization)近端策略优化算法,在网络结构中额外增加lstm(long short-term memory)层,并在练时变惯量的过程,加深网络的层数,并增加了每层网络的节点数,进而得到基于单轴伺服系统的惯量时变振动抑制算法的专用改进型ppo强化学习模型;
[0034]
步骤三:回报函数设计;
[0035]
在距离目标位置超过10度时,远距离惩罚为一个线性函数:
[0036]
far_panalty=(position

target)/10;
[0037]
在距离目标位置小于10度时,位置奖励为一个beta函数:
[0038]
pos_reward=beta(0.6,2).pdf[(position

target)/10];
[0039]
在距离超出了最大超调范围后,设置有一个超调惩罚,所述超调惩罚随着超调距离的增大而增大,具体为:
[0040]
当超调大于0.0001度时,penalty=0.01

100*(position

target);
[0041]
当超调大于0.01度时,penalty=0.01 9

1000*(position

target)。
[0042]
步骤四:对基于ppo算法的改进型强化学习模型进行训练;
[0043]
1)数据采集,使用多环境并行的方法增加采样速度;
[0044]
2)重要性采样,将一次采集的样本可以多次更新策略,将原本的on-policy转化为off-policy,具体的实现形式为:
[0045][0046]
那么,梯度表达为如下:
[0047][0048]
3)引入优势函数,定义改进型ppo强化学习模型中每步收益比期望的收益好的部分为来代替原本的未来期望总回报q,则:
[0049]aπ(θ)
(s
t
,a
t
)=q
π(θ)
(s
t
,a
t
)-v
π(θ)
(s
t
);
[0050]
其中,q函数为原本的未来期望总回报,v函数为ac网络结构中critic网络对于当前状态价值的估计,将本式带入可得梯度和目标函数为:
[0051][0052][0053]
4)信任域限制;首先,使用了一个估计来代替kl距离的计算:
[0054]
其次,为目标函数引入kl距离作为正则项;
[0055]
5)ppo算法训练过程改进;
[0056]
步骤五:数据前处理;
[0057]
3)使用序列输入,在训练神经网络的过程中,在环境中增加了获取两次决策之间状态的处理,并将过去时刻的状态都进行存储并将这些状态同时输入到强化学习网络中,以加快训练速度;
[0058]
4)对输入进行修正在序列输入的基础上,我们又对输入的状态值进行了修正,主要包括位置修正,速度修正和电流修正。
[0059]
步骤六:数据后处理;
[0060]
1)消除电机速度反向,限制输出电流的增加速度,避免前期电流输出增加过快导致的电机速度反向问题,也不会损失网络本身的良好控制效果;
[0061]
2)加入pid降低末端振荡,在强化学习将机械臂控制到目标位置附近后转换为pid控制,系统会在较短的时间内停止,到达目标位置后电机可以逐渐停止在目标位置处。
[0062]
优选的,还包括:
[0063]
步骤七:策略微调;先使用一个通用的回报函数,训练得到一个整体效果较好的策略,在这个策略的基础上,用一个对超调更敏感的回报函数替代原有的回报函数,增加策略对于超调的抑制,从而得到一个更加稳定的策略网络。
[0064]
优选的,步骤一数学建模中,还包括:
[0065]
1)时变惯量设计,为了更好的模拟复杂机械臂的转动惯量模型,设计了一种可以模拟大多数时变惯量的系统,基于标准二次函数y=ax2 bx c设计,在指定时间段内的函数值随时间t的变化作为时变的惯量值ji,当二阶项系数a=0时,函数变为一阶函数,当二阶项和一阶项系数a=b=0时,函数变为常数函数,即为普通非时变系统定惯量的模型,预先
给定惯量的初始范围(jl1,jl2)和最终可到达范围(jl3,jl4),并给出惯量最大可变范围jlc,不妨取jl1=jl3,jl2=jl4,jlc=jl2-jl1;如果惯量的变化为单调变化,那么可以有额外的条件a*b》0使得在(0,t)时间内函数为单调递增或递减函数;
[0066]
2)泛用性参数泛化,在惯量时变的模型基础上,加入了阻尼泛化,刚度泛化和位置泛化;
[0067]
3)随机初始化状态,对初始状态进行随机初始化从而让系统采集到更多样化的运动轨迹。
[0068]
4.根据权利要求1所述的一种基于单轴伺服系统的惯量时变振动抑制算法,其特征在于,所述步骤四中,ppo算法训练过程改进包括:
[0069]
1)控制频率,使用较低的控制频率,进行算法的快速训和迭代,针对快速控制的时间要求,选择50hz的控制频率,将回报函数及网络参数快速确定到一个较小的范围,在精度无法提升后,将控制频率增加到500hz,进一步提升控制速度和精度;
[0070]
2)控制时间,将控制时间降为原先的3/5;
[0071]
3)设置学习率,将固定的学习率改为随时间指数下降,并且设定一个最小值的学习率函数。
[0072]
与现有技术相比,本发明的有益效果是:
[0073]
1)通过对时变惯量系统的建立,将传统控制无法解决的时变惯量问题建立在强化学习环境中,模拟复杂机械臂的精确控制。
[0074]
2)通过多层网络结合lstm对环境中的随机参数进行学习,为决策网络提供更精确的环境参数。
[0075]
3)通过将原本系数的奖励函数重新设计,让神经网络快速找到最优点的位置,并通过最优点附近的高额回报加速网络向最优策略迭代的速度。通过在奖励函数中增加对于超调的惩罚项,越大的超调对应着越大的惩罚,来降低系统整体的超调幅度。
[0076]
4)通过增加系统的控制频率,将单位时间输入的数据量提高,来增加系统获得的信息,降低系统学习的难度。通过减少整体的控制时间,来减少稳定段控制过程在整体控制过程中的占比。这样做的效果是增加了中间控制过程的奖励在整体奖励函数中的占比,同时减少了稳定段目标位置附近的高额回报对于整体奖励效果的影响。
[0077]
5)通过加入序列输入,增加网络获得的状态数量,降低lstm的学习难度。有效的加快训练速度,并提升最终效果。通过对输入进行修正,提升了目标位置附近的控制精度。将初始状态从固定输入变为小范围随机输入,这样可以尽可能的遍历更大的状态空间,增加训练效率,增强训练效果。
[0078]
6)在基础策略上使用新的回报函数进行继续训练,增加稳定段的控制精度,得到一个更加稳定的策略网络。
附图说明
[0079]
图1为本发明一种基于单轴伺服系统的惯量时变振动抑制算法的流图示意图;
[0080]
图2为本发明设计的模拟时变惯量系统的函数图像。
具体实施方式
[0081]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0082]
请参阅图1,本发明提供一种技术方案:本专利公开了一种基于单轴伺服系统的针对惯量时变系统的振动抑制算法,其实现方案包含以下几个步骤:
[0083]
1.环境建立
[0084]
根据牛顿第二定律、扭转胡克定律,将机器人单关节电机负载模型抽象为两个刚体、两个旋转副及一个扭簧相连接的力学模型并分别建立动力学响应方程及变形方程,其动力学响应方程及变形方程分别为:
[0085][0086][0087][0088]
其中,物理量m表示扭矩,j表示转动惯量,α表示角加速度,b表示旋转阻尼,ω表示角速度,θ表示角度,物理量的下角标分别表示所对应的物体,其中下角标m代表电机,ml代表联轴器,l代表载荷。特别的,k
ml
表示联轴器的等效扭转刚度,表达式为:
[0089][0090]
其中,g
ml
表示联轴器切变模量,j
ml
表示联轴器转动惯量,l
ml
表示联轴器轴长。
[0091]
根据所得动力学响应方程,联立得到积分形式的机器人单关节负载时变系统的动力学表征,其中:
[0092]
联轴器两端的扭转满足如下几何约束:
[0093][0094]
其中,θ
ml
表示联轴器发生扭转变形的角度,αm表示电机的角加速度,α
l
表示载荷的角加速度
[0095]
对系统受力分析可知:
[0096][0097][0098]
其中,mm为电机扭矩,m
ml
表示联轴器扭矩,m
l
表示载荷扭矩,m
in
表示输入扭矩。
[0099]
联立得到机器人单关节负载时变系统的动力学表征;
[0100][0101]
其中,物理量m表示扭矩,j表示转动惯量,α表示角加速度,b表示旋转阻尼,ω表示角速度,θ表示角度,物理量的下角标分别表示所对应的物体,其中下角标m代表电机,ml代表联轴器,l代表载荷。特别的,m
in
代表输入扭矩,k
ml
表示联轴器的等效扭转刚度。
[0102]
1.1时变惯量设计
[0103]
众所周知,转动惯量是刚体相对于某个轴的转动惯量,如果刚体在某一过程转动的轴不变,那么它的转动惯量就是不变的,即普通物理中的定轴转动。但是随着机械臂功能的迅速发展,越来越多的机械臂需要实现更加复杂的功能,机械臂在转动过程中的转动轴会随着时间不断变化。这些情况下的转动惯量会随着时间连续变化,在某些情况下,转动惯量会随时间呈线性变化,而在更复杂的情况中,转动惯量的变化会呈现高阶函数或多段函数变化。为了更好的模拟复杂机械臂的转动惯量模型,我们设计了一种可以模拟大多数时变惯量的系统,方法如下。
[0104]
本系统基于标准二次函数y=ax2 bx c设计,在指定时间段内的函数值随时间t的变化作为时变的惯量值jl。当二阶项系数a=0时,函数变为一阶函数,当二阶项和一阶项系数a=b=0时,函数变为常数函数,即为普通非时变系统定惯量的模型。在设计函数时,需要预先给定惯量的初始范围(jl1,jl2)和最终可到达范围(jl3,jl4),并给出惯量最大可变范围jlc。为了方便设计,我们不妨取jl1=jl3,jl2=jl4,jlc=jl2-jl1。额外地,如果惯量的变化为单调变化,那么可以有额外的条件a*b》0使得在(0,t)时间内函数为单调递增或递减函数。最终的设计结果如图2所示。在这个惯量时变系统中,可以较好的模拟大多数的时变惯量系统,并可以在给定惯量变化范围内进行随机采样,增强系统的自适应能力,为整体控制策略的鲁棒性产生较大的提升。
[0105]
1.2泛用性参数泛化
[0106]
在惯量时变的模型基础上,我们还加入了其他三个维度的参数泛化,分别是阻尼的泛化,刚度的泛化和位置的泛化。加入的这三个环境参数泛化可以使我们的策略可以更好的适应运动过程中参数的微小变化,也可以同时适应同一型号不同机械臂间的差异,提高了策略的泛用性和稳定性。
[0107]
1.3随机初始化状态
[0108]
我们在训练强化学习策略的过程中发现,对初始状态进行随机初始化可以让系统采集到更多样化的运动轨迹,这些采样轨迹可以更好的覆盖样本空间,进而增加系统的控制效果。
[0109]
2.强化学习网络搭建
[0110]
本方案中的决策是基于强化学习ppo(proximal policy optimization)近端策略优化算法来设计的。ppo是基于置信域策略优化算法trpo的一种改进形式,主要在限制策略更新距离的衡量标准上大大简化了计算复杂度,提升训练速度的同时不降低太多的效果。
[0111]
在ppo算法的基础上,我们在建立神经网络的过程中,在网络结构中额外增加了lstm层。长短期记忆网络(lstm)是一种改进之后的循环神经网络(rnn),不仅能够解决rnn无法处理长距离的依赖的问题,还能够解决神经网络中常见的梯度爆炸或梯度消失等问题。
[0112]
通过lstm对序列输入的学习,神经网络能在较短的时间内学习到环境中的随机参数,例如阻尼,刚度以及时变惯量的变化趋势。多层的lstm网络层可以学习到更复杂和更隐蔽的环境随机参数,通过序列网络lstm与传统强化学习算法ppo的结合,我们的网络模型可以更好的学习到复杂环境中的隐含信息,并辅助网络做出更加精确的控制策略。
[0113]
在训练时变惯量的过程中,我们发现较浅的网络结构无法较好的表达出所需要的策略,其主要原因是当前的网络结构无法表达我们需要的复杂函数。所以在原有网络结构的基础上,我们加深了网络的层数,并增加了每层网络的节点数,这大大提升了网络的表达能力,也增加了策略的准确性。
[0114]
3.回报函数设计
[0115]
本方案的目的是对于惯量时变系统进行高精度控制,在设计奖励函数时,必须将目标位置附近的回报的变化率设计的非常大。这就导致了一个无法避免的问题,传统回报函数例如beta函数在距离目标位置较远时的回报变化及其微小,这会导致网络无法在较长的时间内探索到足够好的动作,进而导致网络学习速度过慢甚至无法寻找到正确的策略。
[0116]
针对这个问题,我们将奖励函数设计成了多段多函数叠加的方式,将距离目标较远的稀疏奖励用变化率较高的函数替代,同时保留beta函数在接近零点时斜率快速增加的优点。这样设计的奖励函数可以让神经网络快速找到最优点的位置,并通过最优点附近的高额回报加速网络向最优策略迭代的速度。
[0117]
具体回报函数的具体设计如下:
[0118]
在距离目标位置超过10度时,远距离惩罚为一个线性函数:
[0119]
far_panalty=(position

target)/10
[0120]
在距离目标位置小于10度时,位置奖励为一个beta函数:
[0121]
pos_reward=beta(0.6,2).pdf[(position

target)/10]
[0122]
在距离到达目标位置后如果超出了最大超调范围,那么会有一个超调惩罚,这个惩罚会随着超调距离的增大而增大,具体为:
[0123]
当超调大于0.0001度时,penalty=0.01

100*(position

target)
[0124]
当超调大于0.01度时,penalty=0.01 9

1000*(position

target)
[0125]
这样设计的好处是随着超调的增加,惩罚会加速增加,并且惩罚函数本身也是连续的,不会因为不连续导致梯度方向错误。
[0126]
4.基于改进ppo的训练过程
[0127]
ppo算法主要分为以下几个部分:第一个部分是数据收集,也就是用当前策略对环境进行交互,得到大量的采样数据。在这一步骤中,我们使用了多环境并行的方法增加采样
速度,大大提高了采样速度。
[0128]
第二个部分是重要性采样,传统的策略梯度算法pg是一种on-policy的算法,它的梯度为:
[0129][0130]
采样的策略跟被优化的策略就是同一个策略,即每次采样的轨迹只能用来更新当前策略。当策略更新之后这些样本都要被废弃,需要重新采样才能再次更新策略,这样会导致学习效率低下。重要性采样就是用一种方法,将一次采集的样本可以多次更新策略,将原本的on-policy转化为off-policy。具体的实现形式为:
[0131][0132]
那么我们可以将原来的梯度写成:
[0133][0134]
但是重要性采样有一个问题,尽管重要性采样可保证估计的均值一致,但它们对应的方差并不能确定是一致的。当两个分布越接近,其方差就越接近,而如果两者差距很大时,则方差差别很大,这就意味着,在采样次数较少时,基于重要性采样得到的样本并不能很好反映变量的原始分布,从而产生较大误差。ppo为了解决这个问题,使用了一种区别于传统策略梯度的方法。
[0135]
第三个部分是优势函数。ppo考虑的是用每步收益会比期望的收益好多少,也就是advantage,来代替原本的未来期望总回报q:
[0136]aπ(θ)
(s
t
,a
t
)=q
π(θ)
(s
t
,a
t
)-v
π(θ)
(s
t
)
[0137]
其中,q函数为原本的未来期望总回报,v函数为ac网络结构中critic网络对于当前状态价值的估计。将本式带入可得梯度和目标函数为:
[0138][0139][0140]
第四部分为信任域限制。为了克服采样分布与原分布差距过大的不足,trpo对采样分布和原分布做了约束,其做法是为目标函数引入kl距离作为正则项。但是由于kl散度本身的计算较为复杂,ppo使用了一个估计来代替kl距离的计算:
[0141][0142]
在传统ppo算法的基础上,我们又在以下几个方面对ppo训练过程进行了改进。
[0143]
4.1控制频率
[0144]
在训练的初期,我们使用了较低的控制频率,进行算法的快速训和迭代。针对快速控制的时间要求,选择50hz的控制频率,将回报函数及网络参数快速确定到一个较小的范围。在精度无法提升后,将控制频率增加到500hz,进一步提升控制速度和精度。
[0145]
4.2控制时间
[0146]
在500hz的控制频率下,相比于低频控制,达到目标的时间缩短较为明显,但是超调反而增加了。其中一个重要的原因是控制步骤增加了十倍,导致回报函数在稳定状态的占比过高。通过对结果的分析,我们发现处于稳定段的时间长度对整体控制效果影响不大,但是降低稳定段时间的比例有助于控制段的超调降低。所以我们选择将控制时间降为原先的3/5,这大大提升了控制精度并且降低了超调的大小。
[0147]
4.3学习率
[0148]
我们将固定的学习率改为了随时间指数下降,并且有一个最小值的学习率函数。这个学习率函数会在训练初期获得较大的学习率,增加训练速度,在训练的中期逐渐用减小的学习率避免策略振荡,并在训练后期对策略进行微调,获得更加健壮和稳定的训练结果。
[0149]
5.数据前处理
[0150]
5.1使用序列输入
[0151]
在训练神经网络的过程中,我们不仅可以获得当前时刻的状态,还可以存储之前时刻的状态,也可以获取到两个控制之间的系统状态。这些状态都有助于强化学习策略的学习。我们在环境中增加了获取两次决策之间状态的能力,并将过去时刻的状态都存储下来。将这些状态同时输入到强化学习网络中,可以有效的加快训练速度,并提升最终效果。
[0152]
5.2对输入进行修正
[0153]
在序列输入的基础上,我们又对输入的状态值进行了修正,主要包括位置修正,速度修正和电流修正,其中最重要的是位置修正。在接近目标位置的时候,位置的微小变化会对整体控制有着较大的影响,但是传统的线性位置无法将末态的微小变化进行足够的识别。所以我们在线性位置变化的基础上,将1度以内的位置进行了对数变换,将原本的低精度位置转换为高精度的位置。这一办法将目标位置附近的精度提升了一个数量级。
[0154]
6.数据后处理
[0155]
6.1消除电机速度反向
[0156]
在使用强化学习网络进行控制的过程中,网络会尽可能的将输出调整为最大可允许电流,过大的初始电流会导致电机振荡和速度反向,而我们并不希望这样。这个缺陷通过回报函数调整的方式可以解决,但是会损失一定的控制效果,所以我们使用了另一个方法,即限制输出电流的增加速度。这个办法可以很有效的避免前期电流输出增加过快导致的电机速度反向问题,也不会损失网络本身的良好控制效果。
[0157]
6.2加入pid降低末端振荡
[0158]
在强化学习的控制策略中,我们还发现,在稳定段的控制过程中,末端一直会有一个微小的振荡。虽然这个振荡也是在允许的范围内,但是我们更希望在控制到达目标位置后电机可以逐渐停止在目标位置处。经过不断尝试,我们发现可以在强化学习将机械臂控制到目标位置附近后转换为pid控制,系统会在较短的时间内停止,这样的组合控制方法更符合我们的预期。
[0159]
7.策略微调
[0160]
在训练决策网络时,我们发现如果在一开始就给较大的超调,那么网络会学习到一个永不超调,达标很慢的策略,这个策略不符合我们对于快速控制的要求。但是如果我们先训练出一个较好的网络,在这个网络的基础上更换回报函数进行继续训练,整体策略就会朝着正确的方向进行更新。因此,我们先使用一个通用的回报函数,训练得到一个整体效果较好的策略。在这个策略的基础上,用一个对超调更敏感的回报函数替代原有的回报函数,增加策略对于超调的抑制,从而得到一个更加稳定的策略网络。
[0161]
采用上述方案后,通过对时变惯量系统的建立,将传统控制无法解决的时变惯量问题建立在强化学习环境中,模拟复杂机械臂的精确控制;通过多层网络结合lstm对环境中的随机参数进行学习,为决策网络提供更精确的环境参数;通过将原本系数的奖励函数重新设计,让神经网络快速找到最优点的位置,并通过最优点附近的高额回报加速网络向最优策略迭代的速度。通过在奖励函数中增加对于超调的惩罚项,越大的超调对应着越大的惩罚,来降低系统整体的超调幅度;通过增加系统的控制频率,将单位时间输入的数据量提高,来增加系统获得的信息,降低系统学习的难度。通过减少整体的控制时间,来减少稳定段控制过程在整体控制过程中的占比。这样做的效果是增加了中间控制过程的奖励在整体奖励函数中的占比,同时减少了稳定段目标位置附近的高额回报对于整体奖励效果的影响;通过加入序列输入,增加网络获得的状态数量,降低lstm的学习难度。有效的加快训练速度,并提升最终效果。通过对输入进行修正,提升了目标位置附近的控制精度。将初始状态从固定输入变为小范围随机输入,这样可以尽可能的遍历更大的状态空间,增加训练效率,增强训练效果;在基础策略上使用新的回报函数进行继续训练,增加稳定段的控制精度,得到一个更加稳定的策略网络。
[0162]
综上所述,本技术的于单轴伺服系统的惯量时变振动抑制算法可以在多参数较大范围泛化和惯量时变的情况下,达到传统控制无法达到的控制效果,并显著提升控制精度。
[0163]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献