机器人排队方法、装置、后台服务端及存储介质与流程

文档序号:16261442发布日期:2018-12-14 21:34阅读:230来源:国知局
机器人排队方法、装置、后台服务端及存储介质与流程

本发明涉及机器人技术领域,具体而言,涉及一种机器人排队方法、装置、后台服务端及存储介质。

背景技术

由于机器人本身的控制系统有自行规划路径的能力,在遇到障碍物时,机器人可以依赖自身的控制系统对当前移动路径重新进行规划,实现障碍物的自主避让,进行自主移动,但是,在空间受限制的情况下,预设路径通常规划成单行道,要求多个机器人进行排队,以按照先后顺序在预设路径上移动,在这种情况下,机器人本身的自主避让就无法实现多个机器人的排队移动。



技术实现要素:

本发明实施例的目的在于提供一种机器人排队方法、装置、后台服务端及存储介质,用以在预设路径规划成单行道的情况下,实现多个机器人的排队移动。

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

第一方面,本发明实施例提供了一种机器人排队方法,应用于后台服务端,后台服务端与第一机器人及第二机器人均通信连接,所述后台服务端预先存储有预设路径,第二机器人按照预设路径移动,第一机器人的移动方向与第二机器人的移动方向相同,所述方法包括:获取第一机器人的当前位置,并依据第一机器人的当前位置判断第一机器人是否位于预设路径上;当第一机器人位于预设路径上时,判断第一机器人在移动方向上是否位于第二机器人之前;当第一机器人在移动方向上位于第二机器人之前时,依据第二机器人与第一机器人之间的距离判断第二机器人是否满足排队条件;当第二机器人满足排队条件时,向第二机器人发送等待指令,以使第二机器人在当前位置等待预设时长进行排队。

第二方面,本发明实施例还提供了一种机器人排队装置,应用于后台服务端,后台服务端与第一机器人及第二机器人均通信连接,后台服务端预先存储有预设路径,第二机器人按照预设路径移动,第一机器人的移动方向与第二机器人的移动方向相同,装置包括获取模块、第一判断模块、第二判断模块和排队模块。其中,获取模块用于获取第一机器人的当前位置,并依据第一机器人的当前位置判断第一机器人是否位于预设路径上;第一判断模块用于当第一机器人位于预设路径上时,判断第一机器人在移动方向上是否位于第二机器人之前,第二判断模块用于当第一机器人在移动方向上位于第二机器人之前时,依据第二机器人与第一机器人之间的距离判断第二机器人是否满足排队条件,排队模块用于当第二机器人满足排队条件时,向第二机器人发送等待指令,以使第二机器人在当前位置等待预设时长进行排队。

第三方面,本发明实施例还提供了一种后台服务端,所述后台服务端包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述的机器人排队方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述机器人排队方法。

相对现有技术,本发明实施例提供的一种机器人排队方法、装置、后台服务端及存储介质,后台服务端与第一机器人及第二机器人均通信连接,后台服务端预先存储有预设路径,第二机器人按照预设路径移动,第一机器人的移动方向与第二机器人的移动方向相同,首先,后台服务端获取第一机器人的当前位置,依据第一机器人的当前位置判断第一机器人是否位于预设路径上,当第一机器人位于预设路径上时,再判断第一机器人在移动方向上是否位于第二机器人之前,当第一机器人在移动方向上位于第二机器人之前时,接着依据第二机器人与第一机器人之间的距离判断第二机器人是否满足排队条件,当第二机器人满足排队条件时,后台服务端向第二机器人发送等待指令,以使第二机器人在当前位置等待预设时长进行排队。与现有技术相比,本发明实施例在预设路径规划成单行道的情况下,通过判断第二机器人是否满足排队条件,并且当第二机器人满足排队条件时,向第二机器人发送等待指令,以使第二机器人在当前位置等待预设时长进行排队,满足了多个机器人需要排队移动的场景需求。

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

附图说明

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

图1示出了本发明实施例提供的机器人排队方法的场景示意图。

图2示出了本发明实施例提供的后台服务端的方框示意图。

图3示出了本发明实施例提供的机器人排队方法流程图。

图4示出了本发明实施例提供的机器人排队装置的方框示意图。

图标:100-后台服务端;101-存储器;102-存储控制器;103-处理器;200-机器人排队装置;201-获取模块;202-第一判断模块;203-第二判断模块;204-排队模块;205-保存模块;300-第一机器人;400-第二机器人。

具体实施方式

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

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

请参照图1,图1示出了本发明实施例提供的机器人排队方法的场景示意图。后台服务端100与第一机器人300和第二机器人400均通信连接,后台服务端100获取第一机器人300的当前位置及第二机器人400的当前位置,依据第一机器人300的当前位置、第二机器人400的当前位置及预设路径判断第二机器人400是否满足排队条件,当第二机器人400满足排队条件时,后台服务端100发送等待指令至第二机器人400,以使第二机器人400在当前位置好等待预设时长进行排队。

需要指出的是,虽然图1中只示出一个第一机器人300及一个第二机器人400,但并不意味着本发明只适用于一个第一机器人300与一个第二机器人400的情况,当有多个第一机器人300与多个第二机器人400时,每个第一机器人300与每个第二机器人400使用的方案是一样的,本领域技术人员完全可以依据本发明实施例揭示的机器人排队方法、在不做出新的发明创造的前提下实现多个第一机器人300与多个第二机器人400的情况下的机器人排队方法。

请参照图2,图2示出了本发明实施例提供的后台服务端100的方框示意图。后台服务端100可以是,但不限于个人电脑(personalcomputer,pc)、服务器等等。后台服务端100的操作系统可以是,但不限于,windows系统、linux系统等。所述后台服务端100包括机器人排队装置200、存储器101、存储控制器102及处理器103。

存储器101、存储控制器102及处理器103各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。机器人排队装置200包括至少一个可以软件或固件(firmware)的形式存储于存储器101中或固化在所述后台服务端100的操作系统(operatingsystem,os)中的软件功能模块。处理器103用于执行存储器101中存储的可执行模块,例如机器人排队装置200所包括的软件功能模块及计算机程序等。

其中,存储器101可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器101用于存储程序,所述处理器103在接收到执行指令后,执行所述程序。

处理器103可以是一种集成电路芯片,具有信号处理能力。上述的处理器103可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)、语音处理器以及视频处理器等;还可以是数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器103也可以是任何常规的处理器等。

第一实施例

请参照图3,图3示出了本发明实施例提供的机器人排队方法流程图。机器人排队方法包括以下步骤:

步骤s101,获取第一机器人的当前位置,并依据第一机器人的当前位置判断第一机器人是否位于预设路径上。

在本发明实施例中,预设路径是预先规划的一条单行道,即第一机器人300与第二机器人400必须按照预设路径的单行的移动方向进行移动,预设路径包括至少两个导航点,第一机器人300与第二机器人400按照导航点的先后顺序依次途径每个导航点进行移动。后台服务端100首先获取第一机器人300的当前位置,然后计算第一机器人300的当前位置与每个导航点之间的多个第一导航距离,当多个导航距离中的第一最小导航距离小于第一预设距离时,判定第一机器人300位于预设路径上。

作为一种实施方式,依据第一机器人300的当前位置判断第一机器人300是否位于预设路径上的方法可以是:

首先,计算第一机器人的当前位置与每个导航点之间的多个第一导航距离。

其次,对多个导航距离进行排序,得到多个导航距离中的第一最小导航距离。

在本发明实施例中,第一机器人300的当前位置及每个导航点可以以栅格坐标的形式表示,计算第一机器人300的当前位置与每个导航点之间的多个第一导航距离的计算公式可以是:

其中,a代表预设路径上的多个导航点的集合,多个导航点途径的先后顺序为1,…,m,第一机器人300的当前位置表示为(xj,yj),多个导航点的位置表示为(xi,yi),其中,i=1,…,m,lij是第一机器人300的当前位置(xj,yj)与每个导航点的位置(xi,yi),i=1,…,m之间的多个第一导航距离,lj表示多个导航距离中的第一最小导航距离。

最后,当第一最小导航距离小于第一预设距离时,判定第一机器人位于预设路径上。

在本发明实施例中,第一预设距离可以是第一机器人300安全距离的预设安全系数的倍数,第一机器人300的安全距离是根据第一机器人300尺寸大小确定的,是机器人可以继续向移动方向移动的最小距离,预设安全系数的倍数可以根据实际场景进行相应的设置,例如,第一机器人300安全距离为1米,预设安全系数的倍数为1.5,则第一预设距离为1米*1.5=1.5米。

步骤s102,当第一机器人位于预设路径上时,判断第一机器人在移动方向上是否位于第二机器人之前。

在本发明实施例中,每个导航点均预先按照途径的先后顺序设置有对应的序号,后台服务端100在步骤s101中可以获得第一最小导航距离对应的导航点后,首先,获取与该导航点对应的第一序号,然后,计算第二机器人400的当前位置与每个导航点之间的多个第二导航距离,获取第二最小导航距离对应的导航点的第二序号,当第一序号大于第二序号时,判定第一机器人300在移动方向上位于第二机器人400之前。

作为一种实施方式,判断第一机器人300在移动方向上是否位于第二机器人400之前的方法可以是:

首先,获取所述第一最小导航距离对应的导航点的第一序号。

在本发明实施例中,预先为每个导航点按照预设路径的移动方向途径的先后顺序设置一个序号,例如,预设路径上有a、b、c、d、e五个导航点,按照移动方向途径的顺序为a、b、c、d、e,则a、b、c、d、e的序号分别为1、2、3、4、5,若第一最下导航距离对应的导航点为c点,则c点的序号3为第一序号。

其次,计算第二机器人的当前位置与每个导航点之间的多个第二导航距离。

第三,对多个第二导航距离进行排序,得到多个第二导航距离中的第二最小导航距离;

第四,获取第二最小导航距离对应的导航点的第二序号。

在本发明实施例中,计算第二机器人400的当前位置与每个导航点之间的多个第二导航距离的方法及得到第二最小导航距离的方法与计算第一机器人300的当前位置与每个导航点之间的多个第一导航距离的方法及得到第一最小导航距离的方法类似,此处不再赘述。

最后,当第一序号大于第二序号时,判定第一机器人在移动方向上位于第二机器人之前。

步骤s103,当第一机器人在移动方向上位于第二机器人之前时,依据第二机器人与第一机器人之间的距离判断第二机器人是否满足排队条件。

在本发明实施例中,计算第二机器人400与第一机器人300之间的距离可以通过第二机器人400的当前位置与第一机器人300的当前位置,使用公式得到,其中,s12表示第二机器人400与第一机器人300之间的距离,表示第一机器人300的当前位置,表示第二机器人400的当前位置。

在本发明实施例中,当第二机器人400与第一机器人300之间的距离大于预设自主避让距离且小于第二预设距离时,判定第二机器人400满足排队条件,其中,预设自主避让距离是第二机器人400预先设置的遇到障碍物时的避让距离,当第二机器人400检测到障碍物位于预设自主避让距离范围内时,第二机器人400会自主生成避让路径,并按照避让路径避让障碍物,第二预设距离是预先设置的,第二预设距离可以与第一预设距离相同,也可以根据实际应用场景设置成与第一预设距离不同。

在本发明实施例中,排队条件为第二机器人400与第一机器人300之间的距离大于预设自主避让距离且小于第二预设距离,可以在第二机器人400将第一机器人300判断为障碍物之前进行排队,避免了第二机器人400将第一机器人300判断为障碍物,进而生成自主避让路径,避让第一机器人300,破坏第二机器人400和第一机器人300排队移动。

步骤s104,当第二机器人满足排队条件时,向第二机器人发送等待指令,以使第二机器人在当前位置等待预设时长进行排队。

在本发明实施例中,后台服务端100向第二机器人400发送等待指令,第二机器人400在收到该等待指令后,在当前位置等待预设时长后再继续按照预设路径移动,由于第二机器人400在当前位置等待预设时长,因此,第二机器人400不会超过第一机器人300,从而保证了第二机器人400在移动方向上始终排列在第一机器人300的后面。

在本发明实施例中,不管判断第一机器人300是否位于预设路径上,还是判断第一机器人300在移动方向上是否位于第二机器人400之前,还是判断第二机器人400是否满足排队条件,都需要利用第一机器人300及第二机器人400的当前位置进行相应的计算才能进行对应的判断,一方面,为了保证上述三种情况下判断的效率,会将第一机器人300及第二机器人400的当前位置预先保存在后台服务端100上,需要进行上述每种情况的判断时直接从后台服务端100上获取,另一方面,为了保证上述三种情况下判断的准确性,需要保证判断时使用的第一机器人300及第二机器人400的当前位置与其实际位置最接近的,后台服务端100按照预设周期获取第一机器人300的当前位置及第二机器人400的当前位置并保存,因此本发明实施例还包括步骤s105。

