一种通行区域的判定方法、路线搜索方法、机器人及芯片与流程

文档序号:25855451发布日期:2021-07-13 16:08阅读:98来源:国知局
一种通行区域的判定方法、路线搜索方法、机器人及芯片与流程

本发明涉及机器人路径规划的技术领域,涉及一种通行区域的判定方法、路线搜索方法、机器人及芯片。



背景技术:

现有技术中的移动机器人是一类利用传感器自主探测周围环境、利用控制器来决定本体的运动,利用执行机构(如轮子)来实现运动的机器人。现有技术的清洁机器人经常移动至家庭环境中凳子的四条脚、茶几的入口等由各种家具组件之间限制形成的狭窄区域,现有技术的清洁机器人还会经常移动至房间的门打开形成的狭小通道处。

机器人进入这些狭窄区域时,由于机器人存在打滑情况、用于定位的传感器存在累计误差或地图优化也产生误差,所以机器人容易在即时构建的栅格地图上将这些狭窄区域的入口标记为障碍物占据的栅格区域,导致映射到机器人构建的栅格地图中的狭窄区域的入口是堵住的,而实际运动场景中没有被真正堵住。因此,机器人不能根据即时构建的栅格地图正确地识别出当前是否处于狭窄区域,进而无法基于常规的路径搜索算法搜索出合理的导航路径。



技术实现要素:

本发明提出一种通行区域的判定方法、路线搜索方法、机器人及芯片,根据机器人搜索区域内的不可通行区域所占的面积比例,在机器人正常工作的过程中正确地识别出狭窄区域,并搜索出适用于这些狭窄区域的目标点,以便解决机器人的导航路径规划问题。具体的技术方案如下:

一种通行区域的判定方法,包括:控制机器人沿着预设路径移动,直至判断到机器人移动至与最新记录的路径节点的直线距离为大于或等于机器人的机身直径的位置,再将机器人的当前位置记录为新的路径节点以成为最新记录的路径节点;然后判断最新记录的路径节点是否满足第二预设圆域通行条件,是则判定机器人当前处于狭窄区域内,否则判定机器人当前没有处于狭窄区域内;其中,所述狭窄区域是两个或两个以上障碍物的夹缝通道,夹缝通道是其中两个障碍物之间的最窄处对应的缝隙,这个缝隙宽度是大于或等于机器人的机身直径;其中,预设路径是机器人在当前区域内预先规划的路径。与现有技术相比,该技术方案适用于机器人正常工作或导航场景下进行区域判定,通过控制机器人采用一边移动一边判断的方式,来实现实时判断机器人当前位置是否处于狭窄区域内,符合狭窄区域的可通行区域面积特征,且不会因为狭窄区域在地图内的映射栅格的标记误差而不能沿着预设路径正常移动,特别是在地图上标记为障碍物栅格的区域,而机器人在对应的实际场景下能够自由通行的区域。因此提高区域判断的有效性和准确性。

进一步地,判断机器人是否移动至与最新记录的路径节点的直线距离为大于或等于机器人的机身直径的位置之前,还包括:步骤1、控制机器人沿着预设路径移动,直至判断到预搜索区域满足第一预设圆域通行条件,再进入步骤2;步骤2、将机器人的当前位置记录为第一路径节点;其中,所述预搜索区域是以机器人的当前位置为圆心、机器人的机身直径为半径的第一圆形区域。本技术方案先设置第一预设圆域通行条件作为狭窄区域的预判条件,初步排除掉无效的路径节点,增加判断的精度。

进一步地,所述第一预设圆域通行条件包括:第一不可通行区域的面积与所述预搜索区域的面积的比值大于第一通行评估值;其中,第一不可通行区域是在所述第一圆形区域对应的栅格区域内,由未知栅格点和障碍物栅格点组成的栅格区域;第一通行评价值是为了克服构建栅格地图中存在的空闲栅格的标记误差而设置的预判阈值。该技术方案属于一种粗糙判断条件,后续有赖于机器人在继续移动过程中作进一步的判断。

进一步地,在执行所述步骤2之后,所述判定方法具体包括:步骤3、控制机器人继续沿着所述预设路径移动,直至判断到机器人移动至与最新记录的路径节点的直线距离为大于或等于机器人的机身直径的位置,再进入步骤4;步骤4、将机器人的当前位置记录为第二路径节点,同时判断第二路径节点是否满足第二预设圆域通行条件,是则进入步骤5,否则进入步骤6;步骤5、判定机器人当前处于狭窄区域内,再返回所述步骤3;步骤6、判定机器人当前没有处于狭窄区域内,再返回所述步骤1。本技术方案设置第二预设圆域通行条件作为狭窄区域的精判条件,使得相对于上一次记录的路径节点(包括第一路径节点或第二路径节点)移动一定的距离后机器人才具备判断狭窄区域的资格,更加适应于可通行的地图误差环境下的区域判断。

进一步地,所述第二预设圆域通行条件包括:在以机器人的当前位置为圆心、机器人的机身直径为半径的第二圆形区域内,第二不可通行区域的面积与第二圆形区域的面积的比值大于第二通行评价值;其中,第二不可通行区域是在第二圆形区域对应的栅格区域内,由未知栅格点和障碍物栅格点组成的栅格区域;第二通行评价值是用于克服构建栅格地图中存在的空闲栅格的标记误差而设置的判断阈值,且大于第一通行评价值。该技术方案在判断过程中无需实时关注栅格地图在单个栅格上的标记信息的影响,只需关注一定栅格区域内的不可通行区域面积所占的比值,避免出现误判。

进一步地,所述第二预设圆域通行条件包括:在以最新记录的第一路径节点为圆心、预设倍数的机身直径为半径的第二圆形区域内,使用启发式搜索算法搜索点最新记录的第二路径节点通向最新记录的第一路径节点的路径;其中,预设倍数的机身直径设置为:第二圆形区域不与其它已标记的栅格区域交叉。以避免将其它已标记的栅格区域内已经规划出的路径参与判断,同时在栅格存在标记误差的前提下,通过引用成熟的路径搜索算法在合理且足以包括部分障碍物的栅格区域范围内扩展搜索出通往终点的导航路径,来判断区域的可通行情况,提高狭窄区域这一可通行区域的判断精度。

