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

文档序号:16460388发布日期:2019-01-02 22:32阅读:230来源:国知局
机器人避让方法、装置、后台服务端及存储介质与流程

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



背景技术:

由于机器人本身的控制系统有自行规划路径的能力,在遇到障碍物时,机器人可以依赖自身的控制系统对当前移动路径重新进行规划,实现障碍物的自主避让,进行自主移动,如果两个机器人相向移动而且互相干涉了对方的移动路径时,机器人本身的控制系统会控制机器人掉头,规划出较远的路径,这种情况下规划出的路径往往是舍近求远,不太合理的。



技术实现要素:

本发明实施例的目的在于提供一种机器人避让方法、装置、后台服务端及存储介质,在机器人出现相向移动场景时,后台服务端依据相向移动的两个机器人当前所处的场景,从两个机器人中确定出避让机器人,通过让避让机器人进行合理避让,最终达到两个机器人均能按照比较合理的路径移动。

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

第一方面,本发明实施例提供了一种机器人避让方法,应用于后台服务端,后台服务端与第一机器人及第二机器人均通信连接,所述方法包括:依据第一机器人的第一预设路径及第二机器人的第二预设路径判断第一机器人与第二机器人是否相向移动;当第一机器人与第二机器人相向移动时,获取第一机器人的当前位置及第二机器人的当前位置;依据第一机器人的当前位置及第二机器人的当前位置确定避让机器人,并计算避让时长;当检测到第一机器人与第二机器人之间的物理距离小于预设避让距离时,向避让机器人发送等待指令,以使避让机器人移动至预设避让点等待避让时长进行避让。

第二方面,本发明实施例还提供了一种机器人避让装置,应用于后台服务端,后台服务端与第一机器人及第二机器人均通信连接,所述装置包括判断模块、获取模块、确定模块和避让模块。其中,判断模块用于依据第一机器人的第一预设路径及第二机器人的第二预设路径判断第一机器人与第二机器人是否相向移动;获取模块用于当第一机器人与第二机器人相向移动时,获取第一机器人的当前位置及第二机器人的当前位置,确定模块用于依据第一机器人的当前位置及第二机器人的当前位置确定避让机器人,并计算避让时长,避让模块用于当检测到第一机器人与第二机器人之间的物理距离小于预设避让距离时,向避让机器人发送等待指令,以使避让机器人移动至预设避让点等待避让时长进行避让。

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

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

相对现有技术,本发明实施例提供的一种机器人避让方法、装置、后台服务端及存储介质,首先,后台服务端依据第一机器人的第一预设路径及第二机器人的第二预设路径判断第一机器人与第二机器人是否相向移动;然后,当第一机器人与第二机器人相向移动时,获取第一机器人的当前位置及第二机器人的当前位置,接下来,后台服务端依据第一机器人的当前位置及第二机器人的当前位置从第一机器人与第二机器人中确定出避让机器人,并计算避让时长,最后,当后台服务端检测到第一机器人与第二机器人之间的物理距离小于预设避让距离时,向避让机器人发送等待指令,以使避让机器人移动至预设避让点等待避让时长进行避让。与现有技术相比,本发明实施例在机器人出现相向移动场景时,后台服务端依据相向移动的两个机器人当前所处的场景,从两个机器人中确定出避让机器人,通过让避让机器人进行合理避让,最终达到两个机器人均能按照比较合理的路径移动。

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

附图说明

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

图1示出了本发明实施提供的机器人避让方法的应用场景示意图。

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

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

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

图5示出了本发明实施例中第一预设路径与第二预设路径之间的导航距离示例图。

图6为图3示出的步骤s103的子步骤流程图。

图7示出了本发明实施例中第一机器人处于预设受限路径上的第一场景示例图。

图8示出了本发明实施例中第一机器人处于预设受限路径上的第二场景示例图。

图9示出了本发明实施例中第一机器人与第二机器人均未处于预设受限路径上的第一场景示例图。

图10示出了本发明实施例中第一机器人与第二机器人均未处于预设受限路径上的第二场景示例图。

图11示出了本发明实施例提供的机器人避让装置的方框示意图。

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

具体实施方式

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

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

请参照图1,图1示出了本发明实施提供的机器人避让方法的应用场景示意图。后台服务端100与第一机器人300和第二机器人400均通信连接,后台服务端100依据第一机器人300的第一预设路径和第二机器人400的第二预设路径判断第一机器人300和第二机器人400是否相向移动,当第一机器人300和第二机器人400相向移动时,依据第一机器人300的当前位置及第二机器人400的当前位置确定避让机器人,并计算避让时长,当检测到第一机器人300与第二机器人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,依据第一机器人的第一预设路径及第二机器人的第二预设路径判断第一机器人与第二机器人是否相向移动。

在本发明实施例中,第一预设路径是后台服务端100预先为第一机器人300规划的移动路径,第一预设路径中包括了至少两个按照顺序排列的第一导航点,第一机器人300按照第一预设路径中第一导航点的顺序依次途径每个第一导航点,第二预设路径是后台服务端100预先为第二机器人400规划的移动路径,第二预设路径中包括了至少两个按照顺序排列的第二导航点,第二机器人400按照第二预设路径中第二导航点的顺序依次途径每个第二导航点。后台服务端100首先计算每个第一导航点与每个第二导航点之间的导航距离,将小于预设干涉阈值的导航距离对应的第一导航点和第二导航点分别归入第一干涉路径和第二干涉路径中,根据第一干涉路径和第二干涉路径中的第一干涉起点、第一干涉终点及第二干涉起点、第二干涉终点判断第一机器人300与第二机器人400是否相向移动。

请参照图4,步骤s101还包括以下子步骤:

子步骤s1011,依据第一机器人的第一预设路径及第二机器人的第二预设路径确定第一机器人的第一干涉路径及第二机器人的第二干涉路径,其中,第一干涉路径包括第一干涉起点和第一干涉终点,第二干涉路径包括第二干涉起点和第二干涉终点。

在本发明实施例中,第一干涉路径是由第一预设路径中与第二预设路径中的第二导航点之间的距离小于预设干涉阈值的第一导航点组成,第二干涉路径是由第二预设路径中与第一预设路径中的第一导航点之间的距离小于预设干涉阈值的第二导航点组成,例如,请参照图5,图5示出了第一预设路径与第二预设路径之间的导航距离示例图,图5中,第一预设路径包括a1、a2、a3三个导航点,第二预设路径包括b1、b2、b3三个导航点,预设干涉阈值为5,a1和b1、a1和b2、a1和b3、a2和b1、a2和b2、a2和b3、a3和b1、a3和b2、a3和b3之间的导航距离分别为3、4、12、7、3、7、10、8、6,a1和b1之间的导航距离小于预设干涉阈值,则将a1加入第一干涉路径中,将b1加入第二干涉路径中,a1和b2之间的导航距离小于预设干涉阈值,因为a1已经在第一干涉路径中,所以不再重复加入,将b2加入第二干涉路径中,a1和b3之间的导航距离大于预设干涉阈值,则不将b3加入第二干涉路径中,最终,第一干涉路径包括a1、a2,第二干涉路径包括b1、b2。

作为一种实施方式,确定第一机器人300的第一干涉路径及第二机器人400的第二干涉路径的方法可以为:

首先,计算每个第一导航点与每个第二导航点之间的多个导航距离。

其次,当导航距离小于预设干涉阈值时,将与导航距离对应的第一导航点加入第一干涉路径,同时将与导航距离对应的第二导航点加入第二干涉路径。

在本发明实施例中,预设干涉阈值指第一机器人300与第二机器人400相遇时,在不改变当前移动路径的情况下可以顺利通过的最小距离值。

子步骤s1012,当第一干涉起点和第二干涉终点之间的距离与第一干涉终点和第二干涉起点之间的距离均小于预设干涉阈值时,判定第一机器人与第二机器人相向移动。

在本发明实施例中,第一预设路径中的每个第一导航点按照排列的先后顺序均有一个与每个第一导航点对应的序号,第二预设路径中的每个第二导航点按照排列的先后顺序均有一个与每个第二导航点对应的序号,第一干涉起点指第一干涉路径中序号最小的第一导航点,第一干涉终点指第一干涉路径中序号最大的第一导航点,第二干涉起点指第二干涉路径中序号最小的第二导航点,第二干涉终点指第二干涉路径中序号最大的第二导航点,例如,第一预设路径包括a1、a2、a3三个导航点,a1、a2、a3对应的序号分别为1、2、3,第二预设路径包括b1、b2、b3三个导航点,b1、b2、b3对应的序号分别为1、2、3,第一干涉路径包括a1、a2,第二干涉路径包括b1、b2,则a1为第一干涉起点,a2为第一干涉终点,b1为第二干涉起点,b2为第二干涉终点。

作为一种实施方式,第一干涉起点和第二干涉终点可以使用栅格坐标来表示,第一干涉起点和第二干涉终点之间的距离与第一干涉终点和第二干涉起点之间的距离均小于预设干涉阈值可以表示为:

其中,mjb1表示第一干涉起点,mjb2表示第一干涉终点,mkb1表示第二干涉起点,mkb2表示第二干涉终点,第一干涉起点的位置坐标可以表示为第一干涉终点的位置坐标可以表示为第二干涉起点的位置坐标可以表示为第二干涉终点的位置坐标可以表示为l为预设干涉阈值。

步骤s102,当第一机器人与第二机器人相向移动时,获取第一机器人的当前位置及第二机器人的当前位置。

在本发明实施例中,在判断出第一机器人300与第二机器人400是相向移动后,后台服务端100获取第一机器人300的当前位置及第二机器人400的当前位置。

步骤s103,依据第一机器人的当前位置及第二机器人的当前位置确定避让机器人,并计算避让时长。

在本发明实施例中,后台服务端100首先依据第一机器人300的当前位置及第二机器人400的当前位置判断第一机器人300及第二机器人400是否在预设受限路径上,当第一机器人300的当前位置与第二机器人400的当前位置中任意一个当前位置处于预设受限路径上时,将与处于预设受限路径上的当前位置对应的机器人确定为避让机器人,当第一机器人300的当前位置与第二机器人400的当前位置均未处于预设受限路径上时,计算第一机器人300与第一干涉起点之间的物理距离,同时计算第二机器人400与第二干涉起点之间的物理距离,将与物理距离较大的机器人确定为避让机器人。

请参照图6,步骤s103还包括以下子步骤:

子步骤s1031,当第一机器人的当前位置与第二机器人的当前位置中任意一个当前位置处于预设受限路径上时,将与处于预设受限路径上的当前位置对应的机器人确定为避让机器人,并计算避让时长。

在本发明实施例中,预设受限路径可以依据预设路径上的导航点及距离四周边界的距离确定,其中,四周的边界可以是地图的边界,也可以是不可移动的障碍物,比如说墙体。在本发明实施例中,地图可以是栅格地图,导航点可以用栅格坐标表示,栅格地图只有平面的x和y方向,机器人路径上的导航点与墙体之间的距离可以用沿x和y方向的4个距离表示,也就是求导航点向4个方向前进时到碰到墙体或地图边界时的距离值,计算公式如下:

l=(lx+ly)/3

其中,导航点的坐标表示为(xj,yj),在与导航点坐标一致的沿坐标x正方向的边界坐标表示为(x1,y1),在与导航点坐标一致的沿坐标x负方向的边界坐标表示为(x2,y2),在与导航点坐标一致的沿坐标y正方向的边界坐标表示为(xw1,yw1),在与导航点坐标一致的沿坐标y负方向的边界坐标表示为(xw2,yw2),w{ww(x,y)}代表预设路径,ww(x,y)代表预设路径上的导航点的坐标,lx表示x方向上的受限宽度,lx1+lx2表示x方向上的边界宽度,ly表示y方向上的受限宽度,ly1+ly2表示y方向上的边界宽度,lq表示预设移动安全距离,当l小于机器人的预设移动安全距离的预设倍数时,认为这个导航点只能允许通过l台机器人,将该导航点加入预设受限路径中,预设移动安全距离与机器人本身的尺寸大小有关。对于预设路径上的每个导航点均进行计算,将符合上述公式的导航点加入预设受限路径中,最终得到预设受限路径,例如预设倍数为1.5时,预设受限路径中的导航点同时只容纳一个机器人通过。

需要说明的是,预设受限路径依据预设路径上的导航点及距离四周边界的距离确定的具体实施方法还可以是,计算导航点垂直于预设路径方向左右到墙的距离,当导航点垂直于预设路径方向至左右两墙的距离之和小于机器人的预设移动安全距离的预设倍数时,认为这个导航点只能允许通过(预设倍数-1)台机器人,将该导航点加入预设受限路径中,对于预设路径上的每个导航点均进行计算,将符合上述公式的导航点加入预设受限路径中,最终得到预设受限路径。

需要指出的是,在确定预设受限路径时,当第一机器人300与第二机器人400的尺寸相同的时候,可以依据第一机器人300的第一预设路径上的第一导航点确定,也可以依据第二机器人400的第二预设路径上的第二导航点确定,当第一机器人300与第二机器人400的尺寸不相同的时候,依据尺寸大的机器人的预设路径确定预设受限路径。

在本发明实施例中,并不是第一机器人300的当前位置必须处于预设受限路径上中的导航点时,才判定第一机器人300的当前位置在预设受限路径上,当第一机器人300的当前位置在预设受限路径的预设范围内,就认为第一机器人300的当前位置在预设受限路径上,例如,预设范围为5,当第一机器人300的当前位置与预设受限路径上的序号最小的导航点之间的距离小于5、也就是说第一机器人300尚未到达预设受限路径上的序号最小的导航点时,就可以判定第一机器人300的当前位置在预设受限路径上。类似地,判断第二机器人400的当前位置是否在预设受限路径上也是判断第二机器人400的当前位置是否在预设受限路径的预设范围内。

在本发明实施例中,第一导航点及第二导航点预设范围内均预先设置有停靠点,停靠点是预先设置的,让第一机器人300或者第二机器人400进行避让的位置点,当第一机器人300为避让机器人、第二机器人400为被避让机器人时,第一机器人300移动到停靠点进行避让,等待第二机器人400通过后再移动,当第二机器人400为避让机器人、第一机器人300为被避让机器人时,第二机器人400移动到停靠点进行避让,等待第一机器人300通过后再移动。

作为一种实施方式,计算避让时长的方法可以是:

首先,计算被避让机器人的当前位置到停靠点的停靠距离;

其次,将停靠距离乘以安全系数得到安全避让距离;

最后,将安全避让距离除以预设的机器人平均速度。得到避让时间,计算避让时间的公式可以是:

其中,t为避让时间,l为被避让机器人的当前位置到停靠点的停靠距离,a为安全系数,s为预设的机器人平均速度。

