一种基于层次化和模块化学习的导航避障方法

文档序号:30338224发布日期:2022-06-08 07:21阅读:131来源:国知局
一种基于层次化和模块化学习的导航避障方法

1.本发明涉及移动机器人导航技术领域,特别涉及一种基于层次化和模块化学习的导航避障方法。


背景技术:

2.在高度复杂、非结构化环境中的目标图像驱动的移动机器人导航是机器人智能导航领域的一个重要研究方向,将在抢险救灾、科学侦察、危险作业等诸多恶劣条件下有着广泛的应用前景。然而,这一研究需要在没有准确目标位置信息且只有导航目标图像的情况下,实现移动机器人安全、高效导航,极具挑战性。此外,如果导航目标图像所在位置离移动机器人较远,并且导航环境较拥挤,那么除了考虑导航策略,移动机器人还需要学习有效的环境探索策略和鲁棒的避障策略,这些考虑进一步增加了移动机器人智能导航的难度。
3.大多数现有的目标图像驱动的导航方法都使用端到端的学习方式来解决这个问题,这些方法将深度卷积神经网络(cnn)与强化学习(rl)相结合,建立视觉图像和导航运动之间的映射关系,通常在训练过程中表现出过度拟合的趋势,对于新的导航目标或环境,总是需要重新训练网络参数。此外,这些方法都是为合成的三维迷宫或者合成的室内场景设计的,距离用到复杂的实际场景中,还有很大的差距。也有一些研究将深度强化学习模型用到真实世界中,有些是基于低维的状态估计,有些是基于从现实场景中采集的大量数据学习的。然而,这些模型需要理想化的全球定位系统和运行时导航目标的具体位置信息。基于以上的方法,移动机器人总是在学习随机的探索策略,没有对周围环境布局的有效感知,需要大量的试错学习,严重限制了其在实际场景中的应用。
4.针对移动机器人基于现有技术难以在非结构化动态实际场景中安全高效地实现目标图像驱动导航的问题,目前尚未提出有效的解决方案。


技术实现要素:

5.本发明针对现有技术中的不足,提供一种基于层次化和模块化学习的导航避障方法;解决了现有技术中难以安全高效地在非结构化动态实际场景中实现目标图像驱动导航的问题。
6.为实现上述目的,本发明采用以下技术方案:
7.一种基于层次化和模块化学习的导航避障方法,包括以下步骤:
8.s1:获取移动机器人上的激光雷达数据,构建实时场景地图m
t

9.s2:根据实时构建的场景地图m
t
,并基于移动机器人获取的视觉图像、导航目标图像设计导航目标点生成模型,预测确定导航目标图像在场景地图m
t
上的位置,即目标点的位置;具体包括:
10.s2.1:确定导航目标点生成模型的输入、输出及训练该模型过程中的奖励函数r
t