进一步地,在执行所述步骤1的过程中,还包括:先判断机器人是否移动至所述预设路径的终点,是则停止执行所述判定方法,否则控制机器人继续沿着预设路径移动,并判断所述预搜索区域是否满足第一预设圆域通行条件;在执行步骤3的过程中,还包括:先判断机器人是否移动至所述预设路径的终点,是则停止执行所述判定方法,否则控制机器人继续沿着预设路径移动,并判断机器人是否移动至与最新记录的路径节点的直线距离为大于或等于机器人的机身直径的位置。及时制止机器人继续移动和执行所述判定方法,以满足智能化的规划要求,避免机器人无限制地进行区域判定,导致计算资源消耗过大。

一种通行区域的路线搜索方法,该路线搜索方法包括:步骤s1、控制机器人沿着预设路径移动的过程中,直至判断到预搜索区域满足第一预设圆域通行条件,再进入步骤s2;步骤s2、将机器人的当前位置记录为第一路径节点,同时创建一个新的预测通行坐标集合,并将第一路径节点加入所述预测通行坐标集合,然后进入步骤s3;步骤s3、控制机器人继续沿着所述预设路径移动,直至判断到机器人移动至与最新记录的路径节点的直线距离为大于或等于机器人的机身直径的位置,再进入步骤s4;步骤s4、将机器人的当前位置记录为第二路径节点,同时判断第二路径节点是否满足第二预设圆域通行条件,是则进入步骤s5,否则进入步骤s6;步骤s5、将第二路径节点加入步骤s2所述的预测通行坐标集合,再返回步骤s3;步骤s6、根据所述预测通行坐标集合内部存有的路径节点的数目,保存所述预测通行坐标集合到同一候选路线坐标集合的内部,然后返回步骤s1;其中,一个预测通行坐标集合内是允许包括障碍物栅格点;其中,同一候选路线坐标集合的内部,任一个所述预测通行坐标集合内部的首元素及其尾元素都是唯一的,且同一个所述预测通行坐标集合内部的首元素及其尾元素不是相同的;其中,所述预设路径是机器人在当前区域内预先规划的路径。

与现有技术相比,本技术方案适用于机器人正常工作状态下搜索用于经过狭窄区域的候选路线,先设置第一预设圆域通行条件作为狭窄区域的预判条件,并提供所述预测通行坐标集合对应的候选路线的路径节点来源;再让机器人沿着原路径继续移动,然后设置第二预设圆域通行条件作为狭窄区域的精判条件,并继续提供所述预测通行坐标集合对应的候选路线的栅格点来源,使得移动一定的距离后机器人才具备判断狭窄区域的资格,所述预测通行坐标集合收集的用于连成栅格点的候选路线更加的完整,更加适应于狭窄区域下的地图栅格误差环境,为机器人提供实际可通行的路线而无需逐个关注路线上的栅格的标记信息。另外,在此基础上,若不满足相应的预设圆域通行条件时,则停止为所述预测通行坐标集合继续搜索,并确定单独一个所述预测通行坐标集合内的路径节点可以连接为一条独立的候选路线。机器人在正常移动的状态下,通过迭代执行前述相关步骤来搜索出能够克服地图漂移误差的路线点集合。增加机器人在障碍物空间布局较复杂的场景中找到有效导航路径的成功率。

进一步地,所述根据所述预测通行坐标集合内部存有的路径节点的数目,保存所述预测通行坐标集合到同一候选路线坐标集合的内部,然后返回步骤s1的方法具体包括:当所述预测通行坐标集合内部存有的路径节点的数目小于2时,删除所述预测通行坐标集合,再返回步骤s1以创建一个新的预测通行坐标集合;当所述预测通行坐标集合内部存有的路径节点的数目大于或等于2时,使用所述预测通行坐标集合表示单独一条候选路线,并保存到所述候选路线坐标集合内,以供启发式搜索算法调用,再返回步骤s1以创建一个新的预测通行坐标集合;其中,所述第一路径节点和所述第二路径节点是按照记录的先后顺序加入所述预测通行坐标集合内,使得所述预测通行坐标集合内存储的路径节点以一定的次序连接成候选路线;其中,每一个预测通行坐标集合内的首元素对应的路径节点是对应的一条候选路线的起点,每一个预测通行坐标集合内的尾元素对应的路径节点是对应的一条候选路线的终点。使得每一个预测通行坐标集合内的路径节点都匹配连接成一条候选路线,形成预测机器人在相应区域内能够无障碍通行的候选路线;在该技术方案中,若一个预测通行坐标集合最终获取的路径节点的数目少到难以连接出一条线时,可删除,减少无效的路径节点;一个预测通行坐标集合最终获取的路径节点作为整体保存到用于保存一套候选路线的所述候选路线坐标集合,使得候选路线的存取结构合理有序。

进一步地,所述第一预设圆域通行条件包括:第一不可通行区域的面积与所述预搜索区域的面积的比值大于第一通行评估值;其中,第一不可通行区域是在所述第一圆形区域对应的栅格区域内,由未知栅格点和障碍物栅格点组成的栅格区域;第一通行评价值是为了克服构建栅格地图中存在的空闲栅格的标记误差而设置的预判阈值;其中,所述预搜索区域是以机器人的当前位置为圆心、机器人的机身直径为半径的第一圆形区域。可以用于初步判断机器人是否开始进入狭窄区域,属于一种粗糙判断条件,后续有赖于机器人在继续移动过程中作进一步的判断。但不用考虑单个栅格的标记信息是否允许机器人通行,减少单个栅格的标记误差的影响。

