水面无人艇(USV)作为一种小型水面任务平台,兼具高速智能、灵活隐蔽、成本低廉和无人员伤亡等优点,具有重要的军事与民用价值[1].轨迹跟踪是无人艇在复杂海洋环境下实现自主巡逻,伴随航行和抵近侦查等使命任务的基础.欠驱动无人艇的轨迹跟踪控制是指仅在前进推力和转艏力矩的驱动下,考虑时间约束,USV从任意初始位置出发,驶入预先设定的期望轨迹,并沿此轨迹最终到达指定位置[2].传统USV轨迹跟踪控制策略是构造出USV轨迹跟踪误差的动力学模型,将跟踪控制问题转化为误差模型的镇定控制问题[3].考虑到船舶的复杂非线性系统模型,以及航迹跟踪控制产生的大量参数整定和复杂计算等问题,本研究将采用深度强化学习算法(DRL)来研究智能船舶的轨迹跟踪问题.得益于深度策略网络的表征能力,近年来深度强化学习受到国内外广泛关注,在游戏人工智能、自动驾驶和机器人控制等领域涌现出大量相关研究成果[4-6],针对USV的控制问题,文献[7-8]使用独立的DRL控制器分别控制目标侧边距、航向和舵角,但受未知时变扰动的情况下,控制器的鲁棒性尚未给出评价与分析.文献[9]利用深度确定性策略梯度算法(DDPG),实现对双推进USV的路径跟踪控制,并在外场试验得到验证.文献[10]通过改进深度Q学习(DQN)中的探索函数,提出一种平滑收敛的DRL控制方法.文献[11]使用视线导引法(LOS)引导航向,利用DRL实现了对USV航向的稳定控制.文献[12]运用强化学习方法针对全驱动USV实现了海上复杂环境下的动力定位和路径跟踪.现有的研究多集中于对航向或路径跟踪控制,而基于DRL的欠驱动USV轨迹跟踪控制研究则较少.本研究针对时间约束下的USV轨迹跟踪控制问题,提出一种基于PPO算法的DRL控制框架,根据USV的运动特性及控制要求,设计了状态空间和收益函数;然后构建轨迹数据集,探究控制器在不同训练参数下的学习训练效果;最后通过仿真试验验证所提出算法的有效性,并与多种其他主流控制算法的控制效果进行对比分析.1 USV建模及轨迹跟踪问题描述1.1 欠驱动USV建模建立三自由度数学模型对欠驱动USV的轨迹跟踪问题进行研究[13].定义x,y为大地坐标系下USV的位置坐标,ψ为艏向角,u,v和r分别为船体坐标系下USV的纵向、横向线速度和艏向角速度.为描述问题方便,将USV三自由度符号定义为矢量形式:η=[x,y,ψ]T,υ=[u,v,r]T.USV三自由度运动学模型表达式为η˙=R(η)υ,(1)式中R(η)为船体坐标系到大地坐标系的转换矩阵,且有R(η)=cosψ-sinψ0sinψcosψ0001.USV三自由度动力学模型表达式为Mυ˙+C(υ)υ+D(υ)υ=τc+τe,(2)式中:M为惯性矩阵;C(υ)为科式力矩阵;D(υ)为阻尼矩阵;τc=[τu,0,τr]T,其中τu和τr分别为USV纵向推进力和转向力矩;τe=[τeu,τev,τer]T,其中τeu,τev和τer分别为USV在u,v和r方向上受到的环境干扰.通常,矩阵M,D(υ)和C(υ)有如下结构:M=m11000m22m230m32m33;D(υ)=d11000d22d230d32d33;C(υ)=00c1300c23-c13-c230;c13=-m22v-(m23+m32)r/2;c23=m11u.式(2)可以化简为:u˙=[m22ur+(m23+m32)r2/2-d11u+τu+τeu]/m11;v˙=(-m23r˙-m11ur-d22v-d23r+τev)/m22; r˙=[-m32v˙-m22vu-(m23+m32)ru/2+m11uv-d32v-d33v-d33r+τr+τer]/m33.1.2 轨迹跟踪问题描述给定期望轨迹为大地坐标系中由一系列具有时间约束的航路点组成的连续曲线,USV从任意位置出发到达期望轨迹,并以尽量小的跟踪误差沿期望轨迹航行.定义具有时间t约束的轨迹d(t)=[xd(t),yd(t),ψd(t)]T,轨迹误差e(t)=[xe(t),ye(t),ψe(t)]T,其在惯性坐标系下的形式为e(t)=[xe(t),ye(t),ψe(t)]T=cosψ(t)sinψ(t)0-sinψ(t)cosψ(t)0001x(t)-xd(t)y(t)-yd(t)ψ(t)-ψd(t). (3)在实际应用中,控制器须要具备抗扰动能力,基于对海洋扰动的统计分析[14],环境干扰τe=[τeu,τev,τer]T的表达式为: τeu=-10cos(0.5t)cost+3cos(0.5t)∙sin(0.5t)-7;τev=0.1sin(0.1t);τer=3sin(1.1t)cos(0.3t).为了使USV在环境扰动的情况下的控制轨迹误差在极小的范围内,定义轨迹跟踪的控制目标为min∑te(t).(4)2 LSTM-PPO深度强化学习算法2.1 DRL控制流程强化学习(RL)属于机器学习范畴,可以用来解决连续决策的问题,是马尔可夫决策过程(MDP)问题的一类重要解决方法[15].DRL建立在RL的基础上,通过结合深度神经网络,具备了解决复杂决策问题的能力.在深度强化学习算法训练过程中,智能体与环境通过状态-动作反馈来交互,不断学习并优化智能体在当前状态下的动作选择,从而实现对USV的控制.系统控制流程如图1所示.10.13245/j.hust.228371.F001图1基于DRL的USV轨迹跟踪控制流程仿真环境根据当前USV的运动学参数,更新状态空间(由轨迹跟踪相关的特征向量组成),计算实时收益.DRL控制器输入状态向量,经由深度策略网络输出油门和舵令控制量,USV三自由度模型计算响应并输出下一时刻的运动学参数.当DRL控制器训练时,通过上述循环过程,算法收集经验数据,作为深度策略网络的梯度更新的依据.2.2 LSTM-PPO算法PPO是一种基于演员-评论家(Actor-Critic)框架下的随机性策略梯度算法[16].该算法起源于信任区域策略优化算法[17],并在此基础上通过改进目标函数,简化计算量的同时提高了学习性能.在工程应用场景下,USV轨迹跟踪问题是一个面向多任务路径的强时序问题,LSTM网络则是一种用于处理时序序列的高效神经网络,本研究在PPO算法框架的深度策略网络中引入了LSTM网络层,提出的LSTM-PPO网络使DRL算法在综合考虑到USV历史状态的情况下做出下一步决策,以提高控制算法的普适性.在训练过程中,记USV在状态s下采取的动作为a,策略π建模为π(a|s),即在状态s下a的概率分布.策略π在DRL中是深度策略网络,该网络的权重参数记为θ.定义t时刻系统状态为st,深度策略网络πθ输入st,输出动作的高斯概率分布,经由采样得到USV在t时刻的动作at.与此同时,环境会基于st和at给出收益rt+1(st,at).强化学习的目标在于寻求累计折扣收益Rt最大化的策略,有Rt=rt+1+γrt+2+γ2rt+3+⋯=∑k=0∞γkrt+k+1, (5)式中γ∈[0,1]为折扣系数.策略π可以用状态价值函数Vπ(s)和动作价值函数Qπ(s,a)来评价,Vπ(s)表示从状态s开始,智能体按照策略π进行决策所获得的收益的期望值;Qπ(s,a)表示从状态s开始,根据策略π执行动作a以后,所有可能的决策序列的期望收益.其表达式分别为:Vπ(st)=EπRt|st=Eπ∑k=0∞γkrk+1|st;Qπ(st,at)=EπRt|st,at=Eπ∑k=0∞γkrk+1|st,at,式中Eπ表示期望.定义Aπ(st,at)为USV在状态s下执行动作a相比执行其他动作所取得的优势,有Aπ(st,at)=Qπ(st,at)-Vπ(st).定义A^t表示在优势函数Aπ(s,a)在t时刻的估计,T表示在一幕中采用策略π连续执行时间步长数.A^t的表达式为A^t=-V(st)+rt+γrt+1+⋯+γT-t+1rT-1+γT-tV(sT). (6)策略梯度法是一种基于策略搜索的强化学习算法,该方法通过计算策略梯度的估计值并将其应用到随机梯度上升算法中,定义策略梯度损失函数LCLIP(θ)的表达式为LCLIP(θ)=E^t[min(Ct(θ)A^t,clip(Ct(θ),1-ε,1+ε)A^t)]; (7)Ct(θ)=πθ(at|st)πθold(at|st),(8)式中:Ct(θ)为重要性采样权重;E^t表示期望的估计;ε为超参数;clip(⋅)为函数,作用是将Ct(θ)限制在区间[1-ε,1+ε].LSTM-PPO网络整体采用了Actor-Critic形式,同时包含策略网络πθ和价值网络Vϕ,πθ输入状态序列𝕊,输出动作a的分布;Vϕ输入也是𝕊,输出对𝕊的价值预测Vϕ(𝕊).定义状态序列𝕊t表示从t时刻向前,连续T个时间步长范围内的各个历史状态空间S序列的集合,即𝕊t=St,St-1,⋯,St-T+1,策略网络的结构示意图如图2所示.10.13245/j.hust.228371.F002图2策略网络结构示意图策略网络由LSTM网络层、全连接网络层和输出层组成.LSTM网络层按照历史时间顺序依次输入𝕊t中的元素,连续输入T次后得到最终的隐状态输出hT,hT是长度为l的一维数组,l由LSTM单元的数量决定.hT经过全连接层网络后,输出动作(油门apt和舵令ast)的高斯分布参数,记均值为μ=[μp,μs],方差为δ=[δp,δs],即apt~N(μp,δp),ast~N(μs,δs).在训练阶段,通过对动作分布采样的方式选取USV的油门和舵令控制值,能确保动作选择具有随机性和探索性,随着训练的不断进行,网络在收敛的过程中,方差δ将逐渐降低.当网络训练完毕,DRL控制器部署时,选取均值μ作为动作值.价值网络的LSTM网络层和全连接网络层的结构和策略网络相同,网络输出层为输出单个变量,即为状态序列的价值Vϕ(𝕊),算法的流程如下.算法1 USV轨迹跟踪LSTM-PPO算法步骤1 初始化USV和环境模型,加载任务轨迹,使用随机的权重初始化策略网络πθ和价值网络Vϕ;步骤2 创建经验缓存池R,运用策略πθ在环境中收集经验数据{st,at,rt},使用式(6)计算优势函数的估计;步骤3 建立策略副本πθold←πθ,使用式(7)计算策略梯度,以学习率lr更新策略网络参数θ,重复Np次;步骤4 计算价值梯度,以学习率lr更新策略网络参数ϕ,重复Nv次;步骤5 检验训练次数是否达到训练周期数N,若满足则算法终止,否则转到步骤2.2.3 状态空间设计状态空间代表了智能体所能感知到的环境信息,是智能体制定决策和评估其长期收益的依据,合理的状态空间设计能确保DRL算法收敛,提升性能.针对USV的控制问题,文献[7-8,10-11]的状态空间设计考虑到了一阶误差,但未能充分利用历史状态信息提取出反映轨迹跟踪误差变化趋势特征.本研究通过计算USV在未来短时间内的轨迹跟踪误差及其变化趋势,提取出了多维度的状态特征.所设计的状态空间S由一阶跟踪误差、二阶跟踪误差和上一时刻控制量组成.a.一阶跟踪误差es.定义预测采样点数量为Np,预测采样时间为Tp,设采样时刻为ti=t0+iTp(i=0,1,⋯,Np-1).USV从当前时刻t0起,根据上一时刻控制量at0-τ,预测USV在ti时刻的位置ηi=[xi,yi,ψi]T,使用式(3)计算对应时刻的预测跟踪误差e(ti).考虑到海洋扰动因素,随着预测时间加长,预测产生误差越大,可信程度越低,对应状态误差的权重更低.通过引入衰减系数λ来调节不同采样点的权重贡献,定义es的表达式为es=∑ie(ti)λi/∑iλi.(9)式(9)表示对各预测采样点的误差加权求和,继而对误差归一化处理,得到能综合反映现在和未来预测到的跟踪误差.b.二阶跟踪误差e˙s.设τ为USV控制循环周期,定义e˙s为e˙s(t0)≐[es(t0)-es(t0-τ)]/τ.c.上一时刻控制量at0-τ.为改善DRL训练过程中输出震荡的现象,选取上一个时刻的控制量at0-τ作为状态特征,即at0-τ=[apt0-τ,ast0-τ],其中apt0-τ和ast0-τ分别为上一个时刻的油门和舵令.综上,当前时刻t0的状态空间St0设计为St0=[Δx,Δy,Δψ,Δx˙,Δy˙,Δψ˙,ap,as].2.4 收益函数设计围绕USV轨迹跟踪的控制目标,通过设计合适的收益函数来对USV当前的状态实现有效的评估.考虑式(4)中的控制目标,USV的位置越接近期望点时收益值越高;USV的航向越接近轨迹期望航向时收益值越高.设计的收益函数由位置误差收益rd、航向误差收益rψ和控制稳定性收益rc组成,即rd=2e-k1(Δx)2+(Δy)2-1;rψ=2e-k2Δψ-1;rc=e-k3σp+e-k3σs-1, (10)式中:k1,k2和k3为各子收益的调节系数;σp和σs分别为数个周期内油门和舵令控制量的标准差.式(10)采用负指数函数的形式来描述收益,并将各子收益的值域限定在(-1,1].当控制量输出存在震荡时,σp或σs变大,控制稳定性收益rc将会降低,通过在收益中引入rc可以使DRL在训练过程中倾向于选择连续稳定的控制策略,从而加速收敛.定义收益函数表达式为r=wdrd+wψrψ+wcrc,(11)式中wd,wψ和wc为权重系数.3 环境搭建与控制器训练3.1 训练环境构建基于OpenAI gym框架构建USV轨迹跟踪环境,支持训练效果的可视化展示,并且可以通过实时绘制USV航行轨迹掌控DRL的训练情况.考虑到DRL算法针对某些特定的轨迹路径进行训练时,深度策略网络容易产生过拟合,本研究创建了任务轨迹模块,以更大的训练为代价,来增强深度策略网络的泛化能力.建立的轨迹任务数据集由随机轨迹集和标准轨迹集组成,随机轨迹集由相连的随机折线和曲线组成,通过程序自动生成;标准轨迹集由28种典型路径形状组成.当进行训练时,采用随机轨迹集中的路径作为训练样本;当进行算法评价时,通过计算标准轨迹集中的路径跟踪误差,可以综合评估和比对算法性能.图3分别展示了随机轨迹集数据和标准轨迹集数据,标准轨迹由折线或曲线以不同转向角度相互连接构成,轨迹A-N与A'-N'互为镜像.10.13245/j.hust.228371.F003图3轨迹任务数据集3.2 控制器训练训练平台硬件配置为E5-2678 CPU和RTX2080Ti GPU,训练参数设置如下:调节系数k1,k2和k3分别为0.05,0.1和10;权重系数wd,wψ和wc分别为0.6,0.2和0.2.训练超参数和LSTM-PPO网络参数的设置分别如表1和表2所示.10.13245/j.hust.228371.T001表1超参数设置参数设置训练周期N经验缓存池容量R折扣系数γ策略网络更新次数Np价值网络更新次数Nv裁剪系数ε状态序列长度T学习率lr优化器1 0008 1920.9910100.2101×10-4Adam10.13245/j.hust.228371.T002表2LSTM-PPO网络参数设置参数设置输入层LSTM层输出维度LSTM层激活函数隐层输出维度隐层激活函数策略网络输出维度价值网络输出维度状态序列S128tanh64tanh41本研究使用TensorFlow作为深度学习训练框架,当进行训练时,状态序列𝕊中的数据经过标准化处理.在每个训练周期结束后,计算当前回合的累计收益,累计收益曲线如图4所示,图中曲线外围的浅蓝色为各训练周期累计收益的标准差.由图4可知:在训练前期,累计收益较低;当训练进行到200~300周期时,累计收益快速提升;在300周期以后,累计收益基本保持稳定.10.13245/j.hust.228371.F004图4累计收益曲线4 算法评估与分析4.1 训练效果分析在训练完成后,从标准轨迹集中分别选取典型的折线轨迹和曲线轨迹的作为USV期望轨迹(期望速度为4 m/s),对比不同训练周期下的USV轨迹跟踪情况.轨迹跟踪效果如图5和图6所示,在训练初期,USV围绕出发点缓慢移动;当训练至250周期时,初步具备轨迹跟踪能力,但距离跟踪误差较大;当训练至500周期时,轨迹跟踪效果显著改善;当训练至1 000周期时,分别对比图5(c)、5(d)与图6(c)、6(d),观察到USV的实际轨迹与期望轨迹之间的误差得到进一步改善,DRL控制器实现了较为满意的轨迹跟踪效果.10.13245/j.hust.228371.F005图5典型折线路径轨迹跟踪效果10.13245/j.hust.228371.F006图6典型曲线路径轨迹跟踪效果4.2 算法对比分析在上述实验的基础上,选取LSTM-PPO控制器与全连接网络PPO(MLP-PPO)控制器、模糊PID控制器进行对比,计算不同控制算法在标准轨迹集中的控制轨迹,并从中选取了典型折线和曲线路径进行分析.三种控制器在折线和曲线路径上的轨迹如图7所示,轨迹跟踪误差如图8和图9所示.10.13245/j.hust.228371.F007图7不同控制算法算法轨迹跟踪对比10.13245/j.hust.228371.F008图8典型折线路径跟踪误差对比10.13245/j.hust.228371.F009图9典型曲线路径跟踪误差对比通过观察图7(a)折线路径和图8相应的跟踪误差可以发现:在折线转弯处,LSTM-PPO和MLP-PPO控制器轨迹跟踪迅速,而模糊PID控制器的超调量较大,峰值误差可达15 m.通过观察图7(b)曲线路径和图9可知:LSTM-PPO控制器跟踪精度最高,MLP-PPO控制器次之,且轨迹存在轻微震荡,模糊PID控制器的跟踪效果好于折线路径,峰值误差降低至2.6 m.为进一步综合评估跟踪误差,使用三种控制器在标准轨迹集进行测试,跟踪误差的均方根误差如表3所示,使用粗体标出了各项误差指标的最优值.10.13245/j.hust.228371.T003表3控制器跟踪误差的均方根误差比较控制器典型折线典型曲线标准轨迹集LSTM-PPOMLP-PPO模糊PID1.0881.6954.5710.7211.1151.6461.4201.9846.115m综上,LSTM-PPO控制器由于考虑了历史状态,控制精度和稳定性高于MLP-PPO控制器,而模糊PID控制器面对期望轨迹的突变容易产生跟踪滞后的现象.由此可知:所提出的LSTM-PPO深度强化学习控制器可以迅速根据航迹变化做出调整,调节时间短,控制效果稳定,具有良好的控制性能.5 结语针对一种针对欠驱动USV的深度强化学习轨迹跟踪控制方法进行研究,建立了基于LSTM网络层的深度强化学习控制器,设计了相应的状态空间和收益函数,生成了轨迹任务数据集作为深度强化学习控制器的训练样本输入.仿真实验验证了算法的有效性,研究结果表明:LSTM-PPO控制器在训练中能快速收敛达到控制要求,证明了设计的状态、动作空间及收益函数的可行性,本方法对于扰动环境下USV轨迹跟踪控制具有较高的鲁棒性和较大的实际应用潜力.
使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,
确定继续浏览么?
复制成功,请在其他浏览器进行阅读