机器人路径干涉预判方法及装置与流程

文档序号:16549404发布日期:2019-01-08 21:01阅读:287来源:国知局
机器人路径干涉预判方法及装置与流程

本发明涉及机器人移动技术领域,具体而言,涉及一种机器人路径干涉预判方法及装置。



背景技术:

随着技术的进步,机器人不再仅仅是科技电影中的角色,而是真切的出现在实际生活中。机器人作为自动执行工作的机器装置。它既可以接受人类指挥,又可以运行预先编排的程序,也可以根据以人工智能技术制定的原则纲领行动。它可以承担生活中很多工作,实现了对人力成本的节约。

但是,当前机器人技术还不够成熟,还存在很多问题。比如,当多台移动的机器人处于同一连通的空间内运行时,始终避免不了相遇的问题,特别是狭窄的空间内,机器人则会出现死锁或阻塞。



技术实现要素:

本发明的目的在于提供一种机器人路径干涉预判方法及装置,用以改善上述问题。

为了实现上述目的,本发明实施例采用的技术方案如下:

第一方面,本发明实施例提供了一种机器人路径干涉预判方法,应用于服务器,所述服务器分别与第一机器人、第二机器人通信连接,所述机器人路径干涉预判方法包括:分别获取所述第一机器人的第一剩余路径及所述第二机器人的第二剩余路径;根据预设的安全距离将所述第一剩余路径划分为多个第一路段,以及将所述第二剩余路径划分为多个第二路段;将每一段所述第一路段与所述第二路段进行比较,以获得比较结果;根据所述比较结果,对所述第一机器人与第二机器人之间是否会出现路径干涉进行预判。

第二方面,本发明实施例提供了一种机器人路径干涉预判装置,应用于服务器,所述服务器分别与第一机器人、第二机器人通信连接,所述机器人路径干涉预判装置包括:获取模块,用于分别获取所述第一机器人的第一剩余路径及所述第二机器人的第二剩余路径;划分模块,用于根据预设的安全距离将所述第一剩余路径划分为多个第一路段,以及将所述第二剩余路径划分为多个第二路段;比较模块,用于将每一段所述第一路段与所述第二路段进行比较,以获得比较结果;预判模块,用于根据所述比较结果,对所述第一机器人与第二机器人之间是否会出现路径干涉进行预判。

与现有技术相比,本发明提供的一种机器人路径干涉预判方法,通过分别获取所述第一机器人的第一剩余路径及所述第二机器人的第二剩余路径,再依据预设的安全距离将所述第一剩余路径划分为多个第一路段,以及将所述第二剩余路径划分为多个第二路段,将每一段所述第一路段与所述第二路段进行比较,以便根据比较结果对所述第一机器人与第二机器人之间是否会出现路径干涉进行预判。从而实现对第一机器人运行在第一剩余路径是否会与第二机器人产生相遇进行预判,无需分析轨迹是否平行,判定方法更加高效简单,便于提前掌握机器人路径的干预,以便提前采取措施避免相遇。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明实施例提供的一种应用环境示意图。

图2为图1中示出的服务器的结构示意图。

图3为本发明实施例提供的一种机器人路径干涉预判方法的步骤流程图。

图4为图3中步骤s101的子步骤流程图。

图5为图3中步骤s103的子步骤流程图。

图6为本发明实施例提供的一种机器人路径干涉预判装置的示意图。

图标:100-服务器;111-存储器;112-处理器;113-通信单元;200-机器人;300-机器人路径干涉预判装置;301-获取模块;302-划分模块;303-比较模块;304-预判模块。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明下述各实施例如无特别说明均可应用于如图1所示的环境中,如图1所示,服务器100分别与多个可以移动的机器人200通信连接。为了方便描述,在本发明实施例中,将一个机器人200作为第一机器人,则将与服务器100通信的其他的机器人200作为第二机器人。

上述机器人200内预先设置运行场地的地图,并可以利用配备的传感器结合运行场地的地图确定该机器人200的实时位置,例如,上述实时位置可以是地图上的栅格坐标。机器人200可以依据当前的位置信息规划抵到目的地的符合用户预期的路径。上述路径可以由多个栅格路径点组成的集合。机器人200的尺寸、安全距离可以预先配置于机器人200内,例如机器人200的高度和宽度。机器人200还可以识别运动方向上的障碍物(例如运行的其他机器人200)。

请参考图2,上述服务器100包括机器人路径干涉预判装置、存储器111、处理器112、通信单元113。

所述存储器111、处理器112、通信单元113各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述机器人路径干涉预判装置包括至少一个可以软件或固件(firmware)的形式存储于所述存储器111中或固化在所述机器人200的操作系统(operatingsystem,os)中的软件功能模块。所述处理器112用于执行所述存储器111中存储的可执行模块,例如机器人路径干涉预判装置所包括的软件功能模块及计算机程序等。

其中,所述存储器111可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器111用于存储程序或者数据。所述通信单元113用于通过所述网络建立机器人200与其它通信终端之间的通信连接,并用于通过所述网络收发数据。

应当理解的是,图2所示的结构仅为服务器100的结构示意图,所述服务器100还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。

第一实施例

请参考图3,图3为本发明较佳实施例提供的一种机器人路径干涉预判方法的流程图。应用于图1中的服务器100。上述机器人路径干涉预判方法包括以下步骤:

步骤s101,分别获取所述第一机器人的第一剩余路径及所述第二机器人的第二剩余路径。

在本发明实施例中,在第一机器人需启动沿第一位移路径位移时,服务器100分别从第一机器人获取第一剩余路径和正在运行中的第二机器人的第二剩余路径。需要说明的是,第一机器人预先生成的位移路径为第一位移路径,第二机器人生成的位移路径为第二位移路径。上述第一剩余路径属于第一位移路径,上述第二剩余路径属于第二位移路径。位移路径是由多个栅格路径点组成,机器人200在生成位移路径时,会根据预计抵达每个栅格路径点的先后顺序对位移路径上的栅格路径点进行排序,以使每一个机器人200执行或准备执行的位移路径上的每一个栅格路径点都对应一个序号。也可以理解为,位移路径可以是由多个排列有序的栅格路径点组成集合。

具体地,如图4所示,在本发明实施例中,步骤s101还可以包括以下子步骤:

子步骤s1011,分别获取所述第一位移路径及第二位移路径。

在本发明实施例中,服务器100在第一机器人需启动执行第一位移路径时,从第一机器人内获取其预先生成的由多个栅格路径点组成的第一位移路径,从第二机器人内获取其预先生成由多个栅格路径点组成的第二位移路径。

子步骤s1012,接收所述第一机器人当前的第一位置信息及所述第二机器人当前的第二位置信息。

在本发明实施例中,每一个机器人200均会实时的确定其当前在运行场景对应的地图中的位置,并将确认的位置信息反馈至服务器100。服务器100接收到第一机器人当前的第一位置信息及所述第二机器人当前的第二位置信息。

子步骤s1013,根据所述第一位置信息从所述第一位移路径中划分出所述第一剩余路径及根据所述第二位置信息从所述第二位移路径中划分出所述第二剩余路径。

在本发明实施例中,上述根据第一位置信息从第一位移路径中获取所述第一剩余路径的方式包括:依据所述第一位置信息在所述第一位移路径上匹配第一目标栅格路径点。通常而言,机器人200每一次移动后的位置信息均与位移路径上的一个栅格路径点基本一致,上述基本一致可以理解为二者之间的距离不差超预定的误差阈。可选地,将与所述第一位置信息之间距离满足预定的误差阈的栅格路径点作为第一目标栅格路径点。也可以理解为,当前第一机器人的实际位置为第一位置信息时,该第一机器人在第一位移路径上对应的位置为第一目标栅格路径点。将第一位移路径中序号排列于所述第一目标栅格路径点之后的栅格路径点组成第一剩余路径。例如,第一位移路径中对应的栅格路径点的排序序号依次是1-100,与该第一位置信息匹配的第一目标栅格路径点为第一位移路径上排列于第20位的栅格路径点,则将第一位移路径上排列于第20位到第100为的栅格路径点作为第一剩余路径。上述第二剩余路径获取的原理与第一剩余路径获得的原理相同,在此不再赘述。

在本发明实施例中,机器人200的实时状态可以表示为:

其中,a该机器人200预先生成的位移路径,其可以是多个栅格路径点位置信息组成的集合,wa(xi,yi)代表位移路径上第i个的栅格路径点的栅格位置坐标值,l代表该机器人200的实际位置,w*(x*,y*)代表机器人200的实际位置对应的栅格坐标值,li(xi,yi)代表在位移路径上第i个栅格路径点与相邻上一次移动前的位置之间的距离。

步骤s102,根据预设的安全距离将所述第一剩余路径划分为多个第一路段,以及将所述第二剩余路径划分为多个第二路段。

在本发明实施例中,上述根据预设的安全距离将所述第一剩余路径划分为多个第一路段的方式可以是根据所述安全距离及预设倍数,生成划分长度。例如,以安全距离的预设倍数作为划分长度。根据划分长度将第一剩余路径划分为多个长度均为划分长度的第一路段。上述根据预设的安全距离将所述第二剩余路径划分为多个第二路段的方式可以是根据所述安全距离及预设倍数,生成划分长度。根据划分长度将所述第二剩余路径划分为多个长度均为划分长度的第二路段。需要说明的是,不同的机器人200采用对应的安全距离不同,因此,当预判第一机器人的路径是否会与其他的第二机器人的路径发生干涉时,则均是以第一机器人的安全距离作为生成划分长度的安全距离。

步骤s103,将每一段所述第一路段与所述第二路段进行比较,以获得比较结果。

在本发明实施例中,如图5所示,上述步骤s103可以包括以下子步骤:

子步骤s1031,按照所述第一机器人预计抵达的先后顺序对所述第一路段进行排序。

在本发明实施例中,将第一剩余路径划分出来的多个第一路段,按照第一机器人预计抵达的先后顺序进行排列,以使每一段第一路段对应一个序号。例如,将第一剩余路径划分为7段第一路段,按照机器人200预计抵达的先后顺序对划分后的第一路段进行排序,以使每一个第一路段获得一对应的序号,则这7段第一路段对应的序号依次为1-7。

子步骤s1032,按照所述第二机器人预计抵达的先后顺序对所述第二路段进行排序。

在本发明实施例中,将第二剩余路径划分出来的多个第二路段,按照第二机器人预计抵达的先后顺序进行排列,以使每一段第二路段对应一个序号。例如,将第二剩余路径划分为6段第一路段,按照第二机器人预计抵达的先后顺序对划分后的第二路段进行排序,以使每一个第二路段获得一对应的序号,则这6段第二路段对应的序号依次为1-6。

子步骤s1033,依次将每一段所述第一路段与对应序号相同的所述第二路段进行比较,直至不存在序号相同的所述第一路段和第二路段,以获得所述比较结果。

在本发明实施例中,第一路段与第二路段之间的比较可以是将第一路段上对应的栅格路径点与第二路段上对应的栅格路径点进行比较。可选地,进行比较的方式可以是:依次计算所述第一路段中每一个所述栅格路径点与对应的所述第二路段中每个所述栅格路径点之间的距离长度值,再将每一个所述栅格路径点对应的所述距离长度值与所述安全距离的预设倍数进行比较,以获得该第一路段对应的比较结果。需要说明的是,在第一路段与第二路段的段数相同时,则每一段第一路段均对应一个相同序号的第二路段;在第一路段的段数少于第二路段的段数时,则每一段第一路段均对应一相同序号的第二路段,但序号大于第一路段中最大序号的第二路段则不具有相同的序号的第一路段;在第二路段的段数少于第一路段的段数时,则每一段第二路段均对应一相同序号的第一路段,但序号大于第二路段中最大序号的第一路段则不具有相同的序号的第一路段。可选地,进行第一路段与第二路段时,只比较具有相同序号的第一路段与第二路段。接上例,将对应序号为1-7的第一路段与对应序号为1-6的第二路段进行比较时,仅需将对应序号属于1-6的第一路段与对应序号属于1-6的第二路段一次进行比较。

作为一种实施方式,可以采用下述算法实现步骤s103,具体为:

其中,代表序号为n的第一路径上的序号为ij栅格路径点与序号为n的第二路径的序号为ik的栅格路径点的距离长度值。代表第一路径上的序号为ij的栅格路径点的第一方向坐标值,代表第一路径上的序号为ij的栅格路径点的第二方向坐标值。代表第二路径上的序号为ik的栅格路径点的第一方向坐标值,代表第二路径上的序号为ik的栅格路径点的第二方向坐标值。需要说明的是,ij的取值可以是属于第n段的第一路径的栅格路径点的序号。ik取值可以是属于第n段的第二路径的栅格路径点的序号。q代表每一个第一路段对应的栅格数据点的个数,k代表预设倍数,lq代表安全距离,s代表相邻两个栅格路径点之间的距离,mj代表第一机器人的第一位移路径上的栅格路径点的总个数,mk代表第二机器人的第二位移路径上的栅格路径点的总个数。aj代表第一位移路径上的栅格路径点,ak代表第二位移路径上的栅格数据点,wj(xj,yj)代表第一位移路径上的栅格路径点的栅格坐标信息,wk(xk,yk)代表第二位移路径上的栅格路径点的栅格坐标信息。

步骤s104,根据所述比较结果,对所述第一机器人与第二机器人之间是否会出现路径干涉进行预判。

在本发明实施例中,当所述第一路段对应的所述比较结果包括至少一个所述距离长度值小于所述安全距离的预设倍数时,则预判所述第一机器人与第二机器人在该第一路段上存在干涉。当所述第一路段对应的所述比较结果中不包括所述距离长度值小于所述安全距离的所述预设倍数时,则预判所述第一机器人与第二机器人在该第一路段上不存在干涉。

在本发明实施例中,通过预判可以便于提前决策避让方案,从而避免出现多个机器人200运行过程中造成堵塞的现象。使可移动的机器人200运行起来更加有序。

第二实施例

请参考图6,图6为本发明较佳实施例提供的一种机器人路径干涉预判装置的功能模块示意图。该装置应用于图1中的服务器100。上述机器人路径干涉预判装置可以包括:获取模块301、划分模块302、比较模块303及预判模块304。

获取模块301,用于分别获取所述第一机器人的第一剩余路径及所述第二机器人的第二剩余路径。

在本发明实施例中,上述步骤s101可以由获取模块301执行。优选地,获取模块301包括获取子模块、接收子模块及划分子模块。

获取子模块,用于分别获取所述第一位移路径及第二位移路径。

在本发明实施例中,上述子步骤s1011可以由获取子模块执行。

接收子模块,用于接收所述第一机器人当前的第一位置信息及所述第二机器人当前的第二位置信息。

在本发明实施例中,上述子步骤s1012可以由接收子模块执行。

划分子模块,用于根据所述第一位置信息从所述第一位移路径中划分出所述第一剩余路径及根据所述第二位置信息从所述第二位移路径中划分出所述第二剩余路径。

在本发明实施例中,上述子步骤s1013可以由划分子模块执行。

划分模块302,用于根据预设的安全距离将所述第一剩余路径划分为多个第一路段,以及将所述第二剩余路径划分为多个第二路段。

在本发明实施例中,上述步骤s102可以由划分模块302执行。

比较模块303,用于将每一段所述第一路段与所述第二路段进行比较,以获得比较结果。

在本发明实施例中,上述步骤s103可以由比较模块303执行。优选地,比较模块303可以包括排序子模块及比较子模块。

排序子模块,用于按照所述第一机器人预计抵达的先后顺序对所述第一路段进行排序。

在本发明实施例中,上述子步骤s1031可以由排序子模块执行。

排序子模块,还用于按照所述第二机器人预计抵达的先后顺序对所述第二路段进行排序。

在本发明实施例中,上述子步骤s1032可以由排序子模块执行。

比较子模块,用于依次将每一段所述第一路段与对应序号相同的所述第二路段进行比较,直至不存在序号相同的所述第一路段和第二路段,以获得所述比较结果。

在本发明实施例中,上述子步骤s1033可以由比较子模块执行。

预判模块304,用于根据所述比较结果,对所述第一机器人与第二机器人之间是否会出现路径干涉进行预判。

在本发明实施例中,上述步骤s104可以由预判模块304执行。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

综上所述,本发明提供的一种机器人路径干涉预判方法及装置,应用于服务器,所述服务器分别与第一机器人、第二机器人通信连接,所述机器人路径干涉预判方法包括:分别获取所述第一机器人的第一剩余路径及所述第二机器人的第二剩余路径;根据预设的安全距离将所述第一剩余路径划分为多个第一路段,以及将所述第二剩余路径划分为多个第二路段;将每一段所述第一路段与所述第二路段进行比较,以获得比较结果;根据所述比较结果,对所述第一机器人与第二机器人之间是否会出现路径干涉进行预判。无需分析轨迹是否平行,判定方法更加高效简单,便于提前掌握机器人路径的干预,以便提前采取措施避免相遇。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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