进一步地,所述第二预设圆域通行条件包括:在以机器人的当前位置为圆心、机器人的机身直径为半径的第二圆形区域内,第二不可通行区域的面积与第二圆形区域的面积的比值大于第二通行评价值;其中,第二不可通行区域是在第二圆形区域对应的栅格区域内,由未知栅格点和障碍物栅格点组成的栅格区域;第二通行评价值是用于克服构建栅格地图中存在的空闲栅格的标记误差而设置的判断阈值,且大于第一通行评价值。以提高判断精度。相对于第一预设圆域通行条件的判断,该技术方案在机器人移动至距离最新记录的路径节点一个机器人的机身直径后,通过对第二圆形区域内的不可通行区域所占的面积比例进行更高精度的通行性的判断,提高狭窄区域的判断精度,且不用考虑单个栅格点的标记信息的影响。

进一步地,所述第二预设圆域通行条件包括:在以最新记录的第一路径节点为圆心、预设倍数的机身直径为半径的第二圆形区域内,使用启发式搜索算法搜索出最新记录的第二路径节点通向最新记录的第一路径节点的路径;其中,预设倍数的机身直径设置为:让第二圆形区域不与其它已标记的栅格区域交叉。以避免将其它已标记的栅格区域内已经规划出的路径参与判断,进而避免出现误判。

该技术方案对于第二圆形区域这一搜索区域的大小设置合理,避免与其他已知地图区域相交叉以把相关区域内规划的路线加入其中,导致机器人被导向其他区域而不再被引导通过当前的狭窄区域;另一方面,还通过判断是否能够在当前探索的第二圆形区域内规划出一段起点通往终点的完整的导航路径,来证明这个第二圆形区域的可通行区域已经不受障碍物的影响或不受障碍物栅格的标记位置的影响;从而提高所述狭窄区域的判断精度。

进一步地,在执行所述步骤s1的过程中,还包括:先判断机器人是否移动至所述预设路径的终点,是则停止执行所述路线搜索方法,否则控制机器人继续沿着预设路径移动,并判断所述预搜索区域是否满足第一预设圆域通行条件;在执行步骤s3的过程中,还包括:先判断机器人是否移动至所述预设路径的终点,是则停止执行所述路线搜索方法,否则控制机器人继续沿着预设路径移动,并判断机器人是否移动至与最新记录的路径节点的直线距离为大于或等于机器人的机身直径的位置。及时制止机器人继续移动和执行所述路线搜索方法,以满足智能化的规划要求,避免机器人无限制地进行路线搜索,导致消耗过多的不必要的计算资源。

一种芯片,该芯片用于存储程序代码,程序代码用于执行所述的一种通行区域的判定方法,和/或执行所述的一种通行区域的路线搜索方法。基于整体栅格区域的区域可通行条件,控制机器人准确有效地识别出狭窄区域,进而控制机器人在正常工作移动的状态下搜索能够克服地图漂移误差造成栅格不可通行问题的路线点集合。

一种机器人,该机器人内置所述芯片,该芯片用于控制机器人执行所述的一种通行区域的判定方法,和/或执行所述的一种通行区域的路线搜索方法。使得机器人后续在检测到所述狭窄区域并规划经过所述狭窄区域时,使用预先搜索出所述候选路线结合到当前的导航路径中,有效克服传感器累计误差(间接原因)、地图漂移(直接原因)造成的栅格标记误差的影响,,沿着相应的候选路线连接而成的导航路径,无障碍地穿过所述狭窄区域。

附图说明

图1是本发明一实施例公开一种通行区域的判定方法的流程图。

图2是本发明另一实施例公开一种通行区域的路线搜索方法的流程图。

具体实施方式

下面结合附图对本发明的具体实施方式作进一步说明。

需要说明的是,对于本领域技术人员可理解:栅格地图中标记有机器人的当前位置周围的环境信息,机器人构建的地图区域内的栅格包括标记为空闲(free)、占用(occupied)和未知(unknown)三种状态;这些栅格在本实施例中使用栅格点表示,即栅格的中心点;空闲状态的栅格点是指未被障碍所占用的栅格,是机器人可到达的栅格位置点,是空闲栅格点,可以组成未占用区域;占用状态的栅格点是指被障碍物所占用的栅格,是障碍物栅格点,可以组成占用区域;未知栅格点是指机器人构建地图过程中的不清楚具体情况的栅格区域,其位置点处往往被障碍物所遮挡,可以组成未知区域。

现有技术的智能扫地机器人经常移动至家庭环境中凳子的四条脚、茶几的入口等由各种家具组件之间限制形成的狭窄区域、房间的门打开形成的狭窄区域。需要补充的是,所述狭窄区域是各个障碍物的夹缝通道,其中,各个障碍物的夹缝通道是其中两个障碍物之间的最窄处对应的缝隙,这个缝隙宽度是大于机器人的机身直径的,是允许机器人通行的。由于机器人存在打滑情况、用于定位的传感器存在累计误差或视觉地图优化也产生误差,所以机器人容易在即时扫描构建的栅格地图上将所述狭窄区域都标记为障碍物占据的区域,即将所述狭窄区域原本映射的空闲栅格点错误地标记为障碍物占据的区域,导致映射到机器人构建的栅格地图中的狭窄区域的入口是堵住的,而实际运动场景中没有被真正堵住,这时需要机器人能够准确地根据即时构建的栅格地图去识别出当前是否处于狭窄区域,以便于后续规划出能够进出所述狭窄区域的导航路径。

作为一种实施例,本发明公开一种通行区域的判定方法,基本构思包括:

步骤a、控制机器人沿着预设路径移动,直至判断到机器人移动至与最新一次记录的路径节点的直线距离为大于或等于机器人的机身直径的位置,再将机器人的当前位置记录新的路径节点,实现机器人每移动一个机身直径的直线距离,则记录一次当前位置并保存对应的位置信息。

步骤b、然后判断最新一次记录的路径节点是否满足第二预设圆域通行条件,即步骤a在机器人相对于上一次记录的路径节点移动一个机身直径的直线距离后,判断最新记录过的路径节点是否满足第二预设圆域通行条件,是则判定机器人当前所属的探索区域(包括连通区域和不可通行区域)满足第二预设圆域通行条件,确定机器人当前处于狭窄区域内;否则判定机器人当前所处的位置或所属的区域都没有处于狭窄区域内;其中,所述狭窄区域是两个或两个以上障碍物的夹缝通道,夹缝通道是其中两个障碍物之间的最窄处对应的缝隙,这个缝隙宽度是大于或等于机器人的机身直径;其中,预设路径是机器人在当前区域内预先规划的路径。本实施例将所述第二预设圆域通行条件设置为机器人在狭窄区域内的可通行条件。