步骤s105,按照预设周期获取第一机器人的当前位置及第二机器人的当前位置并保存。

在本发明实施例中,预设周期可以根据实际需要进行预先设置,例如,在准确性要求不高的情况下,预设周期可以适当地设置长一些,以免影响后台服务端100的运行效率,在准确性要求高的情况下,预设周期可以适当地设置短一些,以免影响上述三种情况下判断的准确性。

需要说明的是,在本发明实施例中,步骤s105不是必须在步骤s104之后执行,可以在图3流程图中示出的任何一个步骤之前或者之后执行。

在本发明实施例中,在预设路径规划成单行道的情况下,通过判断第一机器人300是否位于预设路径上,当第一机器人300位于预设路径上时,再判断第一机器人300在移动方向上是否位于第二机器人400之前,当第一机器人300在移动方向上位于第二机器人400之前时,接着依据第二机器人400与第一机器人300之间的距离判断第二机器人400是否满足排队条件,并且当第二机器人400满足排队条件时,向第二机器人400发送等待指令,以使第二机器人400在当前位置等待预设时长进行排队,与现有技术相比,具有以下有益效果:

第一,在第一机器人300位于预设路径上,且第一机器人300在移动方向上位于第二机器人400之前时,再判断第二机器人400是否满足排队条件,有效地避免了其他无效的排队,保证了排队条件判断的准确性。

第二,后台服务端100获取并保存第一机器人300的当前位置及第二机器人400的当前位置的预设周期可以根据实际应用场景进行不同的设置,方便使用者根据实际应用场景的不同需求实现效率和准确性的平衡,丰富了本发明实施例的应用场景。

第二实施例

请参照图4,图4示出了本发明实施例提供的机器人排队装置200的方框示意图。机器人排队装置200应用于后台服务端100,其包括获取模块201;第一判断模块202;第二判断模块203;排队模块204;保存模块205。

获取模块201,用于获取第一机器人的当前位置,并依据第一机器人的当前位置判断第一机器人是否位于预设路径上。

在本发明实施例中,获取模块201用于执行步骤s101。

第一判断模块202,用于当第一机器人位于预设路径上时,判断第一机器人在移动方向上是否位于第二机器人之前。

在本发明实施例中,第一判断模块202用于执行步骤s102。

第二判断模块203,用于当第一机器人在移动方向上位于第二机器人之前时,依据第二机器人与第一机器人之间的距离判断第二机器人是否满足排队条件。

在本发明实施例中,第二判断模块203用于执行步骤s103。

排队模块204,用于当第二机器人满足排队条件时,向第二机器人发送等待指令,以使第二机器人在当前位置等待预设时长进行排队。

在本发明实施例中,排队模块204用于执行步骤s104。

保存模块205,用于按照预设周期获取第一机器人的当前位置及第二机器人的当前位置并保存。

在本发明实施例中,保存模块205用于执行步骤s105。

本发明实施例还揭示了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器103执行时实现本发明前述实施例揭示的机器人排队方法。

综上所述,本发明提供的一种机器人排队方法、装置、后台服务端及存储介质,所述机器人排队方法应用于后台服务端,后台服务端与第一机器人及第二机器人均通信连接,所述后台服务端预先存储有预设路径,第二机器人按照预设路径移动,第一机器人的移动方向与第二机器人的移动方向相同,所述方法包括:获取第一机器人的当前位置,并依据第一机器人的当前位置判断第一机器人是否位于预设路径上;当第一机器人位于预设路径上时,判断第一机器人在移动方向上是否位于第二机器人之前;当第一机器人在移动方向上位于第二机器人之前时,依据第二机器人与第一机器人之间的距离判断第二机器人是否满足排队条件;当第二机器人满足排队条件时,向第二机器人发送等待指令,以使第二机器人在当前位置等待预设时长进行排队。与现有技术相比,本发明在预设路径规划成单行道的情况下,通过判断第二机器人是否满足排队条件,并且当第二机器人满足排队条件时,向第二机器人发送等待指令,以使第二机器人在当前位置等待预设时长进行排队,满足了多个机器人需要排队移动的场景需求。

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

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

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

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

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