[发明专利]一种基于深度强化学习的机器人全局路径规划方法有效

专利信息
申请号: 201710346125.3 申请日: 2017-05-17
公开(公告)号: CN107065881B 公开(公告)日: 2019-11-08
发明(设计)人: 刘华平;韩建晖;王博文;孙富春 申请(专利权)人: 清华大学
主分类号: G05D1/02 分类号: G05D1/02
代理公司: 北京清亦华知识产权代理事务所(普通合伙) 11201 代理人: 廖元秋
地址: 100084*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 机器人 神经网络 全局路径规划 强化学习 场景 构建 摄像机 摄像机拍摄图像 动作执行 更新目标 环境地图 机器学习 路径规划 训练阶段 输出 实时性 终位置 俯视 拍摄 优化 图片
【权利要求书】:

1.一种基于深度强化学习的机器人全局路径规划方法,其特征在于,分为训练阶段和执行阶段,包括以下步骤:

1)训练阶段;具体步骤如下:

1-1)在需要进行机器人全局路径规划的场景内距离地面hg的屋顶安装俯视摄像机,俯视摄像机对所在场景进行实时拍摄,得到该场景的一系列RGB图像;

1-2)建立评判机器人运动收益的深度神经网络,记为NR,具体步骤如下:

1-2-1)构建一个包含N层的深度神经网络NR,包括:一层输入层L1,若干层卷积层Lcnn-conv,若干层池化层Lcnn-pool,一层全连接层Lfull和一层输出层Ln

深度神经网络NR中,输入层L1的输入采用步骤1-1)安装的俯视摄像机连续拍摄的4帧RGB图像的信息作为一组输入数据;由于每张RGB图像包含3个维度,因此深度神经网络NR的一组输入数据,记为x:hnet×wnet×3×4,其中,hnet代表RGB图像的高度,wnet代表RGB图像的宽度;

输出层Ln的输出包含三个维度,每一维度分别对应机器人的一种运动方式,分别记为:Q1、Q2、Q3,则输出层Ln的输出为一个3×1的矩阵,记为y:{Q1;Q2;Q3};其中,Q1为左转30度前进,Q2为直行,Q3为右转30度前进;

1-2-2)设置深度神经网络激活函数;

深度神经网络NR的前n-1层激活函数f(·)为Relu函数,其表达式为f(x)=max(0,x),输出层激活函数为Sigmoid函数,其表达式为

1-2-3)定义深度神经网络每一层的权重参数θi并进行初始化赋值;

令θi表示深度神经网络NR中第i层权重参数,包括:第i层的连接参数wi和第i层的偏置参数bi;深度神经网络每一层的权重参数θi组成深度神经网络的总权重参数θR

深度神经网络NR层与层间为映射关系,其映射关系表达式为ai+1=f(zi+1);其中zi+1=wi*ai+bi,ai与ai+1分别表示深度神经网络NR的第i层与i+1层输出数据;深度神经网络NR总的映射关系为即输入层L1的输入的数据经过每一层的权重参数θi与该层相应的激活函数f(·)计算后,输出到下一层使深度神经网络不断前向传播,最终到达输出层Ln

训练开始前,对深度神经网络的每一层的权重参数θi赋初始值,赋值方法为:对深度神经网络NR的第i层,根据正态分布随机对第i层的连接参数wi进行初始化赋值,令偏置参数bi值为0;

1-2-4)设定深度神经网络NR奖惩系数R:机器人根据输出层Ln输出的动作指令选择执行的动作,机器人执行完动作后根据当前状态评判此次执行的效果,给出由奖惩系数r1、r2、r3和r4组成的奖惩系数R,表达式为R=r1+r2+r3+r4

评判标准为:若机器人与障碍物发生碰撞,则r1设定为-5;若机器人与障碍物距离小于30cm,则r1设定为-0.5;若机器人与障碍物未发生碰撞且距离大于等于30厘米,则r1设定为0;若机器人向前运动,则r2设定为0,否则r2设定为-5;若机器人到达目标点,则r3设定为10,否则r3设定为为0;若机器人遍历时间大于设定的阈值步数,则r4设定为-0.05,否则r4设定为0;

1-3)对深度神经网络NR的参数进行训练,训练完成后,得到最终的深度神经网络NR_final;具体步骤如下:

1-3-1)在计算机中建立一个数据缓存区Dmemory,初始化为空;在数据缓存区Dmemory中,分别建立一个经验池Dstart和一个数据样本集Dminibatch,分别初始化为空;

1-3-2)初始化计数器c1=0,计数器c1用来记录机器人运动次数;初始化计数器c2=0,计数器c2用来记录机器人每次成功到达目标位置需要经过的运动次数;初始化计数器c3=0,计数器c3用来记录机器人在一个场景中不同目标位置间训练全局路径规划的运动次数;

1-3-3)随机设定机器人在场景中的初始位置和目标位置;

1-3-4)t时刻,机器人保持初始静止状态,俯视摄像机连续抓拍场景图像,随机截取其中连续四帧的场景图像,则深度神经网络NR的t时刻输入数据为:xt=hnet×wnet×3×4,记做状态st并保存;

1-3-5)将步骤1-3-4)得到的t时刻的输入数据xt输入到深度神经网络NR中得到输出层对应输出的矩阵yt

1-3-6)选择机器人的执行动作,记做At,同时更新计数器c1=c1+1;执行动作的选择方法如下:

1-3-6-1)在0~1中产生随机数ε1,如果随机数ε1>ε,ε为设定阈值,则机器人的执行动作At为输出层输出的矩阵yt中元素的最大值所对应的动作,即At=max(Q1t,Q2t,Q3t);

1-3-6-2)如果随机数ε1<ε,则机器人的执行动作At为在矩阵yt除去最大值元素后的剩余两个元素中任意选择一个元素所对应的动作,即At=rand(Qt);

1-3-7)机器人执行完动作At后,若机器人到达步骤1-3-3)设定的目标位置,则进入步骤1-3-13);若未达到,则计数器c2=c2+1,进入步骤1-3-8);

1-3-8)重复步骤1-2-4),计算得到t时刻的奖惩系数记为Rt+1,叠加到t时刻输出层输出的矩阵yt,更新矩阵yt,得到t时刻的新的输出矩阵,记为Yvalue_t

计算新的输出矩阵Yvalue具体方法如下:假定输出矩阵为y:{Q1;Q2;Q3},机器人应执行的动作为Q1,动作执行完毕后,反馈得到奖惩系数R,根据计算公式:Q′1=Q1+R、Q'2=Q2、Q′3=Q3,得到新的矩阵Yvalue:{Q′1,Q'2,Q′3};

1-3-9)在t+1时刻,重复步骤1-3-4),得到新的状态st+1,建立集合{st,Qt,At,Rt+1,st+1},将该集合存储到数据缓冲区Dexplore并进行判定:如果数据缓冲区Dexplore的集合总数小于设定容量memory,则数据缓冲区Dexplore的集合总数加1;否则,数据缓冲区Dexplore的集合总数归0;

1-3-10)将集合{st,Qt,At,Rt+1,st+1}保存到数据缓冲区Dexplore后,将该集合同时保存到数据样本集Dminibatch与经验池Dstart中,且数据样本集Dminibatch与经验池Dstart中集合的总数分别加1,并进行判定:如果数据样本集Dminibatch的集合总数大于数据样本集Dminibatch的设定容量,则在下一个时刻将新得到的集合替换原数据样本集Dminibatch中距离当前时刻最久的集合;如果经验池Dstart的集合总数小于经验池Dstart的设定容量,则在下一个时刻重新返回步骤1-3-4);如果经验池Dstart的集合总数大于等于经验池Dstart的设定容量,则进入步骤1-3-11),并将下一个时刻新得到的集合替换原经验池Dstart中距离当前时刻最久的集合;

1-3-11)使用随机梯度下降法更新深度神经网络总权重参数θR,得到更新后的深度神经网络NR';具体步骤如下:

1-3-11-1)计算损失J(w,b);假设从数据样本集Dminibatch中随机选取m组集合,将Yvalue矩阵{Q'1;Q'2;Q'3}作为目标值,则根据损失函数计算机器人执行本次动作的损失,损失函数的表达式为:

1-3-11-2)计算深度神经网络每一层的残差δi,其中i表示深度神经网络的第i层;对于输出层,残差计算根据公式:δi=-(y-ai-1)·f'(zi-1);对于深度神经网络的第2层到第N-1层,则根据以下公式计算残差:δi=(wi·δi)f'(zi);

1-3-11-3)计算深度神经网络每一层权重参数θi的偏导数:连接参数wi的偏导数为偏置参数bi的偏导数为

1-3-11-4)计算深度神经网络每一层权重参数θi的梯度:连接参数wi的梯度为偏置参数bi的梯度为

1-3-11-5)更新深度神经网络每一层权重参数θi,得到更新后的深度神经网络NR':更新后,新的连接参数为新的偏置参数为其中,α表示学习速率,λ表示权重衰减系数;

1-3-12)利用步骤1-3-11)得到更新后的深度神经网络NR',重新返回步骤1-3-4),机器人在下一个时刻执行新的深度神经网络NR'输出的相应动作,并记录集合;

1-3-13)机器人到达步骤1-3-3)设定的目标位置,记录并存储计数器c2记录的次数为

1-3-14)令机器人在场景中的初始位置和目标位置保持不变,重新返回步骤1-3-4),对机器人进行多次路径规划训练,并记录每一次训练得到的计数器c2的值,得到集合集合中的每一个元素分别代表计数器c2记录的机器人完成一次路径规划训练的运动次数;

1-3-15)对设定相同初始位置和相同目标位置的路径规划训练进行判定,

若同时满足以下两个条件,则判定设定相同初始位置和相同目标位置路径规划训练完成,令c3计数器加1,同时清空c2集合为0,并进入步骤1-3-16);否则,重新返回步骤1-3-4):

条件1:连续n次训练存储的c2的次数变化差值小于设定阈值p;

条件2:连续n次训练后,经过损失函数计算得到损失J(w,b),小于设定阈值q,相邻两次训练的损失变化差值小于设定阈值k;

1-3-16)对计数器c3的次数进行判定:若c3<u,u为设定的阈值,则重新返回步骤1-3-3),随机更新机器人在场景中的初始位置和目标位置,对机器人进行新的路径规划训练;否则,深度神经网络参数训练完成,得到最终深度神经网络NR_final

2)执行阶段;具体步骤如下:

2-1)在场景中随机设定机器人初始位置和终点目标位置;

2-2)俯视摄像机连续抓拍场景图像,随机截取其中连续四帧的场景图像,作为最终深度神经网络NR_final的输入数据xfinal

2-3)将步骤2-2)的得到的输入数据xfinal输入到步骤1)训练完成的最终深度神经网络NR_final中,最终深度神经网络NR_final输出机器人执行的动作记为A,机器人执行该动作A,并进行判定:

2-3-1)若机器人执行完动作A后没有到达目标位置,则重新返回步骤2-2),最终深度神经网络NR_final生成机器人执行的下一个动作;

2-3-2)若机器人执行完动作A后到达目标终位置,则机器人完成全局路径规划。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201710346125.3/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top