一种基于预处理层与深度强化学习的机器人导航方法与流程

文档序号:17900444发布日期:2019-06-13 16:23阅读:269来源:国知局
一种基于预处理层与深度强化学习的机器人导航方法与流程

本发明涉及机器人导航技术领域,尤其涉及一种基于预处理层与深度强化学习的机器人导航方法。



背景技术:

在过去的二十年中,机器人的身影在许多人类活动中变得越来越常见,占据越来越重要的地位。

然而,由于环境的复杂和不可预测,大部分机器人是通过手动或半自动操作实现其导航。虽然为应对不可预见的环境情况提供了可能性。但需要人类来理解传感器获得的感知数据并做出决策驱动机器人。因此,移动机器人需要具有更高水平的智能和自主性的导航系统,以允许其在复杂环境中自主做出最佳决策。

在深度强化学习中,机器人通过与环境的交互,即通过在环境中执行动作同时接收奖励,促进完成任务目标就给予正反馈,否则给予负反馈,并且不停的重复这一过程来进行训练,其训练目标是为了能在当前环境下,选择出能得到最大化奖励的动作。

虽然一些论文显示了在真实机器人中使用深度强化学习进行导航能力训练的可行性,但这种方法的成本非常的大,因为在物理空间中运行机器人系统进行训练是非常耗时的,需要数十万次执行任务的数据集和几个月的时间。因此科学家们经常利用虚拟环境训练代替真实环境训练。使用虚拟环境训练平台的主要步骤是在虚拟环境中训练真实机器人的虚拟模型,直到学习到其所需的能力,然后将知识迁移至真实环境中的真实机器人身上。

但上述基于深度强化学习模型的导航系统有一个致命的问题,即机器人训练完毕后,在虚拟环境中具有一定的导航能力。但在将虚拟环境中的训练完成好的导航算法迁移至现实环境中时,由于虚拟环境与现实环境差别过大,会使机器人的导航性能急剧下降。也会出现如图4所示的由于虚拟环境与现实环境差别过大(其灰度值矩阵差别过大),深度强化学习在移植至现实环境中时,获得的现实环境的环境信息与虚拟环境有着非常大的差异,更会出现图5所示的使深度强化学习的性能下降至一个非常严重的地步,阻止了深度强化学习的迁移性能与在现实环境中的实用性。



技术实现要素:

针对现有技术中存在的缺陷或不足,本发明提供一种基于预处理层与深度强化学习的机器人导航方法解决基于深度强化学习的导航算法从虚拟环境迁移至现实环境的泛化性能差的问题,将预处理层与深度强化学习结合,通过预处理层与深度强化学习接收环境信息并输出正确的动作,进而使搭载上述方法的机器人获得导航能力,并具有很强的从虚拟环境迁移至现实环境的能力,可应用于机器人导航领域。

为了实现上述目的,本发明采取的技术方案为提供一种基于预处理层与深度强化学习的机器人导航方法,该方法是在构建的虚拟训练环境中设置虚拟预处理层,在现实环境中设置现实预处理层;

通过现实预处理层与虚拟预处理层输出具有相同意义的信息,将在虚拟训练环境中的深度强化学习结果移植至现实环境中的机器人导航系统上,实现导航。

作为本发明的进一步改进,该方法包括如下步骤:

s100,构建虚拟训练环境;

s200,在构建的虚拟训练环境中训练;

s300,构建现实环境;

s400,在现实环境中机器人执行导航过程。

作为本发明的进一步改进,所述步骤s100中构建虚拟训练环境,包括如下步骤:

s101,搭建至少包含导航目标、障碍物以及搭载虚拟传感器的虚拟机器人所在的虚拟环境;

s102,根据虚拟环境中的导航目标和障碍物的场景设计虚拟预处理层,用于提取视野中每个物体的类别信息、占据面积大小信息以及左右位置信息;

s103,根据虚拟预处理层提取并输出的信息结合机器人的运动机构,设计深度强化学习框架;

所述步骤s200中构建虚拟训练环境,包括如下步骤:

s201,虚拟预处理层从虚拟传感器获得的环境图片中提取出每个物体包含物体类别、占据面积大小、左右位置的信息,送至深度强化学习;

s202,根据目标与障碍物的面积进行奖励的计算,判断任务完成情况,输出任务完成或任务失败信号,送至深度强化学习;

s203,深度强化学习根据目标与障碍物信息输出动作,并结合奖励信息进行网络调优,从网络输出端到输入端进行梯度反向传播,循环至完成训练。

作为本发明的进一步改进,在步骤s102中设计虚拟预处理层后,先对虚拟传感器拍摄的图片进行高斯滤波,再选取使图片中物体与背景分离的阈值t对滤波后的图片进行二值化处理;

其中,对虚拟传感器拍摄的图片进行高斯滤波,通过如下公式实现:

其中,(x,y)分别表示当前的像素点坐标值,σ表示像素点的方差;

对滤波后的图片通过如下公式:

进行二值化处理。

作为本发明的进一步改进,在步骤s300构建现实环境时,将在虚拟训练环境中训练完成的深度强化学习权重信息移植至现实环境的深度强化学习中。

作为本发明的进一步改进,深度强化学习中时,根据式h(x)=wtx+b和公式交叠前向反馈进行计算输出动作选项;其中,x表示每一层的输入,wt表示每一层的权重数值,b表示每一层的偏置,exp(x)表示对网络每一层作指数运算。

作为本发明的进一步改进,深度强化学习调优中,利用公式

l(θ)=eπ[(r+γmaxq(s’,a’;θ)-q(s,a;θ))2]进行损失函数计算;

再利用公式进行梯度反向传播更新网络参数;

其中,q(s,a;θ)表示动作值函数,表示在当前策略信息下,状态与动作代表的收益值,表示收益值函数对当前策略的梯度,用于反向传播更新策略。

本发明的有益效果是

1、本发明可以通过预处理层与深度强化学习接收环境信息并输出正确的动作,进而使搭载上述方法的机器人获得导航能力。同时具有很强的从虚拟环境迁移至现实环境的能力。可应用于机器人导航领域。针对在无环境地图的情况下基于视觉对指定目标进行有效导航与避障上述问题以及解决基于深度强化学习的导航算法从虚拟环境迁移至现实环境的泛化性能差的问题。

2、本发明中在虚拟环境训练过程中,预处理层接收机器人传感器获取的环境图片,提取目标与障碍信息、奖励信息以及是否完成任务信息。深度强化学习部分接收信息后输出将执行的动作,虚拟机器人在虚拟环境中执行动作。同时深度强化学习根据奖励信息进行训练,最后能选择出得到最大化奖励的动作。虚拟机器人搭载上述方法通过在计算机软件中的虚拟的室内环境中的不断训练,直至在虚拟环境中获得导航能力。在现实环境执行过程中,将虚拟环境的预处理层替换为针对现实环境设计的预处理层,再将深度强化学习移植至现实环境的机器人导航系统上。由于针对现实环境设计的预处理层可以有效输出与具有相同意义的虚拟环境信息相同的信息,故深度强化学习可以具有优良的从虚拟环境迁移至现实环境的迁移性能,实现现实环境中机器人的导航性能。

附图说明

图1为预处理层与深度强化学习方法结构。

图2为本发明的导航方法的流程图。

图3为本发明的虚拟训练环境示意图。

图4为虚拟环境图像与现实环境图像的灰度矩阵图。

图5为传统深度强化学习从虚拟环境迁移到现实环境示意图。

图6为预处理层与深度强化学习从虚拟环境迁移到现实环境示意图。

图7为预处理层处理图片示意图。

图8为虚拟环境图像经过预处理层处理后的目标与障碍物信息与奖励信息。

图9虚拟环境下深度强化学习训练完成后,机器人执行一次任务过程。

图10为实施例2的预处理层与深度强化学习在虚拟环境中导航任务训练过程收敛步数,横坐标是训练回合,纵坐标是执行一次任务所需的步数。

图11为实施例2的预处理层与深度强化学习在现实环境中执行导航任务步数,横坐标是执行任务回合,纵坐标是执行一次任务所需的步数。

图12为实施例2的导航过程示意图。

具体实施方式

下面结合附图1-图11说明及具体实施方式对本发明进一步说明。

本发明的基于预处理层与深度强化学习的机器人导航方法是分为预处理层单元和深度强化学习单元;

在预处理层单元,先构建虚拟训练环境,在虚拟环境训练过程中设计虚拟预处理层,虚拟预处理层接收传感器获取的虚拟的环境图片,提取目标与障碍信息、奖励信息以及是否完成任务信息,传输至深度强化学习单元。

在深度强化学习单元,接收预处理层单元的信息后输出将要执行的动作指令,虚拟机器人在虚拟环境中接收动作指令并执行动作;同时深度强化学习单元根据奖励信息进行训练,选择出得到最大化奖励的动作,进行训练。

技术原理是:虚拟机器人通过在虚拟环境(构建的虚拟训练环境)中的不断训练,直至虚拟机器人在虚拟环境中获得导航能力。在现实环境执行过程中,先将虚拟环境的虚拟预处理层替换为针对现实环境设计的现实预处理层,采用现实预处理层与虚拟预处理层输出具有相同意义的信息的方法,再将在虚拟训练环境中的深度强化学习结果移植至现实环境的机器人导航系统上,使得深度强化学习可以具有优良的从虚拟环境迁移至现实环境的迁移性能,实现现实环境中机器人的导航性能。其中,现实预处理层与虚拟预处理层输出具有相同意义的信息,图6所示是指针对现实环境设计的现实预处理层可以有效输出的信息,与虚拟预处理层接收传感器获取的虚拟的环境图片提取除的目标与障碍信息、奖励信息以及是否完成任务信息相同。

进一步的为更好的陈述本发明的导航方法的过程,具体是如图1和图2所示,分为如下步骤:

s100,构建虚拟训练环境;

s200,在虚拟训练环境的训练;

s300,构建现实环境;

s400,在现实环境中机器人执行导航过程。

每个步骤更具体的过程是:

(s100)构建虚拟训练环境,具体包括:

s101,搭建至少包含导航目标、障碍物以及搭载虚拟传感器的虚拟机器人所在的虚拟环境;

s102,根据虚拟环境中的导航目标和障碍物的场景设计虚拟预处理层,用于提取视野中每个物体的类别信息、占据面积大小信息以及左右位置信息(将视野进行纵向二等分来区分为左右位置)。

s103,根据虚拟预处理层提取并输出的信息结合机器人的运动机构,设计深度强化学习框架。

(s200)在虚拟训练环境的训练,是指在构建的虚拟训练环境中,对虚拟机器人模型中的深度强化学习进行训练,输出信息供虚拟机器人执行;也是指在虚拟环境中虚拟预处理层处理环境图片,并提取目标与障碍物信息及奖励信息,在深度强化学习中根据目标与障碍物信息输出动作,结合奖励信息进行网络调优;更详细的过程是包括如下的步骤:

s201,虚拟预处理层处理环境图片,具体是虚拟预处理层从虚拟传感器获得的环境图片中提取出每个物体包含物体类别、在图片中占据面积大小、左右位置的信息;

s202,提取目标与障碍物信息及奖励信息;

提取目标与障碍物信息时,根据预先设定好的目标类别信息与障碍物类别信息分别选取其面积大小与左右位置。面积大小即物体在图片中所占的面积大小,若物体在图片中所占面积越大,则说明机器人靠近物体,否则反之。左右位置意味着物体在其视野中的左右位置。

提取奖励信息时,根据目标与障碍物的面积进行奖励的计算,若目标的面积超过一定大小(任务成功设定值),则认为机器人到达目标附近,输出正反馈,判断为机器人执行任务成功,输出任务成功信号;若障碍物的面积超过一定大小(任务失败设定值),则认为机器人碰到障碍,输出负反馈,判断为机器人执行任务失败,输出任务失败信号;将上诉处理后的环境信息与任务完成信息送至深度强化学习中。

s203,深度强化学习根据目标与障碍物信息输出动作,结合奖励信息进行网络调优:

深度强化学习根据收到的目标与障碍物的大小、左右信息进行神经网络运算输出动作选项,虚拟机器人根据输出的动作选项执行动作,同时根据奖励信息进行判断上次执行的动作的正确程度,即当前动作对应的奖励值与理论计算的奖励值的差的平方,并从网络输出端到输入端进行梯度反向传播,完成一次训练。

s204,虚拟机器人执行动作后,通过虚拟传感器接收到新的环境图片,再进行上述步骤s201-s203,周而复始,直至执行任务成功或执行任务失败,则计为完成一次任务。通过多次的完成任务不断进行训练调优,直至虚拟机器人能够稳定的执行任务成功,才认为是训练成功。

(s300)构建现实环境

s301,搭建包含导航目标、障碍物以及搭载真实传感器的真实机器人的现实环境。

s302,根据现实环境中导航目标以及障碍物场景设计现实预处理层,现实预处理层可以提取现实视野中每个物体的类别信息,大小信息以及左右信息(将视野进行纵向二等分来区分为左右位置)。

s303,将深度强化学习在虚拟环境训练完成的网络权重信息,移植至现实环境的深度强化学习中。

(s400)在现实环境中机器人执行导航过程

s401,现实环境图片经过预处理层处理:

现实预处理层需要从实际传感器获得的现实环境图片中提出每个物体的信息,物体的信息至少包括:物体类别,占据面积大小及左右位置。

s402,提取目标与障碍物信息:

根据预先设定好的现实环境中的目标类别信息与障碍物类别信息选取目标物体的面积大小与左右位置。其中,面积大小即目标物体在图片中所占的面积大小,若物体在图片中所占面积越大,则说明机器人靠近物体,否则反之。左右位置意味着物体在其视野中的左右位置。

s403,深度强化学习根据目标与障碍物信息输出动作:

将虚拟环境训练完成的深度强化学习权重信息移植至现实环境的深度强化学习中,深度强化学习根据收到现实环境中的目标与障碍物的面积大小、左右位置信息进行神经网络运算输出动作选项,真实机器人(现实环境中的机器人)执行动作。

s404,真实机器人执行动作后,通过真实传感器接收到新的环境图片,再进行上述步骤,周而复始,直至执行任务成功或执行任务失败。

具体实施例1

针对本发明的导航方法,结合图2~图12对本发明在实际应用及计算过程进一步做具体的实施例说明:

构建如图3所示的虚拟训练环境,在虚拟训练环境中虚拟传感器采用了rgb相机,虚拟机器人采用虚拟turtlebot模型,虚拟环境采用gazebo(仿真机器人软件),通信层采用了ros多电脑通信方式,设定印有数字9的正方块为障碍,设定印在墙上的数字2为目标,4和8分别为左右位置信息。

考虑到在训练过程中存在如图4所示的虚拟环境与现实环境差别过大(其灰度值矩阵差别过大),深度强化学习在移植至现实环境中时,获得的现实环境的环境信息与虚拟环境有着非常大的差异,会使深度强化学习的性能下降至一个非常严重的地步,阻止了深度强化学习的迁移性能与在现实环境中的实用性,犹如图5所示的传统深度强化学习从虚拟环境迁移到现实环境出现的问题。针对此问题,本发明采用了图6所示处理过程,对虚拟环境与现实环境分别进行设计预处理层分别(可分为虚拟预处理层和现实预处理层,也可以虚拟环境与现实环境共用一个预处理层),使预处理层可以分别处理虚拟环境与现实环境的信息。如本发明实施例图6所示,使预处理层对具有相同意义的虚拟环境与现实环境的环境信息可以输出相同的信息。

在如图7所示的虚拟预处理层中,先利用公式(1)对虚拟传感器拍摄的图片进行高斯滤波,

