欢迎光临小豌豆知识网!
当前位置:首页 > 物理技术 > 调节控制> 一种机器人越障的沿边路径选择方法、芯片及机器人独创技术68522字

一种机器人越障的沿边路径选择方法、芯片及机器人

2021-02-01 04:30:18

一种机器人越障的沿边路径选择方法、芯片及机器人

  技术领域

  本发明涉及机器人沿边行走的技术领域,尤其涉及一种机器人越障的沿边路径选择方法、芯片及机器人。

  背景技术

  控制机器人导航,是控制机器人从地图的一个坐标点走到另一个坐标点,一般是先从地图上搜索一条路径,然后根据这条路径行走,直到到达目标点。然而现有的视觉扫地机器人中,由于地图精度不够高,地图障碍物标记不够准确,以及机器人在导航过程中不够准确地沿着导航路径行走等因素影响,所以容易导致机器人在导航过程中碰撞到障碍物。

  目前,如何通过寻找正确方向来快速越过这些障碍物一直都是机器人导航过程中的一个难点。

  发明内容

  为了解决上述技术问题,本发明公开一种机器人越障的沿边路径选择方法,根据预测规划出的左右沿边路径中选择出正确沿边方向,以控制机器人沿着正确的沿边方向实现快速越障。具体的技术方案如下:

  一种机器人越障的沿边路径选择方法,包括:首先规划出用于机器人越障的沿边预测路径,并在预先设置的导航路径上选择出满足导向条件的预设拐点;其中,机器人预先设置有由拐点连接而成的导航路径,这些拐点用于引导机器人移动至最终导航目标点;然后根据每个沿边预测路径上所有的沿边行为点与同一条导航路径上满足导向条件的预设拐点的距离信息,选择出相对于这条导航路径的偏离程度最小的一个沿边预测路径,使得机器人在碰撞到障碍物后按照这个选择出的沿边预测路径的沿边方向行走以实现快速越障。减少机器人在越障过程中的碰撞次数,也避免机器人偏离导航路径过远,实现机器人高效的沿边越障功能,提高机器人的智能化水平。

  进一步地,所述在预先设置的导航路径上选择出满足导向条件的预设拐点的方法包括:先从所述导航路径上选择一个目标拐点,再通过分别判断这个目标拐点以及从这个目标拐点开始沿着所述导航路径的导航前进方向相继设置的一个或两个拐点中是否存在所述最终导航目标点,来选择出满足导向条件的预设拐点;其中,所述导航路径的导航前进方向是用于引导机器人移动至所述最终导航目标点的机器人导航方向;所述最终导航目标点也是所述导航路径的终点,也属于所述导航路径的其中一个拐点。该技术方案通过判断机器人的导航路径上连续设置的三个拐点是否存在所述导航路径的终点,筛选出能够引导机器人移动至所述最终导航目标点的具有代表性的拐点,也能用于比较所述导航路径与所述沿边预测路径的差别程度。

  进一步地,当判断到从所述目标拐点开始沿着所述导航路径的导航前进方向相继设置的两个拐点中不存在所述最终导航目标点时,确定所述满足导向条件的预设拐点包括:所述目标拐点、以及在所述导航路径上从这个目标拐点开始沿着所述导航路径的导航前进方向相继设置的两个拐点;当判断到从所述目标拐点开始沿着所述导航路径的导航前进方向连续设置的第一个拐点或第二个拐点是所述最终导航目标点时,确定所述满足导向条件的预设拐点包括:在所述导航路径上,从所述目标拐点开始沿着所述导航路径的导航前进方向排列至所述最终导航目标点的所有拐点,其中,所述目标拐点和所述最终导航目标点也包括在内;第一个拐点是在所述导航路径的导航前进方向上与所述目标拐点相邻设置的,第二个拐点是在所述导航路径的导航前进方向上与第一个拐点相邻设置的;当判断到所述导航路径上选择的目标拐点是所述最终导航目标点时,确定所述满足导向条件的预设拐点只有所述最终导航目标点。该技术方案公开的满足导向条件的预设拐点能够代表所述导航路径的导航方向特征,充分考虑到导航路径的终点的影响因素,从而简化后续对沿边预测路径与导航路径的差异程度的计算量。

  进一步地,在预先设置的导航路径上选择出目标拐点的具体方法包括:建立以机器人的当前位置为中心,且与机器人的当前位置的最大距离为第一预设距离门限值的栅格坐标所组成的拐点比较区域;当这个拐点比较区域只有一个所述拐点时,选择这个所述拐点记为所述目标拐点;当这个拐点比较区域存在两个或两个以上所述拐点时,在与机器人的当前位置的距离小于第一预设距离门限值的拐点中,沿着所述导航路径的导航前进方向选择距离所述最终导航目标点最近的拐点,记为所述目标拐点;当这个拐点比较区域没有所述拐点时,沿着所述导航路径的导航前进方向,在所述导航路径上选择与机器人最新标记过的目标拐点相邻的一个拐点记为新的目标拐点;其中,机器人的当前位置与其中一个所述拐点的距离小于第二预设距离门限值时,确定机器人的当前位置与这个所述拐点重合;第二预设距离门限值小于第一预设距离门限值。该技术方案选择出的所述目标拐点在局部导航区域内具备引导机器人往所述导航路径的终点方向移动的作用。

  进一步地,所述根据每个沿边预测路径上所有的沿边行为点与同一条导航路径上满足导向条件的预设拐点的距离信息,选择出相对于这条导航路径的偏离程度最小的一个沿边预测路径,使得机器人在碰撞到障碍物后按照这个选择出的沿边预测路径的沿边方向行走以实现快速越障的方法包括:所述沿边预测路径包括左沿边预测路径和右沿边预测路径,其中,左沿边预测路径的沿边方向和右沿边预测路径的沿边方向是相反的;计算所述导航路径的满足导向条件的预设拐点到左沿边预测路径上的同一个沿边行为点的距离,再对这些距离求和,以获得一个沿边行为点相对于满足导向条件的预设拐点产生的左侧局部距离和;然后通过重复前述计算步骤来获得左沿边预测路径上的每个沿边行为点相对于满足导向条件的预设拐点产生的左侧局部距离和,再将这些左侧局部距离和相加,以获取左沿边预测路径相对于满足导向条件的预设拐点产生的左侧距离总和,用于表示左沿边预测路径相对于所述导航路径的偏离程度;同时,计算所述导航路径的满足导向条件的预设拐点到右沿边预测路径上的同一个沿边行为点的距离,再对这些距离求和,以获得一个沿边行为点相对于满足导向条件的预设拐点产生的右侧局部距离和;然后通过重复前述计算步骤来获得右沿边预测路径上的每个沿边行为点相对于满足导向条件的预设拐点产生的右侧局部距离和,再将这些右侧局部距离和相加,以获取右沿边预测路径相对于满足导向条件的预设拐点产生的右侧距离总和,用于表示右沿边预测路径相对于所述导航路径的偏离程度;当左侧距离总和大于右侧距离总和时,确定右沿边预测路径是相对于所述导航路径的偏离程度最小的一个沿边预测路径,则选择出右沿边预测路径,使得机器人在碰撞到障碍物后按照这个选择出的右沿边预测路径的沿边方向行走以实现快速越障;当右侧距离总和大于左侧距离总和时,确定左沿边预测路径是相对于所述导航路径的偏离程度最小的一个沿边预测路径,则选择出左沿边预测路径,使得机器人在碰撞到障碍物后按照这个选择出的左沿边预测路径的沿边方向行走以实现快速越障;其中,右侧距离总和越小,右沿边预测路径相对于所述导航路径的偏离程度越小;左侧距离总和越小,左沿边预测路径相对于所述导航路径的偏离程度越小。该技术方案通过比较沿边预测路径与导航路径中特定的路径节点之间距离和值,来确定沿边预测路径与导航路径的差别程度,再选择差别程度小的沿边预测路径对应的沿边方向作为机器人沿边越障的最佳方向,避免机器人在越障过程中过度偏离预先设定的导航路径。

  进一步地,所述导航路径是由一组有序分布的拐点连接而成,从所述导航路径的起始点至其终点对应的所述导航路径的导航前进方向上,设置的拐点的规划序号依次递增;其中,所述满足导向条件的预设拐点的规划序号是依次递增的,比所述目标拐点的规划序号小的拐点记为机器人已遍历过的拐点;其中,所述最终导航目标点的规划序号是最大的,使得所述导航路径的导航前进方向上距离所述最终导航目标点越近的拐点对应的规划序号越大。该技术方案通过编号的方式整理区分所述导航路径上的所有拐点,方便系统软件识别处理拐点,加快选择出所述满足导向条件的预设拐点,提高机器人选择沿边方向的速度。

  进一步地,还包括:机器人开始按照所述导航路径行走后,判断预设时间内机器人所处的坐标位置变化量是否大于距离稳定阈值,是则控制机器人规划出所述沿边预测路径,否则控制机器人改变沿边方向,使得机器人转而沿着与当前确定的沿边方向相反的方向行走;其中,当前确定的沿边方向包括机器人上电启动时预先设置的沿边方向和上一次选择出的相对于所述导航路径的偏离程度最小的一个沿边预测路径的沿边方向;其中,若判断到无法规划出用于机器人越障的沿边方向相反的两个沿边预测路径,则控制机器人转而沿着与当前确定的沿边方向相反的方向行走;其中,距离稳定阈值设置为机器人的机身直径大小。避免机器人因沿边越障失败而困在同一位置,也避免机器人因规划不出所述沿边预测路径而作出无效的沿边越障行为,导致机器人在错误的沿边方向上越沿越远。

  进一步地,所述沿边预测路径的规划方法包括:步骤1、机器人当前碰撞到障碍物后,在预先标记障碍物信息的栅格地图上标记碰撞点;步骤2、在步骤1当前标记的碰撞点的邻域上,选择满足沿边越障条件的栅格,并将选择出的栅格标记为用于机器人沿障碍物边缘行走的沿边行为点,使得这些沿边行为点构成所述沿边预测路径。该技术方案在机器人碰撞障碍物后,开启沿边行走之前,通过当前标记的碰撞点的邻域寻找具备保持沿边越障条件的栅格,以便后续机器人按照相应栅格规划出的越障路径进行沿边行走,减少机器人碰撞次数,加快导航越过障碍物。

  进一步地,所述步骤2具体方法包括:步骤21、搜索与步骤1当前标记的碰撞点的距离关系满足最近距离条件的障碍物点;步骤22、在步骤21搜索到的障碍物点的邻域上,搜索满足预沿边条件的栅格;步骤23、当统计到满足预沿边条件的栅格的数目达到第二预设栅格数时,从这些满足预沿边条件的栅格中选择满足所述最佳沿边条件的栅格,也作为满足所述沿边越障条件的栅格;步骤24、将步骤23选择出的满足所述最佳沿边条件的栅格标记为新的碰撞点,并添加为用于机器人沿障碍物边缘行走对应的沿边预测路径上新规划的沿边行为点,同时将这个新的碰撞点更新为所述步骤1当前标记的碰撞点,再返回执行步骤21,直到标记出预设越障栅格数的沿边行为点为止;其中,当步骤21搜索不出满足最近距离条件的障碍物点时,确定无法规划出所述沿边预测路径;或者,当步骤22搜索不出满足预沿边条件的栅格时,确定无法规划出所述沿边预测路径。本技术方案通过迭代执行步骤21至步骤24,实现在合理栅格数量范围内,将规划出的满足所述沿边越障条件的栅格标记为新的碰撞点,从而规划出机器人绕障碍物对应一侧边缘行走的沿边预测路径,有利于机器人依靠地图障碍物边缘预测出沿边所走出的路径。

  进一步地,在所述步骤23中,满足所述最佳沿边条件的栅格包括:从满足所述预沿边条件的栅格中选择出与机器人的当前位置的连线最接近障碍物的边缘的栅格;在执行所述沿边路径选择方法的过程中,机器人的当前位置是不变的。使得该技术方案规划确定的栅格组成的沿边预测路径实现最大限度地接近障碍物的轮廓线。

  进一步地,所述步骤23具体包括:当满足所述预沿边条件的栅格的统计数目达到第二预设栅格数时,根据这些满足所述预沿边条件的栅格与机器人的当前位置的相对位置关系,从这些栅格中选择出与机器人的当前位置的连线最接近障碍物的边缘的栅格,以满足所述沿边越障条件。该技术方案在满足一定的统计数目的前提下,规划出合理长度的沿边预测路径,提高机器人导航越障的处理效率。

  进一步地,满足所述预沿边条件的栅格与机器人的当前位置的相对位置关系的计算方法包括:以机器人的当前位置为原点,机器人的机身右侧方向为X轴正方向,机器人当前的前进方向为Y轴正方向,建立起机器人坐标系;在机器人坐标系上,分别计算出所述每个满足所述最佳沿边条件的栅格相对于机器人坐标系的原点的坐标值和角度值。利用机器人局部坐标系参与规划的栅格坐标计算,使得相关栅格的坐标计算合理准确。

  进一步地,所述碰撞点包括前碰撞点、左碰撞点和右碰撞点;机器人的机身左前部设置有左碰撞探测器,用于检测机器人的前进方向左侧碰撞到的障碍物,使其用于检测机器人沿障碍物的边缘作逆时针方向上沿边行走时的机身左侧碰撞到的障碍物,并将对应方向上的障碍物上的碰撞点标记为左碰撞点;机器人的机身右前部设置有右碰撞探测器,用于检测机器人的前进方向右侧碰撞到的障碍物,使其用于检测机器人沿障碍物的边缘作顺时针方向上沿边行走时的机身右侧碰撞到的障碍物,并将对应方向上的障碍物上的碰撞点标记为右碰撞点;其中,左碰撞探测器和右碰撞探测器对称地设置在机器人的机身左右两侧,当机器人的正前方碰撞到障碍物时,同时触发左碰撞探测器和右碰撞探测器检测,并将对应方向上的障碍物上的碰撞点标记为前碰撞点,使得机器人在同一位置下标记的前碰撞点、左碰撞点和右碰撞点都位于机器人正前方碰撞到的障碍物的轮廓线的切线上,障碍物的轮廓线是标记形成于栅格地图上。适应机器人探测并沿边行走于不同障碍物之间。

  进一步地,所述根据这些满足所述预沿边条件的栅格与机器人的当前位置的相对位置关系,从这些栅格中选择出与机器人的当前位置的连线最接近障碍物的边缘的栅格的方法包括:当所述步骤1当前标记的碰撞点是所述左碰撞点时,选择出一个相对于机器人的当前位置是沿障碍物的边缘逆时针分布的、且相对于所述机器人当前位置的角度值最大的满足所述预沿边条件的栅格,作为满足所述最佳沿边条件的栅格,使得满足所述最佳沿边条件的栅格连接为所述右沿边预测路径,其中,所述右沿边预测路径的沿边方向是逆时针方向;当所述步骤1当前标记的碰撞点是所述右碰撞点时,选择出一个相对于机器人的当前位置是沿障碍物的边缘顺时针分布的、且相对于所述机器人当前位置的角度值最小的满足所述预沿边条件的栅格,作为满足所述最佳沿边条件的栅格,使得满足所述最佳沿边条件的栅格连接为所述左沿边预测路径,其中,所述左沿边预测路径的沿边方向是顺时针方向。该技术方案实现规划出支持机器人在最准确沿边方向条件下进行越障的沿边预测路径,支持机器人沿障碍物边缘作顺时针或逆时针运动的栅格;实现按照障碍物的形状特征规划机器人沿边行走路径,有效地降低机器人在越障过程中碰撞的次数,加快机器人越障的速度。

  进一步地,在所述步骤21中,满足所述最近距离条件的障碍物点包括:在第一预设搜索区域内搜索距离所述步骤1当前标记的碰撞点最近且未被标记为碰撞点的障碍物点;第一预设搜索区域是:建立起以所述步骤1当前标记的碰撞点为中心、且与所述步骤1当前标记的碰撞点的最大距离为第一预设栅格数的栅格区域;其中,在未执行过所述步骤24之前,所述步骤1当前标记的碰撞点是机器人通过执行所述步骤1在预先标记障碍物点的栅格地图上标记的第一个碰撞点;在执行过所述步骤24之后,所述步骤1当前标记的碰撞点是机器人在最新一次执行过的所述步骤24中标记的新的碰撞点。该技术方案选择的障碍物点能够用于描述出障碍物与机器人碰撞处的轮廓形状,避免机器人在后续沿边过程中偏离障碍物太远。

  进一步地,执行所述步骤22和所述步骤23之间,还包括:每统计到一个满足所述预沿边条件的栅格时,计算出这个满足所述预沿边条件的栅格与机器人的当前位置的相对位置关系。该技术方案加快后续步骤筛选出用于引导机器人朝正确沿边方向行走的栅格。

  进一步地,在所述步骤22中,满足所述预沿边条件的栅格包括:在所述步骤21搜索到的障碍物点的邻域的8个栅格中,选择除了所述障碍物点和由所述步骤24已经规划出的沿边行为点之外的机器人遍历标记过的栅格。确保机器人在满足预沿边条件的栅格中是可通行的,也减少机器人沿边行走区域的重复率。

  一种芯片,其上存储有程序代码,该程序代码被芯片执行时实现如所述沿边路径选择方法。

  一种机器人,该机器人的机身左前部设置有左碰撞探测器,用于检测机器人的前进方向左侧碰撞到的障碍物,使其用于检测机器人沿障碍物的边缘作逆时针方向上沿边行走时的机身左侧碰撞到的障碍物;该机器人的机身右前部设置有右碰撞探测器,用于检测机器人的前进方向右侧碰撞到的障碍物,使其用于检测机器人沿障碍物的边缘作顺时针方向上沿边行走时的机身右侧碰撞到的障碍物;该机器人设置有所述的芯片,所述芯片分别与左碰撞探测器和右碰撞探测器连接,机器人被配置为执行所述沿边路径选择方法。

  附图说明

  图1是本发明一实施例公开的一种机器人越障的沿边路径选择方法的基本构思的流程图。

  图2是本发明又一实施例的一种机器人越障的沿边路径选择方法的具体步骤流程图。

  具体实施方式

  下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细描述。为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。图中的组件并未按比例绘制,而类似的组件符号通常用来表示类似的组件。

  在本发明专利中,需要理解的是术语“上”、“下”、“左”、“右”、“前”、“后”等指示方位或位置关系为基于附图所示的方位或位置关系,仅是为了方便描述本发明实施和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明专利的限制。

  所述机器人在沿边行走过程中,会遇到不同的障碍物,为了有效简化对室内环境的描述,便于在路径规划中提出合理的对应策略,可对室内障碍物做如下处理:1、只要障碍物与墙壁的距离不满足所述机器人通行的最小距离,机器人不能顺利通过,就按靠墙障碍物处理。2、当两个障碍物之间的距离很近而无法使所述机器人顺利通过时,可将二者看做一个障碍物进行处理。3、本案机器人导航区域主要是室内房间区域,障碍物为室内房间区域内可与移动机器人碰撞的物体,将移动机器人与物体发生碰撞的点定义为碰撞点。

  本发明的一实施例公开一种机器人越障的沿边路径选择方法,如图1所示,包括:

  步骤S101、机器人预先设置有由拐点连接而成的导航路径,这些拐点用于引导机器人移动至最终导航目标点,然后进入步骤S102;其中,最终导航目标点是导航路径的终点,属于导航路径的其中一个拐点。需要说明的是,导航路径在机器人行走之前已经计算出来,在栅格地图里是多条线段连接而成的,这些线段相交于拐点,使得栅格地图的导航路径可以用拐点来描述,因此,机器人沿着导航路径前进的过程中,机器人朝着一个导航方向,从当前一个拐点开始遍历同一导航路径中的下一个拐点,一直前进至最终导航目标点。

  步骤S102、当检测到机器人碰撞到障碍物后,规划出用于机器人越障的沿边预测路径,并在预先设置的导航路径上选择出满足导向条件的预设拐点,然后进入步骤S103;其中,所述用于机器人越障的沿边预测路径包括沿边方向相反的两种沿边预测路径,分别是左沿边预测路径和右沿边预测路径。因为机器人沿着障碍物的边缘行走的模式分为左沿边模式和右沿边模式,左沿边模式下的机器人沿着障碍物的边做顺时针运动,右沿边模式下的机器人沿着障碍物的边做逆时针运动,所以在机器人启动沿边时规划出用于机器人越障的沿边方向相反的两种沿边预测路径。

  步骤S103、根据每个沿边预测路径上所有的沿边行为点与同一条导航路径上满足导向条件的预设拐点的距离信息,选择出相对于这条导航路径的偏离程度最小的一个沿边预测路径,使得机器人在碰撞到障碍物后按照这个选择出的沿边预测路径的沿边方向行走以实现快速越障。在本实施例中,预先设置的所述导航路径与障碍物的分布没有关系,所述导航路径的预设拐点是以最终导航目标点为终点而设置的路径节点,这些满足导向条件的预设拐点作为基准量,用来从所述步骤S102规划出的候选的沿边预测路径中,判断选取出与这条导航路径的差异程度最小的一个沿边预测路径,然后控制机器人在碰撞到障碍物后按照这个选择出的沿边预测路径行走,但是机器人实际行走的沿边路径不一定是按照预测规划的执行的,毕竟预测规划的路径存在一定的误差,只能是表示出了大概路径和明确一个合理可行的沿边方向,比如沿着障碍物的边做逆时针或顺时针运动,所以,在本实施例中,机器人在碰撞到障碍物后,通过按照这个选择出的沿边预测路径的沿边方向行走以实现快速沿边越障。

  需要说明的是,导航路径是机器人启动导航前设置的,而机器人在沿着所述导航路径往所述最终导航目标点前进的过程中,因碰撞到障碍物而停止继续沿着所述导航路径行走,转而规划出两个用于机器人越障的沿边方向相反的沿边预测路径,并选择出相对于这条导航路径的偏离程度最小的一个沿边预测路径,再让机器人启动沿边行走模式,使得机器人在碰撞到障碍物后按照这个选择出的相对于这条导航路径的偏离程度最小的沿边预测路径对应的沿边方向行走以实现快速越障。在本实施例中,基于前述步骤选择出相对于这条导航路径的偏离程度最小的一个沿边预测路径,作为最快沿边路径,使得机器人在碰撞到障碍物后选择这个最快沿边路径的沿边方向行走以实现快速越障,减少机器人在越障过程中的碰撞次数,也避免机器人偏离所述导航路径过远,实现机器人高效的沿边越障功能,提高机器人的智能化水平。

  作为一种优选例,对所述导航路径上的所有拐点进行编号,所述导航路径的起始点的规划序号为0,后面的拐点的规划序号依次累加,所述导航路径的终点的规划序号保持最大。具体地,所述导航路径是由一组有序分布的拐点连接而成,从所述导航路径的起始点至其终点对应的所述导航路径的导航前进方向上,设置的拐点的规划序号依次递增;其中,所述满足导向条件的预设拐点的规划序号是依次递增的,比所述目标拐点的规划序号小的拐点记为机器人已遍历过的拐点;由于所述最终导航目标点的规划序号是最大的,使得所述导航路径的导航前进方向上距离所述最终导航目标点越近的拐点对应的规划序号越大。本实施例通过编号的方式整理区分所述导航路径上的所有拐点,方便系统软件识别处理拐点,加快选择出所述满足导向条件的预设拐点,提高机器人选择沿边方向的速度。

  作为一种优选例,在步骤S102中,所述在预先设置的导航路径上选择出满足导向条件的预设拐点的方法包括:先从所述导航路径上选择一个目标拐点,这个目标拐点是机器人在当前位置碰撞到障碍物并启动沿边越障工作模式(执行所述沿边路径选择方法)时选择的一个具备导向作用的拐点,当机器人的当前位置被刷新改变时,这个目标拐点也改变;再通过分别判断这个目标拐点及其沿着所述导航路径的导航前进方向相继设置的一个或两个拐点中是否存在所述最终导航目标点,来选择出满足导向条件的预设拐点,值得注意的是,从这个目标拐点沿着所述导航路径的导航前进方向设置的相邻的拐点是所述最终导航目标点时,则已经判断到所述导航路径的终点,没有必要继续判断下去。其中,所述导航路径的导航前进方向是用于引导机器人移动至所述最终导航目标点的机器人导航方向;所述最终导航目标点也是导航路径的终点,也属于所述导航路径的其中一个拐点。本实施例通过判断机器人的导航路径上连续设置的三个拐点是否存在所述导航路径的终点,筛选出能够引导机器人移动至所述最终导航目标点的具有代表性的拐点,也能用于比较所述导航路径与所述沿边预测路径的差别程度。

  具体地,当判断到从所述目标拐点开始沿着所述导航路径的导航前进方向相继设置的两个拐点中不存在所述最终导航目标点时,确定所述满足导向条件的预设拐点包括:所述导航路径上选择的一个目标拐点,以及从这个目标拐点开始沿着所述导航路径的导航前进方向相继设置的两个拐点,在所述导航路径上这个目标拐点后面相继设置的两个所述拐点是连续排列的,它们的规划序号是递增的且比目标拐点的规划序号大,这个目标拐点及其后面的两个所述拐点都是在机器人的当前位置的前面,具有引导机器人较快地移动向所述最终导航目标点的作用。

  当判断到从所述目标拐点开始沿着所述导航路径的导航前进方向设置的与所述目标拐点相邻的拐点是所述最终导航目标点时,即判断到从所述目标拐点开始沿着所述导航路径的导航前进方向连续设置的第一个拐点是所述最终导航目标点时,确定所述满足导向条件的预设拐点包括:在所述导航路径上,从所述目标拐点开始沿着所述导航路径的导航前进方向排列至所述最终导航目标点的所有拐点,此时从所述目标拐点开始沿着所述导航路径的导航前进方向排列至所述最终导航目标点的所有拐点只有所述目标拐点和所述最终导航目标点,此时,从所述目标拐点开始沿着所述导航路径的导航前进方向只有设置的第一个拐点,没有设置的第二个拐点,因为第一个拐点已经被判断为终点。

  当判断到从所述目标拐点开始沿着所述导航路径的导航前进方向连续设置的第二个拐点是所述最终导航目标点时,确定所述满足导向条件的预设拐点包括:在所述导航路径上,从所述目标拐点开始沿着所述导航路径的导航前进方向排列至所述最终导航目标点的所有拐点,此时从所述目标拐点开始沿着所述导航路径的导航前进方向排列至所述最终导航目标点的所有拐点有3个,包括所述目标拐点、所述最终导航目标点以及它们之间在所述导航路径上设置的一个拐点。

  需要说明的是,第一个拐点是在所述导航路径的导航前进方向上与所述目标拐点相邻设置的,第二个拐点是在所述导航路径的导航前进方向上与第一个拐点也是相邻设置的。

  当判断到所述导航路径上选择的目标拐点是所述最终导航目标点时,确定所述满足导向条件的预设拐点只有所述最终导航目标点。

  综上判断结果,本实施例公开的满足导向条件的预设拐点能够代表所述导航路径的导航方向特征,充分考虑到导航路径的终点的影响因素,从而简化后续对沿边预测路径与导航路径的差异程度的计算量。

  在上述优选例的基础上,在预先设置的导航路径上选择出所述目标拐点的具体方法包括:

  建立以机器人的当前位置为中心,且与机器人的当前位置的最大距离为第一预设距离门限值的栅格坐标所组成的拐点比较区域;

  当这个拐点比较区域只有一个所述拐点时,选择这个所述拐点记为所述目标拐点,有利于拉近目标拐点与机器人当前位置的距离,避免后续选择的沿边预测路径偏离所述导航路径太远。需要说明的是,比这个目标拐点的规划序号小的所有拐点设置为机器人已遍历过的拐点。

  当这个拐点比较区域存在两个或两个以上所述拐点时,在与机器人的当前位置的距离小于第一预设距离门限值的拐点中,即所述导航路径被这个拐点比较区域所覆盖的部分路径的拐点中,沿着所述导航路径的导航前进方向选择距离所述最终导航目标点最近的拐点,记为所述目标拐点,即在与机器人的当前位置的距离小于第一预设距离门限值的所有拐点中选择规划序号最大的拐点为机器人前面的目标拐点,使得机器人朝着这个目标拐点前进会加快导航向所述最终导航目标点的速度,需要说明的是,比这个目标拐点的规划序号小的所有拐点设置为机器人已遍历过的拐点。

  当这个拐点比较区域没有所述拐点时,沿着所述导航路径的导航前进方向,在所述导航路径上选择机器人最新标记过的目标拐点的相邻拐点记为新的目标拐点,机器人最新标记过的目标拐点是机器人在上一次与障碍物发生碰撞的位置处从所述导航路径中选出标记的目标拐点,使得目标拐点的标记位置对于控制机器人导航向终点起到基础性作用,有利于引导机器人移动向正确的沿边方向,避免后续选择的沿边预测路径偏离所述导航路径太远。因此本实施例在预先设置的导航路径上选择出的所述目标拐点在局部导航区域内具备引导机器人往所述导航路径的终点方向移动的作用。

  优选地,机器人的当前位置与其中一个所述拐点的距离小于第二预设距离门限值时,确定机器人的当前位置与这个所述拐点重合,即表示机器人已经移动到导航路径的这个拐点位置。其中,第二预设距离门限值小于第一预设距离门限值。

  作为另一种发明实施例,公开一种机器人越障的沿边路径选择方法,如图2所示,所述沿边路径选择方法包括:

  启动机器人,此时机器人系统上电启动,然后进入步骤S201。

  步骤S201、机器人预先计算设置出由用于引导机器人移动至最终导航目标点的拐点连接而成的导航路径,然后控制机器人开始按照所述导航路径行走。其中,本实施例默认机器人的初始沿边方向为右沿边方向,即默认状态下机器人碰撞到障碍物后,可以绕障碍物顺时针作沿边行走。然后进入步骤S202。

  步骤S202、判断预设时间内机器人所处的坐标位置变化量是否大于距离稳定阈值,是则进入步骤S203,否则进入步骤S204。该步骤S202用于判断机器人导航过程中或沿边越障过程中是否在同一个地方持续反复沿边行走。其中,距离稳定阈值设置为机器人的机身直径大小。

  步骤S203、控制机器人规划出用于机器人越障的两个沿边预测路径,这是先后规划出的两种沿边预测路径。然后进入步骤S205。在本实施例中,机器人碰撞到前方的障碍物时,这个障碍物的边缘相对于机器人前进方向划分为左侧边缘和右侧边缘,使得机器人沿着障碍物的边缘行走的模式分为左沿边模式和右沿边模式,其中,左沿边模式下的机器人沿着障碍物的边做顺时针运动,右沿边模式下的机器人沿着障碍物的边做逆时针运动。所以,所述两个用于机器人越障的沿边预测路径包括左沿边预测路径和右沿边预测路径,,其中,左沿边预测路径的沿边方向和右沿边预测路径的沿边方向是相反的。

  步骤S204、可以确定机器人会多次碰撞到障碍物而处于被困状态,需要控制机器人改变沿边方向,使得机器人转而沿着与当前确定的沿边方向相反的方向行走。具体地,当判断到所述预设时间内机器人所处的坐标位置变化量小于或等于所述距离稳定阈值时,说明机器人可能是按照所述导航路径移动过程中碰撞到障碍物,然后按照默认机器人系统的沿边方向在当前位置处绕障碍物作沿边行走,也可能是机器人在按照上一次规划出的所述沿边预测路径绕障行走过程中,从而机器人因多次碰撞障碍物被困在同一位置处,导致当前越障失败。因此,需要控制机器人改变沿边方向,选择与碰撞时的沿边方向相反的方向,比如将当前执行的左沿边模式改为右沿边模式,或将当前执行的右沿边模式改为左沿边模式,使得机器人转而沿着与当前确定的沿边方向相反的方向行走,从而更加顺利地执行越障行走。

  需要说明的是,在机器人导航的过程中,机器人第一次启动沿边是通过碰撞选取障碍物的边缘来执行沿边行走,但这样会因为缺少正确的沿边方向而容易越障失败,使得机器人越沿越远,所以需要控制机器人执行步骤S203和步骤S204,以加快越障。

  步骤S205、判断机器人是否规划出用于机器人越障的沿边方向相反的两个沿边预测路径,是则进入步骤S206,否则进入步骤S204。步骤S205用于判断机器人是否计算出正确的沿边方向,以规划出实现机器人有效越障的沿边预测路径。本实施例将所述用于机器人越障的沿边方向相反的两个沿边预测路径分别是左沿边预测路径和右沿边预测路径。

  步骤S206、计算所述导航路径的满足导向条件的预设拐点到左沿边预测路径上的同一个沿边行为点的距离,再将这个沿边行为点与所述导航路径上所有满足导向条件的预设拐点的距离相加求和,以获得一个沿边行为点相对于满足导向条件的预设拐点产生的左侧局部距离和,其中,左沿边预测路径是由沿边行为点连接而成的;同时,计算所述导航路径的满足导向条件的预设拐点到右沿边预测路径上的同一个沿边行为点的距离,再将这个沿边行为点与所述导航路径上满足导向条件的预设拐点的距离相加求和,以获得一个沿边行为点相对于满足导向条件的预设拐点产生的右侧局部距离和,其中,左沿边预测路径是由沿边行为点连接而成的;然后进入步骤S207。

  步骤S207、通过重复执行前述步骤S206来获得左沿边预测路径上的每个沿边行为点相对于满足导向条件的预设拐点产生的左侧局部距离和;同时通过重复前述步骤S206来获得右沿边预测路径上的每个沿边行为点相对于满足导向条件的预设拐点产生的右侧局部距离和,然后进入步骤S208。

  步骤S208、将这些左侧局部距离和相加,以获取左沿边预测路径相对于满足导向条件的预设拐点产生的左侧距离总和,用于表示左沿边预测路径相对于所述导航路径的偏离程度;同时将这些右侧局部距离和相加,以获取右沿边预测路径相对于满足导向条件的预设拐点产生的右侧距离总和,用于表示右沿边预测路径相对于所述导航路径的偏离程度。然后进入步骤S209。

  步骤S209、判断所述左侧距离总和是否大于所述右侧距离总和,是则进入步骤S210,否则进入步骤S211。其中,右侧距离总和越小,右沿边预测路径相对于所述导航路径的偏离程度越小;左侧距离总和越小,左沿边预测路径相对于所述导航路径的偏离程度越小。

  步骤S210、选择出右沿边预测路径,使得机器人在碰撞到障碍物后按照这个选择出的右沿边预测路径的沿边方向行走以实现快速越障。即当左侧距离总和大于右侧距离总和时,确定右沿边预测路径是相对于所述导航路径的偏离程度最小的一个沿边预测路径,则选择出步骤S203规划出的右沿边预测路径,使得机器人在碰撞到障碍物后按照这个选择出的右沿边预测路径的沿边方向行走以实现快速越障。避免机器人在越障过程中过渡偏离预先设定的导航路径。

  步骤S211、选择出左沿边预测路径,使得机器人在碰撞到障碍物后按照这个选择出的左沿边预测路径的沿边方向行走以实现快速越障。即当右侧距离总和大于左侧距离总和时,确定左沿边预测路径是相对于所述导航路径的偏离程度最小的一个沿边预测路径,则选择出步骤S203规划出的左沿边预测路径,使得机器人在碰撞到障碍物后按照这个选择出的左沿边预测路径的沿边方向行走以实现快速越障。避免机器人在越障过程中过渡偏离预先设定的导航路径。

  在执行步骤S204、S210、S211的过程中,机器人已经沿边行走,而且是沿着障碍物的边缘行走,正在执行沿边越障操作,机器人的位置已经发生变化,需要实时更新机器人的当前位置,然后再返回执行步骤S202,以继续判断机器人在沿边行走过程中是否出现越障失败。

  步骤S201至步骤S211所述的实施例,通过比较沿边预测路径的沿边行为点与导航路径中特定的路径节点(目标拐点及其后面设置的拐点)之间距离差距,来确定沿边预测路径与导航路径的差别程度,再选择差别程度小的候选的沿边预测路径的参考沿边方向作为机器人沿边越障的最佳方向,避免机器人因规划不出所述沿边预测路径而作出无效的沿边越障行为,导致机器人在错误的沿边方向上越沿越远。

  前述实施例中,所述沿边预测路径的规划方法,其基本构思是一种预测性的路径规划方法,包括:

  步骤S2031、机器人碰撞到障碍物后,也可能是机器人在当前导航位置碰撞到障碍物后,在预先标记障碍物信息的栅格地图上标记碰撞点,然后进入步骤S2032。在当前执行步骤S2031时,当前标记的碰撞点是将当前碰撞到的地图上障碍物对应的栅格标记为碰撞点。本发明实施例中,可以在执行沿边行走的机器人上设置有多个碰撞探测器,可以预先设置一定的碰撞强度值,碰撞探测器的碰撞强度大于该阈值时才可以判断该机器人与障碍物发生了碰撞。在此可以借助该阈值实现对多个不同探测器探测数据的分辨。在本实施例中,当机器人检测到障碍物时,则计算障碍物所处的栅格坐标并将地图上障碍物对应的栅格标记为障碍物点。

  步骤S2032、在步骤S2031当前标记的碰撞点的邻域上,选择满足沿边越障条件的栅格,并将选择出的栅格标记为用于机器人沿障碍物边缘行走的沿边预测路径上新规划的沿边行为点,即这个满足沿边越障条件的栅格组成机器人碰撞障碍物后规划的沿边预测路径的组成部分,这些沿边行为点构成所述用于机器人越障的沿边方向相反的两种沿边预测路径,包括机器人启动左沿边模式下的左沿边预测路径和机器人启动右沿边模式下的右沿边预测路径,左沿边模式下的机器人沿着障碍物的边做顺时针运动,右沿边模式下的机器人沿着障碍物的边做逆时针运动,所以在机器人启动沿边时规划出用于机器人越障的沿边方向相反的两个沿边预测路径。因此,本实施例在机器人检测到碰撞障碍物后,开启沿边行走之前,通过当前标记的碰撞点的邻域寻找具备保持沿边越障条件的栅格,以便后续机器人按照相应栅格规划出的越障路径进行沿边行走,减少机器人碰撞次数,加快导航越过障碍物。

  作为一种发明实施例,所述步骤S2032具体方法包括:步骤21、搜索与步骤S2031当前标记的碰撞点的距离关系满足最近距离条件的障碍物点,其中,当前标记的碰撞点是前述实施例的步骤S2031在栅格地图上标记的碰撞点,然后进入步骤22;步骤22、在步骤21搜索到的障碍物点的邻域上,选择满足预沿边条件的栅格,然后进入步骤23,其中障碍物点的邻域是包围这个障碍物点的8个栅格;步骤23、当统计到满足预沿边条件的栅格的数目达到第二预设栅格数时,从这些满足预沿边条件的栅格中选择满足所述最佳沿边条件的栅格,也作为满足所述沿边越障条件的栅格,然后进入步骤24,其中,满足所述沿边越障条件的栅格是建立在满足最近距离条件的障碍物点和满足所述最佳沿边条件的栅格的基础上,即先确定栅格是否满足最近距离条件,然后在此基础上确定相应选择的栅格是否满足所述最佳沿边条件;步骤24、将步骤23选择出的满足所述最佳沿边条件的栅格标记为新的碰撞点,并添加为用于机器人沿障碍物边缘行走对应的沿边预测路径上新规划的沿边行为点,同时将这个新的碰撞点更新为步骤S2031当前标记的碰撞点,再返回执行步骤21,直到标记出预设越障栅格数的沿边行为点为止,其中,满足所述最佳沿边条件的栅格被标记为新的碰撞点并保存到沿边行为点的集合中,这些沿边行为点可以将机器人后续沿边方向划分为从机器人当前位置开始的左沿边方向和右沿边方向,左沿边方向上的机器人沿着障碍物的边做顺时针运动,右沿边方向上的机器人沿着障碍物的边做逆时针运动,后续机器人根据这些沿边行为点沿障碍物边缘行走,实现机器人沿着正确路径越过障碍物,较快摆脱障碍物碰撞的困扰。其中,当步骤21搜索不出满足最近距离条件的障碍物点时,确定无法规划出所述左沿边预测路径和/或所述右沿边预测路径;或者,当步骤22搜索不出满足预沿边条件的栅格时,确定无法规划出所述左沿边预测路径和/或所述右沿边预测路径。

  因此本实施例通过迭代执行步骤21至步骤24,实现在合理栅格数量范围内,将规划出的满足所述沿边越障条件的栅格标记为新的碰撞点,规划出机器人绕障碍物边缘行走对应的沿边预测路径,有利于机器人依靠地图障碍物边缘预测出沿边所走出的路径。

  在上述实施例中,所述步骤23中,满足所述最佳沿边条件的栅格包括:从满足所述预沿边条件的栅格中选择出与机器人的当前位置的连线最接近障碍物的边缘的栅格,即该步骤中选择出的栅格与机器人的当前位置的连线与当前碰撞的障碍物的轮廓线的切线的夹角最小的栅格;或者形成:该步骤中选择出的栅格与机器人的当前位置的连线与机器人坐标系的一个坐标轴的夹角最小的栅格,这个满足所述最佳沿边条件的栅格与机器人的当前位置的连线与机器人坐标系的另一个坐标轴的夹角最大,使得该实施例规划确定的栅格组成的沿边预测路径最大限度地逼近障碍物的轮廓线。在规划所述沿边预测路径的过程中,机器人的当前位置是不变的。

  特别地,当满足所述预沿边条件的栅格的统计数目达到第二预设栅格数时,根据这些满足所述预沿边条件的栅格与机器人的当前位置的相对位置关系,从这些栅格中选择出与机器人的当前位置的连线最接近障碍物的边缘的栅格,以满足所述沿边越障条件,本实施例在满足一定的统计数目的前提下,规划出合理长度的沿边预测路径,减少相对位置的计算量,提高机器人导航越障的处理效率。

  一般地,满足所述预沿边条件的栅格与机器人的当前位置的相对位置关系的计算方法包括:以机器人的当前位置为原点,机器人的机身右侧方向为X轴正方向,机器人当前的前进方向为Y轴正方向,建立起机器人坐标系,值得注意的是,这个坐标系的X轴方向和Y轴方向并不唯一固定,但需要考虑到机器人前进方向上的定位问题;本实施例在上述建立的机器人坐标系上,分别计算出所述每个满足所述最佳沿边条件的栅格相对于机器人坐标系的原点的坐标值和角度值。在本实施例中,世界坐标系XOY、机器人坐标系X’O’Y’,机器人的中心点(机器人的当前位置)为机器人坐标系的原点,当确定机器人在世界坐标系中的坐标和角度时,可以通过现有技术中的机器坐标转换为世界坐标的公式换算出各个碰撞点、障碍物点、以及所述沿边行为点相对于机器人的当前位置的世界坐标。本实施例利用机器人局部坐标系参与规划的栅格坐标计算,使得相关栅格的坐标计算合理准确。

  优选地,所述碰撞点包括前碰撞点、左碰撞点和右碰撞点;考虑到成本问题,本实施例在机器人上设置两个碰撞探测器,这两个碰撞探测器的探测能力可以完全相同,由于碰撞探测器需要与障碍物发生碰撞才可实现障碍物的碰撞点探测,碰撞探测器需设置在机器人的底座前半扇的180度角范围内,在此可以将该扇面均分为两等份,每一份角度值为90度。机器人的机身左前部设置有左碰撞探测器,左碰撞探测器在本实施例中位于机身左侧的小扇面的弧线的中点处,用于检测机器人的前进方向左侧碰撞到的障碍物,具体用于检测在机器人沿障碍物的边缘作逆时针方向上沿边行走过程中,机身左侧碰撞到的障碍物,并将对应方向上的障碍物上的碰撞点标记为左碰撞点;机器人的机身右前部设置有右碰撞探测器,右碰撞探测器在本实施例中位于机身右侧的小扇面的弧线的中点处,用于检测机器人的前进方向右侧碰撞到的障碍物,使其用于检测机器人沿障碍物的边缘作顺时针方向上沿边行走时的机身右侧碰撞到的障碍物,并将对应方向上的障碍物上的碰撞点标记为右碰撞点;左碰撞探测器和右碰撞探测器对称地设置在机器人的机身左右两侧。由于左右碰撞探测器的探测能力完全相同,如果碰撞发生在在这两个小扇面的交界点处,处于该两个小扇面的碰撞探测器的碰撞强度相同,即在机器人的正前方碰撞到障碍物时,同时触发左碰撞探测器和右碰撞探测器检测,并将对应方向上的障碍物上的碰撞点标记为前碰撞点,使得机器人标记的前碰撞点、左碰撞点和右碰撞点分别位于机器人碰撞到正前方碰撞到的障碍物的轮廓线的切线上,障碍物的轮廓线是标记形成于栅格地图上。有利于机器人绕同一障碍物的不同侧边作沿边行走,也适应机器人以沿边行走的方式越过不同障碍物。

  需要说明的是,在同一机器人坐标系下,若机器人的机身中心所在的地图位置等效于机器人坐标系的原点,本实施例将机器人的机身中心视为机器人当前位置为原点,则为了实现机器人在同一位置下标记的前碰撞点、左碰撞点和右碰撞点都位于机器人正前方碰撞到的障碍物的轮廓线的切线上。当机器人在原点位置(0,0)处与障碍物发生碰撞时,如果左碰撞点的坐标记为(-2,2),则右碰撞点的坐标记为(2,2),前碰撞点的坐标记为(0,2)。因此,机器人在原点位置(0,0)处,当机器人检测到坐标(-2,2)(左碰撞点)处发生碰撞时,确定机器人的前进方向左侧碰撞到障碍物;当机器人检测到坐标(2,2)(右碰撞点)处发生碰撞时,确定机器人的前进方向右侧碰撞到障碍物;当机器人检测到坐标(0,2)(前碰撞点)处发生碰撞时,确定机器人的前进方向碰撞到障碍物。

  同时本实施例根据上述碰撞点距离碰撞探测器越远,碰撞强度越小,可以得出如果每一小扇面内的碰撞强度均由该扇面内的碰撞探测器测量,则各个扇面间的交点为碰撞发生后碰撞强度最小的碰撞点,即所述前碰撞点。综上可以设定碰撞强度阈值稍小于所述前碰撞点的碰撞强度,根据该阈值机器人与障碍物发生碰撞时永远只有一个小扇面内的碰撞探测器的碰撞强度大于阈值,从而使得机器人同时刻仅识别出一个碰撞探测器探测到障碍物,从而实现了碰撞探测器对机器人前方障碍物分区域性探测,方便了后续的沿边方向的规划判断。其中,该阈值的大小随小扇面的角度变化而变化,而小扇面的角度与碰撞探测器的数量相关,故该碰撞强度阈值需跟随机器人上设置的碰撞探测器数目变化。

  作为一种实施例,所述根据这些满足所述预沿边条件的栅格与机器人的当前位置的相对位置关系,从这些栅格中选择出与机器人的当前位置的连线最接近障碍物的边缘的栅格的方法包括:

  若机器人在所述步骤S2031中当前标记的碰撞点是所述左碰撞点时,选择出一个相对于机器人的当前位置是沿障碍物的边缘逆时针分布的、且相对于所述机器人当前位置的角度值最大的满足所述预沿边条件的栅格,作为满足所述最佳沿边条件的栅格,这个栅格与所述机器人当前位置的连线最接近障碍物的右侧边缘,使得这个满足所述最佳沿边条件的栅格连接为所述右沿边预测路径;从整体上看等同于满足所述沿边越障条件的栅格,使得这个栅格与机器人的当前位置的连线最接近这个障碍物的边缘,从而确定机器人沿边越障的参考沿边方向(逆时针方向)。需要说明的是,机器人沿着障碍物的边行走的过程中,存在右沿边行为,可以是机器人沿着障碍物的右侧边缘(轮廓线)做逆时针运动,即确定机器人的参考沿边方向是逆时针方向。所以,首先确定选择出一个相对于机器人的当前位置是沿障碍物的边缘逆时针分布的满足所述预沿边条件的栅格,有利于控制机器人后续从当前位置开始依次遍历选择出的满足所述最佳沿边条件的栅格,实现沿着障碍物的边缘(轮廓线)做逆时针运动,然后在此基础上再通过计算这些满足要求的栅格的角度信息来筛选出相对于所述机器人当前位置的角度值(相对于前述实施例建立的机器人坐标系的X轴正方向形成的夹角)最大的满足所述预沿边条件的栅格,作为满足所述最佳沿边条件的栅格,等效于在所述第二预设栅格数目的满足所述预沿边条件的栅格中,选择出与机器人的当前位置的连线最接近这个障碍物的边缘的栅格,从而获取满足所述沿边越障条件的栅格,后续沿边行走过程中的机器人按照所述沿边越障条件的栅格规划出的沿边预测路径沿着障碍物的边缘(轮廓线)做逆时针运动,当跨越过一定栅格数目的所述沿边行为点后可以跨过障碍物右侧边缘。值得注意的是,满足所述沿边越障条件需要同时满足所述最近距离条件和所述预沿边条件。

  同理,机器人在所述步骤S2031中当前标记的碰撞点是所述右碰撞点时,选择出一个相对于机器人的当前位置是绕障碍物的边缘顺时针分布的、且相对于所述机器人当前位置的角度值最小的满足所述预沿边条件的栅格,作为满足所述最佳沿边条件的栅格,这个栅格与所述机器人当前位置的连线最接近障碍物的左侧边缘,使得这个满足所述最佳沿边条件的栅格规划为所述左沿边预测路径。从整体上看等同于满足所述沿边越障条件的栅格,使得这个栅格与机器人的当前位置的连线最接近这个障碍物的边缘,从而确定机器人沿边越障的参考沿边方向(顺时针方向)。需要说明的是,机器人沿着障碍物的边行走的过程中,存在左沿边行为,即机器人沿着障碍物的左侧边缘(轮廓线)做顺时针运动,即确定机器人的参考沿边方向是顺时针方向。所以,首先确定选择出一个相对于机器人的当前位置是沿障碍物的边缘顺时针分布的满足所述预沿边条件的栅格,则机器人后续从当前位置开始依次遍历这些满足所述沿边越障条件的栅格的过程中,有利于控制实现沿着障碍物的边缘(轮廓线)做顺时针运动,然后在此基础上再通过计算这些满足要求的栅格的角度信息来筛选出相对于所述机器人当前位置的角度值(相对于前述实施例建立的机器人坐标系的X轴正方向形成的夹角,其中X轴正方向指向同一障碍物的右侧)最小的满足所述预沿边条件的栅格,作为满足所述最佳沿边条件的栅格,等效于在所述第二预设栅格数目的满足所述预沿边条件的栅格中,选择出与机器人的当前位置的连线最接近这个障碍物的边缘的栅格,从而获取满足所述沿边越障条件的栅格,并被标记为所述沿边行为点,后续沿边行走过程中的机器人按照所述沿边行为点规划出的沿边预测路径,沿着障碍物的边缘(轮廓线)做顺时针运动,当机器人跨越过一定栅格数目的所述沿边行为点后可以跨过障碍物左侧边缘。值得注意的是,满足所述沿边越障条件需要同时满足所述最近距离条件和所述预沿边条件。

  其中,满足所述沿边越障条件的栅格相对于机器人的当前位置(机器人的机身中心)的角度大小是满足所述沿边越障条件的栅格相对于机器人的当前位置(机器人的机身中心)的连线相对于机器人坐标系的X轴正方向的偏转角度,这个偏转角度的大小与X轴的设置位置相关,特别是与X轴正方向设置与障碍物的分布位置关系相关,确保选择出的满足所述沿边越障条件的栅格与机器人的当前位置的连线最接近障碍物的边缘,规划出最短的沿边预测路径。

  受限于机器人当前碰撞的障碍物的形状轮廓及其分布位置,满足所述沿边越障条件的栅格相对于机器人的当前位置(机器人的机身中心)的连线越往X轴正方向靠拢则相应的偏转角度越小,反之越大,但需要确保机器人通过所述沿边越障条件的栅格顺利越过障碍物且不与障碍物频繁碰撞。本实施例实现规划出用于机器人按照最佳角度方向进行越障的沿边预测路径,支持机器人绕障碍物边缘作顺时针或逆时针运动的栅格;实现按照障碍物的形状特征规划机器人沿边行走路径,降低机器人后续越障失败的概率。该技术方案通过对沿边方向的角度进行极值限定,有效地降低机器人在越障过程中碰撞的次数,加快机器人越障的速度。

  作为一种实施例,规划所述沿边预测路径的具体步骤流程包括:

  步骤S401、机器人碰撞到障碍物后,也可能机器人在当前导航位置处碰撞到障碍物后,将机器人与障碍物发生碰撞的点定义为碰撞点,并在预先标记障碍物信息的栅格地图上标记出碰撞点,然后进入步骤S402。

  步骤S402、建立起以步骤S401当前标记的碰撞点为中心、半径为第一预设栅格数的第一预设搜索区域,然后进入步骤S403。其中,第一预设栅格数优选为3个栅格,步骤S402用于搜索出距离所述步骤S401中当前标记的碰撞点小于3个栅格边长长度的所有栅格,栅格之间的距离比较可以是栅格坐标点的距离比较。避免机器人在后续沿边过程中偏离障碍物太远。

  步骤S403、在第一预设搜索区域内搜索距离步骤S401当前标记的碰撞点最近且未被标记为碰撞点的障碍物点,作为满足最近距离条件的障碍物点,然后进入步骤S404。需要说明的是,在未规划出一个所述沿边行为点之前,所述步骤S401当前标记的碰撞点是机器人通过执行所述步骤S2031在预先标记障碍物点的栅格地图上标记的碰撞点,且是预先标记障碍物点的栅格地图上第一个被标记的碰撞点。步骤S403选择出的障碍物点用于围成障碍物与机器人碰撞处的轮廓形状。

  优选地,当所述步骤S403寻找不到满足最近距离条件的障碍物点时,则确定先后无法规划出用于机器人越障的沿边方向相反的两种沿边预测路径(所述左沿边预测路径和所述右沿边预测路径),再返回所述步骤S204。从而在相反的沿边方向上继续执行沿边越障行走。

  步骤S404、在步骤S403搜索到的障碍物点的邻域中,选择除了所述障碍物点和已经规划出的沿边栅格点之外的机器人遍历标记过的栅格,作为满足预沿边条件的栅格。然后进入步骤S405。其中,在所述步骤S403搜索到的障碍物点的邻域的8个栅格范围内,通过在机器人遍历标记过的栅格中搜索除了所述障碍物点和已经规划出的沿边栅格点之外的栅格,一方面是确保机器人在满足预沿边条件的栅格中是可通行的,另一方面是避免机器人重复行走已规划过的沿边预测路径区域,减少机器人沿边导航区域的遍历重复率。

  优选地,当所述步骤S404寻找不到满足预沿边条件的栅格时,则确定先后无法规划出用于机器人越障的沿边方向相反的两种沿边预测路径,再返回所述步骤S204。从而在新的沿边方向上继续执行沿边越障行走。

  步骤S405、统计所述步骤S404中满足预沿边条件的栅格的数目;每统计到一个满足所述预沿边条件的栅格时,计算出这个满足所述预沿边条件的栅格与机器人的当前位置的相对位置关系。然后进入步骤S406。有利于后续筛选出用于引导机器人朝正确沿边方向行走的栅格。

  步骤S406、步骤S405的统计数目达到第二预设栅格数时,根据这些满足所述预沿边条件的栅格与机器人的当前位置的相对位置关系,选择出与机器人的当前位置的连线最接近障碍物的边缘的栅格,作为满足最佳沿边条件的栅格,然后进入步骤S407。该步骤S406筛选出的满足最佳沿边条件的栅格属于满足沿边越障条件的栅格,后续直接用于规划出合理长度的沿边预测路径,减少相对位置的计算量,提高机器人导航越障的处理效率。

  步骤S407、将步骤S406选择出的栅格点标记为新的碰撞点,并添加到机器人沿障碍物边缘行走对应的沿边预测路径上,标记为新规划的沿边行为点,这个沿边行为点保存到机器人内部的沿边预测路径内存中,用于机器人后续行走遍历,以越过障碍物,同时将这个新的碰撞点更新为步骤S401当前标记的碰撞点,再进入步骤S408。

  步骤S408、判断是否标记出预设越障栅格数的沿边行为点,是则结束执行所述沿边预测路径规划方法以待机器人沿边行走到规划出的沿边行为点上,否则返回所述步骤S402,按照前述步骤使用更新后的步骤S401当前标记的碰撞点继续选择满足沿边越障条件的栅格,并将选择出的栅格标记为用于机器人沿障碍物边缘行走的沿边预测路径上新规划的沿边行为点。其中,步骤S408用于判断机器人内部的沿边预测路径内存是否存储满所述沿边行为点,从机器人的当前位置开始,预设越障栅格数的沿边行为点足以规划成一条越过当前位置碰撞的障碍物的沿边预测路径。值得说明的是,上述的栅格的选取和计算可视为对应的栅格坐标点的选取和运算。

  通过执行前述步骤S401至步骤S408,当步骤S401标记的碰撞点是所述右碰撞点时,选择出一个相对于机器人的当前位置是绕障碍物的边缘顺时针分布的、且相对于所述机器人当前位置的角度值最小的满足所述预沿边条件的栅格,作为满足所述最佳沿边条件的栅格,使得这个满足所述最佳沿边条件的栅格规划为所述左沿边预测路径,存在左沿边行为的机器人会沿着障碍物的左侧边缘(轮廓线)做顺时针运动;当步骤S401标记的碰撞点是所述左碰撞点时,选择出一个相对于机器人的当前位置是绕障碍物的边缘逆时针分布的、且相对于所述机器人当前位置的角度值最大的满足所述预沿边条件的栅格,作为满足所述最佳沿边条件的栅格,使得这个满足所述最佳沿边条件的栅格规划为所述右沿边预测路径,存在右沿边行为的机器人会沿着障碍物的右侧边缘(轮廓线)做逆时针运动。因此,所述两个用于机器人越障的沿边方向相反的沿边预测路径分别是左沿边预测路径和右沿边预测路径。

  一种芯片,其上存储有程序代码,该程序代码被芯片执行时实现如所述沿边路径选择方法。在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电 连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

  一种机器人,该机器人的机身左前部设置有左碰撞探测器,用于检测机器人的前进方向左侧碰撞到的障碍物,使其用于检测机器人沿障碍物的边缘作逆时针方向上沿边行走时的机身左侧碰撞到的障碍物;该机器人的机身右前部设置有右碰撞探测器,用于检测机器人的前进方向右侧碰撞到的障碍物,使其用于检测机器人沿障碍物的边缘作顺时针方向上沿边行走时的机身右侧碰撞到的障碍物;该机器人设置有所述的芯片,所述芯片分别与左碰撞探测器和右碰撞探测器连接,机器人被配置为执行所述沿边路径选择方法,从而克服视觉机器人因视觉标记的障碍物不精准而导致在导航过程容易碰撞到障碍物的问题,提高机器人沿边越障的效率。其中,左碰撞探测器和右碰撞探测器对称地设置在机器人的机身左右两侧,当机器人的正前方碰撞到障碍物时,同时触发左碰撞探测器和右碰撞探测器检测,并将对应方向上的障碍物上的碰撞点标记为前碰撞点,使得机器人在同一位置下标记的前碰撞点、左碰撞点和右碰撞点都位于机器人正前方碰撞到的障碍物的轮廓线的切线上,障碍物的轮廓线是标记形成于栅格地图上。

  上述实施例只为说明本发明的技术构思及特点,其目的是让熟悉该技术领域的技术人员能够了解本发明的内容并据以实施,并不能以此来限制本发明的保护范围。凡根据本发明精神实质所作出的等同变换或修饰,都应涵盖在本发明的保护范围之内。

《一种机器人越障的沿边路径选择方法、芯片及机器人.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)