一种机器人自主探索方法、设备和存储介质与流程

未命名 09-12 阅读:84 评论:0


1.本发明涉及移动机器人自主探索建图领域,涉及一种机器人自主探索方法、设备和存储介质,尤其是涉及一种具有能量传导和决策一致性的机器人自主探索方法,能够让机器人在搜索前向探索点时节省内存,并且在决策时更加坚定,不会轻易改变方向。


背景技术:

2.当下,自主探索技术已经在无人驾驶、室内外巡检、工业自动化等领域得到了广泛的应用。传统的地图制作方式往往需要大量人力、物力和时间成本,而自主探索技术能够充分利用机器人的感知和决策能力,实现对环境的自主快速建图和更新。
3.按照执行顺序划分,自主探索往往被分为同步定位与建图(slam)、前向探索点搜索、探索次序决策、运动规划和控制几个模块。其中同步定位与建图、运动规划和控制模块已经被广泛研究,但是前向探索点搜索和探索次序决策仍缺乏有效方法。h.umari和s.mukhopadhyay等人在2017年autonomous robotic exploration based on multiple rapidly-exploring randomized trees论文中提出使用随机搜索树(rrt)进行前向探索点搜索的方法,但是随着探索时间的增长,树的节点越来越多,造成内存负担加重。而且机器人在决策前往哪个目标点时容易摇摆不定,机器人反复掉头,使得探索效率不高。类似的基于rrt的自主探索方法均具有上述问题。为此,本发明提出了一种自主探索方法,能够在随机搜索树生长时具有区域偏向性,即已探索区域的树的生长受到抑制,进而减缓内存负担。另外,本发明的决策过程具有前后一致性,能够减少摇摆不定的现象,减少降低探索的路径长度,提高探索效率。


技术实现要素:

4.为了解决现有技术中存在的自主探索的前向探索点搜索时内存负担重、机器人决策时摇摆不定造成探索效率低下等问题,提出了一种具有能量传导和决策一致性的机器人自主探索方法、设备和存储介质。该方法能够有效减缓内存负担,减少机器人摇摆不定现象,提高探索效率。
5.本发明所采用的技术方案如下:
6.第一方面,本发明实施例提供一种机器人自主探索方法,包括:
7.s1,同步定位与建图;使用具有同步定位与建图功能的方法,输入为激光雷达数据,输出为栅格地图;栅格具有三种状态:被占据、未占据、未知,在自主探索过程中分别表示该栅格为障碍物、已知区域、未探索区域;
8.s2,地图采样;在目标区域内随机采样空间中的点,将机器人的起点作为根节点,建立随机搜索树;将采样得到的点连接到最近的树节点,形成新树枝;
9.s3,碰撞检测;将新树枝与环境中的障碍物做碰撞检测,如果新树枝与障碍物碰撞,则执行步骤s4,否则执行步骤s5;
10.s4,能量传导;当碰撞时,将所述采样得到的点作为波源,往根部传导抑制随机树
生长的能量;之后返回s2继续进行采样;
11.s5,已探索检测;判断新树枝的两个端点是否均位于已知区域,如果是,则执行步骤s6,否则,执行步骤s7;
12.s6,存储至随机搜索树;并更新步骤s2中的随机搜索树;之后返回s2继续进行采样;
13.s7,存储为前向探索点;维护一个前向探索点数组,存储的是s5中判断为否的当前采样的点的位置信息,该点被称为前向探索点;
14.s8,前向探索点裁剪;使用聚类算法将s7中的前向探索点聚类;并更新前向探索点数组;
15.s9,计算自主探索成本;使用效用函数来衡量机器人自主探索的成本;
16.s10,确定最佳前向探索点;将成本最小的前向探索点视为最佳前向探索点,作为此时导航的目标点并将其位置信息输出到下一步;
17.s11,自主导航;使用具有运动规划和运动控制功能的方法执行导航,输入为最佳前向探索点和环境信息,输出为控制指令。
18.上述技术方案中,进一步地,所述的前向探索点是该点位于已知区域且采样的其周围的连接点位于未探索区域。
19.进一步地,s8中所述聚类是每隔一段固定时间进行一次并更新前向探索点数组。
20.进一步地,s9中计算自主探索成本是每隔一段固定时间进行一次。
21.进一步地,s4中所述波源,会产生抑制潜能e(oi)=1e,其中e为使用者设定的常数,该节点的抑制潜能向父节点传播,并记录传播的代数,不同波源传播的抑制潜能彼此叠加,新的潜能被计算为e(oi)
new
=e(oi)+1e;抑制潜能会在干涉时降低步骤s2中地图采样的概率,干涉条件为oi(g)∩oj(g)=oi(g),其中,oi(g)表示第i个波源往根节点方向回溯g代的点,发生干涉的新节点的生长产生了概率,为p(oi(g))=1/(n-1)min(e(o(g)))/k,其中k为用户设置的常数,min为取从不同波源传播来的抑制潜能最小的值,e(o(g))=e(o1(g)),e(o2(g))

