一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种结合深度Q学习的机器人路径学习与避障系统及方法与流程

2021-09-22 17:49:00 来源:中国专利 TAG:机器人 学习 路径 深度 方法

一种结合深度q学习的机器人路径学习与避障系统及方法
技术领域
1.本发明属于机器人控制领域,具体涉及一种结合深度q学习的机器人路径学习与避障方法。


背景技术:

2.对于类似于救援,采矿等机器人应用来说,移动机器人探索未知环境是一个非常普遍的问题。通常,借助视觉或深度传感器的信息,机器人需要有关障碍物和环境拓扑图的复杂逻辑。但是,这些传统方法没有高级的类似于人脑的智能。本发明开发了一种机器学习的方法,供机器人使用原始传感器输入探索未知环境。
3.迄今为止,关于机器人路径规划的研究已经广泛开展,有关建模和求解方法的文献也很多。与实现威胁信息有关的研究可以分为两类:基于事先完整的环境信息的静态路径规划和实时路径规划研究。与完整的环境信息相比,实时方法假设威胁环境是部分或完全未知的,它具有更多的实际意义并引起了越来越多的关注。如何利用不完整的信息对动态环境做出反应是机器人实时路径规划中的关键问题。许多研究人员提出了各种人工智能(ai)方法,例如遗传算法和粒子群算法。通过建立动态模型,减少计算量和其他方法,他们用ai方法解决了一些实时路径规划问题。但是,人工智能方法无法解决潜在的问题。因为机器人要想准确地对实时环境做出反应,就必须开发一个动态,复杂且庞大的模型,而这需要很长时间才能获得结果。因此,准确与实时之间存在矛盾。
4.由于不可能在未知环境中获得所有信息,也无法预测机器人可能遇到的所有事物,因此使用确定性ai方法来实现路径规划过程的最佳控制是不可行的。尽管某些自学习方法可以在某种程度上克服缺少先验知识的问题,但是由于任务场景的各种属性,它可能会遭受过度学习所引起的问题。相比之下,较少的环境知识可能会减慢学习速度,并导致机器人陷入局部最优状态。此外,对于大多数学习方法而言,必须有一个庞大的矩阵来保存计算值。


技术实现要素:

5.针对现有技术中存在的不足,本发明提供一种结合深度q学习的机器人路径学习与避障系统及方法。
6.本发明系统(即are框架)包括动作模块、学习模块和障碍物避险模块。在路径规划期间,动作模块会从学习模块和障碍物避险模块接收指令,并让机器人根据指令完成指定动作。学习模块根据机器人当前状态和动作的历史数据序列,训练动作选择策略。障碍物避险模块执行随机树搜索算法,以指导机器人从危险情况避险得到安全路径。
7.每个模块在执行后,环境中机器人的当前状态都将发生变化。然后通过安排机制评估每个模块的风险并确定应激活风险最小的模块。即机器人是否应该摆脱当前的困境或更新从历史数据序列动作的结果中学到的行动策略。
8.所述的当前状态包括机器人当前所在位置坐标
9.一种结合深度q学习的机器人路径学习与避障的方法,具体包括如下步骤:
10.步骤1、初始化机器人参数,机器人上设置有动作模块、学习模块和障碍物避险模块,同时还设置有距离传感器;
11.距离传感器用于检测当前机器人与最近障碍物的距离,并实时将该距离发送给学习模块,学习模块通过判断当前距离决定是否进入障碍物避险模块。
12.步骤2、基于q学习构建机器人路径学习与避障的历史数据序列。
[0013]2‑
1.使用神经网络(图2中的neural network部分)来计算q

value。用神经网络替代传统的基于马尔可夫的评估,从而通过位于不同级别的几个参数来保存机器人对当前环境的了解,减少机器人所需内存。此外,根据神经网络的机制,可以考虑不同状态的连接来形成连续图,从而达到预期的良好学习效果。
[0014]
定义st为在时间t时机器人的状态,at为在时间t时执行的动作。令x(t)=(st,at)是时间t处的状态动作对。然后路径规划中将时间从0到t的历史数据序列用列dh表示,dh=(x(1),x(2),...,x(t))。
[0015]
令nn作为q学习策略中采用的神经网络。且nn是具有两层的bp网络。q
nn
是基于历史数据序列学习得到的q值矩阵。通过历史数据训练nn,并作为q值函数q
nn
进行,即:
[0016]
q
nn
:a

r
[0017]
其中a表示当前所有可能动作的集合,r表示集合a中每个可能动作对应的偏好值的集合。
[0018]
机器人根据每个动作的偏好值选择下一阶段选择最终动作。最直接的方法是选择具有最高优先级值的操作,即选择对应偏好值高的动作作为下一阶段选择最终动作。
[0019]
定义a
s
为在当前状态s能够访问的一组动作,即:任何动作a∈a
s
都是可供选择的候选对象。令q
a
成为当前状态s处nn评估的偏好值。然后,选择采用玻尔兹曼分布,如下所示:
[0020][0021]
在上式中,p(a|s)是机器人处于状态s并选择动作a作为下一个动作的概率。如果动作a对应的q
a
值较高,则的值也较高,并且a的选择概率较高。t是虚拟温度因子,用于表示动作选择中的随机程度。在路径规划的开始,支持数据不足以进行q学习,并且存在很大程度的不确定性。因此,应将t设置为一个很高的值,以保持数据的多样性。当历史数据变得足够多时,t的值应减小以强调学习结果。此外,当机器人接近障碍物时,合理的做法是减小t值以及每一步的长度,因为当前的学习结果可能不准确。
[0022]
路径规划中的学习过程是一种自我学习。也就是说,机器人首先不了解环境,应该收集支持学习过程的示例数据,只要路径规划就会收集。如上所述,历史数据dh用作训练样本。对于dh中的每个样本x(t),我们为其分配标签,通过标签指示该样本是正面的还是负面的。对于状态s,定义为状态s与目标之间的距离,为状态s和最近障碍物之间的距离。假设奖励值r=(s,a)表示在状态s下选择动作a获得的奖励。
[0023]
s’是当前状态s在选择动作后达到的下一个状态。在本发明中,如果奖励值r是正
的,则的值应该低于且的值应该低于具体地,标签表如下所示:
[0024][0025]
对于和我们考虑和来检查是否一个动作可以引导一个更为安全的路径。对设置一个阈值t
d0
,因为如果机器人和障碍物之间保持足够的距离则可以不用考虑障碍物。
[0026]
对于和我们考虑和来检查是否一个动作可以引导一个更为安全的路径。因为如果机器人接近目标,应该更注意的值,因此我们也需要对设置阈值t
dt

[0027]
通过将状态从s到s’的变化进行分类,设置奖励机制:r=ki
×
ri。在该公式中,ri是可以选择的单位奖励:{r1,r2,r1’,r2’};ki是依赖于和t
dt
之间关系的提升因子,在不同的条件下,能够选自{k1,k2,k3,k4}。此外,如果的值低于撞击阈值t
dhit
,机器人通过其动作不能避免达到障碍。我们为r设置负值

2。
[0028]
在每个操作之后,将更新该组历史数据,并且重新培训nn。
[0029]
(2)障碍物避险策略
[0030]
在机器人移动和障碍物避险时,存在两个主要问题,不可以仅通过联网q学习算法解决:一个是因为动作选择概率,机器人可能选择的一个动作将会撞击到障碍物;另一个是当机器人陷入局部最佳陷阱时,不可能通过环境奖励来探索避险路径。
[0031]
为了解决上述问题,本发明介绍了障碍物避险策略。首先,更改玻尔兹曼分布,例如提高温度参数t,这可以增加动作选择策略的随机性。因此,它将具有更大的可能性使机器人避开障碍物。其次,减少算法的步长,其功能就像“制动器”一样。最后,我们利用了快速随机树(rrt)算法的想法,以防止机器人选择可能导致击打墙壁的动作。因此,障碍物避险策略可以保护机器人撞击障碍物。
[0032]
当机器人获得状态s时,能够得到机器人与障碍物之间的距离将阈值t
h
设置为大于机器人撞击阈值t
dhit
。当小于等于t
h
时,机器人进入障碍物避险模块,模块中的障碍物避险策略发挥重要作用。当时,机器人退出障碍物避险模块(p是机器人的步长)。
[0033]
机器人进入障碍物避险模块,障碍物避险策略实现如下:
[0034]
假设状态s被描述为一个节点的机器人位置s(x,y)。机器人在初始节点s0开始遵循障碍物避险策略。然后,机器人任意选择在状态空间中随机产生的位置状态srand。选择之后,该障碍物避险策略将沿着srand方向探索步长为p的节点s1。从而得到下一状态s1。重复上述步骤,能够得到s2,s3,...,sk,从而形成局部状态随机树。直到第k个树节点满足停止条件:执行障碍物避险策略才会停止并退出。最终,机器人获得路径s0

sk,这能够帮助机器人从障碍物中逃脱并更接近目标。在这条道路上,机器人停留在sk上,继续通过学习网络探索道路。
[0035]
本发明有益效果如下:
[0036]
1.q学习算法解决了大容量数据存储的问题。
[0037]
2.自适应和随机探索方法(are)解决了机器人路径规划任务中的收敛问题。
[0038]
3.提高了机器人在避开障碍物时的效率问题。
[0039]
4.启发式搜索策略改进了q学习,从而导致动作搜索空间更小,从而减少了搜索时间并减少了冗余选择。
附图说明
[0040]
图1为are方法的框架图:
[0041]
图2为本发明方法实施例整体流程图:
具体实施方式
[0042]
以下结合附图与实施例对本发明技术方案进行进一步描述。
[0043]
本发明提出了一种结合深度q学习的机器人路径学习与避障系统及方法。通常采用蒙特卡洛树方法来处理局部最优问题,从而帮助机器人逃脱障碍物。有一个成功的例子,来自google的ai机器人alpha go使用深度神经网络对当前游戏状态进行总体评估,并使用蒙特卡洛树方法完成严格的计算任务。类似于go,对于机器人路径规划的任务,机器人需要对当前对抗环境进行整体启发,以形成合理的行动方向,并且在障碍物等极端情况下,还需要一种收敛策略来形成精确的路径。
[0044]
在本发明中,我们提出了自适应和随机探索方法(are)来解决机器人路径规划任务中的上述问题。are的基本思想是让机器人探索环境本身并根据当前评估采取行动。此外,只要靠近障碍物,就会采用随机机制将其校正为安全路径。我们的方法在自学习和收敛随机搜索的自适应机制之间取得了平衡,因此主观机器人既可以找到一般方向,又可以避免因学习错误而陷入困境。
[0045]
一种结合深度q学习的机器人路径学习与避障系统,其特征在于包括动作模块、学习模块和障碍物避险模块;在路径规划期间,动作模块会从学习模块和障碍物避险模块接收指令,并让机器人根据指令完成指定动作;学习模块根据机器人当前状态和动作的历史数据序列,训练动作选择策略;障碍物避险模块执行随机树搜索算法,以指导机器人从危险情况避险得到安全路径。
[0046]
传统的q学习描述离散空间中的状态

动作对,并且q

value函数可以视为当前状


动作对的索引到下一个动作索引的映射。路径规划的状态空间是连续的。一种直接的方法是离散化连续状态数据。但是,在没有离散化粒度的初步知识的情况下,状态可能会在反映实际环境时具有较大的误差,如果我们要确保精度,可能会导致路径质量下降和矩阵的大规模计算。因此,我们使用神经网络nn(图2中的neural network部分)来计算q

value。神经网络代替了传统的基于马尔可夫的评估,而是通过位于不同级别的几个参数来保存机器人对环境的当前了解,这需要更少的内存。此外,根据神经网络的机制,可以考虑不同状态的连接来形成连续图,这可以达到预期的良好学习效果。
[0047]
所述的神经网络nn包括一个输入层,两个状态空间,一个隐藏层以及一个输出层:所述的状态空间包括当前状态st及动作索引集。当前状态包含机器人位置,距离目标和障碍物的距离。所述的隐藏层带十五个神经元,所述的输出层具有九个神经元,用于当前状态的九种动作选择的q值矩阵。在每个学习过程中,当输入当前状态站动作索引集时,在神经网络计算之后能够获得与每个潜在动作相对应的预测q值。
[0048]
定义st为在时间t时机器人的状态,at为在时间t时执行的动作;令x(t)=(st,at)是时间t处的状态动作对;然后路径规划中将时间从0到t的历史数据序列用dh表示:
[0049]
dh=(x(1),x(2),...,x(t))
ꢀꢀꢀꢀ
(1)
[0050]
令nn作为q学习策略中采用的神经网络;且nn是具有两层的bp网络;q
nn
是基于历史数据序列学习得到的q值矩阵;通过历史数据训练nn,并作为q值函数q
nn
进行,即:
[0051]
q
nn
:a

r
ꢀꢀꢀꢀꢀꢀ
(2)
[0052]
其中a表示当前所有可能动作的集合,r表示集合a中每个可能动作对应的偏好值的集合;
[0053]
定义a
s
为在当前状态s能够访问的一组动作,即:任何动作a∈a
s
都是可供选择的候选对象;令q
a
成为当前状态s处nn评估的偏好值;然后,选择采用玻尔兹曼分布,如下所示:
[0054][0055]
在式(3)中,p(a|s)是机器人处于状态s并选择动作a作为下一个动作的概率;如果动作a对应的q
a
值较高,则的值也较高,并且a的选择概率较高;t是虚拟温度因子,用于表示动作选择中的随机程度;
[0056]
历史数据序列dh用作训练样本;对于dh中的每个样本x(t)为其分配标签,通过标签指示该样本是正面的还是负面的;对于状态s,定义为状态s与目标之间的距离,为状态s和最近障碍物之间的距离;假设奖励值r=(s,a)表示在状态s下选择动作a获得的奖励。
[0057]
即r=(s,a)和s

是通过在s的情况下进行的状态达到的状态,如果实现了s的下一个状态。当r为正时,则的值应该低于且的值应该低于具体地,标签表如下所示:
[0058][0059][0060]
s

是当前状态s在选择动作后达到的下一个状态;对于和考虑和来检查是否一个动作可以引导一个更为安全的路径;对设置一个阈值t
d0
,因为如果机器人和障碍物之间保持足够的距离则以不用考虑障碍物;
[0061]
对于和考虑和来检查是否一个动作能够引导一个更为安全的路径;因为如果机器人接近目标,应该更注意的值,因此我们也需要对设置阈值t
dt

[0062]
将状态从s到s

的变化进行分类,设置奖励机制:r=ki
×
ri;在该奖励机制中,ri是能够选择的单位奖励{r1,r2,r1

,r2

};ki是依赖于和t
dt
之间关系的提升因子,在不同的条件下,能够选自{k1,k2,k3,k4};此外,如果的值低于撞击阈值t
dhit
,机器人通过其动作不能避免达到障碍,因此为r设置负值

2。
[0063]
进一步的,所述的障碍物避险模块采用障碍物避险策略的学习:首先,更改玻尔兹曼分布,以更大可能性逃离陷阱;其次,减少算法步长;最后,利用快速随机树算法,防止机器人选择可能击打墙壁的动作。
[0064]
在机器人移动和障碍物避险时,存在两个主要问题,不可以仅通过联网q学习算法解决:一个是因为动作选择概率,机器人可能选择的一个动作将会撞击到障碍物;另一个是当机器人陷入局部最佳陷阱时,不可能通过环境奖励来探索避险路径。
[0065]
为了解决上述问题,本发明介绍了障碍物避险策略。首先,更改玻尔兹曼分布,例如提高温度参数t(表述不清),这可以增加动作选择策略的随机性。因此,它将具有更大的可能性使机器人避开障碍物。其次,减少算法的步长,其功能就像“制动器”一样。最后,利用快速随机树(rrt)算法,以防止机器人选择可能导致击打墙壁的动作。
[0066]
当机器人获得当前状态s时,得到当前机器人与障碍物之间的距离将阈值t
h
设置为大于机器人达到阈值t
dhit
。当小于t
h
时,通过障碍物避险策略控制机器人进行避障动作。当时(p是机器人的步长),障碍物避险策略停止并退出。所述的障碍物避险策略,具体方法如下如下:
[0067]
假设状态s被描述为一个节点的机器人位置s(x,y),机器人在初始节点s0始遵循障碍物避险策略;然后,机器人任意选择在状态空间中随机产生的位置状态srand;选择之后,该障碍物避险策略将沿着srand方向探索步长为p的节点s1,从而得到下一状态s1;重复步骤能够得到s1,s2,...,sk,从而形成局部状态随机树;直到第k个树节点满足停止条件:执行障碍物避险策略才会停止并退出;最终机器人获得路径s0

sk,这能够帮助机器人从障碍物中逃脱并更接近目标;在这条道路上,机器人停留在sk上,继续通过学习网络探索道路。
[0068]
进一步的,障碍物避险模型与其他模型不同,因为它不会在每个学习过程中调用,直到它进入障碍物。
[0069]
进一步的,本发明采取行动并观察奖励,以及新状态使用观察到的奖励和下一个状态可能的最大奖励更新该状态的q值神经网络。
[0070]
在机器人执行动作之后,环境将反馈奖励以衡量最后一个操作是否合适。在到达目标对象的路上,机器人应该保持一定的距离障碍物。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