CN106197421B - 一种用于移动机器人自主探索的前沿目标点生成方法 - Google Patents
一种用于移动机器人自主探索的前沿目标点生成方法 Download PDFInfo
- Publication number
- CN106197421B CN106197421B CN201610473968.5A CN201610473968A CN106197421B CN 106197421 B CN106197421 B CN 106197421B CN 201610473968 A CN201610473968 A CN 201610473968A CN 106197421 B CN106197421 B CN 106197421B
- Authority
- CN
- China
- Prior art keywords
- forward position
- target point
- position target
- data
- class
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 88
- 239000000284 extract Substances 0.000 claims abstract description 14
- 230000008569 process Effects 0.000 claims abstract description 6
- 230000003716 rejuvenation Effects 0.000 claims abstract description 5
- 230000004888 barrier function Effects 0.000 claims description 6
- 241001269238 Data Species 0.000 claims description 4
- 239000000463 material Substances 0.000 claims description 4
- 239000004576 sand Substances 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000007613 environmental effect Effects 0.000 claims description 3
- 239000011521 glass Substances 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 239000007787 solid Substances 0.000 claims description 2
- 238000000605 extraction Methods 0.000 abstract description 6
- 238000002474 experimental method Methods 0.000 description 11
- 238000003708 edge detection Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 239000000126 substance Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0274—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0238—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
- G05D1/024—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- General Physics & Mathematics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Optics & Photonics (AREA)
- Electromagnetism (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Manipulator (AREA)
Abstract
一种用于移动机器人自主探索的前沿目标点生成方法,属于智能移动机器人领域。本方法能够解决移动机器人探索过程中前沿目标点的提取问题。该方法包括:原始激光数据的预处理,检测局部环境前沿,提取当前局部环境的前沿目标点,全局拓扑地图更新,前沿目标点全局更新。本发明针对未知环境下前沿目标点的提取问题,提出一种安全的、可到达的前沿目标点生成方法。该方法利用激光数据提取当前局部环境的前沿目标点,再结合创建的全局拓扑地图和已生成的前沿目标点,对前沿目标点进行全局更新,以保证前沿目标点全局最优。有效地提高了移动机器人自主探索的效率。该方法适用于与室内移动机器人自主探索有关的智能移动机器人领域。
Description
技术领域
本发明属于智能移动机器人领域,涉及一种前沿目标点的生成方法,尤其涉及一种用于移动机器人自主探索的前沿目标点生成方法。
背景技术
随着人工智能技术和计算机技术的飞速发展,移动机器人的研究取得了重大突破。未知环境下的移动机器人自主探索技术作为移动机器人领域的一项关键技术,已引起了众多学者的关注,该技术在机器人搜救、行星探测和水下探测等领域均得到了广泛应用,具有巨大的应用需求。移动机器人自主探索的目的是为了在有限的时间内尽可能多的获取未知环境的信息,而前沿(Frontier)作为区分已探索区域与未知区域的分界线,它附近具有较多不确定的环境信息。因此,在现存的自主探索方法中,基于前沿的探索策略备受瞩目。
基于前沿的探索策略可简要的概括为如下过程:首先检测前沿,然后在前沿附近生成目标点,再结合评价函数选择最具有探索价值的目标点作为最佳的目标点,最后控制机器人向最佳的目标点运动。针对前沿检测问题,一种较为常见的方法是借用数字图像技术来处理整个地图信息,进而检测出前沿区域。然而,随着地图数据的增大,这种前沿检测算法的时间和空间复杂度也会急剧增加。这是制约移动机器人自主探索效率的一个重要因素。
为提高前沿检测的效率,研究者们提出了多种有效的前沿检测算法。MatanKeidar提出了一种波阵面前沿检测(Wavefront Frontier Detector,WFD)算法。WFD通过处理已探索区域的地图信息来检测前沿,而不是直接处理整个地图信息。然而,当已探索的区域增大时,需要处理的地图信息量随之较大,那么WFD算法的计算量也会急剧膨胀。P.G.C.N.Senarathne提出一种基于安全和可到达的增量式前沿检测方法,该方法通过处理被激光测距仪覆盖的局部栅格地图信息来增量式地生成安全的、可到达的前沿信息。然而,当激光测距仪覆盖区域较大时,栅格地图上前沿检测的效率仍旧不会太理想。前沿检测的目的是为了生成下一时刻最佳的目标区域或者目标点。鉴于此,Shuzhi Sam Ge利用当前激光数据建立局部环境的可通行空间,并在可通行空间中提取可能的目标点来指导机器人探索,该方法避开了基于栅格地图的前沿检测问题,然而在提取的可能目标点中存在非前沿区域的目标点,会产生不必要的探索开销。
发明内容
为了克服上述前沿检测和目标点生成等方法中存在的问题,以不依赖于栅格地图即可生成前沿目标点为目的,本发明提供了一种用于移动机器人自主探索的前沿目标点生成方法。
本发明采用的技术方案如下:
针对未知环境下的移动机器人自主探索问题,提供了一种用于移动机器人自主探索的前沿目标点生成方法。在移动机器人探索的过程中,根据采集到的最新激光数据生成当前时刻的局部前沿目标点,再结合全局拓扑地图信息和已生成的前沿目标点,对所有的前沿目标点进行全局更新,以保证前沿目标点全局最优。本发明提供的方法包括以下内容:第一,提出一种基于几何规则的初始前沿目标点生成方法,根据当前激光数据,提取出局部环境的前沿,再结合几何规则生成当前局部环境下的初始前沿目标点;第二,引入可通行空间(AdmissibleSpace)的概念,对初始的前沿目标点进行调整,保证前沿目标点是安全的、可到达的;第三,沿着移动机器人的运动轨迹,创建当前时刻的拓扑节点,进而更新全局拓扑地图,用以标记移动机器人已探测到的区域;第四,结合全局拓扑地图和已生成的前沿目标点,对前沿目标点进行全局更新,保证前沿目标点全局最优。
本发明提供的方法包括以下步骤:
步骤一,原始激光数据的预处理。
在本方法中,激光测距仪被用于感知外界环境信息。然而,激光测距仪对环境中某些特殊材质或者颜色是不敏感的,这些材质或者颜色为玻璃、黑色等,这些均会导致原始激光数据中存在inf或者nan等无效数据。为提高本方法的鲁邦性,首先对原始的激光数据进行预处理,以剔除原始数据中的无效数据。预处理方法如下:(1)顺序遍历原始激光数据,记录第一个满足预设的有效数据;(2)若首尾的激光数据出现无效数据,则将该数据赋值为激光数据的最大量程值;(3)从(1)中记录的有效数据开始,向下和向上顺序访问每一个原始激光数据,若该数据为有效数据,跳转到第(4)步,否则跳转到第(5)步;(4)顺序访问下一个数据,若遍历完原始激光数据,则预处理结束,否则跳转到第(3)步;(5)若与该数据相邻的激光数据均为有效数据,则将较小的数据值赋给该数据,跳转到第(3)步,否则将与之相邻的有效数据值赋给该数据,跳转到第(3)步。
步骤二,检测局部环境前沿。
本方法将局部环境前沿分为A、B两类前沿。A类前沿是由激光测距仪的量程制约而产生的,位于激光测距仪最大量程处;B类前沿是由障碍物遮挡而产生的。本方法定义两类前沿的长度均大于所用移动机器人的宽度,以保证移动机器人能够穿越该前沿。检测局部环境前沿的方法如下:顺序遍历预处理后的激光数据,若出现连续的激光数据略小于激光测距仪的最大量程,且该连续的激光数据扫描的弧长大于所用移动机器人的宽度,则认为检测出了一个A类前沿;若出现相邻两激光数据距离差值的绝对值大于所用移动机器人的长度,则认为检测出了一个B类前沿。保存本步骤中检测出的A、B两类前沿。
步骤三,提取当前局部环境的前沿目标点。
本方法将前沿目标点分成A、B两类,分别产生于A、B两类前沿附近。提取当前局部环境前沿目标点的方法如下:(1)针对步骤二中检测出的不同类型的前沿,构建不同的几何规则集以提取对应的初始前沿目标点;(2)为保证前沿目标点是安全的,且可到达的,构建两类前沿目标点各自成立的条件,进而对初始的前沿目标点进行调整,使其满足各自成立的条件。调整后的前沿目标点即为本步骤提取的当前局部环境的前沿目标点。
步骤四,全局拓扑地图更新。
为方便前沿目标点的全局更新,本方法构建全局拓扑地图,以此来标记移动机器人已探测到的区域。在移动机器人运动的过程中,沿着移动机器人的运动轨迹构建一系列拓扑节点,并按构建节点的先后顺序构建拓扑树,进而创建全局拓扑地图。全局拓扑地图更新的方法如下:在移动机器人探索的过程中,每当移动机器人运动一段距离时,采集一次激光数据,按步骤一、二、三中的方法生成当前局部环境的前沿目标点。再结合当前移动机器人的位姿构建当前时刻的拓扑节点,并将该拓扑节点添加到全局拓扑地图中以完成全局拓扑地图的更新操作。在本方法中,全局拓扑地图用来标记移动机器人已探索过的区域。
步骤五,前沿目标点全局更新。
在移动机器人探索的过程中,由于新的前沿目标点的产生和移动机器人的运动,可能会导致某些前沿目标点出现在已探索的区域,也可能会出现前沿目标点之间过于接近的情况,此时需利用前沿目标点的全局更新规则对所有的前沿目标点进行添加、绑定与删除更新操作,以保证前沿目标点全局最优。
本发明的有益效果是:针对未知环境下移动机器人自主探索问题,提出了一种用于移动机器人自主探索的前沿目标点生成方法。该方法根据当前激光数据和全局拓扑地图生成全局前沿目标点,提高了移动机器人在自主探索过程中寻找下一时刻目标区域或者目标点的速度。有效解决了移动机器人自主探索过程中前沿目标点的提取问题,提高了移动机器人自主探索的效率。
附图说明
图1为本发明所涉及的方法流程图;
图2为A、B两类初始前沿目标点的选取示意图:(a)为A类前沿及A类初始前沿目标点示意图,(b)为B类前沿及B类初始前沿目标点示意图;
图3为当前局部环境下初始前沿目标点示意图;
图4为初始前沿目标点的调整流程图;
图5为前沿目标点全局更新规则图;
图6为应用本发明提取的前沿目标点示意图:(a)为走廊环境,(b)为走廊和房间等环境;
图7为应用本发明辅助实现移动机器人自主探索的结果示意图:(a)为实验环境,(b)为实验结果图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步的详细说明。
本发明所述方法的流程图如附图1所示,包括以下几个步骤:
步骤一,原始激光数据的预处理。
本发明所述方法中利用激光测距仪来感知环境信息,然而激光测距仪对环境中某些特殊材质或者颜色是不敏感的,这些材质或者颜色为玻璃和黑色等,会导致原始激光数据中存在inf或者nan无效数据,其中,inf表示距离值为无限大,nan表示没有数据。为提高本发明所述方法的鲁邦性,本发明首先对原始的激光数据进行预处理,以剔除原始数据中的无效数据。令d[i]表示原始激光数据中的第i个距离值,dmax和dmin分别表示激光测距仪的最远和最小的有效距离值,size表示原始激光数据的个数。预处理方法如下:
(1)顺序遍历每个原始激光数据d[i],若d[i]小于dmin,则将dmax赋值给d[i]。记录第一个有效数据的索引号j;
(2)令i等于j,若原始激光数据中第0个数据d[0]为无效数据,则将d[0]赋值为dmax;若原始数据中最后一个数据d[size-1]为无效数据,则将d[size-1]赋值为dmax;
(3)令i等于i+1,若d[i]为无效数据,且i小于size-1,则跳转到第(4)步;若d[i]为有效数据,且i小于size-1,则重复第(3);若i等于或者大于size-1,则令i等于j,跳转到第(5)步;
(4)若与d[i]相邻的两个数据均为有效数据,则将两个数据中较小的值赋给d[i];若与d[i]相邻的两个数据中仅有一个有效数据,则将该有效数据赋给d[i];若i大于j,则跳转到第(3)步,否则跳转到第(5)步;
(5)令i等于i-1,若d[i]为无效数据,且i大于0,则跳转到第(4)步;若d[i]为有效数据,且i大于0,则重复第(5);若i等于或者小于0,则预处理结束。
步骤二,检测局部环境前沿。
本方法将局部环境前沿分为A、B两类前沿。A类前沿是由激光测距仪的量程制约而产生的,位于激光测距仪最大量程处,如附图2(a)标记的弧形虚线所示;B类前沿是由障碍物遮挡而产生的,如附图2(b)标记的虚线NL所示。本方法认为两类前沿的长度均大于所用移动机器人的宽度,以保证移动机器人能够穿越该前沿。
令当前局部环境下的前沿集合
Fc=<F0,…,Fi>,
针对每个前沿Fi有
Fi=<idxs,idxe,type>,
其中,idxs表示该前沿起始端点在激光数据中对应的索引号,idxe表示该前沿终止端点在激光数据中对应的索引号,type表示该前沿的类型。令fmax表示略小于dmax的一个数,length表示前沿的长度,angle_inc表示激光测距仪的分辨率。针对A类前沿有
length=fmax·angle_inc·(idxe-idxs) (1)
检测局部环境下A类前沿的方法如下:顺序遍历预处理后的激光数据,对于每个距离值均大于fmax的激光数据段,分别用idxs和idxe激光该数据段的开始和终止的索引号,利用公式(1)计算参数length,若length大于所用移动机器人的宽度,则检测出了A类前沿,并将<idxs,idxe,A>添加到Fc集合中。继续遍历预处理后的激光数据,直至遍历完所有的激光数据。
针对局部环境下B类前沿有
length=|d[idxe]-d[idxs]|, (2)
其中,idxe与idxs是相邻的两个数。检测局部环境下B类前沿的方法如下:顺序遍历预处理后的激光数据,对于任意两个相邻的激光数据,分别用idxe和idxs记录其索引号,利用公式(2)计算参数length,若length大于所用移动机器人的宽度,则检测出了B类前沿,并将<idxs,idxe,B>添加到Fc集合中。继续遍历预处理后的激光数据,直至遍历完所有的激光数据。
步骤三,提取当前局部环境的前沿目标点。
本方法将前沿目标点类型分为A、B两类,前沿目标点分别产生于A、B两类前沿附近。考虑到A、B两类前沿产生的原因不同,本方法利用不同的几何规则集来提取对应的前沿目标点。假设当前时刻为t,令当前时刻的局部前沿目标点集合为则有
针对每个前沿目标点pi有
pi=<position,d,idx,typep>,
其中,position=<x,y>为前沿目标点pi的全局坐标,d表示pi与激光测距仪中心的距离,idx表示该目标点在激光数据中方向的索引号,typep表示该前沿目标点的类型。
提取当前局部环境前沿目标点的方法如下:(1)初始前沿目标点提取。针对步骤二中检测出的不同类型的前沿,构建不同的几何规则集以提取对应的初始前沿目标点;(2)初始前沿目标点调整。为保证前沿目标点是安全的,且可到达的,针对不同类型的初始前沿目标点设定不同的成立条件,进而对初始的前沿目标点进行调整,使其满足各自成立的条件。调整后的前沿目标点即为本步骤提取的当前局部环境的前沿目标点。
(1)初始前沿目标点提取
对A类初始前沿目标点的提取规则如下:
a.将A类前沿的中点与激光测距仪的中心相连;
b.在连线上取一点pi作为当前的一个初始的前沿目标点,使pi与激光测距仪的距离为fmax,如附图2(a)所示。
则pi的各个元素分别为
此时,会将初始的前沿目标点pi添加到集合
令safe_d略大于二分之一的机器人宽度,本方法对B类初始目标点的提取规则如下:
a.将B类前沿的两端分别标记为N、L;
b.在NL上取一点M,使MN=safe_d;
c.以激光测距仪的中心位置为圆心,作经过点M的圆弧arc;
d.在过N点的垂线上取一点Q,使NQ=safe_d,且点Q在自由区域内;
e.作一条由激光测距仪的中心指向点Q的射线,射线与圆弧arc的交点即为初始的前沿目标点pi,如附图2(b)所示。
此时pi的各个元素分别为
其中,skip=safe_d/(angleinc·(d-safe_d))。此时,会将初始的前沿目标点pi添加到集合
(2)对初始前沿目标点的调整
如附图3所示,为方便对初始前沿目标点做调整,本方法引入可通行空间的概念,,对机器人来说,可通行空间内的点是安全的、可到达的。同时,也引入了弧的概念。利用预处理后的激光数据,将距离机器人最近障碍物到激光最大量程的扫描区域划分为若干层,每层包含若干段弧。令section表示一条弧,则对每条弧有
section={r,ss,se},
其中,r表示弧的半径,ss和se分别表示弧的首末端点在激光数据中的索引值。
调整的目的是将初始的前沿目标点调整到可通行空间中,但是本方法不会直接计算可通行空间,而是先构建前沿目标点的成立条件,然后调整初始的前沿目标点使其满足自身成立的条件,进而保证前沿目标点在可通行空间中。如附图3所示,P为当前初始的前沿目标点,实线标记的圆弧表示与OP相交的一段弧(section),交点记为J,弧的首末端点分别标记为H、G,与可通行区域边界的交点分别标记为E、F,θ表示直线OP与弧的右边线的夹角。
A类前沿目标点的成立条件为:
其中,|OP|表示前沿目标点P与激光测距仪中心的距离,d-tho是一个给定阈值,用于限定A类前沿目标点与激光测距仪中心的最小距离,和分别表示点H与J、H与E、J与G、F与G之间的弧长。为简化计算,条件a、b简化为
令β表示弧的圆心角,则有
β=(se-ss)·angle_inc, (5)
那么,有
与A类前沿目标点相比,基于几何位置的考虑,仅对B类初始前沿目标点的方向做出调整,故B类前沿目标点仅需满足条件a和b即可。本方法通过调整θ和|OP|使目标点P满足自身成立的条件,其初始的|OP|=d。针对所有与OP相交的弧,若调整后的θ和|OP|均能使P满足自身成立的条件,则根据调整后的θ和|OP|计算调整后的前沿目标点的全局位置postion,否则,舍弃该初始的前沿目标点。初始前沿目标点调整的程序流程图如附图4所示。令poset=<x,y,th>表示当前时刻的机器人位姿,其中x、y分别表示机器人在全局坐标系下的横、纵坐标,th表示当前时刻机器人的正方向与全局坐标系x轴正方向的夹角。令α表示OP与机器人正方向的夹角,则
则有
其中,postion.x、postion.y分别表示postion的横、纵坐标,poset.x、poset.y分别表示poset的横、纵坐标。
步骤四,全局拓扑地图更新。
为方便前沿目标点的全局更新,本发明构建全局拓扑地图,以此来标记移动机器人已探测到的区域。在移动机器人运动的过程中,沿着移动机器人的运动轨迹构建一系列拓扑节点,并按构建节点的先后顺序构建拓扑树,进而创建全局拓扑地图。全局拓扑地图更新的方法如下:在移动机器人自主探索的过程中,每当移动机器人运动一段距离时,采集一次激光数据,按步骤一、二、三中的方法生成当前局部环境的前沿目标点。再结合当前移动机器人的位姿构建当前时刻的拓扑节点,并将该拓扑节点添加到全局拓扑地图中以完成全局拓扑地图的更新操作。在本方法中,全局拓扑地图用来标记移动机器人已感知到的区域。令TMap表示全局拓扑地图,则有
TMap=<T0,…,Tk,…Tt>
其中,TMap表示从0时刻到t时刻构建的全局拓扑地图,Tk表示k时刻构建的一个拓扑节点。对于每个拓扑节点Tt有
其中,poset、与前文所述意义一致,parent和children分别表示拓扑节点Tt的父节点和子节点。
步骤五,前沿目标点全局更新。
在移动机器人探索的过程中,由于新的前沿目标点的产生和移动机器人的运动,可能会导致某些前沿目标点出现在已探索的区域,也可能会出现前沿目标点之间过于接近的情况,此时需利用前沿目标点的全局更新规则对所有的前沿目标点进行添加、绑定与删除更新操作,以保证前沿目标点全局最优。
令Tt表示当前时刻的拓扑节点,Tk表示前面时刻生成的一个拓扑节点,表示在k时刻生成的第i个前沿目标点,表示当前时刻生成的第j个前沿目标点,d(pi,T)表示一个前沿目标点与拓扑节点之间的距离,C(pi,T)表示从拓扑节点T到前沿目标点pi是可通行的,其值为true,表示pi与T连通,若为false,表示pi与T之间存在障碍物。Vr为一个给定阈值,用于限定拓扑节点之间的距离,或者是前沿目标点与拓扑节点之间的距离,Vp为一个给定的阈值,用于限定前沿目标点之间的距离。T=T/pi表示从拓扑节点T中删除前沿目标点pi,T=T∪pi表示将前沿目标点pi与拓扑节点T绑定。前沿目标点全局更新规则如下(如附图5所示):
规则1(如附图5(a)):
规则2(如附图5(b)):
规则3(如附图5(c)):
规则4(如附图5(d)):
规则5(如附图5(e)):
下面给出应用本发明所述方法在室内真实环境下的实验实例。
实验选用自主搭建的移动机器人作为实验平台,机器人配备型号为A1M1的RPLIDAR360度激光扫描测距仪。本实验实例给出了两个实验,分别是前沿目标点的提取实验(如附图6所示)和利用本发明所述方法进行自主探索的实验(如附图7所示)。
实验一前沿目标点提取实验
如附图6所示,图中给出了两幅局部的栅格地图,图中分别为拓扑节点的位姿、提取出的前沿目标点、前沿目标点与拓扑节点之间的从属关系。从图中可以看出,前沿目标点均位于前沿(图中白色区域与灰色区域的交界线)附近,这表明,本发明所述方法能够用于提取环境中的前沿目标点。
实验二利用本发明所述方法进行自主探索实验
本实验将本发明所述方法集成在一个单机器人自主探索的***中,实验环境如附图7所示,图7(a)为实验的真实场景,图7(b)为移动机器人进行自主探索时构建的栅格地图和拓扑地图。移动机器人的线速度为0.15m/s,角速度为0.3rad/s,激光测距仪测量距离的范围为(0,6]m,夹角范围为[-π,π]。
由图7(b)中可以看出,创建的地图完整地表达了室内的闭合环境,且与真实环境相一致,这表明,本发明所述方法可用于未知环境下移动机器人的自主探索,能够指导移动机器人完整遍历未知环境。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (1)
1.一种用于移动机器人自主探索的前沿目标点生成方法,其特征在于:
本方法包括以下几个步骤:
步骤一,原始激光数据的预处理;
本方法所述方法中利用激光测距仪来感知环境信息,然而激光测距仪对环境中某些特殊材质或者颜色是不敏感的,这些材质或者颜色为玻璃和黑色等,会导致原始激光数据中存在inf或者nan无效数据,其中,inf表示距离值为无限大,nan表示没有数据;为提高本方法所述方法的鲁邦性,本方法首先对原始的激光数据进行预处理,以剔除原始数据中的无效数据;令d[i]表示原始激光数据中的第i个距离值,dmax和dmin分别表示激光测距仪的最远和最小的有效距离值,size表示原始激光数据的个数;预处理方法如下:
(1)顺序遍历每个原始激光数据d[i],若d[i]小于dmin,则将dmax赋值给d[i];记录第一个有效数据的索引号j;
(2)令i等于j,若原始激光数据中第0个数据d[0]为无效数据,则将d[0]赋值为dmax;若原始数据中最后一个数据d[size-1]为无效数据,则将d[size-1]赋值为dmax;
(3)令i等于i+1,若d[i]为无效数据,且i小于size-1,则跳转到第(4)步;若d[i]为有效数据,且i小于size-1,则重复第(3);若i等于或者大于size-1,则令i等于j,跳转到第(5)步;
(4)若与d[i]相邻的两个数据均为有效数据,则将两个数据中较小的值赋给d[i];若与d[i]相邻的两个数据中仅有一个有效数据,则将该有效数据赋给d[i];若i大于j,则跳转到第(3)步,否则跳转到第(5)步;
(5)令i等于i-1,若d[i]为无效数据,且i大于0,则跳转到第(4)步;若d[i]为有效数据,且i大于0,则重复第(5);若i等于或者小于0,则预处理结束;
步骤二,检测局部环境前沿;
本方法将局部环境前沿分为A、B两类前沿;A类前沿是由激光测距仪的量程制约而产生的,位于激光测距仪最大量程处;B类前沿是由障碍物遮挡而产生的;本方法认为两类前沿的长度均大于所用移动机器人的宽度,以保证移动机器人能够穿越该前沿;
令当前局部环境下的前沿集合
Fc=<F0,...,Fi>,
针对每个前沿Fi有
Fi=<idxs,idxe,type>,
其中,idxs表示该前沿起始端点在激光数据中对应的索引号,idxe表示该前沿终止端点在激光数据中对应的索引号,type表示该前沿的类型;令fmax表示略小于dmax的一个数,length表示前沿的长度,angle_inc表示激光测距仪的分辨率;针对A类前沿有
length=fmax·angle_inc·(idxe-idxs) (1)
检测局部环境下A类前沿的方法如下:顺序遍历预处理后的激光数据,对于每个距离值均大于fmax的激光数据段,分别用idxs和idxe激光该数据段的开始和终止的索引号,利用公式(1)计算参数length,若length大于所用移动机器人的宽度,则检测出了A类前沿,并将<idxs,idxe,A>添加到Fc集合中;继续遍历预处理后的激光数据,直至遍历完所有的激光数据;
针对局部环境下B类前沿有
length=|d[idxe]-d[idxs]|, (2)
其中,idxe与idxs是相邻的两个数;检测局部环境下B类前沿的方法如下:顺序遍历预处理后的激光数据,对于任意两个相邻的激光数据,分别用idxe和idxs记录其索引号,利用公式(2)计算参数length,若length大于所用移动机器人的宽度,则检测出了B类前沿,并将<idxs,idxe,B>添加到Fc集合中;继续遍历预处理后的激光数据,直至遍历完所有的激光数据;
步骤三,提取当前局部环境的前沿目标点;
本方法将前沿目标点类型分为A、B两类,前沿目标点分别产生于A、B两类前沿附近;考虑到A、B两类前沿产生的原因不同,本方法利用不同的几何规则集来提取对应的前沿目标点;假设当前时刻为t,令当前时刻的局部前沿目标点集合为则有
针对每个前沿目标点pi有
pi=<position,d,idx,typep>,
其中,position=<x,y>为前沿目标点pi的全局坐标,d表示pi与激光测距仪中心的距离,idx表示该目标点在激光数据中方向的索引号,typep表示该前沿目标点的类型;
提取当前局部环境前沿目标点的方法如下:(1)初始前沿目标点提取;针对步骤二中检测出的不同类型的前沿,构建不同的几何规则集以提取对应的初始前沿目标点;(2)初始前沿目标点调整;为保证前沿目标点是安全的,且可到达的,针对不同类型的初始前沿目标点设定不同的成立条件,进而对初始的前沿目标点进行调整,使其满足各自成立的条件;调整后的前沿目标点即为本步骤提取的当前局部环境的前沿目标点;
(1)初始前沿目标点提取
对A类初始前沿目标点的提取规则如下:
a.将A类前沿的中点与激光测距仪的中心相连;
b.在连线上取一点pi作为当前的一个初始的前沿目标点,使pi与激光测距仪的距离为fmax;
则pi的各个元素分别为
此时,会将初始的前沿目标点pi添加到集合
令safe_d略大于二分之一的机器人宽度,本方法对B类初始目标点的提取规则如下:
a.将B类前沿的两端分别标记为N、L;
b.在NL上取一点M,使MN=safe_d;
c.以激光测距仪的中心位置为圆心,作经过点M的圆弧arc;
d.在过N点的垂线上取一点Q,使NQ=safe_d,且点Q在自由区域内;
e.作一条由激光测距仪的中心指向点Q的射线,射线与圆弧arc的交点即为初始的前沿目标点pi;
此时po的各个元素分别为
其中,skip=safe_d/(angleinc·(d-safe_d));此时,会将初始的前沿目标点pi添加到集合
(2)对初始前沿目标点的调整
为方便对初始前沿目标点做调整,本方法引入可通行空间的概念;对机器人来说,可通行空间内的点是安全的、可到达的;同时,也引入了弧的概念;利用预处理后的激光数据,将距离机器人最近障碍物到激光最大量程的扫描区域划分为若干层,每层包含若干段弧;令section表示一条弧,则对每条弧有
section={r,ss,se},
其中,r表示弧的半径,ss和se分别表示弧的首末端点在激光数据中的索引值;
调整的目的是将初始的前沿目标点调整到可通行空间中,但是本方法不会直接计算可通行空间,而是先构建前沿目标点的成立条件,然后调整初始的前沿目标点使其满足自身成立的条件,进而保证前沿目标点在可通行空间中;P为当前初始的前沿目标点,实线标记的圆弧表示与OP相交的一段弧,交点记为J,弧的首末端点分别标记为H、G,与可通行区域边界的交点分别标记为E、F,θ表示直线OP与弧的右边线的夹角;
A类前沿目标点的成立条件为:
其中,|OP|表示前沿目标点P与激光测距仪中心的距离,d_tho是一个给定阈值,用于限定A类前沿目标点与激光测距仪中心的最小距离,和分别表示点H与J、H与E、J与G、F与G之间的弧长;为简化计算,条件a、b简化为
令β表示弧的圆心角,则有
β=(se-ss)·angle_inc, (5)
那么,有
与A类前沿目标点相比,基于几何位置的考虑,仅对B类初始前沿目标点的方向做出调整,故B类前沿目标点仅需满足条件a和b即可;本方法通过调整θ和|OP|使目标点P满足自身成立的条件,其初始的|OP|=d;针对所有与OP相交的弧,若调整后的θ和|OP|均能使P满足自身成立的条件,则根据调整后的θ和|OP|计算调整后的前沿目标点的全局位置postion,否则,舍弃该初始的前沿目标点;令poset=<x,y,th>表示当前时刻的机器人位姿,其中x、y分别表示机器人在全局坐标系下的横、纵坐标,th表示当前时刻机器人的正方向与全局坐标系x轴正方向的夹角;令α表示OP与机器人正方向的夹角,则
则有
其中,postion.x、postion.y分别表示postion的横、纵坐标,poset.x、poset.y分别表示poset的横、纵坐标;
步骤四,全局拓扑地图更新;
为方便前沿目标点的全局更新,本方法构建全局拓扑地图,以此来标记移动机器人已探测到的区域;在移动机器人运动的过程中,沿着移动机器人的运动轨迹构建一系列拓扑节点,并按构建节点的先后顺序构建拓扑树,进而创建全局拓扑地图;全局拓扑地图更新的方法如下:在移动机器人自主探索的过程中,每当移动机器人运动一段距离时,采集一次激光数据,按步骤一、二、三中的方法生成当前局部环境的前沿目标点;再结合当前移动机器人的位姿构建当前时刻的拓扑节点,并将该拓扑节点添加到全局拓扑地图中以完成全局拓扑地图的更新操作;在本方法中,全局拓扑地图用来标记移动机器人已感知到的区域;令TMap表示全局拓扑地图,则有
TMap=<T0,...,Tk,...Tt>
其中,TMap表示从0时刻到t时刻构建的全局拓扑地图,Tk表示k时刻构建的一个拓扑节点;对于每个拓扑节点Tt有
其中,poset、与前文所述意义一致,parent和children分别表示拓扑节点Tt的父节点和子节点;
步骤五,前沿目标点全局更新;
在移动机器人探索的过程中,由于新的前沿目标点的产生和移动机器人的运动,可能会导致某些前沿目标点出现在已探索的区域,也可能会出现前沿目标点之间过于接近的情况,此时需利用前沿目标点的全局更新规则对所有的前沿目标点进行添加、绑定与删除更新操作,以保证前沿目标点全局最优;
令Tt表示当前时刻的拓扑节点,Tk表示前面时刻生成的一个拓扑节点,表示在k时刻生成的第i个前沿目标点,表示当前时刻生成的第j个前沿目标点,d(pi,T)表示一个前沿目标点与拓扑节点之间的距离,C(pi,T)表示从拓扑节点T到前沿目标点pi是可通行的,其值为true,表示pi与T连通,若为false,表示pi与T之间存在障碍物;Vr为一个给定阈值,用于限定拓扑节点之间的距离,或者是前沿目标点与拓扑节点之间的距离,Vp为一个给定的阈值,用于限定前沿目标点之间的距离;T=T/pi表示从拓扑节点T中删除前沿目标点pi,T=T∪pi表示将前沿目标点pi与拓扑节点T绑定;前沿目标点全局更新规则如下:
规则1:
规则2:
规则3:
规则4:
规则5:
。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610473968.5A CN106197421B (zh) | 2016-06-24 | 2016-06-24 | 一种用于移动机器人自主探索的前沿目标点生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610473968.5A CN106197421B (zh) | 2016-06-24 | 2016-06-24 | 一种用于移动机器人自主探索的前沿目标点生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106197421A CN106197421A (zh) | 2016-12-07 |
CN106197421B true CN106197421B (zh) | 2019-03-22 |
Family
ID=57460921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610473968.5A Active CN106197421B (zh) | 2016-06-24 | 2016-06-24 | 一种用于移动机器人自主探索的前沿目标点生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106197421B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220171399A1 (en) * | 2017-05-26 | 2022-06-02 | Hangzhou Hikrobot Technology Co., Ltd. | Method for detecting presence probability of obstacle in unknown position, terminal, and storage medium |
CN107806881A (zh) * | 2017-10-25 | 2018-03-16 | 上海思岚科技有限公司 | 移动机器人构建结构地图的方法与设备 |
CN108592912A (zh) * | 2018-03-24 | 2018-09-28 | 北京工业大学 | 一种基于激光雷达的室内移动机器人自主探索方法 |
CN109186618B (zh) * | 2018-08-31 | 2022-11-29 | 平安科技(深圳)有限公司 | 地图构建方法、装置、计算机设备及存储介质 |
CN111481108B (zh) * | 2019-01-28 | 2023-09-01 | 北京奇虎科技有限公司 | 扫地机重定位方法及装置 |
CN111650928B (zh) * | 2019-02-18 | 2024-03-05 | 北京奇虎科技有限公司 | 一种扫地机器人自主探索的方法及装置 |
CN110531760B (zh) * | 2019-08-16 | 2022-09-06 | 广东工业大学 | 基于曲线拟合和目标点邻域规划的边界探索自主建图方法 |
CN110703747B (zh) * | 2019-10-09 | 2021-08-03 | 武汉大学 | 一种基于简化广义Voronoi图的机器人自主探索方法 |
CN111405483B (zh) * | 2020-03-10 | 2021-07-30 | 腾讯科技(深圳)有限公司 | 行程轨迹生成方法、装置、电子设备及存储介质 |
CN111813102B (zh) * | 2020-06-06 | 2023-11-21 | 浙江中力机械股份有限公司 | 一种分布式自主机器人环境地图构建方法 |
CN114543802B (zh) * | 2020-11-24 | 2023-08-15 | 追觅创新科技(苏州)有限公司 | 可通行区域的探索方法、装置、存储介质及电子装置 |
CN113485372B (zh) * | 2021-08-11 | 2023-06-16 | 追觅创新科技(苏州)有限公司 | 地图探索方法和装置、存储介质、电子装置 |
CN115191886A (zh) * | 2022-07-12 | 2022-10-18 | 尚科宁家(中国)科技有限公司 | 一种快速建图的方法、装置、及清洁机器人 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101738195A (zh) * | 2009-12-24 | 2010-06-16 | 厦门大学 | 基于环境建模与自适应窗口的移动机器人路径规划方法 |
CN103983270A (zh) * | 2014-05-16 | 2014-08-13 | 中国科学技术大学 | 一种声纳数据的图像化处理方法 |
DE102013107960A1 (de) * | 2013-07-25 | 2015-01-29 | Deutsches Zentrum für Luft- und Raumfahrt e.V. | Verfahren zur Aktualisierung einer Datenbasis sowie Einrichtung und Computerprogramm |
CN104898660A (zh) * | 2015-03-27 | 2015-09-09 | 中国科学技术大学 | 一种提高机器人路径规划效率的室内地图构建方法 |
CN105258702A (zh) * | 2015-10-06 | 2016-01-20 | 深圳力子机器人有限公司 | 一种基于slam导航移动机器人的全局定位方法 |
CN105320134A (zh) * | 2015-10-26 | 2016-02-10 | 广东雷洋智能科技股份有限公司 | 一种机器人自主构建室内地图的路径规划法 |
CN105466421A (zh) * | 2015-12-16 | 2016-04-06 | 东南大学 | 面向可靠wifi连接的移动机器人自主巡航方法 |
CN105674991A (zh) * | 2016-03-29 | 2016-06-15 | 深圳市华讯方舟科技有限公司 | 一种机器人定位方法和装置 |
-
2016
- 2016-06-24 CN CN201610473968.5A patent/CN106197421B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101738195A (zh) * | 2009-12-24 | 2010-06-16 | 厦门大学 | 基于环境建模与自适应窗口的移动机器人路径规划方法 |
DE102013107960A1 (de) * | 2013-07-25 | 2015-01-29 | Deutsches Zentrum für Luft- und Raumfahrt e.V. | Verfahren zur Aktualisierung einer Datenbasis sowie Einrichtung und Computerprogramm |
CN103983270A (zh) * | 2014-05-16 | 2014-08-13 | 中国科学技术大学 | 一种声纳数据的图像化处理方法 |
CN104898660A (zh) * | 2015-03-27 | 2015-09-09 | 中国科学技术大学 | 一种提高机器人路径规划效率的室内地图构建方法 |
CN105258702A (zh) * | 2015-10-06 | 2016-01-20 | 深圳力子机器人有限公司 | 一种基于slam导航移动机器人的全局定位方法 |
CN105320134A (zh) * | 2015-10-26 | 2016-02-10 | 广东雷洋智能科技股份有限公司 | 一种机器人自主构建室内地图的路径规划法 |
CN105466421A (zh) * | 2015-12-16 | 2016-04-06 | 东南大学 | 面向可靠wifi连接的移动机器人自主巡航方法 |
CN105674991A (zh) * | 2016-03-29 | 2016-06-15 | 深圳市华讯方舟科技有限公司 | 一种机器人定位方法和装置 |
Non-Patent Citations (6)
Title |
---|
"Distributed Intelligent Assistance Robotic System with Sensor Networks Based on Robot Technology Middleware";Songmin Jia,等;《International Journal of Distributed Sensor Networks》;20141231;1-11 |
"Incremental algorithms for Safe and Reachable Frontier Detection for robot exploration";P.G.C.N. Senarathne,等;《Robotics and Autonomous Systems》;20151231;189-206 |
"Obstacles Regions 3D-Perception Method for Mobile Robots Based on Visual Saliency";Tao Xu,等;《Journal of Robotics》;20151231;1-10 |
"RTM框架下基于分层拓扑结构的多机器人***地图拼接";贾松敏,等;《机器人》;20130531;第35卷(第3期);292-298 |
"Simultaneous Path Plann environment exploration and goal oriented navigationing and Topological Mapping (SP2ATM) for";Shuzhi Sam Ge,等;《Robotics and Autonomous Systems》;20110104;228-242 |
"基于混合环境模型的自主移动机器人环境探索研究";贾松敏等;《高技术通讯》;20151231;第23卷(第7期);0引言,1环境通路点拓扑图的构建,2自主移动机器人探索算法 |
Also Published As
Publication number | Publication date |
---|---|
CN106197421A (zh) | 2016-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106197421B (zh) | 一种用于移动机器人自主探索的前沿目标点生成方法 | |
CN108983777A (zh) | 一种基于自适应前沿探索目标点选取的自主探索与避障方法 | |
CN103247040B (zh) | 基于分层拓扑结构的多机器人***地图拼接方法 | |
CN106842231B (zh) | 一种道路边界检测及跟踪方法 | |
CN106647769B (zh) | 基于a*提取引导点的agv路径跟踪与避障协调方法 | |
Konolige et al. | Navigation in hybrid metric-topological maps | |
CN108983781A (zh) | 一种无人车目标搜索***中的环境探测方法 | |
CN110823240B (zh) | 一种具有航向约束的跟随机器人路径规划方法及*** | |
CN109753072A (zh) | 一种移动机器人混合路径规划方法 | |
CN107817798A (zh) | 一种基于深度学习***的农用机械避障方法 | |
CN109798909A (zh) | 一种全局路径规划的方法 | |
CN106843216A (zh) | 一种基于回溯搜索的生物激励机器人完全遍历路径规划方法 | |
CN110531770A (zh) | 一种基于改进的rrt路径规划方法和*** | |
CN115373399A (zh) | 一种基于空地协同的地面机器人路径规划方法 | |
Ström et al. | Predictive exploration considering previously mapped environments | |
CN103455034A (zh) | 一种基于最近距离向量场直方图的避障路径规划方法 | |
CN109213169A (zh) | 移动机器人的路径规划方法 | |
CN108303101A (zh) | 一种导航地图的构建方法 | |
CN115167433B (zh) | 融合全局视觉的机器人自主探索环境信息的方法及*** | |
CN109839118A (zh) | 路径规划方法、***、机器人和计算机可读存储介质 | |
CN109916421A (zh) | 路径规划方法及装置 | |
CN108592912A (zh) | 一种基于激光雷达的室内移动机器人自主探索方法 | |
CN106919174A (zh) | 一种智能引导机器人的引导方法 | |
CN110389587A (zh) | 一种目标点动态变化的机器人路径规划新方法 | |
CN109798899A (zh) | 一种面向海底未知地形搜索的树扩散启发式路径规划方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |