一种运动路径规划方法及装置与流程

文档序号:15270119发布日期:2018-08-28 22:19阅读:223来源:国知局

本申请涉及人工智能技术领域,特别涉及一种运动路径规划方法及装置。



背景技术:

当前机器人运动规划的常用方法是根据起点和终点在栅格地图上的位置,依照两点之间直线最短原则,计算出一条距离最短的路径,再将此路径上途经的各个栅格点分别做速度分解,得出速度控制指令序列,最后依次执行速度控制指令序列中的各个速度控制指令。

但是,上述方法中采用最短距离方法进行路径规划,没有考虑不同应用场景的具体要求,影响了机器人的使用范围。

例如,室内移动机器人一般越障能力不强,常见的斜坡,门槛等地形或常见的地面突起物可能无法顺利越过。以翻越地上电线为例,机器人可能会在翻越地上电线时出现打滑,或被电线缠住的情况。以过门槛为例,如图1所示,机器人在a屋的b位置,需翻越门槛c,到达d屋的e位置,按照最短距离方法,处理器将会规划一条从b到e的距离最短的路径,也就是直线路径,作为机器人的运动路径,但是,机器人以该运动路径通过门槛c可能会出现打滑情况,因而无法顺利翻越门槛。

因此,采用最短距离方法进行路径规划,不考虑可翻越障碍地形,可能导致机器人的使用范围受限。



技术实现要素:

本申请提供一种运动路径规划方法及装置,用以优化现有的路径规划方法,扩大机器人的使用范围。

第一方面,本申请提供一种运动路径规划方法,该方法包括:

检测到目标物体,所述目标物体为预设类型的物体;在栅格地图上标注所述目标物体的映射区域得到目标栅格地图,所述映射区域用于指示所述目标物体在所述栅格地图所处区域,所述映射区域中包含n个栅格点,n为正整数;根据预设速度规则确定所述映射区域中m个栅格点分别对应的可用速度方向集合,所述预设速度规则与所述预设类型存在对应关系,m≤n,m为正整数;根据所述目标栅格地图、所述m个栅格点分别对应的可用速度方向集合,确定从起点到终点的运动路径。

采用上述方法,通过对栅格地图标注目标物体的映射区域可以丰富栅格地图的内容,通过确定映射区域中栅格点对应的可用速度方向集合可以实现经过特定区域具有特定速度方向,进一步地,根据目标栅格地图、m个栅格点分别对应的可用速度方向集合,确定从起点到终点的运动路径可以实现优化现有的路径规划方法,提高机器人翻越可翻越障碍地形的成功率,扩大机器人的使用范围。

在一种可能的设计中,所述运动路径经过所述映射区域,所述运动路径包括至少一个目标栅格点,所述目标栅格点为所述运动路径途径所述映射区域中的栅格点,所述目标栅格点的速度方向为所述目标栅格点对应的可用速度方向集合中的一个速度方向。

采用上述方法,在运动路径经过映射区域时,可以实现机器人经过特定区域具有特定速度方向,提高机器人翻越可翻越障碍地形的成功率,扩大机器人的使用范围。

在一种可能的设计中,在所述在栅格地图上标注所述目标物体的映射区域得到目标栅格地图之前,采集包含所述目标物体的目标图像;根据所述目标图像的参数和采集所述目标图像的摄像头的内参确定在机器人三维坐标系下所述目标物体的边缘坐标,所述目标物体的边缘坐标用于指示所述目标物体的轮廓;根据所述目标物体的边缘坐标确定在所述栅格地图上所述目标物体的映射区域。

采用上述方法,在通过其他设备确定检测到目标物体后,采集包含目标物体的目标图像,并根据目标图像的参数和采集目标图像的摄像头的内参简便地确定栅格地图上目标物体的映射区域。

在一种可能的设计中,所述检测到目标物体可以采用但不限于以下方法:在采集到的目标图像中检测到所述目标物体;

在所述在栅格地图上标注所述目标物体的映射区域得到目标栅格地图之前,根据所述目标图像的参数和采集所述目标图像的摄像头的内参确定在机器人三维坐标系下所述目标物体的边缘坐标,所述目标物体的边缘坐标用于指示所述目标物体的轮廓;根据所述目标物体的边缘坐标确定在所述栅格地图上所述目标物体的映射区域。

采用上述方法,在通过摄像头采集到的目标图像确定检测到目标物体后,根据目标图像的参数和采集目标图像的摄像头的内参简便地确定栅格地图上目标物体的映射区域。

在一种可能的设计中,所述根据预设速度规则确定所述映射区域中m个栅格点分别对应的可用速度方向集合可以采用但不限于以下方法:根据所述预设速度规则和所述目标物体的边缘坐标,确定所述映射区域中m个栅格点的可用速度方向集合。

采用上述方法,能够准确确定映射区域中m个栅格点分别对应的可用速度方向集合,方法简便容易实施。

在一种可能的设计中,所述目标物体的高度小于所述机器人可翻越高度的最大值。

因此可以保证机器人成功翻越目标物体,提高翻越的成功率。

在一种可能的设计中,根据所述目标栅格地图、所述m个栅格点分别对应的可用速度方向集合,确定从起点到终点的运动路径,可以采用但不限于以下方法:

根据所述起点、所述终点和所述映射区域三者之间的位置关系确定第i个栅格点对应的可用速度方向集合中一个速度方向作为所述第i个栅格点的速度方向,其中,所述第i个栅格点为所述m个栅格点中的任一栅格点;

根据所述第i个栅格点的速度方向计算所述第i个栅格点与所述起点之间的最短距离;

计算所述第i个栅格点与所述终点之间的最短距离;

计算在所述目标栅格地图中除所述映射区域外的区域中所述运动路径可能途径的栅格点与所述起点之间的最短距离,其中,所述运动路径可能途径的栅格点的速度方向指向所述运动路径可能途径的栅格点与所述起点之间的最短距离对应的从所述起点到所述运动路径可能途径的栅格点之间的路径中所述运动路径可能途径的栅格点的上点;

计算所述运动路径可能途径的栅格点与所述终点之间的最短距离;

根据所述m个栅格点中每个栅格点的速度方向、所述m个栅格点中每个栅格点与所述起点之间的最短距离和与所述终点之间的最短距离之和,以及所述运动路径可能途径的栅格点的速度方向,所述运动路径可能途径的栅格点与所述起点之间的最短距离和与所述终点之间的最短距离之和,确定所述运动路径,其中,针对第j个栅格点,选择速度方向指向所述第j个栅格点、且与所述起点之间的最短距离和与所述终点之间的最短距离之和最小的栅格点作为所述第j个栅格点的下点,其中,所述第j个栅格点为所述运动路径途径的除所述终点和所述终点的上点外的任一个栅格点。

因此,相较于现有技术中,仅以最短距离方法规划路径,不考虑通过特定区域采用的速度方向,造成机器人顺利通过该特定区域的成功率不高。采用上述方法规划路径考虑到通过特定区域需采用特定速度方向,提升了机器人顺利通过该特定区域的成功率,且不需要增加硬件成本,扩大了机器人的使用范围。

在一种可能的设计中,所述运动路径满足所述起点与所述终点之间的距离最短。

第二方面,一种运动路径规划装置,该装置包括:

检测单元,用于检测到目标物体,所述目标物体为预设类型的物体;

处理单元,用于在栅格地图上标注所述目标物体的映射区域得到目标栅格地图,所述映射区域用于指示所述目标物体在所述栅格地图所处区域,所述映射区域中包含n个栅格点,n为正整数;

根据预设速度规则确定所述映射区域中m个栅格点分别对应的可用速度方向集合,所述预设速度规则与所述预设类型存在对应关系,m≤n,m为正整数;

根据所述目标栅格地图、所述m个栅格点分别对应的可用速度方向集合,确定从起点到终点的运动路径,其中,所述运动路径经过所述映射区域,所述运动路径包括至少一个目标栅格点,所述目标栅格点为所述运动路径途径所述映射区域中的栅格点,所述目标栅格点的速度方向为所述目标栅格点对应的可用速度方向集合中的一个速度方向。

在一种可能的设计中,所述检测单元,具体用于:

在采集到的目标图像中检测到所述目标物体;

所述处理单元,还用于:在所述在栅格地图上标注所述目标物体的映射区域得到目标栅格地图之前,根据所述目标图像的参数和采集所述目标图像的摄像头的内参确定在机器人三维坐标系下所述目标物体的边缘坐标,所述目标物体的边缘坐标用于指示所述目标物体的轮廓;根据所述目标物体的边缘坐标确定在所述栅格地图上所述目标物体的映射区域。

在一种可能的设计中,所述处理单元,具体用于:

根据所述预设速度规则和所述目标物体的边缘坐标,确定所述映射区域中m个栅格点的可用速度方向集合。

在一种可能的设计中,所述目标物体的高度小于所述机器人可翻越高度的最大值。

在一种可能的设计中,所述处理单元,具体用于:

根据所述起点、所述终点和所述映射区域三者之间的位置关系确定第i个栅格点对应的可用速度方向集合中一个速度方向作为所述第i个栅格点的速度方向,其中,所述第i个栅格点为所述m个栅格点中的任一栅格点;

根据所述第i个栅格点的速度方向计算所述第i个栅格点与所述起点之间的最短距离;

计算所述第i个栅格点与所述终点之间的最短距离;

计算在所述目标栅格地图中除所述映射区域外的区域中所述运动路径可能途径的栅格点与所述起点之间的最短距离,其中,所述运动路径可能途径的栅格点的速度方向指向所述运动路径可能途径的栅格点与所述起点之间的最短距离对应的从所述起点到所述运动路径可能途径的栅格点之间的路径中所述运动路径可能途径的栅格点的上点;

计算所述运动路径可能途径的栅格点与所述终点之间的最短距离;

根据所述m个栅格点中每个栅格点的速度方向、所述m个栅格点中每个栅格点与所述起点之间的最短距离和与所述终点之间的最短距离之和,以及所述运动路径可能途径的栅格点的速度方向,所述运动路径可能途径的栅格点与所述起点之间的最短距离和与所述终点之间的最短距离之和,确定所述运动路径,其中,针对第j个栅格点,选择速度方向指向所述第j个栅格点、且与所述起点之间的最短距离和与所述终点之间的最短距离之和最小的栅格点作为所述第j个栅格点的下点,其中,所述第j个栅格点为所述运动路径途径的除所述终点和所述终点的上点外的任一个栅格点。

在一种可能的设计中,所述运动路径满足所述起点与所述终点之间的距离最短。

第三方面,本申请提供了一种运动路径规划设备,该设备包括:处理器和存储器。其中,存储器用于存储程序,处理器调用存储器中存储的程序,执行如第一方面中任一种可能的设计的方法。

第四方面,本申请提供了一种计算机可读介质,所述计算机可读介质存储有程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述第一方面中任一种可能的设计的方法。

第五方面,本申请提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述第一方面中任一种可能的设计的方法。

第六方面,本申请提供了一种计算机程序,当所述计算机程序在计算机上运行时,使得计算机执行上述第一方面中任一种可能的设计的方法。

第七方面,本申请提供一种机器人,包括移动底盘、摄像头、传感器,处理器,存储器。

其中,移动底盘用于为机器人提供移动功能;摄像头用于为机器人采集周围物体的图像;传感器用于为机器人检测周围物体;存储器用于存储程序,处理器调用存储器中存储的程序,执行如第一方面中任一种可能的设计的方法。

附图说明

图1为本申请背景技术中采用最短距离方法规划的机器人运动路径示意图;

图2为本申请实施例中机器人的结构示意图;

图3为本申请实施例中通过门槛c的速度方向垂直于门槛c的边缘所在的竖直平面时的机器人的运动路径示意图;

图4为本申请实施例中运动路径规划方法的概述流程图;

图5为本申请实施例中运动路径示意图;

图6(a)和图6(b)为本申请实施例中映射区域中各个栅格点分别对应的可用速度方向集合的示意图;

图7(a)和图7(b)为本申请实施例中根据起点、终点和映射区域三者之间的位置关系判断运动路径是否经过映射区域的示意图;

图8为本申请实施例中映射区域中每个栅格点的速度方向示意图;

图9为本申请实施例中采用现有最短距离方法规划运动路径的示意图;

图10为本申请实施例中采用现有最短距离方法规划运动路径得到的运动路径的示意图;

图11为本申请实施例中采用新的最短距离方法规划运动路径的示意图;

图12为本申请实施例中采用新的最短距离方法规划运动路径得到的运动路径的示意图;

图13为本申请实施例中机器人的产品结构示意图;

图14为本申请实施例中运动路径规划装置的结构示意图;

图15为本申请实施例中运动路径规划设备的结构示意图。

具体实施方式

下面结合附图,对本申请的实施例进行描述。

如图2所示为本申请实施例中机器人的结构示意图,机器人200包括移动底盘201、摄像头202和传感器203,处理器204,存储器205。

其中,移动底盘201用于为机器人提供移动功能,例如,移动底盘包括车轮,或者,移动底盘包括履带和带动履带的诱导轮。

摄像头202用于为机器人采集周围物体的图像,本申请实施例中的摄像头为能够提供物体距离信息的深度摄像头或双目摄像头。

传感器203用于为机器人检测周围物体,为机器人提供定位避障的功能,本申请实施例中传感器包括但不限于激光雷达,超声波传感器等。

存储器205用于存储程序,处理器204调用存储器205中存储的程序,实现为机器人规划运动路径。

本申请实施例中机器人可以运行在室内环境运行,也可在室外环境中运行。

若机器人能够在通过如图1所示的门槛c时保证速度方向垂直于门槛c的边缘所在的竖直平面,则可能增大机器人顺利翻阅门槛的可能性,此时的机器人运动路径如图3所示。但是,现有的最短距离方法不能规划出采用垂直于门槛c的边界所在的竖直平面的速度方向通过门槛c的路径。

应理解的是,本申请实施例提供的方法不限于应用于机器人通过可翻越障碍地形的场景,还可应用于其他经过特定区域有特定速度方向要求的场景。

参阅图4所示,本申请实施例提供一种运动路径规划方法,用于优化现有的路径规划方法,实现机器人经过特定区域具有特定速度方向,提高机器人翻越可翻越障碍地形的成功率,扩大机器人的使用范围。

在采用如图4所示的方法进行路径规划之前,需要首先预设以下内容:

第一,栅格地图。

该栅格地图为针对预设环境创建的二维地图,该预设环境为机器人运行的环境,例如某室内环境。具体的,该栅格地图可以由第三方软件或开源软件扫描获取,或者使用激光雷达或深度摄像头采集的数据,利用建图或即时定位与地图构建(simultaneouslocalizationandmapping,slam)算法来构建。

此外,栅格地图初始化为可以对其进行标注的地图对象。

第二,预设类型的物体的模型。

一般地,用户可以根据需要设置多种预设类型的物体的模型,每个预设类型的物体的模型用于实现目标物体的识别和目标物体的边界分割,每个预设类型的物体的模型可以通过针对该类型的物体进行模型训练获得。例如,通过物体分割(objectsegmentation)算法对大量包括门槛的图片进行机器学习获得门槛的模型。须知,预设类型的物体的模型还可以通过其他现有方法获得,此处不再赘述。

在一种可能的设计中,每个预设类型的物体的模型是针对一类可翻越障碍物创建的。

第三,预设速度规则。

预设速度规则与预设类型存在对应关系,预设速度规则可以用于限定目标物体的映射区域内各个栅格点的速度方向,以及速度大小等。

例如,预设类型的物体为门槛,该预设类型的物体对应的预设速度规则为:进入门槛边缘的速度方向与门槛边缘所在的竖直平面垂直,并在门槛区域内保持速度方向不变。

应理解的是,上述三项内容可以保存在机器人内部的存储器中或者机器人能够访问的网络服务器中。

参阅图4所示,本申请实施例提供一种运动路径规划方法,该方法包括:

步骤400:机器人检测到目标物体。

其中,目标物体为预设类型的物体。

具体的,机器人检测到目标物体可以采用但不限于以下方式:

方式1:摄像头采集视野范围内的图像,由处理器根据预设类型的物体的模型识别图像中包含目标物体,其中,包含目标物体的图像为目标图像。

方式2:其他设备检测到目标物体,还可以进一步通过摄像头采集包含目标物体的目标图像。

应理解的是,上述两种方式仅为举例,本申请实施例不对检测到目标物体的方式作限定。

步骤410:机器人在栅格地图上标注目标物体的映射区域得到目标栅格地图。

在机器人执行步骤410之前,机器人中的处理器需要首先确定目标物体的映射区域,映射区域用于指示目标物体在栅格地图所处区域,映射区域中包含n个栅格点,n为正整数。

具体可以采用但不限于以下方法:处理器可根据预设类型的物体的模型识别出的目标物体并对目标物体的边界进行分割,获得机器人三维坐标系下目标物体的边缘坐标。进一步地,处理器根据目标物体的边缘坐标,结合栅格地图,可以确定在栅格地图上目标物体的映射区域。

例如,机器人在检测到目标物体后,处理器根据目标图像确定目标物体边缘的彩色坐标和深度坐标,并结合目标图像参数和采集目标图像的摄像头的内参换算出在机器人三维坐标系下目标物体的边缘坐标。这里的目标图像参数为分辨率,采集目标图像的摄像头的内参为焦点、横向焦距和纵向焦距。

进一步地,处理器依据当前摄像头的俯仰角和转动角,以及机器人位姿,确定在栅格地图上目标物体的映射区域,将目标物体的映射区域标注到栅格地图上,得到目标栅格地图。

下面举例详述映射标注过程:

已知机器人在栅格地图中的位置,已知机器人上摄像头的转动角度为a度,俯仰角度为b度,目标物体边缘某一个点的彩色(red、green、blue,rgb)图坐标为(m,n),rgb图坐标(m,n)处对应的深度坐标为h,设rgb分辨率为wxh,摄像头的焦距为c。

映射标注步骤为:

步骤1、从图像位置(m,n,h)转换到摄像头三维坐标系(x1,y1,z1)。

步骤2、从摄像头三维坐标系(x1,y1,z1)转移到机器人三维坐标系(x,y,z)。

步骤3、重复上述步骤1和步骤2求出目标物体边缘各点在机器人三维坐标系下的坐标。

步骤4、根据摄像头的转动角度为a度,俯仰角度为b度、机器人当前在栅格地图上的位姿、目标物体边缘各点在机器人三维坐标系下的坐标确定在栅格地图上目标物体的映射区域,并在栅格地图上标注目标物体的映射区域得到目标栅格地图。

须知,以上坐标变换方法为本领域的通用方法,此处不再赘述。

步骤420:机器人根据预设速度规则确定映射区域中m个栅格点分别对应的可用速度方向集合,m≤n,m为正整数。

在一种可能的设计中,栅格地图中的每一个栅格点对应一个属性列表,该属性列表用于记录该栅格点的可用速度方向集合。处理器根据预设速度规则修改映射区域内的m个栅格点分别对应的属性列表,确定m个栅格点分别对应的可用速度方向集合。

正常栅格点对应的属性列表中有8个速度方向可用,即向前、后、左、右,左前,左后,右前,右后8种速度方向。在一个运动路径中,每个栅格点的速度方向指向该栅格点与起点之间的最短距离对应的从起点到该栅格点的路径中该栅格点的上点。如图5所示的运动路径途径的栅格点包括起点、a点、b点和终点。其中,a点的速度方向指向起点(即运动路径中起点的下点为a点,a点的上点为起点),b点的速度方向指向a点,终点的速度方向指向b点。

应理解的是,本申请实施例中所指每个栅格点的速度方向不是机器人途径该栅格点的速度方向,而是该栅格点的速度方向的反方向。

例如,预设类型的物体为门槛,该预设类型的物体对应的预设速度规则为:进入门槛边缘的速度方向与门槛边缘所在的竖直平面垂直,并在门槛区域内上保持速度方向不变。因此,处理器根据预设速度规则修改映射区域内的各个栅格点对应的属性列表,此时,映射区域内每个栅格点均只有2个速度方向可用,且映射区域内各个栅格点的速度方向相同。

如图6(a)和图6(b)所示,包括粗线条栅格的区域为门槛的映射区域。在该映射区域中各个栅格点分别对应的可用速度方向集合为如图6(a)所示箭头方向(向下)和如图6(b)所示箭头方向(向上)。图6(a)和图6(b)中的除门槛的映射区域外的其他栅格点的可用速度方向为8个。

此外,如图6(a)所示,门槛的映射区域包括6个栅格,为保证机器人能够顺利翻越门槛,预设速度规则还可配置两侧栅格点无可用速度方向,中间两个栅格点的可用速度方向为2个,即栅格点1、栅格点3、栅格点4、栅格点6无可用速度方向,栅格点2和栅格点5的可用速度方向为2个。图6(a)中的除门槛的映射区域外的其他栅格点的可用速度方向为8个。

在一种可能的设计中,栅格地图中的每一个栅格点对应一个属性函数。处理器根据预设速度规则,修改映射区域内各个栅格点分别对应的属性函数,修改后的属性函数能够确定映射区域内各个栅格点的速度方向,其输入可以为映射区域内某个栅格点对应的目标物体的边缘坐标或者其他参数值,返回值为该栅格点的可用速度方向。

例如,正常栅格将可能的8个速度方向中的任一个作为自变量代入,得到的返回值都为真。处理器根据预设速度规则,修改映射区域内各个栅格点分别对应的属性函数,修改后的属性函数,只有特定方向作为自变量代入,得到的返回值才是真。

此外,还可以采用其他方法确定映射区域中栅格点对应的可用速度方向集合,例如,在与机器人产品配套的手机应用中开发一个图形化界面让使用者比较简单地输入可用速度方向集合,或者为高级使用者开放专业的编程软件界面,或者开发可在个人计算机(personalcomputer,pc)上使用的全球广域网(worldwideweb)界面让使用者输入简单速度规则等。

因此,通过上述方法,处理器能够准确确定映射区域中m个栅格点分别对应的可用速度方向集合,方法简便容易实施。

步骤430:机器人根据目标栅格地图、m个栅格点分别对应的可用速度方向集合,确定从起点到终点的运动路径。

在一种可能的设计中,运动路径经过映射区域,运动路径包括至少一个目标栅格点,目标栅格点为运动路径途径映射区域中的栅格点,目标栅格点的速度方向为目标栅格点对应的可用速度方向集合中的一个速度方向。

应理解的是,处理器需根据起点、终点和映射区域三者之间的位置关系判断是否运动路径经过映射区域。

例如,图7(a)所示,包括粗线条栅格的区域为映射区域,由起点a在目标栅格地图上的位置、终点b在目标栅格地图上的位置可知,从起点a到达终点b的运动路径不经过映射区域,可采用现有最短距离的方法规划运动路径,具体运动路径规划方法本申请实施例对此不作限定。

例如,如图7(b)所示,包括粗线条栅格的区域为映射区域,由起点a在目标栅格地图上的位置、终点b在目标栅格地图上的位置可知,从起点a到达终点b的运动路径经过映射区域,可采用本申请实施例提供的下述方法规划运动路径。

此外,在处理器进行运动路径规划之前,处理器还需确定目标物体的高度小于机器人可翻越高度的最大值。

具体的,处理器确定从起点到终点的运动路径,可以采用本申请实施例提供的新的最短距离方法,该方法包括:

首先,处理器根据起点、终点和映射区域三者之间的位置关系确定映射区域中第i个栅格点对应的可用速度方向集合中一个速度方向作为第i个栅格点的速度方向,其中,第i个栅格点为m个栅格点中的任一栅格点;

如图8所示,从起点到达终点的运动路径经过映射区域,映射区域中每个栅格点的速度方向为向上。

然后,处理器根据第i个栅格点的速度方向计算第i个栅格点与起点之间的最短距离,计算第i个栅格点与终点之间的最短距离,得到m个栅格点中每个栅格点的速度方向、每个栅格点与起点之间的最短距离和每个栅格点与终点之间的最短距离。

例如,栅格点与起点之间的最短距离用h值表示,栅格点与终点之间的最短距离用g值表示,栅格点与起点之间的最短距离和该栅格点与终点之间的最短距离之和用f值表示,如图9-图12所示。

同样,从起点到终点的运动路径除了经过映射区域,还经过目标栅格地图上的其他区域。因此,处理器还需计算在目标栅格地图中除映射区域外的区域中运动路径可能途径的栅格点与起点之间的最短距离,以及计算运动路径可能途径的栅格点与终点之间的最短距离,并根据运动路径可能途径的栅格点与起点之间的距离确定运动路径可能途径的栅格点的速度方向、其中,运动路径可能途径的栅格点的速度方向指向运动路径可能途径的栅格点与起点之间的最短距离对应的从起点到运动路径可能途径的栅格点之间的路径中运动路径可能途径的栅格点的上点,如图11-图12所示。

进一步地,处理器根据m个栅格点中每个栅格点的速度方向、映射区域中每个栅格点与起点之间的最短距离和与终点之间的最短距离之和,以及运动路径可能途径的栅格点的速度方向,运动路径可能途径的栅格点与起点之间的最短距离和与终点之间的最短距离,确定运动路径,其中,针对第j个栅格点,选择速度方向指向第j个栅格点、且与起点之间的最短距离和与终点之间的最短距离之和最小的栅格点作为第j个栅格点的下点,其中,第j个栅格点为运动路径途径的除终点和终点的上点外的任一个栅格点。

具体的,从起点开始,选择与起点相邻的8个栅格点中速度方向指向起点、且与起点之间的最短距离和与终点之间的最短距离之和最小的栅格点作为起点的下点,称为第2点。

应理解的是,与起点相邻的8个栅格点分别在起点的前、后、左、右,左前,左后,右前,右后8个方向的栅格点。

选择与第2点相邻的7个栅格点中速度方向指向第2点且与起点之间的最短距离和与终点之间的最短距离之和最小的栅格点作为第2点的下点,称为第3点。

应理解的是,与第2点相邻的栅格点包括7个,是因为起点与第2点相邻,需要排除起点。

选择与第3点相邻的7个栅格点中速度方向指向第3点且与起点之间的最短距离和与终点之间的最短距离之和最小的栅格点作为第3点的下点,称为第4点。

应理解的是,与第3点相邻的栅格点包括7个,是因为第3点与第2点相邻,需要排除第2点。

重复上述过程,直到确定出终点的上点,终点的上点只能选择终点作为下点,因此得到从起点到终点的运动路径。

因此,相较于现有技术中,仅以最短距离方法规划路径,不考虑通过特定区域采用的速度方向,造成机器人顺利通过该特定区域的成功率不高。采用本申请实施例提供的新的最短距离方法规划路径考虑到通过特定区域需采用特定速度方向,提升了机器人顺利通过该特定区域的成功率,且不需要增加硬件成本,扩大了机器人的使用范围。

在一种可能的设计中,运动路径满足路径起点与路径终点之间的距离最短。

应理解的是,采用上述新的最短距离方法规划得到路径不是事实上的从起点到终点之间的最短距离对应的路径,而是考虑到通过特定区域采用特定速度方向确定的从起点到终点之间的最短距离对应的路径。

此外,应理解的是,通过上述方法获得的运动路径可以为针对栅格地图确定的全局规划路径,当机器人内部的传感器检测到障碍物时,例如,有物体移动到机器人移动路径上,阻挡了机器人通过,处理器可以及时修改该全局规划路径以避开障碍物,获得局部规划路径,并进一步将局部规划路径分解为各个速度控制指令,发送至移动底盘执行。

下面结合具体实施例说明本申请实施例提供的运动规划方法。

首先,用户将包括房间a和房间b的栅格地图、预设类型的物体的模型针对的一类可翻越障碍物为门槛和预设速度规则存储至机器人内部的存储器中。

其中,预设速度规则为:进入门槛边缘的速度方向与门槛边缘所在的竖直平面垂直,并在门槛区域内上保持速度方向不变。

机器人内部的摄像头采集视野内的图像,机器人内部的处理器根据预设类型的物体的模型识别出图像中包括门槛并分割出门槛的边界,处理器确定该门槛的边缘坐标和该门槛在栅格地图上该门槛的映射区域。处理器调用回调函数,输入门槛的边缘坐标,该回调函数根据预设速度规则编写,处理器根据回调函数输出的结果确定该门槛的映射区域中每个栅格点对应的可用速度方向集合。

如图9-图12所示,填充为灰色的栅格为障碍物,包括粗线条栅格的区域为识别到的门槛的映射区域。其中黑色(或白色)圆的尾巴表示栅格点的速度方向。填充为白色圆表示规划的最优运动路径。

设每个栅格边长为10,对角线长为14,每个栅格中左下角的数字为其距起点的最短距离(途经各栅格点距离最小值)并标示为g值,每个栅格中右下角的数字为其距终点的最短距离(此距离不考虑障碍物)并标示为h值,每个栅格中左上角数字设为f值,其中f=g+h。以图8中左上角的栅格为例,g=14,h=110,f=124。

采用现有最短距离方法规划运动路径,包括以下几步:

第1步是遍历求出每个可能途径栅格点的f值,g值,h值。

以图9为例,首先将每个可能途径的栅格点的f值,g值,h值求出。每个可能途径的栅格点的g值确定下来,则该栅格点的速度方向也同时确定下来。

第2步是从起点开始,选择此栅格点周围8个栅格点中未走过的、指向该栅格点的、且f值最小的栅格点作为路径下一点,以此类推直到到达终点。

如图10所示,在起点位置,环顾周围的8个相邻栅格点,速度方向均指向起点,最小f值为84(对应栅格点a),则起点的下点为栅格点a。在栅格点a环顾周围的未走过的,且速度方向指向栅格点a的栅格点中,确定最小f值(为78)的栅格点为栅格点b,则栅格点a的下点为栅格点b。在栅格点b环顾周围未走过的7个栅格点,确定最小f值为84,且速度方向指向栅格点b的栅格点为栅格点c,则栅格点b的下点为栅格点c。在c栅格环顾周围为走过的7个栅格点,确定最小f值为84,综合考虑上点是c的其他栅格,若选择下方的栅格则发现此栅格不是任何栅格的上点,导致无法到达终点,所以只能选择f值为98的栅格点d作为栅格点c的下点。在栅格点d,只能选择栅格点e作为栅格点d的下点。在栅格点e只能选择栅格点f作为栅格点e的下点,栅格点f的下点为终点。

结合本申请实例提供的方法,可以对上述方法进行修改,新的最短距离方法包括以下几步:

第1步是遍历求出每个可能途径栅格的f值,g值,h值。

需要注意的是,在计算映射区域中栅格点距离起点的最短距离g值时,需要按照映射区域中每个栅格点的速度方向计算该栅格点距离起点的最短距离g值,如图11所示,门槛的映射区域中的栅格点在计算g值时,只能按照确定的速度方向计算g值。

因此,现有方法中求g值步骤中由原来的8个可能速度方向改为只能选择一个速度方向。

映射区域外的栅格点计算g值与现有方法一致。

第2步:从起点开始,选择此栅格点周围8个栅格点中未走过的、指向该栅格点的、且f值最小的栅格点作为路径下一点,以此类推直到到达终点。

如图12所示,机器人一开始在起点位置,环顾周围的8个相邻栅格点,速度方向均指向起点,f值最小为84(对应栅格点a),则起点的下点为栅格点a。在栅格点a环顾周围的未走过的7个栅格点,最小的f值为84的栅格点有3个,只有栅格点b和栅格点b’的速度方向指向栅格点a。当选择栅格点a正下方的栅格点b’作为栅格点a的下点时,栅格点b’是栅格点c’的上点,栅格点c’是栅格点d’的上点,但是栅格点d’没有下点。因此,栅格点a的下点为栅格点b。在栅格点b环顾周围未走过的7个栅格点,最小f值为84,且f值为84的栅格点中只有栅格点c的速度方向指向栅格点b,则栅格点b的下点为栅格点c。在c栅格环顾周围为走过的7个栅格点,最小f值为84,且f值为84的栅格点中只有栅格点d的速度方向指向栅格点c,则栅格点c的下点为栅格点d。在栅格点d环顾周围未走过的7个栅格点,速度方向指向栅格点d的栅格点包括两个,但是最小f值为84的栅格点不是任何栅格点的上点,因此,选择f值为98的栅格点e作为栅格点d的下点。在栅格点e,只能选择栅格点f作为栅格点e的下点。在栅格点f只能选择栅格点g作为栅格点f的下点,栅格点g的下点为终点。

采用上述方法,能够获得在满足预设速度规则的条件下从起点到终点的最短路径,机器人采用此路径从起点到达终点,能够提高机器人翻越门槛的成功率。

应理解的是,本申请实施例中提供的具体规划方法仅为举例,不作为本申请的限定,还可以由其他算法,例如先规划从起点到映射区域中某个栅格点的路径,再规划从映射区域中某个栅格点到终点的路径,然后再合并到一起,此处不再赘述。

如图13所示,为本申请实施例提供的机器人的产品结构示意图。

其中,图13左侧为用户提供的预设内容,包括预设类型的物体的模型、栅格地图、预设速度规则,可以存储在机器人内部的存储器中。

图13右侧为机器人的硬件构成,可参阅图2所示。此处,传感器包括定位传感器和避障传感器两种类型。

图13中部为机器人的软件部分,可以由处理器执行,具体包括:

物体识别分割模块:获取摄像头采集的图像,根据预设类型的物体的模型识别图像中的目标物体,并从图像中分割出物体边界。

映射区域确定模块:确定在栅格地图上目标物体的映射区域。进一步地,在栅格地图上标注目标物体的映射区域得到目标栅格地图。

速度方向确定模块:根据预设速度规则,确定映射区域中各个栅格点的可用速度方向集合。

全局路径规划模块:根据目标栅格地图、m个栅格点分别对应的可用速度方向集合,确定从起点到终点的运动路径。

定位模块:根据定位传感器采集的数据确定机器人在栅格地图上的实时位置。

局部路径规划模块:当避障传感器检测到障碍物时,可及时修改全局路径规划模块确定的运动路径,以避开障碍物,获得修正后的运动路径。

速度分解模块:根据修正后的运动路径对每个栅格点进行速度分解,获得一系列速度控制指令发送至移动底盘。

应理解的是,上述各个模块的划分仅为举例,不作为本申请实施例的限定。

基于以上实施例,如图14所示,本申请实施例提供一种运动路径规划装置,该装置1400包括:

检测单元1410,用于检测到目标物体,所述目标物体为预设类型的物体;

处理单元1420,用于在栅格地图上标注所述目标物体的映射区域得到目标栅格地图,所述映射区域用于指示所述目标物体在所述栅格地图所处区域,所述映射区域中包含n个栅格点,n为正整数;

根据预设速度规则确定所述映射区域中m个栅格点分别对应的可用速度方向集合,所述预设速度规则与所述预设类型存在对应关系,m≤n,m为正整数;

根据所述目标栅格地图、所述m个栅格点分别对应的可用速度方向集合,确定从起点到终点的运动路径。

在一种可能的设计中,所述运动路径经过所述映射区域,所述运动路径包括至少一个目标栅格点,所述目标栅格点为所述运动路径途径所述映射区域中的栅格点,所述目标栅格点的速度方向为所述目标栅格点对应的可用速度方向集合中的一个速度方向。

在一种可能的设计中,所述检测单元1410,具体用于:

在采集到的目标图像中检测到所述目标物体;

所述处理单元1420,还用于:在所述在栅格地图上标注所述目标物体的映射区域得到目标栅格地图之前,根据所述目标图像的参数和采集所述目标图像的摄像头的内参确定在机器人三维坐标系下所述目标物体的边缘坐标,所述目标物体的边缘坐标用于指示所述目标物体的轮廓;根据所述目标物体的边缘坐标确定在所述栅格地图上所述目标物体的映射区域。

在一种可能的设计中,所述处理单元1420,具体用于:

根据所述预设速度规则和所述目标物体的边缘坐标,确定所述映射区域中m个栅格点的可用速度方向集合。

在一种可能的设计中,所述目标物体的高度小于所述机器人可翻越高度的最大值。

在一种可能的设计中,所述运动路径满足所述起点与所述终点之间的距离最短。

在一种可能的设计中,所述处理单元1420,具体用于:

根据所述起点、所述终点和所述映射区域三者之间的位置关系确定第i个栅格点对应的可用速度方向集合中一个速度方向作为所述第i个栅格点的速度方向,其中,所述第i个栅格点为所述m个栅格点中的任一栅格点;

根据所述第i个栅格点的速度方向计算所述第i个栅格点与所述起点之间的最短距离;

计算所述第i个栅格点与所述终点之间的最短距离;

计算在所述目标栅格地图中除所述映射区域外的区域中所述运动路径可能途径的栅格点与所述起点之间的最短距离,其中,所述运动路径可能途径的栅格点的速度方向指向所述运动路径可能途径的栅格点与所述起点之间的最短距离对应的从所述起点到所述运动路径可能途径的栅格点之间的路径中所述运动路径可能途径的栅格点的上点;

计算所述运动路径可能途径的栅格点与所述终点之间的最短距离;

根据所述m个栅格点中每个栅格点的速度方向、所述m个栅格点中每个栅格点与所述起点之间的最短距离和与所述终点之间的最短距离之和,以及所述运动路径可能途径的栅格点的速度方向,所述运动路径可能途径的栅格点与所述起点之间的最短距离和与所述终点之间的最短距离之和,确定所述运动路径,其中,针对第j个栅格点,选择速度方向指向所述第j个栅格点、且与所述起点之间的最短距离和与所述终点之间的最短距离之和最小的栅格点作为所述第j个栅格点的下点,其中,所述第j个栅格点为所述运动路径途径的除所述终点和所述终点的上点外的任一个栅格点。

基于以上实施例,本申请实施例提供一种运动路径规划设备,该设备可以为如图2所示机器人内的一个组成模块,也可作为一个单独的设备或作为其他设备中的组成模块,本申请对此不作限定。

如图15所示,该设备1500包括:处理器1501和存储器1502。

存储器1502用于存储程序;

处理器1501调用存储器1501中存储的程序,执行检测到目标物体,所述目标物体为预设类型的物体;在栅格地图上标注所述目标物体的映射区域得到目标栅格地图,所述映射区域用于指示所述目标物体在所述栅格地图所处区域,所述映射区域中包含n个栅格点,n为正整数;根据预设速度规则确定所述映射区域中m个栅格点分别对应的可用速度方向集合,所述预设速度规则与所述预设类型存在对应关系,m≤n,m为正整数;根据所述目标栅格地图、所述m个栅格点分别对应的可用速度方向集合,确定从起点到终点的运动路径。

处理器1501用于实现图14中任一处理单元1420所执行的动作,以实现图4所示实施例提供的机器人的动作。需要说明的是,实际应用中运动路径规划设备可以包括一个或者多个处理器,该运动路径规划设备1500的结构并不构成对本申请实施例的限定。

处理器1501可以是中央处理器(centralprocessingunit,cpu),网络处理器(networkprocessor,np),硬件芯片或者其任意组合。上述硬件芯片可以是专用集成电路(application-specificintegratedcircuit,asic),可编程逻辑器件(programmablelogicdevice,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complexprogrammablelogicdevice,cpld),现场可编程逻辑门阵列(field-programmablegatearray,fpga),通用阵列逻辑(genericarraylogic,gal)或其任意组合。

存储器1502可以包括易失性存储器(volatilememory),例如随机存取存储器(randomaccessmemory,ram);存储器1502也可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-onlymemory,rom),快闪存储器(flashmemory),硬盘(harddiskdrive,hdd)或固态硬盘(solid-statedrive,ssd);存储器1502还可以包括上述种类的存储器的组合。

在本申请实施例中还提供了一种计算机存储介质,可以用于存储图4所示实施例中所述机器人所用的计算机软件指令,该存储介质包括但不限于快闪存储器、硬盘、固态硬盘。

综上所述,采用本申请实施例提供的方法,通过对栅格地图标注目标物体的映射区域可以丰富栅格地图的内容,通过确定映射区域中栅格点对应的可用速度方向集合可以实现经过特定区域具有特定速度方向,进一步地,根据目标栅格地图、m个栅格点分别对应的可用速度方向集合,确定从起点到终点的运动路径可以实现优化现有的路径规划方法,提高机器人翻越可翻越障碍地形的成功率,扩大机器人的使用范围。

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

本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

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