CN113156956B - 机器人的导航方法、芯片及机器人 - Google Patents
机器人的导航方法、芯片及机器人 Download PDFInfo
- Publication number
- CN113156956B CN113156956B CN202110451456.XA CN202110451456A CN113156956B CN 113156956 B CN113156956 B CN 113156956B CN 202110451456 A CN202110451456 A CN 202110451456A CN 113156956 B CN113156956 B CN 113156956B
- Authority
- CN
- China
- Prior art keywords
- robot
- grid
- grids
- current
- searching
- 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 93
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 30
- 238000003860 storage Methods 0.000 claims description 118
- 230000008569 process Effects 0.000 claims description 25
- 238000001514 detection method Methods 0.000 claims description 21
- 230000001960 triggered effect Effects 0.000 claims description 18
- 230000033001 locomotion Effects 0.000 claims description 14
- 238000010845 search algorithm Methods 0.000 claims description 13
- 238000012216 screening Methods 0.000 claims description 12
- 230000004888 barrier function Effects 0.000 claims description 8
- 230000000007 visual effect Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 9
- 238000010408 sweeping Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000000149 penetrating effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- 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/005—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
-
- 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/60—Intended control result
- G05D1/644—Optimisation of travel parameters, e.g. of energy consumption, journey time or distance
-
- 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/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/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/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
-
- 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/0255—Control of position or course in two dimensions specially adapted to land vehicles using acoustic signals, e.g. ultra-sonic singals
-
- 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/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/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/0287—Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
- G05D1/0291—Fleet control
- G05D1/0295—Fleet control by at least one leading vehicle of the fleet
-
- 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]
- G05D1/2464—Arrangements for determining position or orientation using environment maps, e.g. simultaneous localisation and mapping [SLAM] using an occupancy grid
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D2105/00—Specific applications of the controlled vehicles
- G05D2105/10—Specific applications of the controlled vehicles for cleaning, vacuuming or polishing
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D2109/00—Types of controlled vehicles
- G05D2109/10—Land vehicles
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
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)
- Electromagnetism (AREA)
- Optics & Photonics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明公开机器人的导航方法、芯片及机器人,所述导航方法中,机器人所处的位置相对于重定位前构建的所述预设已知栅格区域是不连通时,在机器人的传感器的可探测距离内调整标记出允许机器人通行的栅格,以便于规划出让机器人实际走入所述预设已知栅格区域的导航路径,从而实现在机器人在允许通行的地图区域内使用路径搜索算法规划出引导机器人返回重定位前的工作位置的导航路径。
Description
技术领域
本发明涉及机器人地图导航的技术领域,涉及机器人的导航方法、芯片及机器人。
背景技术
随着科技的发展和生活水平的提高,越来越多工作可以由机器人来代替,在某些场合,需要机器人能够自身即便是在被搬动及重启后都能快速准确定位。比如,扫地机器人在正常清扫的过程中,经常会因为各种原因用户将扫地机器人从一个位置故意挪移到另一个位置,当扫地机器人遇到这种情况,会启动重定位,重定位成功后导航回到被挪动前的位置。
现有技术中,为了让机器人在被搬到一个新的位置重新启动或是在开机启动时能够自身定位,采用的技术称为SLAM(simultaneous localization and mapping,同步定位与建图)技术,实现移动装置自身在未知环境中的位置定位,机器人移动过程中根据位置估计和地图进行自身定位。所以,在重定位后,机器人与已清扫的区域的位置关系分为两种:地图内和地图外。机器人在地图内(已清扫遍历区域内)启用正常的导航即可,但是地图外(未清扫遍历区域)的情况下,机器人处于未清扫遍历区域。由于地图内(已清扫遍历区域内)和地图外(未清扫遍历区域内)之间存在未知区域相隔,所以使用增量启发式搜索算法、最短路径算法等成熟的路径规划算法常常无法搜索出允许机器人通过的可行路径,最终导致导航失败。
发明内容
为了解决上述技术缺陷,本发明技术方案一种提出了一个适用于重定位后,由所述地图外跨越未知区域而导航到所述地图内的方法,实现在机器人在允许通行的地图区域内,在调整标记出允许机器人通行的栅格的基础上,使用路径搜索算法规划出引导机器人返回重定位前的工作位置的导航路径。具体的技术方案包括:
一种机器人的导航方法,包括:步骤A1、在机器人被触发重定位后,先利用第一区域判定方法去判断机器人的当前位置是否与所述预设已知栅格区域相连通,是则进入步骤A2,否则进入步骤A3;步骤A2、控制机器人使用路径搜索算法规划路径,再沿着最新规划的路径移动回重定位目标位置;步骤A3、将机器人的传感器的可探测距离内的所有未知栅格都标记为预配置可通行栅格以便于路径搜索算法直接调用于规划路径,然后控制机器人使用路径搜索算法规划路径,再沿着最新规划的路径移动,直到利用第二区域判定方法判断到机器人的当前位置与所述预设已知栅格区域相连通,然后将所述预配置可通行栅格标记回所述未知栅格,再进入步骤A2;其中,重定位目标位置是机器人被触发重定位之前,记录在所述预设已知栅格区域内的一工作位置;机器人被触发重定位后确定机器人的当前位置。
与现有技术相比,机器人所处的位置相对于重定位前构建的所述预设已知栅格区域是不连通时,在机器人的传感器的可探测距离内调整标记出允许机器人通行的栅格,以便于规划出让机器人实际走入所述预设已知栅格区域的导航路径,从而实现在机器人在允许通行的地图区域内使用路径搜索算法规划出引导机器人返回重定位前的工作位置的导航路径。
进一步地,在步骤A3中,所述第二区域判定方法具体包括:步骤A31、使用机器人的当前位置更新机器人的当前搜索位置,其中,机器人的当前位置不限于机器人被触发重定位的位置;步骤A32、以机器人的当前搜索位置为搜索起点,沿着机器人的当前移动方向,判断机器人的当前搜索位置的邻域栅格是否为已知栅格,是则获取机器人的当前搜索位置的邻域栅格与机器人的当前位置之间的线段长度再进入步骤A33,否则停止搜索并控制机器人继续沿着路径搜索算法最新规划的路径移动;步骤A33、判断机器人的当前搜索位置的邻域栅格与机器人的当前位置之间的线段长度是否大于预设可通达距离,是则确定机器人的当前位置与所述预设已知栅格区域相连通,否则使用机器人的当前搜索位置的邻域栅格更新机器人的当前搜索位置,再返回步骤A32;其中,所述预设可通达距离是大于机器人的机身直径且小于或等于两倍的机器人的机身直径。该技术方案适用于机器人发生导航移动状态后定向搜索相连通邻域,避免机器人导航移动过程中构建出的已知栅格对判断区域连通性的影响,减少误判。
进一步地,机器人被触发重定位后,机器人的当前位置在实时构建的地图中标记为已知栅格,相对于所述重定位目标位置是新的位置。从而利用已知栅格与机器人的当前位置之间的连通性在局部区域内搜索出允许机器人通行到达的已知栅格区域。
进一步地,所述预配置可通行栅格是允许连接到路径搜索算法规划的路径上,用以贯通机器人在其当前位置构建的地图区域与所述预设已知栅格区域;其中,路径搜索算法规划的路径支持绕开已探测的障碍物栅格。
进一步地,在机器人被触发重定位后,机器人实时建图定位的过程中,机器人在其当前位置处构建出局部地图,这个实时构建的局部地图具体为:以机器人的当前位置为圆心,以预设探测长度为半径的区域内的栅格都被标记为已知栅格;其中,预设探测长度小于或等于所述机器人的机身直径;其中,已知栅格包括无障碍栅格和障碍物栅格。该技术方案控制机器人在以其机身中心为圆心建立起半径小于或等于所述机器人的机身直径的机器人实时有效建图区域,形成机器人的机身附近的最小有效探测区域且都是用于支持机器人通行的已知栅格。
进一步地,所述路径搜索算法是增量启发式搜索算法。相对于比A*搜索路径,保持朝着重定位目标位置进行扩展搜索,但搜索方向不是固定的,计算量减少,在前述技术方案适用的导航场景下搜索更加有效。
进一步地,在所述步骤A1中,所述第一区域判定方法具体包括:步骤1、通过在邻域搜索最近的已知栅格的方式来进行连通域搜索,直到判断到最新搜索出的已知栅格满足第一区域通行条件,确定机器人的当前位置与预设已知栅格区域相连通;步骤2、通过步骤1所述的连通域搜索完成机器人可达的最远距离以内的所有的已知栅格的搜索后,若判断到最新搜索出的已知栅格不满足第一区域通行条件,则进入步骤3;步骤3、通过在邻域搜索最近的栅格的方式来进行连通域搜索,直到判断到最新搜索出的已知栅格满足第二区域通行条件,确定机器人的当前位置没有与预设已知栅格区域相连通;步骤4、通过步骤3所述的连通域搜索完成机器人可搜索的最远距离以内的所有的栅格的搜索后,若判断到最新搜索出的已知栅格不满足第二区域通行条件,则确定机器人的当前位置与预设已知栅格区域相连通;其中,预设已知栅格区域是在执行所述区域判定方法之前,机器人在同一运动区域内构建并存储过的地图区域。
与现有技术相比,该技术方案从机器人的可达性的角度去控制导航前的机器人对邻域的已知栅格进行连通域搜索,通过连通域搜索的方式,由近及远地在已知栅格区域内识别连通性,再由近及远地在所有类型的栅格区域内识别连通性,包括机器人当前位置处构建的局部地图与已知地图区域邻接连通、机器人当前位置处构建的局部地图与已知地图区域重叠、机器人当前位置处构建的局部地图与已知地图区域互不连通,从而全面地判定出机器人的当前位置是否与相应距离处的已知地图区域相连通,进而判定机器人的当前位置是否处于已知地图区域内。
进一步地,满足所述第一区域通行条件是指:所述机器人的搜索半径大于机器人的机身直径,或者所述机器人的搜索半径大于机器人的机身直径,使得机器人的当前位置与所述步骤1最新搜索出的已知栅格之间的线段长度大于机器人的机身直径或机器人的机身直径时,才满足所述第一区域通行条件,说明机器人的可探测距离范围或可达的距离范围已经超出机器人的机身直径或机器人的机身直径,机器人自身构建的地图区域与外部预先构建的预设已知栅格区域相连通。
进一步地,在所述步骤1中,所述通过在邻域搜索最近的已知栅格的方式来进行连通域搜索的方法步骤具体包括:步骤11、在预先创建的第一存储空间中,筛选出距离机器人的当前搜索位置最近的一个栅格,并将这个筛选出的栅格确定为步骤1或步骤2所述的最新搜索出的已知栅格,然后进入步骤12;其中,预先创建的第一存储空间存储有机器人的当前搜索位置的已知邻域栅格,机器人的当前搜索位置的已知邻域栅格是机器人的当前搜索位置的邻域栅格中的已知栅格;步骤12、将机器人的当前搜索位置的栅格信息存入预先创建的第二存储空间以存储为已搜索的目标栅格;并在步骤11筛选出的栅格的邻域栅格中,将已知栅格的栅格信息存入预先创建的第一存储空间以存储为待搜索的目标栅格;同时,将机器人的搜索半径更新为机器人的当前位置与步骤S11最新筛选出的栅格之间的线段长度;其中,机器人的当前搜索位置的邻域栅格是以机器人的当前搜索位置为中心,在机器人即时构建的栅格地图上对应相邻的8个栅格,这8个栅格中的已知栅格是已知邻域栅格;步骤11筛选出的栅格不属于重复筛选的栅格。该技术方案在以机器人的当前搜索位置为中心的八邻域中寻找已知栅格,寻找出具备最短路径特征的已知栅格作为待搜索的目标栅格并拓展机器人的可达距离信息,同时保存已搜索的已知栅格以区分机器人的已搜索区域和未搜索区域,实现在局部区域内快速地搜索由已知栅格连通形成的连通域,加快判定机器人的当前位置是否直达所述预设已知栅格区域。
进一步地,在执行所述步骤11之前还包括:在创建所述第一存储空间存储之后,先将机器人的当前位置的栅格信息存入所述第一存储空间,并将机器人的当前位置配置为机器人的当前搜索位置;再从所述第一存储空间中筛选出距离机器人的当前搜索位置最近的栅格,使得机器人的当前位置从所述第一存储空间中筛选出来并成为距离机器人的当前搜索位置最近的栅格;然后将机器人的当前位置的栅格信息存入所述第二存储空间,并将机器人的当前位置的邻域栅格中的已知栅格的栅格信息存入所述第一存储空间;其中,预先创建的第一存储空间是支持按照先进先出顺序缓存栅格信息的内存空间。该技术方案优先将机器人的当前位置作为连通域的搜索起点,当然也是最后出来的一个栅格信息,提高搜索临近的连通域的有效性和有序性。
进一步地,所述步骤1具体包括:重复执行所述步骤11和步骤12,直到机器人的当前位置与所述步骤11最新搜索出的已知栅格之间的线段长度大于机器人的机身直径;其中,重新执行步骤11之前,将上一次执行的所述步骤11筛选出的距离机器人的当前搜索位置最近的且没被重复搜索的栅格更新机器人的当前搜索位置;其中,当检测到所述步骤11筛选出的栅格的栅格信息没有出现在所述第二存储空间时,这个参与检测的栅格是没被重复搜索的栅格;当检测到所述步骤11筛选出的栅格的栅格信息出现在所述第二存储空间时,这个参与检测的栅格是被重复搜索的栅格。
本技术方案以机器人的当前搜索位置为中心的八邻域中寻找新的已知栅格(没被重复搜索的已知栅格)并更新机器人的当前搜索位置,通过重复执行所述步骤11和步骤12来更新机器人的当前搜索位置,来搜索出由具备最短路径特征的已知栅格连通形成的可达区域,并逐个已知栅格地拓展机器人的可达距离信息,直到满足第一区域通行条件时才获得以机器人的当前位置为中心、机器人可达的最远区域内所有的已知栅格,实现近距离区域内快速地识别出机器人的当前位置与所述预设已知栅格区域的连通关系。
进一步地,在所述步骤1中,还包括:重复执行所述步骤11和步骤12,直到最新搜索出的已知栅格保持不满足第一区域通行条件的情况下,且预先创建的第一存储空间为空时,确定完成机器人可达的最远距离内所有的已知栅格的搜索;其中,机器人可达的最远距离是执行步骤12的过程中更新获得的最大的所述搜索半径。该技术方案在重复执行所述步骤11和步骤12的过程中,确立机器人可达的最远区域内所有的已知栅格搜索结束的条件。
进一步地,在结束执行步骤2后,开始执行步骤3之前,先清空所述第一存储空间和所述第二存储空间。由于机器人需执行步骤3去进一步地搜索邻域上的所有标记类型栅格并在此基础上引导判断是否搜索到所述预设已知栅格区域,所以对前述步骤中只搜索已知栅格而存储的栅格信息进行清空,以避免因出现重复搜索而影响搜索范围。
进一步地,满足所述第二区域通行条件是指所述机器人的搜索半径大于机器人的机身直径,使得机器人的当前位置与所述步骤3最新搜索出的已知栅格之间的线段长度大于机器人的机身直径时,才满足所述第二区域通行条件。用于表示机器人在其当前位置构建的地图区域没有与预设已知栅格区域相连通,两种区域是相对分离的。
进一步地,在所述步骤3中,所述通过在邻域搜索最近的栅格的方式来进行连通域搜索的方法步骤具体包括:步骤31、在预先创建的第一存储空间中,从机器人的当前搜索位置的邻域栅格中筛选出距离机器人的当前搜索位置最近的一个栅格,然后进入步骤32;步骤32、将机器人的当前搜索位置的栅格信息存入预先创建的第二存储空间以存储为已搜索的目标栅格,并将步骤31筛选出的栅格的邻域栅格的栅格信息存入预先创建的第一存储空间以存储为待搜索的目标栅格,使得所述第一存储空间存储有机器人的当前位置的邻域中无障碍栅格、未知栅格和/或障碍物栅格;当步骤31筛选出的栅格是已知栅格时,将步骤31筛选出的栅格确定为步骤3或步骤4所述的最新搜索出的已知栅格;其中,机器人的当前搜索位置的邻域栅格是以机器人的当前搜索位置为中心,在机器人即时构建的栅格地图上对应相邻的8个栅格,这8个栅格中的已知栅格分别与机器人的当前搜索位置组成搜索到的连通域;步骤31筛选出的栅格不是被重复筛选的栅格。
相对于前述技术方案中的步骤11至步骤12,该技术方案确定利用在以机器人的当前搜索位置为中心的八邻域中搜索新的已知栅格的连通域搜索方式是无法寻找到与机器人的当前位置相连通的预设已知栅格区域后,改为在以机器人的当前搜索位置为中心的八邻域中寻找出具备最短路径特征的栅格作为待搜索的目标栅格并拓展机器人的可达距离信息,实现在各个方向快速地搜索不连通的预设已知栅格区域和搜索小范围内相连通的预设已知栅格区域,执行步骤31至步骤32的过程中不受已知栅格和未知栅格的约束,有利于实现更大范围区域的栅格搜索,即不局限于栅格的标记属性。
进一步地,在清空所述第一存储空间和所述第二存储空间之后,执行所述步骤31之前,还包括:先将机器人的当前位置的栅格信息存入所述第一存储空间,并将机器人的当前位置配置为机器人的当前搜索位置;再从所述第一存储空间中筛选出距离机器人的当前搜索位置最近的栅格,使得机器人的当前位置成为筛选出距离机器人的当前搜索位置最近的栅格;然后将机器人的当前位置的栅格信息存入所述第二存储空间,并将机器人的当前位置的邻域栅格的栅格信息全部存入所述第一存储空间。该技术方案优先将机器人的当前位置作为邻域栅格的搜索起点,提高搜索以机器人的当前位置为中心的多个方向邻域栅格的有效性和有序性。
进一步地,所述步骤3具体包括:重复执行所述步骤31和步骤32,直到机器人的当前位置与最新筛选出的已知栅格之间的线段长度大于机器人的机身直径;其中,重新执行步骤31之前,将上一次执行的所述步骤31筛选出的距离机器人的当前搜索位置最近的且没被重复搜索的栅格更新机器人的当前搜索位置;其中,当检测到所述步骤31筛选出的栅格的栅格信息没有出现在所述第二存储空间时,这个参与检测的栅格是没被重复搜索的栅格;当检测到所述步骤31筛选出的栅格的栅格信息出现在所述第二存储空间时,这个参与检测的栅格是被重复搜索的栅格。
本技术方案以机器人的当前搜索位置为中心的八邻域中寻找新的栅格(没被重复搜索的栅格)并更新机器人的当前搜索位置,通过重复执行所述步骤31和步骤32,来搜索出由具备最短路径特征的栅格组成的可搜索区域,同时拓展机器人的可达距离信息用于作为停止搜索未知区域的判断条件,直到获得机器人不可达的预设已知栅格区域内的已知栅格,从而实现更大范围区域内快速地识别出机器人的当前位置与预设已知栅格区域的连通关系。
进一步地,在所述步骤3中,还包括:重复执行所述步骤31和步骤32,直到最新搜索出的已知栅格保持不满足第二区域通行条件的情况下,预先创建的第一存储空间为空,确定完成机器人可搜索的最远距离以内的所有的栅格的搜索;其中,机器人可搜索的最远距离是由机器人在其所处的运动区域的尺寸大小决定的、或者是机器人的传感器的可探测距离决定的。该技术方案在重复执行所述步骤31和步骤32的过程中,确立机器人可搜索的最远区域内所有的栅格搜索结束的条件。
进一步地,在重复执行所述步骤31和步骤32的过程中,所述步骤31筛选出的距离机器人的当前搜索位置最近的已知栅格与机器人的当前搜索位置属于同一连通域,所述步骤31筛选出的距离机器人的当前搜索位置最近的未知栅格与机器人的当前搜索位置不属于同一连通域;当最新搜索出的已知栅格满足第二区域通行条件时,搜索出的连通域没有与所述预设已知栅格区域相连通,使得机器人的当前位置相对于所述预设已知栅格区域位于孤岛区域中。从而为机器人搜集离散的地图区域信息。
一种芯片,该芯片被配置为执行所述的导航方法对应的程序代码。与现有技术相比,利用最短的搜索路径距离,高效地判定出与机器人的当前位置具备连通关系的区域,节省计算负载。
一种机器人,机器人内置所述的芯片。增强机器人在搜索未知环境中的路径规划能力。
进一步地,该机器人装配有视觉传感器,用于探测未知的环境区域以构建地图,并在实时构建的地图上标记出已知栅格。减少机器人重定位的误差积累。
附图说明
图1是本发明一实施例公开第一区域判定方法的流程图。
图2是本发明另一实施例公开机器人的导航方法的流程图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步说明。应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
本实施例中,在机器人启动之后、或者被触发重定位之后、重定位成功后或实时导航定位的过程中,机器人在启动位置附近标记无障碍栅格或障碍物栅格以构建起局部地图,具体是以机器人的当前位置为圆心,以预设探测长度为半径的区域内的栅格都被标记为已知栅格;其中,预设探测长度小于或等于所述机器人的机身直径。已知栅格包括无障碍栅格和障碍物栅格。对于本领域技术人员可理解:局部地图中标记有机器人的当前位置周围的环境信息,环境信息包括机器人构建的地图区域内的栅格,这些栅格包括标记为空闲(free)、占用(occupied) 和未知(unknown)三种状态;空闲状态的栅格是指未被障碍所占用的栅格,是机器人可到达的栅格位置点,是所述无障碍栅格,可以组成未占用区域;占用状态的栅格是指被障碍物所占用的栅格,是所述障碍栅格,可以组成占用区域;未知栅格是指机器人构建地图过程中的不清楚具体情况的栅格区域,其位置点处往往被障碍物所遮挡,可以组成未知区域。
需要说明的是,以扫地机器人为例,可以基于单线激光雷达建立局部概率栅格,或基于视觉传感器建立局部栅格地图。而全局地图,是该扫地机器人第一次使用时,利用其自身携带的各种传感器(例如:加速度传感器、陀螺仪、超声波测距仪、摄像头、单线激光雷达、等等)对每个房间运动区域进行搜索,感应每个房间的位置、形状和大小,以及遇到的障碍物的位置、形状和大小,并据此绘制出一张环境边界地图,通过在室内边行走边记录的方式绘制的整个室内的地图,该地图上包括占用区域、未占用区域和未知区域,其中,占用区域和未占用区域都可以归属于已清扫区域。
作为一种实施例,公开一种机器人的导航方法,如图2所示,具体包括以下步骤:
步骤A1、在机器人被触发重定位后,利用第一区域判定方法判断机器人的当前位置是否与所述预设已知栅格区域相连通,并判定机器人是否位于已经构建的地图区域内,是则进入步骤A2,否则进入步骤A3。需要说明的是,机器人在导航移动之前的静止状态下实施第一区域判定方法;或是自转构建起前述的局部地图后,静止去实施第一区域判定方法。
本实施例在启动重定位后可能需跨越未知区域而返回所述预设已知栅格区域,若不去判断机器人的当前位置是否与所述预设已知栅格区域相连通,则在机器人的当前位置没有与所述预设已知栅格区域相连通的情况下,即在机器人的当前位置的周围构建的局部地图没有与所述预设已知栅格区域相连通的情况下,与机器人的当前位置相分离的所述预设已知栅格区域、或者与机器人的当前位置周围构建的局部地图相分离的所述预设已知栅格区域只会保留预设时间,从而导致机器人丢失预先建立的所述预设已知栅格区域,若机器人不及时判定机器人的当前位置与所述预设已知栅格区域的连通性并标记保存,那么机器人既丢失所述预设已知栅格区域内的重定位目标位置,也无法规划出机器人可通行的路径以导航返回重定位目标位置。
步骤A2、控制机器人使用路径搜索算法规划路径,再沿着所述路径搜索算法最新规划的路径移动回重定位目标位置。优选地,本实施例使用的路径搜索算法包括但不限于D*算法、Focussed D算法、D* Lite算法,其中,这些增量启发式搜索算法没有A-star算法所具有的方向感,但保持朝着重定位目标位置进行已知栅格代表的路径节点的搜索。相比A-star算法,增量启发式搜索算法的主要特点就是由所述重定位目标位置开始向机器人的当前位置进行路径搜索,这种路径搜索更多的是一种由所述重定位目标位置向四周发散搜索,直到把机器人的当前位置纳入搜索范围为止,在面对新的障碍物时,比重复的A*搜索更有效。
步骤A3、将机器人的传感器的可探测距离内的所有未知栅格都标记为预配置可通行栅格以便于路径搜索算法直接调用于规划路径,然后进入步骤A4。其中,所述预配置可通行栅格是允许连接到路径搜索算法规划的路径上,用以贯通机器人在其当前位置构建的局部地图区域与所述预设已知栅格区域;其中,路径搜索算法规划的路径支持绕开已探测的障碍物栅格,即所述已知栅格中包括的障碍物栅格。
步骤A4、结合所述预配置可通行栅格,控制机器人使用路径搜索算法规划路径,再沿着路径搜索算法最新规划的包括未知栅格的路径移动,然后进入步骤A5。需要说明的是,当机器人使用路径搜索算法规划的路径避开障碍物栅格时,所述机器人的当前移动方向包括沿着障碍物的左边缘顺时针绕障行走的方向、或沿着障碍物的右边缘逆时针绕障行走的方向。优选地,相比A-star算法,当机器人沿着D*算法规划的路径由起始位置向目标位置移动过程中,发现路径中存在新的障碍时,对于目标位置到新的障碍之间的范围内的路径节点,新的障碍是不会影响到其到目标的路径的。新的障碍只会影响的是物体所在位置到障碍之间范围的节点的路径,这时通过D*算法将新的障碍周围的节点加入到基于D*算法创建的优先队列中进行处理,然后向物体所在位置进行传播,能最小程度的减少计算开销。
步骤A5、在机器人沿着路径搜索算法最新规划的路径移动的过程中,利用第二区域判定方法去判断机器人的当前位置是否与所述预设已知栅格区域相连通,是则进入步骤A6,否则返回步骤A4。
在步骤A5中,所述第二区域判定方法具体包括:
步骤A51、使用机器人的当前位置更新机器人的当前搜索位置,然后执行步骤A52。其中,机器人的当前位置不一定是机器人被触发重定位的位置,机器人可能由被触发重定位的位置移动至所述路径搜索算法规划的一个新的路径节点时才触发执行步骤A5。
步骤A52、以机器人的当前搜索位置为搜索起点,沿着机器人的当前移动方向,判断机器人的当前搜索位置的邻域栅格是否为已知栅格,是则获取机器人的当前搜索位置的邻域栅格与机器人的当前位置之间的线段长度,再进入步骤A53,否则停止搜索并控制机器人继续沿着所述路径搜索算法最新规划的路径(新规划出的一个或一个以上路径节点)移动;然后进入步骤A53。
步骤A53、判断机器人的当前搜索位置的邻域栅格与机器人的当前位置之间的线段长度是否大于预设可通达距离,是则确定机器人的当前位置与所述预设已知栅格区域相连通,否则使用机器人的当前搜索位置的邻域栅格更新机器人的当前搜索位置,再返回步骤A52继续沿着机器人的当前移动方向去判断邻域栅格是否为已知栅格;其中,所述预设可通达距离是大于机器人的机身直径且小于或等于两倍的机器人的机身直径,这样设定的目的是为了机器人在搜索的过程中,保护机器人的安全,因为在机器人的当前搜索位置或其在机器人的当前移动方向上的邻域栅格上搜索到是障碍物栅格时,机器人避障难度高,容易损伤,所以设置机器人的当前搜索位置的邻域栅格与机器人的当前位置之间的线段长度最大是大于两倍的机器人的机身直径,留给机器人最小的避障通道,同时又能预防机器人构建的局部地图组合增大而带来的区域连通性误判问题。
步骤A6、将步骤A3所述预配置可通行栅格标记回步骤A3所述的未知栅格,然后返回步骤A2以沿着最新规划的可通行的路径返回所述重定位目标位置。
与现有技术相比,前述步骤A1至步骤A6中,机器人所处的位置相对于重定位前构建的所述预设已知栅格区域是不连通时,在机器人的传感器的可探测距离内调整标记出允许机器人通行的栅格以便于规划出让机器人实际走入所述预设已知栅格区域的导航路径,从而实现在机器人在允许通行的地图区域内使用路径搜索算法规划出引导机器人返回重定位前的工作位置的导航路径。
在前述实施例中,机器人被触发重定位后,机器人的当前位置在实时构建的地图中标记为(映射为)已知栅格,相对于所述重定位目标位置是新的位置。从而利用已知栅格与机器人的当前位置之间的连通性在局部区域内搜索出允许机器人通行到达的已知栅格区域。
本发明另一实施例公开所述第一区域判定方法,具体包括:
步骤1、通过在邻域搜索最近的已知栅格的方式来进行连通域搜索,直到最新搜索出的已知栅格满足第一区域通行条件,确定机器人的当前位置与预设已知栅格区域相连通,但是,机器人在其当前位置处构建出的所述局部地图与预设已知栅格区域没有重叠;该步骤1中,机器人在运动区域内移动并遍历生成的局部地图,局部地图包括机器人的当前位置,以机器人的当前位置为搜索中心在八邻域内进行连通域搜索,当搜索中心被搜索出来的位置更替后,继续以新的搜索中心进行邻域搜索,实现360度方向所有的已知栅格及其邻域的搜索,直到最新搜索出的已知栅格满足第一区域通行条件,才停止连通域搜索,并确认机器人的当前位置与所述预设已知栅格区域相连通,即机器人的当前位置处构建的局部地图与所述预设已知栅格区域邻接连通,或者机器人的当前位置处构建的局部地图位于所述预设已知栅格区域的覆盖范围内且这两种区域重叠在一起。
步骤2、在执行步骤1的过程中,若通过步骤1所述的连通域搜索完成机器人可达的最远距离以内的所有的已知栅格的搜索后,仍判断到最新搜索出的已知栅格保持不满足第一区域通行条件,则进入步骤3。该步骤2将机器人在当前位置处构建的局部地图范围内的已知栅格遍历完,但还不足以确认这个构建的局部地图的外部不存在已知栅格,因为步骤1没有针对这个局部地图内的未知栅格及其对应的邻域进行连通域搜索。使得步骤1至步骤2的搜索判定操作不够全面,所以需要进入步骤3继续新的连通域搜索。
步骤3、通过在邻域搜索最近的栅格的方式来进行连通域搜索,直到判断到最新搜索出的已知栅格满足第二区域通行条件,确定机器人的当前位置没有与预设已知栅格区域相连通;该步骤3中,以机器人的当前位置为搜索中心在八邻域内进行连通域搜索,同时进行栅格标记,当搜索中心被搜索出来的位置更替后,继续以新的搜索中心进行邻域搜索,实现360度范围内所有的栅格及其邻域的搜索,直到最新搜索出的已知栅格满足第二区域通行条件,才停止搜索,即停止连通域搜索,并确认机器人的当前位置与所述预设已知栅格区域没有连通,即机器人的当前位置处构建的局部地图位于所述预设已知栅格区域的外部且没有邻接。
步骤4、在执行步骤3的过程中,通过步骤3所述的连通域搜索完成机器人可搜索的最远距离以内的所有的栅格的搜索后,若判断到最新搜索出的已知栅格不满足第二区域通行条件,则确定机器人的当前位置与预设已知栅格区域相连通,其中,机器人在其当前位置处构建出的所述局部地图与预设已知栅格区域重叠;在步骤4中,将机器人在当前位置处构建的局部地图范围内的栅格遍历完,且确认这个构建的局部地图的外部不存在已知栅格,或者认为这个构建的局部地图与所述预设已知栅格区域重叠,使得步骤3至步骤4的搜索范围更加全面。
其中,预设已知栅格区域是在执行所述区域判定方法之前,机器人在同一运动区域内构建并存储过的地图区域。本实施例可以是机器人预先到达的已知地图区域、已遍历区域,但机器人被强制挪移出这个已遍历区域,被挪移至所述机器人的当前位置后开始触发重定位,可以确定机器人的当前位置的栅格信息,并确定机器人在当前位置处构建的半径为所述预设探测长度的圆形区域,其覆盖的范围包括圆周、圆周以内至机器人的当前位置之间的已知栅格区域。
与现有技术相比,前述步骤1至步骤4从机器人的可达性的角度去控制机器人对邻域的已知栅格进行连通域搜索,通过连通域搜索的方式,由近及远地在已知栅格区域内识别连通性,再由近及远地在所有类型的栅格区域内识别连通性,包括机器人当前位置处构建的局部地图与已知地图区域邻接连通、机器人当前位置处构建的局部地图与已知地图区域重叠、机器人当前位置处构建的局部地图与已知地图区域互不连通,从而全面地判定出机器人的当前位置是否与相应距离处的已知地图区域相连通,进而判定机器人的当前位置是否处于已知地图区域内。
作为一种实施例,如图1所示,所述第一区域判定方法具体包括:
步骤S1、在预先创建的第一存储空间中,从机器人的当前搜索位置的已知邻域栅格中筛选出距离机器人的当前搜索位置最近的一个栅格,并将这个筛选出的栅格确定为:前述步骤1通过在邻域搜索最近的已知栅格的方式执行的连通域搜索的过程中最新搜索出的已知栅格。然后进入步骤S2。需要说明的是,预先创建的第一存储空间存储有机器人的当前搜索位置的已知邻域栅格,机器人的当前搜索位置的已知邻域栅格是机器人的当前搜索位置的邻域栅格中的已知栅格;该步骤S1中,距离机器人的当前搜索位置最近的一个栅格,表示这个栅格与机器人的当前搜索位置的直线距离最小,至少相对于机器人的当前搜索位置的其他邻域栅格的直线距离都小。
具体地,在步骤S1,以机器人的当前搜索位置为搜索起点,对应机器人的当前搜索位置的上、左上、下、左下、右、右上、右下的邻接位置都与机器人的当前搜索位置属于同一个连通域,即八邻域栅格,然后从八邻域栅格中筛选出距离机器人的当前搜索位置最近的一个已知栅格,是距离距离机器人的当前搜索位置最近的一个标记为无障碍栅格或障碍物栅格,若存在两个以上距离最近的已知栅格则随机选择其中一个作为所述最新搜索出的已知栅格,剩余的距离最近的已知栅格配置为未遍历的,有利于后续搜索出与机器人的当前位置连通相邻的所有已知栅格。一般而言,当前搜索位置的上、下、左、右的邻接位置相对于机器人的当前搜索位置都是最近的。
步骤S2、将机器人的当前搜索位置与步骤S1筛选出的栅格之间的线段长度更新机器人的搜索半径,以描述机器人当前可达(可以直接到达)的距离;同时将机器人的当前搜索位置的栅格信息存入预先创建的第二存储空间以使得第二存储空间存储有机器人已搜索的栅格位置,即配置为下一个搜索起点的栅格信息,优选地,第二存储空间存储还包括当前搜索位置的栅格信息,用于区别地图区域上的已搜索遍历栅格位置;同时将步骤S1筛选出的栅格的邻域栅格中的已知栅格的栅格信息存入预先创建的第一存储空间,用于存储为待搜索的目标栅格,优选地,若存在两个以上距离机器人的当前搜索位置都是最近的已知栅格,所述第一存储空间还用于存储:机器人的当前搜索位置的邻域栅格中,除了步骤S1筛选出的栅格之外,距离机器人的当前搜索位置最近的已知栅格;使得所述第一存储空间只存储有机器人的当前位置的邻域中无障碍栅格和/或障碍物栅格对应的栅格信息。然后进入步骤S3。
本实施例通过执行前述步骤S1和步骤S2在以机器人的当前搜索位置为中心的八邻域中寻找已知栅格,寻找出具备最短路径特征的已知栅格作为待搜索的目标栅格并拓展机器人的可达距离信息,同时保存已搜索的已知栅格以区分机器人的已搜索区域和未搜索区域,实现在局部区域内快速地搜索由已知栅格连通形成的连通域,加快判定机器人的当前位置是否直达所述预设已知栅格区域。
步骤S3、判断步骤S2更新的机器人的搜索半径是否大于所述机器人的机身直径,是则进入步骤S4,否则进入步骤S5。即判断到最新搜索出的已知栅格满足第一区域通行条件时进入步骤S4,否则在确定是否遍历完前述构建的局部地图区域内的所有已知栅格后,再选择重复执行前述步骤S1和步骤S2。实现通过在邻域搜索最近的已知栅格的方式来进行连通域搜索。
步骤S5、判断预先创建的第一存储空间是否为空,是则停止执行前述步骤S1至步骤S5,停止执行局部地图范围只搜索已知栅格,再进入步骤S6;否则返回步骤S1以开始重复执行前述步骤S1和步骤S2,即继续采用前述的八邻域的连通域搜索的方式搜索地图查找下一个由已知栅格邻接成的连通域。具体地,由步骤S5返回执行步骤S1之前,将上一次执行的所述步骤S1筛选出的距离机器人的当前搜索位置最近的且没被重复搜索的栅格更新机器人的当前搜索位置;当检测到所述步骤S1筛选出的栅格的栅格信息没有出现在所述第二存储空间时,这个参与检测的栅格是没被重复搜索的栅格;当检测到所述步骤S1筛选出的栅格的栅格信息已经出现在所述第二存储空间时,这个参与检测的栅格是被重复搜索的栅格。
步骤S4、确定机器人的当前位置与预设已知栅格区域相连通,其中,机器人在其当前位置处构建出的所述局部地图与预设已知栅格区域没有重叠,即机器人的当前位置所处的局部地图区域(配置为已知栅格组成的)与预设已知栅格区域相邻接,或机器人的当前位置所处的局部地图区域(配置为已知栅格组成的相对小的区域范围)位于所述预设已知栅格区域(相对大的区域范围)的覆盖范围内,从而方便机器人在重定位后返回所述预设已知栅格区域的一目标点(重定位前的正常工作位置),同时结束执行所述区域判定方法。本实施例以机器人的当前搜索位置为中心的八邻域中寻找新的已知栅格(没被重复搜索的已知栅格)并更新机器人的当前搜索位置,通过重复执行所述步骤S1和步骤S2来更新机器人的当前搜索位置,来搜索出由具备最短路径特征的已知栅格连通形成的可达区域,并逐个已知栅格地拓展机器人的可达距离信息,直到满足第一区域通行条件时才获得以机器人的当前位置为中心、机器人可达的最远区域内所有的已知栅格,实现近距离区域内快速地识别出机器人的当前位置与所述预设已知栅格区域的连通关系。需要说明的是,在重复执行所述步骤S1和步骤S2的过程中,所述步骤S1筛选出的距离机器人的当前搜索位置最近的已知栅格与机器人的当前搜索位置属于同一连通域,当最新搜索出的已知栅格满足第一区域通行条件时,机器人的当前位置通过这一连通域与所述预设已知栅格区域相连通,使得机器人的当前位置、这一连通域与所述预设已知栅格区域成为支持机器人规划可行路径的连通域。
需要说明的是,判断到预先创建的第一存储空间是空时,即第一存储空间内部存储的已知栅格的栅格信息已经全部被读取出来以参与连通域搜索,具体是在最新搜索出的已知栅格保持不满足第一区域通行条件的情况下,预先创建的第一存储空间为空时,已经使用步骤1所述的连通域搜索完成机器人可达的最远距离以内的所有的已知栅格的搜索后,确定机器人可达的最远距离内没有存在用于存储为待搜索的目标栅格的已知栅格以存入所述第一存储空间,同时确定从所述第一存储空间筛选出的所有已知栅格都存储为已搜索的目标栅格;其中,机器人可达的最远距离是执行步骤S1至步骤S5的过程中更新获得的最大的搜索半径。本实施例在重复执行所述步骤S1和步骤S2的过程中,确定机器人可达的最远区域内所有的已知栅格搜索结束的条件。
在前述实施例的基础上,在执行所述步骤S1之前,还包括:在创建所述第一存储空间和所述第二存储空间后,分别对所述第一存储空间和所述第二存储空间进行初始化;然后将机器人的当前位置的栅格信息存入所述第一存储空间,并将机器人的当前位置配置为机器人的当前搜索位置;再从所述第一存储空间中筛选出距离机器人的当前搜索位置最近的栅格,使得机器人的当前位置成为筛选出距离机器人的当前搜索位置最近的栅格,并让所述机器人的搜索半径更新为0;然后将机器人的当前位置的栅格信息存入所述第二存储空间,并将机器人的当前位置的邻域栅格中的已知栅格的栅格信息存入所述第一存储空间,使得所述第一存储空间只存储有机器人的当前位置的邻域中已探测的无障碍栅格和/或已探测的障碍物栅格;其中,预先创建的第一存储空间是支持按照先进先出顺序缓存栅格信息的内存空间。第一存储空间设置为优先队列时,所述步骤S5判断到第一存储空间为空时,可能是机器人当前位置节点由优先队列中出队。本实施例优先将机器人的当前位置作为连通域的搜索起点,提高搜索临近的连通域的有效性和有序性。所述第二存储空间优选地设置为列表结构。
值得注意的是,步骤S5预先创建的第一存储空间为空,且判断到最新搜索出的已知栅格不满足第一区域通行条件时,进入步骤S6。在步骤S6中先清空所述第一存储空间以避免前述实施例存储的待搜索的目标栅格的影响,并清空所述第二存储空间以避免前述实施例存储的已搜索的目标栅格的影响,因此完成所述第一存储空间的初始化和所述第二存储空间的初始化,然后进入步骤S7。
在本实施例中,若最新搜索出的已知栅格与机器人的当前位置之间的线段长度小于或等于所述机器人的机身直径时,表示最新搜索出的已知栅格的邻域中不存在新的已知栅格,表示最新搜索出的已知栅格的相邻区域搜索不出可通行路径。当机器人在一个新的位置建图定位时,若从当前搜索位置的周围邻域中只能搜索出未知栅格,则机器人已经搜索完距离机器人的当前位置一个机身直径以内的区域所有的已知栅格,剩余的是集中于距离机器人的当前位置一个机身直径之外的未知栅格,表示机器人已经遍历完自身构建的地图区域。由于机器人需执行步骤3去进一步地搜索邻域上的所有标记类型栅格并在此基础上引导判断是否搜索到所述预设已知栅格区域,所以对前述步骤中只搜索已知栅格而存储的栅格信息进行清空,以避免因出现重复搜索而影响搜索范围。
步骤S7、在预先创建的第一存储空间中,从机器人的当前搜索位置的邻域栅格中筛选出距离机器人的当前搜索位置最近的一个栅格,但是这个筛选出的栅格不一定为:前述步骤3通过在邻域搜索最近的栅格的方式执行的连通域搜索的过程中最新搜索出的已知栅格。然后进入步骤S8。需要说明的是,预先创建的第一存储空间存储有机器人的当前搜索位置的邻域栅格,机器人的当前搜索位置的邻域栅格包括机器人的当前搜索位置的邻域栅格中的已知栅格和未知栅格。具体地,在步骤S7,以机器人的当前搜索位置为搜索起点,对应机器人的当前搜索位置的上、左上、下、左下、右、右上、右下的邻接位置都与机器人的当前搜索位置属于同一个连通域,即八邻域栅格,然后从八邻域栅格中筛选出距离机器人的当前搜索位置最近的一个栅格,若存在两个以上距离最近的栅格则随机选择其中一个作为所述最新搜索出的栅格,剩余的距离最近的栅格配置为未遍历的,作为候选的搜索目标点,同样留给以所述最新搜索出的栅格为搜索起点的新一轮连通域搜索,相对于前述步骤S1有利于在更广的范围内搜索出与机器人的当前位置连通相邻的所有栅格,而不仅仅是搜索离散的已知栅格。
步骤S8、将机器人的当前搜索位置的栅格信息存入预先创建的第二存储空间以使得第二存储空间存储有机器人已搜索的栅格位置,即配置为下一个搜索起点的栅格信息,用于区别地图区域上的已搜索遍历栅格位置;同时将步骤S7筛选出的栅格的邻域栅格的栅格信息存入预先创建的第一存储空间以存储为待搜索的目标栅格,使得所述第一存储空间存储有机器人的当前位置的邻域中无障碍栅格、未知栅格和/或障碍物栅格;优选地,若存在两个以上距离机器人的当前搜索位置最近的栅格,所述第一存储空间还用于存储:机器人的当前搜索位置的邻域栅格中,除了步骤S7筛选出的栅格之外,距离机器人的当前搜索位置最近的栅格。当步骤S7筛选出的栅格是已知栅格时,将步骤S7筛选出的栅格确定为所述步骤3或所述步骤4最新搜索出的已知栅格,再将机器人的当前位置与最新搜索出(最新筛选出)的已知栅格之间的线段长度更新所述机器人的搜索半径,以所述搜索半径为探索长度的射线搜索地图区域,以描述机器人当前可搜索的距离,但不一定是机器人的可达距离,因为可能覆盖到未知栅格。值得注意的是,步骤S7筛选出的栅格不是被重复筛选的栅格。
相对于前述实施例中的步骤S1至步骤S2,步骤S7至步骤S8确定利用在以机器人的当前搜索位置为中心的八邻域中搜索新的已知栅格的连通域搜索方式是无法寻找到与机器人的当前位置相连通的预设已知栅格区域后,改为在以机器人的当前搜索位置为中心的八邻域中寻找出具备最短路径特征的栅格作为待搜索的目标栅格并拓展机器人的可达距离信息,实现在各个方向快速地搜索不连通的预设已知栅格区域和搜索小范围内相连通的预设已知栅格区域,执行步骤S7至步骤S8的过程中不受已知栅格和未知栅格的约束,有利于实现更大范围区域的栅格(不拘束于可能离散分布的已知栅格)搜索。
步骤S9、判断步骤S8更新的机器人的搜索半径是否大于所述机器人的机身直径,是则进入步骤S11,否则进入步骤S10。
步骤S10、判断所述第一存储空间是否为空,是则停止执行前述步骤S6至步骤S10,停止在局部地图范围搜索栅格,再进入步骤S12,否则返回步骤S7以开始重复执行前述步骤S7和步骤S8,即继续采用前述的八邻域的连通域搜索的方式搜索地图查找下一个相邻接的连通域。具体地,由步骤S10返回执行步骤S7之前,将上一次执行的所述步骤S7筛选出的距离机器人的当前搜索位置最近的且没被重复搜索的栅格更新机器人的当前搜索位置;当检测到所述步骤S7筛选出的栅格的栅格信息没有出现在所述第二存储空间时,这个参与检测的栅格是没被重复搜索的栅格;当检测到所述步骤S7筛选出的栅格的栅格信息已经出现在所述第二存储空间时,这个参与检测的栅格是被重复搜索的栅格。
步骤S11、确定机器人的当前位置没有与预设已知栅格区域相连通,即机器人的当前位置所处的局部地图区域(配置为已知栅格组成的)没有与预设已知栅格区域相连通。需要说明的是,所述步骤S8筛选出的距离机器人的当前搜索位置最近的已知栅格与机器人的当前搜索位置属于同一连通域,所述步骤S8筛选出的距离机器人的当前搜索位置最近的未知栅格与机器人的当前搜索位置不属于同一连通域;当最新搜索出的已知栅格满足第二区域通行条件时,搜索出的连通域没有与所述预设已知栅格区域相连通,确定机器人的当前位置相对于所述预设已知栅格区域位于孤岛区域中。从而为机器人搜集离散的地图区域信息,但增大机器人重定位后导航回所述预设已知栅格区域的一目标点的难度。
优选地,相连通的两个区域指这两个区域内所有点可以互相连通,且外部为障碍或者地图边界的区域。
步骤S12、确定机器人的当前位置与预设已知栅格区域相连通,其中,机器人在其当前位置处构建出的所述局部地图与预设已知栅格区域重叠。具体地,步骤S10判断到所述第一存储空间是空时,即第一存储空间内部存储的栅格(所有类型的栅格)的栅格信息已经全部被读取出来以参与连通域搜索,具体是在最新搜索出的已知栅格保持不满足所述第二区域通行条件的情况下,预先创建的第一存储空间为空时,已经使用步骤3所述的连通域搜索完成机器人可探索的最远距离以内的所有栅格的搜索后,确定完成机器人可搜索的最远距离内所有栅格的搜索后,更新的机器人的搜索半径保持小于所述机器人的机身直径,即机器人可搜索的最远距离内搜索的已知栅格都在机器人在其当前位置构建的局部地图的覆盖范围内,则判定机器人在其当前位置构建的局部地图与所述预设已知栅格区域重叠在一起。其中,机器人可搜索的最远距离是由机器人在其所处的运动区域的尺寸大小决定的、或者是机器人的传感器的可探测距离决定的。当机器人的传感器的可探测距离大于所处的运动区域的最大长度,则机器人可搜索的最远距离是等于所处的运动区域的最大长度;当机器人的传感器的可探测距离小于或等于所处的运动区域的最大长度,则机器人可搜索的最远距离是等于机器人的传感器的可探测距离。
步骤S10判断到所述第一存储空间是空时,也确定机器人可搜索的最远距离内没有存在用于存储为待搜索的目标栅格的已知栅格以存入所述第一存储空间,同时确定从所述第一存储空间筛选出的所有栅格都存储为已搜索的目标栅格。本实施例在重复执行所述步骤S7和步骤S8的过程中,确立机器人可搜索的最远区域内所有的已知栅格搜索结束的条件。
综上步骤,本发明实施例以机器人的当前搜索位置为中心的八邻域中寻找新的栅格(没被重复搜索的栅格)并更新机器人的当前搜索位置,但仅限于机器人在发生导航定位之前执行,通过重复执行所述步骤S7和步骤S8,更加全面完备地搜索出由具备最短路径特征的栅格组成的可搜索区域,同时拓展机器人的可达距离信息用于作为停止搜索未知区域的判断条件,直到获得机器人不可达的预设已知栅格区域内的已知栅格,从而实现更大范围区域内快速地识别出机器人的当前位置与预设已知栅格区域的连通关系。
在前述步骤S7至步骤S12的基础上,在清空所述第一存储空间和所述第二存储空间之后,执行所述步骤S7之前,还包括:先将机器人的当前位置的栅格信息存入所述第一存储空间,并将机器人的当前位置配置为机器人的当前搜索位置;再从所述第一存储空间中筛选出距离机器人的当前搜索位置最近的栅格,使得机器人的当前位置成为筛选出距离机器人的当前搜索位置最近的栅格,并在筛选出已知栅格时让所述机器人的搜索半径更新为0;然后将机器人的当前位置的栅格信息存入所述第二存储空间,并将机器人的当前位置的邻域栅格的栅格信息全部存入所述第一存储空间,使得所述第一存储空间存储有机器人的当前位置的邻域中已探测的无障碍栅格、未知栅格和/或已探测的障碍物栅格。该技术方案优先将机器人的当前位置作为邻域栅格的搜索起点,提高搜索以机器人的当前位置为中心的多个方向邻域栅格的有效性和有序性。
综合图1和图2所示的实施例,需要强调的是,当机器人在导航过程中构建的地图越来越大时,若仍使用所述第一区域判定方法判断机器人的当前位置与所述预设已知栅格区域是否相连通,则会出现:在机器人的当前移动方向上,即使所述步骤1最新搜索出的已知栅格满足前述实施例的第一区域通行条件,机器人的当前位置与所述预设已知栅格区域也没有连通,原因在于机器人在导航过程中构建的已知栅格区域变大,使得机器人的当前移动方向上的机器人可达的最远距离也变大,从而出现误判现象;还会出现:在机器人的当前移动方向上,即使所述步骤3最新搜索出的已知栅格满足前述实施例公开的第二区域通行条件,机器人的当前位置与所述预设已知栅格区域却已经连通,原因在于机器人在导航过程中构建的已知栅格区域变大以连通至原本相距甚远的所述预设已知栅格区域,从而出现误判现象。因而本实施例利用新的方法判断机器人的当前位置是否与所述预设已知栅格区域相连通,能够避免机器人导航移动过程中构建出的已知栅格对判断区域连通性的影响,减少误判。提高重定位导航的成功率。
一种芯片,该芯片存储有前述实施例的导航方法对应的程序代码。与现有技术相比,该实施例基于芯片装配的机器人,利用最短的搜索路径距离,高效地判定出与机器人的当前位置具备连通关系的区域,节省计算负载。
一种机器人,机器人内置所述的芯片。增强机器人在搜索未知环境中的路径规划能力。优选地,该机器人装配有视觉传感器,用于探测未知的环境区域以构建地图,并在实时构建的地图上标记出已知栅格。减少机器人重定位的误差积累。需要说明的是,机器人为扫地机器人时,扫地机器人在当前位置处旋转一周,将摄像头所能看到的最远距离即为该扫地机器人可达的最远距离,以当前位置为圆心,以该可达的最远距离为半径确定的圆周以及圆周内的视场区域确定为扫地机器人的可达区域,可用于更新及时构建的局部地图和更新已搜索区域信息,但不一定代表机器人当前可搜索区域,当前可搜索区域主要用于评估各个方向上是否存在可通行的导航点。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。 而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅是本发明的较佳实施例而己,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。
Claims (16)
1.一种机器人的导航方法,其特征在于,包括:
步骤A1、在机器人被触发重定位后,先利用第一区域判定方法去判断机器人的当前位置是否与预设已知栅格区域相连通,是则进入步骤A2,否则进入步骤A3;
步骤A2、控制机器人使用路径搜索算法规划路径,再沿着最新规划的路径移动回重定位目标位置;
步骤A3、将机器人的传感器的可探测距离内的所有未知栅格都标记为预配置可通行栅格以便于路径搜索算法直接调用于规划路径,然后控制机器人使用路径搜索算法规划路径,再沿着最新规划的路径移动,直到利用第二区域判定方法判断到机器人的当前位置与所述预设已知栅格区域相连通,然后将所述预配置可通行栅格标记回所述未知栅格,再进入步骤A2;
其中,重定位目标位置是机器人被触发重定位之前,记录在所述预设已知栅格区域内的一工作位置;机器人被触发重定位后确定机器人的当前位置;未知栅格是指机器人构建地图过程中的不清楚具体情况的栅格;
在步骤A3中,所述第二区域判定方法具体包括:
步骤A31、使用机器人的当前位置更新机器人的当前搜索位置,其中,机器人的当前位置不限于机器人被触发重定位的位置;
步骤A32、以机器人的当前搜索位置为搜索起点,沿着机器人的当前移动方向,判断机器人的当前搜索位置的邻域栅格是否为已知栅格,是则获取机器人的当前搜索位置的邻域栅格与机器人的当前位置之间的线段长度再进入步骤A33,否则停止搜索并控制机器人继续沿着路径搜索算法最新规划的路径移动;
步骤A33、判断机器人的当前搜索位置的邻域栅格与机器人的当前位置之间的线段长度是否大于预设可通达距离,是则确定机器人的当前位置与所述预设已知栅格区域相连通,否则使用机器人的当前搜索位置的邻域栅格更新机器人的当前搜索位置,再返回步骤A32;
其中,所述预设可通达距离是大于机器人的机身直径且小于或等于两倍的机器人的机身直径;
机器人的当前搜索位置的邻域栅格是以机器人的当前搜索位置为中心,在机器人即时构建的栅格地图上对应相邻的8个栅格;这8个栅格中的已知栅格是已知邻域栅格;
在所述步骤A1中,所述第一区域判定方法具体包括:
步骤1、通过在邻域搜索最近的已知栅格的方式来进行连通域搜索,直到判断到最新搜索出的已知栅格满足第一区域通行条件,确定机器人的当前位置与预设已知栅格区域相连通,其中,机器人在其当前位置处构建出的局部地图与预设已知栅格区域没有重叠;
步骤2、通过步骤1所述的连通域搜索完成机器人可达的最远距离以内的所有的已知栅格的搜索后,若判断到最新搜索出的已知栅格不满足第一区域通行条件,则进入步骤3;
步骤3、通过在邻域搜索最近的栅格的方式来进行连通域搜索,直到判断到最新搜索出的已知栅格满足第二区域通行条件,确定机器人的当前位置没有与预设已知栅格区域相连通;
步骤4、通过步骤3所述的连通域搜索完成机器人可搜索的最远距离以内的所有的栅格的搜索后,若判断到最新搜索出的已知栅格不满足第二区域通行条件,则确定机器人的当前位置与预设已知栅格区域相连通,其中,机器人在其当前位置处构建出的所述局部地图与预设已知栅格区域重叠;
其中,预设已知栅格区域是在执行所述区域判定方法之前,机器人在同一运动区域内构建并存储过的地图区域;同一运动区域包括机器人预先到达的已知地图区域;
在所述步骤1中,还包括:重复执行步骤11和步骤12,直到最新搜索出的已知栅格保持不满足第一区域通行条件的情况下,且预先创建的第一存储空间为空时,确定完成机器人可达的最远距离内所有的已知栅格的搜索;其中,机器人可达的最远距离是执行步骤12的过程中更新获得的最大的所述搜索半径;
满足所述第一区域通行条件是指机器人的当前位置与所述步骤1最新搜索出的已知栅格之间的线段长度大于机器人的机身直径;
满足所述第二区域通行条件是指机器人的当前位置与所述步骤3最新搜索出的已知栅格之间的线段长度大于机器人的机身直径。
2.根据权利要求1所述导航方法,其特征在于,机器人被触发重定位后,机器人的当前位置在实时构建的地图中标记为已知栅格,相对于所述重定位目标位置是新的位置。
3.根据权利要求2所述导航方法,其特征在于,所述预配置可通行栅格是允许连接到路径搜索算法规划的路径上,用以贯通机器人在其当前位置构建的局部地图与所述预设已知栅格区域。
4.根据权利要求1所述导航方法,其特征在于,在机器人被触发重定位后,机器人在其当前位置处构建出局部地图,这个局部地图具体为:以机器人的当前位置为圆心,以预设探测长度为半径的区域内的栅格都被标记为已知栅格;
其中,预设探测长度小于或等于所述机器人的机身直径;
其中,已知栅格包括无障碍栅格和障碍物栅格。
5.根据权利要求1所述导航方法,其特征在于,所述路径搜索算法是增量启发式搜索算法。
6.根据权利要求1所述导航方法,其特征在于,在所述步骤1中,所述通过在邻域搜索最近的已知栅格的方式来进行连通域搜索的方法步骤具体包括:
步骤11、在预先创建的第一存储空间中,筛选出距离机器人的当前搜索位置最近的一个栅格,并将这个筛选出的栅格确定为步骤1或步骤2所述的最新搜索出的已知栅格,然后进入步骤12;其中,预先创建的第一存储空间存储有机器人的当前搜索位置的已知邻域栅格,机器人的当前搜索位置的已知邻域栅格是机器人的当前搜索位置的邻域栅格中的已知栅格;
步骤12、将机器人的当前搜索位置的栅格信息存入预先创建的第二存储空间以存储为已搜索的目标栅格;并在步骤11筛选出的栅格的邻域栅格中,将已知栅格的栅格信息存入预先创建的第一存储空间以存储为待搜索的目标栅格;同时,将机器人的搜索半径更新为机器人的当前位置与步骤S11最新筛选出的栅格之间的线段长度;
其中,步骤11筛选出的栅格不属于重复筛选的栅格。
7.根据权利要求6所述导航方法,其特征在于,在执行所述步骤11之前还包括:在创建所述第一存储空间存储之后,先将机器人的当前位置的栅格信息存入所述第一存储空间,并将机器人的当前位置配置为机器人的当前搜索位置;再从所述第一存储空间中筛选出距离机器人的当前搜索位置最近的栅格,使得机器人的当前位置从所述第一存储空间中筛选出来并成为距离机器人的当前搜索位置最近的栅格;然后将机器人的当前位置的栅格信息存入所述第二存储空间,并将机器人的当前位置的邻域栅格中的已知栅格的栅格信息存入所述第一存储空间;
其中,预先创建的第一存储空间是支持按照先进先出顺序缓存栅格信息的内存空间。
8.根据权利要求7所述导航方法,其特征在于,所述步骤1具体包括:重复执行所述步骤11和步骤12,直到机器人的当前位置与所述步骤11最新搜索出的已知栅格之间的线段长度大于机器人的机身直径;
其中,重新执行步骤11之前,将上一次执行的所述步骤11筛选出的距离机器人的当前搜索位置最近的且没被重复搜索的栅格更新机器人的当前搜索位置;
其中,当检测到所述步骤11筛选出的栅格的栅格信息没有出现在所述第二存储空间时,这个参与检测的栅格是没被重复搜索的栅格;当检测到所述步骤11筛选出的栅格的栅格信息出现在所述第二存储空间时,这个参与检测的栅格是被重复搜索的栅格。
9.根据权利要求8所述导航方法,其特征在于,在结束执行步骤2后,开始执行步骤3之前,先清空所述第一存储空间和所述第二存储空间。
10.根据权利要求9所述导航方法,其特征在于,在所述步骤3中,所述通过在邻域搜索最近的栅格的方式来进行连通域搜索的方法步骤具体包括:
步骤31、在预先创建的第一存储空间中,从机器人的当前搜索位置的邻域栅格中筛选出距离机器人的当前搜索位置最近的一个栅格,然后进入步骤32;
步骤32、将机器人的当前搜索位置的栅格信息存入预先创建的第二存储空间以存储为已搜索的目标栅格,并将步骤31筛选出的栅格的邻域栅格的栅格信息存入预先创建的第一存储空间以存储为待搜索的目标栅格,使得所述第一存储空间存储有机器人的当前位置的邻域中无障碍栅格、未知栅格和/或障碍物栅格;当步骤31筛选出的栅格是已知栅格时,将步骤31筛选出的栅格确定为步骤3或步骤4所述的最新搜索出的已知栅格;
其中,机器人的当前搜索位置的邻域栅格是以机器人的当前搜索位置为中心,在机器人即时构建的栅格地图上对应相邻的8个栅格,这8个栅格中的已知栅格分别与机器人的当前搜索位置组成搜索到的连通域;步骤31筛选出的栅格不是被重复筛选的栅格。
11.根据权利要求10所述导航方法,其特征在于,在清空所述第一存储空间和所述第二存储空间之后,执行所述步骤31之前,还包括:先将机器人的当前位置的栅格信息存入所述第一存储空间,并将机器人的当前位置配置为机器人的当前搜索位置;再从所述第一存储空间中筛选出距离机器人的当前搜索位置最近的栅格,使得机器人的当前位置成为筛选出距离机器人的当前搜索位置最近的栅格;然后将机器人的当前位置的栅格信息存入所述第二存储空间,并将机器人的当前位置的邻域栅格的栅格信息全部存入所述第一存储空间。
12.根据权利要求11所述导航方法,其特征在于,所述步骤3具体包括:重复执行所述步骤31和步骤32,直到机器人的当前位置与最新筛选出的已知栅格之间的线段长度大于机器人的机身直径;
其中,重新执行步骤31之前,将上一次执行的所述步骤31筛选出的距离机器人的当前搜索位置最近的且没被重复搜索的栅格更新机器人的当前搜索位置;
其中,当检测到所述步骤31筛选出的栅格的栅格信息没有出现在所述第二存储空间时,这个参与检测的栅格是没被重复搜索的栅格;当检测到所述步骤31筛选出的栅格的栅格信息出现在所述第二存储空间时,这个参与检测的栅格是被重复搜索的栅格。
13.根据权利要求12所述导航方法,其特征在于,在所述步骤3中,还包括:
重复执行所述步骤31和步骤32,直到最新搜索出的已知栅格保持不满足第二区域通行条件的情况下,预先创建的第一存储空间为空,确定完成机器人可搜索的最远距离以内的所有的栅格的搜索;
其中,机器人可搜索的最远距离是由机器人在其所处的运动区域的尺寸大小决定的、或者是机器人的传感器的可探测距离决定的。
14.一种芯片,其特征在于,该芯片被配置为执行权利要求1至13任一项所述的导航方法对应的程序代码。
15.一种机器人,其特征在于,该机器人内置权利要求14所述的芯片。
16.根据权利要求15所述的机器人,其特征在于,该机器人装配有视觉传感器,用于探测未知的环境区域以构建地图,并在实时构建的地图上标记出已知栅格。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110451456.XA CN113156956B (zh) | 2021-04-26 | 2021-04-26 | 机器人的导航方法、芯片及机器人 |
EP22794394.1A EP4332714A1 (en) | 2021-04-26 | 2022-03-17 | Robot navigation method, chip and robot |
US18/287,890 US20240192702A1 (en) | 2021-04-26 | 2022-03-17 | Navigation method of robot, chip and robot |
PCT/CN2022/081522 WO2022227917A1 (zh) | 2021-04-26 | 2022-03-17 | 机器人的导航方法、芯片及机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110451456.XA CN113156956B (zh) | 2021-04-26 | 2021-04-26 | 机器人的导航方法、芯片及机器人 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113156956A CN113156956A (zh) | 2021-07-23 |
CN113156956B true CN113156956B (zh) | 2023-08-11 |
Family
ID=76871090
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110451456.XA Active CN113156956B (zh) | 2021-04-26 | 2021-04-26 | 机器人的导航方法、芯片及机器人 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240192702A1 (zh) |
EP (1) | EP4332714A1 (zh) |
CN (1) | CN113156956B (zh) |
WO (1) | WO2022227917A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113156956B (zh) * | 2021-04-26 | 2023-08-11 | 珠海一微半导体股份有限公司 | 机器人的导航方法、芯片及机器人 |
CN114012725B (zh) * | 2021-11-05 | 2023-08-08 | 深圳拓邦股份有限公司 | 机器人重定位方法、系统、机器人及存储介质 |
CN115040038A (zh) * | 2022-06-22 | 2022-09-13 | 杭州萤石软件有限公司 | 一种机器人控制方法、装置及一种机器人 |
CN114895691B (zh) * | 2022-07-13 | 2022-12-02 | 深之蓝(天津)水下智能科技有限公司 | 泳池清洁机器人的路径规划方法和装置 |
CN117095342B (zh) * | 2023-10-18 | 2024-02-20 | 深圳市普渡科技有限公司 | 跌落区域检测方法、装置、计算机设备和存储介质 |
CN117405124B (zh) * | 2023-12-13 | 2024-02-27 | 融科联创(天津)信息技术有限公司 | 一种基于大数据的路径规划方法及系统 |
CN118466521B (zh) * | 2024-07-11 | 2024-09-10 | 杭州涂鸦信息技术有限公司 | 机器人行走方法、装置、电子设备及存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105716613A (zh) * | 2016-04-07 | 2016-06-29 | 北京进化者机器人科技有限公司 | 一种机器人避障中的最短路径规划方法 |
CN107943025A (zh) * | 2017-11-09 | 2018-04-20 | 珠海市微半导体有限公司 | 机器人被困的检测方法及脱困的处理方法 |
CN108469816A (zh) * | 2018-02-28 | 2018-08-31 | 北京奇虎科技有限公司 | 一种机器人的脱困处理方法、装置和机器人 |
CN108759844A (zh) * | 2018-06-07 | 2018-11-06 | 科沃斯商用机器人有限公司 | 机器人重定位与环境地图构建方法、机器人及存储介质 |
CN109916393A (zh) * | 2019-03-29 | 2019-06-21 | 电子科技大学 | 一种基于机器人位姿的多重栅格值导航方法及其应用 |
WO2019190395A1 (en) * | 2018-03-28 | 2019-10-03 | Agency For Science, Technology And Research | Method and system for returning a displaced autonomous mobile robot to its navigational path |
WO2019237990A1 (zh) * | 2018-06-15 | 2019-12-19 | 科沃斯机器人股份有限公司 | 机器人定位方法、机器人及存储介质 |
CN110823241A (zh) * | 2019-11-19 | 2020-02-21 | 齐鲁工业大学 | 基于可通行区域骨架提取的机器人路径规划方法及系统 |
CN110833361A (zh) * | 2018-08-17 | 2020-02-25 | 速感科技(北京)有限公司 | 一种清洁机器人及其多区域清洁方法 |
CN111722624A (zh) * | 2019-03-18 | 2020-09-29 | 北京奇虎科技有限公司 | 清扫方法、装置、设备及计算机可读存储介质 |
CN111998846A (zh) * | 2020-07-24 | 2020-11-27 | 中山大学 | 基于环境几何与拓扑特征的无人系统快速重定位方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10788836B2 (en) * | 2016-02-29 | 2020-09-29 | AI Incorporated | Obstacle recognition method for autonomous robots |
CN108052101B (zh) * | 2017-12-06 | 2021-12-21 | 北京奇虎科技有限公司 | 机器人的重定位方法及装置 |
CN108634886B (zh) * | 2018-05-29 | 2020-08-28 | 珠海市一微半导体有限公司 | 机器人清扫中断后的控制方法及芯片 |
KR102127865B1 (ko) * | 2018-12-28 | 2020-06-29 | 창신대학교 산학협력단 | 미지 환경의 모니터링 방법 |
CN111750862A (zh) * | 2020-06-11 | 2020-10-09 | 深圳优地科技有限公司 | 基于多区域的机器人路径规划方法、机器人及终端设备 |
CN112161629B (zh) * | 2020-09-30 | 2022-11-29 | 深圳银星智能集团股份有限公司 | 清洁机器人的路径规划方法、装置、清洁机器人及介质 |
CN112229419B (zh) * | 2020-09-30 | 2023-02-17 | 隶元科技发展(山东)有限公司 | 一种动态路径规划导航方法及系统 |
CN113156956B (zh) * | 2021-04-26 | 2023-08-11 | 珠海一微半导体股份有限公司 | 机器人的导航方法、芯片及机器人 |
-
2021
- 2021-04-26 CN CN202110451456.XA patent/CN113156956B/zh active Active
-
2022
- 2022-03-17 US US18/287,890 patent/US20240192702A1/en active Pending
- 2022-03-17 EP EP22794394.1A patent/EP4332714A1/en active Pending
- 2022-03-17 WO PCT/CN2022/081522 patent/WO2022227917A1/zh active Application Filing
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105716613A (zh) * | 2016-04-07 | 2016-06-29 | 北京进化者机器人科技有限公司 | 一种机器人避障中的最短路径规划方法 |
CN107943025A (zh) * | 2017-11-09 | 2018-04-20 | 珠海市微半导体有限公司 | 机器人被困的检测方法及脱困的处理方法 |
CN108469816A (zh) * | 2018-02-28 | 2018-08-31 | 北京奇虎科技有限公司 | 一种机器人的脱困处理方法、装置和机器人 |
WO2019190395A1 (en) * | 2018-03-28 | 2019-10-03 | Agency For Science, Technology And Research | Method and system for returning a displaced autonomous mobile robot to its navigational path |
CN108759844A (zh) * | 2018-06-07 | 2018-11-06 | 科沃斯商用机器人有限公司 | 机器人重定位与环境地图构建方法、机器人及存储介质 |
WO2019237990A1 (zh) * | 2018-06-15 | 2019-12-19 | 科沃斯机器人股份有限公司 | 机器人定位方法、机器人及存储介质 |
EP3808512A1 (en) * | 2018-06-15 | 2021-04-21 | Ecovacs Robotics Co., Ltd. | Robot localizing method, robot, and storage medium |
CN110833361A (zh) * | 2018-08-17 | 2020-02-25 | 速感科技(北京)有限公司 | 一种清洁机器人及其多区域清洁方法 |
CN111722624A (zh) * | 2019-03-18 | 2020-09-29 | 北京奇虎科技有限公司 | 清扫方法、装置、设备及计算机可读存储介质 |
CN109916393A (zh) * | 2019-03-29 | 2019-06-21 | 电子科技大学 | 一种基于机器人位姿的多重栅格值导航方法及其应用 |
CN110823241A (zh) * | 2019-11-19 | 2020-02-21 | 齐鲁工业大学 | 基于可通行区域骨架提取的机器人路径规划方法及系统 |
CN111998846A (zh) * | 2020-07-24 | 2020-11-27 | 中山大学 | 基于环境几何与拓扑特征的无人系统快速重定位方法 |
Non-Patent Citations (1)
Title |
---|
郭小勤.未知环境下移动机器人遍历路径规划.《计算机工程与设计》.2010,第31卷(第1期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
EP4332714A1 (en) | 2024-03-06 |
CN113156956A (zh) | 2021-07-23 |
WO2022227917A1 (zh) | 2022-11-03 |
US20240192702A1 (en) | 2024-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113156956B (zh) | 机器人的导航方法、芯片及机器人 | |
CN113156970B (zh) | 一种通行区域的路径融合规划方法、机器人及芯片 | |
CN109068933B (zh) | 借助机器人的机器人辅助表面处理 | |
EP3843955B1 (en) | Dynamic probabilistic motion planning | |
JP7510635B2 (ja) | 障害物に対するロボットの回避のためのエッジ経路の選択方法、チップ及びロボット | |
JP7462244B2 (ja) | ロボットの縁沿い走行中の清掃区画領域の計画方法、チップ及びロボット | |
JP7408072B2 (ja) | 密集した障害物に基づく清掃制御方法 | |
CN113190010B (zh) | 一种沿边绕障路径规划方法、芯片及机器人 | |
EP2870513B1 (en) | Autonomous mobile robot and method for operating the same | |
EP4068037B1 (en) | Obstacle-crossing termination determination method, obstacle-crossing control method, chip, and robot | |
CN104615138A (zh) | 一种划分移动机器人室内区域动态覆盖方法及其装置 | |
CN113110497B (zh) | 基于导航路径的沿边绕障路径选择方法、芯片及机器人 | |
CN111949017B (zh) | 一种机器人越障的沿边路径规划方法、芯片及机器人 | |
CN113110499B (zh) | 一种通行区域的判定方法、路线搜索方法、机器人及芯片 | |
CN112180924B (zh) | 一种导航至密集障碍物的移动控制方法 | |
CN108189039B (zh) | 一种移动机器人的行进方法及装置 | |
WO2023130766A1 (zh) | 机器人的路径规划方法、电子设备及计算机可读存储介质 | |
CN113110473B (zh) | 基于连通性的区域判定方法、芯片及机器人 | |
CN112306049B (zh) | 自主机器人及其避障方法、装置和存储介质 | |
CN114397893B (zh) | 路径规划方法、机器人清扫方法及相关设备 | |
JP6809913B2 (ja) | ロボット、ロボットの制御方法、および地図の生成方法 | |
CN113238549A (zh) | 机器人基于可直达的节点的路径规划方法、芯片及机器人 | |
CN116149314A (zh) | 机器人全覆盖作业方法、装置及机器人 | |
CN116449816A (zh) | 一种搜寻充电座信号的运动控制方法、芯片及机器人 | |
CN115617026A (zh) | 一种融合激光数据的rrt探索方法、芯片及机器人 |
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 |
Address after: 519000 2706, No. 3000, Huandao East Road, Hengqin new area, Zhuhai, Guangdong Applicant after: Zhuhai Yiwei Semiconductor Co.,Ltd. Address before: 519000 room 105-514, No. 6, Baohua Road, Hengqin new area, Zhuhai City, Guangdong Province (centralized office area) Applicant before: AMICRO SEMICONDUCTOR Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |