机器人导航路径宽度获取系统、方法、机器人及存储介质与流程

文档序号:27274227发布日期:2021-11-06 03:04阅读:104来源:国知局
机器人导航路径宽度获取系统、方法、机器人及存储介质与流程

1.本发明涉及机器人导航技术领域,尤其涉及一种机器人导航路径宽度获取系统、方法、机器人及存储介质。


背景技术:

2.随着科学技术的发展,越来越多领域中采用机器人代替人工的方式进行工作,提高了工作效率以及便捷性。在机器人运行过程中,机器人所处道路的宽度信息对机器人的运行策略尤为重要。在不同的道路宽度上,机器人的运行速度、避障策略以及路径规划策略等可能不同。
3.现有技术中,一般通过人为方式手动设置机器人的运行道路宽度,但是在机器人的实际运行过程中,可能会随时加入或减少障碍物或者存在如行人等动态障碍物等,因此机器人运行过程中的道路宽度是不断变化的,若通过人为方式手动设置机器人的运行道路宽度,无法真实反应实际的道路宽度变化,会导致机器人与障碍物发生碰撞的概率增大,机器人运行的安全性较低。


技术实现要素:

4.本发明实施例提供一种机器人导航路径宽度获取系统、方法、机器人及存储介质,以解决机器人运行时不能实时在线提取道路宽度的问题。
5.一种机器人导航路径宽度获取系统,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序计算机可读指令,所述处理器执行所述计算机可读指令时实现如下步骤:获取机器人在导航路径中的实时位置坐标,所述导航路径包含至少一条拓扑路段;将所述实时位置坐标映射到场景地图中;所述场景地图上标注有初始障碍物区域;确定所述实时位置坐标所在的所述拓扑路段为实时拓扑路段,并对所述实时拓扑路段分别向左右两侧进行平行方向的平移扩展得到最大像素拓展区域;所述最大像素拓展区域与所述初始障碍物区域不重叠;根据所述最大像素拓展区域采用预设宽度映射方法计算出所述实时拓扑路段所属的所述导航路径的宽度。
6.一种机器人,包括上述机器人导航路径宽度获取系统。
7.一种机器人导航路径宽度获取方法,包括:获取机器人在导航路径中的实时位置坐标;所述导航路径包含至少一条拓扑路段;将所述实时位置坐标映射到场景地图中;所述场景地图上标注有初始障碍物区域;
确定所述实时位置坐标所在的所述拓扑路段为实时拓扑路段,并对所述实时拓扑路段分别向左右两侧进行平行方向的平移扩展得到最大像素拓展区域;所述最大像素拓展区域与所述初始障碍物区域不重叠;根据所述最大像素拓展区域采用预设宽度映射方法计算出所述实时拓扑路段所属的所述导航路径的宽度。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述机器人导航路径宽度获取方法。
9.上述机器人导航路径宽度获取系统、方法、机器人及存储介质,该系统通过边界生长的方法确定出机器人在导航路径上的实时拓扑路段中与初始障碍物区域不重叠的最大像素拓展区域,从而根据最大像素拓展区域确定机器人行驶的导航路径的宽度,进而实时为机器人提供可供行驶的行驶宽度范围,相比于现有技术中通过人为手动设置的方式,本发明提出的方法的效率更高且具有更高的准确率,进而提高了机器人运行过程中的安全性。
附图说明
10.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
11.图1是本发明一实施例中机器人导航路径宽度获取系统的一示意图;图2是本发明一实施例中机器人导航路径宽度获取方法的一流程图;图3是本发明一实施例中导航路径边界拓展的一示意图。
具体实施方式
12.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
13.在一个实施例中,提供了一种机器人导航路径宽度获取系统,该机器人导航路径宽度获取系统的内部结构图可以如图1所示。该机器人导航路径宽度获取系统包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该机器人导航路径宽度获取系统的处理器用于提供计算和控制能力。该机器人导航路径宽度获取系统的存储器包括可读存储介质、内存储器。该可读存储介质存储有操作系统、计算机可读指令和数据库。该内存储器为可读存储介质中的操作系统和计算机可读指令的运行提供环境。该机器人导航路径宽度获取系统的数据库用于存储与其对应的机器人导航路径宽度获取方法所使用到的数据。该机器人导航路径宽度获取系统的网络接口用于与外部的终端通过网络连接通信。该计算机可读指令被处理器执行时以实现一种机器人导航路径宽度获取方法。本实施例所提供的可读存储介质包括非易失性可读存储介质和易失性可读存储介质。进一步地,机器人导航路径宽度获取系统还可以包括输入装置以及显示屏,该输入装置用于接收其它设备发送的
信号、文本等;该显示屏可以用于显示机器人的导航路径的宽度以及行驶方向等。
14.在一实施例中,提供一种机器人导航路径宽度获取系统,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序计算机可读指令,如图2所示,所述处理器执行所述计算机可读指令时实现如下步骤:s10:获取机器人在导航路径中的实时位置坐标,所述导航路径包含至少一条拓扑路段。
15.可以理解地,导航路径可以由工作人员(如机器人送餐场景中的餐厅负责人)预先设定的机器人行驶线路,当机器人在导航路径中行驶时,为了避免机器人与该导航路径上的障碍物发生碰撞,进而需要确定机器人在导航路径中行驶时的实时宽度。实时位置坐标指的是机器人当前所处导航路径上的位置,该实时位置坐标可以通过如卫星定位系统,或者存储在机器人上的地图中直接获取。
16.在一实施例中,步骤s10之前,也即所述获取机器人在导航路径的实时位置坐标之前,所述处理器执行所述计算机可读指令时还实现如下步骤:获取所述导航路径的路径起点以及路径终点。
17.从所述路径起点开始,通过预设路径分解方法对所述导航路径进行路径分解,直至分解出包含所述路径终点的拓扑路段。
18.可以理解地,路径起点即为导航路径的起始点;路径终点即为导航路径的终点;路径起点与路径终点之间的路径即为导航路径。预设路径分解方法用于将导航路径分解为多个拓扑路段,对导航路径进行分解的意义在于通过分布处理的方法,可以提高各拓扑路段的导航路径宽度确定的效率以及准确率。
19.在一具体实施方式中,所述从所述路径起点开始,通过预设路径分解方法对所述导航路径进行路径分解,直至分解出包含所述路径终点的拓扑路段,包括:确定所述导航路径上的第一路段节点,将所述第一路段节点与所述路径起点之间的路段确定为第一个拓扑路段;所述第一路段节点位于所述路径起点与所述路径终点之间,且第一路段节点与所述路径起点之间的距离为预设路径距离。
20.可以理解地,在设定第一路段节点时,该第一路段节点在路径起点与路径终点之间,且第一路段节点与路径起点之间的距离为预设路径距离,进而将路径起点与第一路段节点之间的路段确定为第一个拓扑路段。其中,预设路径距离可以根据具体应用场景进行设定,示例性地,预设路径距离可以设定为50米,100米等。
21.确定所述第一路段节点与所述路径终点之间的距离是否大于所述预设路径距离。
22.具体地,在确定所述拓扑路径上的第一路段节点,将所述第一路段节点与所述路径起点之间的路段确定为第一个拓扑路段之后,确定第一路段节点与路径终点之间的距离是否大于预设路径距离,若第一路段节点与路径终点之间的距离大于预设路径距离,则表征在第一路段节点与路径终点之间的还可以设置第二路段节点;若第一路段节点与路径终点之间的距离小于或等于预设路径距离,表征第一路段节点与路径终点之间不用再设置第二路段节点,若再设置第二路段节点,则会生成两个较短的拓扑路段,而短距离的拓扑路段之间的障碍物区域可能较为相同,因此会造成计算冗余,降低数据处理效率。
23.在所述第一路段节点与所述路径终点之间的距离小于或等于所述预设路径距离时,将所述第一路段节点与所述路径终点之间的路段确定为包含路径终点的拓扑路段。
24.具体地,在确定第一路段节点与路径终点之间的距离是否大于预设路径距离之后,若第一路段节点与路径终点之间的距离小于或等于预设路径距离,则将所述第一路段节点与所述路径终点之间的路段确定为包含路径终点的拓扑路段,也即此时拓扑路径被分解为两个拓扑路段(第一个拓扑路段以及包含路径终点的拓扑路段)。
25.在确定第一路段节点与路径终点之间的距离是否大于预设路径距离之后,还包括:在所述第一路段节点与所述路径终点之间的距离大于所述预设路径距离时,确定所述拓扑路径上第二路段节点,将所述第一路段节点与所述第二路段节点之间的路段确定为第二个拓扑路段;所述第二路段节点位于所述第一路段节点与所述路径终点之间,且所述第二路段节点与所述第一路段节点之间的距离为预设路径距离。
26.具体地,在确定第一路段节点与路径终点之间的距离是否大于预设路径距离之后,若第一路段节点与路径终点之间的距离大于预设路径距离,则表征第一路段节点与路径终点之间还可以设置第二路段节点,进而将第一路段节点与第二路段节点之间的路段确定为第二个拓扑路段。
27.确定所述第二路段节点与所述路径终点之间的距离是否大于所述预设路径距离。
28.具体地,在确定拓扑路径上第二路段节点,将第一路段节点与第二路段节点之间的路段确定为第二个拓扑路段之后,确定第二路段节点与路径终点之间的距离是否大于所述预设路径距离,若第二路段节点与路径终点之间的距离大于预设路径距离,则表征在第二路段节点与路径终点之间的还可以设置第三路段节点;若第二路段节点与路径终点之间的距离小于或等于预设路径距离,表征第二路段节点与路径终点之间不用再设置第三路段节点。
29.在所述第二路段节点与所述路径终点之间的距离小于或等于所述预设路径距离时,将所述第二路段节点与所述路径终点之间的路段确定为终点拓扑路段。
30.具体地,在确定第二路段节点与路径终点之间的距离是否大于预设路径距离之后,若第二路段节点与路径终点之间的距离小于或等于预设路径距离时,直接将所述第二路段节点与所述路径终点之间的路段确定为包含路径终点的拓扑路段,也即此时拓扑路径被分解为三个拓扑路段(第一个拓扑路段、第二个拓扑路段以及包含路径终点的拓扑路段)。可以理解地,若第二路段节点与路径终点之间的距离大于预设路径距离时,还可以设置第四路段节点,进而可能会产生第三个拓扑路段、第四个拓扑路段等,在此不再赘述。
31.s20:将所述实时位置坐标映射到场景地图中;所述场景地图上标注有初始障碍物区域;可以理解地,场景地图指的是与机器人当前行驶的导航路径对应的场景地图,该场景地图中包含了预先标记的初始障碍物区域。初始障碍物区域指的是包含静态障碍物(例如送餐机器人场景下的桌子,椅子,储物柜等不可自行移动的障碍物)的区域。实时位置坐标即为机器人当前所处于导航路径上的位置信息。
32.在一实施例中,所述机器人导航路径宽度获取系统还包括安装于机器人上的图像获取装置;所述图像获取装置与所述处理器通信连接;步骤s20之前,也即所述将所述实时位置坐标映射到场景地图中之前,所述处理器执行所述计算机可读指令时还实现如下步骤:
在控制机器人按照预设拓扑路径行驶时,通过所述图像获取装置获取所述机器人在所述预设拓扑路径的多个深度图像;一个所述深度图像具有一个位置坐标。
33.可以理解地,在本实施例中的机器人是用于生成场景地图的机器人,通过控制该机器人在设定场景下按照各预设拓扑路径行驶,以完成对整个设定场景的描绘得到场景地图。图像获取装置可以为安装在机器人上的rgbd相机,该图像获取装置可以在机器人行驶过程中拍摄多组深度图像以及rgb图像,在本实施例中仅获取图像获取装置拍摄的深度图像,且一个深度图像具有一个位置坐标。其中,位置坐标包含了机器人拍摄的深度图像时所处位置的横向位置信息、纵向位置信息以及位置深度;位置深度即为机器人拍摄深度图像时所处的位置的深度。
34.具体地,在控制机器人按照预设拓扑路径行驶时,通过安装在所述机器人上的图像获取装置,获取所述机器人在所述预设拓扑路径的多个深度图像之后,一个深度图像具有一个位置深度,通过预设三维信息转换方法,确定与各位置深度对应的横向位置信息以及纵向位置信息,进而根据各位置深度以及与其对应的横向位置信息以及纵向位置信息,生成与各深度图像对应的三维位置信息。其中,三维位置信息表征与各深度图像对应的机器人所处的位置信息,也即机器人在不同位置(如预设拓扑路径上不同位置点)通过图像获取装置获取的深度图像不同。
35.在一实施例中,可以通过下述表达式确定与各深度图像的位置坐标对应的横向位置信息以及纵向位置信息:置信息以及纵向位置信息:其中,为与各深度图像对应的横向位置;为与各深度图像对应的纵向位置信息;为深度图像的位置深度;为深度图像的像素位置(为深度图像的横向像素位置;为测试图像的纵向像素位置);与为图像获取装置的光心;与为图像获取装置的焦距。
36.根据各所述深度图像的位置坐标,将各所述深度图像拼接为三维点云地图,所述三维点云地图包含三维障碍物区域。
37.在一实施例中,在生成与各深度图像对应的三维位置信息之后,由于深度图像会采集到预设拓扑路径上或者周围的障碍物信息(如静态障碍物或者动态障碍物等),确定各所述深度图像中是否包含静态障碍物,在所述深度图像中包含静态障碍物时,确定深度图像中静态障碍物与机器人所属位置之间的距离,进而根据三维位置信息以及该距离确定静态位置信息。如此,即可避免动态障碍物对于后续步骤中初始障碍物区域的确定(由于动态障碍物是会不断移动的,因此将动态障碍物纳入初始障碍物区域,可能会导致初始障碍物区域出现偏差)。
38.在一实施例中,在根据三维位置信息以及该距离确定静态位置信息之后,由于同一个静态障碍物可能在不同的深度图像中存在,因此可以根据各所述静态位置信息确定各
所述静态障碍物所属的三维障碍物区域,并对各所述三维位置信息以及各所述三维障碍物区域进行位置拼接,得到与所述场景地图对应的三维点云地图;该三维点云地图包含了该场景下的预设拓扑路径的三维位置信息以及障碍物区域的三维位置信息。
39.对所述三维点云地图进行二维投影,得到二维场景地图;所述二维场景地图中包含所述三维障碍物区域投影之后与所述预设拓扑路径对应的二维障碍物区域。
40.具体地,在根据各所述深度图像的位置坐标,将各所述深度图像拼接为三维点云地图,所述三维点云地图包含三维障碍物区域之后,对三维点云地图进行二维投影,得到包含三维障碍物区域投影之后与预设拓扑路径对应的二维障碍物区域的二维场景地图。可以理解地,二维投影即为将三维点云地图中的三维位置信息转换为二维位置信息的方法。
41.在上述说明书中指出三维位置信息包含横向坐标信息,纵向坐标信息以及位置深度,进而只需要将纵向坐标信息设定为0之后,即完成对三维点云地图进行二维投影的步骤,进而得到包含三维障碍物区域投影之后与预设拓扑路径对应的二维障碍物区域的二维场景地图。
42.通过预设路径映射方法,将所述预设拓扑路径映射至所述二维场景地图中,得到所述场景地图,并将所述二维障碍物区域记录为所述预设拓扑路径在所述场景地图中的初始障碍物区域。
43.具体地,在对所述三维点云地图进行二维投影,得到二维场景地图之后,通过预设路径映射方法,将所述预设拓扑路径映射至所述二维场景地图中,得到所述场景地图,并将所述二维障碍物区域记录为所述预设拓扑路径在所述场景地图中的初始障碍物区域。
44.在一实施例中,通过预设路径映射方法,将所述机器人拓扑地图中的所述预设拓扑路径映射至所述二维场景地图中,得到所述场景地图,包括:获取与所述预设拓扑路径对应的路径坐标系;所述路径坐标系表征所述预设拓扑路径上任意一个路径节点的二维坐标信息。
45.可以理解地,路径坐标系指的是拓扑路径在机器人拓扑地图中的位置信息;路径节点指的是预设拓扑路径上任意一个点(如步骤s10中指出的实时位置点)。
46.获取与所述二维场景地图对应的预设地图尺度因子,并根据各所述路径节点的二维坐标信息以及所述预设地图尺度因子,得到与各所述路径节点对应的场景地图坐标信息之后,根据所述场景地图坐标信息生成所述场景地图。
47.可以理解地,预设地图尺度因子指的是从机器人拓扑地图与二维场景地图之间的图像比例。
48.具体地,在获取与所述拓扑路径对应的路径坐标系之后,获取与所述二维场景地图对应的预设地图尺度因子,并根据各所述路径节点的二维坐标信息以及所述预设地图尺度因子,得到与各所述路径节点对应的场景地图坐标信息之后,得到所述场景地图。
49.示例性地,假设其中一个路径节点的二维坐标信息为p(a,b),将该路径节点的横向坐标a,以及纵向坐标b同除以一个预设地图尺度因子,得到该路径节点在场景地图中的二维坐标信息为p1(a/scale,b/scale)(scale即为预设地图尺度因子)。
50.进一步地,在得到场景地图之后,可以对该场景地图进行图像滤波,以去除场景地图中的噪点,以防止场景地图中的噪点对导航路径的宽度的获取产生影响,提高导航路径的宽度获取的准确率。
51.s30:确定所述实时位置坐标所在的所述拓扑路段为实时拓扑路段,并对所述实时拓扑路段分别向左右两侧进行平行方向的平移扩展得到最大像素拓展区域;所述最大像素拓展区域与所述初始障碍物区域不重叠;可以理解地,在本实施例中针对每一个拓扑路段,在其左侧以及右侧存在多条与该拓扑路段平行的线段,每一平行的线段之间记录为一个像素区域,因此可以通过对实时拓扑路段向左右两侧进行平行方向的平移扩展,以确定不与初始障碍物区域不重叠的最大像素拓展区域。如图3所示,按照机器人的的行进方向(图3中机器人从底部往顶部运动),将位于机器人当前所处的实时拓扑路段的左边定义为左侧(如图3中实时拓扑路段的左侧包含两个初始障碍物区域d,且包含左侧区域界线l1),将位于机器人当前所处的实时拓扑路段的右边定义为右侧(如图3中实时拓扑路段的右侧包含一个初始障碍物区域d,且包含右侧区域界线r1)。
52.在一实施例中,步骤s30中,也即所述对所述实时拓扑路段分别向左右两侧进行平行方向的平移扩展得到最大像素拓展区域,包括:对所述实时拓扑路段向左右两侧由近及远依次进行平行方向的像素拓展,分别得到左像素拓展区域和右像素拓展区域。
53.可以理解地,对实时拓扑路段向左侧由近及远依次进行平行方向的像素拓展,也即从第一个左侧像素区域开始拓展得到左像素拓展区域;且同时对实时拓扑路段向右侧由近及远依次进行平行方向的像素拓展,也即从第一个右侧像素区域开始拓展得到右像素拓展区域。
54.确定所述左像素拓展区域是否满足预设左侧停止拓展条件,所述右像素拓展区域是否满足预设右侧停止拓展条件;在一具体实施例中,所述预设左侧停止拓展条件包括以下任意的一个条件:检测到所述左像素拓展区域与所述初始障碍物区域重叠;可以理解地,左像素拓展区域与所述初始障碍物区域是否重叠的判定包括:初始障碍物区域落在左像素拓展区域,亦或者初始障碍物区域落在两个左像素拓展区域之间。
55.对所述实时拓扑路段向左的像素拓展到达左侧区域界线,且尚未检测到所述左像素拓展区域与所述初始障碍物区域重叠;可以理解地,对于一个导航路径其存在最大宽度,也即左侧区域界线以及右侧区域界线之间即为最大宽度。其中,左侧区域界线即可以为如墙体等固定存在用于对宽度进行最大限制。因此在对实时拓扑路段向左的像素拓展达到左侧区域界线,且从未检测到左像素拓展区域与初始障碍物区域重叠,即可停止对实时拓扑路段向左的像素拓展。
56.在一具体实施例中,所述预设右侧停止拓展条件包括以下任意的一个条件:检测到所述右像素拓展区域与所述初始障碍物区域重叠;可以理解地,右像素拓展区域与所述初始障碍物区域是否重叠的判定包括:初始障碍物区域落在右像素拓展区域,亦或者初始障碍物区域落在两个右像素拓展区域之间。
57.对所述实时拓扑路段向右的像素拓展到达右侧区域界线,且尚未检测到所述右像素拓展区域与所述初始障碍物区域重叠。
58.可以理解地,对于一个导航路径其存在最大宽度,也即左侧区域界线以及右侧区域界线之间即为最大宽度。其中,右侧区域界线即可以为如墙体等固定存在用于对宽度进
行最大限制。因此在对实时拓扑路段向右的像素拓展达到右侧区域界线,且从未检测到右像素拓展区域与初始障碍物区域重叠,即可停止对实时拓扑路段向右的像素拓展。
59.在所述左像素拓展区域满足所述预设左侧停止拓展条件时得到左像素宽度区域;在所述右像素拓展区域满足所述预设右侧停止拓展条件时得到右像素宽度区域。
60.示例性地,如图3所示的导航路径边界拓展的示意图,图3中机器人t处于实时拓扑路段中,对实时拓扑路段向左侧进行平行方向的拓展过程中,处于机器人t左侧拓展的每两个左侧平行虚线l2形成一个左像素区域,在第二个左像素区域中存在一个初始障碍物区域d,此时即可停止对实时拓扑路段向左侧进行平行方向的拓展,进而左像素拓展区域即为第一个左像素区域。
61.对实时拓扑路段向右侧进行平行方向的拓展过程中,处于机器人t右侧拓展的每两个右侧平行虚线r2形成一个右像素区域,在第三个右像素区域中存在一个初始障碍物区域d,此时即可停止对实时拓扑路段向右侧进行平行方向的拓展,进而右像素拓展区域即为第一个右像素区域以及第二个右像素区域之和。
62.进一步地,假设机器人t左侧不存在任何的初始障碍物区域d,则对实时拓扑路段向左侧进行平行方向的拓展到达左侧区域界线l1时,也停止对实时拓扑路段向左侧进行平行方向的拓展;假设机器人t右侧不存在任何的初始障碍物区域d,则对实时拓扑路段向右侧进行平行方向的拓展到达右侧区域界线r1时,也停止对实时拓扑路段向右侧进行平行方向的拓展。
63.将所述左像素宽度区域与所述右像素宽度区域之和确定为所述最大像素拓展区域。
64.具体地,在确定所述左像素拓展区域是否满足预设左侧停止拓展条件,所述右像素拓展区域是否满足预设右侧停止拓展条件之后,在所述左像素拓展区域满足所述预设左侧停止拓展条件时得到左像素宽度区域;在所述右像素拓展区域满足所述预设右侧停止拓展条件时得到右像素宽度区域,并将左像素宽度区域与所述右像素宽度区域之和确定为所述最大像素拓展区域。
65.进一步地,为了提高重叠区域确定的准确性,在进行重叠区域的检测之前,可以将与拓扑路段关联的左像素拓展区域和右像素拓展区域映射至场景地图中,使得左像素拓展区域和右像素拓展区域与初始障碍物区域同比例。
66.s40:根据所述最大像素拓展区域采用预设宽度映射方法计算出所述实时拓扑路段所属的所述导航路径的宽度。
67.可以理解地,导航路径的宽度即为机器人在实时位置点在导航路径中的可行驶范围,也即在该拓扑路段中机器人仅可以在导航路径的宽度对应的宽度范围内行驶,不可以超出导航路径宽度,避免了机器人与障碍物发生碰撞。预设宽度映射方法用于将最大像素拓展区域映射为机器人实际运行过程中的导航路径的宽度。
68.具体地,在对所述实时拓扑路段分别向左右两侧进行平行方向的平移扩展得到最大像素拓展区域之后,获取所述场景地图的预设地图尺度因子以及最大像素拓展区域的区域宽度,并根据最大像素拓展区域的区域宽度以及预设地图尺度因子,确定实时拓扑路段所属的所述导航路径的宽度,以令机器人在该导航路径的宽度行驶以安全通过导航路径;进一步地,在机器人以导航路径的宽度行驶过程中,若检测到存在障碍物时,该机器人可以
执行障碍物避让策略,以确保机器人的行驶安全性。
69.在本实施例中,通过边界生长的方法确定出机器人在导航路径上的实时拓扑路段中与初始障碍物区域不重叠的最大像素拓展区域,从而根据最大像素拓展区域确定机器人行驶的导航路径的宽度,进而实时为机器人提供可供行驶的行驶宽度范围,相比于现有技术中通过人为手动设置的方式,本发明提出的方法的效率更高且具有更高的准确率,进而提高了机器人运行过程中的安全性。
70.在一实施例中,所述根据所述最大像素拓展区域采用预设宽度映射方法计算出所述实时拓扑路段所属的所述导航路径的宽度之后,所述处理器执行所述计算机可读指令时还实现如下步骤:控制所述机器人在所述导航路径的宽度内行驶,并实时检测是否存在新障碍物区域。
71.可以理解地,新障碍物区域可以为初始障碍物区域的位置信息发生变更,例如某一个初始障碍物区域处于实时拓扑路段的左侧第二个像素位置,在控制机器人在导航路径的宽度内行驶时,在实时拓扑路段的左侧第二个像素位置未检测到该初始障碍物区域,则表明存在新障碍物区域。示例性地,存在新障碍物区域可能包括如下可能性:其一:初始障碍物区域中添加了新的障碍物,使得初始障碍物区域扩大;其二:初始障碍物区域中存在障碍物的位置移动,使得初始障碍物区域缩小或者位置发生变化。
72.在一具体实施例中,所述机器人导航路径宽度获取系统还包括安装于机器人上的障碍物检测装置,所述障碍物检测装置与所述处理器通信连接,所述实时检测所述拓扑路段中是否存在新障碍物区域,包括:通过障碍物检测装置,在所述机器人行驶过程中实时探测静态障碍物和动态障碍物。
73.可以理解地,障碍物检测装置用于机器人行驶过程中对当前行驶的道路前方亦或者周围的障碍物进行探测的装置,该障碍物检测装置可以基于光学视觉感知技术,或者基于超声波传感器等构建。
74.在所述障碍物检测装置探测到静态障碍物时,将与所述静态障碍物对应的区域映射至场景地图中并记录为静态障碍物区域。
75.可以理解地,静态障碍物指的是如送餐机器人场景下的桌子,椅子,储物柜等不可自行移动的障碍物。静态障碍物区域即为机器人在拓扑路段的行驶宽度范围内行驶时,检测到的静态障碍物在场景地图中所属的区域,该静态障碍物区域可以为一个也可以为多个。
76.具体地,在通过安装于所述机器人本体的障碍物检测装置,在所述机器人行驶过程中进行障碍物探测之后,若障碍物检测装置探测到静态障碍物,则将与静态障碍物对应的区域映射至场景地图中,也即将实际中静态障碍物所属的区域映射至场景地图中,得到静态障碍物在场景地图中所属的静态障碍物区域。其中,将与静态障碍物对应的区域映射至场景地图中可以通过尺度因子转换的方式,也即获取场景地图与实际场景(也即机器人拓扑地图)之间的尺度转换因子,进而将静态障碍物对应的区域除以该尺度转换因子,即可得到静态障碍物在场景地图中的静态障碍物区域。
77.在所述障碍物检测装置探测到动态障碍物时,将与所述动态障碍物对应的区域映
射至场景地图中并记录为无障碍物区域。
78.具体地,障碍物检测装置除了可以检测静态障碍物之外还可以检测到动态障碍物(如行人,其它机器人等可自行移动的物体),将与动态障碍物对应的区域映射至场景地图中,并在场景地图中将包含动态障碍物的区域设置为无障碍物区域,并且由于动态障碍物占用道路宽度只是暂时的,并不会一直占用道路,因此本实施例中即使检测到动态障碍物该无障碍物区域在场景地图中也不会影响导航路径的宽度的计算。
79.根据所述无障碍物区域以及所述静态障碍物区域确定障碍物检测区域。
80.将所述障碍物检测区域与所述初始障碍物区域进行像素位置比对,在所述障碍物检测区域与所述初始障碍物区域之间的像素位置不一致时,确定存在新障碍物区域。
81.具体地,在根据所述无障碍物区域以及所述静态障碍物区域确定障碍物检测区域之后,将障碍物检测区域与初始障碍物区域进行像素位置比对,在障碍物检测区域与初始障碍物区域之间的像素位置不一致时,例如发生了静态障碍物的移动,或者无障碍物区域取代了初始障碍物区域等,即可确定存在新障碍物区域。
82.进一步地,如步骤s40所述,本发明是通过距离拓扑路段最近的左像素区域以及右像素区域与初始障碍物区域之间的重叠部分确定导航路径宽度,因此在将障碍物检测区域与初始障碍物区域进行位置比对时,可以通过确认距离拓扑路段最近,且与左像素区域和/或右像素区域具有重叠部分的初始障碍物区域,与障碍物检测区域之间是否发生更新。示例性地,假设初始障碍物区域与第二个左像素区域存在重叠部分,且该初始障碍物区域是距离拓扑路段左侧最近的区域,若障碍物检测区域与第三个左像素区域存在重叠部分,且该障碍物检测区域是距离拓扑路段左侧最近的区域,则可以确定存在新障碍物区域,可以提高数据处理效率。
83.在存在新障碍物区域时,根据所述新障碍物区域在所述场景地图中更新所述拓扑路段对应的初始障碍物区域。
84.具体地,在实时检测所述拓扑路段中是否存在新障碍物区域之后,若存在新障碍物区域,则根据新障碍物区域在场景地图中更新初始障碍物区域。
85.对所述实时拓扑路段分别向左右两侧进行平行方向的平移扩展得到更新后的最大像素拓展区域;所述更新后的最大像素拓展区域与更新后的所述初始障碍物区域不重叠。
86.具体地,在根据所述新障碍物区域在所述场景地图中更新所述拓扑路段对应的初始障碍物区域之后,对所述实时拓扑路段向左右两侧进行平行方向的平移扩展得到更新后的最大像素拓展区域。
87.采用所述预设宽度映射方法将更新后的最大像素拓展区域转换为所述导航路径的更新宽度。
88.具体地,在对所述实时拓扑路段分别向左右两侧进行平行方向的平移扩展得到更新后的最大像素拓展区域,获取所述场景地图的预设地图尺度因子以及更新后的最大像素拓展区域的区域宽度,并根据更新后的最大像素拓展区域的区域宽度以及预设地图尺度因子,确定实时拓扑路段所属的所述导航路径的更新宽度。
89.在一实施例中,提供一种机器人,包括上述机器人导航路径宽度获取系统。所述机器人包括壳体,机器人导航路径宽度获取系统中的存储器以及处理器安装在壳体内部,以
保护存储器以及处理器,进而提高存储器以及处理器的使用寿命;机器人导航路径宽度获取系统中的障碍物检测装置安装在壳体上,以在机器人行驶过程中进行障碍物探测,且障碍物检测装置与处理器通信连接;机器人导航路径宽度获取系统中的图像获取装置安装在壳体上,以在机器人行驶过程中获取深度图像,以根据深度图像生成场景地图,且图像获取装置与处理器通信连接。
90.在一实施例中,如图2所示,提供一种机器人导航路径宽度获取方法,该机器人导航路径宽度获取方法与上述实施例中机器人导航路径宽度获取系统一一对应,并该机器人导航路径宽度获取方法应用在机器人导航路径宽度获取系统中,该机器人导航路径宽度获取方法包括如下步骤:s10:获取机器人在导航路径中的实时位置坐标;所述导航路径包含至少一条拓扑路段;s20:将所述实时位置坐标映射到场景地图中;所述场景地图上标注有初始障碍物区域;s30:确定所述实时位置坐标所在的所述拓扑路段为实时拓扑路段,并对所述实时拓扑路段分别向左右两侧进行平行方向的平移扩展得到最大像素拓展区域;所述最大像素拓展区域与所述初始障碍物区域不重叠;s40:根据所述最大像素拓展区域采用预设宽度映射方法计算出所述实时拓扑路段所属的所述导航路径的宽度。
91.在本实施例中,通过边界生长的方法确定出机器人在导航路径上的实时拓扑路段中与初始障碍物区域不重叠的最大像素拓展区域,从而根据最大像素拓展区域确定机器人行驶的导航路径的宽度,进而实时为机器人提供可供行驶的行驶宽度范围,相比于现有技术中通过人为手动设置的方式,本发明提出的方法的效率更高且具有更高的准确率,进而提高了机器人运行过程中的安全性。
92.在一实施例中,所述对所述实时拓扑路段分别向左右两侧进行平行方向的平移扩展得到最大像素拓展区域,包括:对所述实时拓扑路段向左右两侧由近及远依次进行平行方向的像素拓展,分别得到左像素拓展区域和右像素拓展区域;确定所述左像素拓展区域是否满足预设左侧停止拓展条件,所述右像素拓展区域是否满足预设右侧停止拓展条件;在所述左像素拓展区域满足所述预设左侧停止拓展条件时得到左像素宽度区域;在所述右像素拓展区域满足所述预设右侧停止拓展条件时得到右像素宽度区域;将所述左像素宽度区域与所述右像素宽度区域之和确定为所述最大像素拓展区域。
93.在一实施例中,所述预设左侧停止拓展条件包括以下任意的一个条件:检测到所述左像素拓展区域与所述初始障碍物区域重叠;对所述实时拓扑路段向左的像素拓展到达左侧区域界线,且尚未检测到所述左像素拓展区域与所述初始障碍物区域重叠;所述预设右侧停止拓展条件包括以下任意的一个条件:检测到所述右像素拓展区域与所述初始障碍物区域重叠;
对所述实时拓扑路段向右的像素拓展到达右侧区域界线,且尚未检测到所述右像素拓展区域与所述初始障碍物区域重叠。
94.在一实施例中,步骤s40之后,还包括如下步骤:控制所述机器人在所述导航路径的宽度内行驶,并实时检测是否存在新障碍物区域;在存在新障碍物区域时,根据所述新障碍物区域在所述场景地图中更新所述初始障碍物区域;对所述实时拓扑路段分别向左右两侧进行平行方向的平移扩展得到更新后的最大像素拓展区域;所述更新后的最大像素拓展区域与更新后的所述初始障碍物区域不重叠;采用所述预设宽度映射方法将更新后的最大像素拓展区域转换为所述导航路径的更新宽度。
95.在一实施例中,所述实时检测所述拓扑路段中是否存在新障碍物区域,包括:通过安装于所述机器人上的障碍物检测装置,在所述机器人行驶过程中实时探测静态障碍物和动态障碍物;在所述障碍物检测装置探测到静态障碍物时,将与所述静态障碍物对应的区域映射至场景地图中并记录为静态障碍物区域;在所述障碍物检测装置探测到动态障碍物时,将与所述动态障碍物对应的区域映射至场景地图中并记录为无障碍物区域;根据所述无障碍物区域以及所述静态障碍物区域确定障碍物检测区域;将所述障碍物检测区域与所述初始障碍物区域进行像素位置比对,在所述障碍物检测区域与所述初始障碍物区域之间的像素位置不一致时,确定存在新障碍物区域。
96.在一实施例中,步骤s10之前,还包括如下步骤:获取所述导航路径的路径起点以及路径终点;从所述路径起点开始,通过预设路径分解方法对所述导航路径进行路径分解,直至分解出包含所述路径终点的拓扑路段。
97.在一实施例中,所述从所述路径起点开始,通过预设路径分解方法对所述导航路径进行路径分解,直至分解出包含所述路径终点的拓扑路段,包括:确定所述导航路径上的第一路段节点,将所述第一路段节点与所述路径起点之间的路段确定为第一个拓扑路段;所述第一路段节点位于所述路径起点与所述路径终点之间,且第一路段节点与所述路径起点之间的距离为预设路径距离;确定所述第一路段节点与所述路径终点之间的距离是否大于所述预设路径距离;在所述第一路段节点与所述路径终点之间的距离小于或等于所述预设路径距离时,将所述第一路段节点与所述路径终点之间的路段确定为包含路径终点的拓扑路段。
98.在一实施例中,所述确定所述第一路段节点与所述路径终点之间的距离是否大于所述预设路径距离之后,包括:在所述第一路段节点与所述路径终点之间的距离大于所述预设路径距离时,确定所述拓扑路径上第二路段节点,将所述第一路段节点与所述第二路段节点之间的路段确定为第二个拓扑路段;所述第二路段节点位于所述第一路段节点与所述路径终点之间,且所
述第二路段节点与所述第一路段节点之间的距离为预设路径距离;确定所述第二路段节点与所述路径终点之间的距离是否大于所述预设路径距离;在所述第二路段节点与所述路径终点之间的距离小于或等于所述预设路径距离时,将所述第二路段节点与所述路径终点之间的路段确定为包含路径终点的拓扑路段。
99.在一实施例中,步骤s30之前,也即所述自场景地图中获取与所述拓扑路段对应的初始障碍物区域之前,包括:在控制机器人按照预设拓扑路径行驶时,通过所述图像获取装置获取所述机器人在所述预设拓扑路径的多个深度图像;一个所述深度图像具有一个位置坐标;根据各所述深度图像的位置坐标,将各所述深度图像拼接为三维点云地图,所述三维点云地图包含三维障碍物区域;对所述三维点云地图进行二维投影,得到二维场景地图;所述二维场景地图中包含所述三维障碍物区域投影之后与所述预设拓扑路径对应的二维障碍物区域;通过预设路径映射方法,将所述预设拓扑路径映射至所述二维场景地图中,得到所述场景地图,并将所述二维障碍物区域记录为所述预设拓扑路径在所述场景地图中的初始障碍物区域。
100.在一实施例中,所述通过预设路径映射方法,将所述机器人拓扑地图中的所述预设拓扑路径映射至所述二维场景地图中,得到所述场景地图,包括:获取与所述预设拓扑路径对应的路径坐标系;所述路径坐标系表征所述预设拓扑路径上任意一个路径节点的二维坐标信息;获取与所述二维场景地图对应的预设地图尺度因子,并根据各所述路径节点的二维坐标信息以及所述预设地图尺度因子,得到与各所述路径节点对应的场景地图坐标信息之后,根据所述场景地图坐标信息生成所述场景地图。
101.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
102.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中机器人导航路径宽度获取方法。
103.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink) dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
104.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的
功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
105.以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1