需要说明的是,所述预设路径是机器人预先规划的路径;路径节点支持用栅格点表示;所述预设路径是机器人正常工作路径或导航路径,当机器人是扫地机器人时,所述预设路径可以是弓字型移动路径、沿边行走路径、回字形路径等规划清扫路径;沿着所述预设路径上移动的机器人,可以在正常工作过程中进行适用于穿越所述狭窄区域的路线坐标点或路线搜索,或者在进入狭窄区域过程中进行相应的路线搜索。

与现有技术相比,本实施例适用于机器人正常工作或导航场景下进行区域判定,通过控制机器人采用一边移动一边判断的方式,来实现实时判断机器人当前位置是否处于狭窄区域内,符合狭窄区域的可通行区域特征,且不会因为狭窄区域在地图内的映射栅格的标记误差而不能沿着预设路径正常移动,特别是在地图上标记为障碍物栅格的区域,而实际上机器人在对应的实际场景下能够自由通行的区域。因此提高区域判断的有效性和准确性。

作为一种实施例,如图1所示,一种通行区域的判定方法具体包括以下步骤:

步骤s101、在控制机器人沿着预设路径移动的过程中,实时判断预搜索区域是否满足第一预设圆域通行条件,是则进入步骤s102,否则控制机器人继续沿着所述预设路径移动。需要说明的是,所述预搜索区域是以机器人的当前位置为圆心、机器人的机身直径为半径的第一圆形区域,覆盖到机器人的当前位置周围的最小的机器人可通行区域。

优选地,在执行所述步骤s101的过程中,还包括:先判断机器人是否移动至所述预设路径的终点,是则停止执行所述判定方法,否则控制机器人继续沿着预设路径移动,并实时判断所述预搜索区域是否满足第一预设圆域通行条件;所述步骤s101及时制止机器人继续移动和执行所述判定方法,以满足智能化的规划要求,避免机器人无限制地进行区域判定,进而导致计算资源消耗过大。

步骤s102、将机器人的当前位置记录为第一路径节点,然后进入步骤s103;当前执行的步骤s102所记录的第一路径节点相对于上一次执行的步骤s102所记录的第一路径节点是新的,而且两种路径节点都被保存记录下来。所以,本实施例先设置第一预设圆域通行条件作为狭窄区域的预判条件,初步排除掉无效的路径节点,增加整体判断的精度。

在本实施例中,若机器人在其当前位置处判断到所述预搜索区域是满足第一预设圆域通行条件,则记录机器人的当前位置为新的第一路径节点,形成具备导航意义的路径起点,或者适于成为一般路径搜索算法规划出的导航起点位置。

在本实施例中,所述第一预设圆域通行条件包括:第一不可通行区域的面积与所述预搜索区域的面积的比值大于第一通行评估值,即所述预搜索区域内的第一不可通行区域所占的面积比例大于第一通行评估值;其中,第一不可通行区域是在所述第一圆形区域对应的栅格区域内,由未知栅格点(也可以视为未知栅格,在本实施例中用栅格中心点表示)和障碍物栅格点(也可以视为未知栅格,在本实施例中用栅格中心点表示)组成的栅格区域;第一通行评价值是为了克服构建栅格地图中存在的空闲栅格的标记误差而设置的预判阈值,是在所述狭窄区域内反复实验的结果;第一通行评价值优选地设置为50%。当机器人判断到第一不可通行区域的面积(对应的栅格数量)与所述第一圆形区域(对应的栅格数量)的面积的比值小于或等于50%时,控制机器人继续沿着所述预设路径移动,直到机器人判断到所述第一圆形区域对应的栅格区域内的第一不可通行区域所占的面积比例大于50%。因此,所述第一预设圆域通行条件用于初步判断机器人是否开始进入狭窄区域,属于一种粗糙判断条件,后续有赖于机器人在继续移动过程中作进一步的判断。但不用考虑单个栅格的标记信息是否允许机器人通行,减少单个栅格的标记误差的影响。

在本实施例中,栅格标记误差是由于传感器误差或地图漂移误差或障碍物移动等误差反映到栅格地图中形成的。

步骤s103、在控制机器人继续沿着所述预设路径移动的过程中,实时判断到机器人是否移动至与最新记录的路径节点的直线距离为大于或等于机器人的机身直径的位置,是则进入步骤s104,否则控制机器人继续沿着所述预设路径移动,直到检测到机器人的当前位置(实时位置)与上一次记录的路径节点的直线距离达到或超出机器人的机身直径。该步骤s103实时检测的机器人当前位置与上一次记录的路径节点的直线距离,包括机器人的当前位置至与第一路径节点的直线距离,其中,机器人保持实时检测当前位置与上一次记录的路径节点的直线距离,也可以是每隔一定的检测周期才进行距离采样检测,在满足一定的通行条件时才将实时检测到的路径节点记录下来。

执行步骤s103的过程中,还包括:先判断机器人是否移动至所述预设路径的终点,是则停止执行所述判定方法,否则控制机器人继续沿着预设路径移动,并判断机器人是否移动至与最新记录的路径节点的直线距离为大于或等于机器人的机身直径的位置。从而及时制止机器人继续移动和执行所述判定方法,以满足智能化路径规划要求,避免机器人无限制地进行区域判定,导致计算资源消耗过大。

步骤s104、将机器人的当前位置记录为第二路径节点,然后进入步骤s105。步骤s104记录的第二路径节点相对于上一次执行步骤s104对应记录下的第二路径节点是新的路径节点,二者都保存记录下来,二者都没有被更新替换。因此,步骤s104记录的第二路径节点相对于上一次执行步骤s104对应记录下的第二路径节点是新的第二路径节点或步骤s102对应记录下的第一路径节点是新的路径节点,这些路径节点都被保存记录下来,它们都没有被更新替换。因此,由步骤s102执行至步骤s103时,步骤s103所述的最新记录的路径节点是步骤s102记录的第一路径节点;不经过步骤s102而重复执行一次步骤s103(由后续步骤返回迭代执行的)时,步骤s103所述的最新记录的路径节点是上一次执行步骤s104所记录的第二路径节点。