11.s2.2:构建导航目标点生成模型;
12.s2.3:训练导航目标点生成模型,并将训练好的导航目标点生成模型应用在移动
机器人导航过程中,以实现每经过一个时间间隔,输出一个导航的目标点,预测确定导航目标图像在实时构建的场景地图m
t
上的位置;
13.s3:构建基于深度强化学习框架的移动机器人导航避障模型,发布移动机器人导航至目标点的速度指令,使移动机器人行驶至预测的目标点位置;
14.s4:构建导航结束预测模型,判断导航是否结束;并根据判断结果执行对应操作,具体包括:
15.s4.1:确定导航结束预测模型的输入、输出;
16.s4.2:构建导航结束预测模型;
17.s4.3:训练导航结束预测模型,并将训练好的导航结束预测模型应用在移动机器人导航过程中,以实现每经过一个时间间隔,判断移动机器人是否已经到达目标点所在位置的附近,若移动机器人在目标点位置的附近,则结束导航,若移动机器人不在目标点位置的附近,则重新循环步骤s1-s4直至完成移动机器人的避障导航任务。
18.为优化上述技术方案,采取的具体措施还包括:
19.进一步地,步骤s1的具体内容为:基于激光雷达数据和gmapping算法实时构建栅格式的场景地图m
t
,并对场景地图m
t
进行旋转平移变换,使移动机器人始终位于场景地图m
t
的中心位置;其中移动机器人的正向是场景地图m
t
的正东方向,且场景地图m
t
的每一个栅格代表实际场景大小的25cm2。
20.进一步地,步骤s2.1的具体内容为:
21.所述导航目标点生成模型的输入包括:视觉图像组成i
t
、实时构建的场景地图m
t
、导航目标图像组成ig;其中视觉图像组成i
t
是每隔一段时间由移动机器人上四个不同方位的视觉传感器获取的四张视觉图像,并将四张视觉图像沿横向依次堆叠形成一张平铺的组成图像;其中导航目标图像组成ig是由目标点四个方向的四张视觉图像沿横向依次堆叠形成一张平铺的组成图像;其中所述视觉图像组成i
t
的分辨率为512
×
128
×
3,所述导航目标图像组成ig的分辨率为512
×
128
×
3,所述场景地图m
t
的分辨率为240
×
240
×
1;
22.所述导航目标点生成模型的输出是g
t
:指所导航的目标点在场景地图m
t
上的坐标点;
23.所述奖励函数r
t
的具体计算公式为:r
t
=re+r
ur
+rg;式中,re表示移动机器人在导航过程中的奖励;r
ur
表示当预测的目标点是否在移动机器人可到达的区域的惩罚,当预测的目标点不在移动机器人可到达的区域内时,则r
ur
=-5,否则r
ur
=0;rg表示移动机器人是否在预测的目标点的附近,当移动机器人正好在预测的目标点的附近时,则rg=20,否则rg=0;
24.其中re的计算公式为:式中,e(t)表示移动机器人在时间间隔t探索的区域的总面积;e(t+k)表示移动机器人在时间间隔t+k探索的区域的总面积;ig∈s(e(t))表示ig位于移动机器人已探索区域。
25.进一步地,步骤s2.2的具体内容为:
26.将视觉图像组成i
t
、导航目标图像组成ig输入进一个两流深暹罗网络,提取视觉图像组成i
t
、导航目标图像组成ig的特征并进行拼接,然后接入一个两层感知器,生成一个256
维的融合特征;其中,提取视觉图像组成i
t
、导航目标图像组成ig的特征利用的是两流深暹罗网络中的暹罗层作用,暹罗层主干是在imagenet上预训练的resnet-18分类网络,且resnet-18分类网络的最后一层全连接层被截断处理,resnet-18分类网络使分辨率为512
×
128
×
3的视觉图像组成i
t
或导航目标图像组成ig生成512维特征,所述两层感知器的第一层输出维度是512维,第二层输出维度是256维度;
27.将实时构建的场景地图m
t
输入馈送到两流深暹罗网络中的五个卷积层中,生成一个256维的特征表示;其中五个卷积层中,一个卷积层带有128个滤波器,两个卷积层带有64个滤波器,两个卷积层带有32个滤波器,每个滤波器都带有校正线性单元作为激活,且每个卷积层均具有3
×
3内核,每个卷积层步长为1;
28.将生成的一个256维的融合特征和生成的一个256维的特征表示进行拼接,然后接入到两个全连接层进行处理,第一个全连接层将拼接后的特征进行融合,然后输出给第二个全连接层,第二全连接层连接有三个分支,分别输出2个维度坐标均值、2个维度的坐标方差和1个维度评估值υ
θ
(i
t
,m
t
,ig),通过坐标均值和坐标方差确定一个高斯分布π
θ
(i
t
,m
t
,ig),基于高斯采样结果,输出当前导航的目标点在场景地图m
t
上的位置g
t
~π
θ
(i
t
,m
t
,ig)。
29.进一步地,步骤s2.3中训练导航目标点生成模型的具体内容为:
30.在训练期间,基于多线程训练策略,每次训练执行72个导航线程,也即72个导航任务,对于每一个导航线程,移动机器人每在训练环境中移动10次,即经历k=10个时间节点,执行一次导航的目标点生成;采集连续的10次导航的目标点生成的折扣累积奖励,计算导航目标点生成模型的损失函数l
θ
,并进行梯度方向传播,实现导航目标点生成模型更新,进而达到优化训练该模型的目的;
31.其中,导航目标点生成模型的损失函数l
θ
的计算公式为:
[0032][0033]
式中,e[]表示计算期望符号;α是用户设置的权重;υ
θ
(i
t+i*k
,m
t+i*k
,ig)表示t+i*k时刻,导航目标点生成模型输出的评估值;π
θ
(i
t+i*k
,m
t+i*k
,ig)表示t+i*k时刻导航目标点生成模型计算的高斯分布;r
t+i*k
表示在(t+i*k)时刻,移动机器人获得的折扣累积奖励,其中,γi表示折扣因子,即移动机器人在(t+i*k)时刻之后生成的目标点获得的奖励对当前折扣累积奖励的影响程度,r
t+j*k
表示(t+j*k)时刻,移动机器人获得的奖励值;υ
θ
(i
t+(i+1)*k
,m
t+(i+1)*k
,ig)表示t+(i+1)*k时刻,导航目标点生成模型输出的评估值;由于需要采集连续10次的导航目标点生成的折扣累积奖励,i、j均表示具体的第几次。
[0034]
进一步地,步骤s3的具体内容为:将导航目标空间点g
t
作为移动机器人导航避障模型crowdmove的输入,利用移动机器人导航避障模型crowdmove在时间间隔内的每一个时间点发布移动机器人导航到预测的目标点的速度指令。
[0035]
进一步地,步骤s4.1的具体内容为:
[0036]
所述导航结束预测模型的输入包括视觉图像组成i
t
和导航目标图像组成ig;
[0037]
所述导航结束预测模型的输出包括一个判断移动机器人当前位置是否在目标点
附近的二维向量;当第一维度的数值大于第二维度的数值时,则表示移动的当前位置处于导航目标点的附近;否则,则表示移动的当前位置不处于导航目标点的附近。
[0038]
进一步地,步骤s4.2的具体内容为:
[0039]
将视觉图像组成i
t
、导航目标图像组成ig输入进一个两流深暹罗网络,提取视觉图像组成i
t
、导航目标图像组成ig的特征并进行拼接,然后接入一个两层感知器,生成一个256维的融合特征,并将其送入一个全连接层以预测一个二维向量,并基于该二维向量判断移动机器人的导航是否结束;
[0040]
其中,提取视觉图像组成i
t
、导航目标图像组成ig的特征利用的是两流深暹罗网络中的暹罗层作用,暹罗层主干是在imagenet上预训练的resnet-18分类网络,且resnet-18分类网络的最后一层全连接层被截断处理,resnet-18分类网络使分辨率为512
×
128
×
3的视觉图像组成i
t
或导航目标图像组成ig生成512维特征,且两层感知器的第一层输出维度是512维,第二层输出维度是256维度。
[0041]
进一步地,步骤s4.3中训练导航结束预测模型的具体内容为:基于二进制交叉熵损失函数和adam优化器进行导航结束预测模型更新,其中adam优化器的学习率为2.5e-5
,指数衰减率为(0.9,0.999),稳定性参数为1e-5
,迭代更新导航结束预测模型,直到导航结束预测模型的损失函数收敛为止,进而完成导航结束预测模型的训练优化。
[0042]
本发明的有益效果是:
[0043]
1、相比于基于现有的端到端学习的导航方法,本技术针对实际场景中的复杂性、差异性、动态性有较高的鲁棒性,可大大提高移动机器人导航的效率及安全性。
[0044]
2、本技术可以有效降低实际环境中目标图像驱动的导航的难度,能够更加准确的感知环境布局的规律性,提高移动机器人导航在未知环境中的导航效率。
[0045]
3、在导航目标点生成模型训练过程中设置奖励函数r
t
,可以在导航过程中进行奖励,鼓励移动机器人在到达目标之前探索环境,并在位于移动机器人已探索区域后惩罚新的探索,使移动机器人可以更好的感知周围环境。
附图说明
[0046]
图1是本发明整体方法实现的流程示意图。
[0047]
图2是本发明构建导航目标点生成模型的流程示意图。
具体实施方式
[0048]
现在结合附图对本发明作进一步详细的说明。
[0049]
参考图1-图2。一种基于层次化和模块化学习的导航避障方法,包括:根据移动机器人获取的激光雷达数据,实时构建室内场景地图;基于移动机器人当前获取的视觉图像、实时构建的场景地图、导航目标图像,设计长期导航目标点生成模型,确定导航目标图像在实时构建的场景地图上的位置;确定基于深度强化学习框架的移动机器人导航避障模型,发布移动机器人导航到预测的长期目标点的速度指令;设计导航结束预测模型,在一定时间间隔后,判断导航是否结束,如果预测的导航并未结束,则重新以上导航目标点生成及导航决策的过程,直到导航结束。
[0050]
其中根据移动机器人获取的激光雷达数据,实时构建室内场景地图,包括:基于
gmapping算法实时构建场景地图,并对地图进行旋转平移变换,使得移动机器人位于地图中心位置,移动机器人正向是地图的正东方向,地图上的每一个栅格代表实际25cm2(即:5cm
×
5cm)。
[0051]
其中基于移动机器人当前获取的视觉图像、实时构建的场景地图、导航目标图像,设计长期导航目标点生成模型,确定导航目标图像在实时构建的场景地图上的位置,包括:确定导航目标点生成模型的输入、输出以及训练模型过程中的奖励函数;设计导航目标点生成模型的框架;训练模型,并将训练好的模型用到移动机器人实际导航过程中,以实现每经过一个时间间隔t,输出一个导航目标点,确定导航目标图像在实时构建的场景地图上的位置。
[0052]
其中确定导航目标点生成模型的输入、输出以及训练模型过程中的奖励函数,包括:导航目标点生成模型的输入是由移动机器人当前获取的视觉图像i
t
、实时构建的场景地图m
t
、导航目标图像组成ig,其中,移动传感器人上四个不同方位的视觉传感器获取四张视觉图像沿图像宽度方向堆叠,得到最终输入图像分辨率为512
×
128
×
3;导航目标图像也是由四个方向的图像组成,分辨率也是512
×
128
×
3;栅格地图分辨率是240
×
240
×
1。
[0053]
导航目标点生成模型的输出g
t
是栅格地图上的点的坐标(导航目标点在场景地图上的坐标点)。
[0054]
导航目标点生成模型训练过程中的奖励函数r
t
=re+r
ur
+rg,其中,re表示导航过程奖励,鼓励移动机器人在到达目标之前探索环境,并在ig位于移动机器人已探索区域后惩罚新的探索,因此:
[0055][0056]
其中,e(t)表示移动机器人在时间间隔t探索的区域的总面积;e(t+k)表示移动机器人在时间间隔t+k探索的区域的总面积;ig∈s(e(t))表示ig位于移动机器人已探索区域。r
ur
表示当预测的目标点在移动机器人不可达的区域(也即预测的目标点在整个导航场景区域范围之内)的惩罚,此时r
ur
=-5;其他情况下r
ur
=0。rg表示当预测的目标点正好在移动机器人附近的奖励,此时rg=20;其他情况下rg=0。
[0057]
其中设计导航目标点生成模型的框架,包括:使用了一个两流深暹罗网络进行区分嵌入学习,暹罗层的主干是在imagenet上预训练的resnet-18(最后一层被截断)(resnet-18是分类网络,最后一层是全连接层,用于输出每个类别的概率;而本技术利用的是resnet-18的特征提取能力,所以一定需要截断最后一层),它在512
×
128
×
3rgb图像上生成512维特征;对视觉图像及导航目标图像提取的特征进行拼接,并接入一个两层感知器(输出维度分别是:512,256),最终生成一个256维的融合特征;基于权利要求2实时构建的栅格地图被馈送到五个卷积层,带有(32,64,128,64,32)个滤波器,具有3
×
3内核和步长1,所有这些滤波器都带有校正线性单元(relu)作为激活,最终生成一个256维的特征表示;拼接以上生成的两个256维特征,并将其接入到两个全连接的层处理(第一个全连接层对拼接的特征进行融合)(输出维度分别是:512,256),第二个全连接的层连接到三个分支,以分别输出2个维度坐标均值、2个维度的坐标方差和1个维度评估值υ
θ
(i
t
,m
t
,ig);坐标均值及速度方差确定一个高斯分布π
θ
(i
t
,m
t
,ig),基于高斯采样结果,发布当前导航目标点在地图上
的位置g
t
~π
θ
(i
t
,m
t
,ig),(~表示采样数学符号)(输出的1个维度评估值是对当前导航策略的评估,其在后面损失函数中被使用,帮助更新整个导航目标点生成模型的参数)。
[0058]
其中训练模型,并将训练好的模型用到移动机器人实际导航过程中,以实现每经过一个时间间隔t,输出一个导航目标点,确定导航目标图像在实时构建的场景地图上的位置,包括:用学习率为2.5e-6
的adam优化器来训练这个模型,优化器指数衰减率为(0.9,0.999),稳定性参数1e-6
。这个模型的损失函数l
θ
,其具体计算公式如下:
[0059][0060]
式中,e[]表示计算期望符号;α是用户设置的权重;r
t+i*k
表示在(t+i*k)时刻,移动机器人获得的折扣累积奖励,其中,γ是折扣因子,γi表示机器人在(t+i*k)时刻之后生成的目标点获得的奖励对当前折扣累积奖励的影响程度,本技术设置γ=0.99。r
t+j*k
表示(t+j*k)时刻,移动机器人获得的奖励值。υ
θ
(i
t+(i+1)*k
,m
t+(i+1)*k
,ig)表示t+(i+1)*k时刻,导航目标点生成模型输出的评估值。其中,(t+j*k)表示时间间隔t之后的第i个时间间隔,j和i的意思是一致的表示时间间隔t之后的第j个时间间隔;在(t+i*k)时刻,j从i开始变化,到10-i结束。
[0061]
在训练期间,基于多线程训练策略,每次执行72个导航线程,也即72个导航任务。对于每一个导航线程,移动机器人每在训练环境中移动10次,也即经历k=10个时间节点,执行一次导航目标点生成;采集连续的10次导航目标点生成折扣累积奖励,计算模型的损失函数,并进行梯度方向传播,实现模型参数更新。
[0062]
其中确定基于深度强化学习框架的移动机器人导航避障模型,发布移动机器人导航到预测的长期目标点的速度指令,包括:基于前面生成的长期导航目标空间点g
t
,利用基于深度强化学习框架的移动机器人导航避障模型crowdmove,(crowdmove是已发表的开源的导航避障模型,是需要导航目标空间点作为输入的,在原始crowdmove中,导航目标空间点是用户设定的,在本技术中,导航目标空间点是由本文提出的导航目标空间点生成模型得到的)在时间间隔[t,t+k]内的每一个时间点t+i,发布移动机器人导航到预测的长期目标点的速度指令(角速度w
t+i
及线速度v
t+i
)。
[0063]
其中设计导航结束预测模型,在一定时间间隔后,判断导航是否结束,如果预测的导航并未结束,则重新以上导航目标点生成及导航决策的过程,直到导航结束,包括:确定导航结束预测模型的输入和输出;设计导航结束预测模型的框架;训练导航结束预测模型,并将训练好的导航结束预测模型应用于移动机器人导航过程中,每经过一个时间间隔t,判断移动机器人是否已经到达导航目标图像ig所在位置附近,如果不在目标附近,则重新以上导航目标点生成及导航决策的过程;如果在目标附近,则导航结束。
[0064]
其中确定导航结束预测模型的输入和输出,包括:导航结束预测模型的输入是在任意一个时间间隔t,移动机器人四个视觉传感器获取的四张视觉图像沿宽度方向拼接结果i
t
,和导航目标图像ig;输出是一个二维向量,当第一维度数值大于第二维度数值时,则表示移动机器人当前位置在导航目标附近,可以结束导航,反之,则继续导航。
[0065]
其中设计导航结束预测模型的框架,包括:使用了一个两流深层暹罗网络进行区
分嵌入学习,暹罗层的主干是在imagenet上预训练的resnet-18(最后一层被截断),它在512
×
128
×
3rgb图像上生成512维特征;对视觉图像i
t
及导航目标图像ig提取的特征进行拼接,并接入一个两层感知器(输出维度分别是:512,256),最终生成一个256维的融合特征;将融合特征送入一个全连接层以预测一个二维向量,并基于此判断导航是否结束。
[0066]
其中训练导航结束预测模型,包括:基于二进制交叉熵损失函数和adam优化器进行模型参数更新,其中adam优化器的学习率为2.5e-5
,指数衰减率为(0.9,0.999),稳定性参数为1e-5
,迭代更新模型参数,直到模型的损失函数收敛为止。
[0067]
需要注意的是,发明中所引用的如“上”、“下”、“左”、“右”、“前”、“后”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
[0068]
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1