请参照图7和图8,图7和图8对应第一机器人300处于预设受限路径上时两种不同场景,图7示出了第一机器人300处于预设受限路径上的第一场景示例图,图7中,a代表第一机器人300、b代表第二机器人400,箭头线1代表第一预设路径,箭头线2代表第二预设路径,m代表停靠点,3代表避让路径,a处于墙体1与墙体2之间的受限路径上,b未处于任何墙体之间,依据本发明实施例中的机器人避让方法,确定b为避让机器人,a为被避让机器人,b移动至停靠点m并暂停避让时长进行避让,a正常移动。图8示出了第一机器人300处于预设受限路径上的第二场景示例图,图8中,a代表第一机器人300、b代表第二机器人400,箭头线1代表第一预设路径,箭头线2代表第二预设路径,m代表停靠点,3代表避让路径,a处于墙体1与墙体2之间的预设受限路径上,b处于墙体3与墙体4之间,由于墙体3与墙体4之间的距离大于预设移动安全距离的预设倍数,因而墙体3与墙体4之间不属于预设受限路径,依据本发明实施例中的机器人避让方法,确定b为避让机器人,a为被避让机器人,b移动至停靠点m并暂停避让时长进行避让,a正常移动。

子步骤s1032,当第一机器人的当前位置与第二机器人的当前位置均未处于预设受限路径上时,依据第一机器人的当前位置、第一干涉起点及所述第二机器人的当前位置、第二干涉起点确定避让机器人,并计算避让时长。

在本发明实施例中,后台服务端100分别计算第一机器人300的当前位置与第一干涉起点之间的第一物理距离和第二机器人400的当前位置与第二干涉起点之间的第二物理距离,当第一物理距离小于或者等于第二物理距离时,将第二机器人400确定为避让机器人,当第一物理距离大于第二物理距离时,将第一机器人300确定为避让机器人。

作为一种实施方式,依据第一机器人300的当前位置、第一干涉起点及所述第二机器人400的当前位置、第二干涉起点确定避让机器人的方法可以是:

首先,计算第一机器人的当前位置与第一干涉起点之间第一物理距离;

其次,计算第二机器人的当前位置与第二干涉起点之间第二物理距离;

第三,当第一物理距离小于或者等于第二物理距离时,将第二机器人确定为避让机器人;

第四,当第一物理距离大于第二物理距离时,将第一机器人确定为避让机器人。

在本发明实施例中,第一导航点及第二导航点预设范围内均预先设置有停靠点,停靠点是预先设置的,让第一机器人300或者第二机器人400进行避让的位置点,当第一机器人300为避让机器人时,第一机器人300移动到停靠点进行避让,等待第二机器人400通过后再移动,当第二机器人400为避让机器人时,第二机器人400移动到停靠点进行避让,等待第一机器人300通过后再移动。

作为一种实施方式,计算避让时长的方法可以是:

首先,获取第一机器人的当前位置与第二机器人的当前位置之间的停靠点的个数;

其次,依据停靠点的个数、停靠点之间预设间距计算避让时长。

在本发明实施例中,两个停靠点之间的预设间距是一样,后台服务端100首先通过停靠点的个数及停靠点之间的预设间距,为了简化计算,首先计算第一机器人300的当前位置与第二机器人400的当前位置之间依次途径停靠点时的移动距离,然后将该移动距离乘以安全系数得到安全避让距离,其中,安全系数是根据不同应用场景预先设置的,最后,将安全避让距离除以预设的机器人平均速度。得到避让时间,计算避让时间的公式可以是:

其中,t为避让时间,k为停靠点的个数,l为停靠点之间预设间距,a为安全系数,s为预设的机器人平均速度。

需要指出的是,第一机器人300的当前位置与第二机器人400的当前位置均未处于预设受限路径上场景下,根据第一机器人300与第二机器人400具体移动场景的不同,避让点可以是停靠点,也可以是预设路径上的导航点或者是避让机器人的当前位置。

