[发明专利]一种基于增强学习的三自由度自主水下航行器控制方法有效
申请号: | 201910799267.4 | 申请日: | 2019-08-28 |
公开(公告)号: | CN110597058B | 公开(公告)日: | 2022-06-17 |
发明(设计)人: | 洪榛;刘涛;安曼;李严;陈博;俞立 | 申请(专利权)人: | 浙江工业大学 |
主分类号: | G05B13/04 | 分类号: | G05B13/04 |
代理公司: | 杭州斯可睿专利事务所有限公司 33241 | 代理人: | 王利强 |
地址: | 310014 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 增强 学习 自由度 自主 水下 航行 控制 方法 | ||
1.一种基于增强学习的三自由度自主水下航行器控制方法,其特征在于:包括以下步骤:
步骤1)定义AUV控制系统模型位置状态参数;
步骤2)定义AUV控制器表达式;
步骤3)构建策略与评价网络结构;
步骤4)设计目标与当前值网络参数更新方式;
步骤5)设计AUV运动的探索与利用策略;
步骤6)设计基于优先度的经验回放策略;
步骤7)构建带优先级的经验回放池样本存储结构;
步骤8)定义回报函数;
步骤9)求解AUV运动控制目标策略;
所述步骤1)中,定义AUV当前位置状态:
st=[ε,δ,L,u,v,r]T
式中,ε为AUV路径偏差,其计算公式为:ε(t)=L(t)×sinα(t);δ为AUV航向角偏差,其计算公式为:式中Xwpt(i),Ywpt(i)表示t时刻下AUV在水平面上的位置;L为与下一目标点之间的距离,其计算公式为:以地面坐标系为参考,u为x轴方向的前进速度、v为y轴方向的横移速度、r为绕z轴旋转的偏航角速度;
所述步骤2)中,定义AUV控制器表达式为:
式中,η(t)为AUV当前的位置状态,为AUV当前的速度状态,所设计的AUV控制器μ(·)本质上相当于控制器输出τT和AUV所处状态之间的映射模型,使用神经网络去拟合控制器μ(·),其网络参数定义为θμ,则基于神经网络的AUV控制器表示为:
at=μ(st|θμ)
式中,at=[F1,0,F2,T]T为控制器的动力输出,F1,F2,T分别表示水平方向上的推力、垂直方向上的推力和水平方向上的扭矩,st=[η,v]T为AUV所处位置状态;
所述步骤3)中,策略网络采用四层结构,将状态st作为输入层,第二层与第三层为隐藏层,采用全连接结构,最后一层输出动作at;在网络中,隐藏层采用ReLu激活函数进行非线性化,而输出层采用Tanh激活函数进行非线性化,其输出范围(-1,1);在AUV控制中,设定最大推力Fmax、最大扭矩Tmax,将Fmax和Tmax设为动作输出边界值,将策略网络输出值乘以动作边界值作为AUV动力输入,则有at={(F,T)|-FmaxFFmax,-TmaxTTmax},小型AUV使用无刷直流电机BLDC作为推进器,因此输出推力和扭矩在瞬态响应中具有有限的变化值,因此在动作网络输出时执行限制处理,AUV电机驱动模块优化后得式中,Flast和Tlast为上一次控制器动力输出,ΔFmax和ΔTmax为推进器在控制器更新输出的时间段内所能达到的最大的推力和扭矩变化量;
所述步骤3)中,评价网络采用四层结构,将状态与动作对(st,at)当作输入层,第二层与第三层为隐藏层,采用全连接结构,最后一层输出评价值Q值,各层均使用ReLu激活函数进行非线性化;
所述步骤4)中,采用一种“软”平滑方式更新,其表达式为:
式中,β<<1是参数更新平滑因子,θQ、θQ′分别为评价网络中当前值网络eval network和目标网络target network的权重参数,θμ、θμ′分别为当前值网络eval network和目标网络target network的权重参数;
评价网络其权重参数θQ采用最小化Loss Function,利用随机梯度下降的方式更新,其Loss Function为:
式中,yi=ri+γQ'(si+1,μ'(si+1|θμ′)|θQ′),ri为瞬时回报,γ为回报折扣因子,si+1为转移到下一时刻AUV的状态;
在策略网络训练中,其权重参数θμ使用策略梯度的方式进行更新,在策略网络中其策略梯度计算公式为:
所述步骤5)中,采用了在策略输出的动作上随机噪声的方法作为探索和利用策略,其表达式为:
at=μ(st|θμ)+Δut
式中,Δut~N(μ,σ2)为零均值高斯白噪声;
AUV的控制方法每次在动作选择时,以概率1-ε去选择最大值函数Q(s,a)的动作amax,并且以ε的概率在可执行的动作空间中进行随机的选择要执行的动作,使得算法能够尽量多的去探索未知的状态,使算法不会陷于局部最优;
所述步骤6)中,采用了基于优先度的经验回放策略,即为经验池中的每个样本都赋予优先度pri,对于时间差分中TD-Error绝对值较大的样本赋予较高的优先度,在采样时,优先度越高的样本将优先被采样,以此加快算法的收敛速度;
在网络训练中,TD-Error为:
Δi=ri+γQ(si+1,μ(si+1|θμ)|θQ)-Q(si,ai|θQ)
式中,si为当前状态,ai为当前动作,si+1为转移到下一时刻的状态;
令样本优先度prii为:
prii=|Δi|+ζ
式中,ζ是一个很小的正常数,为了使有一些TD-error为0的特殊边缘例子也能够被抽取;
同时,借鉴了ε-greedy策略,在优先度回放中引入随机采样的方法,此方法结合贪婪优先度回放和随机均匀采样,定义样本i的采样概率为:
式中,prii是样本i的优先度,α是优先度采样因子,当α等于0时,采用随机均匀采样;
所述步骤7)中,采用经验回放池的样本数据存储结构为基于SumTree的树结构模型,所有的经验回放样本只保存在最下面的叶子节点上,一个节点一个样本;内部节点不保存样本数据,叶子节点保存数据与样本优先级,对于内部节点每个节点只保存自己的子节点的优先级值之和,当采样时,首先根据总的优先度和采样个数将整个SumTree的叶子节点划分成很多区间,然后在每个区间中分别采样一个样本,按照从上往下的方式采样;计算公式为:
n=sum(P)/batch_size
式中,sum(P)是SumTree根节点的值,P为样本的优先度值;
所述步骤8)中,为保证目标策略在实际控制中能够准确参考航向角偏差δt和路径偏差εt进行修改,同时保证快速稳定到达目标点的要求,航行速度ut越快越好,其旋转角速度rt应该越小越好,设计控制算法回报函数为:
reward=-(ρ1δt+ρ2εt-ρ4ut+ρ5rt)
式中,ρ1、ρ2、ρ3、ρ4和ρ5分别为各个上述各个参数的权重系数;
所述步骤9)中,包含如下过程:
①初始化经验回放池;
②根据步骤1),获取AUV当前时刻的状态s;
③根据步骤3)-8)获得当前状态对应的a;
④控制电机驱动模块控制推进器推力进行运动,并重新读取AUV运动后的状态s’;
⑤根据步骤8)计算该动作后的回报r,根据步骤6)计算样本优先度P;
⑥将(s,a,r,s’,P)存入步骤7)所构建的经验回放池结构中;
⑦从经验回放池中按照样本优先度提取一批样本进行训练,更新控制算法模型与经验回放池;
⑧判断AUV是否到达目标点,若未到达则重复过程①-⑦,直至完成任务,并输出目标策略。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江工业大学,未经浙江工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910799267.4/1.html,转载请声明来源钻瓜专利网。