步骤s105、判断第二路径节点是否满足第二预设圆域通行条件,是则进入步骤s106,否则进入步骤s107。也等效于判断第二路径节点所属的机器人探索区域(包括连通区域和不可通行区域)是否满足第二预设圆域通行条件。

需要说明的是,连通区域指该区域内所有点可以互相连通,外部为障碍或者地图边界的一个区域。

作为第二预设圆域通行条件的一种实施方式,所述第二预设圆域通行条件包括:在以机器人的当前位置(即最新记录的第二路径节点)为圆心、机器人的机身直径为半径的第二圆形区域(机器人的有效探测区域)内,第二不可通行区域的面积与第二圆形区域的面积的比例大于第二通行评价值;其中,第二不可通行区域是在第二圆形区域对应的栅格区域内,由未知栅格点和障碍物栅格点组成的栅格区域;第二圆形区域可以理解为最新记录的第二路径节点所在的机器人探索区域(包括连通区域和不可通行区域)。第二通行评价值是用于克服构建栅格地图中存在的空闲栅格的标记误差而设置的判断阈值,且大于第一通行评价值以提高判断精度。第二通行评价值优选地设置为75%。当机器人判断到所述第二圆形区域对应的栅格区域内的第二不可通行区域所占的面积比例小于或等于75%时,进入步骤s107。其中,第二圆形区域的覆盖区域相对于第一圆形区域的覆盖区域不同,因为机器人的位置发生变化;因此在所述第一圆形区域的基础上或上一次搜索的第二圆形区域的基础上,机器人移动至距离最新记录的路径节点一个机器人的机身直径后,进一步地作第二不可通行区域所占的面积比例的判断,本实施例在判断过程中无需实时关注栅格地图在单个栅格上的标记信息的影响,只需关注大小合理的栅格区域内的不可通行区域面积所占的比值,避免出现误判。

作为第二预设圆域通行条件的另一种实施方式,所述第二预设圆域通行条件包括:在以最新记录的第一路径节点为圆心、预设倍数的机身直径为半径的第二圆形区域内,使用路径搜索算法搜索到最新记录的第二路径节点通向最新记录的第一路径节点的路径,用于证明当前的第二圆形区域内的路径搜索已经不受障碍物的影响或障碍物栅格的错误标记的影响,其中,第二圆形区域理解为第二路径节点所在的机器人探索区域,包括连通子区域和不可通行的子区域。由于所述第二圆形区域可能处于狭窄区域的附近,所以最新记录的第二路径节点通向最新记录的第一路径节点之间可能存在障碍物阻碍,且本实施例将可能发生碰撞的节点称为无效节点或非法节点,在规划路径时需要避开这些节点,因此才有使用成熟稳定的路径搜索算法去检验区域的可通行性的必要,从而通过判断是否能够在当前探索的第二圆形区域内规划出一段起点通往终点的完整的导航路径,来证明这个第二圆形区域的可通行区域已经不受障碍物的影响或不受障碍物栅格的标记位置的影响;本实施例使用的路径搜索算法是a*算法,有效快速地在所述第二圆形区域内搜索出最新记录的第二路径节点通向最新记录的第一路径节点的导航路径,进而提高所述狭窄区域的判断精度。

需要说明的是,本实施例可以将所述第一圆形区域或所述第二圆形区域视为清扫区域。所述预设倍数的机身直径设置为:第二圆形区域不与其它已标记的栅格区域交叉以避免将其它已标记的栅格区域内已经规划出的路径参与判断,同时在栅格存在标记误差的前提下,通过引用成熟的路径搜索算法在合理且足以包括部分障碍物的栅格区域范围内扩展搜索出通往终点的导航路径,来判断区域的可通行情况,提高狭窄区域这一可通行区域的判断精度。所述预设倍数的机身直径设置为三分之二的机身直径,使得形成的第二圆形区域大于所述第一圆形区域内。本实施例对于第二圆形区域这一搜索区域的大小设置合理,避免与其他已知地图区域相交叉以把相关区域内规划的路线加入其中,导致机器人被导向其他区域而不再被引导通过当前的狭窄区域。

步骤s106、判定机器人当前处于所述狭窄区域;在机器人识别出其当前位置处于所述狭窄区域后,通过返回步骤s103,来在所述狭窄区域内继续沿着所述预设路径移动。但是机器人可能已经移动到所述预设路径的终点,所以,优选地控制机器人由步骤s106进入步骤s108作进一步的路径节点判断。

因此,在本实施例中,机器人在利用第一预设圆域通行条件搜索到第一路径节点后,每移动一个机身直径的直线距离时,判断机器人的当前位置或当前的探索区域是否满足第二预设圆域通行条件;然后,通过第二预设圆域通行条件确定机器人当前处于所述狭窄区域时,继续沿着所述预设路径移动,并实时检测机器人是否还处于所述狭窄区域内,这样层层递进的方式来检验机器人当前是否处于狭窄区域,可以快速、及时的检测出所述狭窄区域,从而提高机器人的有效工作效率,需要说明的是,其中,所述狭窄区域是两个或两个以上障碍物的夹缝通道,夹缝通道是其中两个障碍物之间的最窄处对应的缝隙,这个缝隙宽度是大于或等于机器人的机身直径。此判定方法可能需要机器人具备精密的距离传感器(如激光雷达),或者只需要普通的红外或者碰撞传感器即可。

步骤s107、判定机器人当前没有处于所述狭窄区域,或刚好离开当前的狭窄区域来到不可通行区域的面积占比较少的空旷区域,所以通过返回步骤s101来控制机器人在新的位置重新进行一轮所述狭窄区域的判断,即迭代执行前述步骤s101至步骤s107。但是机器人可能已经移动到所述预设路径的终点,所以,优选地控制机器人由步骤s107进入步骤s109作进一步的路径节点判断。

步骤s108、判断机器人是否移动至所述预设路径的终点,是则结束执行所述判定方法,否则返回步骤s103。

步骤s109、判断机器人是否移动至所述预设路径的终点,是则结束执行所述判定方法,否则返回步骤s101。

从而及时制止机器人继续移动和执行所述判定方法,避免机器人无限制地进行区域判定,导致计算资源消耗过大。

本发明另一实施例公开一种通行区域的路线搜索方法,如图2所示,所述路线搜索方法具体包括:

步骤s201、在控制机器人沿着预设路径移动的过程中,实时判断预搜索区域是否满足第一预设圆域通行条件,是则进入步骤s202,否则控制机器人继续沿着预设路径移动。其中,所述预设路径是机器人预先规划的路径;路径节点支持用栅格点表示;预设路径是机器人正常工作路径或导航路径,当机器人是扫地机器人时,预设路径可以是弓字型移动路径、沿边行走路径、回字形路径等规划清扫路径,在所述预设路径上移动的机器人,可以在正常工作过程中进行适用于穿越所述狭窄区域的路线坐标点或路线搜索,或者在进入狭窄区域过程中进行相应的路线搜索。需要说明的是,所述预搜索区域是以机器人的当前位置为圆心、机器人的机身直径为半径的第一圆形区域,覆盖到机器人周围的最小可通行区域。

优选地,在执行所述步骤s201的过程中,还包括:先判断机器人是否移动至所述预设路径的终点,是则停止执行所述路线搜索方法,否则控制机器人继续沿着预设路径移动,并实时判断所述预搜索区域是否满足第一预设圆域通行条件;所述步骤s201及时制止机器人继续移动和执行所述路线搜索方法,以满足智能化的规划要求,避免机器人无限制地进行路线坐标的搜索,进而导致计算资源消耗过大。

步骤s202、将机器人的当前位置记录为第一路径节点,同时创建一个新的预测通行坐标集合,并将第一路径节点存入所述预测通行坐标集合,然后进入步骤s203。在本实施例中,所述预测通行坐标集合内部的元素是配置为按记录的时间顺序存储第一路径节点。

需要说明的是,所述预测通行坐标集合内部的首元素及其尾元素都是唯一的,使得所述预测通行坐标集合内部的首元素或其尾元素成为其表示的路线的唯一标识信息,可以作为规划路径的过程中的索引节点或作为回溯路径的标示节点,而且,同一个所述预测通行坐标集合内部的首元素及其尾元素不是相同的,因为在同一个所述预测通行坐标集合内部的首元素及其尾元素相同时,所述预测通行坐标集合内部的元素按照记录的先后顺序围成封闭的图形,形成没有导航意义的路径。

在本实施例中,所述第一预设圆域通行条件包括:所述预搜索区域内的第一不可通行区域所占的面积比例大于第一通行评估值;其中,第一不可通行区域是在所述第一圆形区域对应的栅格区域内,由未知栅格点和障碍物栅格点组成的栅格区域;第一通行评价值是为了克服构建栅格地图中存在的空闲栅格的标记误差而设置的预判阈值,是在所述狭窄区域内反复实验的结果;第一通行评价值优选地设置为50%。当机器人判断到所述第一圆形区域对应的栅格区域内的第一不可通行区域所占的面积比例小于或等于50%时,控制机器人维持沿着预设路径移动,直到机器人判断到所述第一圆形区域对应的栅格区域内的第一不可通行区域所占的面积比例大于50%。因此,所述第一预设圆域通行条件用于初步判断机器人是否开始进入狭窄区域,属于一种粗糙判断条件,后续有赖于机器人在继续移动过程中作进一步的判断。但不用考虑连接成规划路径的每个栅格的标记信息是否允许机器人通行,减少逐个栅格的标记误差的影响。

步骤s203、在控制机器人继续沿着所述预设路径移动,实时判断机器人是否移动至与最新记录的路径节点的直线距离为大于或等于机器人的机身直径的位置,是则进入步骤s204,否则控制机器人继续沿着所述预设路径移动。该步骤s203检测的机器人与上一次记录的路径节点的直线距离,包括机器人的当前位置至与第一路径节点的直线距离,其中,机器人保持实时检测当前位置与上一次记录的路径节点的直线距离,也可以是每隔一定的检测周期才进行距离采样检测,在满足一定的通行条件时才将实时检测到的路径节点记录下来。

执行步骤s203的过程中,还包括:先判断机器人是否移动至所述预设路径的终点,是则停止执行所述路线搜索方法,否则控制机器人继续沿着预设路径移动,并判断机器人是否移动至与最新记录的路径节点的直线距离为大于或等于机器人的机身直径的位置。从而及时制止机器人继续移动和执行所述路线搜索方法,以满足智能化路径规划要求,避免机器人无限制地移动以持续进行路线坐标搜索,导致计算资源消耗过大。

步骤s204、检测到机器人的当前位置与最新记录的路径节点的直线距离为大于或等于机器人的机身直径时,将机器人的当前位置记录为第二路径节点,然后进入步骤s205。

步骤s205、判断所述第二路径节点是否满足第二预设圆域通行条件,是则进入步骤s206,否则进入步骤s207;因此,前述步骤s204最新记录的路径节点包括上一次记录的第一路径节点或上一次记录的第二路径节点。其中,步骤s204记录的第二路径节点相对于上一次执行步骤s204对应记录下的第二路径节点是新的第二路径节点或步骤s202对应记录下的第一路径节点是新的路径节点。具体地,当由步骤s202执行至步骤s203时,步骤s203所述的最新记录的路径节点是步骤s202记录的第一路径节点,这时,当前记录的第一路径节点和第二路径节点所加入的预测通行坐标集合,不是上一次执行的步骤s202所创建的预测通行坐标集合;当不经过步骤s202而重复执行一次步骤s203(由后续步骤返回迭代执行的)时,步骤s203所述的最新记录的路径节点是上一次执行步骤s204所记录的第二路径节点,这些经过迭代处理获得第二路径节点都被保存入同一个预测通行坐标集合内,它们都没有被更新替换。