,n是干涉节点的相同回溯代数,发生干涉的节点的子节点产生抑制能,也会降低树的生长概率,但是随着距离干涉节点的远近逐步递减,计算方式为e
int
(m)=f
int-mδe,m指的是节点相差的代数,f
int
=1/p(oi(g)),δe为用户设置的常数。
22.进一步地,所述自主探索成本计算方式为u=wiui+wn||f
i-p||+wf||a||e
ω*dist
,其中,wi,wn,wf,ω为使用者设置的权重,ui为前向探索点周围圆形范围内的地图信息增益,||f
i-p||为前向探索点fi和机器人当前位置p距离的二范数,a为决策相似性矩阵,其计算方法为:法为:其中和分别表示在做出决策之前和之后的前向探索点即[x,y]和[k,m]的集合,这些边界点被建模为旅行商问题,邻接矩阵的元素是两个点之间的距离的二范数,使用通用的求解器计算结果并按顺序重组,数量不匹配的用0补齐;dist表示机器人距离与下一前向探索点的距离。
[0023]
第二方面,本发明实施例还提供一种机器人设备,所述机器人设备包括:
[0024]
一个或多个处理器;
[0025]
存储器,用于存储一个或多个程序;
[0026]
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述的任一种自主探索方法。
[0027]
第三方面,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的任一种自主探索方法。
[0028]
本发明的有益效果是:
[0029]
(1)本发明能够实现移动机器人自主探索建图,其中同步定位与建图、聚类、自主导航均可以采用任意相应功能算法,增加了该自主探索方法的可扩展性。
[0030]
(2)本发明能够避免自主探索的前向探索点搜索过程中随机搜索树无节制生长造成的内存负担加重的问题。
[0031]
(3)本发明能够使机器人在前向探索点的决策时更坚定,避免机器人反复掉头、摇摆不定的现象,提高探索效率。
附图说明
[0032]
附图1是本发明的一种移动机器人自主探索方法示意图。
[0033]
附图2是本发明的随机搜索树生长区域偏向的示意图;本发明方法能够抑制已探索区域的随机树的生长。
[0034]
附图3是本发明的随机搜索树生长过程示意图。
[0035]
附图4和附图5是本发明实施例的演示效果示意图。
具体实施方式
[0036]
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施步骤来对本发明的技术方案进一步详细的说明。
[0037]
实施例1:启动移动机器人,实施一种具有能量传导和决策一致性的机器人自主探索方法,循环执行以下步骤,直至建图完成。
[0038]
s1,同步定位与建图。可以使用任意具有同步定位与建图功能的方法,输入为激光雷达数据,输出为栅格地图。栅格具有三种状态:被占据、未占据、未知,在自主探索过程中分别表示该栅格为障碍物、已知区域、未探索区域。
[0039]
s2,地图采样。在用户希望探索的区域内随机采样空间中的点,将机器人的起点作为根节点,建立一棵随机搜索树。将采样得到的点连接到最近的树节点,形成新树枝。
[0040]
s3,碰撞检测。将新树枝与环境中的障碍物做碰撞检测,如果新树枝与障碍物碰撞,则执行步骤s4,否则执行步骤s5。
[0041]
s4,能量传导。当碰撞时,节点会往根部传导抑制随机树生长的能量,该节点被称为波源,会产生抑制潜能e(oi)=1e,其中e为使用者设定的常数。该节点的抑制潜能向父节点传播,并记录传播的代数。不同波源传播的抑制潜能可以彼此叠加,新的潜能被计算为e(oi)
new
=e(oi)+1e。抑制潜能会在干涉时降低步骤s2中地图采样的概率,干涉条件为oi(g)∩oj(g)=oi(g),oi(g)表示第i个波源往根节点方向回溯g代的点。发生干涉的新节点的生长产生了概率,为p(oi(g))=1/(n-1)min(e(o(g)))/k,其中k为用户设置的常数,min为取从不同波源传播来的抑制潜能最小的值,e(o(g))=e(o1(g)),e(o2(g))

,n是干涉节点的相同回溯代数。发生干涉的节点的子节点产生抑制能,也会降低树的生长概率,但是随着距
离干涉节点的远近逐步递减,计算方式为e
int
(m)=f
int-mδe,m指的是节点相差的代数,f
int
=1/p(oi(g)),δe为用户设置的常数。
[0042]
如图3所示实例中,本图举例说明了随机搜索树生长抑制的过程。对于节点o={o1,o2,o3…
},o1,o2,o3都是波源,o

不是波源因为它没有扩展出碰撞的树枝。o1,o2,o3向根节点方向传导抑制潜能,o2(4)和o3(4)产生了干涉,抑制能被激发出来,然后向子节点方向递减传导。o2(1)和o1(2)没有干涉,这是因为他们回溯的代数不同。
[0043]
s5,已探索检测。判断树枝的两个端点是否均位于已知区域,如果是,则执行步骤s6。否则,执行步骤s7。
[0044]
s6,存储至随机搜索树。并更新步骤s2中的随机搜索树。之后返回s2继续进行采样。
[0045]
s7,存储为前向探索点。维护一个前向探索点数组,存储的是s5中判断为否的当前采样的点的位置信息,该点被称为前向探索点。前向探索点的判断方法是:该点位于已知区域且采样的其周围的连接点位于未探索区域。
[0046]
s8,前向探索点裁剪。使用任意聚类算法将s7中的前向探索点聚类。并更新前向探索点数组。聚类是每隔一段固定时间更新一次的,聚类可以把相近的前向探索点聚拢为一个,从而减少s10计算自主探索成本时的负担。
[0047]
s9,计算自主探索成本。每隔一段固定时间计算一次。使用效用函数来衡量机器人自主探索的成本。计算方式为u=wiui+wn||f
i-p||+wf||a||e
ω*dist
,其中,wi,wn,wf,ω为使用者设置的权重,ui为前向探索点周围圆形范围内的地图信息增益,||f
i-p||为前向探索点fi和机器人当前位置p距离的二范数,a为决策相似性矩阵,其计算方法为:其中和分别表示在做出决策之前和之后的前向探索点点即[x,y]和[k,m]的集合,这些边界点被建模为旅行商问题并按顺序重组,旅行商问题简称tsp问题,是常见的运筹学问题,有很多开源的求解器可以求解,数量不匹配的用0补齐。dist表示机器人距离与下一前向探索点的距离。
[0048]
s10,确定最佳前向探索点。将成本最小的前向探索点视为最佳前向探索点,作为此时导航的目标点,将其位置信息输出到下一步。
[0049]
s11,自主导航。可以使用任意具有运动规划和运动控制功能的方法执行导航,输入为最佳前向探索点和环境信息,输出为控制指令。
[0050]
在达到类似的建图效果的情况下,将本发明与现有发明(普通的rrt自主探索方法)进行实验对比。如图4所示,本发明相较于对比发明矩形框内节点的密度更低,表明本方法生成的节点数更少,意味着更节省内存。如图5所示,对比方法的轨迹更长,即更容易左右摇摆不定,而本发明的轨迹更短,探索效率更高。
[0051]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0052]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0053]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0054]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0055]
本发明并不限于上述实施例,在本领域技术人员所具有的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。比如:将其扩展应用至多机协同探索系统。

