基于深度强化学习的变质量水下航行器避障方法及系统转让专利
申请号 : CN202110240036.7
文献号 : CN113010963B
文献日 : 2022-04-29
发明人 : 李沂滨 , 李沐阳 , 缪旭弘 , 魏征 , 尤岳 , 周广礼 , 贾磊 , 庄英豪 , 宋艳
申请人 : 山东大学
摘要 :
权利要求 :
1.一种基于深度强化学习的变质量水下航行器避障方法,其特征在于,包括:根据变质量水下航行器的运动状态和执行机构动作构建基于深度强化学习网络的避障仿真模型;根据所述变质量水下航行器的运动状态构建状态空间,包括变质量水下航行器距水面的垂直距离、距水面中心的水平距离、距水面中心的正弦角和余弦角、距障碍物的距离,变质量水下航行器的姿态角、舵角、艉部推进器的推进力;根据变质量水下航行器的执行机构动作构建动作空间,包括控制变质量水下航行器的艉部推进器推力、艉部水平舵舵角、艉部垂直舵舵角以及重量大小;
基于深度强化学习网络的避障仿真模型包括当前演员网络、当前评论家网络、目标演员网络、目标评论家网络以及经验回放池;根据经验回放池中的经验数据通过当前演员网络和当前评论家网络对网络模型进行训练,以更新目标演员网络、目标评论家网络;还包括奖励函数,奖励函数包括变质量水下航行器上浮时的上浮奖励、变质量水下航行器到达指定区域时的位置奖励、时间惩罚项、变质量水下航行器触碰到地图边界或障碍时的惩罚项以及变质量水下航行器在指定步数内完成避障任务时的奖励项;对于航行器的上浮,定义上浮奖励为t时刻时航行器深度与t+1时刻时航行器深度的差值;针对航行器在水平面上到达指定区域的任务,定义位置奖励为t时刻航行器与水平面中心的距离函数;设置时间惩罚项,当时间步大于500步时,将返回任务结束标志并结束任务;当航行器触碰到地图边界或者障碍时,将返回任务结束标志并结束任务,给予惩罚项;若航行器在指定步数内完成任务,将返回任务结束标志并结束任务,给予奖励项;
将预先获取的历史避障任务完整轨迹作为专家数据存入经验回放池,根据变质量水下航行器初始运动状态和高斯噪声得到当前执行动作,所述当前执行动作为基于当前运动状态,利用当前演员网络及当前高斯噪声计算得到当前应采取的执行动作,根据当前执行动作得到新运动状态和当前执行动作的奖励值,并存入经验回放池;
根据经验回放池对基于深度强化学习网络的避障仿真模型进行训练,根据当前训练的执行动作累积奖励值和历史训练的累积奖励平均值更新高斯噪声;
以迭代训练完成后的基于深度强化学习网络的避障仿真模型得到变质量水下航行器避障任务行驶路径。
2.如权利要求1所述的一种基于深度强化学习的变质量水下航行器避障方法,其特征在于,根据评论家网络的均方差损失函数通过梯度反向传播更新当前评论家网络的参数,根据演员网络的均方差损失函数通过梯度反向传播更新当前评论家网络的参数,根据更新后的当前评论家网络和当前评论家网络的参数通过软更新方法更新目标演员网络和目标评论家网络。
3.如权利要求1所述的一种基于深度强化学习的变质量水下航行器避障方法,其特征在于,根据当前训练的执行动作累积奖励值和历史训练的累积奖励平均值更新高斯噪声包括:若当前训练的执行动作奖励值大于历史训练的奖励平均值,则降低高斯噪声,否则增大高斯噪声;设定高斯噪声上限和高斯噪声下限,采用clip函数确定高斯噪声值,即σm+1=clip(σ'm+1,0.5σ0,2σ0),其中σm+1为第m+1轮训练的高斯噪声,σ0为初始噪声,σ′m+1为中间变量。
4.一种基于深度强化学习的变质量水下航行器避障系统,其特征在于,包括:模型构建模块,被配置为根据变质量水下航行器的运动状态和执行机构动作构建基于深度强化学习网络的避障仿真模型;根据所述变质量水下航行器的运动状态构建状态空间,包括变质量水下航行器距水面的垂直距离、距水面中心的水平距离、距水面中心的正弦角和余弦角、距障碍物的距离,变质量水下航行器的姿态角、舵角、艉部推进器的推进力;根据变质量水下航行器的执行机构动作构建动作空间,包括控制变质量水下航行器的艉部推进器推力、艉部水平舵舵角、艉部垂直舵舵角以及重量大小;
基于深度强化学习网络的避障仿真模型包括当前演员网络、当前评论家网络、目标演员网络、目标评论家网络以及经验回放池;根据经验回放池中的经验数据通过当前演员网络和当前评论家网络对网络模型进行训练,以更新目标演员网络、目标评论家网络;还包括奖励函数,奖励函数包括变质量水下航行器上浮时的上浮奖励、变质量水下航行器到达指定区域时的位置奖励、时间惩罚项、变质量水下航行器触碰到地图边界或障碍时的惩罚项以及变质量水下航行器在指定步数内完成避障任务时的奖励项;对于航行器的上浮,定义上浮奖励为t时刻时航行器深度与t+1时刻时航行器深度的差值;针对航行器在水平面上到达指定区域的任务,定义位置奖励为t时刻航行器与水平面中心的距离函数;设置时间惩罚项,当时间步大于500步时,将返回任务结束标志并结束任务;当航行器触碰到地图边界或者障碍时,将返回任务结束标志并结束任务,给予惩罚项;若航行器在指定步数内完成任务,将返回任务结束标志并结束任务,给予奖励项;
经验获取模块,被配置为将预先获取的历史避障任务完整轨迹作为专家数据存入经验回放池,根据变质量水下航行器初始运动状态和高斯噪声得到当前执行动作,所述当前执行动作为基于当前运动状态,利用当前演员网络及当前高斯噪声计算得到当前应采取的执行动作,根据当前执行动作得到新运动状态和当前执行动作的奖励值,并存入经验回放池;
训练模块,被配置为根据经验回放池对基于深度强化学习网络的避障仿真模型进行训练,根据当前训练的执行动作累积奖励值和历史训练的累积奖励平均值更新高斯噪声;
避障规划模块,被配置为以迭代训练完成后的基于深度强化学习网络的避障仿真模型得到变质量水下航行器避障任务行驶路径。
5.一种电子设备,其特征在于,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成权利要求1‑3任一项所述的方法。
6.一种计算机可读存储介质,其特征在于,用于存储计算机指令,所述计算机指令被处理器执行时,完成权利要求1‑3任一项所述的方法。
说明书 :
基于深度强化学习的变质量水下航行器避障方法及系统
技术领域
背景技术
沉浮的变质量水下航行器的运动较普通的水下航行器更为灵活;然而,海底环境复杂,障碍
物较多,水下航行器与障碍物的碰撞会造成严重的后果,为了提高水下航行器工作的安全
性,增强水下航行器在复杂环境中的智能决策能力,对水下航行器避障算法的研究就显得
尤为重要。水下航行器的非线性动力学模型使得许多线性控制器,如PID控制器的性能下降
严重,即使使用非线性控制器,由于复杂的海底环境,例如海流、波浪带来的干扰,同样难以
获得比较精确的水下航行器的动力学模型。
者通常使用高斯过程或贝叶斯网络对这类问题进行建模,而无模型的方法则是一种数据驱
动的方法,通过估计价值函数或策略函数来获取最佳的策略。由于水下航行器模型的特殊
性,应选择无模型学习方法对其进行训练。
a)学习最佳策略,但其只适用于离散动作空间的特性使得应用范围较窄;基于策略的方法
可以通过网络参数 学习随机策略函数 解决了对连续动作的学习问题,但该算法
需要完整的状态序列,同时单独对策略函数进行迭代更新,不容易收敛;为了解决策略梯度
和价值预测算法的弊端,Konda和Tsitsiklis提出策略和价值相结合的演员—评论家方法,
具有在连续动作空间的良好收敛性,但该算法的良好表现必须基于大量的训练样本。
确定性策略μ(s),而不是随机的平稳策略分布π(a|s),但针对变质量水下航行器的避障任
务,该算法还是有其局限性。首先,DDPG算法为了增加学习的覆盖面,会对选择出的动作A增
加一定的噪声N,这有利于训练早期的探索,但在训练后期,演员网络有了比较好的性能后,
这些噪声反而使得演员网络性能下降,甚至导致其无法收敛;其次,DDPG算法并未使用专家
数据,早期训练依赖随机数据,导致其收敛速度较慢。
典型的离线学习算法,其学习的策略是确定性策略,即确定性的演员网络,而探索部分可以
自定义探索噪声,传统方法中将确定性策略加入高斯噪声构成演员网络,虽然有利于智能
体探索更多的动作空间,从而选取到最佳的动作,但演员网络达到较好的性能后,这类噪声
反而会增加动作选择的不确定性,影响网络的性能;最后,DDPG算法在早期训练时经验较
少,经验回放池中存在着大量的随机数据,这会导致演员—评论家网络收敛速度大大降低,
甚至出现无法收敛的情况,存在训练早期随机性过强,导致的收敛速度过慢的问题。
发明内容
器的避障问题,在对网络模型正式训练前采用专家经验数据进行预训练,以加速训练的收
敛速度,提高收敛成功率,并且引入随训练过程而不断变化的高斯噪声,以探索更多动作空
间。
态和当前执行动作的奖励值,并存入经验回放池;
前执行动作得到新运行状态和当前执行动作的奖励值,并存入经验回放池;
方法。
中探索噪声可能对后期训练造成负面影响的问题;本发明在每轮训练结束后,计算该轮智
能体得到的累计奖励和过去所有轮次中智能体得到的累计奖励平均值,若前者较大,则认
为演员网络的性能已经超过平均值,应减少噪声大小;反之则应增大噪声的大小,通过引入
随着神经网络训练而不断变化的高斯噪声,变质量水下航行器能在保证神经网络性能的前
提下探索更多动作。
过改变自身的重量来操控自身的沉浮,提升其运动的灵活性。
附图说明
具体实施方式:
理解的相同含义。
也意图包括复数形式,此外,还应当理解的是,术语“包括”和“具有”以及他们的任何变形,
意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设
备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过
程、方法、产品或设备固有的其它步骤或单元。
行状态和当前执行动作的奖励值,并存入经验回放池;
下的管道系统,水下航行器需要在不碰撞障碍物的前提下到达水面上的圆柱状区域内,该
圆柱状区域的圆心为水面中心,半径为10m,深度为2m。
质量水下航行器可通过吸水达到初始状态1.5倍的重量,或通过排水达到初始状态0.5倍的
重量。
是动系G‑xyz,随艇一起运动;以上两种坐标系均为右手系,坐标轴由右手系决定;
矩 可分解为{K,M,N};航行器的位置和姿态可在E‑ξηζ坐标系下确定,分别为位置向量{ξ,
η,ζ}以及姿态向量{ψ };根据上述建立的动力学模型,根据水下航行器在t时刻时的动力
学参数,通过四阶龙格库塔法近似计算出水下航行器在t+1时刻的运动状态。
作空间a以及与环境交互时的奖励函数r。
航行器距水面中心的水平距离;obs3、obs4、obs5、obs6分别为航行器距水面中心的正弦角
和余弦角;obs7、obs8分别为航行器姿态角 θ;obs9、obs10分别为航行器的舵角;obs11为
航行器艉部推进器的推进力大小;obs12、obs13、obs14、obs15为航行器在上下左右四个方
向上距障碍物或地图边界的距离是否小于危险距离5m;
{act1,act2,act3,act4},其中,act1用于控制航行器艉部推进器推力,act2、act3用于控制
航行器艉部水平舵以及艉部垂直舵的舵角,act4用于控制航行器的重量大小;
奖励函数也由多个部分组成,包括航行器的上浮奖励、位置奖励、时间惩罚等,以此构建奖
励函数;
或障碍时的惩罚项,rsuccess为变质量水下航行器在指定步数内完成避障任务时的奖励项。
据通过当前演员网络和当前评论家网络对网络模型进行训练,以更新目标演员网络、目标
评论家网络,如图5所示,具体包括:
w),目标评论家网络的输出值为Q′(s,a,w′)。
‑3
数step_pre=1000,目标网络软更新参数τ=5*10 ,奖励折损率γ=0.99。
五元数组{s,a,r,s′,is_end},其中,s′是智能体在状态s下采取动作a后到达的新状态;
放池不会发生任何变化;
即s=′。
跳转至S3‑4‑2;
验。
episode中航行器的奖励平均值raverge(m);假设在初始状态时,σ=σ0,在第一以及第二轮训
练时,由于缺乏数据,噪声参数σ为初始值,即σ1=σ2=σ0;第m轮时(m>=2),σ=σm,则第m+1
轮时,高斯噪声的σm+1由以下公式计算:
大小;反之则应增大噪声的大小;通过引入随着神经网络训练而不断变化的高斯噪声,变质
量水下航行器能在保证神经网络性能的前提下探索更多动作。
态掌握神经网络的性能变化情况。
域的轨迹表现出变质量水下航行器智能体经过训练后能自主地完成任务,且根据其训练过
程中各episode得到的任务环境奖励及其成功率,基于改进的结合专家数据的DDPG变质量
水下航行器自主避障上浮控制算法具有明显较快的收敛性及收敛后的稳定性。
前执行动作得到新运行状态和当前执行动作的奖励值,并存入经验回放池;
述模块作为系统的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
再赘述。
逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者
该处理器也可以是任何常规的处理器等。
存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于
存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里
不再详细描述。
软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个
特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范
围。
等同替换、改进等,均应包含在本发明的保护范围之内。
需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。