一种越障结束判断方法、越障控制方法、芯片及机器人与流程

文档序号:22892590发布日期:2020-11-10 18:30阅读:124来源:国知局
一种越障结束判断方法、越障控制方法、芯片及机器人与流程

本发明涉及机器人沿边越障的技术领域,尤其涉及一种机器人的越障结束判断方法、越障控制方法、芯片及机器人。



背景技术:

控制机器人导航,是控制机器人从地图的一个坐标点走到另一个坐标点,一般是先从地图上搜索一条路径,然后根据这条路径行走,直到到达目标点。然而现有的视觉扫地机器人中,由于地图精度不够高,地图障碍物标记不够准确,以及机器人不够准确地按照导航路径行走等因素影响,机器人在绕着障碍物行走的过程中,不选择可以脱离障碍物的导航方向,反而是沿着障碍物的边缘无休止的走下去,等机器人沿边越障到一定的程度就会认为这次导航导不过去或偏离原定导航目标点,然后可能放弃这次导航,降低机器人越障的成功率和导航效率。



技术实现要素:

为了解决上述技术问题,本发明公开一种越障结束判断方法、越障控制方法、芯片及机器人,控制机器人从预先设置的导航路径上选择最佳拐点,用以判断是否需要结束当前的沿边越障行为,具体的技术方案如下:

一种机器人的越障结束判断方法,包括:当机器人按照预先规划的最快沿边预测路径沿边行走时,从预先设置的导航路径上选择出满足导向条件的第二预设拐点集合,其中,导航路径是机器人启动导航前设置的,最快沿边预测路径是机器人在导航过程中因碰撞到障碍物而规划选择出来的;从满足导向条件的第二预设拐点集合中获取一个最佳拐点,使得这个最佳拐点是满足导向条件的第二预设拐点集合的所有拐点中与机器人的当前位置的距离最接近越障判定门限值的拐点;判断这个最佳拐点与机器人的当前位置连成的线段上是否标记有障碍物,是则确定机器人当前越障没有结束,否则确定机器人当前越障结束。该技术方案加快检测出机器人是否越过当前检测的障碍物,为机器人沿边越障提供一个越障结束状态的判断条件,避免机器人无休止的绕障碍物沿边行走,让机器人在越过障碍物后及时切换回导航路径上,提高机器人的导航效率。

进一步地,所述从满足导向条件的第二预设拐点集合中获取一个最佳拐点,使得这个最佳拐点是满足导向条件的第二预设拐点集合的所有拐点中与机器人的当前位置的距离最接近越障判定门限值的拐点的方法包括:预先设置一个越障判定门限值;分别计算满足导向条件的第二预设拐点集合中的每个拐点与机器人的当前位置的距离,然后将这些距离分别与越障判定门限值相减作差以获取相应差值的绝对值;通过比较满足导向条件的第二预设拐点集合中的每个拐点与机器人的当前位置的距离与越障判定门限值的差值的绝对值,来选择差值绝对值最小的相对应的拐点作为所述最佳拐点,使得这个最佳拐点是满足导向条件的第二预设拐点集合的所有拐点中与机器人的当前位置的距离最接近越障判定门限值的拐点。从而更加准确地判断出机器人在当前位置是否已经越过障碍物。

进一步地,所述判断这个最佳拐点与机器人的当前位置连成的线段上是否标记有障碍物,是则确定机器人当前越障没有结束,否则确定机器人越障结束的方法包括:在机器人当前位置与所述最佳拐点连成的线段上,逐个判断这个线段所穿过的栅格坐标是否存在一个与栅格地图上预先标记的障碍物点的坐标相同的栅格坐标,是则确定机器人当前位置与最佳拐点连成的线段上存在障碍物,进而确定机器人当前越障没有结束,否则确定机器人当前位置与最佳拐点连成的线段上不存在障碍物,进而确定机器人当前越障结束。该技术方案用于判断机器人的当前位置指向导航路径的最佳拐点的方向上是否存在障碍物,若无则意味着机器人后续的导航过程中检测到的障碍物更少,从而也为机器人提供一个能够实现加速导航的越障时间,即基于此判断方法确定下的越障结束状态的时间。

进一步地,所述越障结束判断方法还包括:在机器人按照预先规划的最快沿边预测路径沿边行走的过程中,判断预设沿边时间内机器人的沿边转动角度和沿边行走里程是否满足相应的限定条件,是则确定机器人没有被困在同一位置处,进而确定机器人当前越障没结束,否则确定机器人被困在同一位置处,进而确定机器人当前越障结束。该技术方案公开机器人能够越过障碍物继续导航的条件,有利于提前结束机器人被困的异常状态。

进一步地,所述判断预设沿边时间内机器人的沿边转动角度和沿边行走里程是否满足相应的限定条件,是则确定机器人没有被困在同一位置处,否则确定机器人被困在同一位置处的方法具体包括:每当计时机器人沿边行走的时间达到所述预设沿边时间时,如果判断到机器人的沿边转动角度小于或等于预设最大转角,且判断到机器人的沿边行走里程小于或等于预设最大沿边距离,则确定机器人没有被困在同一位置处,进而确定机器人当前越障没结束;每当计时机器人沿边行走的时间达到或超过所述预设沿边时间时,如果判断到机器人的沿边转动角度大于预设最大转角,或者判断到机器人的沿边行走里程大于预设最大沿边距离,那么确定机器人被困在同一位置,进而确定机器人当前越障结束;其中,机器人的沿边转动角度是将机器人定时读取的陀螺仪角度增量进行累加的结果。该技术方案利用机器人沿边越障时采集的沿边时间、沿边距离以及沿边角度来判断机器人是否被困,提前宣告机器人越障结束状态,让机器人选择提前放弃当前的最快沿边预测路径。避免机器人因为沿边太久而偏离导航路径太远。

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

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

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

进一步地,当机器人没有在规划出的所述最快沿边预测路径上行走时,从预先设置的导航路径上选择出满足导向条件的第一预设拐点集合;当机器人在规划出的最快沿边预测路径沿边行走时,从预先设置的导航路径上选择出满足导向条件的第二预设拐点集合;第一预设拐点集合和第二预设拐点集合都是所述导航路径上满足所述导向条件的拐点组成的。提高满足导向条件的预设拐点的选择算法的利用率。

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

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

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

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

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

进一步地,所述步骤2具体方法包括:步骤21、搜索与当前标记的碰撞点的距离关系满足最近距离条件的障碍物点;步骤22、在步骤21搜索到的障碍物点的邻域上,搜索满足预沿边条件的栅格;步骤23、当统计到满足预沿边条件的栅格的数目达到第二预设栅格数时,从这些满足预沿边条件的栅格中选择满足所述最佳沿边条件的栅格,也作为满足所述沿边越障条件的栅格;步骤24、将步骤23选择出的满足所述最佳沿边条件的栅格标记为新的碰撞点,并添加为用于机器人沿障碍物边缘行走对应的沿边预测路径上新规划的沿边行为点,同时将这个新的碰撞点更新为当前标记的碰撞点,再返回执行步骤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。其中,所述越障判定门限值优选为6个栅格长度,用于筛选第二预设拐点集合内与机器人当前位置的距离相匹配的拐点,使得这个最佳拐点与机器人的当前位置的连线能够穿越过障碍物覆盖的有效区域。

步骤s103、判断这个最佳拐点与机器人的当前位置连成的线段上是否标记有障碍物,是则进入步骤s104,否则进入步骤s105。步骤s103实际上是在栅格地图上判断机器人的当前位置到步骤s102选择的最佳拐点的线段上是否标记有障碍物点,其中,这个障碍物点是预先标记在栅格地图的,等待后续用于匹配判断机器人导航环境的障碍物分布情况。

步骤s104、确定机器人当前越障没有结束,即步骤s102确定的最佳拐点与机器人的当前位置连成的线段穿过障碍物点,机器人的当前位置指向最佳拐点的方向上仍存在障碍物,因此,确定机器人当前越障没有结束,还处于越障的工作状态下。

步骤s105、确定机器人当前越障结束,即步骤s102确定的最佳拐点与机器人的当前位置连成的线段没穿过障碍物点,机器人的当前位置与最佳拐点的线段上不存在障碍物,因此,确定机器人进入越障结束状态,机器人已经越障成功,此时控制机器人退出沿边越障,切回导航路径继续往导航路径的终点前进。

前述步骤加快检测出机器人是否越过当前检测的障碍物,为机器人沿边越障提供一个越障结束状态的判断条件,及时提示机器人越障的工作状态,有利于及时自动调整机器人沿边越障路径和导航路径的情况,避免机器人无休止的绕障碍物沿边行走,让机器人在越过障碍物后及时切换回导航路径上,提高机器人的导航效率。

作为一种实施例,如图2所示,本发明还公开一种机器人的越障结束判断方法,具体包括以下步骤:

步骤s201、机器人预先设置一个越障判定门限值,然后进入步骤s202。其中,所述越障判定门限值优选为6个栅格长度,用于筛选出合理长度的用于障碍物判断的线段。

步骤s202、分别计算满足导向条件的第二预设拐点集合中的每个拐点与机器人的当前位置的距离,然后将这些距离分别与越障判定门限值相减作差以获取相应差值的绝对值,然后进入步骤s203。步骤s202用于计算第二预设拐点集合中的每个拐点与机器人的当前位置的连线长度,并获取每个拐点对应的连线长度与所述越障判定门限值的数值差距程度

步骤s203、通过比较满足导向条件的第二预设拐点集合中的每个拐点与机器人的当前位置的距离与越障判定门限值的差值的绝对值,来选择差值绝对值最小的相对应的拐点作为所述最佳拐点,使得这个最佳拐点是满足导向条件的第二预设拐点集合的所有拐点中与机器人的当前位置的距离最接近越障判定门限值的拐点,然后进入步骤s204。从而更加准确地判断出机器人在当前位置是否已经越过障碍物。

步骤s204、在机器人当前位置与所述最佳拐点连成的线段上,逐个遍历判断这个线段所穿过的栅格坐标是否存在一个与栅格地图上预先标记的障碍物点的坐标相同的栅格坐标,是则进入步骤s205,否则进入步骤s207。该步骤s204需要在获取机器人当前位置与所述最佳拐点的坐标的基础上,求取以这两个坐标点为端点的线段方程,然后计算出这个线段所穿过的栅格坐标,再将计算出的线段上的坐标点分别与预先标记好的障碍物点的坐标匹配比较,实现判断这个线段穿过的栅格中是否存在障碍物点。

步骤s205、只要步骤s204所述的线段上存在一个坐标点与障碍物点的坐标匹配成功,则判断出这个线段所穿过的栅格中存在障碍物点,确定机器人当前位置与最佳拐点连成的线段上存在障碍物或穿过障碍物,然后进入步骤s206。

步骤s206、确定机器人当前越障没有结束,即确定机器人仍需处于越障工作状态下。机器人后续还是沿着预先规划的最快沿边预测路径沿边行走,并重复上述步骤s202至步骤s205,从而继续判断机器人在最快沿边预测路径沿边行走过程中是否进入越障结束的工作状态,即确定机器人是否已经成功地越过障碍物。

步骤s207、步骤s204所述的线段上不存在一个坐标点与障碍物点的坐标匹配成功,则判断出这个线段没有穿过障碍物点,即可确定机器人当前位置与最佳拐点连成的线段上不存在障碍物或不穿过障碍物,然后进入步骤s208。

步骤s208、确定机器人当前越障结束,即确定机器人已经成功越过当前障碍物,进入越障结束的工作状态中。机器人不继续沿着预先规划的最快沿边预测路径沿边行走而是转入所述导航路径中,移动至所述导航路径的终点,机器人在导航过程中,若碰撞到新的障碍物,则规划选择出所述最快沿边预测路径,然后重复上述步骤s202至步骤s205,从而继续判断机器人在最快沿边预测路径沿边行走过程中是否进入越障结束的工作状态,即确定机器人是否已经成功地越过障碍物。

前述步骤用于判断机器人的当前位置指向导航路径的最佳拐点的方向上是否存在障碍物,若无则意味着机器人后续的导航过程中检测到的障碍物更少,从而也为机器人提供一个能够实现加速导航的越障时间,即基于所述越障结束判断方法为机器人自主确定的越障结束状态的时间。

基于前述实施例中,在机器人按照预先规划的最快沿边预测路径沿边行走的过程中,判断预设沿边时间内机器人的沿边转动角度和沿边行走里程是否满足相应的限定条件,是则确定机器人没有被困在同一位置处,具有越过障碍物的条件,进而确定机器人当前越障没结束,需要继续按照预先规划的最快沿边预测路径沿边越障;否则确定机器人被困在同一位置处,需要提前放弃这次沿边越障操作,确定为机器人当前越障结束。本实施例监测机器人在沿边越障过程中会不会在同一个地方长时间往复移动,若存在则确定这次导航导不过去,然后放弃这次规划出的最快沿边预测路径。本实施例公开机器人能够越过障碍物继续导航的条件,有利于提前结束机器人被困的异常状态。

优选地,所述判断预设沿边时间内机器人的沿边转动角度和沿边行走里程是否满足相应的限定条件,是则确定机器人没有被困在同一位置处,否则确定机器人被困在同一位置处的方法具体包括:每当计时机器人沿边行走的时间达到所述预设沿边时间(优选为30秒)时,如果判断到机器人的沿边转动角度小于或等于预设最大转角(优选为360度),且判断到机器人的沿边行走里程小于或等于预设最大沿边距离(优选为1米),则确定机器人没有被困在同一位置处反复打转,进而确定机器人当前越障没结束;每当计时机器人沿边行走的时间达到所述预设沿边时间(优选为30秒)时,如果判断到机器人的沿边转动角度大于预设最大转角(优选为360度),或者判断到机器人的沿边行走里程大于预设最大沿边距离(优选为1米),那么确定机器人被困在同一位置反复打转,进而让机器人选择放弃当前的最快沿边预测路径,避免机器人因为沿边太久而偏离导航路径太远,确定机器人当前越障结束,使得本实施例利用机器人沿边越障时采集的沿边时间、沿边距离以及沿边角度来判断机器人是否被困,提前宣告机器人越障结束状态。其中,所述预设沿边时间是机器人按照预先规划的最快沿边预测路径沿边越障过程中最长的沿边时间,所述预设最大转角是机器人按照预先规划的最快沿边预测路径沿边越障过程中最大的机器人累积转动角度,所述预设最大沿边距离是机器人按照预先规划的最快沿边预测路径沿边越障过程中最大的实际沿边路径长度。

机器人的沿边转动角度是将机器人定时读取的陀螺仪角度增量进行累加的结果,具体为:机器人每隔10ms读取一次陀螺仪当前测量到的角度,并用这个角度减去上一次(10ms之前)读取的角度以获得10ms内陀螺仪测得的一个角度差值,再在一段沿边时间内重复前述步骤对10ms内的角度差值进行累加,从而以等效于积分求和的方式获得机器人这一段沿边时间内沿边转动角度。

在前述实施例的基础上,所述最快沿边预测路径的规划方法包括:

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

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

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

在本实施例中,基于前述步骤选择出相对于这条导航路径的偏离程度最小的一个沿边预测路径,作为所述最快沿边预测路径,使得机器人在碰撞到障碍物后选择这个所述最快沿边预测路径的沿边方向行走以实现快速越障,减少机器人在越障过程中的碰撞次数,也避免机器人偏离所述导航路径或最终导航目标点过远,实现机器人高效的沿边越障功能,提高机器人的智能化水平。

在前述实施例中,当机器人没有在规划出的所述最快沿边预测路径上行走时,存在两种情况:在机器人已经规划出一条所述最快沿边预测路径的情况下,由于机器人利用前述实施例中所述的越障结束判断方法判断到其在这一条所述最快沿边预测路径上进入越障结束状态,或者判断到机器人在这一条所述最快沿边预测路径上长时间被困在同一位置而导致越障失败,所以机器人不再继续在这一条所述最快沿边预测路径上沿边行走,反而进入所述导航路径上,在需要规划出新的最快沿边预测路径的时候,会从预先设置的导航路径上选择出满足导向条件的第一预设拐点集合;在机器人刚开始启动导航时,还没开始规划出所述最快沿边预测路径的情况下,机器人保持沿着所述导航路径行走,在需要越过障碍物的时候会从预先设置的导航路径上选择出满足导向条件的第一预设拐点集合。当机器人在规划出的最快沿边预测路径沿边行走时,从预先设置的导航路径上选择出满足导向条件的第二预设拐点集合;其中,第一预设拐点集合和第二预设拐点集合都是所述导航路径上满足所述导向条件的拐点组成的。从而提高满足导向条件的预设拐点的选择算法的利用率。

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

