基于导航路径的沿边绕障路径选择方法、芯片及机器人与流程

文档序号:25855443发布日期:2021-07-13 16:08阅读:161来源:国知局
基于导航路径的沿边绕障路径选择方法、芯片及机器人与流程

本发明涉及机器人的技术领域,涉及基于导航路径的沿边绕障路径选择方法、芯片及机器人。



背景技术:

地图已知情况下,运用a*或d*等全局路径规划算法,机器人根据规划好的路径前行,理论上是不会遇到障碍物的,但是现实中,由于地图有漂移误差或障碍物标记位置发生变动(比如,新增障碍物、障碍物发生了移动等因素),所以,为了避开这些动态变化的障碍物,机器人会改变a*或d*等全局路径规划算法预先规划出的局部导航方向,但往往会偏离原先规划的全局路径所指示的导航运动趋势。



技术实现要素:

为了解决上述技术问题,本发明提出一种基于导航路径的沿边绕障路径选择方法、芯片及机器人,通过执行所述沿边绕障路径选择方法,机器人遇到障碍物后,在传感器探测的局部地图上,结合预先规划的导航路径,运用简单的统计平均计算公式,从平均偏离程度来选择相对于导航路径具备最佳拟合度的沿边绕障路径,提高机器人的局部绕障的导航成功率,且不会越沿越偏离所述导航路径。具体的技术方案如下:

一种基于导航路径的沿边绕障路径选择方法,该绕障路径选择方法包括:在预先构建的地图上规划出一条导航路径;其特征在于,该绕障路径选择方法还包括:当机器人在沿着所述导航路径移动过程中碰触并探测到障碍物时,规划出用于引导机器人绕障的所有沿边绕障路径,其中,每一条沿边绕障路径对应一种沿边方向;然后,根据每条沿边绕障路径上每个的栅格点与同一条导航路径上支持机器人绕障后继续通行的参考导航路径段的所有栅格点之间的最小线段距离,选择出相对于这条参考导航路径段的平均偏离程度最小的一条沿边绕障路径,使得机器人在碰触到障碍物后按照当前选择出的沿边绕障路径行走。与现有技术相比,该技术方案利用支持机器人绕障后继续通行的参考导航路径段,去挑选出最佳沿边方向上对应的沿边绕障路径,以减小机器人在绕障过程中及绕障之后偏离原来规划的导航路径太远,有利于引导机器人沿着具有导航价值的沿边绕障路径完成当前探测的障碍物的绕障行为,提高机器人的智能导航能力和绕障能力。相对于最小二乘法去处理类似的导航路径,本技术方案不需要对参考导航路径段进行拟合处理。

进一步地,所述根据每条沿边绕障路径的每个栅格点与同一条导航路径上支持机器人绕障后继续通行的参考导航路径段的所有栅格点之间的最小线段距离,选择出相对于这条参考导航路径段的平均偏离程度最小的一条沿边绕障路径的方法具体包括:分别统计每条沿边绕障路径所包括的栅格点的数量;对于每一条沿边绕障路径,分别计算该沿边绕障路径上的每个栅格点与所述参考导航路径段的所有栅格点之间的最小线段距离,再将该沿边绕障路径上的每个栅格点对应计算出的最小线段距离相加得到相应沿边方向上的局部距离和,然后使用该沿边绕障路径所包括的栅格点的数量对相应沿边方向上的局部距离和求平均值以得到该沿边绕障路径的平均偏离量,用于表示该沿边绕障路径相对于所述参考导航路径段的平均偏离程度大小;通过比较每一条沿边绕障路径对应的平均偏离量的大小,选择出平均偏离量最小的一条沿边绕障路径作为机器人后续实际沿所述障碍物的边缘行走的路径。

与现有技术相比,该技术方案比较每条沿边绕障路径与所述参考导航路径段之间的栅格点的距离平均值,用于衡量每条沿边绕障路径相对于同一条参考导航路径段的偏离程度,相比现有技术直接采用距离和值进行比较更具代表性,更能快速地表示出所述沿边绕障路径相对于同一条参考导航路径段的变化情况。

进而,本技术方案计算该沿边绕障路径上的每个栅格点与所述参考导航路径段的所有栅格点之间的最小线段距离,再将该沿边绕障路径上的每个栅格点对应计算出的最小线段距离相加并求平均值,相对于最小二乘法通过对拟合直线求平方和以获取实际值与拟合直线函数之间的代表拟合效果的差距的方式,简化栅格点之间的计算难度,不需要对所述导航路径的拟合处理,且不需要对参考导航路径段进行拟合处理。

进一步地,所述沿边绕障路径是用于引导机器人沿着所述障碍物的边缘作顺时针方向上的沿边行走的左沿边绕障路径,或所述沿边绕障路径是用于引导机器人沿着所述障碍物的边缘作逆时针方向上的沿边行走的右沿边绕障路径。从而规划出机器人绕障碍物在地图投影的轮廓边缘行走所需沿边路径。适应机器人探测并沿边行走于不同障碍物之间。

进一步地,在比较每一条沿边绕障路径对应的平均偏离量的大小的过程中,若存在两条或两条以上的沿边绕障路径对应的平均偏离量相等,则随机选择一条条沿边绕障路径作为机器人在当前位置规划的实际沿所述障碍物的边缘行走的路径。提高机器人处理沿边绕障路径的效率。

进一步地,所述用于引导机器人绕障的沿边绕障路径的具体规划方法包括:步骤1、在机器人的传感器的探测范围内,沿着机器人的当前移动方向,通过邻域搜索的方式搜索出一对相邻接的空闲栅格点和障碍栅格点;然后在这对相邻接的空闲栅格点和障碍栅格点中,将空闲栅格点配置为沿边搜索中心,同时将障碍栅格点配置为沿边搜索起点;步骤2、从沿边搜索起点开始沿着预设沿边方向在沿边搜索中心的邻域中搜索出候选沿边行为点时,将候选沿边行为点更新为所述沿边搜索中心,再使用更新前的所述沿边搜索中心更新为所述沿边搜索起点,并将更新前的所述沿边搜索中心连接到对应沿边方向上的沿边绕障路径中,以引导机器人沿障碍物边缘行走;步骤3、重复执行步骤2,直到最新连接出的沿边绕障路径满足预设沿边绕障碍条件。

与现有技术相比,本技术方案在机器人检测并触碰到障碍物后,从该障碍物出发,朝着机器人的当前移动方向,往机器人的当前位置逐个邻域栅格的搜索,直到搜索出一对相邻的参考空闲栅格点和参考障碍栅格点,再以参考空闲栅格点为中心、参考障碍栅格点为起点进行既定沿边方向上的邻域搜索,实现分别沿着各个沿边方向搜索出支持机器人沿障碍物边缘行走的沿边绕障路径,加快沿边越过当前碰触并检测到的障碍物,进而通过逐个栅格地搜索邻域的方式提高机器人绕障的成功率。

进一步地,在步骤1中,所述通过邻域搜索的方式搜索出一对相邻接的空闲栅格点和障碍栅格点的方法具体包括:步骤11、获取所述障碍物在二维栅格地图中覆盖到的障碍栅格点的集合,再从中挑选出距离机器人的当前位置最近的障碍栅格点,并将距离机器人的当前位置最近的障碍栅格点设置为用于邻域搜索的搜索中心;步骤12、判断所述搜索中心在所述当前移动方向上对应搜索的邻域栅格点是否为空闲栅格点,是则进入步骤13,否则进入步骤14;步骤13、确定将搜索出的空闲栅格点配置为沿边搜索中心,并将所述搜索中心配置为沿边搜索起点,其中,这个最新配置的沿边搜索中心和最新配置的沿边搜索起点是一对相邻接的栅格点;步骤14、若步骤12在所述当前移动方向上搜索的邻域栅格点都是障碍栅格点,则将步骤12对应搜索到的邻域栅格点中距离步骤12所述的搜索中心最近的邻域栅格点更新为步骤12所述的搜索中心,然后返回步骤12,其中,步骤12搜索的栅格点不属于重复搜索的栅格点。

与现有技术相比,该技术方案基于实时探测到的障碍栅格点的集合,从最接近机器人的当前位置的障碍栅格点作为第一个搜索中心进行邻域搜索,以实现最大限度地接近障碍物的轮廓线;然后通过迭代执行步骤12至步骤14,沿着机器人的当前移动方向不断更新搜索中心,直到以这一邻域搜索方式搜索出一对相邻接的用于配置为沿边搜索中心的空闲栅格点和用于配置为沿边搜索起点的障碍栅格点,为后续搜索出用于接入沿边绕障路径的栅格点提供出发点。

进一步地,在所述步骤2中,所述从沿边搜索起点开始沿着预设沿边方向在沿边搜索中心的邻域中搜索出候选沿边行为点的方法包括:在所述沿边搜索中心的邻域中,从所述沿边搜索起点开始在所述沿边搜索中心的邻域中,从所述沿边搜索起点开始,判断沿着所述预设沿边方向搜索出的栅格点是否为第一个搜索到的空闲栅格点,是则将第一个搜索到的空闲栅格点确定为所述候选沿边行为点,否则继续沿着所述预设沿边方向搜索所述沿边搜索中心的其它邻域栅格点。

该技术方案在一个以所述沿边搜索中心为中心的九宫格栅格区域中,沿着所述预设沿边方向绕着所述沿边搜索中心进行邻域搜索,直到搜索到第一个空闲栅格点才确定出一个候选沿边行为点,作为候选沿边栅格点等待加入并规划出沿边绕障路径,从而实现在沿着同一预设沿边方向搜索不断更新的所述沿边搜索中心的邻域的过程中,将由邻域存在空闲栅格点的所述沿边搜索中心依次连接成所述沿边绕障路径,加快沿边绕障路径的规划速度。

进一步地,所述步骤2还包括:在所述沿边搜索中心的邻域中,若从所述沿边搜索起点开始沿着所述预设沿边方向搜索不出空闲栅格点,则停止执行步骤2和步骤3,选择性地将所述沿边搜索中心连接成为对应沿边方向上的沿边绕障路径的一个栅格点。在不具备机器人通行条件的前提下,尽可能地减少无效的沿边搜索。

进一步地,所述预设沿边绕障碍条件包括:最新连接入所述沿边绕障路径的所述沿边搜索中心与所述沿边绕障路径的起点相同,以使得对应沿边方向上的沿边绕障路径的起点及其终点重合,形成一个封闭的平面几何图形。确定机器人已经依靠障碍物信息搜索规划出支持机器人绕障的沿边路径。

进一步地,所述沿边绕障路径选择方法还包括:沿着所述导航路径的导航延伸方向,从未被所述障碍物占据、位于所述障碍物后方且与其障碍栅格点邻接的所述导航路径中选取出支持机器人绕障后继续通行的参考导航路径段,其中,这条参考导航路径段是由所述导航路径中连续排列的栅格点连接而成。该技术方案考虑到机器人绕障后的导航路径的长度特征,选择支持机器人通行的参考导航路径段,用于作为基准导航路径,判断当前规划的沿边绕障路径相对于所述导航路径的导航合理性。

进一步地,若所述导航路径穿过所述障碍物,则沿着所述导航路径的导航延伸方向,所述导航路径划分为:到达所述障碍物的前方的路径段、所述障碍物覆盖的路径段、所述障碍物的后方的路径段;其中,每个路径段都是由栅格点连接而成的,所述参考导航路径段是从所述障碍物的后方的路径段中选取出来的。该技术方案基于所述障碍物在所述导航路径上占据的相对位置关系对所述导航路径进行分类,以获取绕障后的支持机器人通行的导航路径段。

进一步地,所述预设沿边绕障碍条件包括:最新搜索出的所述候选沿边行为点与所述参考导航路径段的任一栅格点之间的线段都没有经过障碍栅格点。当最新搜索出的所述候选沿边行为点与所述参考导航路径段之间是可通达时,停止继续规划所述沿边绕障路径,避免沿着所述预设沿边方向越沿越远,有利于机器人在沿边绕障结束后顺利返回所述导航路径。

进一步地,所述预设沿边绕障碍条件包括:所述沿边绕障路径的轨迹长度大于所述障碍物在相应沿边方向上的被沿边的轮廓长度;其中,所述障碍物在二维栅格地图中的被沿边的轮廓长度是大于机器人的传感器的可探测距离。该技术方案将所述沿边绕障路径的轨迹长度限制在一定的范围内,从而规划出合理长度的沿边绕障路径,减少搜索计算量,提高机器人规划所述沿边绕障路径的效率。

进一步地,机器人的传感器当前探测到的障碍物是允许变化的,包括覆盖面积变化、大小形状变化,以使得所述障碍物阻挡机器人沿着所述导航路径移动;其中,预先规划的导航路径只是支持绕过固定的障碍物。面对不断变化的障碍物,本技术方案通过实施所述沿边绕障路径规划方法、或多次实施所述沿边绕障路径规划方法来规划有效绕障的沿边绕障路径,提高机器人局部绕障导航的成功率。增强所述沿边绕障路径规划方法的算法鲁棒性。

进一步地,当所述预设沿边方向是顺时针方向时,通过执行反复所述步骤2来将所述更新前的沿边搜索中心依次连接成为左沿边方向上的沿边绕障路径;当所述预设沿边方向是逆时针方向时,通过执行反复所述步骤2来将所述更新前的沿边搜索中心依次连接成为右沿边方向上的沿边绕障路径。有利于搜索出与机器人所要沿边的障碍物的两侧边缘的拟合度相匹配的空闲栅格点。

一种芯片,其上存储有程序代码,该程序代码被芯片执行时实现如前述技术方案提及的沿边绕障路径选择方法,通过求最小线段距离的平均值的方式,简化预测规划出的左右沿边绕障路径与所述参考导航路径段之间的栅格点距离的计算难度,且不需要对所述导航路径的拟合处理,减少计算量,提高机器人规划沿边绕障路径的效率。

一种机器人,该机器人设置有所述的芯片,机器人被配置为保持在所述当前位置处执行前述技术方案提及的沿边绕障路径选择方法。根据规划出的左右沿边绕障路径中选择出与参考导航路径段的拟合程度最高的沿边方向对应的沿边绕障路径,以控制机器人沿着相匹配的沿边绕障路径执行快速越障。

进一步地,该机器人的机身前部设置有碰撞探测器,该机器人的机身还设置有视觉传感器和/或激光传感器,用于在碰撞探测器检测到机器人的前进方向上碰撞到障碍物时,控制视觉传感器和/或激光传感器探测这个障碍物,再通过搜索出沿边行为点来连接出各个沿边方向上的沿边绕障路径并选择出相对于所述参考导航路径段的平均偏离程度最小的一条沿边绕障路径,使得机器人在碰触到障碍物后按照这个选择出的沿边绕障路径行走。

附图说明

图1是本发明一实施例公开一种基于导航路径的沿边绕障路径选择方法的流程图。

图2是本发明另一实施例公开用于引导机器人绕障的沿边绕障路径的具体规划方法的流程图。

具体实施方式

下面结合附图对本发明的具体实施方式作进一步说明。应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

机器人利用传感器的探测结果构建起栅格地图,然后使用a*或d*等成熟的全局路径规划算法在预先构建的栅格地图内规划出一条导航路径,这条导航路径是支持绕过固定的障碍物,但是,由于地图有误差或障碍物分布位置发生变动(比如,新增障碍物、障碍物发生了移动等因素),所以预先规划出的导航路径可能会穿过障碍物,导致机器人沿着所述导航路径移动的过程中频繁碰撞上障碍物,这时需要在机器人探测并碰触障碍物的时候开始规划出新的沿边绕障路径,以更佳的沿边路径去克服现有技术存在的越障难题。在本实施例中,机器人预先构建的栅格地图包括空闲栅格点、障碍栅格点和未知栅格点,分别对应地图栅格存在的空闲(free)、占用(occupied)和未知(unknown)三种状态;空闲状态的栅格是指未被障碍所占用的栅格,是机器人可到达的栅格位置点,是所述空闲栅格点,可以组成未占用区域;占用状态的栅格是指被障碍物所占用的栅格,是所述障碍栅格点,可以组成占用区域;未知栅格是指机器人构建地图过程中的不清楚具体情况的栅格区域,其位置点处往往被障碍物所遮挡,可以组成未知区域。

需要说明的是,以扫地机器人为例,可以基于单线激光雷达建立局部概率栅格,或基于视觉传感器建立局部栅格地图。而全局地图,是该扫地机器人第一次使用时,利用其自身携带的各种传感器(例如:碰撞传感器、加速度传感器、陀螺仪、超声波测距仪、摄像头、单线激光雷达等)对每个房间运动区域进行搜索,感应每个房间的位置、形状和大小,以及遇到的障碍物的位置、形状和大小,并据此绘制出一张环境边界地图,通过在室内边行走边记录的方式绘制的整个室内的地图,该地图上包括占用区域、未占用区域和未知区域,其中,占用区域和未占用区域都可以归属于已清扫区域。

需要说明的,栅格地图上规划出的导航路径可以用空闲栅格点来描述,因此,机器人沿着导航路径前进的过程中,机器人朝着一个导航前进方向,从当前一个空闲栅格点开始移动至同一导航路径中的下一个空闲栅格点,一直前进至最终导航目标点。

本发明一实施例公开一种基于导航路径的沿边绕障路径选择方法,该绕障路径选择方法在使用成熟的启发式搜索算法预先规划出一条导航路径的基础上开始执行,如图1所示,所述绕障路径选择方法具体包括:

步骤sa、当机器人在沿着所述导航路径移动过程中碰触并探测到障碍物时,规划出用于引导机器人绕障的所有沿边绕障路径,其中,每一条沿边绕障路径对应一种沿边方向;然后进入步骤sb。步骤sa用于同时规划出多条用于引导机器人绕障的沿边绕障路径,每一条沿边绕障路径对应沿边方向是不同的。在本发明的实施例中,机器人在一个位置处同时向所述障碍物的左右两侧边缘搜索沿边路径,分别规划出一条左沿边方向上的沿边绕障路径和一条右沿边方向上的沿边绕障路径。因为机器人沿着障碍物的边缘行走的模式分为左沿边模式和右沿边模式,左沿边模式下的机器人沿着障碍物的左边缘做顺时针运动,右沿边模式下的机器人沿着障碍物的右边缘做逆时针运动。

步骤sb、分别统计每条沿边绕障路径所包括的栅格点的数量,然后进入步骤sc。其中,每条沿边绕障路径都是由沿所述障碍物的边缘分布的空闲栅格点连接而成,可能存在部分栅格点相重合但不影响栅格点的计数结果。

步骤sc、对于每一条沿边绕障路径,分别计算对应的一条沿边绕障路径上的每个栅格点与参考导航路径段的所有栅格点之间的最小线段距离,其中,这个最小线段距离是距离沿边绕障路径上的一个栅格点与所述参考导航路径段的垂线段最近的连线的长度,因此减少栅格点之间连线的搜索量,也获取相应的沿边绕障路径与所述参考导航路径段的最小距离信息,有利于选择出偏离原导航路径较小的沿边绕障路径;所述参考导航路径段是所述导航路径上支持机器人绕障后继续通行的参考导航路径段,提供路径选择方向。然后,将对应一条沿边绕障路径上的每个栅格点对应计算出的最小线段距离相加得到相应沿边方向上的局部距离和;然后进入步骤sd。

其中,这个局部距离和相对现有技术求偏离程度的处理,是代表一条沿边绕障路径上的所有的栅格点与所述参考导航路径段的最小偏离程度的总和,而不是将每一个沿边行为点与所述参考导航路径段的所有栅格点的距离之和相加以获得一个距离总和,促使本发明实施例简化了用于描述所述沿边绕障路径的沿边变化趋势的统计方式,使得本实施例公开的局部距离和描述的相对于所述参考导航路径段的偏离程度更具备代表性,减少计算多余的线段长度,特别是克服:现有技术求取单一沿边行为点与所述参考导航路径段的所有栅格点的线段距离的和值会产生冗余的距离信息,避免影响本领域技术人员对于所述沿边绕障路径相对于所述参考导航路径段的导航前进方向的整体偏离程度的判断。

步骤sd、使用步骤sc所述沿边绕障路径所包括的栅格点的数量对相应沿边方向上的局部距离和求平均值以得到该沿边绕障路径的平均偏离量,用于表示该沿边绕障路径相对于所述参考导航路径段的平均偏离程度大小;然后进入步骤se。由于步骤sc将对应沿边方向上的一条沿边绕障路径上每一个栅格点相对于所述参考导航路径段产生的最小线段距离求和得到的相应沿边方向上的局部距离和,是连接成该沿边绕障路径上的所有栅格点与参考导航路径段的所有栅格点之间的一个最小线段距离的和值,所以,步骤sd将这个局部距离和除以步骤sc所述沿边绕障路径所包括的栅格点的数量获得平均结果,这个平均结果作为该沿边绕障路径的平均偏离量。与现有技术相比,本实施例比较每条沿边绕障路径与所述参考导航路径段之间的栅格点的距离平均值,用于衡量每条沿边绕障路径相对于同一条参考导航路径段的偏离程度,相比现有技术直接采用距离和值进行比较更具代表性,更能快速地表示出所述沿边绕障路径相对于同一条参考导航路径段的变化情况。

需要说明的是,本实施例计算该沿边绕障路径上的每个栅格点与所述参考导航路径段的所有栅格点之间的最小线段距离,再将该沿边绕障路径上的每个栅格点对应计算出的最小线段距离相加并求平均值,相对于最小二乘法通过对拟合直线求平方和以获取实际值与拟合直线函数之间的代表拟合效果的差距的方式,简化栅格点之间的计算难度,且不需要对所述导航路径的拟合处理。

步骤se、比较每一条沿边绕障路径对应的平均偏离量的大小,选择出平均偏离量最小的一条沿边绕障路径作为机器人后续实际沿所述障碍物的边缘行走的路径,作为最佳沿边绕障路径。其中,平均偏离量越小,表示对应沿边方向上的一条沿边绕障路径与所述参考导航路径段的匹配程度越高,包括实时导航方向、整体延伸趋势的匹配度更高,进而作为机器人从当前位置越障所需的沿边方向;平均偏离量越大,表示对应沿边方向上的一条沿边绕障路径与所述参考导航路径段的匹配程度越低,包括实时导航方向、整体延伸趋势的匹配度更低。从而实现:根据每条沿边绕障路径上每个的栅格点与所述导航路径上支持机器人绕障后继续通行的参考导航路径段的所有栅格点的最小线段距离,选择出相对于这条参考导航路径段的平均偏离程度最小的一条沿边绕障路径,使得机器人在碰触到障碍物后按照这个选择出的沿边绕障路径行走。前述步骤利用支持机器人绕障后继续通行的参考导航路径段,去挑选出最佳沿边方向上对应的沿边绕障路径,以减小机器人在绕障过程中及绕障之后偏离原来规划的导航路径太远,有利于引导机器人沿着具有导航价值的沿边绕障路径完成当前探测的障碍物的绕障行为,提高机器人的智能导航能力和绕障能力。

需要说明的是,在本实施例中,机器人后续实际沿所述障碍物的边缘行走的路径是判断选取出与预先规划的导航路径的差异程度最小的一个沿边预测路径,然后控制机器人在碰撞到障碍物后按照这个选择出的沿边预测路径行走,但是机器人实际行走的沿边路径不一定是按照预测规划的执行的,毕竟预测规划的路径存在一定的误差,只能是表示出了大概路径和明确一个合理可行的沿边方向,比如沿着障碍物的边做逆时针或顺时针运动,但可以确定的是,相对于现有技术类似的选择方法更快地选择出更有效的沿边路径,实现机器人快速越过实时探测到的障碍物,虽然这个障碍物已经显著地阻挡所述导航路径的导航延伸方向。

具体地,所述沿边绕障路径是用于引导机器人沿着所述障碍物的边缘作顺时针方向上的沿边行走的左沿边绕障路径,或所述沿边绕障路径是用于引导机器人沿着所述障碍物的边缘作逆时针方向上的沿边行走的右沿边绕障路径。从而规划出机器人绕障碍物在地图投影的轮廓边缘行走所需沿边路径。适应机器人探测并沿边行走于不同障碍物之间。

优选地,当左沿边绕障路径对应的平均偏离量大于右沿边绕障路径对应的平均偏离量时,将右沿边绕障路径配置为机器人后续实际沿所述障碍物的右边缘行走的路径;当左沿边绕障路径对应的平均偏离量小于右沿边绕障路径对应的平均偏离量时,将左沿边绕障路径配置为机器人后续实际沿所述障碍物的左边缘行走的路径;当左沿边绕障路径对应的平均偏离量等于右沿边绕障路径对应的平均偏离量时,随机选择左沿边绕障路径和右沿边绕障路径的其中一条配置为机器人后续实际沿所述障碍物的边缘行走的路径。提高机器人处理沿边绕障路径的效率。

值得注意的是,机器人的传感器当前探测到的障碍物是允许变化的,包括覆盖面积变化、大小形状变化,以使得所述障碍物阻挡机器人沿着所述导航路径移动;其中,预先规划的导航路径只是支持绕过固定的障碍物。面对不断变化的障碍物,本实施例通过实施所述沿边绕障路径规划方法、或多次实施所述沿边绕障路径规划方法来规划有效绕障的沿边绕障路径,提高机器人局部绕障导航的成功率;增强所述沿边绕障路径规划方法的算法鲁棒性。

对于本领域技术人员可理解:实时构建的栅格地图中标记有机器人的当前位置周围的环境信息,但由于存在地图漂移误差,可能让地图中的障碍物的栅格信息与实际环境的障碍物位置信息不太一致,为了规划出更加合理的沿边绕障路径,本发明专门使用邻域栅格点搜索的方式去规划出能够维持接近障碍物的边缘的沿边绕障路径。

基于前述实施例,还公开所述用于引导机器人绕障的沿边绕障路径的具体规划方法,如图2所示,具体包括:

步骤s1、机器人在沿着所述导航路径移动过程中碰触并探测到障碍物时,在机器人的传感器的探测范围内,获取所述障碍物在二维栅格地图中覆盖到的障碍栅格点的集合,然后进入步骤s2。至于本实施例所用到的障碍物,是由机器人的传感器(包括但不限于碰撞传感器、3dtof、激光雷达)检测获取的,具体会获取到这个障碍物的点云数据,这些实时获得的点云数据在二维栅格地图上的投影覆盖的栅格标记成为所述障碍物在二维栅格地图中覆盖到的障碍栅格点并形成障碍栅格点的集合,然后结合机器人的当前位置的坐标、所述障碍物的点云数据以及传感器的配置参数进行常规的坐标系换算得到对应标记到机器人预先构建的栅格地图中的障碍栅格点的的坐标值,具体换算方法是本领域技术人员所熟知的,在此不再赘述。其中,机器人在沿着所述导航路径移动过程中碰触并探测到障碍物时,是保存有机器人的当前移动方向的。

步骤s2、从步骤s1获取的基于所述障碍物的障碍栅格点的集合中,基于障碍栅格点的的坐标值,挑选出距离机器人的当前位置最近的障碍栅格点,并将距离机器人的当前位置最近的障碍栅格点设置为用于邻域搜索的搜索中心,以开始在以机器人的当前位置最近的障碍栅格点为搜索中心的邻域中开始邻域搜索,然后进入步骤s3。其中,这里的邻域搜索包括在以机器人的当前位置最近的障碍栅格点的上、左上、下、左下、右、右上、下、右下的邻接的栅格位置中进行搜索吗,相邻接的两个栅格点连通并互为邻域,一般而言,一个搜索中心的上、下、左、右的邻接栅格点相对最近的邻域栅格点。需要说明的是,机器人的当前位置是属于空闲栅格点。

步骤s3、判断所述搜索中心在所述当前移动方向上对应搜索的邻域栅格点是否为空闲栅格点,是则进入步骤s5,否则进入步骤s4。步骤s3在确定障碍物栅格点为所述搜索中心再开始沿着所述当前移动方向搜索邻域栅格点以获取标记为空闲状态的栅格,从而立足于所述障碍物的边缘搜索出让机器人尽可能地接近障碍物的轮廓线的沿边行为点。

步骤s4、确定在所述当前移动方向上搜索的邻域栅格点都是障碍栅格点,再将步骤s3对应搜索到的邻域栅格点中距离步骤s3所述的搜索中心最近的邻域栅格点更新为步骤s3所述的搜索中心,然后返回步骤s3。步骤s3在机器人的当前移动方向上搜索不出空闲栅格点时,将同一所述当前移动方向上距离步骤s3所述搜索中心最近的障碍栅格点更新为当前搜索中心以作为下一次邻域搜索的搜索中心,实现迭代执行步骤s3至步骤s4完成在所述障碍物的待沿边轮廓边缘附近寻找允许沿边通行的栅格点,但不限于具体的沿边方向。值得注意的是,重复执行步骤s3搜索栅格点的过程中,当前一次执行步骤s3搜索的栅格点不同于上一次执行步骤s3搜索的栅格点,避免机器人重复行走己规划过的沿边路径区域,提高机器人沿边绕障的效率。

步骤s5、确定将搜索出的空闲栅格点配置为沿边搜索中心,并将所述搜索中心配置为沿边搜索起点,即确定寻找到一对相邻接的用于配置为沿边搜索中心的空闲栅格点和用于配置为沿边搜索起点的障碍栅格点,其中,步骤s5配置的沿边搜索中心和步骤s5配置的沿边搜索起点形成所述沿边绕障路径规划方法中固定不变的一对相邻接的栅格点,用于作为搜索绕障所需的沿边行为点的启动点并奠定沿边导向基础。然后进入步骤s6。

与现有技术相比,本实施例基于实时探测到的障碍栅格点的集合,从最接近机器人的当前位置的障碍栅格点作为第一个搜索中心进行邻域搜索,以实现最大限度地接近障碍物的轮廓线;然后通过迭代执行步骤s3至步骤s4,沿着机器人的当前移动方向不断更新搜索中心,直到以这一邻域搜索方式搜索出一对相邻接的用于配置为沿边搜索中心的空闲栅格点和用于配置为沿边搜索起点的障碍栅格点,为后续搜索出用于接入沿边绕障路径的栅格点提供导向条件。优选地,步骤s1至步骤s5中所提及的障碍栅格点都属于步骤s1探测到的障碍物的。

步骤s6、从最新配置的沿边搜索起点开始沿着预设沿边方向在最新配置的沿边搜索中心的邻域中进行逐个邻域栅格点的搜索,以便于依靠所述障碍物的轮廓分布特征搜索适用于沿边的栅格点;然后进入步骤s7。其中,当所述预设沿边方向是顺时针方向时,步骤s6则用于搜索接近所述障碍物的左侧边缘的候选沿边行为点,后续加入连接成为左沿边方向上的沿边绕障路径;当所述预设沿边方向是逆时针方向时,步骤s6则用于搜索接近所述障碍物的右侧边缘的候选沿边行为点,后续加入连接成为右沿边方向上的沿边绕障路径。

步骤s7、在所述沿边搜索中心的邻域中,从所述沿边搜索起点开始,判断沿着所述预设沿边方向逐个搜索出的栅格点是否存在第一个搜索到的空闲栅格点,是则进入步骤s9,否则进入步骤s8。需要说明的是,沿着所述预设沿边方向逐个搜索出的栅格点中不存在存在第一个搜索到的空闲栅格点,则所述沿边搜索中心的邻域中,除了所述沿边搜索起点以外,不存在空闲栅格点;即以所述沿边搜索中心为中心的九宫格的8个邻域栅格中除了所述沿边搜索起点以外都不存在空闲栅格点。值得注意的是,所述沿边搜索起点不包括在沿着所述预设沿边方向搜索的栅格点的范围内。

步骤s8、在所述沿边搜索中心的邻域中,若从所述沿边搜索起点开始沿着所述预设沿边方向搜索不出空闲栅格点,则停止执行前述步骤的搜索操作,确定已经搜索出一条对应于所述预设沿边方向的沿边绕障路径,然后进入步骤s12。从而在不具备机器人通行条件的前提下,尽可能地减少无效的沿边搜索。

优选地,在步骤s8中,若从所述沿边搜索起点开始沿着所述预设沿边方向搜索不出空闲栅格点,还可以将步骤s8所述的沿边搜索中心连接成为对应沿边方向上的沿边绕障路径的一个栅格点。然后进入步骤s12。为沿边绕障路径提供尽可能多的空闲栅格点,提高沿边绕障路径的环境适应性。

步骤s9、将步骤s7搜索到的第一个空闲栅格点确定为所述候选沿边行为点,然后进入步骤s10。所述沿边搜索中心的邻域中可能存在多个空闲栅格点,但步骤s7从既定的沿边搜索起点开始,沿着所述预设沿边方向搜索到的第一个空闲栅格点则是偏离所述障碍物的边缘最近的空闲栅格点,也是距离所述步骤s6最新配置的所述沿边搜索起点最近的空闲栅格点,以控制规划连接成的沿边绕障路径是接近所述障碍物的边缘。

步骤s10、将候选沿边行为点更新为所述沿边搜索中心,即将当前搜索出的候选沿边行为点更新为下一次配置的沿边搜索中心;同时使用更新前的所述沿边搜索中心更新为所述沿边搜索起点,即将当前配置的沿边搜索中心更新为下一次配置的沿边搜索起点;并将更新前的所述沿边搜索中心连接到对应沿边方向上的沿边绕障路径中,以引导机器人沿障碍物边缘行走,即将来自步骤s6最新配置的沿边搜索中心(包括步骤s3搜索出的空闲栅格点)连接成为对应沿边方向上的沿边绕障路径中的一个栅格点;然后进入步骤s11。

步骤s11、判断最新连接出的沿边绕障路径是否满足预设沿边绕障碍条件,是则进入步骤s12,否则返回步骤s6。步骤s11等效于判断最新搜索出的所述候选沿边行为点是否满足预设沿边绕障碍条件,也等效于判断邻域存在用于沿着所述预设沿边方法搜索出的空闲栅格点的沿边搜索中心是否满足预设沿边绕障碍条件。若不满足则返回重复执行步骤s6至步骤s11,直到最新连接出的沿边绕障路径满足所述预设沿边绕障碍条件。

步骤s12、完成沿边绕障路径的规划。步骤s12具体是完成规划出所述预设沿边方向上对应的沿边绕障路径的规划。优选地,针对每一种预设沿边方向,选择同时执行步骤s6至步骤s12;具体包括:从最新配置的同一沿边搜索起点开始沿着顺时针方向在最新配置的同一沿边搜索中心的邻域中进行逐个邻域栅格点的搜索以开始执行步骤s6至步骤s12,从而通过反复执行所述步骤s6至步骤s11来将所述更新前的沿边搜索中心依次连接成为左沿边方向上的沿边绕障路径(对应所述障碍物的左侧边缘的沿边绕障路径);同时从最新配置的同一沿边搜索起点开始沿着逆时针方向在最新配置的同一沿边搜索中心的邻域中进行逐个邻域栅格点的搜索以同步执行步骤s6至步骤s12,从而通过反复执行所述步骤s6至步骤s11来将所述更新前的沿边搜索中心依次连接成为右沿边方向上的沿边绕障路径(对应所述障碍物的右侧边缘的沿边绕障路径);最后同时完成顺时针方向上对应的沿边绕障路径的规划和逆时针方向上对应的沿边绕障路径的规划。

前述步骤在一个以所述沿边搜索中心为中心的九宫格栅格区域中,沿着所述预设沿边方向绕着所述沿边搜索中心进行邻域搜索,直到搜索到第一个空闲栅格点才确定出一个候选沿边行为点,作为候选沿边栅格点等待加入并规划出沿边绕障路径,从而实现在沿着同一预设沿边方向搜索不断更新的所述沿边搜索中心的邻域的过程中,将由邻域存在空闲栅格点的所述沿边搜索中心作为有效的沿边行为点,依次连接成所述沿边绕障路径,加快沿边绕障路径的规划速度。

作为一种实施例,所述预设沿边绕障碍条件包括:最新连接入所述沿边绕障路径的所述沿边搜索中心与其所属的所述沿边绕障路径上的其它栅格点重合,以使得对应沿边方向上的沿边绕障路径上形成一个封闭的平面几何图形。从而确定机器人已经依靠障碍物信息搜索规划出支持机器人绕障的沿边路径,停止继续搜索候选沿边行为点,避免机器人重复搜索出相同的沿边路径,减少搜索量。优选地,在最新连接出的沿边绕障路径满足所述预设沿边绕障碍条件时,存在:所述沿边绕障路径的起点与最新连接入所述沿边绕障路径的所述沿边搜索中心相同,以使得对应沿边方向上的沿边绕障路径的起点及其终点重合,形成一个封闭的平面几何图形,在此基础上,同时连接形成的左沿边方向上的沿边绕障路径和右沿边方向上的沿边绕障路径都是相同的封闭的平面几何图形,可以基于栅格点的数目和栅格点的坐标位置特征,分别沿着所述障碍物的左侧边缘和右侧边缘将封闭的沿边绕障路径分为左半沿边绕障路径和右半沿边绕障路径,其中,左半沿边绕障路径所占据的栅格点数目和右半沿边绕障路径所占据的栅格点数目是相等的。

作为一种实施方式,步骤s7判断到从最新配置的沿边搜索起点开始沿着预设沿边方向在最新配置的沿边搜索中心的邻域已经搜索不出空闲栅格点时,不将最新配置的沿边搜索中心加入所述预设沿边方向上对应的沿边绕障路径中。则出现:第一次执行步骤s7时,在所述沿边搜索中心的邻域中,从所述沿边搜索起点开始,沿着所述预设沿边方向逐个搜索栅格点,搜索到第一个空闲栅格点,然后将最新配置的沿边搜索中心加入所述预设沿边方向上对应的沿边绕障路径中;而第二次执行步骤s7时,在更新后的沿边搜索中心的邻域中,从更新后的沿边搜索起点开始,沿着所述预设沿边方向逐个搜索栅格点,搜索不出空闲栅格点,则不将最新配置的沿边搜索中心加入所述预设沿边方向上对应的沿边绕障路径中,并结束搜索,确定完成规划出由一个栅格点组成的所述预设沿边方向上对应的沿边绕障路径。

作为另一种实施方式,步骤s7判断到从最新配置的沿边搜索起点开始沿着预设沿边方向在最新配置的沿边搜索中心的邻域已经搜索不出空闲栅格点时,将最新配置的沿边搜索中心加入所述预设沿边方向上对应的沿边绕障路径中。则出现:第一次执行步骤s7时,在所述沿边搜索中心的邻域中,从所述沿边搜索起点开始,沿着所述预设沿边方向逐个搜索栅格点,搜索到第一个空闲栅格点,然后将最新配置的沿边搜索中心加入所述预设沿边方向上对应的沿边绕障路径中;而第二次执行步骤s7时,在更新后的沿边搜索中心的邻域中,从更新后的沿边搜索起点开始,沿着所述预设沿边方向逐个搜索栅格点,搜索不出空闲栅格点,则也将最新配置的沿边搜索中心加入所述预设沿边方向上对应的沿边绕障路径中,并结束搜索,确定完成规划出由两个栅格点组成的所述预设沿边方向上对应的沿边绕障路径。

需要说明的是,所述步骤s8涉及的判断结果,即从最新配置的沿边搜索起点开始沿着预设沿边方向在最新配置的沿边搜索中心的邻域已经搜索不出空闲栅格点时,这个最新配置的沿边搜索中心作为所述沿边绕障路径中的不具备继续通行条件的终点位置。

作为一种实施例,所述沿边绕障路径规划方法还包括:沿着所述导航路径的导航延伸方向,从未被所述障碍物占据、位于所述障碍物后方且与其障碍栅格点邻接的所述导航路径中选取出支持机器人绕障后继续通行的参考导航路径段,其中,这条参考导航路径段是由所述导航路径中连续排列的栅格点连接而成;这条参考导航路径段的轨迹长度随着机器人的传感器类型的变化而改变,这条参考导航路径段的轨迹长度设置为具备指导机器人在越障后继续通行的功能,为了保证路径之间的比较效果或计算路径之间的匹配程度,这条参考导航路径段尽量选择在接近所述障碍物的栅格区域,以产生导向价值。因此,本实施例考虑到机器人绕障后的导航路径的长度特征,选择支持机器人通行的参考导航路径段,用于作为基准导航路径,判断当前规划的沿边绕障路径相对于所述导航路径的导航合理性,能够基于导航路径的长度特征筛选出缩小路径之间的差异程度并便于机器人返回所述导航路径的沿边绕障路径。需要说明的是,本实施例提及参考导航路径段的选取方法可以在所述步骤s5和步骤s6之间执行、或在所述步骤s9之后执行。

需要说明的是,若所述导航路径穿过所述障碍物,则沿着所述导航路径的导航延伸方向,所述导航路径划分为:到达所述障碍物的前方的路径段、所述障碍物覆盖的路径段、所述障碍物的后方的路径段;其中,每个路径段都是由栅格点连接而成的,所述参考导航路径段是从所述障碍物的后方的路径段中选取出来的,其所包括的栅格点都作为具备导航意义的参考栅格点,起到导向作用。基于所述障碍物在所述导航路径上占据的相对位置关系对所述导航路径进行分类,以获取绕障后的支持机器人通行的导航路径段。

因此,本实施例还将所述预设沿边绕障碍条件设置为:最新搜索出的所述候选沿边行为点与所述参考导航路径段的任一栅格点之间的线段都没有经过障碍栅格点。当最新搜索出的所述候选沿边行为点可以直达所述参考导航路径段上所有的栅格点时,停止继续规划所述沿边绕障路径,避免沿着所述预设沿边方向越沿越远,从而预留空间以备机器人在沿着所述沿边绕障路径行走后顺利返回所述导航路径。

作为一种实施例,所述预设沿边绕障碍条件包括:所述沿边绕障路径的轨迹长度大于所述障碍物在相应沿边方向上的被沿边的轮廓长度。其中,所述障碍物在二维栅格地图中的被沿边的轮廓长度是所述障碍物在二维栅格地图中的被沿边的轮廓长度,且大于机器人的传感器的可探测距离,且随着机器人实际沿边方向的变化而改变。优选地,所述障碍物在二维栅格地图中的被沿边的轮廓长度等于所述参考导航路径段的轨迹长度,从而创建出充足且合理匹配的栅格点数量,以便于按照前述实施例的步骤去计算相应沿边方向上的沿边绕障路径与所述参考导航路径段的平均偏离量。

实际实验场景中,所述障碍物被机器人的传感器所探测到的轮廓长度小于所述障碍物在二维栅格地图中投影的轮廓长度。本实施例将所述沿边绕障路径的轨迹长度限制在一定的范围内,从而规划出合理长度的沿边绕障路径,减少搜索计算量,提高机器人规划所述沿边绕障路径的效率。

本发明实施例公开一种芯片,其上存储有程序代码,该程序代码被芯片执行时实现如前述实施例所提及的沿边绕障路径选择方法,该芯片通过求取最小线段距离的平均值的方式,相对于现有技术减少不同路径之间的栅格点连线长度求和的次数,简化预测规划出的左右沿边绕障路径与所述参考导航路径段之间的栅格点距离的计算难度,且不需要对所述导航路径的拟合处理,减少计算量,提高机器人规划沿边绕障路径的效率。在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

本发明实施例还公开一种机器人,该机器人设置有所述的芯片,机器人被配置为执行所述沿边绕障路径选择方法。机器人根据规划出的左右沿边绕障路径中选择出与参考导航路径段的拟合程度最高的沿边方向对应的沿边绕障路径,以控制机器人沿着相匹配的沿边绕障路径执行快速越障,并便于机器人越障成功后返回所述导航路径。

优选地,该机器人的机身的左右侧都设置有碰撞探测器,该机器人的机身还设置有红外传感器、视觉传感器和/或激光传感器,用于在碰撞探测器检测到机器人的前进方向一侧碰撞到障碍物时,控制红外传感器、视觉传感器和/或激光传感器探测这个障碍物的覆盖区域,再通过搜索出沿边行为点(沿着所述障碍物的一侧边缘的可通行的栅格点)来连接出各个沿边方向上的沿边绕障路径,并选择出相对于所述参考导航路径段的平均偏离程度最小的一条沿边绕障路径,使得机器人在碰触到障碍物后按照这个选择出的沿边绕障路径行走。

具体地,该机器人的机身左前部设置有左碰撞探测器,用于检测机器人的前进方向左侧碰撞到的障碍物,使其检测结果用于辅助机器人沿所述障碍物的右侧边缘作逆时针方向上沿边行走;该机器人的机身右前部设置有右碰撞探测器,用于检测机器人的前进方向右侧碰撞到的障碍物,使其检测结果用于辅助机器人沿障碍物的左侧边缘作顺时针方向上沿边行走;所述芯片分别与左碰撞探测器和右碰撞探测器连接。

优选地,左碰撞探测器和右碰撞探测器对称地设置在机器人的机身左右两侧。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

以上所述,仅是本发明的较佳实施例而己,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。

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