作为第二预设圆域通行条件的一种实施方式,所述第二预设圆域通行条件包括:在以机器人的当前位置(即最新记录的第二路径节点)为圆心、机器人的机身直径为半径的第二圆形区域内,第二不可通行区域所占的面积比例大于第二通行评价值;其中,第二不可通行区域是在第二圆形区域对应的栅格区域内,由未知栅格点和障碍物栅格点组成的栅格区域;第二通行评价值是用于克服构建栅格地图中存在的空闲栅格的标记误差而设置的判断阈值,且大于第一通行评价值以提高判断精度。第二通行评价值优选地设置为75%。当机器人判断到所述第二圆形区域对应的栅格区域内的第二不可通行区域所占的面积比例小于或等于75%时,进入步骤s207。其中,第二圆形区域的覆盖区域相对于第一圆形区域的覆盖区域不同,因为机器人的位置发生变化;因此在所述第一圆形区域的基础上或上一次搜索的第二圆形区域的基础上,机器人移动至距离最新记录的路径节点一个机器人的机身直径后,进一步地作第二不可通行区域所占的面积比例的判断,不用考虑单个栅格点的标记信息的影响,提高狭窄区域的判断精度。本实施例只是将所述第二圆形区域的探索半径设置为机器人的机身直径,而不是更大的数值,避免控制不相关(探测范围之外的)栅格区域参与计算,减少时间开销。

作为第二预设圆域通行条件的另一种实施方式,所述第二预设圆域通行条件包括:在以最新记录的第一路径节点为圆心、预设倍数的机身直径为半径的第二圆形区域内,使用路径搜索算法搜索到最新记录的第二路径节点通向最新记录的第一路径节点的路径,用于证明当前的第二圆形区域内的路径搜索已经不受障碍物的影响或障碍物栅格的错误标记的影响;由于所述第二圆形区域可能处于狭窄区域的附近,所以最新记录的第二路径节点通向最新记录的第一路径节点之间可能存在障碍物阻碍,且本实施例将可能发生碰撞的节点称为无效节点或非法节点,在规划路径时需要避开这些节点,因此才有使用成熟稳定的路径搜索算法去检验区域的可通行性的必要,本实施例使用的路径搜索算法是a*算法,有效快速地在所述第二圆形区域内搜索出最新记录的第二路径节点通向最新记录的第一路径节点的导航路径。需要说明的是,本实施例可以将所述第一圆形区域或所述第二圆形区域视为清扫区域。其中,预设倍数的机身直径设置为:让第二圆形区域不与其它已标记的栅格区域交叉,以避免将其它已标记的栅格区域内已经规划出的路径参与判断,进而避免出现误判。所述预设倍数的机身直径设置为三分之二的机身直径,使得形成的第二圆形区域大于所述第一圆形区域内。与现有技术相比,本实施例对于第二圆形区域这一搜索区域的大小设置合理,避免与其他已知地图区域相交叉以把相关区域内规划的路线加入其中,导致机器人被导向其他区域而不再被引导通过当前的狭窄区域;另一方面,还通过判断是否能够在当前探索的第二圆形区域内规划出一段起点通往终点的完整的导航路径,来证明这个第二圆形区域的可通行区域已经不受障碍物的影响或不受障碍物栅格的标记位置的影响;从而提高所述狭窄区域的判断精度。

步骤s206、判定机器人当前处于所述狭窄区域,并将第二路径节点加入步骤s202所述的预测通行坐标集合内,再返回步骤s203;因为在机器人识别出其当前位置处于所述狭窄区域后,通过返回步骤s203,继续在所述狭窄区域内沿着所述预设路径移动。但是机器人可能已经移动到所述预设路径的终点,所以,优选地控制机器人由步骤s206进入步骤s208作进一步的路径节点判断。

因此,在本实施例中,机器人在搜索到第一路径节点后,每移动一个机身直径的直线距离时,即当前位置与上一个记录路径节点的位置的直线距离为机身直径时,判断机器人的当前位置或当前的探索区域是否满足第二预设圆域通行条件;然后,通过第二预设圆域通行条件确定机器人当前处于所述狭窄区域时,继续沿着所述预设路径移动于所述狭窄区域,继续搜索出新的第二路径节点以连接出用于穿过所述狭窄区域的路线,直到判断到所述第二路径节点不满足第二预设圆域通行条件。需要说明的是,其中,所述狭窄区域是两个或两个以上障碍物的夹缝通道,夹缝通道是其中两个障碍物之间的最窄处对应的缝隙,这个缝隙宽度是大于或等于机器人的机身直径。

步骤s207、判定机器人当前没有处于所述狭窄区域,或刚好离开当前的狭窄区域来到不可通行区域的面积占比较少的空旷区域,同时根据所述预测通行坐标集合内部存有的路径节点的数目,保存所述预测通行坐标集合到同一个候选路线坐标集合的内部,并将所述预测通行坐标集合内存储的路径节点按照先后加入的次序连接成对应的一条候选路线,相当于向所述预测通行坐标集合加入对应候选路线的终点,使得一个预测通行坐标集合在所述候选路线坐标集合内成为代表一条候选路线的点集合;然后通过返回步骤s201,来控制机器人在新的位置重新进行一轮所述狭窄区域的判断,即迭代执行前述步骤s201至步骤s207以在所述候选路线坐标集合内创建一个新的预测通行坐标集合,以描述一条新的候选路线;但是机器人可能已经移动到所述预设路径的终点,所以,优选地控制机器人由步骤s207进入步骤s209作进一步的路径节点判断。

因此,步骤s208、判断机器人是否移动至所述预设路径的终点,是则结束执行所述路线搜索方法,否则返回步骤s203。

步骤s209、判断机器人是否移动至所述预设路径的终点,是则结束执行所述路线搜索方法,否则返回步骤s201。从而及时制止机器人继续移动和执行所述路线搜索方法,避免机器人无限制地进行路线搜索,导致计算资源消耗过大。

值得注意的是,同一个候选路线坐标集合的内部,存在多个所述预测通行坐标集合,分别代表其它的互不相同的候选路线,因为同一个候选路线坐标集合的内部,任一个所述预测通行坐标集合内部的首元素及其尾元素都是唯一的。

