CN117629205A - 一种机器人通过窄道的导航方法、芯片及机器人 - Google Patents
一种机器人通过窄道的导航方法、芯片及机器人 Download PDFInfo
- Publication number
- CN117629205A CN117629205A CN202210982509.5A CN202210982509A CN117629205A CN 117629205 A CN117629205 A CN 117629205A CN 202210982509 A CN202210982509 A CN 202210982509A CN 117629205 A CN117629205 A CN 117629205A
- Authority
- CN
- China
- Prior art keywords
- robot
- obstacle
- contour line
- line segment
- positioning contour
- 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 65
- 238000010845 search algorithm Methods 0.000 claims description 11
- 239000000284 extract Substances 0.000 claims description 6
- 230000008569 process Effects 0.000 description 15
- 238000010408 sweeping Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000004888 barrier function Effects 0.000 description 4
- 230000007613 environmental effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000011065 in-situ storage Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
- 238000004804 winding Methods 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/20—Instruments for performing navigational calculations
- G01C21/206—Instruments for performing navigational calculations specially adapted for indoor navigation
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/24—Floor-sweeping machines, motor-driven
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/40—Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/40—Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
- A47L11/4061—Steering means; Means for avoiding obstacles; Details related to the place where the driver is accommodated
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明公开一种机器人通过窄道的导航方法、芯片及机器人;所述导航方法包括:步骤S1、在机器人进入窄道后,若机器人碰撞到障碍物,则针对该障碍物拟合出定位轮廓线段,再转动,直至机器人的当前行走方向与当前拟合出的定位轮廓线段的预设通行方向相同、或机器人的当前行走方向相对于当前拟合出的定位轮廓线段向可通行区域偏转预设角度,以使机器人当前不被障碍物阻挡前行,再执行步骤S2;步骤S2、机器人按照当前行走方向直线行走,直至碰撞到障碍物,再执行步骤S1;当机器人行走至预设目标位置时,停止执行步骤S1,并确定机器人通过窄道。
Description
技术领域
本发明涉及移动机器人导航技术领域,尤其涉及一种机器人通过窄道的导航方法、芯片及机器人。
背景技术
扫地机器人在清扫时,若行进至两个墙体之间或两个低矮障碍物形成的宽度略大于机器人的机身宽度的窄道情况,在触碰到障碍时会主动避开,通过大幅度转向来进行避障,绕开障碍物或窄道;然而这一窄道却是通往目标位置的较为便捷的通道;一般而言,窄道的两侧分别是两条障碍物的轮廓线;并且在设置移动路径时,一般将扫地机器人设置为一个点来看待。为了方便扫地机器人移动至另一个房间区域内目标位置,设置的移动路径可能需要通过窄道。由于计算误差和探索效率的要求,所以机器人规划的导航路径不适用于窄道环境,在狭窄通道不够流畅或者重复导航。
发明内容
为了解决机器人通行窄道的问题,本发明提供一种机器人通过窄道的导航方法、芯片及机器人,具体的技术方案如下:
一种机器人通过窄道的导航方法,所述导航方法包括:步骤S1、在机器人进入窄道后,若机器人碰撞到障碍物,则针对该障碍物拟合出定位轮廓线段,再转动,直至机器人的当前行走方向与当前拟合出的定位轮廓线段的预设通行方向相同、或机器人的当前行走方向相对于当前拟合出的定位轮廓线段向可通行区域偏转预设角度,以使机器人当前不被障碍物阻挡前行,再执行步骤S2;步骤S2、机器人按照当前行走方向直线行走,直至碰撞到障碍物,再执行步骤S1;当机器人行走至预设目标位置时,停止执行步骤S1,并确定机器人通过窄道。
进一步地,在所述步骤S1中,机器人在其拟合出的定位轮廓线段当中,将相对于预设目标位置形成最短可通行路径的端点设置为该定位轮廓线段的目标端点,其中,该最短可通行路径是位于机器人所进入的窄道的可通行区域内;机器人将定位轮廓线段当中除了目标端点之外的端点指向目标端点的方向配置为该定位轮廓线段的预设通行方向。
进一步地,机器人将每个定位轮廓线段的目标端点所在的通道都配置为窄道;机器人将定位轮廓线段设置为窄道的边界线;每当机器人碰撞到新的障碍物,则针对该新的障碍物拟合出定位轮廓线段,再获取该新的障碍物的定位轮廓线段的目标端点,并将该目标端点所在的通道的开口识别为窄道口。
进一步地,在步骤S2中,在机器人行走至所述预设目标位置之前,若机器人识别到窄道口,则将该窄道口识别为该窄道的出口,然后机器人将其当前行走方向调整为当前拟合出的定位轮廓线段的预设通行方向、或相对于当前拟合出的定位轮廓线段向可通行区域偏转预设角度;然后机器人按照当前行走方向直线行走以离开窄道。
进一步地,所述导航方法还包括:在机器人进入窄道之前,若机器人识别到窄道口,则将该窄道口识别为该窄道的入口,然后机器人将其当前行走方向调整为当前拟合出的定位轮廓线段的预设通行方向、或机器人的当前行走方向相对于当前拟合出的定位轮廓线段向可通行区域偏转预设角度;然后机器人按照当前行走方向直线行走以进入该窄道的入口,再执行步骤S1。
进一步地,在机器人开始识别窄道口之前,若机器人碰撞到障碍物,则将该障碍物标记为机器人开始识别所述窄道口之前最新探测到的障碍物,再针对该障碍物拟合出定位轮廓线段,然后机器人将其当前行走方向调整为与当前拟合出的定位轮廓线段的预设通行方向相同,以使机器人沿着当前拟合出的定位轮廓线段行走,直至碰撞到新的障碍物并针对该新的障碍物拟合出对应的定位轮廓线段,再开始识别窄道口。
进一步地,每当机器人转动至其当前行走方向与当前拟合出的定位轮廓线段的预设通行方向相同、或转动至其当前行走方向相对于当前拟合出的定位轮廓线段向可通行区域偏转所述预设角度时,机器人按照当前行走方向直线行走预设安全距离,并在直线行走的过程中检测是否碰撞到障碍物,是则执行步骤S1,否则确定机器人已经通过一条窄道,然后使用启发式搜索算法规划出通向所述预设目标位置的路径、或通向距离当前行走方向上所探测到的障碍物最近的位置的路径,再沿着当前规划出的的路径行走,直至机器人识别到另一条窄道的入口并进入该窄道,再执行所述步骤S1。
进一步地,机器人识别窄道口的方法包括:机器人先对最新碰撞到的障碍物拟合出定位轮廓线段,然后机器人在该定位轮廓线段的搜索方向上提取出两个绕障点,若检测到该两个绕障点之间的距离处于预设距离范围,则将所述两个绕障点所在通道识别为窄道,并将该两个绕障点各自所在的障碍物之间形成的缺口识别为窄道口。
进一步地,在机器人识别到窄道口后,若检测到机器人的行走方向从参考绕障方向变为当前拟合出的定位轮廓线段的预设通行方向或相对于当前拟合出的定位轮廓线段向可通行区域偏转所述预设角度,且机器人按照变化后的行走方向直线行走,则机器人识别为其进入窄道;其中,所述变化后的行走方向是配置为由机器人的当前位置指向所述两个绕障点所在通道的内部的可通行区域的方向;其中,参考绕障方向是上一次拟合出的定位轮廓线段的预设通行方向或相对于上一次拟合出的定位轮廓线段向可通行区域偏转所述预设角度;其中,上一次拟合出的定位轮廓线段是在机器人开始识别窄道口之前,针对最新碰撞到的障碍物拟合出的定位轮廓线段。
进一步地,在开始识别窄道口之前,机器人碰撞到一个障碍物并拟合出对应的定位轮廓线段;然后,在机器人碰撞到另一个障碍物时开始识别窄道口;机器人针对在先碰撞到的一个障碍物拟合出的定位轮廓线段是所述上一次拟合出的定位轮廓线段,机器人针对在后碰撞到的一个障碍物拟合出的定位轮廓线段是所述当前拟合出的定位轮廓线段,使上一次拟合出的定位轮廓线段的预设通行方向与当前拟合出的定位轮廓线段的预设通行方向不同。
进一步地,机器人将所述定位轮廓线段的搜索方向设置为该定位轮廓线段的垂直方向以形成所述两个绕障点所在通道的宽度方向;所述两个绕障点沿着所述定位轮廓线段的搜索方向分布于:机器人开始识别窄道口之前最新碰撞到的障碍物中和机器人开始识别该窄道口时所碰撞到的障碍物中。
进一步地,所述预设距离范围是设置为大于或等于机器人的机身宽度;预设安全距离是设置为等于机器人的机身宽度;所述预设角度被设置为引导机器人离开当前碰撞到的障碍物、或绕过当前碰撞到的障碍物的定位轮廓线段的任一个端点,以行走至与所述预设目标位置相连通的可通行区域;所述最短可通行路径是机器人分别以定位轮廓线段的两个端点为搜索起点,使用启发式搜索算法规划出的通向所述预设目标位置的路径当中路径长度最短的一条路径。
一种芯片,存储有程序代码,程序代码被执行时实现如所述导航方法的步骤。
一种机器人,装配有距离传感器,所述机器人设置所述的芯片,用于控制机器人使用距离传感器探测到障碍物的点云数据,并从点云数据中拟合对应的定位轮廓线段,便于通过执行所述导航方法机器人导航方法来通过窄道。
本发明的有益技术效果在于,在窄道内,本发明公开的机器人沿着拟合出的定位轮廓线段指示的特定方向(在窄道内通往预设目标位置的最短路径的方向)试探性前进,通过碰撞障碍物的方式识别出窄道口并及时调整方向以避开障碍物,重复进行,行走出从起始位置通往预设目标位置的路线,以实现朝着预设目标位置交替扭转前进通过所述窄道;从而控制机器人在窄道内精准避障,使导航能流畅通过宽度比机身宽度大1cm的窄道口和其余复杂的狭窄通道场景,提升机器人通过狭窄通道的流畅度和成功率。
机器人的行走方向只要从参考绕障方向变为当前拟合出的定位轮廓线段的预设通行方向或相对于当前拟合出的定位轮廓线段向可通行区域偏转所述预设角度,且机器人按照变化后的行走方向直线行走,且所述两个绕障点之间的距离处于所述预设距离范围时,机器人都将所述两个绕障点所在通道识别为窄道并确定其进入窄道。
本发明分别在开始识别窄道口之前、开始识别窄道口时、识别到窄道口前后、进入窄道之前以及进入窄道的对应阶段内,根据机器人与障碍物的碰撞情况以及对障碍物轮廓的拟合情况,调整机器人的行走方向,再在窄道内做直线行走,以趋向于行走向该预设目标位置;并基于机器人先后与两个障碍物的碰撞情况以及对各个障碍物轮廓的拟合情况识别窄道口,以区分开始识别窄道口之前、开始识别窄道口时、以及识别到窄道口这三种识别状态,进而推进机器人进入窄道以及再次进入窄道的进程。
附图说明
图1是本发明一种实施例公开的一种机器人通过窄道的导航方法的流程图。
图2是本发明的另一种实施例公开机器人通过窄道的运动轨迹示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细描述。为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
在机器人通过窄道时,为了克服拟合轮廓线段的过程中产生过大的计算误差、以及规划出的行走方向引入的传感器误差,让机器人的导航能够流畅地在窄道内通行并通过窄道,本发明公开一种机器人通过窄道的导航方法;导航方法的执行主体是装配测距传感器的机器人,在本申请中,所述导航方法通过该机器人自动执行,既可以接受人类输入指令,也可以运行预先编排的程序指令,还可以基于人工智能技术自主制订任务并执行。所述机器人可以是圆柱体,至少集成了碰撞传感器和测距传感器。其中,测距传感器可以是线激光传感器,通过对外部发射线激光来获取障碍物反射回的位置信息,通过探测周围环境的二维点云数据,及时构建出二维点云地图,且在机器人的机体上的传感器安装数目可以是一个线激光传感器或多个线激光传感器;线激光传感器包括多线激光雷达和单线激光雷达,单线激光雷达是指激光源发出的线束是单线的雷达,应用于机器人领域,以服务机器人居多,可以帮助机器人规避障碍物,其扫描速度快、分辨率强、可靠性高,相比多线激光雷达,单线激光雷达在角频率及灵敏度上反应更快捷,所以,在测试周围障碍物的距离和精度上都更加精准。尤其是行走于地表面的清洁机器人、行走于由边界线划定的具有狭窄通道的草坪区域的割草机器人、洗地机、以及安防巡视机器人等,本实施例不作为对导航方法的适用主体的类型进行限定。机器人还可以安装有惯性传感器(包括但不限于用于测量行走距离的里程计、用于检测与障碍物的碰撞状态的碰撞传感器、以及用于测量机体旋转角度的陀螺仪)、或视觉传感器(可以采用任意类型的深度信息采集设备,包括但不限于单目相机、双目相机等摄像头)。
参阅图1可知,所述导航方法包括:步骤S1、在机器人进入窄道后,若机器人碰撞到障碍物,则针对该障碍物拟合出定位轮廓线段,作为机器人当前拟合出的定位轮廓线段,该当前拟合出的定位轮廓线段表征为机器人最新探测到的障碍物的轮廓线段;然后机器人转动,具体是原地转动直至机器人的当前行走方向与当前拟合出的定位轮廓线段的预设通行方向相同、或机器人的当前行走方向相对于当前拟合出的定位轮廓线段向可通行区域偏转预设角度,以使机器人当前不被障碍物阻挡前行;其中,机器人的当前行走方向与当前拟合出的定位轮廓线段的预设通行方向相同时,机器人的当前行走方向与当前拟合出的定位轮廓线段平行且机器人的当前行走方向在所处的窄道内是指向所述预设目标位置的最短路径的延伸方向;另外,向可通行区域偏转预设角度的实施方式包括:在当前拟合出的定位轮廓线段的左侧或该定位轮廓线段所在的障碍物的左侧存在可通行区域(没被障碍物占据)时,机器人相对于当前拟合出的定位轮廓线段的延伸方向向左偏转;在当前拟合出的定位轮廓线段的右侧或该定位轮廓线段所在的障碍物的右侧存在可通行区域(没被障碍物占据)时,机器人相对于当前拟合出的定位轮廓线段的延伸方向向右偏转;所述预设角度与拟合计算的精度关联,精度越高,则当前拟合出的定位轮廓线段越贴近障碍物,则所述预设角度被设置得越小,否则越大。所述预设角度优选为处于0至30度之内。然后机器人执行步骤S2。
需要说明的是,机器人拟合出定位轮廓线段的方法包括:对于窄道,本实施例公开的线激光传感器采集的点云数据(雷达点)都是以离散坐标表示,这些离散坐标具体是用来表示障碍物位置,大多是需要经筛选、分组,再对分组出来的点云数据进行拟合,获得拟合直线或拟合曲线,再依据世界坐标与图像坐标的比例转换关系,通过拟合曲线或拟合直线的坐标点得到障碍物包络线;优选地,为了保证路径规划算法的效率,在路径搜索阶段采用简单的机器人质点模型,优选地,对拟合曲线或拟合直线进行虚拟膨胀处理,其膨胀半径设定为机器人轮廓投影的内切圆的半径或外接圆的半径,形成包围该障碍物的拟合圆形,对应围出障碍物包络线;从而将障碍物包络线实时显示于栅格地图中(点云数据包围状离散分布在障碍物的周围),不仅对应障碍物到机器人的边缘的激光探测距离,还能用来表示障碍物位置。
步骤S2、机器人按照当前行走方向直线行走,直至碰撞到障碍物,再执行步骤S1;在重复执行步骤S1和前述直线行走操作的过程中,若机器人行走至预设目标位置,则停止执行步骤S1,并确定机器人通过窄道;优选地,预设目标位置是位于窄道的外部,且与窄道内部的可通行区域相连通以支持窄道内部的机器人直线行走至该预设目标位置处。
具体地,对于步骤S2,每当机器人转动至其当前行走方向与当前拟合出的定位轮廓线段的预设通行方向相同、或转动至其当前行走方向相对于当前拟合出的定位轮廓线段向可通行区域偏转所述预设角度时,机器人按照当前行走方向直线行走预设安全距离,并在直线行走的过程中检测是否碰撞到障碍物,是则执行步骤S1以实现机器人精准避障;否则确定机器人已经通过一条窄道,并确定机器人当前退出窄道,预设安全距离优选为机器人的机身宽度以符合窄道环境内的宽度设置要求,然后使用启发式搜索算法规划出通向所述预设目标位置的路径、或通向距离当前行走方向上所探测到的障碍物(可以是距离机器人的当前位置最近的一个障碍物)最近的位置的路径,可以是距离相应障碍物的轮廓线最近的局部目标位置的路径;再沿着规划出的路径行走,若机器人在接近所述预设目标位置的区域内则沿着通向所述预设目标位置的路径行走,若机器人在远离所述预设目标位置且被障碍物三面包围的局部区域内则沿着通向所述局部目标位置的路径行走;直至机器人识别到另一条窄道的入口并进入该窄道,再执行所述步骤S1以实现沿着新的方向进入新的窄道。
优选地,机器人识别到另一条窄道的入口的前提条件包括:在沿着规划出路径行走的过程中,机器人已经探测到或碰撞到新的障碍物,且开始去识别窄道口。对应到图2中,机器人从start位置导航到target位置(预设目标位置),在R位置遇到障碍物,使用点云数据拟合线段A0B0,再根据局部目标位置R1或预设目标位置target选择当前行走方向是A0指向B0还是B0指向A0,然后机器人选择B0指向A0的方向运动到局部目标位置R1,可能会碰撞到其右侧的障碍物,并开始识别窄道口;机器人在位置R1处识别到位置B1和位置A0之间的缺口为窄道口时,机器人进入通过窄道口,一直运动到预设目标位置target。其中,当机器人行走至位置R5时,选择B5指向A5的方向作为当前行走方向,再沿着所述当前行走方向行走至位置R6,实现控制机器人旋转到无障碍物的方向,不与定位轮廓线段B5A5所在的障碍物以及定位轮廓线段B4A4所在的障碍物相碰撞,机器人刚好通过相应的窄道口(即窄道的出口),然后使用启发式搜索算法规划出通向所述预设目标位置的路径,再沿着规划出的路径或导航方向直线行走至预设目标位置target。
优选地,测距传感器描述环境的点云数据感知范围和视野有限,无法详尽的描述机器人周围的环境信息,然后基于导航任务的全局路径在局部地图范围内选择局部规划的局部目标位置,具体方式为从当前位置开始沿着全局路径寻找局部地图内的最靠近边缘的一个航迹点,以此作为局部目标位置。全局路径是前述实施例公开的使用启发式搜索算法规划出通向所述预设目标位置的路径。
综上,在窄道内,本发明公开的机器人沿着拟合出的定位轮廓线段指示的特定方向(在窄道内通往预设目标位置的最短路径的方向)试探性前进,通过碰撞障碍物的方式识别出窄道口并及时调整方向以避开障碍物,重复进行,行走出从起始位置通往预设目标位置的路线,以实现朝着预设目标位置交替扭转前进通过所述窄道;从而控制机器人在窄道内精准避障,使导航能流畅通过宽度比机身宽度大1cm的窄道口和其余复杂的狭窄通道场景,提升机器人通过狭窄通道的流畅度和成功率。
在上述实施例中,在所述步骤S1中,机器人在其拟合出的定位轮廓线段当中,将相对于预设目标位置形成最短可通行路径的端点设置为该定位轮廓线段的目标端点,按照机器人通过窄道的时间变化,目标端点在图2内的分布位置依次是位置A0、位置B1、位置B2、位置B3、位置B4、以及位置A5,依次对应为定位轮廓线段A0B0的端点、定位轮廓线段A1B1的端点、定位轮廓线段A2B2的端点、定位轮廓线段A3B3的端点、定位轮廓线段A4B4的端点、以及定位轮廓线段A5B5的端点;其中,所述最短可通行路径是位于机器人所进入的窄道的可通行区域内;机器人将定位轮廓线段当中除了目标端点之外的端点指向目标端点的方向配置为该定位轮廓线段的预设通行方向,在图2内的依次对应为B0指向A0的方向、索引号①所标记的箭头指向、索引号②所标记的箭头指向、索引号③所标记的箭头指向、索引号④所标记的箭头指向、以及B5指向A5的方向。从而在机器人识别到窄道口并进入其中后,计算出机器人需要转动的精确角度,避开障碍物,以将机器人的行走方向转动到指向前方无障碍物的方位。
作为一种实施例,机器人将每个所述定位轮廓线段的目标端点所在的通道都配置为窄道;机器人将定位轮廓线段设置为窄道的边界线;每当机器人碰撞到新的障碍物,则针对该新的障碍物拟合出定位轮廓线段,再获取该新的障碍物的定位轮廓线段的目标端点,相当于通道的一种边界点,并将该目标端点所在的通道的开口识别为窄道口。在该实施例中,在执行所述步骤S1前后,机器人在行进过程中通过碰撞传感器探测其在行进路径上是否存在障碍物,并结合测距传感器来探测在行进路径上是否存在窄道,例如,若机器人的机身宽度(外形直径)为D,则可以将宽度在(1-ɑ)D至(1+ɑ)D范围内的通道确定为窄道,其中,系数ɑ可以结合机器人的外形及材质进行设定,比如ɑ取值为0.03。
需要说明的是,由于机器人的传感器积累的误差、不同的障碍物材质、以及不同的光照环境干扰,所以,利用激光传感器采集的点云数据获得的障碍物包络线(障碍物的外围包络轮廓,一条拟合曲线或多条拟合曲线的连接)不一定能贴合实际障碍物位置,则机器人在搜索路径时可能将窄道口排除到机器人的可通行区域之外,因而障碍物包络线的误差容易引起机器人对窄道口的误判;则需要在本申请中通过机器人碰撞的方式来在恰当时机下拟合障碍物的定位轮廓线段并获得相应的指导方向并趁机进入窄道内。
作为一种实施例,所述导航方法还包括:在机器人进入窄道之前,若机器人识别到窄道口,则将该窄道口识别为该窄道的入口,然后机器人将其当前行走方向调整为当前拟合出的定位轮廓线段的预设通行方向、或机器人的当前行走方向相对于当前拟合出的定位轮廓线段向可通行区域偏转预设角度;然后机器人按照当前行走方向直线行走,以绕过其开始识别窄道之前最新探测到的障碍物的定位轮廓线段的目标端点,再进入该窄道的入口,以实现识别到其进入窄道,再执行步骤S1。
在上述实施例的基础上,在机器人开始识别窄道口之前,若机器人碰撞到障碍物,则将该障碍物标记为机器人开始识别所述窄道口之前最新探测到的障碍物,再针对该障碍物拟合出定位轮廓线段,然后机器人将其当前行走方向调整为与当前拟合出的定位轮廓线段的预设通行方向相同,以使机器人沿着当前拟合出的定位轮廓线段行走,直至碰撞到新的障碍物并针对该新的障碍物拟合出对应的定位轮廓线段,再开始识别窄道口。具体地,机器人一开始在R位置处碰撞到障碍物(start位置右侧最近的黑色矩形),作为机器人开始识别所述窄道口之前最新探测到的障碍物,即:开始识别窄道之前最新探测到的障碍物的定位轮廓线段的目标端点对应为图2的定位轮廓线段A0B0的目标端点A0;然后机器人调整行走方向,再在图2中从R位置开始,沿着位置B0指向位置A0的方向行走至位置R1,然后在位置R1处碰撞到新的障碍物(R1位置右上方最近的黑色矩形),再在位置R1处将当前行走方向调整为索引号①所标记的箭头指向,可视为平行于针对该新的障碍物拟合出的定位轮廓线段A1B1,当机器人从位置R1开始沿着索引号①所标记的箭头指向行走时,识别为机器人进入窄道,也绕过位置A0。
基于前述进入窄道之前的实施例,优选地,对于非临时形成的固定窄道,机器人正对窄道方向后,可能识别到一处的窄道口,则向左侧或右侧偏转第一预设角度(比如30度)后做直线移动以进入该窄道口,若机器人碰撞则说明已到达该窄道的一侧的边界,可能在当前位置的缺口处退出窄道并且识别到新的窄道口,则又一次向相反方向偏转第二预设角度(比如60度)后做直线移动以进入新的窄道口,若机器人又发生碰撞则说明已到达该窄道的另一侧的边界,重复进行,行走过的位置依次对应为R1 -> R2 ->R3 -> R4 -> R5 ->R6,以通过相应的窄道,可以实现左右交替扭转前进通过该窄道。具体地,对应到图2中,机器人从位置R1行走到位置R2(在开始识别新的窄道口之前执行),在位置处遇到右侧的障碍物,使用点云数据拟合出定位轮廓线段A2B2(触发机器人开始识别新的窄道口),再识别到位置B2与位置A0之间的第一窄道口,再转动机身以使当前行走方向变为图2的索引号②所标记的箭头指向,然后机器人选择A2指向B2的方向直线行走到位置R3以在相应一段的窄道内穿过第一窄道口(相当于进入第一窄道口);同理地,然后在位置R3处碰撞到其前方的障碍物,则使用该障碍物的点云数据拟合出定位轮廓线段A3B3,再识别到位置B2与位置A3之间的第二窄道口,然后转动机身以使当前行走方向变为图2的索引号③所标记的箭头指向,然后机器人沿着索引号③所标记的箭头指向直线行走到位置R4以穿过第二窄道口,然后在位置R4处碰撞到其右前方的障碍物,则使用该障碍物的点云数据拟合出定位轮廓线段A4B4,再识别到位置B2与位置A4之间的第三窄道口,然后转动机身以使当前行走方向变为图2的索引号④所标记的箭头指向,然后机器人沿着索引号④所标记的箭头指向直线行走到位置R5以穿过第三窄道口,然后在位置R5处碰撞到其右前方的障碍物,则使用该障碍物的点云数据拟合出定位轮廓线段B5A5,再识别到位置B5与位置B4之间的第四窄道口,然后转动机身以使当前行走方向变为从位置B5指向位置A5的方向,然后机器人沿着位置B5指向位置A5的方向直线行走到位置R6以穿过第四窄道口。如图2所示,在机器人行走至所述预设目标位置target之前,若机器人识别到位置B5与位置B4之间的窄道口,则将该窄道口识别为该窄道的出口,具体是最接近所述预设目标位置target的窄道口,然后机器人将其当前行走方向调整为当前拟合出的定位轮廓线段的预设通行方向、或相对于当前拟合出的定位轮廓线段向可通行区域偏转预设角度,然后机器人按照当前行走方向直线行走,以绕过其开始识别该窄道的出口之前最新碰撞到的障碍物的定位轮廓线段的目标端点B4,并在无障碍地直线行走预设安全距离后,到达位置R6实现离开该窄道的出口;优选地,预设目标位置target是设置在窄道的外部。;然后机器人在位置R6处使用启发式搜索算法规划出通向所述预设目标位置target的路径,再从位置R6开始沿着规划出的路径或导航方向直线行走至预设目标位置target。因此,每当机器人碰撞到新的障碍物,则针对该新的障碍物拟合出定位轮廓线段,再获取该新的障碍物的定位轮廓线段的目标端点,并将该目标端点所在的通道的开口识别为窄道口。
综合上述实施例,本发明分别在开始识别窄道口之前、开始识别窄道口时、识别到窄道口前后、进入窄道之前以及进入窄道的对应阶段内,根据机器人与障碍物的碰撞情况以及对障碍物轮廓的拟合情况,调整机器人的行走方向,再在窄道内做直线行走,以趋向于行走向该预设目标位置;并基于机器人先后与两个障碍物的碰撞情况以及对各个障碍物轮廓的拟合情况识别窄道口,以区分开始识别窄道口之前、开始识别窄道口时、以及识别到窄道口这三种识别状态,进而推进机器人进入窄道以及再次进入窄道的进程。
在前述实施例中,机器人识别窄道口的方法包括:在触发机器人开始识别窄道口的同时,机器人先对最新碰撞到的障碍物拟合出定位轮廓线段,然后机器人在该定位轮廓线段的搜索方向上提取出两个绕障点,若检测到该两个绕障点之间的距离处于预设距离范围,则将所述两个绕障点所在通道识别为窄道;并将该两个绕障点各自所在的障碍物之间形成的缺口识别为窄道口,优选为所述两个绕障点之间的开口。进一步地,在机器人识别到窄道口后,若检测到机器人的行走方向从参考绕障方向变为当前拟合出的定位轮廓线段的预设通行方向或相对于当前拟合出的定位轮廓线段向可通行区域偏转所述预设角度,且机器人按照变化后的行走方向直线行走,则机器人识别为其进入窄道;其中,所述变化后的行走方向是配置为由机器人的当前位置指向所述两个绕障点所在通道的内部的可通行区域的方向,优选为平行于当前拟合出的定位轮廓线段。则参考绕障方向是上一次拟合出的定位轮廓线段的预设通行方向或相对于上一次拟合出的定位轮廓线段向可通行区域偏转所述预设角度;其中,上一次拟合出的定位轮廓线段是在机器人开始识别窄道口之前,针对最新碰撞到的障碍物拟合出的定位轮廓线段。具体地,在开始识别窄道口之前,机器人碰撞到一个障碍物并拟合出对应的定位轮廓线段;然后,在机器人碰撞到另一个障碍物时开始识别窄道口;机器人针对在先碰撞到的一个障碍物拟合出的定位轮廓线段是所述上一次拟合出的定位轮廓线段,机器人针对在后碰撞到的一个障碍物拟合出的定位轮廓线段是所述当前拟合出的定位轮廓线段,使上一次拟合出的定位轮廓线段的预设通行方向与当前拟合出的定位轮廓线段的预设通行方向不同。因此,机器人使用先后两次碰撞到的障碍物的定位轮廓线段的朝向及端点来识别窄道口和进入窄道。
作为一种实施例,机器人在定位轮廓线段的搜索方向上提取出两个绕障点的情况下,若检测到机器人的行走方向从参考绕障方向变为当前拟合出的定位轮廓线段的预设通行方向或相对于当前拟合出的定位轮廓线段向可通行区域偏转所述预设角度,且检测到该两个绕障点之间的距离处于预设距离范围,且机器人按照变化后的行走方向直线行走,则机器人将其行为识别为进入窄道、或具有通过识别窄道口来进入窄道的趋势,此时,机器人是从窄道的外部开始进入窄道的入口的一瞬间、或机器人位于所述两个绕障点所在通道的入口的前方且其行走方向是通向所述两个绕障点所在通道内部的可通行区域,且机器人可能出现左右扭动。其中,机器人在步骤S1中获取所述定位轮廓线段后,机器人在定位轮廓线段的搜索方向上提取出两个绕障点,可以是在选定一个绕障点的基础上再沿着所述搜索方向提取另一个绕障点,这些绕障点是拟合出来的轮廓线段的端点且是距离最近的分居两个定位轮廓线段上的两个端点,形成机器人左右两侧的绕障点。具体地,机器人确定其开始进入一个窄道口,该窄道口是该两个绕障点各自所在的障碍物之间形成的缺口,该缺口位于可通行区域内,缺口所在的通道的边界线可以是障碍物的实际轮廓或拟合出来的定位轮廓线段,边界线的间距是处于所述预设距离范围内以提高判断精度。优选地,所述缺口的宽度是所述缺口在机器人行进平面上的两个端点所在的栅格之间的距离,所述缺口的两个端点分别位于对应障碍物的轮廓线或拟合出来的轮廓线段上。无论机器人在进入所述两个绕障点所在通道之前多么频繁地与所绕的障碍物发生碰撞,机器人的行走方向只要从参考绕障方向变为当前拟合出的定位轮廓线段的预设通行方向或相对于当前拟合出的定位轮廓线段向可通行区域偏转所述预设角度,且所述两个绕障点之间的距离处于所述预设距离范围时,机器人都将所述两个绕障点所在通道识别为窄道,使得机器人从当前位置导航至预设目标位置的过程中更加顺畅、导航路径更短,提高机器人的导航效率。
优选地,所述预设距离范围是大于或等于机器人的机身宽度;优选地,预设距离范围是大于机器人的机身宽度,当机器人的外形是圆形时,机器人的机身宽度是其机体直径。所述两个绕障点所在通道的入口(即两个绕障点之间形成的缺口)的宽度大于或等于机器人的机身宽度时,确定所述两个绕障点所在通道允许机器人进入,则机器人可以在行走至其中一个绕障点或其附近以碰撞新的障碍物时,将其行走方向调整为平行于相应的定位轮廓线段、或相对该定位轮廓线段形成预设角度的方向,调整后的方向可以是直线指向所述预设目标位置的方向、或曲折穿过所述两个绕障点所在通道以延伸至所述预设目标位置的方向。
作为一种实施例,机器人按照当前行走方向直线行走预设安全距离的过程中,若没有与障碍物发生碰撞,则机器人在窄道内保持无障碍行走预设安全距离后,开始使用启发式搜索算法规划导航路径,所述预设目标位置是导航路径的终点,至于具体的搜索起点可以是机器人与障碍物第一次碰撞的位置,也可以是在障碍物附近选择的一个位置、也可以是所述绕障点或附近区域。在前述步骤S1与前述步骤S2之间,还包括:在机器人探测到一个障碍物后(可以与之相碰撞),且在另一个障碍物(探测到的新障碍物,可以是与在先探测的障碍物在位置上比较接近,视为位置相邻)的所述定位轮廓线段的搜索方向上搜索出两个绕障点之前,保持沿着同一方向行走,对应为图2中各个索引号所标记的方向。在一定程度上,保证机器人通过狭窄的通道区域。地形的可穿越性信息被存储为代价地图中各栅格的代价值。在路径搜索阶段考虑可通行性代价,即搜索算法的代价函数加入通行性代价值,算法将倾向于找到一条通往低通行性代价区域的路径。
在前述实施例中,机器人一般将第一次碰撞到一个障碍物的位置作为搜索起点,然后,机器人在沿着该搜索起点处开始规划出的绕障路径行走的过程中,碰撞到另一个障碍物时,也可以视为机器人探测到另一个障碍物,则通过测距传感器采集的点云数据获取定位轮廓线段,该定位轮廓线段是反射自所述另一个障碍物的点云数据的拟合结果(来源于所述另一个障碍物的包络线的部分线段,且能够与机器人的当前位置相重叠),以便于探索出这两个探测到的障碍物之间形成的缺口或通道,在一些实施例中,该定位轮廓线段可以是基于机器人预先采集的点云数据计算出来的拟合线段(比如来源于第一次碰撞到障碍物的轮廓)或平行于该拟合线段,机器人可能没有碰撞到所述另一个障碍物,但是机器人可以预测出两个不同障碍物之间可能形成的缺口;因而,机器人将定位轮廓线段视为该缺口的一端所在的边界线或通道一侧所在的边界线。优选地,所述窄道是以该两个障碍物的轮廓线(拟合的结果)为边界线组成的通道;两个障碍物的轮廓线上提取出来的绕障点之间的最小距离大于或等于所述预设距离范围的最小值;预设距离范围的最小值是大于机器人的机身宽度;所述窄道的宽度是处于预设距离范围,所述窄道的入口也是处于预设距离范围。所述窄道口可以是房间的小门洞,门洞两侧的障碍物是同一房间内的四面墙壁,四面墙壁是连续的、一体的,另外,所述绕障点所在通道的左右两侧的墙体也可以近似为平行。
需要说明的是,机器人会使用启发式搜索算法规划出导航路径,预设目标位置是该导航路径的终点;在规划出导航路径后,机器人沿着该导航路径行走,当机器人使用测距传感器探测到障碍物时,比如第一次探测到障碍物时,甚至是碰撞上障碍物时,机器人从其当前位置开始使用启发式搜索算法规划出绕开当前探测到的障碍物的导航路径并将该导航路径标记为绕障路径,预设目标位置是该绕障路径的终点。具体地,在机器人开始以其当前位置或预设起始位置为搜索起点,按照搜索起点指向所述预设目标位置的方向,对应为图2中的搜索起点start指向预设目标位置target的方向,机器人使用启发式搜索算法规划路径的过程中,在该搜索起点的邻域内搜索自由栅格(在栅格地图内表示可通行区域的栅格区域)作为路径节点以使路径节点不位于障碍物占据区域上,其中,机器人在搜索起点的邻域内搜索出多个路径节点,其中,这些路径节点都是自由栅格,每个路径节点对应一个初始搜索方向;然后继续将每个路径节点更新为新的搜索起点,再按照搜索起点指向同一预设目标位置的方向在每个搜索起点的邻域内搜索自由栅格,如此重复,直至在栅格地图内搜索出所述预设目标位置,并按照搜索先后的顺序将搜索出的栅格同时连接成多条导航路径或所述绕障路径;其中,机器人在每个初始搜索方向上对应搜索出一条导航路径或所述绕障路径。
优选地,机器人使用线激光传感器先探测到第一障碍物时,机器人已经碰撞到第一障碍物;机器人行走至第一障碍物与第二障碍物之间形成的缺口时,机器人已经碰撞到第二障碍物;机器人将所述预设距离范围设置为大于或等于机器人的机身宽度,以使所述两个绕障点之间的距离大于或等于机器人的机身宽度时,确定该两个绕障点各自所在的障碍物之间形成的缺口是窄道口允许机器人进入。所述预设距离范围的上限值是机器人的机身宽度与预设冗余量的和值。由于窄道的宽度只是稍微大于机器人的机身宽度,为了在识别窄道的过程中减少计算出来的轮廓线的误差干扰,设置预设距离范围进行判断;具体地,预设距离范围的最小值(下限值)是大于机器人的机身宽度,预设距离范围的最大值(上限值)只是稍微大于机器人的机身宽度,不超出两倍的机身宽度。其中,预设距离范围可根据机器人的机身宽度以及预设的拟合误差来确定,预设冗余量的设置能够将与机器人的机身宽度较为接近的通道称为所述窄道。例如,扫地机器人的宽度为30厘米,则预设距离范围可取32厘米至35厘米,即机器人的中心位于所述两个绕障点所在通道的入口在其宽度方向上的中心位置时,所述预设冗余量的设置表现为机器人的左右两侧与通道之间的间隙大小处于1厘米至2厘米之间,对应地,机器人的中心位置可以依次使用位置R1、位置R2、位置R3、位置R4、位置R5、以及位置R6表示。综上,前述实施例利用进入两个所绕的障碍物之间形成的缺口前的行走方向的变化,以及两个所绕的障碍物对应的绕障点之间距离,来识别出机器人是否开始进入窄道,克服障碍物的轮廓线拟合计算对识别窄道所带来的误差,提高窄道识别的准确性和机器人进入窄道的成功率。
作为一种实施例,机器人将所述定位轮廓线段的搜索方向设置为该定位轮廓线段的垂直方向以形成所述两个绕障点所在通道的宽度方向;所述两个绕障点沿着所述定位轮廓线段的搜索方向分布于:机器人开始识别窄道口之前最新碰撞到的障碍物中和机器人开始识别该窄道口时所碰撞到的障碍物中。在本实施例中,所述定位轮廓线段是对应于其中一个绕障点所在的障碍物,对应到图2的最上方的障碍物,线段AB是其定位轮廓线段,属于经过图2的最上方的障碍物的左下方的角点的拟合线段,但不一定属于障碍物实际轮廓线,能够形成所述两个绕障点所在通道的其中一条边界线,即前述实施例识别出的窄道的边界线,其中,线段A1B1的搜索方向上形成的垂线可以是经过图2所示的最上方障碍物(黑色矩形)的一个角点,以贴合该障碍物的轮廓和分布位置。所述两个绕障点是距离机器人的左右两侧最近的障碍物的定位轮廓线段上的点;也可以理解为在两条定位轮廓线段的端点当中,距离最小的两个端点且该两个端点之间存在缺口;在一些实施例中,所述两个绕障点之间的距离也可以是所述两个绕障点各自所在的定位轮廓线段的端点之间的最小距离,用以判断所述两个绕障点之间的缺口的可通行性。
优选地,所述预设距离范围是设置为大于或等于机器人的机身宽度;预设安全距离是设置为等于机器人的机身宽度;所述预设角度被设置为引导机器人离开当前碰撞到的障碍物、或绕过当前碰撞到的障碍物的定位轮廓线段的任一个端点,以行走至与所述预设目标位置相连通的可通行区域;所述最短可通行路径是机器人分别以定位轮廓线段的两个端点为搜索起点,使用启发式搜索算法规划出的通向所述预设目标位置的路径当中路径长度最短的一条路径。
优选地,当机器人行走在所述窄道的内部时,所述窄道的入口的两侧边界线与机器人对应一侧的最短距离都等于所述预设冗余量的一半;比如,机器人沿着窄道的中心线进入窄道口时,机器人的左侧与其左侧绕障点的垂直距离等于所述预设冗余量的一半,且机器人的右侧与其右侧绕障的垂直距离也是等于所述预设冗余量的一半。在本实施例中,所述预设冗余量的一半优选为1厘米至2厘米,从而规避轮廓线的拟合计算误差。
在一些实施例中,机器人的工作区域中,会存在由边界线框定的工作区,也会在障碍物之间组成非工作区域,或者在边界线框定的工作区域之间构成非工作区域,可以是两个工作区域的相应一条边界线之间形成非工作区域,也可以是两个墙体障碍物之间的空隙通道形成非工作区域;这里的非工作区域一般是指宽度较窄的通道,简称窄道,窄道的入口和窄道的出口都设置为窄道口,其中,窄道的两侧分别是两条障碍物的轮廓线;并且在设置移动路径时,一般将扫地机器人设置为一个圆来看待,为了方便扫地机器人移动至预设目标位置,设置的移动路径可能会经过窄道;一般地,两个或多个障碍物之间的缝隙区域(比如两个墙体之间的通道)以自由通道的形式显示在栅格地图内;自由通道是指连通两个不同工作区域,在宽度大于机器人的机身宽度的前提下可以是机器人的可通行道路,然后具体通过检测通道的入口、通道的出口、通道的长度以及通道的宽度来识别出允许机器人通行的窄道口及窄道,并确定窄道覆盖的位置信息,比如识别出一个墙体下方的门洞的栅格区域、两个墙体之间的通道、三个墙体围成只有一个待识别缺口的通道;机器人实际工作场景中的通道具有一定特征,包括三维形状特征及尺寸特征等。
需要补充的是,对于前述的窄道口、窄道或缺口,在机器人所处的区域内,存在水平地面上设置穿透相邻两个房间区域的门洞、两个平行的墙体之间的缝隙、两个低矮的障碍物之间形成的缺口,可以将门洞的入口或缝隙的入口设置为两个障碍物之间形成的开口,是至少两个障碍物的轮廓之间形成的开口,这些障碍物可以是相互孤立存在;机器人使用线激光传感器扫描周围环境时,该开口的两个端点以及宽度都被机器人的激光传感器扫描出来并转换到相应坐标系下的点云坐标,进而将该开口的两个端点扫描为对应的点云并转换到栅格地图的对应栅格处。在一些实施例中,机器人通过碰撞的方式感测周围环境时,每当机器人的碰撞传感器接触到该开口的两个端点后,将其碰撞到的障碍物的轮廓点或所述定位轮廓线段标记到栅格地图的对应栅格处;还在一些实施中引入评估量,用以表示机器人在障碍物之间形成的缺口处或其对应的栅格(两个端点之间的自由栅格的数量或其在开口宽度范围内的占比)处的可通行程度,可以表示在相应栅格区域处的通行概率,一般地,机器人使用测距传感器扫描出缺口时被赋予的可信度高于机器人碰撞检测出缺口时被赋予的可信度,因为测距传感器的定位精度高于机器人物理接触产生的定位精度。
在前述实施例中,机器人通过测距传感器采集点云数据,点云数据是配置为反射自测距传感器探测到的障碍物的位置信息,是一系列离散点的集合,会携带环境噪点(反馈其环境光干扰或障碍物表明材质的影响);机器人再将采集到的点云数据拟合处理为障碍物的轮廓线,以表示所探测到的障碍物的局部轮廓或该障碍物包络线;这里的拟合处理具体会先后经过排序、分组(以区分不同类型的障碍物)、筛选、分段插值拟合、再对每组连线各个拟合曲线坐标点,得到障碍物包络线或轮廓线,具体是拟合线段、拟合曲线及其组合,优选地,机器人控制前述拟合处理出来的轮廓线进行虚拟膨胀处理,其膨胀半径设定为机器人轮廓投影的内切圆的半径或外接圆的半径,形成包围该障碍物的拟合圆形,对应围出障碍物包络线,则前述所述定位轮廓线段是属于所述障碍物包络线。
基于前述实施例,本发明还公开一种芯片,存储有程序代码,程序代码被执行时实现如前述实施例公开的步骤。所述的机器人通过窄道的导航方法的步骤对应的程序代码存储于一种芯片内时,被当成一种计算机程序产品,所述计算机程序可操作来使计算机执行如上述机器人通过窄道的导航方法实施例中记载的任一方法的部分或全部步骤。内部设置前述芯片的机器人在识别窄道口前后和进入窄道前方,机器人利用点云数据获得定位轮廓线段并搜索相关的绕障点,识别出宽度略大于机器人的机身宽度的窄道并确定其恰好能够进入该窄道且能够连续进入多个窄道口、通过该窄道且能够连续经过多个窄道,也便于实时规划出环境适应性更强、更加顺畅通行的导航路径。
本发明还公开一种机器人,装配有距离传感器,所述机器人设置有所述的芯片,用于控制机器人使用距离传感器探测到障碍物的点云数据,并从点云数据中拟合对应的定位轮廓线段,便于通过执行所述导航方法机器人导航方法来通过窄道。机器人分别在开始识别窄道口之前、开始识别窄道口时、识别到窄道口前后、进入窄道之前以及进入窄道的对应阶段内,根据机器人与障碍物的碰撞情况以及对障碍物轮廓的拟合情况,调整机器人的行走方向,再在窄道内做直线行走,以趋向于行走向该预设目标位置;并基于机器人先后与两个障碍物的碰撞情况以及对各个障碍物轮廓的拟合情况识别窄道口,以区分开始识别窄道口之前、开始识别窄道口时、以及识别到窄道口这三种识别状态,进而推进机器人进入窄道以及再次进入窄道的进程。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random AccessMemory,RAM)、磁盘或光盘等。
以上对本申请一实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (14)
1.一种机器人通过窄道的导航方法,其特征在于,所述导航方法包括:
步骤S1、在机器人进入窄道后,若机器人碰撞到障碍物,则针对该障碍物拟合出定位轮廓线段,再转动,直至机器人的当前行走方向与当前拟合出的定位轮廓线段的预设通行方向相同、或机器人的当前行走方向相对于当前拟合出的定位轮廓线段向可通行区域偏转预设角度,以使机器人当前不被障碍物阻挡前行,再执行步骤S2;
步骤S2、机器人按照当前行走方向直线行走,直至碰撞到障碍物,再执行步骤S1;当机器人行走至预设目标位置时,停止执行步骤S1,并确定机器人通过窄道。
2.根据权利要求1所述导航方法,其特征在于,在所述步骤S1中,机器人在其拟合出的定位轮廓线段当中,将相对于预设目标位置形成最短可通行路径的端点设置为该定位轮廓线段的目标端点,其中,该最短可通行路径是位于机器人所进入的窄道的可通行区域内;机器人将定位轮廓线段当中除了目标端点之外的端点指向目标端点的方向配置为该定位轮廓线段的预设通行方向。
3.根据权利要求2所述导航方法,其特征在于,机器人将每个定位轮廓线段的目标端点所在的通道都配置为窄道;机器人将定位轮廓线段设置为窄道的边界线;
每当机器人碰撞到新的障碍物,则针对该新的障碍物拟合出定位轮廓线段,再获取该新的障碍物的定位轮廓线段的目标端点,并将该目标端点所在的通道的开口识别为窄道口。
4.根据权利要求2所述导航方法,其特征在于,在步骤S2中,在机器人行走至所述预设目标位置之前,若机器人识别到窄道口,则将该窄道口识别为该窄道的出口,然后机器人将其当前行走方向调整为当前拟合出的定位轮廓线段的预设通行方向、或相对于当前拟合出的定位轮廓线段向可通行区域偏转预设角度;然后机器人按照当前行走方向直线行走以离开窄道。
5.根据权利要求2所述导航方法,其特征在于,所述导航方法还包括:在机器人进入窄道之前,若机器人识别到窄道口,则将该窄道口识别为该窄道的入口,然后机器人将其当前行走方向调整为当前拟合出的定位轮廓线段的预设通行方向、或机器人的当前行走方向相对于当前拟合出的定位轮廓线段向可通行区域偏转预设角度;然后机器人按照当前行走方向直线行走以进入该窄道的入口,再执行步骤S1。
6.根据权利要求5所述导航方法,其特征在于,在机器人开始识别窄道口之前,若机器人碰撞到障碍物,则将该障碍物标记为机器人开始识别所述窄道口之前最新探测到的障碍物,再针对该障碍物拟合出定位轮廓线段,然后机器人将其当前行走方向调整为与当前拟合出的定位轮廓线段的预设通行方向相同,以使机器人沿着当前拟合出的定位轮廓线段行走,直至碰撞到新的障碍物并针对该新的障碍物拟合出对应的定位轮廓线段,再开始识别窄道口。
7.根据权利要求2所述导航方法,其特征在于,每当机器人转动至其当前行走方向与当前拟合出的定位轮廓线段的预设通行方向相同、或转动至其当前行走方向相对于当前拟合出的定位轮廓线段向可通行区域偏转所述预设角度时,机器人按照当前行走方向直线行走预设安全距离,并在直线行走的过程中检测是否碰撞到障碍物,是则执行步骤S1,否则确定机器人已经通过一条窄道,然后使用启发式搜索算法规划出通向所述预设目标位置的路径、或通向距离当前行走方向上所探测到的障碍物最近的位置的路径,再沿着当前规划出的的路径行走,直至机器人识别到另一条窄道的入口并进入该窄道,再执行所述步骤S1。
8.根据权利要求4至5任一项所述导航方法,其特征在于,机器人识别窄道口的方法包括:
机器人先对最新碰撞到的障碍物拟合出定位轮廓线段,然后机器人在该定位轮廓线段的搜索方向上提取出两个绕障点,若检测到该两个绕障点之间的距离处于预设距离范围,则将所述两个绕障点所在通道识别为窄道,并将该两个绕障点各自所在的障碍物之间形成的缺口识别为窄道口。
9.根据权利要求8所述导航方法,其特征在于,在机器人识别到窄道口后,若检测到机器人的行走方向从参考绕障方向变为当前拟合出的定位轮廓线段的预设通行方向或相对于当前拟合出的定位轮廓线段向可通行区域偏转所述预设角度,且机器人按照变化后的行走方向直线行走,则机器人识别为其进入窄道;
其中,所述变化后的行走方向是配置为由机器人的当前位置指向所述两个绕障点所在通道的内部的可通行区域的方向;
其中,参考绕障方向是上一次拟合出的定位轮廓线段的预设通行方向或相对于上一次拟合出的定位轮廓线段向可通行区域偏转所述预设角度;
其中,上一次拟合出的定位轮廓线段是在机器人开始识别窄道口之前,针对最新碰撞到的障碍物拟合出的定位轮廓线段。
10.根据权利要求9所述导航方法,其特征在于,在开始识别窄道口之前,机器人碰撞到一个障碍物并拟合出对应的定位轮廓线段;然后,在机器人碰撞到另一个障碍物时开始识别窄道口;
机器人针对在先碰撞到的一个障碍物拟合出的定位轮廓线段是所述上一次拟合出的定位轮廓线段,机器人针对在后碰撞到的一个障碍物拟合出的定位轮廓线段是所述当前拟合出的定位轮廓线段,使上一次拟合出的定位轮廓线段的预设通行方向与当前拟合出的定位轮廓线段的预设通行方向不同。
11.根据权利要求10所述导航方法,其特征在于,机器人将所述定位轮廓线段的搜索方向设置为该定位轮廓线段的垂直方向,以形成所述两个绕障点所在通道的宽度方向;
所述两个绕障点沿着所述定位轮廓线段的搜索方向分布于:机器人开始识别窄道口之前最新碰撞到的障碍物中和机器人开始识别该窄道口时所碰撞到的障碍物中。
12.根据权利要求8所述导航方法,其特征在于,所述预设距离范围是设置为大于或等于机器人的机身宽度;预设安全距离是设置为等于机器人的机身宽度;
所述预设角度被设置为引导机器人离开当前碰撞到的障碍物、或绕过当前碰撞到的障碍物的定位轮廓线段的任一个端点,以行走至与所述预设目标位置相连通的可通行区域;
所述最短可通行路径是机器人分别以定位轮廓线段的两个端点为搜索起点,使用启发式搜索算法规划出的通向所述预设目标位置的路径当中路径长度最短的一条路径。
13.一种芯片,存储有程序代码,其特征在于,程序代码被执行时实现如权利要求1至12中任一项所述导航方法的步骤。
14.一种机器人,装配有距离传感器,其特征在于,所述机器人设置权利要求13所述的芯片,用于控制机器人使用距离传感器探测到障碍物的点云数据,并从点云数据中拟合对应的定位轮廓线段,便于通过执行权利要求1至12中任一项所述导航方法机器人导航方法来通过窄道。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210982509.5A CN117629205A (zh) | 2022-08-16 | 2022-08-16 | 一种机器人通过窄道的导航方法、芯片及机器人 |
PCT/CN2023/107352 WO2024037262A1 (zh) | 2022-08-16 | 2023-07-14 | 一种机器人通过窄道的导航方法、芯片及机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210982509.5A CN117629205A (zh) | 2022-08-16 | 2022-08-16 | 一种机器人通过窄道的导航方法、芯片及机器人 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117629205A true CN117629205A (zh) | 2024-03-01 |
Family
ID=89940674
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210982509.5A Pending CN117629205A (zh) | 2022-08-16 | 2022-08-16 | 一种机器人通过窄道的导航方法、芯片及机器人 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117629205A (zh) |
WO (1) | WO2024037262A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118199030B (zh) * | 2024-02-29 | 2024-10-22 | 广西金元南方新能源有限公司 | 基于深度强化学习的新能源电站发电量预测方法及系统 |
CN117993225B (zh) * | 2024-04-03 | 2024-06-18 | 北京工业大学 | 狭窄区域的穿越行为的仿真方法和装置 |
CN118542607B (zh) * | 2024-07-26 | 2024-11-01 | 盛视科技股份有限公司 | 贴边清扫路径规划方法及清扫机器人 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110378919B (zh) * | 2019-06-14 | 2023-05-23 | 珠海大轩信息科技有限公司 | 一种基于slam的窄道通行障碍物检测方法 |
US11813753B2 (en) * | 2020-02-19 | 2023-11-14 | Fanuc Corporation | Collision avoidance motion planning method for industrial robot |
CN113219967A (zh) * | 2021-04-15 | 2021-08-06 | 上海岚豹智能科技有限公司 | 一种用于移动机器人通行窄道的方法及设备 |
CN113190007A (zh) * | 2021-05-08 | 2021-07-30 | 珠海市一微半导体有限公司 | 一种地图轮廓修正方法、芯片和移动机器人 |
CN113190010B (zh) * | 2021-05-08 | 2024-04-05 | 珠海一微半导体股份有限公司 | 一种沿边绕障路径规划方法、芯片及机器人 |
CN114326711B (zh) * | 2021-12-03 | 2023-08-08 | 云鲸智能(深圳)有限公司 | 窄道通行方法、装置、机器人及计算机可读存储介质 |
CN114661054A (zh) * | 2022-04-15 | 2022-06-24 | 浙江大学 | 一种基于图像处理的移动机器人的路径规划与优化方法 |
-
2022
- 2022-08-16 CN CN202210982509.5A patent/CN117629205A/zh active Pending
-
2023
- 2023-07-14 WO PCT/CN2023/107352 patent/WO2024037262A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024037262A1 (zh) | 2024-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN117629205A (zh) | 一种机器人通过窄道的导航方法、芯片及机器人 | |
CN111857127B (zh) | 一种机器人沿边行走的清洁分区规划方法、芯片及机器人 | |
US10500722B2 (en) | Localization and mapping using physical features | |
EP1844298B1 (en) | Point-to-point path planning | |
CN112363513B (zh) | 一种基于深度信息的障碍物分类避障控制方法 | |
EP4068037B1 (en) | Obstacle-crossing termination determination method, obstacle-crossing control method, chip, and robot | |
CN112327878B (zh) | 一种基于tof摄像头的障碍物分类避障控制方法 | |
CN109997089A (zh) | 地面处理机和地面处理方法 | |
CN113110497B (zh) | 基于导航路径的沿边绕障路径选择方法、芯片及机器人 | |
CN113190010B (zh) | 一种沿边绕障路径规划方法、芯片及机器人 | |
CN111949017B (zh) | 一种机器人越障的沿边路径规划方法、芯片及机器人 | |
JPH05257533A (ja) | 移動ロボットの床面掃引方法及び装置 | |
CN113741438A (zh) | 路径规划方法、装置、存储介质、芯片及机器人 | |
CN111897335A (zh) | 一种机器人弓字型行走时的避障控制方法及其控制系统 | |
CN111694356A (zh) | 一种行驶控制方法、装置、电子设备及存储介质 | |
CN112393737A (zh) | 障碍地图的创建方法、系统,机器人及可读存储介质 | |
CN117055557A (zh) | 一种机器人避让方法、装置及电子设备 | |
US20220100197A1 (en) | Self-propelled device and method for controlling the same | |
CN117666547A (zh) | 一种机器人进入窄道的识别方法、芯片及机器人 | |
CN116540689A (zh) | 一种机器人的沿边控制方法、芯片及机器人 | |
CN116449816A (zh) | 一种搜寻充电座信号的运动控制方法、芯片及机器人 | |
Karakaya et al. | A novel local motion planner: Navibug | |
CN117292246A (zh) | 一种机器人识别窄道的方法及窄道导航方法 | |
Liu et al. | Collision-free navigation for mobile robots by grouping obstacles | |
CN116068577A (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 |