CN117292246A - 一种机器人识别窄道的方法及窄道导航方法 - Google Patents
一种机器人识别窄道的方法及窄道导航方法 Download PDFInfo
- Publication number
- CN117292246A CN117292246A CN202210700266.1A CN202210700266A CN117292246A CN 117292246 A CN117292246 A CN 117292246A CN 202210700266 A CN202210700266 A CN 202210700266A CN 117292246 A CN117292246 A CN 117292246A
- Authority
- CN
- China
- Prior art keywords
- path
- robot
- narrow
- channel
- track
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 98
- 238000012545 processing Methods 0.000 claims abstract description 22
- 230000003628 erosive effect Effects 0.000 claims abstract description 12
- 230000008569 process Effects 0.000 claims description 35
- 230000004888 barrier function Effects 0.000 claims description 34
- 238000005452 bending Methods 0.000 claims description 19
- 239000011295 pitch Substances 0.000 claims description 15
- 238000006073 displacement reaction Methods 0.000 claims description 4
- 238000005260 corrosion Methods 0.000 description 12
- 230000007797 corrosion Effects 0.000 description 12
- 238000010408 sweeping Methods 0.000 description 12
- 230000008859 change Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 238000004140 cleaning Methods 0.000 description 6
- 230000007613 environmental effect Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 238000005530 etching Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003116 impacting effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/35—Categorising the entire scene, e.g. birthday party or wedding scene
- G06V20/36—Indoor scenes
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1674—Programme controls characterised by safety, monitoring, diagnostic
- B25J9/1676—Avoiding collision or forbidden zones
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明公开机器人识别窄道的方法及窄道导航方法,在机器人执行所述机器人识别窄道的方法后,机器人先从当前位置开始,通过邻域搜索的方式在栅格地图内搜索通向导航目标位置的路径,获得第一待导航路径的集合;机器人在栅格地图内对所述窄道或所述窄道路径进行图像腐蚀处理以搜索通向导航目标位置的路径,获得第二待导航路径的集合;从第一待导航路径的集合中选择第一目标导航路径,并从第二待导航路径的集合中选择第二目标导航路径;根据第一目标导航路径与第二目标导航路径的轨迹长度差异,选择不通过所述窄道的目标导航路径或不与所述窄道接触的目标导航路径设置为最终导航路径,或选择轨迹长度最短的目标导航路径设置为最终导航路径。
Description
技术领域
本发明涉及机器人路径规划领域,尤其涉及一种机器人识别窄道的方法及窄道导航方法。
背景技术
扫地机器人的工作环境中,会存在由墙体框定的工作区,并在两个墙体之间框出非工作区域,这里的非工作区域一般是指宽度较窄的通道,简称窄道,窄道的入口和窄道的出口都设置为窄道口,从而在扫地机器人的工作环境内由墙体障碍物分割出窄道、或分割成具有狭窄通道的多个房间区域;其中,窄道的两侧分别是两条障碍物的轮廓线;并且在设置移动路径时,一般将扫地机器人设置为一个点来看待。为了方便扫地机器人移动至另一个房间区域内目标位置,设置的移动路径可能需要通过窄道。
在机器人识别窄道的过程中,使用标记有对应环境信息的栅格分析尺寸特征,其中,栅格的大小决定栅格地图的精度,同时栅格的大小与内存和CPU算力消耗的资源相关联,栅格越大则表示的环境信息的精度越低,栅格越小则表示的环境信息的精度越高,体现在路径搜索和地图匹配等等的细节上。栅格通常指一个正方形,一个栅格的大小使用该栅格的边长表示。搜索路径算法一般是按照栅格递归搜索,待搜索区域内的栅格数量越多,则递归的次数按指数增长,因此,栅格越小,虽然在精度上占据优势,但会消耗越多的内存和CPU算力。另一方面,如果栅格的边长设置得足够大,那么在机器人碰撞到窄道时,则会将代表窄道的入口的栅格全部标记成障碍物栅格,导致机器人在搜索路径时搜索不到通过窄道的路径。
发明内容
为了解决机器人的窄道识别和窄道导航问题,本发明公开一种机器人识别窄道的方法及窄道导航方法,在栅格的大小适中(不过大且不过小)的前提下,在栅格地图内准确识别出窄道信息,为机器人规划高效通过窄道的路径提供基础,具体的技术方案如下:
一种机器人识别窄道的方法,所述机器人识别窄道的方法包括:在机器人预先获取的栅格地图的对应栅格处,将障碍物之间形成的开口标记为待识别缺口;在机器人按照预设折返覆盖方式反复进出待识别缺口所在通道的过程中,机器人根据单位折返路径在该待识别缺口所在通道的内外的间距,将该单位折返路径识别为窄道路径,并将该待识别缺口所在通道识别为窄道,并将窄道路径与窄道标记到栅格地图的对应栅格处;其中,单位折返路径是机器人按照预设折返覆盖方式进入该待识别缺口所在通道至少两次形成的路径,使得机器人在两次进入该待识别缺口所在通道的期间,从该待识别缺口所在通道出来一次。
进一步地,在机器人没有进入待识别缺口所在通道或机器人已经行走过待识别缺口所在通道的前提下,当机器人探测到所述待识别缺口的宽度处于预设宽度范围时,机器人在栅格地图内将该待识别缺口标记为候选窄口,并将候选窄口的可信度设置为第一路径可信度;在机器人没有进入待识别缺口所在通道或机器人已经行走过待识别缺口所在通道的前提下,当机器人接触到所述待识别缺口时,机器人在栅格地图内将该待识别缺口标记为候选窄口,并将候选窄口的可信度设置为第二路径可信度;其中,第一路径可信度大于第二路径可信度;第一路径可信度和第二路径可信度都用于指示机器人在对应候选窄口处的可通行程度。
进一步地,所述待识别缺口是两个障碍物的轮廓线之间的开口,所述待识别缺口所在通道是以两个障碍物的轮廓线为边界线组成的通道;其中,两个障碍物的轮廓线都标记在栅格地图对应的栅格处;所述待识别缺口的宽度是所述待识别缺口在机器人行进平面上的两个端点所在的栅格之间的距离,所述待识别缺口的两个端点分别位于对应障碍物的轮廓线上,所述待识别缺口的两个端点所在的栅格分别是障碍物栅格,所述待识别缺口的内部区域是由自由栅格填充;所述待识别缺口的宽度大于机器人的机身宽度时,确定该待识别缺口允许机器人进入;所述待识别缺口的宽度小于机器人的机身宽度时,确定该待识别缺口不允许机器人进入;其中,每当机器人进入该待识别缺口所在通道后,将其碰撞到的障碍物的轮廓线标记为所述待识别缺口所在通道的边界线。
进一步地,所述单位折返路径包括第一单位折返路径段和第二单位折返路径段;机器人按照预设折返覆盖方式在待识别缺口所在通道的内部往复行走形成第一单位折返路径段,其中,第一单位折返路径段包括两条相邻的轨迹,机器人将第一单位折返路径段所包括的两条相邻的轨迹标记为第一轨迹对;机器人按照预设折返覆盖方式在待识别缺口所在通道的外部往复行走形成第二单位折返路径段,其中,第二单位折返路径段包括两条相邻的轨迹,机器人将第二单位折返路径段所包括的两条相邻的轨迹标记为第二轨迹对;当第一轨迹对的间距小于第二轨迹对的间距、或第一轨迹对的间距处于预设宽度范围时,机器人将所述单位折返路径识别为窄道路径,并将所述待识别缺口所在通道识别为窄道,并将所述窄道路径在窄道的内部形成的第一单位折返路径段、所述窄道路径在窄道的外部形成的第二单位折返路径段、以及窄道依次标记到栅格地图的对应栅格处;其中,预设宽度范围的最小值是大于机器人的机身宽度;其中,第一轨迹对的间距表示所述第一单位折返路径段在所述待识别缺口所在通道的内部的宽度方向上产生的位移;第二轨迹对的间距是所述第二单位折返路径段所包括的两条相邻的轨迹的间距。
进一步地,第一轨迹对包括相互平行的第一一直线段轨迹和第一二直线段轨迹,第一一直线段轨迹和第一二直线段轨迹通过第一弯折线或第一预设线段相连接;机器人在第一轨迹对当中的每条直线段轨迹上的运动方向,被配置为与机器人在与该条直线段轨迹相连接的第二轨迹对当中对应一条轨迹上的运动方向相同;机器人在第一一直线段轨迹上的行走方向与机器人在第一二直线段轨迹上的行走方向是相反;其中,当所述待识别缺口的宽度或所述待识别缺口所在通道的宽度越小时,第一轨迹对的间距被设置得越小;第一一直线段轨迹和第一二直线段轨迹的间距是第一轨迹对的间距;其中,机器人按照预设折返覆盖方式反复进出所述待识别缺口所在通道的过程中,若机器人由第一区域进入所述待识别缺口所在通道再由所述待识别缺口所在通道返回第一区域,则第一轨迹对通过第三弯折线或第三预设线段连接第二轨迹对,第一区域是位于所述待识别缺口所在通道的外部。
进一步地,第二轨迹对包括相互平行的第二一直线段轨迹和第二二直线段轨迹,第二一直线段轨迹和第二二直线段轨迹通过第二弯折线或第二预设线段相连接,其中,第二一直线段轨迹和第二二直线段轨迹的间距大于预设宽度范围的最大值,第二一直线段轨迹和第二二直线段轨迹的间距是第二轨迹对的间距;第二单位折返路径段和第一单位折返路径段都属于弓字型路径,使所述单位折返路径是由轨迹的间距不同的多条弓字型路径首尾连接形成;机器人在第二轨迹对当中的每条直线段轨迹上的行走方向,被配置为与机器人在与该条直线段轨迹相连接的第一轨迹对当中对应一条轨迹上的行走方向相同;其中,机器人在第二一轨迹上的运动方向与机器人在第二二轨迹上的运动方向是相反。
进一步地,当机器人行走在所述窄道的内部时,所述窄道的两侧边界线与机器人对应一侧的最短距离都处于预设间隙距离范围;或者,当机器人进入所述窄道的入口至机器人的中心与所述窄道的入口的两个端点处于同一直线上时,所述窄道的入口的两个端点与机器人对应一侧的最短距离都处于预设间隙距离范围;其中,预设宽度范围等于预设间隙距离范围的两倍与机器人的机身宽度的和值;所述窄道的入口的宽度或所述窄道的宽度处于预设宽度范围;其中,所述窄道的两侧的开口的距离大于或等于所述第一轨迹对当中的每条轨迹的长度;所述窄道的两侧的开口分别是所述窄道的入口与所述窄道的出口;其中,每个栅格的边长对应表示为机器人实际工作区域内的5厘米、10厘米或15厘米。
一种窄道导航方法,所述窄道导航方法包括:在机器人执行所述机器人识别窄道的方法后,机器人在栅格地图的对应栅格处标记窄道路径以及窄道;然后,机器人先从当前位置开始,通过邻域搜索的方式在栅格地图内搜索通向导航目标位置的路径,获得第一待导航路径的集合;机器人在栅格地图内对所述窄道或所述窄道路径进行图像腐蚀处理以搜索通向导航目标位置的路径,获得第二待导航路径的集合;从第一待导航路径的集合中选择导航轨迹长度最短的第一待导航路径设置为第一目标导航路径,并从第二待导航路径的集合中选择导航轨迹长度最短的第二待导航路径设置为第二目标导航路径;其中,导航轨迹长度是从当前位置延伸至导航目标位置的轨迹长度;根据第一目标导航路径与第二目标导航路径的轨迹长度差异,选择不通过所述窄道的目标导航路径或不与所述窄道接触的目标导航路径设置为最终导航路径,或选择轨迹长度最短的目标导航路径设置为最终导航路径;其中,第一目标导航路径与第二目标导航路径都属于目标导航路径;然后机器人从当前位置开始,沿着所述最终导航路径行走至所述导航目标位置。
进一步地,所述根据第一目标导航路径与第二目标导航路径的轨迹长度差异,选择不通过所述窄道的目标导航路径或不与所述窄道接触的目标导航路径设置为最终导航路径,或选择轨迹长度最短的目标导航路径设置为最终导航路径的方法包括:当第一目标导航路径的轨迹长度与第二目标导航路径的轨迹长度的差值的绝对值大于或等于预设距离阈值时,选择轨迹长度最短的目标导航路径设置为最终导航路径;当第一目标导航路径的轨迹长度与第二目标导航路径的轨迹长度的差值的绝对值小于预设距离阈值时,选择不通过所述窄道的目标导航路径或不与所述窄道接触的目标导航路径设置为最终导航路径;当第一目标导航路径与第二目标导航路径都不通过所述窄道、或都不与所述窄道接触时,选择轨迹长度最短的目标导航路径设置为最终导航路径;其中,不通过所述窄道的目标导航路径是位于所述窄道的外部;不与所述窄道接触的目标导航路径是指路径中所有栅格都没有与所述窄道中的任一栅格出现重叠的位于所述窄道的外部的目标导航路径;每条目标导航路径的路径宽度都设置为大于一个机器人的机身宽度;其中,通过所述窄道的目标导航路径是该目标导航路径存在部分路径处于所述窄道的两侧的边界线之间的区域,且该部分路径的起点位于所述窄道的入口处,该部分路径的终点位于所述窄道的出口处。
进一步地,第一目标导航路径的轨迹长度大于第二目标导航路径的轨迹长度时,当第一目标导航路径的轨迹长度与第二目标导航路径的轨迹长度的差值的绝对值大于或等于预设距离阈值时,或第一目标导航路径与第二目标导航路径都不通过所述窄道或都不与所述窄道接触时,机器人将第二目标导航路径设置为所述最终导航路径;其中,预设距离阈值与第一目标导航路径的轨迹长度的比值、或预设距离阈值与第二目标导航路径的轨迹长度的比值是设置为20%;第一目标导航路径的轨迹长度小于第二目标导航路径的轨迹长度时,当第一目标导航路径的轨迹长度与第二目标导航路径的轨迹长度的差值的绝对值小于预设距离阈值时,或第一目标导航路径与第二目标导航路径都不通过所述窄道或都不与所述窄道接触时,机器人将第一目标导航路径设置为所述最终导航路径;其中,预设距离阈值与第一目标导航路径的轨迹长度的比值、或预设距离阈值与第二目标导航路径的轨迹长度的比值是设置为20%。
进一步地,第一待导航路径的集合内不存在第一待导航路径时,第二待导航路径的集合内存在通过所述窄道的第二待导航路径;其中,通过所述窄道的第二待导航路径包括所述窄道路径、和/或由所述窄道路径的部分或全部路径组成的第二待导航路径。
进一步地,机器人沿着所述最终导航路径行走的过程中,当机器人行走至所述候选窄口处或通过所述候选窄口进入其所在的窄道后,若机器人在预设时间内检测到其与所述候选窄口或所述候选窄口所在的窄道的边界线碰撞的次数超出预设碰撞次数,则控制机器人开始沿着所述候选窄口所在的窄道的一条边界线行走,并停止继续沿着所述最终导航路径行走,以沿着机器人对应一侧的障碍物的轮廓线行走的方式通过所述候选窄口所在的窄道;其中,所述候选窄口是两个障碍物之间形成的可供机器人通行的待识别缺口,属于所述窄道的入口;所述窄道是以该两个障碍物的轮廓线为边界线组成的通道;两个障碍物的轮廓线上的点之间的最小距离大于或等于预设宽度范围的最小值;其中,机器人在栅格地图内搜索每条通向导航目标位置的路径的过程中,按照当前位置指向所述导航目标位置的方向,为搜索出的对应一条路径所在的栅格有序地标记索引号,并将由小到大排序的索引号对应的栅格的延伸方向设置为机器人在搜索出的对应一条路径上的行走方向,以确定机器人在所述最终导航路径上的行走方向。
进一步地,机器人的当前位置是位于第一工作区域,所述导航目标位置是位于第二工作区域;第一工作区域与第二工作区域是不同的区域;所述第一工作区域与所述窄道的入口相连通,所述第二工作区域与所述窄道的出口相连通,使得机器人通过所述窄道从所述第一工作区域进入所述第二工作区域,或从所述第二工作区域返回所述第一工作区域;其中,所述窄道的入口的左右端点分别分布有墙体,以划分出所述第一工作区域和所述第二工作区域。
进一步地,机器人在栅格地图内对所述窄道或所述窄道路径进行图像腐蚀处理以搜索通向导航目标位置的路径,获得第二待导航路径的集合的方法包括:机器人在栅格地图将所述窄道的两侧栅格或将所述窄道中所有栅格朝四个象限进行腐蚀,或者机器人在栅格地图将所述窄道路径的两侧栅格或将所述窄道路径中所有栅格朝四个象限进行腐蚀;通过腐蚀的图像处理手段将部分自由栅格设置为障碍物栅格,缩小与所述窄道或所述窄道路径相连通的自由栅格区域,保留下至少一条通向导航目标位置的路径,并将保留的每条通向导航目标位置的路径设置为第二待导航路径,再组成第二待导航路径的集合。
进一步地,所述机器人通过邻域搜索的方式在栅格地图内搜索通向导航目标位置的路径,获得第一待导航路径的集合的方法包括:在栅格地图内,机器人以其当前位置为搜索起点,按照当前位置指向所述导航目标位置的方向,在该搜索起点的邻域内搜索自由栅格作为路径节点以使路径节点不位于障碍物的轮廓线上,其中,机器人在搜索起点的邻域内搜索出多个路径节点;然后将每个路径节点都设置为搜索起点,再按照当前位置指向所述导航目标位置的方向在每个搜索起点的邻域内搜索自由栅格,如此重复,直至搜索出所述导航目标位置,并按照搜索先后的顺序将搜索出的栅格连接成第一待导航路径,以组成第一待导航路径的集合。
本发明的有益技术效果在于,为了识别出一个窄道,控制机器人按照预设折返覆盖方式行走完一个提前确定的待识别缺口所在通道(至少完成一个周期的折返覆盖以反复进出相应通道多次)、或控制机器人按照预设折返覆盖方式连续两次(重复一次)进入该待识别缺口所在通道以通过该待识别缺口所在通道且往返于该待识别缺口所在通道的内外,在这一往返行走的过程中,预设折返覆盖方式会按照一个预定时间间隔或直线轨迹长度变化,不是长时间保持同一延伸方向(同一轨迹走向),所以机器人受到驱动轮打滑误差的影响较小,因而,根据机器人实际遍历同一个待识别缺口所在通道而产生的来回路径段的间距变化,来判断该待识别缺口所在通道是否为窄道,进而将机器人通过该窄道而实际产生的路径设置为带有窄道信息的窄道路径,可标记为可供机器人通过窄道的工作路径,也可以通过腐蚀处理为导航路径,并在栅格的边长、通道宽度、待识别缺口宽度、以及轨迹间距的设计考虑到地图中填充的栅格的数量因素,从而结合机器人的实地遍历出的轨迹信息和障碍物轮廓线形成的待识别缺口信息为机器人识别出准确的窄道,即在扫地机器人、割草机、或移动玩具所在的环境内准确区分出可供机体通行的狭窄通道,克服传感器积累的位置偏移误差的影响,避免窄道的宽度小到容易将窄道内部的栅格区域或直接将其开口误判为阻挡机器人通行的墙体障碍物,不增加导航定位代价的前提下,满足机器人定位实时性需求;无论机器人在待识别缺口所在通道内的方向相反的轨迹的间距适应性地变得多小,机器人所依赖的弓字型路径的轨迹形状是没有变化,提高机器人构建的栅格地图对环境的适应性。能够在机器人的路径规划前准确识别出工作环境中的窄道,为机器人规划出高效通过的路径提供基础。
在栅格地图内标记好窄道路径以及窄道后,机器人利用窄道路径进行图像腐蚀处理,在窄道的宽度的约束下,朝窄道路径的规格方向进行腐蚀处理,获得可能通过窄道的第二待导航路径;也在不依赖窄道路径以及窄道的前提下,通过A*或D*算法下的邻域搜索规划出通向导航目标位置的第一待导航路径;机器人各从第二待导航路径和第一待导航路径这两种类型的导航路径中对应挑选出轨迹长度最短的第二目标导航路径和第一目标导航路径,然后在权衡这两种不同搜索方式下规划出的导航路径的轨迹长度差异以及通过窄道的情况后选择出最终目标导航路径,使得机器人从当前位置导航至导航目标位置的过程中更加顺畅,或导航路径更短,提高机器人的工作效率。
附图说明
图1是本发明一种实施例公开的一种机器人识别窄道的方法的流程图。
图2是本发明一种实施例公开的一种窄道导航方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细描述。为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
需要说明的是,对于本领域技术人员可理解:栅格地图中标记有机器人的当前位置周围的环境信息,机器人构建的栅格地图区域内包括标记为自由(free)、占用(occupied)和未知(unknown)三种状态;这些栅格在本实施例中可以使用栅格点表示,即栅格的中心点;自由状态的栅格是指未被障碍所占用的栅格,代表机器人可通行的栅格位置点,在栅格地图内标记为自由栅格,多个自由栅格组成未占用区域,允许机器人在该未占用区域内自由通行;占用状态的栅格是指被障碍物所占用的栅格,在栅格地图内标记为障碍物栅格,多个障碍物栅格可以组成占用区域;未知栅格是指机器人在栅格地图内标记出的不清楚具体情况的栅格,其所在的实际位置往往被障碍物所遮挡,可以组成未知区域。在此基础上,机器人通过相关测距传感器或视觉传感器扫描周围环境而完成栅格地图的构建(在地图图像区域内的每个栅格标记上环境特征信息)。
作为一种实施例,公开一种机器人识别窄道的方法,所述机器人识别窄道的方法的执行主体是自主移动的机器人,尤其是行走于地表面的清洁机器人、行走于由边界线划定的具有狭窄通道的草坪区域的割草机器人、洗地机、以及安防巡视机器人等,并不作为对机器人识别窄道的方法的适用主体的限定。机器人安装有惯性传感器(包括但不限于用于测量行走距离的里程计、用于检测与障碍物的碰撞状态的碰撞传感器、以及用于测量机体旋转角度的陀螺仪)、测距传感器(包括但不限于TOF传感器和激光雷达)或视觉传感器(可以采用任意类型的深度信息采集设备,包括但不限于单目相机、双目相机等摄像头)去探测周围环境的二维点云数据,及时构建出二维点云地图,且在机器人的机体上的传感器安装数目可以是一个或多个。在一些实施例中,机器人还包括通信装置,用于将已构建的二维点云地图对应的地图图像发送给电子设备,再在移动终端的显示屏幕上以栅格的形式显示该地图图像,用户通过查看该地图图像可以了解机器人的可通行区域。其中,机器人内部的控制器实时读取传感器采集到的图像,构建起点云模型以创建点云地图,再通过将像素坐标转换为世界坐标,将点云地图投影并转换为可用于机器人导航的二维栅格地图,简称为栅格地图,反映移动机器人在行进平面所探测的环境信息,然后,该栅格地图可以通过执行预设图像处理算法进行地图构图以生成对应的地图图像,并随之转换出与所述二维点云地图的点云位置一一对应的二维的路标信息,以便于在地图图像内进行相关的图像处理操作,优化原始的地图图像内分布的通道的可视化效果和搜索出让机器人真正通行的地图信息。
机器人的工作区域中,会存在由边界线框定的工作区,也会在障碍物之间组成非工作区域,或者在边界线框定的工作区域之间构成非工作区域,可以是两个工作区域的相应一条边界线之间形成非工作区域,也可以是两个墙体障碍物之间的空隙通道形成非工作区域;这里的非工作区域一般是指宽度较窄的通道,简称窄道,窄道的入口和窄道的出口都设置为窄道口,其中,窄道的两侧分别是两条障碍物的轮廓线;并且在设置移动路径时,一般将扫地机器人设置为一个点来看待,为了方便扫地机器人移动至目标位置,设置的移动路径可能会经过窄道;一般地,两个或多个障碍物之间的缝隙区域(比如两个墙体之间的通道)以自由通道的形式显示在栅格地图内;自由通道是指连通两个不同工作区域,在宽度大于机器人的机身宽度的前提下可以是机器人的可通行道路,然后具体通过检测通道的入口、通道的出口、通道的长度以及通道的宽度来在栅格地图内识别出允许机器人通行的窄道口及窄道,并确定窄道覆盖的位置信息,比如识别出一个墙体下方的门洞的栅格区域、两个墙体之间的通道、三个墙体围成只有一个待识别缺口的通道;机器人实际工作场景中的通道具有一定特征,包括三维形状特征及尺寸特征等,机器人具体识别的过程中,需要将采集的环境信息具体转换到处于二维平面的栅格地图内,由对应的栅格进行记录,其中,栅格的大小决定了栅格地图的精度,同时栅格的大小与内存和CPU算力消耗的资源相关联,栅格越大则表示的环境信息的精度越低,栅格越小则表示的环境信息的精度越高,但是会耗更多的内存和更多的CPU算力,体现在路径搜索和地图匹配等等的细节上。栅格通常指一个正方形,例如一个栅格的大小为10cm,就是指边长为10cm。搜索路径算法一般是按照栅格递归搜索,待搜索区域内的栅格数量越多,则递归的次数按指数增长。对于窄道,理论上栅格越小越有利于提高窄道在地图中的标记精度,但是表示一个障碍物所使用的栅格数量会大幅度增加,进而造成内存大量消耗,同时在计算定位匹配以及路径规划的过程是很耗时间的,所以栅格的大小是需要折中的,不能太大,也不能太小。在标记栅格时,如果栅格的边长被设置得比较大,那么机器人碰撞到窄道口的一个端点时,把窄道口内部分自由通行区域标记为栅格地图内的障碍物栅格,其中,窄道口是窄道的入口或窄道的出口;进一步地如果将栅格的边长设置得过大,那么会将窄道口所占据的栅格全部标记成障碍物栅格,则机器人在搜索路径时将窄道口排除到机器人的可通行区域之外,因而栅格大小引起机器人对窄道口的误判,机器人搜索不到进入该窄道口的路径,导致机器人无法通过窄道到达目的地。
为了避免在栅格地图内将原本允许机器人前进的通道的入口标记为障碍物栅格并由机器人定义为无法通过的区域,同时为了减少栅格的搜索数量和计算量,在不将栅格的边长设置得过小的情况下,本实施例公开所述机器人识别窄道的方法以挑选出可通行程度较高,如图1所示,包括:
步骤S101、机器人预先获取栅格地图,该栅格地图描述的区域范围是机器人所处的区域,该栅格地图内的每个栅格可以是没有标记过环境信息,该栅格地图内的部分栅格可以是在机器人通过障碍物之间形成的缝隙通道后标记好相应的环境信息;在机器人所处的区域内,存在水平地面上设置穿透相邻两个房间区域的门洞、两个平行的墙体之间的缝隙,本实施例将门洞的入口或缝隙的入口设置为障碍物之间形成的开口,是至少两个障碍物的轮廓之间形成的开口,这些障碍物可以是相互孤立存在,也可以是连成一体;机器人使用测距传感器扫描周围环境时,该开口的两个端点以及宽度都被机器人的测距传感器扫描出来,即将该开口的两个端点扫描为对应的点云并转换到栅格地图的对应栅格处;因此,步骤S101在机器人预先获取的栅格地图的对应栅格处,将障碍物之间形成的开口标记为待识别缺口,然后执行步骤S102。在一些实施例中,机器人通过碰撞的方式感测周围环境时,每当机器人的碰撞传感器接触到该开口的两个端点后,将其碰撞到的障碍物的轮廓点或轮廓线标记到栅格地图的对应栅格处;还在一些实施中引入评估量,用以表示机器人在待识别缺口处或其对应的栅格(两个端点之间的自由栅格的数量或其在开口宽度范围内的占比)处的可通行程度,可以表示在相应栅格区域处的通行概率,一般地,机器人使用测距传感器扫描出待识别缺口时被赋予的可信度高于机器人碰撞检测出该待识别缺口时被赋予的可信度,因为测距传感器的定位精度高于机器人物理接触产生的定位精度。
步骤S102、在机器人按照预设折返覆盖方式反复进出待识别缺口所在通道的过程中,机器人同步对传感器扫描到或碰触到的缺口所在通道的环境信息(包括待识别缺口所在通道的入口位置、出口位置、通道长度及宽度)进行记录并标记到栅格地图的对应栅格内,机器人根据单位折返路径在该待识别缺口所在通道的内外的间距,将该单位折返路径识别为窄道路径,同时将该待识别缺口所在通道的两侧的开口都设置为候选窄口,并将该待识别缺口所在通道识别为窄道以形为候选窄口所在的窄道,并将窄道路径、窄道、以及候选窄口依次标记到栅格地图的对应栅格处。在步骤S102中,在机器人通过自主移动至该待识别缺口所在通道的方式验证该通道是否为所述窄道,区别出容易出现栅格信息标记误差的狭窄通道,再将具有反复进出该待识别缺口所在通道的路径识别为窄道路径并标记到栅格地图中,可以更新同位置的栅格原来标记的环境信息,一般地,机器人还将进入该待识别缺口所在通道的第一个栅格标记为该待识别缺口所在通道的入口点,机器人将通过该待识别缺口所在通道的最后一个栅格标记为该待识别缺口所在通道的出口点,可以更新标记到栅格地图的对应栅格处。单位折返路径是机器人按照预设折返覆盖方式进入该待识别缺口所在通道至少两次形成的路径,而且在机器人按照预设折返覆盖方式行走的过程中,机器人每两次进入该待识别缺口所在通道的期间会存在一次从该待识别缺口所在通道出来,优选地,单位折返路径是具有反复进出该待识别缺口所在通道的单位路径,单位折返路径进入该待识别缺口所在通道两次,而且,单位折返路径连续两次延伸进入该待识别缺口所在通道的期间会存在一次从该待识别缺口所在通道内延伸离开,使得单位折返路径的相应两条轨迹的间距会随着通道的宽度的变化而发生变化。因此窄道路径经过所述窄道的验证,减少因为实际环境的变化和时间的变化而导致该待识别缺口所在通道误判为所述窄道,也可以用于导航路径规划以便于顺利且高效地通过所述窄道。
需要说明的是,窄道的宽度是大于机器人的机身宽度,窄道的宽度的上限值略大于机器人的机身宽度;在步骤S102中的待识别缺口是存在通道,待识别缺口是该通道的入口,也相当于两个墙体障碍物之间的缝隙通道且其宽度允许机器人自由通行,使得机器人按照规划路径进出待识别缺口所在通道,在一些实施例中机器人会与该待识别缺口的两个端点或该待识别缺口所在通道两侧的边界线相碰撞,但机器人可以进出该待识别缺口所在通道且还可以与待识别缺口所在通道两侧的边界线保持一定间隙以保证机身安全。
具体地,所述单位折返路径包括第一单位折返路径段和第二单位折返路径段,其中,第一单位折返路径段是位于待识别缺口所在通道的内部且由延伸方向相反的相邻两条轨迹组成,该两条轨迹可以都是直线轨迹,也可以都是曲线轨迹;第二单位折返路径段是位于待识别缺口所在通道的外部且由延伸方向相反的相邻两条轨迹组成,该两条轨迹可以都是直线轨迹,也可以都是曲线轨迹;第一单位折返路径段可以直接或通过其它折线段与第二单位折返路径段连通;优选地,第一单位折返路径段包括的轨迹数量不止两条;相应地,第二单位折返路径段包括的轨迹数量不止两条,第二单位折返路径段包括的轨迹数量可以等于第一单位折返路径段包括的轨迹数量。机器人按照预设折返覆盖方式在待识别缺口所在通道的内部往复行走形成第一单位折返路径段,其中,第一单位折返路径段包括两条相邻的轨迹,这两条相邻的轨迹可以平行也可以相交,相应地,机器人按照预设折返覆盖方式在待识别缺口所在通道的外部往复行走形成第二单位折返路径段,其中,第二单位折返路径段包括两条相邻的轨迹,这两条相邻的轨迹可以平行设置。
作为一种平行轨迹的实施方式,由于窄道的宽度只是稍微大于机器人的机身宽度,为了在识别窄道的过程中减少与待识别缺口所在通道的两侧碰撞的次数和转弯角度积累的误差,一般不限定第一单位折返路径段为由交叉式折返的两条相邻的轨迹组成,而是将第一单位折返路径段所包括的两条相邻的轨迹设置为相互平行的两条相邻的直线段轨迹,能够与待识别缺口所在通道的两侧的边界线平行,以将第一单位折返路径段构成弓字型路径。因此,机器人将第一单位折返路径段所包括的相互平行的两条相邻的直线段轨迹标记为第一轨迹对时,第一轨迹对的间距是第一单位折返路径段所包括的相互平行的两条相邻的直线段轨迹的间距;第一轨迹对的间距也表示所述第一单位折返路径的间距,具体是机器人在第一单位折返路径段在所述待识别缺口所在通道的内部的宽度方向上产生的位移。在机器人将第一单位折返路径段所包括的两条相邻的轨迹设置为相互平行的两条相邻的直线段轨迹的基础上,机器人也将第二单位折返路径段所包括的两条相邻的轨迹设置为相互平行的两条相邻的直线段轨迹,以结合第一单位折返路径段组成弓字型路径。机器人将第二单位折返路径段所包括的相互平行的两条相邻的轨迹标记为第二轨迹对;由于第二轨迹对形成于待识别缺口所在通道的外部,所以相对于第一轨迹对不受待识别缺口所在通道的约束,则其第二轨迹对的间距可以大于或等于第一轨迹对的间距,以区别出机器人按照预设折返覆盖方式行走于待识别缺口所在通道的内部还是其外部。具体地,第二轨迹对的间距是第二单位折返路径段所包括的相互平行的两条相邻的直线段轨迹的间距,也是机器人预先设定好的间距,不会随着机器人实际行走过的待识别缺口所在通道的宽度的变化而变化;待识别缺口所在通道超出机器人的机身宽度较大的距离时,第一轨迹对的间距可能随着机器人实际行走过的待识别缺口所在通道的宽度的变大而保持与第二轨迹对的间距相等,以组成一个完整的弓字型路径。
作为一种相交轨迹的实施方式,若不考虑频繁转弯和碰撞因素,可以将第一单位折返路径段所包括的两条相邻的轨迹设置为相交的两条相邻的轨迹,相交的两条相邻的轨迹可以是曲线轨迹,实现交叉式前进和返回所述待识别缺口所在通道;因此,机器人将第一单位折返路径段所包括的相交的两条相邻的轨迹设置为第一轨迹对时,第一轨迹对的间距是第一单位折返路径段所包括的相交的两条相邻的轨迹的间距,可以表示所述第一单位折返路径在所述待识别缺口所在通道的内部的宽度方向上发生的最大位移,以使机器人按照预设折返覆盖方式行走于待识别缺口所在通道的内部;同理地,为了保证机器人在第一单位折返路径段和第二单位折返路径段上往返行走的连续性,以便顺利地按照预设折返覆盖方式在待识别缺口所在通道的外部往复行走和在待识别缺口所在通道的内部往复行走,可以将第二单位折返路径段所包括的两条相邻的轨迹设置为相交的两条相邻的轨迹,第二单位折返路径段所包括的相交的两条相邻的轨迹可以是两条相交的曲线轨迹,机器人将第二单位折返路径段所包括的相交的两条相邻的轨迹设置为第二轨迹对时,第二轨迹对的间距是第二单位折返路径段所包括的相交的两条相邻的轨迹的间距,表示所述第二单位折返路径在所述待识别缺口所在通道的宽度方向上发生的最大位移但发生在所述待识别缺口所在通道的外部。比如:比如机器人会沿着第一一曲线轨迹向左侧远离所述待识别缺口所在通道的右侧边界线(相对于机器人当前位置的右侧的障碍物的轮廓线)的方向行走至第一一曲线轨迹的一个端点,再从第一一曲线轨迹的一个端点行走至第一二曲线轨迹的一个端点,然后沿着第一二曲线轨迹向右侧靠近所述待识别缺口所在通道的右侧边界线(相对于机器人当前位置的右侧障碍物的轮廓线)的方向行走至第一二曲线轨迹的另一个端点,如此重复,直至行走出所述待识别缺口;然后机器人行走至第二轨迹对后,机器人会沿着第二一曲线轨迹向左侧远离所述待识别缺口至第二一曲线轨迹的一个端点,再从第二一曲线轨迹的一个端点行走至第二二曲线轨迹的一个端点,然后沿着第二二曲线轨迹向右侧靠近所述待识别缺口,实现交叉式运动于所述待识别缺口所在通道的外部;机器人行走至第一轨迹对后,机器人会沿着第三一曲线轨迹向左侧远离所述待识别缺口所在通道的左侧边界线(相对于机器人当前位置的右侧障碍物的轮廓线)的方向行走至第三一曲线轨迹的一个端点,再从第三一曲线轨迹的一个端点行走至第三二曲线轨迹的一个端点,然后沿着第三二曲线轨迹向右侧靠近所述待识别缺口所在通道的左侧边界线(相对于机器人当前位置的右侧障碍物的轮廓线)的方向行走至第三二曲线轨迹的另一个端点,其中,第一二曲线轨迹与第三一曲线轨迹相交组成一个第一轨迹对,第一一曲线轨迹与第三二曲线轨迹相交组成另一个第一轨迹对,以使机器人按照预设折返覆盖方式行走于待识别缺口所在通道的内部;第二一曲线轨迹与第二二曲线轨迹组成一个第二轨迹对,优选地,第一轨迹对和第二轨迹对都关于所述待识别缺口所在通道的通道长度方向上中心线对称。
需要说明的是,所述两条相邻的轨迹的间距用于表示预设折返覆盖方式在一个第二单位折返路径段或一个第一单位折返路径段中的实时覆盖宽度,具体是在所述两条相邻的轨迹在同一延伸方向上的端点之间的距离表示,所述两条相邻的轨迹在同一延伸方向上的端点可以是关于所述待识别缺口所在通道的通道延伸方向上的中轴线对称;其中,第一轨迹对的间距用于表示预设折返覆盖方式在所述待识别缺口所在通道的内部的宽度方向上的覆盖宽度,在一些实施例中第一轨迹对的间距等同于机器人在所述待识别缺口所在通道的内部所能行走过的最大宽度。第一轨迹对的间距可能随着机器人实际行走过的待识别缺口所在通道的宽度的变小而变小,第一轨迹对的间距可能随着机器人实际行走过的待识别缺口所在通道的宽度的变大而变大,机器人实际行走过的待识别缺口所在通道的宽度足够大时,第一轨迹对的间距可能随着机器人实际行走过的待识别缺口所在通道的宽度的变大而不变。第二轨迹对的间距可视为预先设定好的,且在一些实施例中不随机器人机器人实际行走过的待识别缺口所在通道的宽度的变化而变化。
在上述实施例的基础上,当机器人判断到第一轨迹对的间距小于第二轨迹对的间距时,机器人将所述单位折返路径识别为窄道路径,并将所述待识别缺口所在通道识别为窄道,并将所述待识别缺口所在通道的入口和出口、以及所述待识别缺口都设置为候选窄口,并将所述候选窄口的可信度设置为第一路径可信度(等同于测距传感器扫描出候选窄口时被赋予的可信度),并将所述窄道路径在窄道的内部形成的第一单位折返路径段、所述窄道路径在窄道的外部形成的第二单位折返路径段、窄道以及所述候选窄口依次标记到栅格地图的对应栅格处,同时也能确定机器人已经通过所述待识别缺口进入其所在的窄道;在必要情况下需对对应栅格原来标记的信息进行更新。当第二轨迹对的间距设置为大于预设宽度范围的最大值时,由于第一轨迹对的间距处于预设宽度范围,所以在机器人判断到第一轨迹对的间距处于预设宽度范围时,机器人将所述单位折返路径识别为窄道路径,并将所述待识别缺口所在通道识别为窄道,并将所述候选窄口的可信度设置为第一路径可信度,并将所述窄道路径在窄道的内部形成的第一单位折返路径段、所述窄道路径在窄道的外部形成的第二单位折返路径段、窄道以及所述候选窄口依次标记到栅格地图的对应栅格处,再将窄道以及所述候选窄口设置为所述窄道路径的窄道信息,同时也能确定机器人已经通过所述待识别缺口进入其所在的窄道,其中,所述候选窄口是栅格地图内标记出真正可通行的窄道口,能够克服栅格精度(栅格边长的影响),使得这个候选窄口所在的栅格区域都是由自由栅格填充,没有产生标记障碍物信息的偏差。具体地,本实施例将窄道信息设置为至少包括组成窄道的障碍物信息、窄道内部占有的栅格区域(窄道的两侧边界之间的自由栅格区域)、窄道的长度、窄道的宽度、窄道的延伸方向中的至少一种,被记录到栅格地图内或直接由对应的栅格计算得到,在一些实施例中,将障碍物信息、窄道的长度、窄道的宽度、窄道的延伸方向进行加权平均结果作为所述候选窄口的可信度,对应为所述第一路径可信度,数值较高。表示机器人在窄道内的通行效果较好,其中,所述候选窄口的两个端点的位置可以使用第一轨迹对所包括的相互平行的两条轨迹在同一延伸方向上的端点的位置表示。
优选地,所述待识别缺口的宽度或所述待识别缺口所在通道的宽度处于预设宽度范围时,允许机器人进入所述待识别缺口并在所述待识别缺口所在通道内自由通行以通过所述待识别缺口所在通道,预设宽度范围的最小值(下限值)是大于机器人的机身宽度,预设宽度范围的最大值(上限值)只是稍微大于机器人的机身宽度,不超出两倍的机身宽度。其中,预设宽度范围可根据机器人的机身宽度来确定,将与机器人的机身宽度较为接近的通道称为所述窄道。例如,扫地机器人的宽度为30厘米,则预设宽度范围可取32厘米至35厘米,即机器人的中心位于所述待识别缺口所在通道在其宽度方向上的中心位置时,机器人的左右两侧与通道之间的间隙大小处于1厘米至2厘米之间。
在一些实施例中,第一轨迹对的间距大于预设宽度范围的最大值时,将第一轨迹对所在通道判定为正常通道,即将所述待识别缺口所在通道识别为窄道识别为宽度足够大的通道,机器人按照预设折返覆盖方式反复进出所述待识别缺口所在通道的过程中,所述第一轨迹对的间距等于所述第二轨迹对的间距。所述待识别缺口所在通道的宽度小于预设宽度范围的最小值时,将所述待识别缺口所在通道判定为非通道。
综上,本实施例通过将机器人反复移动到待识别缺口所在通道来是否为通过窄道,多次检测第一轨迹对的间距来确定窄道,并分析出通过窄道的路径,再确定通过窄道后依次标记为窄道路径、窄道以及所述候选窄口,避免在栅格地图上标记出的自由栅格出现错误、传感器积累误差以及实际工作环境改变等导致窄道及其关联信息误判现象的发生,提高窄道识别的准确性。
优选地,所述单位折返路径是弓字型轨迹,则第一单位折返路径段和第二单位折返路径段分别成为单位弓字型路径段,都具备弓字型轨迹的长边直线段和短边折线段,但是相互平行的长边直线段的间距是可以不同。本领域技术人员可以理解的是,机器人是清洁机器人时,比如扫地机器人时,扫地机器人沿着所述单位折返路径行走的过程中,产生的相互平行的运动轨迹线段是属于弓字型清洁路线(即所述弓字型路径)的长边清洁路线,产生的弯折线或短线段是相邻的两条运动轨迹线段之间的短边清洁路线,使得这些相互平行的运动轨迹线段覆盖扫地机器人的可达区域。因此,预设折返覆盖方式是以相互平行直线的方式折返覆盖所述待识别缺口所在通道,所述待识别缺口所在通道的两侧边界线是直线型时,比如是两个墙体围成的通道时,折返覆盖的直线可以保持与所述待识别缺口所在通道的两侧边界线平行,从而相对于以交叉线的方式折返覆盖所述待识别缺口所在通道,减少转弯的次数(转弯过程中容易与通道的两侧接触,而通道的两侧一般是障碍物的轮廓面),减少机器人在按照预设折返覆盖方式反复进出待识别缺口所在通道的过程中频繁与所述待识别缺口所在通道的两侧发生碰撞。
作为一种实施例,所述第一轨迹对包括相互平行的第一一直线段轨迹和第一二直线段轨迹,第一一直线段轨迹和第一二直线段轨迹通过第一弯折线或第一预设线段相连接,可以组成弓字型路径,即把所述第一单位折返路径段组成一种弓字型路径。在一些实施例中,所述第一轨迹对可以包括相交的两条轨迹,第二轨迹对所包括的相交的两条相邻的轨迹存在一个端点通过第一弯折线连接或没有相连接,组成交叉式折返路径,其中,机器人在相交的两条相邻的轨迹上的行走方向是相反的,以使机器人按照预设折返覆盖方式往复行走于待识别缺口所在通道的内部。机器人在第一轨迹对当中的每条直线段轨迹上(对应为第一一直线段轨迹或第一二直线段轨迹)的行走方向,被配置为与机器人在与该条直线段轨迹相连接的第二轨迹对当中对应一条轨迹上的行走方向相同;机器人在第一一直线段轨迹上的运动方向与机器人在第一二直线段轨迹上的运动方向是相反;当所述待识别缺口所在通道的宽度或所述待识别缺口(相当于通道的入口或通道的出口)的宽度越小时,第一轨迹对的间距被设置得越小,即机器人第一一直线段轨迹和第一二直线段轨迹的间距被设置得越小以适应机器人进入所述待识别缺口并通行过所述待识别缺口所在通道。在本实施例中,第一单位折返路径段是弓字型路径时,该弓字型路径的短边延伸方向是保持垂直于所述待识别缺口所在通道的边界线(障碍物的轮廓线),第一预设线段是优选为垂直于所述待识别缺口所在通道一侧的边界线(对应一侧的障碍物的轮廓线),且机器人在第一预设线段的行走方向相对于其在第二轨迹对中其中一条轨迹逆时针或顺时针转动90度;第一弯折线或第一预设线段连接第一一直线段轨迹和第一二直线段轨迹在同一延伸方向上(比如两条相邻的直线段轨迹的上端)的端点,其中,第一预设线段连接第一一直线段轨迹和第一二直线段轨迹时,第一预设线段的长度等于第一轨迹对的间距,第一一直线段轨迹和第一二直线段轨迹的间距是第一轨迹对的间距,也相当于第一轨迹对所包括的相互平行的两条相邻的直线段轨迹的点之间的最短距离。进一步地,为了保证机器人在所述单位折返路径上往返行走的连续性,在本实施例中,机器人按照预设折返覆盖方式反复进出所述待识别缺口所在通道的过程中,若机器人由第一区域进入所述待识别缺口所在通道再由所述待识别缺口所在通道返回第一区域,则第一轨迹对(第一单位折返路径段)通过第三弯折线或第三预设线段连接第二轨迹对(第二单位折返路径段),具体是第一轨迹对所包括的每条轨迹通过一条弯折线或预设线段连接到第二轨迹对所包括的对应一条轨迹;第一区域是位于所述待识别缺口所在通道的外部。
作为一种实施例,第二轨迹对包括相互平行的第二一直线段轨迹和第二二直线段轨迹,第二一直线段轨迹和第二二直线段轨迹通过第二弯折线或第二预设线段相连接,其中,第二轨迹对所包括的相互平行的两条相邻的直线段轨迹都存在一个端点通过第一弯折线或第一预设线段连接,组成单位弓字型路径段,第一弯折线或第一预设线段可以属于第二单位折返路径段;在另一些实施例中,第二轨迹对可以视为包括相交的两条相邻的轨迹,并存在一个端点通过第二弯折线或第二预设线段连接,组成交叉式折返路径,以在远离所述待识别缺口后又能接近同一个待识别缺口,其中,机器人在相交的两条相邻的轨迹上的行走方向是相反的,以使机器人按照预设折返覆盖方式反复行走于待识别缺口所在通道的外部并能够反复接近待识别缺口。机器人在第一轨迹对当中的每条直线段轨迹上(对应为第一一直线段轨迹或第一二直线段轨迹)的行走方向,被配置为与机器人在与该条直线段轨迹相连接的第一轨迹对当中对应一条轨迹上的行走方向相同;在本实施例中,第一单位折返路径段是弓字型路径,且第二单位折返路径段是弓字型路径,第二单位折返路径段和第一单位折返路径段都属于弓字型路径,第一单位折返路径段的轨迹形状走向与第二单位折返路径段的轨迹形状走向相同;第二弯折线或第二预设线段连接第二轨迹对所包括的相互平行的两条相邻的直线段轨迹在同一延伸方向上(比如,两条相邻的直线段轨迹的上端)的端点,其中,第二预设线段连接第二一直线段轨迹和第二二直线段轨迹时,第二预设线段的长度等于第二轨迹对的间距,第二一直线段轨迹和第二二直线段轨迹的间距是第二轨迹对的间距,当所述待识别缺口所在通道的宽度或所述待识别缺口(相当于通道的入口或通道的出口)的宽度变化时,第二轨迹对的间距保持不变,第二轨迹对的间距是预先设置好的,而且第二轨迹对的间距大于所述预设宽度范围的最大值。
在第一轨迹对所包括的每条轨迹通过一条弯折线或一条预设线段连接到第二轨迹对所包括的对应一条轨迹中,具体是第二一直线段轨迹可以通过第三一弯折线或第三一预设线段连接第一一直线段轨迹,其中,机器人在第二一直线段轨迹与其在第一一直线段轨迹上的行走方向是相同;第二二直线段轨迹可以通过第三二弯折线或第三二预设线段连接第一一直线段轨迹,其中,机器人在第二二直线段轨迹与其在第一二直线段轨迹上的行走方向是相同,而机器人在第二一直线段轨迹的行走方向与其在第一二直线段轨迹上的行走方向是相反,机器人在第二一直线段轨迹上的运动方向与其在第二二直线段轨迹上的运动方向是相反。优选地,机器人沿着第一一直线段轨迹远离所述待识别缺口所在通道之后,机器人会通过第三一弯折线或第三一预设线段行走至第二一直线段轨迹,然后通过第二弯折线或第二预设线段行走至第二二直线段轨迹,然后沿着第二二直线段轨迹靠近所述待识别缺口,再通过第三二弯折线或第三二预设线段行走至第一二直线段轨迹,进入所述待识别缺口所在通道,然后机器人会沿着第一二直线段轨迹在所述待识别缺口所在通道内行走;因此,第二单位折返路径段和第一单位折返路径段都属于弓字型路径,使所述单位折返路径是由轨迹的间距不同的多条弓字型路径首尾连接形成。
在一些实施例中,无论是采用测距传感器(激光雷达)扫描点云以标记栅格,还是通过碰撞感测来标记栅格,随着机器人运行时间的增长,都会累积误差(机器人计算出的理论位置与机器人的真实位置之间的位置偏差),即使栅格的边长保持固定不变,栅格表示的环境信息也会出现误差,比如产生的位置偏差会将自由栅格标记为障碍物栅格,因此,在机器人将该单位折返路径识别为窄道路径且将该待识别缺口所在通道识别为窄道的前提下,只是将该待识别缺口所在通道的两侧的开口都设置为候选窄口,而不是直接确定为不受时间和空间约束的可通行的开口。
作为一种实施例,在机器人没有进入待识别缺口所在通道或机器人已经行走过待识别缺口所在通道的前提下,当机器人探测到所述待识别缺口的宽度处于所述预设宽度范围时,机器人在栅格地图内将该待识别缺口标记为候选窄口,并将候选窄口的可信度设置为第一路径可信度;其中,所述待识别缺口是机器人在其所处工作区域内以非接触的方式探测到的开口位置点,比如激光雷达扫描到缺口的两个端点及其之间的距离、并转换为栅格位置坐标和予以标记,但机器人不采用直接碰撞测定的结果进行栅格标记。另一方面,在机器人没有进入待识别缺口所在通道或机器人已经行走过待识别缺口所在通道的前提下,当机器人接触到所述待识别缺口时,通过碰撞传感器的感测信息,机器人在栅格地图内将该待识别缺口标记为候选窄口,并将候选窄口的可信度设置为第二路径可信度;其中,第一路径可信度大于第二路径可信度,因为测距传感器的感测位置点的精度高于碰撞传感器的感测位置点的精度;第一路径可信度和第二路径可信度都用于指示对应候选窄口的可通行程度,原因在于随着机器人行走时间的增长,传感器会积累误差,再加上栅格的边长与实际表示的障碍物的轮廓尺寸大小的关系,即使栅格的边长保持固定不变或设置得比较适中(不偏大也不过小),栅格表示的障碍物信息也会出现位置偏移,使得机器人对该待识别缺口的实时标记结果会发生变化;因此,无论机器人是采用测距传感器(激光雷达)扫描点云以标记栅格,还是通过碰撞感测来标记栅格,随着机器人运行时间的增长,都会累积误差(机器人计算出的理论位置与机器人的真实位置之间的位置偏差)机器人都只是将该待识别缺口所在通道的两侧的开口都设置为候选窄口,而不是直接确定为不受时间和空间约束的真正可通行的开口,并针对机器人实际采集环境信息的传感器使用第一路径可信度(使用非接触性感测的传感器下的评估数值)和第二路径可信度(使用接触性感测的传感器下的评估数值)衡量机器人在该候选窄口处的可通行程度。
在本实施例中,所述待识别缺口可以是两个墙体之间的缝隙口、或同个墙体的较窄的门洞口,它们的缺口宽度可以是大于机器人的机身宽度以允许机器人通过,也可以远小于机器人的机身宽度而不允许机器人进入,且能够允许机器人通过的缺口不一定是很狭窄的缺口,未必构成所述候选窄口,所以需要机器人判断所述待识别缺口的宽度是否处于所述预设宽度范围;至于候选窄口的宽度与机器人的机身宽度较为接近,机体形状在地面投影是圆形,则候选窄口的宽度与机身直径较为接近,本实施例设置的候选窄口的宽度落入所述预设宽度范围。具体地,所述待识别缺口是两个障碍物的轮廓线之间的开口,两个障碍物可以是对立而设置的两个墙体,则两个障碍物的轮廓线可以平行的墙体线;为了便于识别开口或待识别缺口的宽度信息,本实施例所公开的待识别缺口所在通道可以限定为以两个障碍物的轮廓线为边界线组成的通道,其中,该两个障碍物的轮廓线都标记在栅格地图对应的栅格处;两个障碍物的轮廓线上的点之间的最小距离大于或等于预设宽度范围的最小值;机器人已经行走过待识别缺口所在通道的前提下,机器人已经遍历整个待识别缺口所在通道中所有边界点,确定各个边界点所在通道是否为窄道,统计待识别缺口所在通道为窄道的边界点的栅格信息以及窄道路径经过的栅格位置,由待识别缺口所在通道的边界点的栅格位置组成待识别缺口所在通道的栅格位置信息,实现获取到栅格地图中的标记为待识别缺口所在通道的栅格位置信息,包括通道长度信息、通道宽度和通道的开口的位置。
需要说明的是,所述待识别缺口的宽度是所述待识别缺口在机器人行进平面上的两个边界点所在的栅格之间的距离,所述待识别缺口的两个边界点所在的栅格分别是障碍物栅格,所述待识别缺口的两个边界点所在的栅格之间的区域是由自由栅格填充,所述待识别缺口的两个边界点分别位于对应障碍物的轮廓线上;其中,机器人检测到所述待识别缺口所在栅格,且检测到所述待识别缺口两侧的障碍物的轮廓线上点之间的距离处于预设宽度范围时,确定机器人已经进入该待识别缺口所在通道;每当机器人进入该待识别缺口所在通道后,将其在所述待识别缺口所在通道内碰撞到的障碍物的轮廓线标记到栅格地图中,并将对应碰撞到的障碍物的轮廓线标记为所述待识别缺口所在通道的边界线。具体映射到栅格地图内,待识别缺口所在通道的中间是由自由栅格填充而成的白色的连通域,待识别缺口的左右端点分别分布有相互平行的墙体边界线,相互平行的两条墙体边界线在栅格地图中都填充为连续的黑色线段,比如,待识别缺口可以是房间的门洞,门洞两侧的障碍物是同一房间内的四面墙壁,四面墙壁是连续的、一体的,两侧障碍物的轮廓线成为待识别缺口所在通道的边界或窄道的边界;其中,待识别缺口所在通道两侧的开口也连通不同的工作区域。
在前述实施例的基础上,当机器人行走在所述窄道的内部时,所述窄道的两侧边界线与机器人对应一侧的最短距离都处于预设间隙距离范围;或者,当机器人进入所述窄道的入口至机器人的中心与所述窄道的入口的两个端点处于同一直线上时,所述窄道的入口的两个端点与机器人对应一侧的最短距离都处于预设间隙距离范围,比如,机器人沿着窄道的中心线行走时,机器人的左侧与其左侧探测的障碍物的轮廓线(墙体轮廓线)的垂直距离处于所述预设间隙距离范围,且机器人的右侧与其右侧探测的障碍物的轮廓线(墙体轮廓线)的垂直距离也是处于所述预设间隙距离范围。在本实施例中,预设间隙距离范围优选为1厘米至2厘米,从而在窄道内为机器人预留规避碰撞障碍物的空间;则机器人将预设宽度范围设置为等于预设间隙距离范围的两倍与机器人的机身宽度的和值,可以设置为机器人穿越墙体之间狭窄通道的安全值,起到约束机器人跨区域行为的作用;在一些实施例中,机器人的机身宽度为30厘米时,预设宽度范围可取32厘米至35厘米。则所述窄道的入口的宽度或所述窄道的宽度处于所述预设宽度范围;所述窄道的两侧的开口的距离大于或等于所述第一轨迹对当中的每条轨迹的长度,所述窄道的两侧的开口在栅格地图内分别标记到所述窄道的入口所在的栅格与所述窄道的出口所在栅格,则将所述窄道的通道长度设置为稍微大于所述第一单位折返路径段在窄道延伸方向上的轨迹长度,所述窄道的通道长度是等于同一通道边界上,所述窄道的入口与所述窄道的出口之间的距离,以实现区分机器人实际行走过的轨迹是否位于所述窄道内部(判断机器人是否通过窄道)。
优选地,在栅格地图中,为了平衡栅格的边长设置带来的障碍物位置偏差和导航计算量,每个栅格的边长对应表示为机器人实际工作区域内的5厘米、10厘米或15厘米,这一系列的栅格边长相对于机器人所能碰撞到的障碍物的尺寸、或所述待识别缺口的两个端点、或所述待识别缺口所在通道的两侧边界的尺寸适中,保证机器人标记栅格的精度,降低机器人对需要进入的通道的误判概率。
综上,本发明为了识别出一个窄道,控制机器人按照预设折返覆盖方式行走完一个提前确定的待识别缺口所在通道(至少完成一个周期的折返覆盖以反复进出相应通道多次)、或控制机器人按照预设折返覆盖方式连续两次(重复一次)进入该待识别缺口所在通道以通过该待识别缺口所在通道且往返于该待识别缺口所在通道的内外,在这一往返行走的过程中,预设折返覆盖方式会按照一个预定时间间隔或直线轨迹长度变化,不是长时间保持同一延伸方向(同一轨迹走向),所以机器人受到驱动轮打滑误差的影响较小,因而,根据机器人实际遍历同一个待识别缺口所在通道而产生的来回路径段的间距变化,来判断该待识别缺口所在通道是否为窄道,进而将机器人通过该窄道而实际产生的路径设置为带有窄道信息的窄道路径,可标记为可供机器人通过窄道的工作路径,也可以通过腐蚀处理为导航路径,并在栅格的边长、通道宽度、待识别缺口宽度、以及轨迹间距的设计考虑到地图中填充的栅格的数量因素,从而结合机器人的实地遍历出的轨迹信息和障碍物轮廓线形成的待识别缺口信息为机器人识别出准确的窄道,即在扫地机器人、割草机、或移动玩具所在的环境内准确区分出可供机体通行的狭窄通道,克服传感器积累的位置偏移误差的影响,避免窄道的宽度小到容易将窄道内部的栅格区域或直接将其开口误判为阻挡机器人通行的墙体障碍物,不增加导航定位代价的前提下,满足机器人定位实时性需求;无论机器人在待识别缺口所在通道内的方向相反的轨迹的间距适应性地变得多小,机器人所依赖的弓字型路径的轨迹形状是没有变化,提高机器人构建的栅格地图对环境的适应性。能够在机器人的路径规划前准确识别出工作环境中的窄道,为机器人规划出高效通过的路径提供基础。
需要说明的是,机器人采用搜索算法解决问题时,需要构造一个表明自身栅格位置的状态特征和不同栅格位置的状态之间关系的数据结构,这种数据结构称为节点。不同的问题需要用不同的数据结构描述。根据搜索问题所给定的条件,从一个节点出发,可以生成一个或多个新的节点,这个过程通常称为扩展。节点之间的关系一般可以表示成相邻接的父节点和子节点。搜索算法的搜索过程实际上就是根据初始条件和扩展规则构造路径去寻找符合目标状态的节点的过程,并连接出有效路径,包括最短路径。
基于前述实施例,本发明还公开一种窄道导航方法,窄道导航方法的执行主体是前述实施例中的机器人,尤其是执行前述任一实施例的机器人。所述窄道导航方法的执行主体是自主移动的机器人,尤其是行走于地表面的清洁机器人、行走于由边界线划定的具有狭窄通道的草坪区域的割草机器人、洗地机、以及安防巡视机器人等,并不作为对机器人识别窄道的方法的适用主体的限定。机器人安装有惯性传感器(包括但不限于用于测量行走距离的里程计、用于检测与障碍物的碰撞状态的碰撞传感器、以及用于测量机体旋转角度的陀螺仪)、测距传感器(包括但不限于TOF传感器和激光雷达)或视觉传感器(可以采用任意类型的深度信息采集设备,包括但不限于单目相机、双目相机等摄像头)去探测周围环境的二维点云数据,及时构建出二维点云地图,且在机器人的机体上的传感器安装数目可以是一个或多个。如图2所示,所述窄道导航方法具体包括:
步骤S201、在机器人执行前述实施例中的机器人识别窄道的方法后,机器人在栅格地图的对应栅格处标记出窄道路径以及窄道,还包括该窄道的入口和出口位置信息、该窄道两侧的边界(组成该窄道的障碍物的额轮廓线)、该窄道的长度和宽度;还包括其他探测到或碰撞到的待识别缺口及其所在通道的尺寸和位置信息,从而在预先获取的栅格地图内确定各种可通行的通道以及不可通行的通道,其中,可通行的通道包括所需识别出的窄道(其中一种待识别缺口所在通道)以及其它的所述待识别缺口所在通道,可以理解为对栅格地图的对应栅格的标记信息的更新,为机器人规划高效通过窄道提供栅格信息的基础。然后执行步骤S202。
步骤S202、机器人先从当前位置开始,通过邻域搜索的方式在栅格地图内搜索通向导航目标位置的路径,获得第一待导航路径的集合,其中,机器人的当前位置是预先获知并在栅格地图内有所标记,并将该邻域搜索的方式标记为对步骤S201所述的栅格地图的第一次路径搜索操作,至于所述邻域搜索的方式包括但不限于A*算法、以及D*算法;从而在机器人不依赖窄道路径以及窄道的前提下,通过A*或D*算法下的邻域搜索规划出通向所述导航目标位置的第一待导航路径,其中,第一待导航路径的数量可以是多条,第一待导航路径的起点可以设置为机器人的当前位置,第一待导航路径的终点设置为所述导航目标位置或其它位置点,但须确保第一待导航路径经过这一固定设置的导航目标位置,可以绕过窄道来延伸至所述导航目标位置,在第一次路径搜索操作中获得的所有第一待导航路径都计入第一待导航路径的集合的内部,并且在将搜索出的栅格连接成一条第一待导航路径时计算出该第一待导航路径的长度,再将是从当前位置延伸至导航目标位置的轨迹长度记为第一待导航路径的导航轨迹长度。在本实施例中,可以理解为机器人遍历完所有栅格后,完成获得第一待导航路径的集合的操作,则停止继续通过邻域搜索的方式在栅格地图内搜索通向导航目标位置的路径。
在步骤S202中,针对同一栅格地图,具体是对步骤S201所述的栅格地图,机器人还在所述栅格地图内对所述窄道或所述窄道路径进行图像腐蚀处理,以在窄道或所述窄道路径的多个方向上搜索通向导航目标位置的路径,具体可以是在窄道或所述窄道路径的两侧上进行腐蚀操作以获得多条第二待导航路径并将其都加入所述第二待导航路径的集合,其中,部分第二待导航路径是通过所述窄道,第二待导航路径是在所述窄道路径的第一轨迹对的基础上扩展得到,第二待导航路径的部分路径包括所述窄道路径的第一轨迹对所包括的直线段轨迹及其延长线,使得第二待导航路径携带有窄道信息,以便于机器人通过窄道来无障碍地行走至导航目标位置。然后执行步骤S203。其中,第二待导航路径的起点可以设置为机器人的当前位置,第二待导航路径的终点设置为所述导航目标位置或其它位置点,但须确保第二待导航路径经过这一固定设置的导航目标位置,可以通过所述窄道来延伸至所述导航目标位置;并且在将搜索出的栅格连接成一条第二待导航路径时计算出该第二待导航路径的长度,再将是从当前位置延伸至导航目标位置的轨迹长度记为第二待导航路径的导航轨迹长度。在本实施例中,可以理解为机器人腐蚀完所述窄道或所述窄道路径的各个相应方向上的所有栅格后,完成获得第二待导航路径的集合的操作,则停止继续在栅格地图内进行图像腐蚀处理。其中,导航目标位置是预先设定的导航位置。
需要说明的是,在任何时候,机器人只有预先搜索栅格地图才知道是否有可通行的路径,或者更加合理的导航路径。在获得第一待导航路径的集合和第二待导航路径的集合后,机器人在同一栅格地图内经过前述路径搜索获得两种类型的栅格地图信息,能够区分出是否有窄道信息,以便于筛选出更加顺畅通行的目标导航路径。
步骤S203、机器人从第一待导航路径的集合中选择导航轨迹长度最短的第一待导航路径设置为第一目标导航路径,并从第二待导航路径的集合中选择导航轨迹长度最短的第二待导航路径设置为第二目标导航路径,然后执行步骤S204;其中,导航轨迹长度最短的第一待导航路径的数量可以是一条或多条,导航轨迹长度最短的第二待导航路径的数量可以是一条或多条。
步骤S204、根据第一目标导航路径与第二目标导航路径的轨迹长度差异,选择不通过所述窄道的目标导航路径、或不与所述窄道接触的目标导航路径设置为最终导航路径以使机器人行走得更加顺畅(减少与窄道两侧障碍物碰撞次数)但不一定让行走里程较短,或选择轨迹长度最短的目标导航路径设置为最终导航路径以使得机器人导航速度更快,以便于在不同形式搜索出的最短导航路径中继续筛选出与窄道关联的导航路径,在第一目标导航路径与第二目标导航路径的轨迹长度差异不大时倾向于选择不通过窄道或不与窄道接触但不一定是最短的路径,或在不通过窄道的路径或不与所述窄道相接触的路径中选择最短路径,也在第一目标导航路径与第二目标导航路径的轨迹长度差异较大时倾向于选择最短的但可能通过窄道的路径;然后执行步骤S205。其中,第一目标导航路径与第二目标导航路径都属于目标导航路径;不通过窄道的目标导航路径或不与所述窄道相接触的目标导航路径可以标记为不携带窄道信息的路径。
步骤S205、机器人从当前位置开始,沿着所述最终导航路径行走至所述导航目标位置,其中,所述最终导航路径的轨迹长度和延伸方向是已经确定下来,则机器人在行走过程中可以确定实际经过的栅格,并确定其是否需要进入所述候选窄道和通过所述窄道或所述待识别缺口所在通道。以使得机器人行走的距离代价更少或规避掉所述窄道以提高行走安全效果。
综上步骤S201至步骤S205,本实施例公开的窄道导航方法的有益技术效果在于,在栅格地图内标记好窄道路径以及窄道后,机器人利用窄道路径进行图像腐蚀处理,在窄道的宽度的约束下,朝窄道路径或窄道的各个方向进行腐蚀处理,获得可能通过窄道的第二待导航路径;也在不依赖窄道路径以及窄道的前提下,通过A*或D*算法下的邻域搜索规划出通向导航目标位置的第一待导航路径;机器人各从第二待导航路径和第一待导航路径这两种类型的导航路径中对应挑选出轨迹长度最短的第二目标导航路径和第一目标导航路径,然后在权衡这两种不同搜索方式下规划出的导航路径的轨迹长度差异以及通过窄道的情况后选择出最终目标导航路径,使得机器人从当前位置导航至导航目标位置的过程中更加顺畅,或导航路径更短,提高机器人的工作效率。
具体地,在步骤S204中,所述根据第一目标导航路径与第二目标导航路径的轨迹长度差异,选择不通过所述窄道的目标导航路径设置为最终导航路径,或选择轨迹长度最短的目标导航路径设置为最终导航路径的方法包括:当第一目标导航路径的轨迹长度与第二目标导航路径的轨迹长度的差值的绝对值大于或等于预设距离阈值时,选择轨迹长度最短的目标导航路径设置为最终导航路径,从而在第一目标导航路径与第二目标导航路径的轨迹长度差异较大时选择最短的但可能通过窄道的路径作为最终导航路径;当第一目标导航路径的轨迹长度与第二目标导航路径的轨迹长度的差值的绝对值小于预设距离阈值时,选择不通过所述窄道的目标导航路径或不与所述窄道接触的目标导航路径设置为最终导航路径,从而在第一目标导航路径与第二目标导航路径的轨迹长度差异不大时选择不通过窄道或不与窄道接触但不一定是最短的路径作为最终导航路径;当第一目标导航路径与第二目标导航路径都不通过所述窄道或都不与所述窄道接触时,选择轨迹长度最短的目标导航路径设置为最终导航路径,从而在不通过窄道的路径中选择最短路径作为最终导航路径,其中,每一条目标导航路径的路径宽度都设置为大于一个机器人的机身宽度,每一条目标导航路径在其宽度方向上占有的栅格数大于一个机器人的机身宽度占有的栅格数。从而让机器人在窄道之外的行驶距离得到有效的缩短,提高机器人的工作效率。
需要说明的是,不通过所述窄道的目标导航路径是位于所述窄道的外部;不与所述窄道接触的目标导航路径是指路径中所有栅格都没有与所述窄道中的任一栅格出现重叠的位于所述窄道的外部的目标导航路径,具体地,所述窄道中的栅格包括组成所述窄道的障碍物占有的栅格以及所述窄道内部的自由栅格,组成所述窄道的障碍物可以是该窄道的左右两侧障碍物(比如两侧的墙体),组成所述窄道的障碍物占有的栅格包括障碍物的轮廓线占有的栅格,所述窄道的边界线可以分为所述窄道的内侧边界线和所述窄道的外侧边界线,则组成所述窄道的障碍物在所述窄道的外侧的轮廓线占有的栅格是所述窄道的外侧边界线占有的栅格,组成所述窄道的障碍物在所述窄道的内侧的轮廓线占有的栅格是所述窄道的内侧边界线占有的栅格,当不与所述窄道接触的目标导航路径位于所述窄道的外部,但不与所述窄道接触的目标导航路径中的栅格没有与所述窄道的外侧边界线占有的栅格出现重叠部分,以减少机器人与窄道碰撞的几率。另外,通过所述窄道的目标导航路径是该目标导航路径存在部分路径处于所述窄道的两侧的边界线之间的区域,即第一目标导航路径或第二目标导航路径存在部分路径是被所述窄道的两侧障碍物栅格包围,但该部分路径是通过所述窄道,或该部分路径是由所述窄道路径中的第一轨迹对或所述窄道路径中的第一轨迹对中其中一条轨迹组成,其中,该部分路径的起点位于所述窄道的入口处,该部分路径的终点位于所述窄道的出口处。
优选地,第一目标导航路径的轨迹长度大于第二目标导航路径的轨迹长度时,当第一目标导航路径的轨迹长度与第二目标导航路径的轨迹长度的差值的绝对值大于或等于预设距离阈值时,或第一目标导航路径与第二目标导航路径都不通过所述窄道或都不与所述窄道接触时,机器人将第二目标导航路径设置为所述最终导航路径;其中,预设距离阈值与第一目标导航路径的轨迹长度的比值、或预设距离阈值与第二目标导航路径的轨迹长度的比值是设置为20%。
优选地,第一目标导航路径的轨迹长度小于第二目标导航路径的轨迹长度时,当第一目标导航路径的轨迹长度与第二目标导航路径的轨迹长度的差值的绝对值小于所述预设距离阈值时,或第一目标导航路径与第二目标导航路径都不通过所述窄道或都不与所述窄道接触时,机器人将第一目标导航路径设置为所述最终导航路径;其中,预设距离阈值与第一目标导航路径的轨迹长度的比值、或预设距离阈值与第二目标导航路径的轨迹长度的比值是设置为20%。
优选地,第一待导航路径的集合内不存在第一待导航路径,则确定步骤S202中没有搜索出第一待导航路径,但是第二待导航路径的集合内存在通过所述窄道的第二待导航路径;其中,通过所述窄道的第二待导航路径包括所述窄道路径、和/或由所述窄道路径的部分或全部路径组成的第二待导航路径。
作为一种实施例,机器人沿着所述最终导航路径行走的过程中,由于对于窄道的边界线、窄道的入口及其出口所在栅格的标记会因为个别惯性传感器积累的误差而会出现偏差,即使通过执行所述机器人识别窄道的方法后,仍存在栅格标记误差(同一栅格的边长下将原本可通行的栅格位置标记为障碍物栅格),所以前述实施例公开的所述候选窄口处的栅格仍可能会被障碍物栅格占据,其中,基于相关实施例,机器人在确定所述待识别缺口所在通道是所述窄道时,会将所述待识别缺口识别为所述候选窄口;因此,当机器人行走至所述候选窄口处或通过所述候选窄口进入其所在的窄道后,机器人还是比较容易碰到窄道的墙壁的;若机器人在预设时间内检测到其与所述候选窄口或所述候选窄口所在的窄道的边界线碰撞的次数超出预设碰撞次数,则确定机器人无法按照所述最终导航路径顺利通过所述窄道,也证明机器人被困在所述窄道内,其中,预设时间以及预设碰撞次数都与所述窄道的宽度关联,所述窄道的宽度越小,则预设时间越长,且预设碰撞次数越多,当然可以引入机器人自身旋转角度进行评估;然后控制机器人开始沿着所述候选窄口所在的窄道的一条边界线行走,并停止继续沿着所述最终导航路径行走,以沿着机器人对应一侧的障碍物的轮廓线行走的方式通过所述候选窄口所在的窄道,在通过所述候选窄口所在的窄道后,机器人再行走至所述最终导航路径在所述窄道外部的路径,具体优先行走至距离最短的位置处,再继续沿着所述最终导航路径行走;从而机器人通过沿墙的方式尝试通过所述窄道,提高机器人的工作效率。
需要说明的是,当机器人从所述窄道的入口进入该窄道后再从该窄道的出口离开所述窄道时,确定机器人已经通过所述窄道;一般地,所述导航目标位置不设置在所述窄道内;其中,所述候选窄口是两个障碍物之间形成的可供机器人通行的待识别缺口,属于所述窄道的入口;所述窄道是以该两个障碍物的轮廓线为边界线组成的通道;两个障碍物的轮廓线上的点之间的最小距离大于或等于所述预设宽度范围的最小值;预设宽度范围的最小值是大于机器人的机身宽度;所述窄道的宽度是处于预设宽度范围,所述窄道的入口也是处于预设宽度范围。
在上述实施例中,机器人在栅格地图内搜索每条通向导航目标位置的路径的过程中,按照当前位置指向所述导航目标位置的方向,为搜索出的对应一条路径所在的栅格有序地标记索引号,并将由小到大排序的索引号对应的栅格的延伸方向设置为机器人在搜索出的对应一条路径上的行走方向,以确定机器人在所述最终导航路径上的行走方向。优选地,当所述当前位置指向所述导航目标位置的过程中需要通过所述窄道,则机器人在所述最终导航路径上的行走方向可以是从所述窄道的入口指向所述窄道的出口。在前述实施例确定确定机器人无法按照所述最终导航路径顺利通过所述窄道后,会控制机器人开始沿着所述候选窄口所在的窄道的一条边界线行走,此时可以根据分别与窄道的入口和出口距离最近的栅格的索引号确定机器人通过窄道的行走方向。
所述最终导航路径是被规划为通过所述窄道,并在每个栅格处标记有对应的索引号的情况下,存在:当所述最终导航路径中距离入口最近的栅格的索引号相对于当前位置所在栅格的索引号的差值绝对值,小于所述最终导航路径中距离出口最近的栅格的索引号相对于当前位置所在栅格的索引号的差值绝对值时,将机器人当前行走方向调整为与其相反的方向,即将当前行走方向的反方向设置为机器人出窄道的方向,按照当前行走方向的反方向沿着所述窄道的边界行走,以加快沿边离开所述窄道;当所述最终导航路径中距离入口最近的栅格的索引号相对于当前位置所在栅格的索引号的差值绝对值,大于所述最终导航路径中距离出口最近的栅格的索引号相对于当前位置所在栅格的索引号的差值绝对值时,按照机器人当前行走方向沿着所述窄道的边界行走,以加快沿边离开所述窄道。无需重新规划到达所述导航目标位置的路径,节约路径规划时间,提高导航效率。
在一些实施例中,机器人的当前位置是位于第一工作区域,所述导航目标位置是位于第二工作区域;第一工作区域与第二工作区域是不同的区域;所述第一工作区域与所述窄道的入口相连通,所述第二工作区域与所述窄道的出口相连通,使得机器人通过所述窄道从所述第一工作区域进入所述第二工作区域,或从所述第二工作区域返回所述第一工作区域;其中,所述窄道的出口是在所述窄道的长度/边界延伸方向上与所述窄道的入口相对的一个开口/缺口/候选窄口。优选地,所述窄道的入口的左右端点分别分布有墙体,以划分出所述第一工作区域和所述第二工作区域。则所述第一工作区域和所述第二工作区域都与二维空间位置上相邻的两段墙体之间的连通域(对应为所述待识别缺口所在通道)连通,优选地,该连通域内的待识别缺口的左右端点分别分布有相互平行的墙体边界线,相互平行的两条墙体边界线在栅格地图对应的图像中可以标记为连续的黑色线段,以划分出所述第一工作区域和所述第二工作区域;所述待识别缺口或所述候选窄口可以是房间的小门洞,门洞两侧的障碍物是同一房间内的四面墙壁,四面墙壁是连续的、一体的,另外,所述待识别缺口所在通道的左右两侧的墙体也可以近似为平行。所以,机器人沿着该待识别缺口的任一侧墙体行走进入该待识别缺口时不容易被墙体困住。
作为一种实施例,机器人在栅格地图内对所述窄道或所述窄道路径进行图像腐蚀处理以搜索通向导航目标位置的路径,获得第二待导航路径的集合的方法包括:机器人在栅格地图将所述窄道的两侧栅格或将所述窄道中所有栅格朝四个象限进行腐蚀,或者机器人在栅格地图将所述窄道路径的两侧栅格或将所述窄道路径中所有栅格朝四个象限进行腐蚀;然后通过腐蚀的图像处理手段将部分自由栅格设置为障碍物栅格,缩小与所述窄道或所述窄道路径相连通的自由栅格区域,保留下至少一条通向导航目标位置的路径,并将保留的每条通向导航目标位置的路径设置为第二待导航路径,再组成第二待导航路径的集合;其中,每条第二待导航路径在路径宽度方向上占据的栅格的宽度都大于机器人的机身宽度。优选地,若所述窄道路径或所述窄道的内部占有的栅格区域为单个栅格,则经过图像腐蚀处理后,所述窄道相应一侧的墙体障碍物可以变为3*3 的栅格区域,若所述窄道路径或所述窄道的内部占有的栅格区域为N*M的栅格区域,则经过图像腐蚀处理后,所述窄道相应一侧的墙体障碍物变为(N+2) * (M+2) 的栅格区域。优选地,在所述窄道内,与所述窄道路径相连通的自由栅格区域的缩小量是处于第一预设栅格数范围内,与所述窄道相连通的自由栅格区域的缩小量是处于第二预设栅格数范围内,其中,第二预设栅格数范围涵盖到第一预设栅格数范围,则对所述窄道中所有栅格朝四个象限进行腐蚀达到预设条件时,获得的通向导航目标位置的路径更多;该预设栅格数范围与所述候选窄口的宽度关联,所述候选窄口的宽度越多,则该预设栅格数范围被设置得越多;这里的预设条件可以是逐层腐蚀到所述窄道路径中的第一轨迹对或第二轨迹对中的一条轨迹上的栅格或该轨迹上特定栅格位置(属于自由栅格);所述候选窄口的宽度是所述候选窄口所在的两个障碍物的轮廓线上的点之间的距离;且每条第二待导航路径都是被规划为从机器人的当前位置延伸向所述导航目标位置的可通行路径。由于每条第二待导航路径在路径宽度方向上占据的栅格的宽度都大于机器人的机身宽度,所以,选择模板图像进行遍历栅格地图以实现图像腐蚀处理时,选择的模板图像的覆盖范围与机器人的尺寸相关,优选地,模板图像的覆盖直径等于机器人的机身宽度(机器人的机体直径),以在所述窄道的内外剔除不适应机器人通行的缝隙宽度的连通区域。前述的图像腐蚀处理能够将所述窄道内外面积较小且零星分布的白色连通域(即使该白色连通域是两个墙体之间的缝隙区域)改变为黑色像素点代表的墙体障碍区,相当于删除面积等于预设面积门限值的不合理的缝隙宽度的连通区域,导致:经过腐蚀处理的所述窄道或所述窄道路径中占有的栅格区域的黑色像素点的数量比腐蚀处理前的黑色像素点的数量增加一个预设数量门限值,从而缩小与所述窄道或所述窄道路径相连通的自由栅格区域,然后从机器人当前位置开始连接相关的栅格,让连接出的第二待导航路径是通过所述窄道,第二待导航路径是在所述窄道路径的第一轨迹对的基础上扩展得到,第二待导航路径的部分路径包括所述窄道路径的第一轨迹对所包括的直线段轨迹及其延长线,使得第二待导航路径携带有窄道信息,以便于机器人通过窄道来无障碍地行走至导航目标位置。因此,在所述窄道内留下能够通过窄道且延伸向所述导航目标位置的路径,并将其标记为第二待导航路径,可以搜索出多条第二待导航路径,毕竟,所述窄道路径内存在第一轨迹对和第二轨迹对,而第一轨迹对和第二轨迹对内分别存在多条能够连接成弓字型路径的直线段轨迹,且具有往复进出所述窄道的特征。因此,机器人沿着第二待导航路径行走过程中不会朝这些不合理的缝隙宽度的连通区域行走,从而使得机器人远离这些阻挡机器人前进的墙体障碍物,提高机器人行走的安全性。
优选地,在所述栅格地图中,会先将所述窄道或所述窄道路径的图像进行二值化处理,得到二值图像;然后对二值图像进行预设次数的腐蚀处理;在预设次数的腐蚀处理的过程中,逐个像素点地将窄道两侧(或四个象限方向)或窄道路径两侧(或四个象限方向)上的非连续位置的像素点填充为黑色,直到经过预设次数的腐蚀处理的窄道两侧(或四个象限方向)或窄道路径两侧(或四个象限方向)上的黑色像素点的数量比没有进行腐蚀处理之前的黑色像素点的数量增加一个预设数量门限值,在腐蚀处理的次数、和窄道两侧(或四个象限方向)或窄道路径两侧(或四个象限方向)上的黑色像素点的数量的增量都满足对应的阈值时,确定所述窄道的两侧墙体之间的最小缝隙宽度比所述机器人的机身宽度大0.4厘米。具体地,所述二值图像在计算机存储设备中以整数矩阵形式存储,每一个像素点的邻域有8个像素点。本实施例中,为了执行图像腐蚀处理,所述模板图像扫描所述二值图像的过程中,对于被所述模板图像的中心框定的每一个像素点,在所述模板图像框定的矩形图像区域内,如果该像素点本身及邻域8个像素点中有一个像素值不为1,则使该像素值为0,反之,所述模板图像当前框定的所有像素点的像素值都保持原值不变,如此,可以将所述二值图像中的白色连通域缩小,也会将对于图像间距相对较小的(例如小于预设间距阈值)区域填充为障碍区或墙体障碍区,实现依据前述扫描结果来将白色的像素点修改为黑色的像素点;所述模板图像可以是矩形图像区域,覆盖到栅格地图中。
作为一种实施例,所述机器人通过邻域搜索的方式在栅格地图内搜索通向导航目标位置的路径,获得第一待导航路径的集合的方法包括:在栅格地图内,机器人以其当前位置为搜索起点,按照当前位置指向所述导航目标位置的方向,在一些实施例中,当前位置指向所述导航目标位置的方向可以是从所述窄道的入口指向所述窄道的出口的出窄道方向或平行于该出窄道方向,机器人在该搜索起点的邻域内搜索自由栅格作为路径节点以使路径节点不位于障碍物的轮廓线上,其中,机器人在搜索起点的邻域内搜索出多个路径节点,其中,这些路径节点都是自由栅格,每个路径节点对应一个初始搜索方向;然后将每个路径节点都设置为搜索起点,再按照当前位置指向所述导航目标位置的方向在每个搜索起点的邻域内搜索自由栅格,如此重复,直至在栅格地图内搜索出所述导航目标位置,并按照搜索先后的顺序将搜索出的栅格同时连接成多条第一待导航路径,每条第一待导航路径以组成第一待导航路径的集合;其中,机器人在每个初始搜索方向上对应搜索出一条第一待导航路径,,每条第一待导航路径在路径宽度方向上占据的栅格的宽度大于机器人的机身宽度,且每条第一待导航路径都是从机器人的当前位置延伸向所述导航目标位置的可通行路径。优选地,所述邻域可以是以机器人当前位置(机器人的机体中心位置)所在栅格为中心的4邻域、8邻域或12邻域组成的栅格区域,可以是以机器人的机体中心位置的前后左右四个方向的10 、15 、20或30个栅格范围,其中,栅格数量10 、15 、20或30仅为示例性说明。
需要说明的是,在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
Claims (15)
1.一种机器人识别窄道的方法,其特征在于,所述机器人识别窄道的方法包括:
在机器人预先获取的栅格地图的对应栅格处,将障碍物之间形成的开口标记为待识别缺口;
在机器人按照预设折返覆盖方式反复进出待识别缺口所在通道的过程中,机器人根据单位折返路径在该待识别缺口所在通道的内外的间距,将该单位折返路径识别为窄道路径,并将该待识别缺口所在通道识别为窄道,并将窄道路径与窄道标记到栅格地图的对应栅格处;
其中,单位折返路径是机器人按照预设折返覆盖方式进入该待识别缺口所在通道至少两次形成的路径,使得机器人在两次进入该待识别缺口所在通道的期间,从该待识别缺口所在通道出来一次。
2.根据权利要求1所述机器人识别窄道的方法,其特征在于,在机器人没有进入待识别缺口所在通道或机器人已经行走过待识别缺口所在通道的前提下,当机器人探测到所述待识别缺口的宽度处于预设宽度范围时,机器人在栅格地图内将该待识别缺口标记为候选窄口,并将候选窄口的可信度设置为第一路径可信度;
在机器人没有进入待识别缺口所在通道或机器人已经行走过待识别缺口所在通道的前提下,当机器人接触到所述待识别缺口时,机器人在栅格地图内将该待识别缺口标记为候选窄口,并将候选窄口的可信度设置为第二路径可信度;
其中,第一路径可信度大于第二路径可信度;第一路径可信度和第二路径可信度都用于指示机器人在对应候选窄口处的可通行程度。
3.根据权利要求2所述机器人识别窄道的方法,其特征在于,所述待识别缺口是两个障碍物的轮廓线之间的开口,所述待识别缺口所在通道是以两个障碍物的轮廓线为边界线组成的通道;其中,两个障碍物的轮廓线都标记在栅格地图对应的栅格处;
所述待识别缺口的宽度是所述待识别缺口在机器人行进平面上的两个端点所在的栅格之间的距离,所述待识别缺口的两个端点分别位于对应障碍物的轮廓线上,所述待识别缺口的两个端点所在的栅格分别是障碍物栅格,所述待识别缺口的内部区域是由自由栅格填充;
所述待识别缺口的宽度大于机器人的机身宽度时,确定该待识别缺口允许机器人进入;所述待识别缺口的宽度小于机器人的机身宽度时,确定该待识别缺口不允许机器人进入;
其中,每当机器人进入该待识别缺口所在通道后,将其碰撞到的障碍物的轮廓线标记为所述待识别缺口所在通道的边界线。
4.根据权利要求1所述机器人识别窄道的方法,其特征在于,所述单位折返路径包括第一单位折返路径段和第二单位折返路径段;
机器人按照预设折返覆盖方式在待识别缺口所在通道的内部往复行走形成第一单位折返路径段,其中,第一单位折返路径段包括两条相邻的轨迹,机器人将第一单位折返路径段所包括的两条相邻的轨迹标记为第一轨迹对;
机器人按照预设折返覆盖方式在待识别缺口所在通道的外部往复行走形成第二单位折返路径段,其中,第二单位折返路径段包括两条相邻的轨迹,机器人将第二单位折返路径段所包括的两条相邻的轨迹标记为第二轨迹对;
当第一轨迹对的间距小于第二轨迹对的间距、或第一轨迹对的间距处于预设宽度范围时,机器人将所述单位折返路径识别为窄道路径,并将所述待识别缺口所在通道识别为窄道,并将所述窄道路径在窄道的内部形成的第一单位折返路径段、所述窄道路径在窄道的外部形成的第二单位折返路径段、以及窄道依次标记到栅格地图的对应栅格处;其中,预设宽度范围的最小值是大于机器人的机身宽度;
其中,第一轨迹对的间距表示所述第一单位折返路径段在所述待识别缺口所在通道的内部的宽度方向上产生的位移;第二轨迹对的间距是所述第二单位折返路径段所包括的两条相邻的轨迹的间距。
5.根据权利要求4所述机器人识别窄道的方法,其特征在于,第一轨迹对包括相互平行的第一一直线段轨迹和第一二直线段轨迹,第一一直线段轨迹和第一二直线段轨迹通过第一弯折线或第一预设线段相连接;机器人在第一轨迹对当中的每条直线段轨迹上的运动方向,被配置为与机器人在与该条直线段轨迹相连接的第二轨迹对当中对应一条轨迹上的运动方向相同;机器人在第一一直线段轨迹上的行走方向与机器人在第一二直线段轨迹上的行走方向是相反;其中,当所述待识别缺口的宽度或所述待识别缺口所在通道的宽度越小时,第一轨迹对的间距被设置得越小;第一一直线段轨迹和第一二直线段轨迹的间距是第一轨迹对的间距;
其中,机器人按照预设折返覆盖方式反复进出所述待识别缺口所在通道的过程中,若机器人由第一区域进入所述待识别缺口所在通道再由所述待识别缺口所在通道返回第一区域,则第一轨迹对通过第三弯折线或第三预设线段连接第二轨迹对,第一区域是位于所述待识别缺口所在通道的外部。
6.根据权利要求5所述机器人识别窄道的方法,其特征在于,第二轨迹对包括相互平行的第二一直线段轨迹和第二二直线段轨迹,第二一直线段轨迹和第二二直线段轨迹通过第二弯折线或第二预设线段相连接,其中,第二一直线段轨迹和第二二直线段轨迹的间距大于预设宽度范围的最大值,第二一直线段轨迹和第二二直线段轨迹的间距是第二轨迹对的间距;第二单位折返路径段和第一单位折返路径段都属于弓字型路径,使所述单位折返路径是由轨迹的间距不同的多条弓字型路径首尾连接形成;
机器人在第二轨迹对当中的每条直线段轨迹上的行走方向,被配置为与机器人在与该条直线段轨迹相连接的第一轨迹对当中对应一条轨迹上的行走方向相同;其中,机器人在第二一轨迹上的运动方向与机器人在第二二轨迹上的运动方向是相反。
7.根据权利要求6所述机器人识别窄道的方法,其特征在于,当机器人行走在所述窄道的内部时,所述窄道的两侧边界线与机器人对应一侧的最短距离都处于预设间隙距离范围;或者,当机器人进入所述窄道的入口至机器人的中心与所述窄道的入口的两个端点处于同一直线上时,所述窄道的入口的两个端点与机器人对应一侧的最短距离都处于预设间隙距离范围;
其中,预设宽度范围等于预设间隙距离范围的两倍与机器人的机身宽度的和值;所述窄道的入口的宽度或所述窄道的宽度处于预设宽度范围;
其中,所述窄道的两侧的开口的距离大于或等于所述第一轨迹对当中的每条轨迹的长度;所述窄道的两侧的开口分别是所述窄道的入口与所述窄道的出口;
其中,每个栅格的边长对应表示为机器人实际工作区域内的5厘米、10厘米或15厘米。
8.一种窄道导航方法,其特征在于,所述窄道导航方法包括:
在机器人执行权利要求1至7任一项所述机器人识别窄道的方法后,机器人在栅格地图的对应栅格处标记窄道路径以及窄道;
然后,机器人先从当前位置开始,通过邻域搜索的方式在栅格地图内搜索通向导航目标位置的路径,获得第一待导航路径的集合;机器人在栅格地图内对所述窄道或所述窄道路径进行图像腐蚀处理以搜索通向导航目标位置的路径,获得第二待导航路径的集合;
从第一待导航路径的集合中选择导航轨迹长度最短的第一待导航路径设置为第一目标导航路径,并从第二待导航路径的集合中选择导航轨迹长度最短的第二待导航路径设置为第二目标导航路径;其中,导航轨迹长度是从当前位置延伸至导航目标位置的轨迹长度;
根据第一目标导航路径与第二目标导航路径的轨迹长度差异,选择不通过所述窄道的目标导航路径或不与所述窄道接触的目标导航路径设置为最终导航路径,或选择轨迹长度最短的目标导航路径设置为最终导航路径;其中,第一目标导航路径与第二目标导航路径都属于目标导航路径;
然后机器人从当前位置开始,沿着所述最终导航路径行走至所述导航目标位置。
9.根据权利要求8所述窄道导航方法,其特征在于,所述根据第一目标导航路径与第二目标导航路径的轨迹长度差异,选择不通过所述窄道的目标导航路径或不与所述窄道接触的目标导航路径设置为最终导航路径,或选择轨迹长度最短的目标导航路径设置为最终导航路径的方法包括:
当第一目标导航路径的轨迹长度与第二目标导航路径的轨迹长度的差值的绝对值大于或等于预设距离阈值时,选择轨迹长度最短的目标导航路径设置为最终导航路径;
当第一目标导航路径的轨迹长度与第二目标导航路径的轨迹长度的差值的绝对值小于预设距离阈值时,选择不通过所述窄道的目标导航路径或不与所述窄道接触的目标导航路径设置为最终导航路径;
当第一目标导航路径与第二目标导航路径都不通过所述窄道、或都不与所述窄道接触时,选择轨迹长度最短的目标导航路径设置为最终导航路径;
其中,不通过所述窄道的目标导航路径是位于所述窄道的外部;不与所述窄道接触的目标导航路径是指路径中所有栅格都没有与所述窄道中的任一栅格出现重叠的位于所述窄道的外部的目标导航路径;每条目标导航路径的路径宽度都设置为大于一个机器人的机身宽度;
其中,通过所述窄道的目标导航路径是该目标导航路径存在部分路径处于所述窄道的两侧的边界线之间的区域,且该部分路径的起点位于所述窄道的入口处,该部分路径的终点位于所述窄道的出口处。
10.根据权利要求9所述窄道导航方法,其特征在于,第一目标导航路径的轨迹长度大于第二目标导航路径的轨迹长度时,当第一目标导航路径的轨迹长度与第二目标导航路径的轨迹长度的差值的绝对值大于或等于预设距离阈值时,或第一目标导航路径与第二目标导航路径都不通过所述窄道或都不与所述窄道接触时,机器人将第二目标导航路径设置为所述最终导航路径;其中,预设距离阈值与第一目标导航路径的轨迹长度的比值、或预设距离阈值与第二目标导航路径的轨迹长度的比值是设置为20%;
第一目标导航路径的轨迹长度小于第二目标导航路径的轨迹长度时,当第一目标导航路径的轨迹长度与第二目标导航路径的轨迹长度的差值的绝对值小于预设距离阈值时,或第一目标导航路径与第二目标导航路径都不通过所述窄道或都不与所述窄道接触时,机器人将第一目标导航路径设置为所述最终导航路径;其中,预设距离阈值与第一目标导航路径的轨迹长度的比值、或预设距离阈值与第二目标导航路径的轨迹长度的比值是设置为20%。
11.根据权利要求9所述窄道导航方法,其特征在于,第一待导航路径的集合内不存在第一待导航路径时,第二待导航路径的集合内存在通过所述窄道的第二待导航路径;
其中,通过所述窄道的第二待导航路径包括所述窄道路径、和/或由所述窄道路径的部分或全部路径组成的第二待导航路径。
12.根据权利要求9所述窄道导航方法,其特征在于,机器人沿着所述最终导航路径行走的过程中,当机器人行走至所述候选窄口处或通过所述候选窄口进入其所在的窄道后,若机器人在预设时间内检测到其与所述候选窄口或所述候选窄口所在的窄道的边界线碰撞的次数超出预设碰撞次数,则控制机器人开始沿着所述候选窄口所在的窄道的一条边界线行走,并停止继续沿着所述最终导航路径行走,以沿着机器人对应一侧的障碍物的轮廓线行走的方式通过所述候选窄口所在的窄道;
其中,所述候选窄口是两个障碍物之间形成的可供机器人通行的待识别缺口,属于所述窄道的入口;所述窄道是以该两个障碍物的轮廓线为边界线组成的通道;两个障碍物的轮廓线上的点之间的最小距离大于或等于预设宽度范围的最小值;
其中,机器人在栅格地图内搜索每条通向导航目标位置的路径的过程中,按照当前位置指向所述导航目标位置的方向,为搜索出的对应一条路径所在的栅格有序地标记索引号,并将由小到大排序的索引号对应的栅格的延伸方向设置为机器人在搜索出的对应一条路径上的行走方向,以确定机器人在所述最终导航路径上的行走方向。
13.根据权利要求8所述窄道导航方法,其特征在于,机器人的当前位置是位于第一工作区域,所述导航目标位置是位于第二工作区域;第一工作区域与第二工作区域是不同的区域;
所述第一工作区域与所述窄道的入口相连通,所述第二工作区域与所述窄道的出口相连通,使得机器人通过所述窄道从所述第一工作区域进入所述第二工作区域,或从所述第二工作区域返回所述第一工作区域;
其中,所述窄道的入口的左右端点分别分布有墙体,以划分出所述第一工作区域和所述第二工作区域。
14.根据权利要求12所述窄道导航方法,其特征在于,机器人在栅格地图内对所述窄道或所述窄道路径进行图像腐蚀处理以搜索通向导航目标位置的路径,获得第二待导航路径的集合的方法包括:
机器人在栅格地图将所述窄道的两侧栅格或将所述窄道中所有栅格朝四个象限进行腐蚀,或者机器人在栅格地图将所述窄道路径的两侧栅格或将所述窄道路径中所有栅格朝四个象限进行腐蚀;
通过腐蚀的图像处理手段将部分自由栅格设置为障碍物栅格,缩小与所述窄道或所述窄道路径相连通的自由栅格区域,保留下至少一条通向导航目标位置的路径,并将保留的每条通向导航目标位置的路径设置为第二待导航路径,再组成第二待导航路径的集合。
15.根据权利要求12所述窄道导航方法,其特征在于,所述机器人通过邻域搜索的方式在栅格地图内搜索通向导航目标位置的路径,获得第一待导航路径的集合的方法包括:
在栅格地图内,机器人以其当前位置为搜索起点,按照当前位置指向所述导航目标位置的方向,在该搜索起点的邻域内搜索自由栅格作为路径节点以使路径节点不位于障碍物的轮廓线上,其中,机器人在搜索起点的邻域内搜索出多个路径节点;然后将每个路径节点都设置为搜索起点,再按照当前位置指向所述导航目标位置的方向在每个搜索起点的邻域内搜索自由栅格,如此重复,直至搜索出所述导航目标位置,并按照搜索先后的顺序将搜索出的栅格连接成第一待导航路径,以组成第一待导航路径的集合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210700266.1A CN117292246A (zh) | 2022-06-20 | 2022-06-20 | 一种机器人识别窄道的方法及窄道导航方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210700266.1A CN117292246A (zh) | 2022-06-20 | 2022-06-20 | 一种机器人识别窄道的方法及窄道导航方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117292246A true CN117292246A (zh) | 2023-12-26 |
Family
ID=89243193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210700266.1A Pending CN117292246A (zh) | 2022-06-20 | 2022-06-20 | 一种机器人识别窄道的方法及窄道导航方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117292246A (zh) |
-
2022
- 2022-06-20 CN CN202210700266.1A patent/CN117292246A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107340768B (zh) | 一种智能机器人的路径规划方法 | |
CN112137529B (zh) | 一种基于密集障碍物的清扫控制方法 | |
CN111830970B (zh) | 一种机器人沿边行走的区域清扫规划方法、芯片及机器人 | |
CN111596662B (zh) | 一种沿全局工作区域一圈的判断方法、芯片及视觉机器人 | |
CN111857127B (zh) | 一种机器人沿边行走的清洁分区规划方法、芯片及机器人 | |
Konolige | A gradient method for realtime robot control | |
CN111580525B (zh) | 沿边行走中返回起点的判断方法、芯片及视觉机器人 | |
CN112539749B (zh) | 机器人导航方法、机器人、终端设备及存储介质 | |
JP2020501282A5 (zh) | ||
CN112180924B (zh) | 一种导航至密集障碍物的移动控制方法 | |
CN113741438A (zh) | 路径规划方法、装置、存储介质、芯片及机器人 | |
KR20220124199A (ko) | 장애물 통과 종료 판단 방법, 장애물 통과 제어 방법, 칩 및 로봇 | |
WO2024037262A1 (zh) | 一种机器人通过窄道的导航方法、芯片及机器人 | |
CN113110497A (zh) | 基于导航路径的沿边绕障路径选择方法、芯片及机器人 | |
CN111897335A (zh) | 一种机器人弓字型行走时的避障控制方法及其控制系统 | |
CN113110499B (zh) | 一种通行区域的判定方法、路线搜索方法、机器人及芯片 | |
CN117292246A (zh) | 一种机器人识别窄道的方法及窄道导航方法 | |
CN111240322A (zh) | 机器人移动限制框的工作起点确定方法及运动控制方法 | |
US20220100197A1 (en) | Self-propelled device and method for controlling the same | |
CN111897336B (zh) | 一种机器人沿边行为结束的判断方法、芯片及机器人 | |
CN116339302A (zh) | 一种沿边小区域划分清扫方法及区域合并显示方法 | |
CN116540689A (zh) | 一种机器人的沿边控制方法、芯片及机器人 | |
CN117666547A (zh) | 一种机器人进入窄道的识别方法、芯片及机器人 | |
CN112155477B (zh) | 一种基于栅格地图的密集障碍物点标记方法 | |
CN116069010A (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 |