请参照图9和图10,图9和图10对应第一机器人300处于预设受限路径上时两种不同场景,图9示出了第一机器人300与第二机器人400均未处于预设受限路径上的第一场景示例图,图9中,a代表第一机器人300、b代表第二机器人400,箭头线1代表第一预设路径,箭头线2代表第二预设路径,a与b均沿靠近墙体1这边移动,依据本发明实施例中的机器人避让方法,确定b为避让机器人,a为被避让机器人,b在当前位置暂停避让时长进行避让,a正常移动,当b的当前位置在第二预设路径上的第二导航点上时,该导航点即为避让点,否则,b的当前位置即为避让点。图10示出了第一机器人300与第二机器人400均未处于预设受限路径上的第二场景示例图,图10中,a代表第一机器人300、b代表第二机器人400,箭头线1代表第一预设路径,箭头线2代表第二预设路径,m代表停靠点,3代表避让路径,a与b均沿墙体3与墙体4之间大致中心线上移动,依据本发明实施例中的机器人避让方法,确定b为避让机器人,a为被避让机器人,b移动至停靠点m并暂停避让时长进行避让,a正常移动。

步骤s104,计算第一机器人的当前位置及第二机器人的当前位置之间的物理距离。

步骤s105,当检测到第一机器人与第二机器人之间的物理距离小于预设避让距离时,向避让机器人发送等待指令,以使避让机器人移动至预设避让点等待避让时长进行避让。

在本发明实施例中,预设避让距离通常设置为大于3倍停靠点之间预设间距,以实现第一机器人300在进入第一干涉路径或者第二机器人400在进入第二干涉路径之前提前避让。

在本发明实施例中,在机器人出现相向移动场景时,后台服务端100依据相向移动的两个机器人当前所处的场景,从两个机器人中确定出避让机器人,并发送避让指令至避让机器人,以使避让机器人进行合理避让,与现有技术相比,具有以下有益效果:

第一,在机器人出现相向移动场景时,由后台服务端100统一对当前的机器人所处的实际场景进行判断,避免了在相向移动的场景下,机器人自主规划路径时在狭窄通道上的死锁和时间浪费。

第二,对于不同的相向移动场景下的两个机器人采用不同方法确定出避让机器人,使得确定出的避让机器人更加符合实际移动场景的需求,进而进行合理避让。

第二实施例

请参照图11,图11示出了本发明实施例提供的机器人避让装置200的方框示意图。机器人避让装置200应用于后台服务端100,其包括判断模块201;获取模块202;确定模块203;计算模块204;避让模块205。

判断模块201,用于依据第一机器人的第一预设路径及第二机器人的第二预设路径判断第一机器人与第二机器人是否相向移动。

在本发明实施例中,判断模块201用于执行步骤s101及其子步骤s1011-s1012。

获取模块202,用于当第一机器人与第二机器人相向移动时,获取第一机器人的当前位置及第二机器人的当前位置。

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

确定模块203,用于依据第一机器人的当前位置及第二机器人的当前位置确定避让机器人,并计算避让时长。

在本发明实施例中,确定模块203用于执行步骤s103及其子步骤s1031-s1032。

计算模块204,用于计算第一机器人的当前位置及第二机器人的当前位置之间的物理距离。

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

避让模块205,用于当检测到第一机器人与第二机器人之间的物理距离小于预设避让距离时,向避让机器人发送等待指令,以使避让机器人移动至预设避让点等待避让时长进行避让。

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

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

综上所述,本发明实施例提供的一种机器人避让方法、装置、后台服务端及存储介质,应用于后台服务端,后台服务端与第一机器人及第二机器人均通信连接,所述方法包括:依据第一机器人的第一预设路径及第二机器人的第二预设路径判断第一机器人与第二机器人是否相向移动;当第一机器人与第二机器人相向移动时,获取第一机器人的当前位置及第二机器人的当前位置;依据第一机器人的当前位置及第二机器人的当前位置确定避让机器人,并计算避让时长;当检测到第一机器人与第二机器人之间的物理距离小于预设避让距离时,向避让机器人发送等待指令,以使避让机器人移动至预设避让点等待避让时长进行避让,本发明实施例在机器人出现相向移动场景时,后台服务端依据相向移动的两个机器人当前所处的场景,从两个机器人中确定出避让机器人,通过让避让机器人进行合理避让,最终达到两个机器人均能按照比较合理的路径移动。

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

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

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

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

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