作为一种优选例,在步骤s302中,所述在预先设置的导航路径上选择出满足导向条件的第一预设拐点集合或所述满足导向条件的第二预设拐点集合的方法包括:先从所述导航路径上选择一个目标拐点,这个目标拐点是机器人在当前位置选择的一个具备导向作用的拐点,其中,这个当前位置在机器人选择满足导向条件的第一预设拐点集合时是碰撞到障碍物并启动沿边越障的起始位置,这个当前位置在机器人选择满足导向条件的第二预设拐点集合时是为了寻找所述最佳拐点以判断是否结束越障状态。当机器人的当前位置被刷新改变时,这个目标拐点也改变。

一般意义上,所述导向条件表现为:通过分别判断这个目标拐点及其沿着所述导航路径的导航前进方向相继设置的一个或两个拐点是否存在所述最终导航目标点,来选择出满足导向条件的第一预设拐点集合或满足导向条件的第二预设拐点集合。值得注意的是,从这个目标拐点沿着所述导航路径的导航前进方向设置的相邻的拐点是所述最终导航目标点时,则已经判断到所述导航路径的终点,没有必要继续判断下去。其中,所述导航路径的导航前进方向是用于引导机器人移动至所述最终导航目标点的机器人导航方向;所述最终导航目标点也是导航路径的终点,也属于所述导航路径的其中一个拐点。本实施例通过判断机器人的导航路径上连续设置的三个拐点是否存在所述导航路径的终点,筛选出能够引导机器人移动至所述最终导航目标点的具有代表性的拐点,也能用于比较所述导航路径与所述沿边预测路径的差别程度。

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

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

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

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

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

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

建立以机器人的当前位置为中心,且与机器人的当前位置的最大距离为第一预设距离门限值的栅格坐标所组成的拐点比较区域;其中,从预先设置的导航路径上选择出满足导向条件的第一预设拐点集合时,机器人的当前位置没有在规划出的最快沿边预测路径上;从预先设置的导航路径上选择出满足导向条件的第二预设拐点集合时,机器人的当前位置是在规划出的最快沿边预测路径上。

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

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

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

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

作为另一种发明实施例,所述最快沿边预测路径的规划方法具体包括:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

步骤s401至步骤s411所述的实施例,通过比较沿边预测路径的沿边行为点与导航路径中特定的路径节点(目标拐点及其后面设置的拐点)之间距离差距,来确定沿边预测路径与导航路径的差别程度,再选择差别程度小的沿边预测路径对应的沿边方向作为机器人沿边越障的最佳方向,避免机器人在越障过程中过渡偏离预先设定的导航目标(即所述导航路径的最终导航目标点)。

前述实施例中,所述用于机器人越障的沿边预测路径的规划方法包括:

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

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

作为一种发明实施例,所述步骤s4032具体方法包括:步骤21、搜索与步骤s4031当前标记的碰撞点的距离关系满足最近距离条件的障碍物点,其中,步骤s4031当前标记的碰撞点是前述实施例的步骤s4031在栅格地图上标记的碰撞点,然后进入步骤22;步骤22、在步骤21搜索到的障碍物点的邻域上,选择满足预沿边条件的栅格,然后进入步骤23,其中障碍物点的邻域是包围这个障碍物点的8个栅格;步骤23、当统计到满足预沿边条件的栅格的数目达到第二预设栅格数时,从这些满足预沿边条件的栅格中选择满足所述最佳沿边条件的栅格,也作为满足所述沿边越障条件的栅格,然后进入步骤24,其中,满足所述沿边越障条件的栅格是建立在满足最近距离条件的障碍物点和满足所述最佳沿边条件的栅格的基础上,即先确定栅格是否满足最近距离条件,然后在此基础上确定相应选择的栅格是否满足所述最佳沿边条件;步骤24、将步骤23选择出的满足所述最佳沿边条件的栅格标记为新的碰撞点,并添加为用于机器人沿障碍物边缘行走对应的沿边预测路径上新规划的沿边行为点,同时将这个新的碰撞点更新为步骤s4031当前标记的碰撞点,再返回执行步骤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)(前碰撞点)处发生碰撞时,确定机器人的前进方向碰撞到障碍物。

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

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

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

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

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

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