技术特征:
1.一种机器人自主探索方法,其特征在于,包括:s1,同步定位与建图;使用具有同步定位与建图功能的方法,输入为激光雷达数据,输出为栅格地图;栅格具有三种状态:被占据、未占据、未知,在自主探索过程中分别表示该栅格为障碍物、已知区域、未探索区域;s2,地图采样;在目标区域内随机采样空间中的点,将机器人的起点作为根节点,建立随机搜索树;将采样得到的点连接到最近的树节点,形成新树枝;s3,碰撞检测;将新树枝与环境中的障碍物做碰撞检测,如果新树枝与障碍物碰撞,则执行步骤s4,否则执行步骤s5;s4,能量传导;当碰撞时,将所述采样得到的点作为波源,往根部传导抑制随机树生长的能量;之后返回s2继续进行采样;s5,已探索检测;判断新树枝的两个端点是否均位于已知区域,如果是,则执行步骤s6,否则,执行步骤s7;s6,存储至随机搜索树;并更新步骤s2中的随机搜索树;之后返回s2继续进行采样;s7,存储为前向探索点;维护一个前向探索点数组,存储的是s5中判断为否的当前采样的点的位置信息,该点被称为前向探索点;s8,前向探索点裁剪;使用聚类算法将s7中的前向探索点聚类;并更新前向探索点数组;s9,计算自主探索成本;使用效用函数来衡量机器人自主探索的成本;s10,确定最佳前向探索点;将成本最小的前向探索点视为最佳前向探索点,作为此时导航的目标点并将其位置信息输出到下一步;s11,自主导航;使用具有运动规划和运动控制功能的方法执行导航,输入为最佳前向探索点和环境信息,输出为控制指令。2.根据权利要求1所述的机器人自主探索方法,其特征在于:所述的前向探索点是该点位于已知区域且采样的其周围的连接点位于未探索区域。3.根据权利要求1所述的机器人自主探索方法,其特征在于:s8中所述聚类是每隔一段固定时间进行一次并更新前向探索点数组。4.根据权利要求1所述的机器人自主探索方法,其特征在于:s9中计算自主探索成本是每隔一段固定时间进行一次。5.根据权利要求1所述的机器人自主探索方法,其特征在于:s4中所述波源,会产生抑制潜能e(o
i
)=1e,其中e为使用者设定的常数,该节点的抑制潜能向父节点传播,并记录传播的代数,不同波源传播的抑制潜能彼此叠加,新的潜能被计算为e(o
i
)
new
=e(o
i
)+1e;抑制潜能会在干涉时降低步骤s2中地图采样的概率,干涉条件为o
i
(g)∩o
j
(g)=o
i
(g),其中,o
i
(g)表示第i个波源往根节点方向回溯g代的点,发生干涉的新节点的生长产生了概率,为po
i
(g))=1/(n-1)min(e(o(g)))/,其中k为用户设置的常数,min为取从不同波源传播来的抑制潜能最小的值,(o(g))=e(o1(g)),e(o2(g))

,n是干涉节点的相同回溯代数,发生干涉的节点的子节点产生抑制能,也会降低树的生长概率,但是随着距离干涉节点的远近逐步递减,计算方式为e
int
(m)=f
int-mδe,m指的是节点相差的代数,f
int
=1/p(o
i
(g)),δe为用户设置的常数。6.根据权利要求1所述的机器人自主探索方法,其特征在于:所述自主探索成本计算方
式为u=w
i
u
i
+w
n
||f
i-p||+w
f
||a||
ω*
,其中,w
i
,w
n
,w
f
,ω为使用者设置的权重,u
i
为前向探索点周围圆形范围内的地图信息增益,||
i-p||为前向探索点fi和机器人当前位置p距离的二范数,a为决策相似性矩阵,其计算方法为:其中和分别表示在做出决策之前和之后的前向探索点即[x,y]和[k,m]的集合,这些边界点被建模为旅行商问题,邻接矩阵的元素是两个点之间的距离的二范数,使用通用的求解器计算结果并按顺序重组,数量不匹配的用0补齐;dist表示机器人距离与下一前向探索点的距离。7.一种机器人设备,其特征在于,所述机器人设备包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的自主探索方法。8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的自主探索方法。

技术总结
本发明涉及移动机器人自主探索建图领域,提供一种机器人自主探索方法、设备和存储介质。本发明解决了现有自主探索方法内存消耗大、导航目标不坚定、探索效率低下等问题。该方法包括同步定位与建图、前向探索点搜索、前向探索点裁剪、前向探索点决策、自主导航等步骤。其中,前向探索点搜索具有区域偏向性,能够节省内存消耗。此外,本发明中还设计了衡量当前决策与前次决策一致性的方法,综合考虑了全局,使得机器人的前向探索点决策更加坚定,反复摇摆现象减少。本发明缩短了探索轨迹长度,提高了探索效率,并节约了内存开销,使其能够运行到低成本的硬件中。运行到低成本的硬件中。运行到低成本的硬件中。


技术研发人员:王进 于欢 郑植 陆国栋 刘伟隆 张科文 郑涛 张建明
受保护的技术使用者:浙江钱塘机器人及智能装备研究有限公司
技术研发日:2023.07.13
技术公布日:2023/9/9
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