值得注意的是,一个预测通行坐标集合内是允许包括障碍物栅格点,表示对应的候选路线是有可能存在障碍物栅格点。由步骤s201至步骤s209可知,机器人自身移动至一个特定的路径节点,比如在一次迭代执行的过程中执行到步骤s202(满足初始状态条件)、或者在一次迭代执行的过程中执行到步骤s206时对应的机器人当前位置,且在该路径节点上判断到满足所述第一预设圆域通行条件或所述第二预设圆域通行条件时,则将该路径节点加入所述预测通行坐标集合,作为连接到对应候选路线上的一个路径节点,然而由于传感器探测误差、地图漂移误差等,该路径节点在栅格地图上的标记的栅格信息可能不是空闲状态,反而被误标记为障碍物占据状态,即所述障碍物栅格点,该路径节点虽然在栅格地图中标记为障碍物栅格点,但是也加入所述预测通行坐标集合,作为对应候选路线上的一个路径节点,而实际机器人是可以移动至该路径节点,证明该路径节点是可通行的或可连通的。

作为一种实施例,根据所述预测通行坐标集合内部存有的路径节点的数目,保存所述预测通行坐标集合到同一个候选路线坐标集合的方法具体包括:当所述预测通行坐标集合内部存有的路径节点的数目小于2时,表示机器人可能检测到难以逾越的障碍物或被困或出现其它异常情况,使得收集到所述预测通行坐标集合内部存有的路径节点是无效节点,则选择删除所述预测通行坐标集合,再返回步骤s201以创建一个新的预测通行坐标集合。因此,在本实施例中,若一个预测通行坐标集合最终获取的路径节点的数目少到难以连接出一条线时,可删除相关的集合以减少无效的路径节点。

当所述预测通行坐标集合内部存有的路径节点的数目大于或等于2时,使用所述预测通行坐标集合表示单独一条候选路线,并保存到所述候选路线坐标集合内,以供路径搜索算法调用,可以是启发式搜索算法使用,再通过返回步骤s201来创建一个新的预测通行坐标集合;优选地,一个预测通行坐标集合最终获取的路径节点可以作为整体路线保存到所述候选路线坐标集合,使得候选路线的存储数据合理有序。其中,所述第一路径节点和所述第二路径节点是按照记录的先后顺序加入所述预测通行坐标集合内,使得所述预测通行坐标集合内存储的路径节点以记录好的次序连接成对应的一条候选路线。需要说明的是,每一个预测通行坐标集合内的首元素对应的路径节点是对应的一条候选路线的起点,每一个预测通行坐标集合内的尾元素对应的路径节点是对应的一条候选路线的终点。使得每一个预测通行坐标集合内的路径节点都匹配连接成一条候选路线,形成预测机器人在相应区域内能够无障碍通行的候选路线;与现有技术相比,前述步骤s201至步骤s207所述路线搜索方法适用于机器人进入狭窄区域的状态下实施路线搜索,先设置第一预设圆域通行条件作为狭窄区域的预判条件,并提供所述预测通行坐标集合对应的候选路线的路径节点来源;再让机器人沿着原路径继续移动,然后设置第二预设圆域通行条件作为狭窄区域的精判条件,并继续提供所述预测通行坐标集合对应的候选路线的栅格点来源,使得移动一定的距离后机器人才具备判断狭窄区域的资格,所述预测通行坐标集合收集的用于连成栅格点的候选路线更加的完整,更加适应于狭窄区域下的地图栅格误差环境,为机器人提供实际可通行的路线而无需逐个关注该路线上的栅格标记信息。另外,在此基础上,若不满足相应的预设圆域通行条件时,则停止为所述预测通行坐标集合继续搜索路径节点,并确定单独一个所述预测通行坐标集合内的路径节点可以连接为一条独立的候选路线。通过迭代执行前述相关步骤,机器人在正常工作移动的状态下搜索能够克服地图漂移误差的路线点集合。增加机器人在障碍物空间布局较复杂的场景中找到有效导航路径的成功率。

优选地,若机器人当前检测到由处于所述狭窄区域变为没有处于所述狭窄区域时,则开始使用所述候选路线坐标集合内的多个所述预测通行坐标集合进行导航路径规划,具体是通过搜索当前的地图区域内属于所述预测通行坐标集合的路径节点或对应连接形成的路线,连接到常规路径搜索算法规划出的导航路径,以规划出支持机器人自由进出所述狭窄区域的导航路径,克服地图漂移误差。从而在机器人离开所述狭窄区域时或离开当前的狭窄区域而即将进入新的狭窄区域之前,将已搜索过的适应于穿过所述狭窄区域的候选路线的坐标点融合到当前位置处使用启发式搜索算法或其它成熟的路径搜索算法中以规划出一条导航路径,克服在狭窄区域处搜索到的空闲栅格点容易被标记为障碍物栅格点而导致规划的路径无法通过狭窄区域的问题。

优选地,若机器人的当前位置被障碍物包围,使其无法继续沿着所述预设路径移动时,停止执行所述路线搜索方法和前述实施例提及的判定方法。

本发明实施例还公开一种芯片,该芯片用于存储程序代码,程序代码用于执行所述的一种通行区域的判定方法,和/或执行所述的一种通行区域的路线搜索方法。基于前述实施例对应的栅格区域的区域可通行状态,控制机器人准确有效地识别出狭窄区域,进而控制机器人在正常工作移动的状态下搜索能够克服地图漂移误差造成栅格不可通行问题的路线点集合。

基于前述实施例,还公开一种机器人,该机器人内置前述的芯片,该芯片用于控制机器人执行所述的一种通行区域的判定方法,和/或执行所述的一种通行区域的路线搜索方法。使得机器人后续在检测到所述狭窄区域并规划经过所述狭窄区域时,使用预先搜索出所述候选路线结合到当前的导航路径中,有效克服传感器累计误差(间接原因)、地图漂移(直接原因)造成的栅格标记误差的影响,沿着相应的候选路线连接而成的导航路径,无障碍地穿过所述狭窄区域。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1