作为一种实施例,所述用于机器人越障的沿边预测路径的规划方法的具体步骤流程包括:

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

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

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

优选地,当所述步骤s503寻找不到满足最近距离条件的障碍物点时,则确定先后无法规划出用于机器人越障的沿边方向相反的两个沿边预测路径,再返回所述步骤s404。避免越障过程中可能会选错了沿边方向,使得机器人在沿边过程中偏离导航目标点。

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

优选地,当所述步骤s504寻找不到满足预沿边条件的栅格时,则确定先后无法规划出用于机器人越障的沿边方向相反的两个沿边预测路径,再返回所述步骤s404。避免越障过程中可能会选错了沿边方向,使得机器人在沿边过程中偏离导航目标点。

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

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

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

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

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

在前述所有实施例的基础上,还公开一种机器人的越障控制方法,包括:控制机器人执行所述的越障结束判断方法;当确定机器人当前越障结束时,控制机器人停止按照预先选择出的最快沿边预测路径沿边行走以结束越障;当确定机器人当前越障没有结束时,控制机器人继续按照预先选择出的最快沿边预测路径沿边行走,同时继续执行所述的越障结束判断方法。与现有技术相比,本实施例避免机器人无休止的绕障碍物沿边行走,让机器人在越过障碍物后及时切换回导航路径上,提高机器人的导航效率。

该越障控制方法还包括:在机器人停止按照预先选择出的最快沿边预测路径沿边行走后,控制机器人按照预先设置的导航路径行走,在检测到机器人碰撞到障碍物后,规划选择出所述最快沿边预测路径,然后返回执行所述的越障结束判断方法,如此反复直到机器人导航至所述最终导航目标点为止,保持机器人原来设定的导航不会因为越障而中断,提高机器人导航工作的效率。

优选地,在机器人按照预先规划的最快沿边预测路径沿边行走的过程中,当判断到预设沿边时间内机器人的沿边转动角度和沿边行走里程满足相应的限定条件,则确定机器人当前越障没结束,然后控制机器人继续按照所述最快沿边预测路径沿边行走,否则控制机器人停止按照预先选择出的最快沿边预测路径沿边行走以结束越障。具体的步骤可参考前述实施例中对应的方法步骤,在此不再赘述。本实施例提前结束机器人沿边越障操作,让机器人选择提前放弃当前的最快沿边预测路径。避免机器人因为沿边太久而偏离所述最终导航目标点太远。

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

一种机器人,该机器人的机身左前部设置有左碰撞探测器,用于检测机器人的前进方向左侧碰撞到的障碍物,使其用于检测机器人沿障碍物的边缘作逆时针方向上沿边行走时的机身左侧碰撞到的障碍物;该机器人的机身右前部设置有右碰撞探测器,用于检测机器人的前进方向右侧碰撞到的障碍物,使其用于检测机器人沿障碍物的边缘作顺时针方向上沿边行走时的机身右侧碰撞到的障碍物;该机器人设置有所述的芯片,所述芯片分别与左碰撞探测器和右碰撞探测器连接,机器人被配置为执行所述的越障控制方法。其中,左碰撞探测器和右碰撞探测器对称地设置在机器人的机身左右两侧,当机器人的正前方碰撞到障碍物时,同时触发左碰撞探测器和右碰撞探测器检测,并将对应方向上的障碍物上的碰撞点标记为前碰撞点,使得机器人在同一位置下标记的前碰撞点、左碰撞点和右碰撞点都位于机器人正前方碰撞到的障碍物的轮廓线的切线上,障碍物的轮廓线是标记形成于栅格地图上。

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

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