APP下载

一种电液伺服系统安全强化学习控制方法

2022-04-08唐逸凡刘利军

关键词:电液伺服系统屏障

唐逸凡,余 臻,刘利军,2*

(1.厦门大学航空航天学院,福建 厦门 361102;2.厦门大学深圳研究院,广东 深圳 518057)

电液伺服系统因其动态响应速率快、输出功率大、容易实现高精度测量与控制,从而广泛应用于电器工程、机械工程、航空航天、军工制造等领域.但因其属于典型的非线性系统,存在着模型参数不确定、交叉耦合干扰、外负载扰动、动力不确定性等因素,影响控制的精准度、抗干扰能力、动态响应性能等[1-2].

针对上述优缺点,国内外学者尝试了各种方法对控制算法进行优化,例如自适应模糊控制、神经网络、优化比例积分微分(PID)控制、滑模自适应控制等,提升了各自层面上电液伺服系统的控制效果.例如: 使用混合策略迭代训练实现对于电液伺服系统多项式非线性模型的非线性鲁棒控制[3]; 通过神经网络优化控制消除初系统初撑压力及启动压力波动影响[4]; 以添加速度补偿的鲁棒控制方法解决变刚度电液伺服系统在高频控制中存在的超调现象[5].但由于电液伺服系统的非线性特性和系统油路中各部件的强耦合特点,电液伺服系统的精确解析模型难以获得,仅通过基于模型的控制方法越来越难以满足电液伺服系统控制分析与设计的需求[6].

深度强化学习(deep reinforcement learning,DRL)用于解决复杂的顺序决策问题,其无模型学习的特点为控制研究提供了新的方向[7].基于模型的方法有良好的采样效率,但必须依赖于模型估计与人工监督;而无模型的DRL方法拥有更好的逼近性能和易操作性.Liang等[8]提出一种融合滑模控制与强化学习算法相结合的容错控制方法.Lin等[9]使用触发式DRL实现了对具有执行器饱和特性的四旋翼无人机控制.在解决连续问题决策的DRL算法中,最优化奖励函数设计是影响算法收敛性的核心问题.Kulkarni等[10]提出了一个层次化的DQN(deep Q-network)框架,通过设置和完成稀疏奖励问题中的许多子目标来完成任务.为了探索一种有效且稳定的、用于连续状态和动作空间的离线策略强化算法,Yang等[11]使用基于惩罚函数和屏障函数(barrier function,BF)的状态转换将状态和输入约束合并到DRL算法中.DRL算法基于无模型最大熵强化学习算法的特点正适合于电液伺服系统这类实际工作环境扰动复杂且非线性特征显著的系统,设计高性能的回报奖励函数能够提高强化学习控制器的稳定性与鲁棒性,训练完成的离线非线性控制器具有很强的抗干扰能力.

综合电液伺服系统和强化学习的特点,本文提出一种基于软行为者评论家(soft actor-critic,SAC)算法的安全强化学习(safety reinforcement learning,SRL)控制方法.将强化学习中连续控制问题的稳态误差控制目标设计为优化状态空间稀疏奖励,并使用基于屏障函数的安全屏障辅助奖励项实现控制器的预置稳态安全性保障.该方法使得SAC算法在最大熵框架与随机策略的较强鲁棒性上进一步降低对动力学模型精度的要求,使控制器能够直接有效地应用于实际的工业系统控制领域,有效提高最终离线控制器的鲁棒性和控制性能.

1 离线策略DRL与屏障函数

1.1 离线强化学习

本文所使用的SAC算法是一种在最大熵强化学习框架下通过在决策评价网络与决策迭代网络中交替进行决策学习的方法.其作为一种典型离线策略算法,不会出现在线策略算法在连续问题中因样本更新而造成的样本过载问题.无模型算法的高样本利用率和强鲁棒性决定了它可以很好地应用于实际控制系统而不仅仅是仿真[12].已有通过SAC算法实现多臂机械手的路径规划任务实例[13].

在决策评价网络中,可以通过回报奖励函数r与状态价值函数V迭代计算状态动作价值Q函数,其迭代过程表述为:

TπQ(st,at)=r(st,at)+γEst+1~p[V(st+1)],

(1)

式中,st为环境观测状态,at为动作输入,p为随机决策所对应的动作at的概率分布,γ是折扣因子,Tπ是贝尔曼期望备份算子,满足Qk+1=TπQk.

状态价值函数V表述为:

V(st)=Eat~π[Q(st,at)-logπ(at∣st)].

(2)

在决策迭代网络中,将策略π限定在一个特定集合∏当中,例如带有参数的高斯分布.使用KL散度对策略π进行更新的过程为

πnew=

(3)

式中,Zπold(st)为配分函数,不影响策略梯度.

SAC使用参数化的神经网络Qθ(st,at)和πφ(at∣st)对状态动作价值Q函数和策略π进行描述,并使用最小化贝尔曼残差的方法训练,决策评价网络迭代学习过程表述为:

(4)

通过式(4)最小化期望KL散度来优化决策迭代网络参数:

Jπ(φ)=Est~D[Eat~πφ[αlog(πφ(at∣st))-

Qθ(st,at)]].

(5)

更新后决策迭代网络表示为:

at=fφ(εt;st),

(6)

式中,εt是根据先验分布中采样的随机噪声,一般工程中使用单位高斯分布.

将式(6)代入式(5),即SAC决策迭代网络的迭代学习过程表述为:

Jπ(φ)=Est~D,εt~N[αlogπφ((fφ(εt;st))|st)-

Qθ(st,fφ(εt;st))].

(7)

1.2 状态回报奖励函数

强化学习马尔科夫链中的回报奖励函数设计是为了从长周期上选择最优动作a,其状态回报奖励函数可表述为:

(8)

式中,st=(xt1,xt2,…,xtn)为强化学习代理环境中观测到的状态,xgi为对应的目标状态量,bi为经验参数,‖·‖m表示m-范数.

累计回报奖励通常有以下3种表述形式:式(9)为无限折扣型,式(10)为有限和型,式(11)为平均奖励型[14].

(9)

(10)

(11)

式中,γ为加权参数,决策迭代网络的目标为最大化累计奖励Vπ(st).

1.3 屏障函数

屏障函数的作用是保障系统在安全可行的状态集C内运行.安全集是由系统的安全状态不等式所约束的,使用连续可微函数h(x)将其定义为:

C={x∈Rn∣h(x)≥0}.

(12)

屏障函数可保证初始状态在安全集内部的系统保持前向不变性.对于连续可微函数Bγ(x),其作为安全集C的有效屏障函数需具有以下性质[15]:

(i)Bγ(x)>0,∀x∈C;

(ii)Bγ(x)→∞,∀x∈∂C,即安全集边界处函数值趋于无穷;

(iii) 安全集内Bγ(x)单调递减.

控制屏障函数是屏障函数在控制系统中对系统安全性保证的应用.在状态空间表达式为x=f(x)+g(x)u的控制系统中,若存在楔函数K(h)[16]使h(x)满足式(13),则其可作为该系统的控制屏障函数:

(13)

2 电液伺服系统SRL控制方法

深度强化学习任务中,奖励函数的设计多根据实际系统人为的设计“密集”奖励,往往具有很强的局限性[17].本文针对电液伺服系统建立相应的强化学习环境,传统的回报奖励函数设计使用状态误差ei构造成式(14).

(14)

其中,系数ωi之间的耦合性难以调整,导致最终控制器的动态性能与鲁棒性难以收敛.

本文提出了一种适用于电液伺服系统位置控制的优化状态空间稀疏奖励函数设计方法,将细分连续奖励使用优化状态空间正奖励与非优化状态空间无奖励进行替代,并添加状态屏障函数作为惩罚项使控制器能够满足预置的稳态安全性,除长时高幅干扰外能够有效地提高系统的动态稳定性.电液伺服系统位置控制任务中,优化状态空间的范围决定了最终控制器的稳态误差的大小,状态有界的连续控制问题中,按归一化后的有效状态值以0.1的缩减比逐步缩小优化状态空间的半径,直至满足控制需求.优化状态空间系数奖励可表示为:

(15)

其中,es为归一化后的状态误差,MN是随训练轮次逐渐缩小的正奖励区间.

本文中将屏障函数约束问题融入到强化学习的稀疏奖励设计问题中,使得在优化状态空间稀疏奖励的正奖励区间内安全屏障辅助奖励惩罚项rb占主导地位,通过梯度下降引导最优策略向含有安全控制的最优策略倾斜.安全屏障辅助奖励函数rb表示为:

rb=

(16)

其中,η是用于工程中实现真边界值时的微小值,便于将无边界惩罚转化为归一化有界值.

而安全辅助奖励项实际是一种保守策略的优化,过早加入会导致控制器动态响应性能降低,故只需在最后一层优化状态空间缩减时加入.对优化状态空间稀疏奖励做相应的处理,将非优化状态空间无奖励替换为-1:

(17)

综上所述,电液伺服系统SRL控制方法中的回报奖励函数设计为:

(18)

优化状态空间稀疏奖励可以高效地解决强化学习控制器回报奖励函数设计困难的问题,并且能够有效切合实际控制系统中的动态性能指标要求.本文所设计应用优化状态空间稀疏奖励函数的N次迭代SRL控制算法流程见算法1.

算法1

forj=1 toNdo

初始化网络参数;

ifj=1 do

初始化网络权值θj,1,θj,2,φj,1,φj,2;

else do

初始化网络权值θj,1=θj-1,1,θj,2=θj-1,2,φj,1=φj-1,1,φj,2=φj-1,2;

初始化经验池D←∅;

fori=1 toEdo

随机初始化环境,样本采样;

fort=1 toTdo

采样动作值at=fφ(εt,st);

根据动作采样下一状态st+1;

计算单步奖励rt;

将样本集合{st,at,rt,st+1,d}加入经验池D;

end for

从经验池D抽取最小样本集Dminbatch;

更新预测网络参数φj,2;

更新评价网络参数θj,1,θj,2;

更新策略网络参数φj,1;

end for

end for

输出策略网络参数φj,1.

其中,Dminbatch训练样本为从经验池中抽取的最小采样集,含有128个以{st,at,rt,st+1,d}为最小元组的样本,d为是否完成任务指标值,最终输出的控制器为策略网络的参数矩阵.

3 实 验

本章以电液伺服系统多项式非线性模型为研究对象,通过仿真实验证明了所提出的电液伺服系统SRL控制方法具有良好的动态响应性能与较强的鲁棒性,并对比了最小优化状态空间下是否使用安全辅助奖励项的方法,验证了SRL控制方法能够使最终控制器满足预置的稳态安全性.

3.1 实验设置

本文所使用的高精度电液伺服仿真模型为多项式非线性模型,可表述为一种以电液伺服系统状态误差作为状态变量的非线性状态空间表达式[3]:

(19)

式中,ei为系统状态误差,u为控制电压输入.模型参数取值为a1=-18.732 4,a2=6.215 1,a3=24.416 5,a4=-9.049 9,a5=-22.415 4,b1=-13.007 1.

本节中,强化学习的状态空间变量由伺服作动筒位移反馈信号计算得到的状态变量位移误差积分值、位移误差值和速度误差值构成,表示为s=[se1,se2,se3].系统的动作空间即伺服阀的阀控电压信号,故动作空间表示为a=aV.

实验设置如下:伺服缸初始位置随机,初始位置在区间[-1,1] cm,缸位移反馈精度为10-3mm.将每个单次迭代定义为T=2 000个时间步长,每步的时间间隔为dt=10 ms.完成单次迭代后对环境进行重新随机重置.动作对象伺服阀阀控电压的初始电压为0 V,按照实际电液伺服实验台将阀控电压限定在[-5,5] V区间内.初始时归一化伺服缸速度服从分布U[0,1].当伺服缸位移误差处于优化状态空间范围内连续500个步长,认为伺服缸已到达稳态,并结束本次迭代.

3.2 电液伺服系统SRL控制器训练

电液伺服系统SRL控制器的单次训练时间为2 000 个时间步,本文设计的多层变奖励空间的空间半径分别为0.1,0.01以及0.001,共进行了3层策略迭代训练,表1展示了决策网络和评价网络参数以及其他参数设置,图1展示了训练结果.优化状态空间稀疏奖励正奖励空间半径为0.001时,对应的系统稳态误差允许范围为±0.1 mm.

表1 电液伺服系统的强化学习控制器训练参数Tab.1 Reinforcement learning controller training parameters for electro-hydraulic servo system

图1 优化状态空间稀疏奖励下的电液 伺服系统强化学习控制器训练过程Fig.1 Reinforcement learning controller training process of electro-hydraulic servo system with optimized state space sparse reward

基于第二次迭代得到的网络参数,进行电液伺服系统SRL控制器训练,不同系统对系统稳态安全域的需求不同,本文将稳态安全域设置为emax=emin=3 mm,η=10-12.图2展示了训练结果.

由图1与2可知:优化状态空间的设计弥补了稀疏奖励下强化学习算法直接获取最优正奖励样本困难的缺点;加入安全屏障辅助奖励项的优化稀疏奖励能够实现系统安全控制器的预设安全性保障,保持优化状态空间稀疏奖励设计理念的同时也具有连续奖励易收敛的特性.

图2 电液伺服系统的SRL控制器训练过程Fig.2 SRL controller training process of electro-hydraulic servo system

图3 控制效果曲线Fig.3 Control effect curve

3.3 仿真结果

为了验证本文作者所提方法的控制效果,首先将所提优化状态奖励空间下的电液伺服系统强化学习控制器与GA-PID控制器的控制性能进行仿真实验.GA-PID无设计主观性及性能未达最优的缺点,优化后的控制效果较传统PID控制器提升较大[18].强化学习控制器的表达为训练结束决策网络对应系数矩阵,激活函数使用relu函数可在MATLAB中使用脚本函数实现.在3.1节所提高精度电液伺服多项式非线性模型下,利用MATLAB软件进行仿真模拟.仿真实验采用目标追踪的方法进行,通过观察追踪曲线,对所提方法进行分析.

SRL控制器对于控制指令的整体跟踪效果如图3所示.复杂输入信号在[7.5,8.5] s的时间加入扰动信号ω,其函数表示为:

ω(t)=5sin(2πt)+normrnd(0,1).

(20)

分析图3可知,本文所提的优化状态空间稀疏奖励作用下的SAC强化学习控制器,在跟踪复杂指令信号时整体的动态性能优于GA-PID优化控制器,并具有较强的抗干扰能力.SAC强化学习控制器降低了最大超调量,取得了更好的控制效果,并且实现了无静差、无超调量,具有更快的响应速度和更小的控制误差,其详细动态性能如表2所示.

表2 阶跃信号下系统动态性能指标Tab.2 System dynamic performance index under step signal

电液伺服系统SRL控制器的稳态安全控制效果对比结果如图4所示.使用一个步长的满量程控制电压作为扰动,模拟电液伺服系统在极限工况下的突发故障.SRL实现了稳态下的安全控制目标,但相应使得过渡时间加长,损失部分动态性能.

图4 SRL控制器稳态安全性控制效果对比Fig.4 SRL controller steady state safety control effect

4 结 论

本文提出了一种基于离线策略强化学习算法的安全控制方法,并将其用于电液伺服系统的位置控制.通过归一化状态空间随机初值与最大熵强化学习的特点相结合的方法,解决普通强化学习对样本要求高的问题,加快了控制器整定速度.使用优化状态空间稀疏奖励与安全屏障辅助奖励惩罚项,完成对于电液伺服系统的SRL控制器快速收敛训练,最后得到基于状态的SRL离线控制策略.以高精度电液伺服多项式非线性模型为控制对象,与遗传算法优化的PID控制方法进行对比.结果表明,本文所提的SRL控制算法有效缩减了控制误差并提高了控制性能,能实现电液伺服系统精确位置控制,验证了该算法的可行性.

猜你喜欢

电液伺服系统屏障
中国煤科天玛智控研发的国内首个矿鸿电液控制系统成功应用
咬紧百日攻坚 筑牢安全屏障
浅谈支撑轴力伺服系统在深基坑中的应用
基于ESO的电液位置伺服系统反步滑模控制
屏障修护TOP10
汽轮机DEH数字电液调节系统优化
一道屏障
维护网络安全 筑牢网络强省屏障