CN113050632A - 用于机器人探索未知区域的地图探索方法、芯片及机器人 - Google Patents
用于机器人探索未知区域的地图探索方法、芯片及机器人 Download PDFInfo
- Publication number
- CN113050632A CN113050632A CN202110264567.XA CN202110264567A CN113050632A CN 113050632 A CN113050632 A CN 113050632A CN 202110264567 A CN202110264567 A CN 202110264567A CN 113050632 A CN113050632 A CN 113050632A
- Authority
- CN
- China
- Prior art keywords
- boundary
- boundary point
- robot
- points
- boundary points
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 11
- 238000001514 detection method Methods 0.000 claims description 62
- 235000013399 edible fruits Nutrition 0.000 claims description 25
- 230000008569 process Effects 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 15
- 239000000523 sample Substances 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 8
- 238000003860 storage Methods 0.000 claims description 6
- 230000008901 benefit Effects 0.000 claims description 5
- 238000001914 filtration Methods 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 13
- 230000001276 controlling effect Effects 0.000 description 11
- 239000007787 solid Substances 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000013507 mapping Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000012216 screening Methods 0.000 description 4
- 230000008447 perception Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000010408 sweeping Methods 0.000 description 2
- 241001134453 Lista Species 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
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/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0234—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons
- G05D1/0236—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons in combination with a laser
-
- 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/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- 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/60—Intended control result
- G05D1/648—Performing a task within a working area or space, e.g. cleaning
-
- 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
- G01C21/206—Instruments for performing navigational calculations specially adapted for indoor navigation
-
- 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/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3807—Creation or updating of map data characterised by the type of data
- G01C21/383—Indoor data
-
- 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/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- 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/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0223—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
-
- 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
-
- 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/0257—Control of position or course in two dimensions specially adapted to land vehicles using a radar
-
- 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
- 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/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
-
- 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/20—Control system inputs
- G05D1/24—Arrangements for determining position or orientation
- G05D1/246—Arrangements for determining position or orientation using environment maps, e.g. simultaneous localisation and mapping [SLAM]
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D2105/00—Specific applications of the controlled vehicles
- G05D2105/80—Specific applications of the controlled vehicles for information gathering, e.g. for academic research
- G05D2105/87—Specific applications of the controlled vehicles for information gathering, e.g. for academic research for exploration, e.g. mapping of an area
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Aviation & Aerospace Engineering (AREA)
- Optics & Photonics (AREA)
- Electromagnetism (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明公开用于机器人探索未知区域的地图探索方法、芯片及机器人,该地图探索方法包括:步骤S1:利用基于快速探索随机树算法的边界检测器获取符合预设通行条件的边界点;步骤S2:对步骤S1获取的边界点中的用于探索未知区域的边界点进行过滤;步骤S3:基于机器人在当前位置处探索的边界点的导航代价及其对应的收益信息,并考虑到边界点的可通行条件,从步骤S2过滤出的边界点中选择利润最高的边界点并将其配置为目标点,再控制机器人从当前位置移动至目标点,从而建立机器人的局部地图;步骤S4:重复步骤S1至步骤S4,直到建立的机器人的局部地图覆盖到整个工作区域。形成高效的RRT的地图探索算法。
Description
技术领域
本发明涉及机器人地图探测的技术领域,涉及一种用于机器人探索未知区域的地图探索方法、芯片及机器人。
背景技术
智能移动机器人如今还是海内外研究和市场的热点,而移动机器人相关的技术很多都是围绕着地图而展开的。而地图的获取有很多种方式,然而在扫地机器人上的建图是在清扫过程中逐步的建图,这样的建图方式并不适用于机器人需要快速获取未知区域的地图的场景中,影响机器人的导航工作效率。
中国专利CN110221614A使用滤波器对边界检测器检测到的边界点进行滤波后,使用基于市场经济的多机器人任务分配策略将利润最高的边界点分配给机器人以建立起局部地图,然后共享并融合多个机器人所得到的地图信息从而得到最终的地图。在该专利是适用于调控多个机器人在同一工作环境内的信息交互延迟问题,使其消耗计算量较大的分配指令,而且没有考虑到机器人建图区域的可通行性。
发明内容
为了解决上述技术缺陷,本发明技术方案公开一种基于RRT算法改进的用于机器人探索未知区域的地图探索方法,通过较少计算量帮助机器人在未知区域内顺畅地扫描获取地图,具体的技术方案如下:
一种用于机器人探索未知区域的地图探索方法,包括:步骤1:利用基于快速探索随机树算法的边界检测器获取符合预设通行条件的边界点;步骤2:对步骤1获取的边界点中用于机器人探索未知区域的边界点的探索重复性进行检查,再根据检查结果将不符合探索重复性的边界点存入边界点列表;步骤3:基于边界点的导航代价及其对应的收益信息,并考虑到边界点的可通行条件,从边界点列表存有的边界点中选择利润最高的边界点并将其配置为目标点,再控制机器人从当前位置移动至目标点,以引导机器人在未知区域内建立地图。
与现有技术公开的中国专利CN110221614A相比,本技术方案在边界检测器的检测环节探索出符合预设通行条件的边界点,以使机器人后续遍历这些边界点的过程中远离障碍物;本技术方案在过滤边界点的环节步骤中针对用于探索未知区域的边界点进行检测筛选以获取利润最高且具备周边区域符合预设通行条件的边界点,再将其配置为目标点,相对于现有技术的边界点聚类过滤和多任务分配探索路径的方法,省去大量的计算量,形成高效的RRT的地图探索算法,具有低计算量和快速性的优点。
进一步地,所述步骤1具体包括:步骤11:基于边界检测器构建的随机树在预先创建的地图区域内随机探索出第一随机节点,然后进入步骤12;步骤12:在容器中寻找离第一随机节点最近的参考边界点,然后进入步骤13;其中,容器是机器人内部设置的支持连续存放数据信息的内存空间;容器存储有预先设定的边界点的栅格信息;栅格信息包括坐标位置信息和栅格状态信息;步骤13:自参考边界点出发朝向第一随机节点的射线上,搜索出与参考边界点相距一个预设探测半径的探索节点,然后进入步骤14;其中,预设探测半径是所述边界检测器配置的探测距离信息;步骤14:控制边界检测器在探索节点与参考边界点之间的线段上检查并获取符合预设通行条件的边界点。
与现有技术相比,该技术方案能够利用RRT算法控制机器人尽可能往不同方向探索出第一随机节点,再基于容器预先存储的节点信息在寻找属于第一随机节点附近的参考边界点,再在参考边界点与第一随机节点的连线上获取到一个以参考边界点为圆心而扫描探测到的探索节点,实现利用这个探索节点与参考边界点的连线上的符合预设通行条件的边界点,来引导机器人优先向附近具备通行条件的区域探索,且不受探索方向的约束。
进一步地,所述在探索节点与参考边界点之间的线段上检查并获取具备安全通行效果符合预设通行条件的边界点的具体步骤包括:当所述边界检测器检查到所述探索节点与所述参考边界点之间的线段穿过的所有地图栅格都是被标记空闲状态的栅格时,则将该线段上除了所述参考边界点之外的被标记空闲状态的栅格的位置信息都存入所述容器中,以获取并将该线段上除了所述参考边界点之外的被标记空闲状态的栅格都确定为具备安全通行效果符合预设通行条件的被标记空闲状态的边界点,进而成为容器内新增设定的边界点的栅格信息;其中,所述探索节点与所述参考边界点之间的线段所穿过的地图栅格也包括所述探索节点对应的栅格与所述参考边界点对应的栅格;其中,每个边界点都有对应的栅格表示。有利于在执行步骤S12时从所述容器中搜索出具备可直行效果的边界点作为新的参考边界点,使得以参考边界点为圆心的边界检测器或传感器的探测区域远离障碍物。
进一步地,所述在探索节点与参考边界点之间的线段上检查并获取具备安全通行效果符合预设通行条件的边界点的具体步骤还包括:在所述边界检测器逐个栅格地检查所述探索节点与所述参考边界点之间的线段所穿过的地图栅格的过程中,当检查到被标记占用状态的栅格时,则不处理所述被标记占用状态的栅格,再返回步骤11;当检查到被标记未知状态的栅格时,则继续检查以被标记未知状态的栅格为圆心,半径为一个机身安全距离机身可通行距离的圆形区域内是否存在被标记占用状态的栅格,是则不处理所述被标记未知状态的栅格,再返回步骤11,否则将所述被标记未知状态的栅格配置为用于机器人探索未知区域的边界点,以获取并将所述被标记未知状态的栅格确定为具备安全通行效果符合预设通行条件的被标记未知状态的边界点,并同时将所述被标记未知状态的栅格的位置信息加入滤波器,直到开始执行步骤3;其中,机身安全距离机身可通行距离大于机器人的机身宽度但小于两倍的机身宽度;其中,滤波器是机器人内部设置的功能模块,用于检查边界点的探索重复性,并从边界点列表存有的边界点中选择出供机器人导航可达的实际位置。
该技术方案优先在探索节点与参考边界点之间的线段上排除掉被标记占用状态的栅格,再排除掉机身可通行距离内存在障碍物的被标记未知状态的栅格,保留下机身可通行距离内不存在障碍物的被标记未知状态的栅格送往滤波器,有利于引导机器人探索未知区域。
进一步地,所述边界检测器包括本地检测器和全局检测器,以使得边界检测器构建的随机树包括局部随机树和全局随机树;所述预设探测半径包括第一预设探测半径和第二预设探测半径;其中,本地检测器用于通过构建局部随机树来探索与机器人当前位置相距第一预设探测半径之内的边界点,每当检测到被标记未知状态的栅格时控制局部随机树重置,从而让所述边界检测器更容易探索到近距离的地方细节,例如一些边角的地方;全局检测器用于通过构建全局随机树来探索与机器人当前位置相距第二预设探测半径之内的边界点,但从不控制全局随机树重置;从而让全局检测器更容易探索到远距离的地方。需要说明的是,第一预设探测半径小于第二预设探测半径,且两种预设探测半径的数量级不同,都与传感器的感知范围存在交叉重叠区域。
进一步地,所述步骤2具体包括:当滤波器接收到的边界点仅处于边界点种子列表中已存有的边界点的有效范围内时,确定滤波器接收到的边界点属于重复探索的边界点,不将滤波器接收到的边界点存入边界点种子列表中,同时在边界点种子列表内,对所述重复探索的边界点落入的有效范围内对应的边界点进行计数标记,直到开始执行步骤3;其中,边界点种子列表已存有每一个边界点都匹配一个有效范围,用于表征机器人的已探索区域;当滤波器接收到的边界点处于边界点果实列表中已存有的边界点的有效范围内时,确定滤波器接收到的边界点属于重复探索的边界点,不将滤波器接收到的边界点存入边界点种子列表中;当滤波器接收到的边界点不处于边界点列表中已存有的边界点的有效范围内时,确定滤波器接收到的边界点不符合所述探索重复性,将滤波器接收到的边界点存入边界点种子列表中,直到开始执行步骤3;其中,边界点列表已存有的边界点的有效范围代表以所述边界点列表已存有的边界点为圆心,第一有效探测半径的圆形区域,且归属于机器人的已探索节点;所述第一有效探测半径是小于或等于机器人的用于扫描环境的传感器的感知半径;其中,边界点列表包括边界点种子列表和边界点果实列表。
该技术方案控制滤波器从接收到的边界点中过滤掉能够落入边界点列表中已存在的边界点的可探测范围内的边界点,减少机器人探索边界点的重复率,也获取能够支持机器人探索未知区域实际所需的边界点,进而用于在地图上划分机器人的已探索区域和未知区域。由于已经过一次边界点的过滤操作,所以存入边界点种子列表中的边界点数量得到约束,有利于减少计算量,提高探索效率。
进一步地,在所述步骤3中,包括:基于边界点的导航代价及其对应的收益信息,并考虑到边界点的可通行条件,控制滤波器从存入所述边界点种子列表中的边界点中选择出利润最高的边界点并配置为目标点,再存到所述边界点果实列表中。该技术方案从所述边界点列表中使用较少的边界点作为候选目标点,用以计算获取机器人实际遍历所需的目标点,与现有技术相比,节省计算量和计算时间,降低目标点的探索重复率。
进一步地,所述步骤3还包括:从所述边界点种子列表中的边界点中选择出利润最高的边界点存到所述边界点果实列表后,根据所述步骤2对所述边界点种子列表中的边界点的计数值,从所述边界点果实列表存有的利润相同的目标点中,选择计数值最大的目标点分配给机器人,再控制机器人从当前位置移动至这个计数值最大的目标点,以引导机器人在未知区域内建立局部地图。从而引导机器人顺利无阻地探索较近的未知区域并建立局部地图,满足机器人运动的实时性要求。
进一步地,在所述步骤3中,所述从存入所述边界点种子列表中的边界点中选择出利润最高的边界点并存到所述边界点果实列表中的方法具体包括:分别计算出所述边界点种子列表中存有的边界点的利润,再对所述边界点种子列表中存有的边界点的利润进行数值大小排序;按照利润数值由大到小的顺序依次判断以相应边界点为圆心,半径为一个机身可通行距离的圆形区域内是否存在被标记占用状态的栅格,是则确定所述相应边界点不满足可通行条件,并从所述边界点种子列表中删除相应的边界点,再重复该判断步骤去判断利润数值次大的边界点,否则确定所述相应边界点满足可通行条件,同时将所述相应边界点这个利润数值最大的边界点存入到所述边界点果实列表中,并配置为所述目标点,用于衔接未知区域与已探索区域,有利于引导机器人探索更大范围的未知区域。
进一步地,所述计算出所述边界点种子列表中存有的边界点的利润的方法包括:所述边界点种子列表中存有的边界点对应的利润值等于可调参数与所述收益信息的乘积减去所述导航代价得到的差值;其中,可调参数是一个正的常量参数,用于通过增大所述收益信息来让机器人使用相对小的导航代价来探索相对大的未知区域;其中,所述导航代价是机器人的当前位置与所述边界点种子列表中存有的当前参与计算的一个边界点之间的直线距离;相应的,所述收益信息是以所述边界点种子列表中存有的当前参与计算的一个边界点为圆心、第二有效探测半径为半径的圆中,未知区域的面积大小;第二有效探测半径小于或等于机器人的用于扫描环境的传感器的感知半径。可调的权值的设置有利于控制机器人偏向于用最小的导航代价来探索更大的未知区域,降低机器人系统的运算负载。
一种芯片,该芯片用于存储程序,该程序被配置为执行所述的一种用于机器人探索未知区域的地图探索方法。降低探索边界点的计算量,提高探索效率。
一种机器人,机器人的机体表面装配有用于扫描环境的传感器,该机器人内部设置所述的芯片,用于执行所述的一种用于机器人探索未知区域的地图探索方法。增强机器人在探索未知环境中的避障能力,也有效地减少机器人重复探索边界点的次数。
附图说明
图1a是机器人在已知地图区域内,从初始位置开始使用边界检测器和滤波器探索出边界点A的示意图。
图1b是在图1a的机器人移动至边界点A后,使用边界检测器和滤波器探索出边界点B及其它加入边界点种子列表的边界点的示意图。其中,白色区域是机器人的已探索区域,填充斜线区域是未知区域,机器人是图中的白色圆圈,机器人探索出的边界点是黑色实心圆。
图2a是在图1b的机器人探索的地图区域的基础上,根据边界点的过滤结果移动至边界点B,使用边界检测器和滤波器探索出边界点C、D及其它配置为加入边界点种子列表的边界点的示意图。
图2b是在图2a的机器人探索的地图区域的基础上,机器人根据边界点的过滤结果移动至边界点C并探索出相关联的边界点的示意图。
图2c是在图2b的机器人探索的地图区域的基础上,机器人根据边界点的过滤结果移动至边界点D,并使用边界检测器和滤波器探索出新的加入边界点种子列表的边界点的示意图。
图3是本实施例公开一种用于机器人探索未知区域的地图探索方法的流程图。
图4是图3中步骤S1的具体操作的流程图。
图5是图3中步骤S2的具体操作的流程图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步说明。应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
参阅图3可知,本发明一实施例公开一种用于机器人探索未知区域的地图探索方法,该地图探索方法包括:
步骤S1:利用基于快速探索随机树算法的边界检测器获取符合预设通行条件的边界点;然后进入步骤S2。步骤S1提供的边界检测器负责检测机器人附近的符合预设通行条件的边界点;符合预设通行条件的边界点是根据边界检测器在机器人创建的地图上检测的栅格状态信息,确定的引导机器人远离障碍物的基于RRT随机树随机扩展搜索出的相关联的位置点,以使得机器人后续导航至这些边界点时能够避免碰撞障碍物,避免机器人碰撞障碍物。在本实施例中,符合预设通行条件的边界点具体包括符合预设通行条件的被标记空闲状态的边界点、符合预设通行条件的被标记未知状态的边界点,其中,前述边界点在地图区域内被标记为空闲(free) 、占用(occupied) 和未知(unknown)三种状态。需要说明的是,边界检测器是机器人配置的适用于快速探索随机树算法的软件功能模块、硬件功能模块和/或它们的组合。
步骤S2:对步骤S1获取的边界点中用于机器人探索未知区域的边界点的探索重复性进行检查,再根据检查结果将不符合探索重复性的边界点存入边界点列表;然后进入步骤S3。步骤S1获取的边界点中包括待过滤的边界点和不需进行过滤的边界点,可以同时存在于已探索区域和未知区域,但都符合预设通行条件;其中,待过滤的边界点是包括属于未知区域的点,经过同一算法框架下的滤波器过滤后,由步骤S3分配给机器人进行未知区域的探索;不需进行过滤的边界点是存储起来用于辅助步骤S1的预设通行条件的判断,以便获取更多的待过滤的边界点。因此,步骤S2是用于对待过滤的边界点的探索重复性进行检查,去除属于重复访问的边界点,减少机器人探索过程中产生的冗余重复的边界点,提高机器人的探索效率。需要说明的是,在步骤S1和步骤S2中,机器人没有发生移动。
步骤S3:基于边界点的导航代价及其对应的收益信息,并考虑到边界点的可通行条件,从边界点列表存有的边界点中选择利润最高的边界点并将其配置为目标点,再控制机器人从当前位置移动至目标点,以引导机器人加快在未知区域内建立局部地图。然后进入步骤S4。其中,利润是利用机器人在当前位置处探索的每个边界点(不一定是单个边界点)的收益信息及其对应的导航成本做差计算出来的,这个利润值偏向于收益信息所占的权重,以引导机器人使用相对小的导航代价来探索相对大的未知区域。
步骤S4:判断机器人建立的局部地图是否覆盖完整个工作区域,是则结束机器人当前的地图探索任务,否则返回步骤S1。整个工作区域包括机器人所在的房间区域内的已知区域和未知区域,如图1和图2所示,图示的白色区域是机器人的已探索区域,带斜线区域是未知区域,机器人最终会在图2所示的房间区域内建立起全局地图,使得除了障碍物之外的区域都标记为已知区域。图示的边界点(黑色实心圆)都是机器人建图后搜索出来了,机器人在探索开始前创建有图示白色区域这样的小图,然后机器人探索创建的地图随着机器人探索到的黑色实心圆的有效覆盖区域的增大而增大。其中,图示的白色区域是在探索中创建出来的地图,下一次探索动作是基于图示已创建的白色区域进行搜索。
在前述步骤中,在依靠RRT随机树扩展的节点对未知环境探索期间,机器人一步一步地在环境中移动并通过一个或多个传感器感知环境,感知到的传感器信息用于构建环境地图。因为目标点的选择决定了机器人的探索位置和探索顺序,所以为该机器人选取合适的目标点对于提高探索效率非常重要。此外,在探索过程中也应考虑避免碰撞等通行障碍问题。
需要说明的是,本发明中的边界点理解为地图上的节点、路径节点、或随机树生长的树节点,在具体的探索步骤中被赋予为相应场景下的节点意义,都可以使用相应属性的栅格表示。
与现有技术公开的中国专利CN110221614A相比,本实施例在边界检测器的检测环节探索出符合预设通行条件的边界点,以使机器人后续遍历这些边界点的过程中远离障碍物;本技术方案在过滤边界点的环节步骤中针对用于探索未知区域的边界点进行检测筛选以获取利润最高且周边区域符合预设通行条件的边界点,再将其配置为目标点,相对于现有技术的边界点聚类过滤和多任务分配探索路径的方法,省去大量的计算量,形成高效的RRT的地图探索算法,具有低计算量和快速性的优点。
作为一种实施例,如图4所示,所述步骤S1具体包括:
步骤S11:基于边界检测器构建的随机树在预先创建的地图区域内随机探索出第一随机节点,然后进入步骤S12。在步骤S11中,利用基于RRT的边界点检测器,包括全局边界检测器和局部边界检测器,来检测边界点,这里的边界检测器的本质是构建一个随机树,通过随机生长节点来搜索地图空间,并优先延伸到未知区域,但不依赖于机器人的运动。
步骤S12:基于边界点的位置信息,在容器预先存储的边界点的位置信息中,寻找出地图区域内离第一随机节点最近的边界点并配置为参考边界点,然后进入步骤S13;其中,容器是机器人内部设置的支持连续存放数据信息的内存空间;容器存储有预先设定的边界点的栅格信息,包括初始节点的栅格信息;栅格信息包括位置信息和栅格状态信息。
步骤S13:自参考边界点出发朝向第一随机节点的射线上,在地图区域内搜索出与参考边界点相距一个预设探测半径的探索节点,然后进入步骤S14。在步骤S13中,以参考边界点为出发点,在指向第一随机节点的射线方向上搜索第一随机节点周围符合所述边界检测器的探测要求的新节点并加入所述随机树中,作为所述随机树的新的树节点,其中,第一随机节点周围可以是属于机器人预先创建的地图区域,也可以是未知区域;而所述参考边界点是属于机器人预先创建的已知地图区域内的,因为所述参考边界点是从所述容器中挑选出来的属于地图区域内已知栅格位置信息(已标记栅格信息)的边界点。
步骤S14:控制边界检测器逐个栅格地检查所述探索节点与所述参考边界点之间的线段所穿过的栅格,然后进入步骤S15,以从该线段中获取符合预设通行条件的边界点,其中,所述探索节点与所述参考边界点之间的线段所穿过的地图栅格也包括所述探索节点对应的栅格与所述参考边界点对应的栅格。与现有技术相比,本实施例能够利用RRT算法控制机器人尽可能往不同方向探索出第一随机节点,再基于容器预先存储的节点信息在寻找属于第一随机节点附近的参考边界点,再在参考边界点与第一随机节点的连线上获取到一个以参考边界点为圆心而扫描探测到的探索节点,实现利用这个探索节点与参考边界点的连线上的符合预设通行条件的边界点,来引导机器人优先向附近具备通行条件的区域探索,且不受探索方向的约束。
步骤S15:判断是否检查到被标记占用状态的栅格,是则进入步骤S16,否则进入步骤S17。这是在检查到未知的栅格之前执行的判断步骤,用以优先排除障碍物所在位置,因为这里的被标记占用状态的栅格表示为被障碍物占据的地图区域。当然步骤S15的判断步骤可以不是优先执行的,只要能排除障碍物以判断获得符合预设通行条件的边界点即可。
步骤S16:不处理所述被标记占用状态的栅格,并确定所述被标记占用状态的栅格不是符合预设通行条件的边界点;即不将被标记占用状态的栅格(实际上是该栅格的栅格信息)存入所述容器中,也不将被标记占用状态的栅格(实际上是该栅格的栅格信息)存入滤波器,再返回步骤S11,以重新在已构建的地图区域内随机生成新的第一随机节点。其中,滤波器是机器人内部设置的功能模块,包括筛选过滤栅格信息的软件功能模块、硬件功能模块和/或它们的组合,用于检查边界点的探索重复性,并从边界点列表存有的边界点中选择出供机器人导航可达的实际位置。
步骤S17:判断是否检查到被标记未知状态的栅格,是则进入步骤S18,否则进入步骤S110。当然步骤S17对于未知栅格区域的判断步骤也可以是优先执行的,只要能排除障碍物以判断获得符合预设通行条件的边界点即可。
步骤S18:判断以被标记未知状态的栅格为圆心,半径为一个机身可通行距离的圆形区域内是否存在被标记占用状态的栅格,是则进入步骤S111,否则进入步骤S19。优选地,由于传感器的感知范围内会存在噪声的干扰,所以将机身可通行距离设置为大于机器人的机身宽度但小于两倍的机身宽度,机身可通行距离设置为50cm,大于机身宽度30cm,但限定小于两倍的机身宽度60cm。从而避免出现:因为传感器对以被标记未知状态的栅格为圆心,半径为一个机身可通行距离的圆形区域内的被标记占用状态的栅格的误判,而引导机器人探索并碰撞上障碍物。
步骤S19:将所述被标记未知状态的栅格配置为用于机器人探索未知区域的边界点,表示这个被标记未知状态的栅格可以允许机器人遍历导航以顺利地探索出未知环境区域,并将所述被标记未知状态的栅格确定为符合预设通行条件的被标记未知状态的边界点,同时将所述被标记未知状态的栅格的位置信息加入滤波器作进一步的重复探索性的判断,然后可以返回步骤S11,直到加入滤波器的栅格数目达到一定的阈值,满足外部对机器人的建全局地图要求或局部地图要求时,或外部触发执行步骤S3,则在相应的数据信号条件下开始执行步骤S3,调用滤波器去处理加入其中的栅格信息以获取所述目标点。在这一过程中,步骤S2的过滤动作可以与步骤S1同步进行。
步骤S111:确定所述被标记占用状态的栅格不是符合预设通行条件的边界点,不处理所述被标记未知状态的栅格,即不将所述被标记未知状态的栅格的位置信息存入所述容器中,也不将所述被标记未知状态的栅格的位置信息存入所述滤波器,再返回步骤S11。因而本实施例优先在探索节点与参考边界点之间的线段上排除掉被标记占用状态的栅格,再排除掉机体可通行距离内存在障碍物的被标记未知状态的栅格,保留下机体可通行距离内不存在障碍物的被标记未知状态的栅格送往滤波器,从而让机器人获取符合预设通行条件的被标记未知状态的边界点,有利于引导机器人探索未知区域。
步骤S110:确定检查到被标记空闲状态的栅格,然后进入步骤S112。因为本实施例是使用占用栅格法的方式来表示地图,根据每个栅格上的不同情况,只是被标记为空闲(free) 、占用(occupied) 和未知(unknown)三种状态。其中,每个边界点都有对应的栅格,即在机器人创建的地图区域(本实施例中是栅格地图)上,每个边界点都存在与之位置相匹配的栅格。
步骤S112:判断所述边界检测器检查到所述探索节点与所述参考边界点之间的线段穿过的栅格是否都是被标记空闲状态的栅格,是则进入步骤S113,否则返回步骤S11。当然步骤S112对于空闲栅格区域的判断步骤也可以是优先执行的,只要能排除障碍物以判断获得符合预设通行条件的边界点即可。
步骤S113:将除了所述参考边界点之外的被标记空闲状态的栅格(实际上是该栅格的栅格信息)都存入所述容器中,并将除了所述参考边界点之外的被标记空闲状态的栅格确定为符合预设通行条件的被标记空闲状态的边界点,进而成为容器内新增设定的边界点的栅格信息,再返回步骤S11。其中,所述探索节点与所述参考边界点之间的线段所穿过的栅格也包括所述探索节点对应的栅格与所述参考边界点对应的栅格。有利于在执行步骤S12时从所述容器中搜索出符合预设通行条件的边界点作为新的参考边界点,使得以参考边界点为圆心形成的边界检测器或传感器的圆形探测区域远离障碍物。
在前述实施例中所述边界检测器包括本地检测器和全局检测器,以使得边界检测器构建的随机树包括局部随机树和全局随机树;所述预设探测半径包括第一预设探测半径和第二预设探测半径;其中,本地检测器用于通过构建局部随机树来探索与机器人当前位置相距第一预设探测半径之内的边界点,每当检测到被标记未知状态的栅格时控制局部随机树重置,优选地,第一预设探测半径设置为1m,从而让所述边界检测器更容易探索到近距离的地方细节,例如一些边角的地方;全局检测器用于通过构建全局随机树来探索与机器人当前位置相距第二预设探测半径之内的边界点,但从不控制全局随机树重置,优选地,第二预设探测半径设置为10m,从而让全局检测器更容易探索到远距离的地方。在本实施例中,第一预设探测半径小于第二预设探测半径,且两种预设探测半径的数量级不同,都与传感器的感知范围存在交叉重叠区域。本地检测器和全局检测器同时执行检查边界点的操作,可以提高边界点检测的速度,它们各自产生的局部地图可以转换到全局地图中。
作为一种实施例,如图5所示,所述步骤S2具体包括:
步骤S21:调用滤波器接收来自所述边界检测器的边界点的位置信息,然后进入步骤S22。即接收所述步骤S1获取的符合预设通行条件的边界点中用于机器人探索未知区域的边界点。
步骤S22:判断滤波器接收到的边界点是否处于边界点列表已存有的边界点的有效范围内,是则进入步骤S23,否则进入步骤S25。其中,边界点列表包括边界点种子列表和边界点果实列表。当然这个判断步骤不一定是优先执行的,只要能区分筛选出符合所述探索重复性的边界点和不符合所述探索重复性的边界点即可,避免机器人后续重复访问同一边界点。
步骤S25:确定滤波器接收到的边界点都没有落入边界点种子列表和边界点果实列表之内,不符合所述探索重复性,则将滤波器接收到的边界点存入边界点种子列表中,并配置相应的访问信息以标识存入边界点种子列表的边界点是否已经存在于所述边界点果实列表中,具体是:当被所述边界点果实列表访问读取时,配置存入边界点种子列表的边界点的访问信息为1,否则配置存入边界点种子列表的边界点的访问信息为0。再返回步骤S21,重复上述步骤,优选地,直到在外部调用触发作用下开始执行步骤S3。
步骤S23:判断滤波器接收到的边界点是否仅处于边界点种子列表已存有的边界点的有效范围内,是则进入步骤S24,否则进入步骤S26。其中,边界点种子列表已存有的边界点是机器人已探索区域内的边界点,用以作为机器人继续探索未知区域的候选目标点,可以理解为未知区域和已知区域的边界附近的节点。当然这个判断步骤也可以是优先执行的,只要能辅助区分筛选出符合所述探索重复性的边界点和不符合所述探索重复性的边界点即可,避免机器人后续重复访问同一边界点。
步骤S24:确定滤波器接收到的边界点属于重复探索的边界点,不将滤波器接收到的边界点存入边界点种子列表中,同时在边界点种子列表内,对所述重复探索的边界点落入的有效范围所对应的已存在的边界点进行计数标记,优选地,每当检测到滤波器接收的一个边界点落入边界点种子列表内的已知边界点的有效范围内,则对这个已知边界点的相匹配的计数值进行加一计数标记,以使得相应的计数值相对大的边界点在步骤S3中被配置为目标点时优先分配给机器人。再返回步骤S21,重复上述步骤,直到在外部调用触发作用下开始执行步骤S3。
步骤S26:判断滤波器接收到的边界点是否处于边界点果实列表已存有的边界点的有效范围内,是则进入步骤S27,否则返回步骤S21,直到开始执行步骤S3。当然这个判断步骤也可以是优先执行的,只要能辅助区分筛选出符合所述探索重复性的边界点和不符合所述探索重复性的边界点即可,避免机器人后续重复访问同一边界点。其中,边界点列表已存有的边界点的有效范围代表以所述边界点列表已存有的边界点为圆心,第一有效探测半径的圆形区域,且归属于机器人的已探索的节点;所述第一有效探测半径优选设置为1.5m,处于所述第一预设探测半径和所述第二预设探测半径之间;所述边界点列表已存有的边界点的存在已经足够把这个已存有的边界点为圆心、第一有效探测半径的圆形区域内的未知区域合并成已知边界点,使得同一边界点的有效范围内所有节点,已经被一个边界点给代表。
步骤S27:确定滤波器接收到的边界点是属于重复探索的边界点,不将滤波器接收到的边界点存入边界点种子列表中,然后返回步骤S21,重复上述步骤,直到在外部调用触发作用下开始执行步骤S3。因而结合前述步骤能够发挥过滤冗余的边界点、视为已探索过的边界点,减少计算量和计算时间。
优选地,开始执行步骤S3的条件是,存入边界点种子列表的边界点的数目满足一定的阈值;这里的阈值是存入边界点种子列表的边界点的数目足以满足机器人为了探索局部未知区域的建图导航需求,也可以是一定的时间间隔,意味着每隔一定的时间间隔或每计数达到一定的边界点计数阈值,则停止执行步骤S2转而执行步骤S3。
前述步骤控制滤波器从接收到的边界点中过滤掉能够落入边界点列表中已存在的边界点的可探测范围内的边界点,减少机器人探索边界点的重复率,也获取能够支持机器人探索未知区域实际所需的边界点,进而用于在地图上划分机器人的已探索区域和未知区域。由于已经过一次边界点的过滤操作,所以存入边界点种子列表中的边界点数量得到约束,避免后续出现目标点的重复率过高的现象,有利于减少计算量,提高探索效率。
作为一种实施例,所述步骤S3具体包括:
当需要获取目标点以引导机器人移动至未知区域时,基于边界点的导航代价及其对应的收益信息,并考虑到边界点的可通行条件,控制滤波器从存入所述边界点种子列表中的边界点中选择出利润最高的边界点并配置为目标点,再存到所述边界点果实列表中。其中,所述边界点种子列表在步骤S1至步骤S2中是不断的更新的,在步骤S3中所述边界点果实列表是支持不断的更新。在本实施例中,从所述边界点列表中使用较少的边界点作为候选目标点,用以计算获取机器人实际遍历所需的目标点,与现有技术相比,节省计算量和计算时间,降低目标点的探索重复率。
在上述实施例的基础上,从所述边界点种子列表中的边界点中选择出利润最高的边界点存到所述边界点果实列表后,根据所述步骤S24对所述边界点种子列表中的边界点的计数值,从所述边界点果实列表存有的利润相同的目标点中,选择计数值最大的目标点分配给机器人,再控制机器人从当前位置移动至这个计数值最大的目标点,以引导机器人在未知区域内建立局部地图。从而引导机器人无障碍地探索较近的未知区域并建立局部地图,满足机器人运动的实时性要求。
在所述步骤S3中,所述从存入所述边界点种子列表中的边界点中选择出利润最高的边界点并存到所述边界点果实列表中的方法具体包括:首先,分别计算出所述边界点种子列表中存有的边界点的利润,再对所述边界点种子列表中存有的边界点的利润进行数值大小排序,这里的排序算法包括但不限于冒泡排序、快速排序、堆排序、简单选择排序、希尔排序、直接插入排序。然后按照利润由大到小的顺序依次判断以相应边界点为圆心,半径为一个机身可通行距离的圆形区域内是否存在被标记占用状态的栅格,是则确定所述相应边界点不满足可通行条件,并从所述边界点种子列表中删除相应的边界点,再重复该判断步骤判断利润次大的边界点的机身可通行距离之内;否则确定所述相应边界点满足可通行条件,并确定将这个利润最大的边界点(即所述相应的边界点)存入到所述边界点果实列表中,并配置为所述目标点。其中,机身可通行距离优选地设置为50cm。本实施例在输出作为目标点之前还需再进行一次被标记占用状态的栅格的检查,考虑到所述边界点种子列表中可能存在部分边界点没有经过前述步骤S1至步骤S2的检查筛选;从而提高机器人的避障精度,无障碍地引导机器人探索更大范围的未知区域。
具体地,所述计算出所述边界点种子列表中存有的边界点的利润的方法包括:
所述边界点对应的利润等于可调参数与所述收益信息的乘积减去所述边界点的导航代价得到的差值,即,其中,是所述边界点种子列表中存有的边界点的利润,是表示所述边界点种子列表中存有的边界点;是可调参数,属于正的常量参数,也是一个经验值;是收益信息;是所述边界点的导航代价。作为可调参数与所述收益信息的乘积,对于所述收益信息起到调节权重的作用,用于通过增大所述收益信息来让机器人使用相对小的导航代价来探索相对大的未知区域。所述边界点的导航代价是机器人的当前位置与所述边界点种子列表中存有的当前参与计算的一个边界点之间的直线距离,用范数表示为:,具体是机器人的当前位置点与所述边界点种子列表中存有的当前参与计算的一个边界点在地图区域上的直线距离。相应的,所述收益信息是以所述边界点种子列表中存有的当前参与计算的一个边界点为圆心、第二有效探测半径为半径的圆中,未知区域的面积大小,需要说明的是,等于边界点为圆心、第二有效探测半径为半径的圆的面积减去这个圆在地图上标记的已探索栅格区域的面积;第二有效探测半径小于或等于机器人的用于扫描环境的传感器的感知半径,第二有效探测半径在常规扫描环境的情况下是等于机器人的用于扫描环境的传感器的感知半径。在本实施例中,可调的权值的设置有利于控制机器人偏向于用最小的导航代价来探索更大的未知区域,降低机器人系统的运算负载。
作为一种实施例,在图1a所示的地图区域中,机器人在已知地图区域(预先创建的白色地图区域)内,从初始位置处执行前述实施例的步骤S1至步骤S3,实现使用边界检测器和滤波器探索出边界点A并扩展探索出新的白色的地图已知区域,这里将边界点A配置为目标点,然后才控制机器人从初始位置移动至边界点A,如图1b所示。在图1b中,机器人探索并导航至边界点A后,在边界点A处执行前述实施例的步骤S1至步骤S3,实现在图1a所示的已知区域的基础上继续扩展出更大范围的已知区域,并获取出图1b所示的新的黑色实心圆作为存入所述边界点种子列表的边界点,后续从其中计算筛选出利润值最大的边界点作为引导机器人导航至未知区域的目标点,然后结合图2a可知,边界点B作为图1b中筛选出利润值最大的边界点,使得机器人从图1b的边界点A移动至图2a的边界点B,需要说明的是,图1和图2的地图区域表示的都是同一工作区域内的地图。
然后,机器人通过执行前述实施例的步骤S1至步骤S3,在图2a的边界点B获取到边界点D、边界点C及其它配置为加入边界点种子列表的边界点,结合图2b可知机器人将边界点C作为图2a的地图区域内计算获取的目标点,然后控制机器人从边界点B移动至边界点C,从而出现图2b。
在图2b中,机器人在边界点C执行前述实施例的步骤S1至步骤S3,由于在边界点C处机器人的三个坐标轴方向上几乎都被房间墙壁包围,且机器人检测到当前位置所属房间区域内的边界点的机身可通行距离内存在障碍物,所以探索不到符合预设通行条件的边界点,因此机器人没有探索出新的能够加入边界点种子列表的边界点(没有新增候选目标点),如图2b分布的黑色实心圆所示,当然机器人的已探索区域(建立的图示的白色地图区域)相对于图2a的有所增大。因此,根据图示的黑色实心圆对应的边界点利润的计算结果,控制机器人从边界点C移动至图2b的白色区域内的利润最大的边界点D。
在图2c的边界点D处机器人没有像图2b那样三面都被墙壁包围,且检测到存在:边界点的机身可通行距离内没有障碍物,机器人的传感器的感知视角相对于图2b的更加开阔,则机器人通过执行前述实施例的步骤S1至步骤S3可获取能够加入边界点种子列表的新的边界点,如图2c的上方新增三个方向上的黑色实心圆所示。此时机器人创建的已知地图区域也扩大。
综上,机器人通过迭代执行前述实施例的步骤S1至步骤S4,直到机器人在不同边界点探索创建的局部地图组合为完整的全局地图,以完整覆盖图示的工作区域。需要说明的是,机器人探索移动的方向趋向于更大面积的未知区域(图示的填充斜线区域)、且趋向于导航代价更小的边界点(图示的黑色实心圆)。
一种芯片,该芯片用于存储程序,该程序被配置为执行所述的一种用于机器人探索未知区域的地图探索方法。降低探索边界点的计算量,提高探索效率。
一种机器人,机器人的机体表面装配有用于扫描环境的传感器,该机器人内部设置所述的芯片,用于执行所述的一种用于机器人探索未知区域的地图探索方法。增强机器人在探索未知环境中的避障能力,也有效地减少机器人重复探索边界点的次数。在本实施例中,用于扫描环境的传感器是支持360度旋转扫描的激光雷达传感器。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。 而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅是本发明的较佳实施例而己,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。
Claims (12)
1.一种用于机器人探索未知区域的地图探索方法,其特征在于,包括:
步骤1:利用基于快速探索随机树算法的边界检测器获取符合预设通行条件的边界点;
步骤2:对步骤1获取的边界点中用于机器人探索未知区域的边界点的探索重复性进行检查,再根据检查结果将不符合探索重复性的边界点存入边界点列表;
步骤3:基于边界点的导航代价及其对应的收益信息,并考虑到边界点的可通行条件,从边界点列表存有的边界点中选择利润最高的边界点并将其配置为目标点,再控制机器人从当前位置移动至目标点,以引导机器人在未知区域内建立地图。
2.根据权利要求1所述地图探索方法,其特征在于,所述步骤1具体包括:
步骤11:基于边界检测器构建的随机树在预先创建的地图区域内随机探索出第一随机节点,然后进入步骤12;
步骤12:在容器预先存储的边界点的位置信息中,寻找出地图区域内离第一随机节点最近的边界点并配置为参考边界点,然后进入步骤13;其中,容器是机器人内部设置的支持连续存放数据信息的内存空间;容器存储有预先设定的边界点的栅格信息;栅格信息包括位置信息和栅格状态信息;
步骤13:自参考边界点出发朝向第一随机节点的射线上,搜索出地图区域内与参考边界点相距一个预设探测半径的探索节点,然后进入步骤14;其中,预设探测半径是所述边界检测器配置的探测距离信息;
步骤14:控制边界检测器在探索节点与参考边界点之间的线段上检查并获取符合预设通行条件的边界点。
3.根据权利要求2所述地图探索方法,其特征在于,所述在探索节点与参考边界点之间的线段上检查并获取符合预设通行条件的边界点的具体步骤包括:
当所述边界检测器检查到所述探索节点与所述参考边界点之间的线段穿过的栅格都是被标记空闲状态的栅格时,将该线段上除了所述参考边界点之外的被标记空闲状态的栅格都存入所述容器中,并将该线段上除了所述参考边界点之外的被标记空闲状态的栅格都确定为符合预设通行条件的被标记空闲状态的边界点,进而成为容器内新增设定的边界点的栅格信息;
其中,所述探索节点与所述参考边界点之间的线段所穿过的栅格也包括所述探索节点对应的栅格与所述参考边界点对应的栅格;
其中,每个边界点都有对应的栅格。
4.根据权利要求2所述地图探索方法,其特征在于,所述在探索节点与参考边界点之间的线段上检查并获取符合预设通行条件的边界点的具体步骤还包括:
在所述边界检测器逐个栅格地检查所述探索节点与所述参考边界点之间的线段所穿过的栅格的过程中,当检查到被标记占用状态的栅格时,则不处理所述被标记占用状态的栅格,再返回步骤11;
当检查到被标记未知状态的栅格时,则继续检查以被标记未知状态的栅格为圆心,半径为一个机身可通行距离的圆形区域内是否存在被标记占用状态的栅格,是则不处理所述被标记未知状态的栅格,再返回步骤11,否则将所述被标记未知状态的栅格配置为用于机器人探索未知区域的边界点,并将所述被标记未知状态的栅格确定为符合预设通行条件的被标记未知状态的边界点,同时将所述被标记未知状态的栅格加入滤波器;其中,机身可通行距离设置为大于机器人的机身宽度但小于两倍的机身宽度;
其中,滤波器是机器人内部设置的功能模块,用于检查边界点的探索重复性,并从边界点列表存有的边界点中选择出供机器人导航可达的实际位置。
5.根据权利要求3或4所述地图探索方法,其特征在于,所述边界检测器包括本地检测器和全局检测器,以使得边界检测器构建的随机树包括局部随机树和全局随机树;所述预设探测半径包括第一预设探测半径和第二预设探测半径;
其中,本地检测器用于通过构建局部随机树来探索与机器人当前位置相距第一预设探测半径之内的边界点,每当检测到被标记未知状态的栅格时控制局部随机树重置;
全局检测器用于通过构建全局随机树来探索与机器人当前位置相距第二预设探测半径之内的边界点,但从不控制全局随机树重置;
第一预设探测半径小于第二预设探测半径,且两种预设探测半径的数量级不同。
6.根据权利要求5所述地图探索方法,其特征在于,所述步骤2具体包括:
当滤波器接收到的边界点仅处于边界点种子列表中已存有的边界点的有效范围内时,确定滤波器接收到的边界点属于重复探索的边界点,不将滤波器接收到的边界点存入边界点种子列表中,同时在边界点种子列表内,对所述有效范围对应的已存在的边界点进行计数标记,直到开始执行步骤3;其中,边界点种子列表已存有每一个边界点都匹配一个有效范围,用于表征机器人的已探索区域;
当滤波器接收到的边界点处于边界点果实列表中已存有的边界点的有效范围内时,确定滤波器接收到的边界点属于重复探索的边界点,不将滤波器接收到的边界点存入边界点种子列表中;
当滤波器接收到的边界点不处于边界点列表中已存有的边界点的有效范围内时,确定滤波器接收到的边界点不符合所述探索重复性,将滤波器接收到的边界点存入边界点种子列表中,直到开始执行步骤3;
其中,边界点列表已存有的边界点的有效范围代表以所述边界点列表已存有的边界点为圆心,第一有效探测半径的圆形区域,且归属于机器人的已探索节点;所述第一有效探测半径是小于机器人的用于扫描环境的传感器的感知半径,所述第一有效探测半径大于所述第一预设探测半径,所述第一有效探测半径小于所述第二预设探测半径;
其中,边界点列表包括边界点种子列表和边界点果实列表。
7.根据权利要求6所述地图探索方法,其特征在于,在所述步骤3中,包括:
基于边界点的导航代价及其对应的收益信息,并考虑到边界点的可通行条件,控制滤波器从存入所述边界点种子列表中的边界点中选择出利润最高的边界点并配置为目标点,再存到所述边界点果实列表中。
8.根据权利要求7所述地图探索方法,其特征在于,所述步骤3还包括:
从所述边界点种子列表中的边界点中选择出利润最高的边界点存到所述边界点果实列表后,根据所述步骤2对所述边界点种子列表中的边界点的计数值,从所述边界点果实列表存有的利润相同的目标点中,选择计数值最大的目标点分配给机器人,再控制机器人从当前位置移动至这个计数值最大的目标点,以引导机器人在未知区域内建立局部地图。
9.根据权利要求8所述地图探索方法,其特征在于,在所述步骤3中,所述从存入所述边界点种子列表中的边界点中选择出利润最高的边界点并存到所述边界点果实列表中的方法具体包括:
分别计算出所述边界点种子列表中存有的边界点的利润,再对所述边界点种子列表中存有的边界点的利润进行数值大小排序;
按照利润由大到小的顺序依次判断以相应边界点为圆心,半径为一个机身可通行距离的圆形区域内是否存在被标记占用状态的栅格,是则确定所述相应边界点不满足可通行条件,并从所述边界点种子列表中删除相应的边界点,再重复该判断步骤去判断利润次大的边界点,否则确定所述相应边界点满足可通行条件,同时将所述相应边界点存入到所述边界点果实列表中,并配置为所述目标点。
10.根据权利要求9所述地图探索方法,其特征在于,所述计算出所述边界点种子列表中存有的边界点的利润的方法包括:
所述边界点种子列表中存有的边界点对应的利润等于可调参数与所述收益信息的乘积减去所述导航代价得到的差值;
其中,可调参数是一个正的常量参数,用于通过增大所述收益信息来让机器人使用相对小的导航代价来探索相对大的未知区域;
其中,所述导航代价是机器人的当前位置与所述边界点种子列表中存有的当前参与计算的一个边界点之间的直线距离;相应的,所述收益信息是以所述边界点种子列表中存有的当前参与计算的一个边界点为圆心、第二有效探测半径为半径的圆中,未知区域的面积大小;第二有效探测半径小于或等于机器人的用于扫描环境的传感器的感知半径。
11.一种芯片,该芯片用于存储程序,其特征在于,该程序被配置为执行权利要求1至10任一项所述的一种用于机器人探索未知区域的地图探索方法。
12.一种机器人,机器人的机体表面装配有用于扫描环境的传感器,其特征在于,该机器人内部设置权利要求11所述的芯片,用于执行权利要求1至10任一项所述的一种用于机器人探索未知区域的地图探索方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110264567.XA CN113050632B (zh) | 2021-03-11 | 2021-03-11 | 用于机器人探索未知区域的地图探索方法、芯片及机器人 |
KR1020237034172A KR20230153471A (ko) | 2021-03-11 | 2021-10-27 | 로봇이 미지 영역을 탐색하기 위해 사용되는 맵 탐색 방법, 칩 및 로봇 |
US18/280,950 US20240152160A1 (en) | 2021-03-11 | 2021-10-27 | Map exploration method for exploring unknown region by robot, chip, and robot |
PCT/CN2021/126773 WO2022188426A1 (zh) | 2021-03-11 | 2021-10-27 | 用于机器人探索未知区域的地图探索方法、芯片及机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110264567.XA CN113050632B (zh) | 2021-03-11 | 2021-03-11 | 用于机器人探索未知区域的地图探索方法、芯片及机器人 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113050632A true CN113050632A (zh) | 2021-06-29 |
CN113050632B CN113050632B (zh) | 2022-06-14 |
Family
ID=76511339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110264567.XA Active CN113050632B (zh) | 2021-03-11 | 2021-03-11 | 用于机器人探索未知区域的地图探索方法、芯片及机器人 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240152160A1 (zh) |
KR (1) | KR20230153471A (zh) |
CN (1) | CN113050632B (zh) |
WO (1) | WO2022188426A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113485372A (zh) * | 2021-08-11 | 2021-10-08 | 追觅创新科技(苏州)有限公司 | 地图探索方法和装置、存储介质、电子装置 |
CN113805590A (zh) * | 2021-09-23 | 2021-12-17 | 云南民族大学 | 一种基于边界驱动的室内机器人自主探索方法及系统 |
WO2022188426A1 (zh) * | 2021-03-11 | 2022-09-15 | 珠海一微半导体股份有限公司 | 用于机器人探索未知区域的地图探索方法、芯片及机器人 |
CN115145270A (zh) * | 2022-06-17 | 2022-10-04 | 上海景吾酷租科技发展有限公司 | 自主探索建图目标选取方法及系统 |
CN115191886A (zh) * | 2022-07-12 | 2022-10-18 | 尚科宁家(中国)科技有限公司 | 一种快速建图的方法、装置、及清洁机器人 |
WO2023016101A1 (zh) * | 2021-08-13 | 2023-02-16 | 苏州大学 | 一种基于启发式偏置采样的室内环境机器人探索方法 |
WO2023124035A1 (zh) * | 2021-12-28 | 2023-07-06 | 美的集团(上海)有限公司 | 机器人的建图方法、电子设备及非易失性可读存储介质 |
WO2023130704A1 (zh) * | 2022-01-04 | 2023-07-13 | 北京石头创新科技有限公司 | 机器人的建图方法、装置、机器人和存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115326058B (zh) * | 2022-10-17 | 2023-02-07 | 杭州华橙软件技术有限公司 | 机器人地图的生成方法、设备、存储介质和移动机器人 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110048330A (ko) * | 2009-11-02 | 2011-05-11 | 삼성전자주식회사 | 로봇의 경로 계획 장치 및 그 방법 |
CN108663681A (zh) * | 2018-05-16 | 2018-10-16 | 华南理工大学 | 基于双目摄像头与二维激光雷达的移动机器人导航方法 |
CN108983781A (zh) * | 2018-07-25 | 2018-12-11 | 北京理工大学 | 一种无人车目标搜索系统中的环境探测方法 |
CN109814556A (zh) * | 2019-01-22 | 2019-05-28 | 东南大学 | 一种多机器人协作探索未知环境与地图构建的装置与方法 |
CN110221614A (zh) * | 2019-06-14 | 2019-09-10 | 福州大学 | 一种基于快速探索随机树的多机器人地图探索方法 |
CN110531760A (zh) * | 2019-08-16 | 2019-12-03 | 广东工业大学 | 基于曲线拟合和目标点邻域规划的边界探索自主建图方法 |
CN111638526A (zh) * | 2020-05-20 | 2020-09-08 | 电子科技大学 | 一种陌生环境下机器人自主建图的方法 |
CN111966097A (zh) * | 2020-08-12 | 2020-11-20 | 深圳华芯信息技术股份有限公司 | 基于栅格地图区域化探索的建图方法、系统以及终端 |
CN112000754A (zh) * | 2020-08-11 | 2020-11-27 | 珠海格力电器股份有限公司 | 地图构建方法、装置、存储介质及计算机设备 |
CN112327852A (zh) * | 2020-11-09 | 2021-02-05 | 苏州大学 | 融合路径信息丰富度的移动机器人自主探索方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7689321B2 (en) * | 2004-02-13 | 2010-03-30 | Evolution Robotics, Inc. | Robust sensor fusion for mapping and localization in a simultaneous localization and mapping (SLAM) system |
CN113050632B (zh) * | 2021-03-11 | 2022-06-14 | 珠海一微半导体股份有限公司 | 用于机器人探索未知区域的地图探索方法、芯片及机器人 |
-
2021
- 2021-03-11 CN CN202110264567.XA patent/CN113050632B/zh active Active
- 2021-10-27 KR KR1020237034172A patent/KR20230153471A/ko unknown
- 2021-10-27 WO PCT/CN2021/126773 patent/WO2022188426A1/zh active Application Filing
- 2021-10-27 US US18/280,950 patent/US20240152160A1/en active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110048330A (ko) * | 2009-11-02 | 2011-05-11 | 삼성전자주식회사 | 로봇의 경로 계획 장치 및 그 방법 |
CN108663681A (zh) * | 2018-05-16 | 2018-10-16 | 华南理工大学 | 基于双目摄像头与二维激光雷达的移动机器人导航方法 |
CN108983781A (zh) * | 2018-07-25 | 2018-12-11 | 北京理工大学 | 一种无人车目标搜索系统中的环境探测方法 |
CN109814556A (zh) * | 2019-01-22 | 2019-05-28 | 东南大学 | 一种多机器人协作探索未知环境与地图构建的装置与方法 |
CN110221614A (zh) * | 2019-06-14 | 2019-09-10 | 福州大学 | 一种基于快速探索随机树的多机器人地图探索方法 |
CN110531760A (zh) * | 2019-08-16 | 2019-12-03 | 广东工业大学 | 基于曲线拟合和目标点邻域规划的边界探索自主建图方法 |
CN111638526A (zh) * | 2020-05-20 | 2020-09-08 | 电子科技大学 | 一种陌生环境下机器人自主建图的方法 |
CN112000754A (zh) * | 2020-08-11 | 2020-11-27 | 珠海格力电器股份有限公司 | 地图构建方法、装置、存储介质及计算机设备 |
CN111966097A (zh) * | 2020-08-12 | 2020-11-20 | 深圳华芯信息技术股份有限公司 | 基于栅格地图区域化探索的建图方法、系统以及终端 |
CN112327852A (zh) * | 2020-11-09 | 2021-02-05 | 苏州大学 | 融合路径信息丰富度的移动机器人自主探索方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022188426A1 (zh) * | 2021-03-11 | 2022-09-15 | 珠海一微半导体股份有限公司 | 用于机器人探索未知区域的地图探索方法、芯片及机器人 |
CN113485372A (zh) * | 2021-08-11 | 2021-10-08 | 追觅创新科技(苏州)有限公司 | 地图探索方法和装置、存储介质、电子装置 |
CN113485372B (zh) * | 2021-08-11 | 2023-06-16 | 追觅创新科技(苏州)有限公司 | 地图探索方法和装置、存储介质、电子装置 |
WO2023016101A1 (zh) * | 2021-08-13 | 2023-02-16 | 苏州大学 | 一种基于启发式偏置采样的室内环境机器人探索方法 |
CN113805590A (zh) * | 2021-09-23 | 2021-12-17 | 云南民族大学 | 一种基于边界驱动的室内机器人自主探索方法及系统 |
WO2023124035A1 (zh) * | 2021-12-28 | 2023-07-06 | 美的集团(上海)有限公司 | 机器人的建图方法、电子设备及非易失性可读存储介质 |
WO2023130704A1 (zh) * | 2022-01-04 | 2023-07-13 | 北京石头创新科技有限公司 | 机器人的建图方法、装置、机器人和存储介质 |
CN115145270A (zh) * | 2022-06-17 | 2022-10-04 | 上海景吾酷租科技发展有限公司 | 自主探索建图目标选取方法及系统 |
CN115191886A (zh) * | 2022-07-12 | 2022-10-18 | 尚科宁家(中国)科技有限公司 | 一种快速建图的方法、装置、及清洁机器人 |
Also Published As
Publication number | Publication date |
---|---|
US20240152160A1 (en) | 2024-05-09 |
WO2022188426A1 (zh) | 2022-09-15 |
KR20230153471A (ko) | 2023-11-06 |
CN113050632B (zh) | 2022-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113050632B (zh) | 用于机器人探索未知区域的地图探索方法、芯片及机器人 | |
CN110221614B (zh) | 一种基于快速探索随机树的多机器人地图探索方法 | |
US20210333108A1 (en) | Path Planning Method And Device And Mobile Device | |
Sabattini et al. | The pan-robots project: Advanced automated guided vehicle systems for industrial logistics | |
CN112526993B (zh) | 栅格地图更新方法、装置、机器人及存储介质 | |
CN113110522B (zh) | 一种基于复合式边界检测的机器人自主探索方法 | |
US8655025B2 (en) | Data analysis device, data analysis method, and program | |
CN107690605B (zh) | 一种航线编辑方法、装置及控制设备 | |
US20160320774A1 (en) | Movement control method for autonomous mobile robot | |
CN109001757A (zh) | 一种基于2d激光雷达的车位智能检测方法 | |
CN112171675B (zh) | 一种移动机器人的避障方法、装置、机器人及存储介质 | |
CN107843252A (zh) | 导航路径优化方法、装置及电子设备 | |
CN109341698B (zh) | 一种移动机器人的路径选择方法及装置 | |
WO2023130766A1 (zh) | 机器人的路径规划方法、电子设备及计算机可读存储介质 | |
CN115268443A (zh) | 一种机器人避障路径规划方法 | |
CN114911228A (zh) | 机器人路径规划方法、装置及机器人 | |
CN113317733B (zh) | 一种路径规划方法及清洁机器人 | |
CN114812539B (zh) | 地图探索、地图使用方法、装置、机器人和存储介质 | |
CN114847809B (zh) | 清洁机器人的环境探索方法、装置、清洁机器人及介质 | |
CN114343490B (zh) | 机器人清扫方法、机器人及存储介质 | |
CN115437384A (zh) | 一种移动机器人的避障方法、设备及介质 | |
CN113405557A (zh) | 路径规划方法及相关装置、电子设备、存储介质 | |
KR102275671B1 (ko) | 객체 형태 검출 장치 및 방법 | |
CN112504288A (zh) | 基于动态规划的局部路径规划方法 | |
CN113219992B (zh) | 一种路径规划方法及清洁机器人 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 519000 2706, No. 3000, Huandao East Road, Hengqin new area, Zhuhai, Guangdong Applicant after: Zhuhai Yiwei Semiconductor Co.,Ltd. Address before: Room 105-514, No.6 Baohua Road, Hengqin New District, Zhuhai City, Guangdong Province Applicant before: AMICRO SEMICONDUCTOR Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |