机器人避免路径冲突的方法及其装置与流程

文档序号:13660206阅读:504来源:国知局
机器人避免路径冲突的方法及其装置与流程

本发明涉及移动机器人技术领域,尤其涉及一种机器人避免路径冲突方法及其装置。



背景技术:

目前,随着电子商务的发展,越来越多的消费者更青睐网上购物。商家在收到买家的订单后,需要从仓库中找出商品,并进行打包。为了提高拣货速度,仓储机器人应运而生。仓储机器人主要应用于仓库,当仓储机器人接到订单后,可以迅速定位出商品在仓库中分布的位置。在仓储机器人到达商品所在位置后进行拣货,拣完货后自动把货物送到打包台,由打包人员进行打包。仓储机器人的应用,减少了仓库管理人员的步行距离,大大提高了仓库分拣打包的效率。

然而,当使用多个机器人同时运输货物时,难免会出现路径冲突的问题。所谓路径冲突,就是指两个以上的机器人同时抢占同一个位置。为保证机器人的有序运行,如何避免机器人之间的路径冲突成为亟待解决的问题。



技术实现要素:

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本发明的第一个目的在于提出一种机器人避免路径冲突方法,通过获取预设范围内机器人的行驶数据判断是否存在冲突,并在存在冲突时对本端机器人运行过程进行控制来消除本端机器人与对端机器人之间的路径冲突,能够降低路径冲突的概率,提高仓储机器人的运输效率,解决现有技术中机器人较多时容易出现路径冲突的技术问题。

本发明的第二个目的在于提出一种机器人的避免路径冲突的装置。

本发明的第三个目的在于提出一种计算机设备。

本发明的第四个目的在于提出一种计算机程序产品。

本发明的第五个目的在于提出一种非临时性计算机可读存储介质。

为达上述目的,本发明第一方面实施例提出了一种机器人避免路径冲突的方法,包括:

获取本端机器人当前的第一行驶数据;其中,所述第一行驶数据包括:所述本端机器人未行驶的至少一个第一节点、第一行驶速度以及第一行驶方向;所述第一节点为距离所述本端机器人当前节点最近的节点;

接收处于预设范围内的至少一个对端机器人发送的第二行驶数据;其中,所述第二行驶数据包括:所述对端机器人未行驶的至少一个第二节点、第二行驶速度以及第二行驶方向;所述第二节点为距离所述对端机器人当前节点最近的节点;

根据所述第一行驶数据和所述第二行驶数据,判断所述本端机器人与所述对端机器人之间是否存在路径冲突;

如果判断出存在所述路径冲突,则对所述本端机器人的运行过程进行控制,以消除所述本端机器人与所述对端机器人之间的所述路径冲突。

本发明实施例的机器人避免路径冲突的方法,通过获取本端机器人当前的第一行驶数据,并接收处于预设范围内的至少一个对端机器人发送的第二行驶数据,根据第一行驶数据和第二行驶数据判断本端机器人与对端机器人之间是否存在路径冲突,并在判断出存在路径冲突时,对本端机器人的运行过程进行控制,以消除本端机器人与对端机器人之间的路径冲突。由此,能够降低路径冲突的概率,提高仓储机器人的运输效率。

为达上述目的,本发明第二方面实施例提出了一种机器人的避免路径冲突的装置,包括:

获取模块,用于获取本端机器人当前的第一行驶数据;其中,所述第一行驶数据包括:所述本端机器人未行驶的至少一个第一节点、第一行驶速度以及第一行驶方向;所述第一节点为距离所述本端机器人当前节点最近的节点;

接收模块,用于接收处于预设范围内的至少一个对端机器人发送的第二行驶数据;其中,所述第二行驶数据包括:所述对端机器人未行驶的至少一个第二节点、第二行驶速度以及第二行驶方向;所述第二节点为距离所述对端机器人当前节点最近的节点;

判断模块,用于根据所述第一行驶数据和所述第二行驶数据,判断所述本端机器人与所述对端机器人之间是否存在路径冲突;

控制模块,用于在判断出存在所述路径冲突时,对所述本端机器人运行过程进行控制,以消除所述本端机器人与所述对端机器人之间的所述路径冲突。

本发明实施例的机器人的避免路径冲突的装置,通过获取本端机器人当前的第一行驶数据,并接收处于预设范围内的至少一个对端机器人发送的第二行驶数据,根据第一行驶数据和第二行驶数据判断本端机器人与对端机器人之间是否存在路径冲突,并在判断出存在路径冲突时,对本端机器人运行国学进行控制,以消除本端机器人与对端机器人之间的路径冲突。由此,能够降低路径冲突的概率,提高仓储机器人的运输效率。

为达上述目的,本发明第三方面实施例提出了一种计算机设备,包括:

处理器和存储器;

其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如本发明第一方面实施例所述的机器人避免路径冲突的方法。

为达上述目的,本发明第四方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行如第一方面实施例所述的机器人避免路径冲突的方法。

为达上述目的,本发明第五方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,当计算机程序被处理器执行时实现如第一方面实施例所述的机器人避免路径冲突的方法。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明一实施例提出的机器人避免路径冲突的方法的流程示意图;

图2为本发明另一实施例提出的机器人避免路径冲突的方法的流程示意图;

图3为本发明又一实施例提出的机器人避免路径冲突的方法的流程示意图;

图4为本发明一实施例提出的机器人的避免路径冲突的装置的结构示意图;

图5为本发明另一实施例提出的机器人的避免路径冲突的装置的结构示意图;

图6为本发明又一实施例提出的机器人的避免路径冲突的装置的结构示意图;

图7为本发明一实施例提出的计算机设备的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

下面参考附图描述本发明实施例的机器人避免路径冲突的方法及其装置。

图1为本发明一实施例提出的机器人避免路径冲突的方法的流程示意图。

如图1所示,该机器人避免路径冲突的方法包括以下步骤:

s101,获取本端机器人当前的第一行驶数据。

其中,第一行驶数据包括但不限于本端机器人未行驶的至少一个第一节点、第一行驶速度以及第一行驶方向。第一节点为距离本端机器人当前节点最近的节点。

作为一种示例,可以将仓库的地面划分为多个区域,每个区域代表一个节点。针对每个区域,可以在该区域上粘贴一个用于定位的二维码图片,通过扫描该二维码图片,可以获取该节点的坐标信息和该节点的标识。机器人(包括本端机器人和对端机器人)上设置有无线通信模块(比如zigbee)、上视觉图像采集装置和下视觉图像采集装置,通过下视觉图像采集装置,可以对机器人当前所处区域的二维码图片进行扫描,进而获得机器人当前所在区域的位置信息和节点的标识。通过无线通信模块,机器人之间可以互相通信,机器人还可以与调度服务器进行通信。

作为一种示例,可以在本端机器人上设置速度传感器和方向传感器,由速度传感器采集本端机器人的第一行驶速度,由方向传感器采集本端机器人的第一行驶方向。

本实施例中,可以获取本端机器人的第一行驶速度、第一行驶方向和本端机器人当前所在区域的位置信息和节点的标识,并根据本端机器人当前所在区域的位置信息和节点的标识确定本端机器人未行使的节点中,距离该本端机器人当前所在节点最近的至少一个节点作为第一节点。

比如,可以将仓库中所有节点的标识和相对位置信息预先存储于存储器中。机器人(包括本端机器人和对端机器人)每经过一个节点,机器人上设置的下视觉图像传感器会扫描所经过节点区域的二维码图片,并将获取的位置信息和节点的标识上传。获取了本端机器人当前所在节点的位置信息和节点的标识之后,通过查询预先存储的所有节点的相对位置信息,并根据本端机器人所经过节点的标识,可以确定本端机器人未行使的至少一个节点。进而,可以从未行使的至少一个节点中,确定与本端机器人当前所在节点距离最近的至少一个节点作为至少一个第一节点,进而可以获取至少一个第一节点的标识。

s102,接收处于预设范围内的至少一个对端机器人发送的第二行驶数据。

其中,第二行驶数据包括但不限于对端机器人未行驶的至少一个第二节点、第二行驶速度以及第二行驶方向。第二节点为距离对端机器人当前节点最近的节点。

能够理解的是,只有与本端机器人距离较近的对端机器人才可能与本端机器人发生路径冲突的问题,距离较远的对端机器人基本不会影响本端机器人的行驶。从而,可以设置一个预设的范围,比如设置以本端机器人为中心、3米为半径所形成的圆形区域为预设的范围,接收该圆形区域内的至少一个对端机器人发送的第二行驶数据。当预设的范围内无对端机器人时,则本端机器人继续以第一行驶速度行驶。

需要说明的是,本端机器人和对端机器人为相同的机器人,每个机器人都可以作为本端机器人,也可以作为其他机器人的对端机器人。前述对获取本端机器人的第一行驶数据的解释说明,也适用于本实施例中获取预设范围内至少一个对端机器人的第二行驶数据的描述,其实现原理类似,为避免赘余,此处不再进行详细说明。

s103,根据第一行驶数据和第二行驶数据,判断本端机器人与对端机器人之间是否存在路径冲突。

具体地,可以将第一行驶数据和第二行驶数据中所包含的信息进行比较,以判断本端机器人与对端机器人之间是否存在冲突。比如,可以将第一行驶数据中包含的至少一个第一节点同第二行驶数据中包含的至少一个第二节点进行比较,当至少一个第一节点和至少一个第二节点中存在相同的节点时,可以判定本端机器人与对端机器人之间存在路径冲突。

需要说明的是,对本端机器人与对端机器人之间是否存在路径冲突的判断将在后续内容中给出详细的解释说明,为避免赘述,此处不再进行过多描述。

s104,如果判断出存在路径冲突,则对本端机器人运行过程进行控制,以消除本端机器人与对端机器人之间的路径冲突。

本实施例中,若根据第一行驶数据和第二行驶数据判断出本端机器人和对端机器人之间存在路径冲突时,可以对本端机器人的运行过程进行控制,以消除本端机器人与对端机器人之间的路径冲突。

比如,可以对本端机器人的行驶速度进行控制,降低本端机器人的行驶速度,使与本端机器人存在路径冲突的对端机器人先通过冲突的节点,本端机器人在对端机器人通过后再通过冲突的节点,以避免本端机器人和对端机器人在冲突的节点发生碰撞。再比如,可以控制本端机器人停止,等待与本端机器人存在路径冲突的对端机器人先通过冲突节点,然后再启动本端机器人通过冲突节点。

本实施例的机器人避免路径冲突的方法,通过获取本端机器人当前的第一行驶数据,并接收处于预设范围内的至少一个对端机器人发送的第二行驶数据,根据第一行驶数据和第二行驶数据判断本端机器人与对端机器人之间是否存在路径冲突,并在判断出存在路径冲突时,对本端机器人的运行过程进行控制,以消除本端机器人与对端机器人之间的路径冲突。由此,能够降低路径冲突的概率,提高仓储机器人的运输效率。

前文已提到过,可以将第一行驶数据和第二行驶数据中所包含的信息进行比较来判断本端机器人与对端机器人之间是否存在路径冲突。为便于理解,下面将对根据第一行驶数据和第二行驶数据判断本端机器人与对端机器人之间是否存在路径冲突进行详细地说明。图2为本发明另一实施例提出的机器人避免路径冲突的方法的流程示意图。

如图2所示,在如图1所示实施例的基础上,步骤s103可以包括以下步骤:

s201,从第一行驶数据中提取第一节点和第二行驶数据中提取第二节点。

本实施例中,获取了本端机器人的第一行驶数据和对端机器人的第二行驶数据之后,可以分别对第一行驶数据和第二行驶数据进行分析处理,以从第一行驶数据中提取出第一节点,并从第二行驶数据中提取出第二节点。

s202,判断第一节点和第二节点中是否存在冲突节点。

具体地,可以将第一节点的标识和第二节点的标识进行比较,将标识相同的节点作为冲突节点。

如前文所述,可以根据本端机器人当前所在节点的位置信息,以及预先存储的所有节点的相对位置信息,确定本端节点的第一节点,进而可以从预先存储的所有节点的标识中获取第一节点的标识。同样的,可以获取第二节点的标识。进一步地,将第一节点的标识和第二节点的标识进行比较,通过判断第一节点的标识是否与第二节点的标识相同,来判断第一节点和第二节点中是否存在冲突节点。当第一节点的标识与第二节点的标识中存在相同的标识时,确定第一节点和第二节点中存在冲突节点,此时执行步骤s203;否则,执行步骤s206。

s203,根据第一行驶速度和第一行驶方向,确定本端机器人行驶到冲突节点的第一时刻。

作为一种示例,通过扫描节点处的二维码图片可以获得本端机器人当前所在节点的位置信息,从预先存储的所有节点的相对位置信息中可以获得冲突节点的位置信息。根据本端机器人当前所在节点的位置信息、冲突节点的位置信息,以及本端机器人的第一行驶方向,可以确定本端机器人从当前节点行驶至冲突节点的路径,并计算获得所需行驶的距离。进而,根据本端机器人的第一行驶速度,可以确定本端机器人从当前节点行驶至冲突节点所需的第一时间。基于当前时间,可以确定本端机器人从当前节点行驶至冲突节点的第一时刻。

s204,根据第二行驶速度和第二行驶方向,确定对端机器人行驶到冲突节点的第二时刻。

作为一种示例,通过扫描节点处的二维码图片可以获得对端机器人当前所在节点的位置信息,从预先存储的所有节点的相对位置信息中可以获得冲突节点的位置信息。根据对端机器人当前所在节点的位置信息、冲突节点的位置信息,以及对端机器人的第二行驶方向,可以确定对端机器人从当前节点行驶至冲突节点的路径,并计算获得所需行驶的距离。进而,根据对端机器人的第二行驶速度,可以确定对端机器人从当前节点行驶至冲突节点所需的第二时间。基于当前时间,可以确定对端机器人从当前节点行驶至冲突节点的第二时刻。

需要说明的是,步骤s203和步骤s204的执行顺序不分先后,二者可以同时执行,也可以先后执行,本实施例仅以步骤s204在步骤s203之后执行为例进行解释说明,但不能作为对本发明的限制。

s205,如果第一时刻和第二时刻相同,则确定存在路径冲突。

本实施例中,将确定的第一时刻和第二时刻进行比较,当第一时刻和第二时刻相同时,可以确定本端机器人与对端机器人之间存在路径冲突。

s206,结束。

本实施例中,当第一节点与第二节点中不存在标识相同的节点,或者第一时刻与第二时刻不相同时,则认为本端机器人与对端机器人之间不存在路径冲突,此时不执行任何操作,本端机器人和对端机器人仍按原来的速度行驶。

本实施例的机器人避免路径冲突的方法,通过先判断第一节点与第二节点中是否存在冲突节点,并在存在冲突节点时,进一步根据第一行驶速度和第一行驶方向确定本端机器人行驶至冲突节点的第一时刻,并根据第二行驶速度和第二行驶方向确定对端机器人行驶至冲突节点的第二时刻,当第一时刻和第二时刻相同时,确定本端机器人和对端机器人之间存在路径冲突,能够提高路径冲突的判断准确性,降低机器人之间发生碰撞的概率。

由于一个区域不一定仅限制一台机器人通过,从不同方向驶来的机器人即使到达冲突节点的时刻一致,也不一定存在路径冲突的问题。比如,当本端机器人与对端机器人处于同一侧时,即使两者到达冲突节点的第一时刻和第二时刻相同,本端机器人和对端机器人可以并肩经过冲突节点,此时并不存在路径冲突。因此,认为到达冲突节点的时刻相同时,本端机器人和对端机器人之间存在路径冲突不够准确。

为了进一步提高路径冲突的判断准确性,在本发明实施例一种可能的实现方式中,在根据第一行驶速度和第一行驶方向确定本端机器人行驶到冲突节点的第一时刻之前,还可以根据第一行驶方向和第二行驶方向,确定本端机器人与对端机器人为相向行驶。也就是说,在判断出第一节点与第二节点中存在冲突节点之后,可以进一步判断第一行驶方向与第二行驶方向是否为相向而行,并在本端机器人与对端机器人的行驶方向为相对而行时,再计算本端机器人和对端机器人到达冲突节点的时刻。

通过在判断出存在冲突节点后进一步确定第一行驶方向和第二行驶方向为相向行驶,进而根据到达冲突节点的时刻来判断本端机器人和对端机器人之间是否存在路径冲突,能够进一步提高路径冲突判断的准确性,保障机器人之间的高效运行。

为了消除本端机器人与对端机器人之间的路径冲突,在判断出本端机器人与对端机器人之间存在冲突之后,可以对本端机器人的运行过程进行控制。

作为一种可能的实现方式,在判断出本端机器人与对端机器人之间存在路径冲突之后,可以按照预设的步长降低第一行驶速度,并控制本端机器人按照降低后的第一行驶速度行驶。或者,还可以控制本端机器人停止行驶预设的时长,在停止预设时长之后再继续行驶。

其中,预设的步长和预设的时长都是预先设定的,可以由研发人员在设计控制程序时预先设定,本发明对步长和时长的具体取值不作限定。

举例而言,假设预设的步长为0.1m/s,本端机器人的第一行驶速度为0.5m/s。在判断出本端机器人与对端机器人之间存储路径冲突时,将本端机器人的第一行驶速度按照0.1m/s的步长进行降低,得到降低后的行驶速度为0.4m/s,则控制本端机器人以0.4m/s的速度行驶。

举例而言,假设预设时长为2秒。在判断出本端机器人与对端机器人之间存储路径冲突时,可以控制本端机器人暂停行驶2秒,在2秒过后,再控制本端机器人以原来的速度行驶。

通过在判断出存在路径冲突时对本端机器人的第一行驶速度按照预设的步长进行降低,从而使本端机器人行驶至冲突节点的时刻晚于对端机器人行驶至冲突节点的时刻,由此能够避免本端机器人与对端机器人发生路径冲突,保证了机器人的安全。

本端机器人的第一行驶数据中除了包含第一行驶速度、第一行驶方向和至少一个第一节点外,还可以包括本端机器人所处的当前节点,相应的,对端机器人的第二行驶数据中除了包含第二行驶方向、第二行驶速度和至少一个第二节点外,还可以包括对端机器人所处的当前节点。从而,作为另一种可能的实现方式,如图3所示,在前述实施例的基础上,对本端机器人的运行过程进行控制,可以包括以下步骤:

s301,获取本端机器人的当前节点与冲突节点之间的行驶距离,以及每个对端机器人的当前节点与冲突节点之间的行驶距离。

本实施例中,根据第一行驶数据中包含的本端机器人所处的当前节点,以及判断出的冲突节点,根据当前节点与冲突节点的位置信息,可以确定本端机器人的当前节点与冲突节点之间的行驶距离。同理,根据第二行驶数据中包含的对端机器人所处的当前节点,以及判断出的冲突节点,可以确定每个对端机器人的当前节点与冲突节点之间的行驶距离。

以计算本端机器人的当前节点与冲突节点之间的行驶距离为例。根据当前节点与冲突节点的位置信息,可以确定从当前节点行驶至冲突节点的路径,再获取该路径所经过的节点的个数,将经过每个节点时所需行驶的距离逐个相加,即可得到从当前节点行驶至冲突节点所需的行驶距离。

s302,将所有的行驶距离按照从小到大进行排序。

s303,判断本端机器人是否位于排序结果中的首位。

在获取了本端机器人与对端机器人的当前节点分别与冲突节点之间的行驶距离之后,可以将获得的所有行驶距离按照从小到大的顺序进行排序,并判断本端机器人的当前节点与冲突节点之间的行驶距离是否位于排序结果中的首位。若本端机器人位于排序结果的首位,则执行步骤s308;若本端机器人未处于排序结果的首位,则执行步骤s304。

s304,从排序结果中获取位于本端机器人前面且距离最近的对端机器人作为第一对端机器人。

当本端机器人未处于排序结果中的首位时,可以从排序结果中获取位于本端机器人前面,且与冲突节点之间的行驶距离最近的对端机器人作为第一对端机器人。也就是说,本实施例中,将位于本端机器人前面,距离冲突节点的行驶距离小于本端机器人到冲突节点的行驶距离的对端机器人作为第一对端机器人。

s305,获取第一对端机器人的第二行驶速度。

本实施例中,确定了第一对端机器人之后,可以从之前接收的处于预设范围内的至少一个对端机器人发送的第二行驶数据中,获取第一对端机器人对应的第二行驶数据,并从中提取出第二行驶速度。

s306,根据第二行驶速度,降低第一行驶速度得到理想行驶速度。

本实施例中,获取了第一对端机器人的第二行驶速度之后,可以进一步根据第二行驶速度降低第一行驶速度,以得到理想行驶速度,从而保证处于本端机器人之前的第一对端机器人优先通过,避免本端机器人与第一对端机器人发生碰撞。

能够理解的是,为避免本端机器人与对端机器人之间发生碰撞,需要确保对第一行驶速度降低后得到的理想行驶速度不大于第二行驶速度,以保证第一对端机器人优先通过后,本端机器人再通过,从而达到消除路径冲突的目的。也就是说,对第一行驶速度的控制需要以第二行驶速度作为参照。

比如,本端机器人的第一行驶速度为0.6m/s,第一对端机器人的第二行驶速度为0.4m/s。保险起见,为了避免发生碰撞,可以将第一行驶速度降低0.2m/s,得到理想行驶速度为0.4m/s。当第一对端机器人与本端机器人以相同的速度行驶时,由于第一对端机器人在本地机器人前门,且距离冲突节点的行驶距离更短,则第一对端机器人可以先于本端机器人到达冲突节点,避免了碰撞的发生。

s307,控制本端机器人按照理想行驶速度行驶。

本实施例中,获得理想行驶速度之后,可以控制本端机器人按照理想行驶速度行驶,以保证不会与第一对端机器人发生碰撞。

s308,确定本端机器人的优先级最高,控制本端机器人按照第一行驶速度行驶。

本实施例中,当本端机器人处于排序结果中的首位时,表明本端机器人距离冲突节点最近,此时可以确定本端机器人的优先级最高,可以优先通过冲突节点,则控制本端机器人继续按照第一行驶速度行驶。

本实施例的机器人避免路径冲突的方法,通过获取本端机器人的当前节点与冲突节点之间的行驶距离,以及每个对端机器人的当前节点与冲突节点之间的行驶距离,将所有的行驶距离按照从小到大进行排序,并在本端机器人位于排序结果中的首位时,确定本端机器人的优先级最高,控制本端机器人按照第一行驶速度行驶,在本端机器人未位于排序结果中的首位时,从排序结果中获取位于本端机器人前面且距离最近的对端机器人作为第一对端机器人,获取第一对端机器人的第二行驶速度,根据第二行驶速度降低第一行驶速度以得到理想行驶速度,并控制本端机器人按照理想行驶速度行驶,能够保证距离冲突节点最近的机器人优先通过,消除了路径冲突,确保机器人之间不会发生碰撞,保障了机器人安全和行驶效率。

在本发明实施例一种可能的实现方式中,还可以通过调度服务器对本端机器人的运行过程进行控制。此时,在降低第一行驶速度得到理想行驶速度之后,可以将获得的理想行驶速度上报给调度服务器,由调度服务器根据理想行驶速度形成的控制指令。进而通过接收调度服务器下发的控制指令,根据控制指令控制本端机器人按照理想行驶速度行驶。

通过调度服务器根据理想行驶速度生成控制指令,根据控制指令控制本端服务器以理想行驶速度行驶,能够实现本端机器人的灵活控制,简化对本端机器人的运行过程的控制程序。

为了实现上述实施例,本发明还提出一种机器人的避免路径冲突的装置。

图4为本发明一实施例提出的机器人的避免路径冲突的装置的结构示意图。

如图4所示,该机器人的避免路径冲突的装置40包括:获取模块410、接收模块420、判断模块430,以及控制模块440。其中,

获取模块410,用于获取本端机器人当前的第一行驶数据。

其中,第一行驶数据包括但不限于本端机器人未行驶的至少一个第一节点、第一行驶速度以及第一行驶方向。第一节点为距离本端机器人当前节点最近的节点。

接收模块420,用于接收处于预设范围内的至少一个对端机器人发送的第二行驶数据。

其中,第二行驶数据包括但不限于对端机器人未行驶的至少一个第二节点、第二行驶速度以及第二行驶方向。第二节点为距离对端机器人当前节点最近的节点。

判断模块430,用于根据第一行驶数据和第二行驶数据,判断本端机器人与对端机器人之间是否存在路径冲突。

控制模块440,用于在判断出存在路径冲突时,对本端机器人的运行过程进行控制,以消除本端机器人与对端机器人之间的路径冲突。

需要说明的是,前述对机器人避免路径冲突的方法实施例的解释说明,也适用于本实施例的机器人的避免路径冲突的装置,其实现原理类似,此处不再赘述。

本实施例的机器人的避免路径冲突的装置,通过获取本端机器人当前的第一行驶数据,并接收处于预设范围内的至少一个对端机器人发送的第二行驶数据,根据第一行驶数据和第二行驶数据判断本端机器人与对端机器人之间是否存在路径冲突,并在判断出存在路径冲突时,对本端机器人运行国学进行控制,以消除本端机器人与对端机器人之间的路径冲突。由此,能够降低路径冲突的概率,提高仓储机器人的运输效率。

进一步地,在本发明实施例一种可能的实现方式中,如图5所示,在如图4所示实施例的基础上,判断模块430可以包括:

提取单元431,用于从第一行驶数据中提取第一节点和第二行驶数据中提取第二节点。

判断单元432,用于判断第一节点和第二节点中是否存在冲突节点。

具体地,判断单元432用于将第一节点的标识与第二节点的标识进行比较,将标识相同的节点作为冲突节点。

第一确定单元433,用于在第一节点和第二节点中存在冲突节点时,根据第一行驶速度和第一行驶方向,确定本端机器人行驶到冲突节点的第一时刻;以及,根据第二行驶速度和第二行驶方向,确定对端机器人行驶到冲突节点的第二时刻。

第二确定单元434,用于在第一时刻和第二时刻相同时,确定存在路径冲突。

需要说明的是,前述对机器人避免路径冲突的方法实施例的解释说明,也适用于本实施例的机器人的避免路径冲突的装置,其实现原理类似,此处不再赘述。

本实施例的机器人的避免路径冲突的装置,通过先判断第一节点与第二节点中是否存在冲突节点,并在存在冲突节点时,进一步根据第一行驶速度和第一行驶方向确定本端机器人行驶至冲突节点的第一时刻,并根据第二行驶速度和第二行驶方向确定对端机器人行驶至冲突节点的第二时刻,当第一时刻和第二时刻相同时,确定本端机器人和对端机器人之间存在路径冲突,能够提高路径冲突的判断准确性,降低机器人之间发生碰撞的概率。

由于一个区域不一定仅限制一台机器人通过,从不同方向驶来的机器人即使到达冲突节点的时刻一致,也不一定存在路径冲突的问题。比如,当本端机器人与对端机器人处于同一侧时,即使两者到达冲突节点的第一时刻和第二时刻相同,本端机器人和对端机器人可以并肩经过冲突节点,此时并不存在路径冲突。因此,认为到达冲突节点的时刻相同时,本端机器人和对端机器人之间存在路径冲突不够准确。

为了进一步提高路径冲突的判断准确性,在本发明实施例一种可能的实现方式中,在第一确定单元433根据第一行驶速度和第一行驶方向确定本端机器人行驶到冲突节点的第一时刻之前,还可以先根据第一行驶方向和第二行驶方向,确定本端机器人与对端机器人为相向行驶。由此,能够进一步提高路径冲突判断的准确性,保障机器人之间的高效运行。

为了消除本端机器人与对端机器人之间的路径冲突,在判断出本端机器人与对端机器人之间存在冲突之后,该机器人的避免路径冲突的装置40还可以通过控制模块440对本端机器人的运行过程进行控制。

在本发明实施例一种可能的实现方式中,控制模块440具体用于在判断出本端机器人与对端机器人之间存在路径冲突之后,按照预设的步长降低第一行驶速度,并控制本端机器人按照降低后的第一行驶速度行驶。或者,控制模块440还可以控制本端机器人停止行驶预设的时长,在停止预设时长之后再继续行驶。

其中,预设的步长和预设的时长都是预先设定的,可以由研发人员在设计控制程序时预先设定,本发明对步长和时长的具体取值不作限定。

通过在判断出存在路径冲突时对本端机器人的第一行驶速度按照预设的步长进行降低,从而使本端机器人行驶至冲突节点的时刻晚于对端机器人行驶至冲突节点的时刻,由此能够避免本端机器人与对端机器人发生路径冲突,保证了机器人的安全。

在本发明实施例另一种可能的实现方式中,本端机器人的第一行驶数据中除了包含第一行驶速度、第一行驶方向和至少一个第一节点外,还可以包括本端机器人所处的当前节点,相应的,对端机器人的第二行驶数据中除了包含第二行驶方向、第二行驶速度和至少一个第二节点外,还可以包括对端机器人所处的当前节点。从而,如图6所示,在如图4所示实施例的基础上,控制模块440可以包括:

获取单元441,用于获取本端机器人的当前节点与冲突节点之间的行驶距离,以及每个对端机器人的当前节点与冲突节点之间的行驶距离。

排序单元442,用于将所有的行驶距离按照从小到大进行排序。

处理单元443,用于从排序结果中获取位于本端机器人前面且距离最近的对端机器人作为第一对端机器人;获取第一对端机器人的第二行驶速度;根据第二行驶速度,降低第一行驶速度得到理想行驶速度。

控制单元444,用于控制本端机器人按照理想行驶速度行驶。

可选地,在本发明实施例一种可能的实现方式中,处理单元443还可以用于在降低第一行驶速度得到理想行驶速度之后,将理想行驶速度上报给调度服务器,并接收调度服务器根据理想行驶速度形成的控制指令。此时,控制单元444还用于根据控制指令,控制本端机器人按照理想行驶速度行驶。

对于本端机器人位于排序结果中的首位的情况,控制单元444具体用于确定本端机器人的优先级最高,控制本端机器人按照第一行驶速度行驶。

需要说明的是,前述对机器人避免路径冲突的方法实施例的解释说明,也适用于本实施例的机器人的避免路径冲突的装置,其实现原理类似,此处不再赘述。

本实施例的机器人的避免路径冲突的装置,通过获取本端机器人的当前节点与冲突节点之间的行驶距离,以及每个对端机器人的当前节点与冲突节点之间的行驶距离,将所有的行驶距离按照从小到大进行排序,并在本端机器人位于排序结果中的首位时,确定本端机器人的优先级最高,控制本端机器人按照第一行驶速度行驶,在本端机器人未位于排序结果中的首位时,从排序结果中获取位于本端机器人前面且距离最近的对端机器人作为第一对端机器人,获取第一对端机器人的第二行驶速度,根据第二行驶速度降低第一行驶速度以得到理想行驶速度,并控制本端机器人按照理想行驶速度行驶,能够保证距离冲突节点最近的机器人优先通过,消除了路径冲突,确保机器人之间不会发生碰撞,保障了机器人安全和行驶效率。

为了实现上述实施例,本发明还提出一种计算机设备。图7为本发明一实施例提出的计算机设备的结构示意图。

如图7所示,该计算机设备70包括:处理器701和存储器702。其中,处理器701通过读取存储器702中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于实现如前述实施例所述的机器人避免路径冲突的方法。

为了实现上述实施例,本发明还提出一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行如前述实施例所述的机器人避免路径冲突的方法。

为了实现上述实施例,本发明还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前述实施例所述的机器人避免路径冲突的方法。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

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

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

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