其中,(x,y)分别表示当前的像素点坐标值,σ表示像素点的方差,再选取使图片中物体与背景分离的阈值t对滤波后的图片进行公式(2)二值化处理,

经过二值化处理是为了得到黑白图片,利于后面找到目标物体与障碍物体并进行分割。虚拟预处理层对到黑白图片进行连通区域检测,将连通的白色区域进行截图框选,进行子图片整形与子图片识别,以获得其子图片面积大小信息以及左右信息。而输入图像经过预处理层的输出结果可以设置成如图8所示的三步,获取虚拟环境图像经过预处理层处理后的目标与障碍物信息与奖励信息。

在对深度强化学习进行网络结构设计时,考虑到目标障碍物信息以及机器人动作机构组成,为对应上述导航情况,对现实预处理层与真实机器人的条件进行状态空间设计以及动作空间设计。其中,状态空间s设计为:

s=[sgoal,ogoal,dgoal,sobstacle,oobstacle,dobstacle](3)

sgoal表示目标的面积,ogoal表示目标的左右方向,dgoal表示目标的消失位,sobstacle表示障碍的面积,oobstacle表示障碍的左右方向,dobstacle表示障碍的消失位。

动作空间a设计为:

a=[as,al,ar](4)

其中,as表示前进0.5米,al左转固定15度,ar右转15度。

奖励函数设置为:

完成任务函数设置为:

sobstacle>20是指目标在图片中面积超过20个像素点单位,则给予数值为1的正反馈;若障碍物面积sgoal超过20个像素点单位,则给予数值为-1的负反馈;这两种情况视为完成任务,返回true的完成任务信号。否则给予数值为-0.01的负反馈,返回false的未完成任务信号。

由于深度强化学习是一个全连接的网络结构,所以在实施例中根据式(7)与公式(8)交叠前向反馈进行计算输出动作选项:

h(x)=wtx+b(7)

其中,在深度强化学习中,x表示每一层的输入,wt表示每一层的权重数值,b表示每一层的偏置,exp(x)表示对网络每一层作指数运算。

而在深度强化学习调优中,则是利用公式(9)进行损失函数计算,最后利用公式(10)进行梯度反向传播更新网络参数。

l(θ)=eπ[(r+γmaxq(s’,a’;θ)-q(s,a;θ))2](9)

其中,q(s,a;θ)表示动作值函数,表示在当前策略信息下,状态与动作代表的收益值。表示收益值函数对当前策略的梯度,用于反向传播更新策略。

在虚拟环境中训练完毕后,将训练完成的网络权重参数移植到现实环境中,同时针对现实环境进行预处理层的设计,设计过程与虚拟环境中预处理层设计过程相似,不再赘述。现实执行任务环境中不再进行网络调优。

具体实施例2

图10-图12具体应用本发明的导航方法的另一个具体的实施例。

实施例2是基于实施例1构建的虚拟训练环境,同样虚拟传感器采用了rgb相机,虚拟机器人采用虚拟turtlebot模型,虚拟环境采用gazebo(仿真机器人软件),通信层采用了ros多电脑通信方式,将带有“火”图片的正方块设定为障碍,设定印在白纸上被救助者为目标,现实机器人为救援者。

采用与实施例1相同的方法对救援机器人进行训练,观察统计得到如图10所示在虚拟环境下的虚拟机器人导航任务的训练迭代步数,可以看出随着训练回合的增加,机器人完成任务的步数逐渐减少,直至约120000回合时深度强化学习收敛。

将在虚拟环境中深度强化学习的结果迁移至现实环境中,具体是虚拟环境中训练完毕后,将训练完成的网络权重参数移植到现实环境中,得到如图11所示的为现实环境下的机器人迁移后的完成导航任务的所需步数和救援导航轨迹如图12所示,由此可以看出,采用本发明的方法解决基于深度强化学习的导航算法从虚拟环境迁移至现实环境的泛化性能差的问题,具有很好的导航性能。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1