一种进行多机器人协作的方法与设备与流程

文档序号:12460584阅读:426来源:国知局
一种进行多机器人协作的方法与设备与流程

本申请涉及计算机领域,尤其涉及一种进行多机器人协作的技术。



背景技术:

现有的机器人应用多是单个机器人独立作业,例如,单个机器人独立移动、独立搬运货物等,由于单个机器人在设备规模、功能应用上均有一定限制,使得单一机器人可以完成的任务相对较为简单,对于一些工作量较大、或较为复杂的任务,单个机器人则无法完成、或者完成效果不理想。例如,在搬运作业中,对于一些大体积的搬运对象,则十分需要多机器人协同承载并移动作业。但现有技术中缺乏将多个独立的机器人进行有效组合以共同执行同一项、或同一组任务的技术。



技术实现要素:

本申请的目的是提供一种进行多机器人协作的方法与设备。

根据本申请的一个方面,提供了一种在机器人端进行多机器人协作方法,包括:

从网络设备中获取与机器人匹配的协作指令;

基于所述协作指令,执行对应的多机器人协作任务。

根据本申请的另一个方面,还提供了一种在网络设备端进行多机器人协作方法,包括:

向一个或多个机器人提供匹配的协作指令,其中,所述机器人基于相应的协作指令执行对应的多机器人协作任务。

根据本申请的另一方面,还提供了一种进行多机器人协作的机器人,包括:

第一装置,用于从网络设备中获取与机器人匹配的协作指令;

第二装置,用于基于所述协作指令,执行对应的多机器人协作任务。

根据本申请的另一方面,还提供了一种进行多机器人协作的网络设备,包括:

第四装置,用于向一个或多个机器人提供匹配的协作指令,其中,所述机器人基于相应的协作指令执行对应的多机器人协作任务。

根据本申请的另一方面,还提供了一种进行多机器人协作的系统,其中所述系统包括:根据本申请另一方面提供的一种进行多机器人协作的机器人,以及根据本申请再一方面提供的一种进行多机器人协作的网络设备。

与现有技术相比,在本申请中,进行协作任务的多个独立的机器人基于从对应网络设备获取到的协作指令,共同执行对应的多机器人协作任务。在此,本申请可以基于具体场景的应用需要,通过网络设备发出的所述协作指令,将多个独立的机器人进行灵活组合,使得组合后的各个机器人可以实现对工作量较大、或工作分类复杂的任务的协同作业,从而有助于复杂工作的分解和整体资源的优化。

进一步,在本申请的一种实现方式中,所述机器人可以用于实现多机器人编队移动,例如,进行协作的机器人可以基于匹配的协作指令向目的位置的移动,或是跟随目标对象移动,以实现多个机器人的编队移动。基于本实现方式,可以灵活、有效地实现需要基于多个机器人编队移动实现的各类协作任务,例如协作移动搬运任务等。

进一步,在本申请的一种实现方式中,所述机器人在获取到协作指令后,通过确定所述机器人待跟随的目标对象;进而从所述机器人实时捕获的场景中识别所述目标对象;从而实现基于所述协作指令,控制所述机器人按相应的移动路径向目标对象移动。与现有的机器人跟随技术相比,本申请可以在实时变化的、干扰因素较多的自然环境中,准确地锁定目标对象,并进行有效地跟踪,从而提高了机器人跟随的准确度,解决了目前机器人跟随经常发生的跟错目标或跟丢目标的技术问题。同时基于所述协作指令控制所述机器人按相应的移动路径向目标对象移动,可以从整体上实现多个机器人彼此协作的编队移动。

进一步,在一种实现方式中,基于所述协作指令,控制所述机器人按相应的移动路径向目标对象移动,其中,所述机器人与目标对象之间的相对位置与协作指令中的多机器人队形状态信息相匹配,且所述第二机器人与所述第一机器人之间的相对距离包含在预设的相对距离范围阈值内。在此,可以通过协作指令来控制多机器人协作任务中控制多机器人的队列形状,或具体到机器人彼此之间的相对位置,使得各个机器人之间的协同作业配合度更高,提高协作任务的完成效率。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1示出根据本申请一个方面的一种在机器人端和网络设备端进行多机器人协作的方法流程图;

图2示出根据本申请一个方面的一种在机器人端进行多机器人协作的方法流程图;

图3示出根据本申请一个方面的一种进行多机器人协作的系统图。

附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

下面结合附图对本申请作进一步详细描述。

在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

图1示出根据本申请一个方面的一种在机器人端和网络设备端进行多机器人协作的方法流程图。

其中,所述方法包括步骤S11、步骤S12和步骤S21。

本申请实施例提供了一种进行多机器人协作的方法,所述方法可以在相应的机器人端和网络设备端实现。其中,所述机器人包括可以自动执行工作的各种机器设备,可以是具有移动功能、或搬运装载功能、或其他功能的机器设备,也可以同时具有上述多种功能的机器设备,例如,各种具有移动搬运功能的人工智能设备。在本申请中,进行同一个协作任务的多个机器人具有的功能可以相同、也可以不同。所述网络设备包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或云服务器,其中,所述云服务器可以是运行在分布式系统中的、由一群松散耦合的计算机集组成的一个虚拟超级计算机,其用以实现简单高效、安全可靠、处理能力可弹性伸缩的计算服务。在本申请中,所述机器人可以指代为所述机器人1,所述网络设备可以指代为所述网络设备2。

具体地,在步骤S21中,网络设备2可以向一个或多个机器人1提供匹配的协作指令,其中,所述机器人1基于相应的协作指令执行对应的多机器人协作任务。对应地,在步骤S11中,由相应的机器人1从网络设备2中获取与自身匹配的协作指令。在此,多机器协作任务可以由多个机器人1配合执行的各种任务。例如,多个机器人1保持相似距离的同步移动;又如,多个机器人1共同运载同一对象;又如,多个机器人1进行一个对象的各个部件的组装任务等。在一种实现方式中,网络设备2可以基于协作任务类型、或具体的协作操作的不同而为不同的机器人1匹配相应的协作指令。

在一种实现方式中,所述协作指令可以包括以下至少任一项:所述机器人的多机器人队形状态信息;所述机器人的速度控制规则;所述机器人的待跟随的目标对象的坐标信息;所述机器人的其他执行相关信息。

具体地,以在多个机器人1保持相似距离的同步移动,或多个机器人1共同运载同一对象的场景为例,在一种实现方式中,网络设备2可以通过协作指令给出各个机器人1其各自移动所需要维持的队形状态信息,例如保持一列、一行、或多列编队;在又一种实现方式中,网络设备2还可以通过速度控制规则的协作指令,控制协作的各个机器人1的运行速度,以调整各个机器人1彼此之间的距离,从而实现对整个队列移动的控制;在又一种实现方式中,网络设备2还可以给一个或多个机器人1提供其待跟随的目标对象的坐标信息,可以是在移动操作启动时提供待确定的目标对象的坐标信息,也可以是在移动过程中,基于设置实时提供目标对象的坐标信息。

以多个机器人1进行一个对象的各个部件的组装任务的场景为例,所述协作任务可以包括为了使各个机器人1移动到各自相应的组装位置的所述机器人的速度控制规则;所述机器人的目标位置的坐标信息;以及机器人的组装操作步骤信息等。此外,基于其他的协作任务的具体任务需要,所述协作任务也将适应性变化。

在一种实现方式中,网络设备2可以同时向所述协作任务对应的各个机器人1统一发送协作指令;在另一种实现方式中,网络设备2也可以在任意时机向任意一个或多个机器人1分别发送协作指令。在一种实现方式中,同一个协作任务中的多个机器人1对应的协作指令可以相同;也可以不相同,或部分相同、部分不同,例如,在多个机器人1以一列的队形、保持相似距离的同步移动场景中,队列首个机器人1的协作指令可以与队列中其他机器人1的协作指令不同。

接着,在步骤S12中,机器人1可以基于所述协作指令,执行对应的多机器人协作任务。在一种实现方式中,各个机器人1之间并不需要通过直接通讯以实现相应地协作任务,而是可以通过网络设备2以所述协作指令实时控制进行协作的一个或多个机器人1,并由各个机器人1分别执行协作指令以实现协作任务的完成。在一种实现方式中,网络设备2可以仅仅给出各个机器人1彼此之间协作需要的必要指令,而其他不需要协作即可执行的操作,可以由机器人1独立执行,例如,在多个机器人1保持相似距离的同步移动,或多个机器人1共同运载同一对象的场景中,对于整体编队保持和队列运行速度的控制可以由网络设备1通过协作指令控制,而对于每个机器人1的具体跟随操作,如跟随对象的确定、识别等操作可以由各个机器人1自身设置执行。

在本申请中,进行协作任务的多个独立的机器人1可以基于从对应网络设备2获取到的协作指令,共同执行对应的多机器人协作任务。在此,本申请可以基于具体场景的应用需要,通过网络设备2发出的所述协作指令,将多个独立的机器人进行灵活组合,使得组合后的各个机器人可以实现对工作量较大、或工作分类复杂的任务的协同作业,从而有助于复杂工作的分解和整体资源的优化。

在一种实现方式中,在所述步骤S12中,机器人1可以基于所述协作指令,控制所述机器人1按相应的移动路径向目的位置或目标对象移动。在此,本申请的多机器人协作任务可以是需要多个机器人编队移动的协作任务,例如多个机器人1保持相似距离的同步移动;又如,多个机器人1共同运载同一对象。具体地,在一种实现方式中,基于所述协作指令,可以控制机器人1按相应的移动路径向目的位置移动,例如所述机器人1是位于队列最前方的一个或多个机器人,其可能没有具体的目标对象,而是对应于需要到达的目的位置;在一种实现方式中,基于所述协作指令,还可以控制机器人1按相应的移动路径向目标对象移动,例如,位于机器人队列最前方的一个或多个机器人1可以有跟踪的对象,例如某个移动的人或物,又如,非位于机器人队列最前方的机器人1需要跟随目标对象,即目标机器人进行移动,该目标机器人可以是该机器人1前方最接近的其他机器人,或是其他预设、或基于协作指令确定的其他机器人。

在本实现方式中,所述机器人1可以用于实现多机器人编队移动,例如,进行协作的机器人1可以基于匹配的协作指令向目的位置的移动,或是跟随目标对象移动,以实现多个机器人1的编队移动。基于本实现方式,可以灵活、有效地实现需要基于多个机器人编队移动实现的各类协作任务,例如协作移动搬运任务等。

进一步,图2示出根据本申请一个方面的一种在机器人端进行多机器人协作的方法流程图。其中,所述方法包括步骤S11和步骤S12,进一步,所述步骤S12包括步骤S121、步骤S122和步骤S123。

具体地,在步骤S121中,机器人1可以确定所述机器人1待跟随的目标对象。在一种实现方式中,所述目标对象包括目标机器人,所述机器人与其对应的目标机器人上承载有同一个运送对象,此时,所述协作任务可以对应为协作移动搬运任务。所述机器人1在协作任务开始时需要确定其待跟随的目标对象。

在一种实现方式中,在步骤S121中,当所述机器人1被设置为跟随模式时,所述机器人1可以从所述机器人1实时捕获的周围信息中识别对应的匹配对象,进而将所述匹配对象作为所述机器人1待跟随的目标对象。在一种实现方式中,可以通过预设的触发操作开启机器人1的跟随模式。当该跟随模式开始时,机器人1可以实时捕获周围信息,在一种实现方式中,可以通过机器人1中的一个或多个传感装置获取到周围环境信息的原始数据,原始数据可以是图像、图片或者点云。进而,机器人1从所述原始数据中检测出需要跟随的对象类型,环境中可以有一个或多个对象属于该对象类型。通过机器学习的方法,事先训练好分类器,即提取某一类对象的扫描数据的特征信息,输入到分类器中,通过对比从环境信息中检测出某类对象。某类对象往往有多个,匹配对象即是从一个或多个该类对象中选择的作为目标对象的对象。

进一步,在一种实现方式中,所述匹配对象可以包括但不限于以下至少任一项:在所述机器人1周围与所述机器人1最接近的对象;在所述机器人1前方与所述机器人1最接近的对象;在所述机器人1正前方与所述机器人1最接近的对象;在所述机器人1周围且与待跟随对象的对象特征信息相匹配的对象;在所述机器人1周围且与待跟随对象的对象特征信息最匹配的对象;在所述机器人1周围与待跟随对象的对象特征信息相匹配的多个对象中与所述机器人最接近的对象。在一种实现方式中,所述对象特征信息可以包括但不限于待跟随对象的位置信息、运动状态信息、本体特征信息中的一个或多个信息。

进一步,在一个种实现方式中,在步骤S121中,所述机器人1可以基于所述协作指令确定待跟随的目标对象的坐标信息;进而,所述机器人1实时获取所述机器人的周围环境信息,其中,所述机器人1与所述坐标信息间的距离小于或等于预定的距离阈值;接着,所述机器人1从所述周围环境信息识别对应的匹配对象,并将所述匹配对象作为所述机器人1待跟随的目标对象。在此,坐标信息既可以是绝对坐标信息,也可以是相对坐标信息。机器人1通过扫描获取其周围环境信息,若是此时所述机器人1与坐标信息间的距离小于或等于预定的距离阈值;则可以从环境信息中识别出与所述坐标信息匹配的匹配对象,并将匹配对象设定为目标对象。

进一步,在一个种实现方式中,若机器人1获取所述协作指令时,其位置与待跟随对象的位置之间的距离大于预定的距离阈值,本申请更进一步地给出了该种情况下的一种解决方案:当所述机器人1与所述坐标信息间的距离大于预定的距离阈值,控制所述机器人1朝向所述坐标信息移动,以此来缩小机器人1与坐标信息之间的距离;接着,在移动过程中,实时获取所述机器人1的周围环境信息,直到所述机器人1与所述坐标信息间的距离小于或等于预定的距离阈值时,即可以从所述周围环境信息识别对应的匹配对象,并将所述匹配对象作为所述机器人1待跟随的目标对象。

接着,在步骤S122中,机器人1可以从所述机器人1实时捕获的场景中识别所述目标对象。在机器人1移动过程中,环境中的各对象也处于不断变化的状态,因此,机器人1需要基于实时变化的环境一次又一次地重复目标对象的识别操作。在一种实现方式中,机器人1可以通过周期性地扫描周围环境,获取实时环境数据信息,再从该环境数据信息中检测出与目标对象属于同一类的所有对象,最后根据某一个周期或持续扫描的多个周期的检测结果,识别出相匹配的目标对象;

具体地,一种实现方式中,在步骤S122中,机器人1可以实时扫描获取所述机器人1的周围环境信息;接着,可以从所述周围环境信息中检测与所述目标对象的对象特征信息相匹配的一个或多个观测对象,在此,由于最近一次的目标对象识别操作确定的目标对象、其对应的对象特征信息已被存储,例如,将确定目标对象的对象特征信息以历史观测记录的形式存储,因此,可以将当前环境信息扫描所确定的一个或多个观测对象的对象特征信息与存储的目标对象的对象特征信息进行相似匹配,在此,所述观测对象、或所述目标对象的对象特征信息可以包括但不限于以下任一项:对象的位置信息;对象的运动状态信息;对象的本体特征信息等,其中,所述位置信息是指对应扫描时刻所述对象的位置;运动状态信息包括运动的方向、速度大小等运动信息;本体特征信息则是指所述对象本体的外观特征,包括形状、大小以及颜色信息等;进而,机器人1可以从一个或多个所述观测对象中识别出所述目标对象,例如,满足一定匹配度的观测对象既可能推定为目标对象。

进一步,在一种实现方式中,所述从一个或多个所述观测对象中识别出所述目标对象可以包括:确定所述机器人1对应的一个或多个观测对象中每个观测对象与历史观测记录的关联信息,其中,所述一个或多个观测对象包括所述目标对象,所述历史观测记录包括一个或多个历史观测对象的对象相关信息;接着,所述机器人1根据所述观测对象与所述历史观测记录的关联信息从一个或多个所述观测对象中识别出所述目标对象。

具体地,当机器人1基于实时变化的环境一次又一次地重复目标对象的识别操作后确定出所述目标对象时,可以将此目标对象及其对应的对象特征信息记录进历史观测记录,同时,还可以将与所述目标对象同时确定出的其他观测对象及其对应的对象特征信息进行匹配确定,同样记录在历史观测记录中。进一步,当前进行目标对象识别操作时,可以将当前获取到的一个或多个观测对象中每个观测对象与历史观测记录进行数据关联,在一种实现方式中,所述数据关联可以是指将当前一个或多个观测对象中的每一个观测对象分别与存储的所述历史观测记录中的每一对象的观测记录进行匹配,其结果便是关联信息。例如,某当前扫描周期中,环境中有N个观测对象,机器人之前存储了M个对象的历史观测记录,其中,M与N的数量可能相同、或不同;且N个对象与M个对象对应的具体对象可能存在一个或多个对象交集。进行数据关联,即是将N个观测对象逐一分别与历史观测记录中M个对象的观测记录进行匹配,得到每一次匹配的匹配度,而整体匹配结果便是一个N行M列的矩阵,矩阵元素便是对应的匹配度,这一矩阵便是关联信息。其中,所述观测对象包括目标对象在内。在一种实现方式中,所述匹配可以基于对象的一个或多个对象特征信息进行的特征匹配。接着,基于得到的所述关联信息识别出所述目标对象。在得到关联信息即匹配度矩阵之后,经过综合分析运算,选取整体匹配度最高的一种关联方式,从而得到所述目标对象。

在一种实现方式中,所述方法还包括步骤S13(未示出),在步骤S13中机器人1可以根据所述一个或多个观测对象更新所述历史观测记录,其中,更新后的所述历史观测记录中的对象包括从一个或多个所述观测对象中所识别出的所述目标对象。机器人1所对应的观测对象随着环境的变化而不断变化,在一种实现方式中,若有新的所述观测对象出现,则增加相应的所述观测记录;若已有的所述观测对象消失,则删除该观测对象对应的所述观测记录;若已有的所述观测对象仍存在,则更新相对应的所述观测记录中的相关信息。

接着,在步骤S123中,机器人1可以基于所述协作指令,控制所述机器人按相应的移动路径向目标对象移动。具体地,机器人1可以确定所述机器人1向所述目标对象的移动路径;进而,控制所述机器人1按所述移动路径移动。其中,所述移动路径的确定、或移动的控制行为可以都是基于网络设备2的协作指令执行的,或者是只有一项是基于所述协作指令执行的。

在一种实现方式中,机器人1可以基于所述协作指令,控制所述机器人按相应的移动路径向目标对象移动,其中,所述机器人与目标对象之间的队形状态与协作指令中的多机器人队形状态信息相匹配,且所述第二机器人与所述第一机器人之间的相对距离包含在预设的相对距离范围阈值内。其中,网络设备2可以通过协作指令给出各个所述机器人1其各自移动所需要维持的队形状态信息,例如保持一列、一行、或多列编队,在一种实现方式中,这些队形状态可以通过机器人1移动路径、运动状态等参数的设置来实现;在又一种实现方式中,网络设备2还可以通过速度控制规则的协作指令,控制协作的各个机器人1的运行速度,以调整各个机器人1彼此之间的距离,从而实现整个队列移动的控制。在此,可以通过协作指令来控制多机器人协作任务中控制多机器人的队列形状,或具体到机器人彼此之间的相对位置。使得各个机器人1之间的协同作业配合度更高,提高协同任务的完成效率。

在一种实现方式中,所述步骤S123可以包括步骤S1231(未示出)和步骤S1232(未示出)。具体地,在步骤S1231中,机器人1可以基于所述协作指令,确定所述机器人1向所述目标对象的移动路径;在步骤S1232中,机器人1可以基于所述协作指令,控制所述机器人1按所述移动路径移动。

进一步,在步骤S1231中,机器人1可以从所述机器人的所述周围环境信息中获取障碍物信息;接着,基于识别出的所述目标对象的位置信息,确定所述机器人1的目标坐标;接着,基于所述协作指令,结合所述目标坐标以及所述障碍物信息,确定所述机器人向所述目标对象的移动路径,其中,所述协作指令包括多机器人队形状态信息。

具体地,机器人1首先确定从机器人本体到所述目标对象之间的障碍物信息,其中,障碍物是指环境中除了所述目标对象之外其他的所有对象,因此,障碍物既有静止的障碍物,例如在室内跟踪时的墙壁、柱子等建筑物,也有移动的障碍物,例如不属于所述目标对象的观测对象。接着,将当前所述目标对象的位置信息,例如已记录在所对应的历史观测记录中的位置信息,设置为机器人1的目标坐标。最后,基于所述协作指令,根据障碍物分布情况以及机器人的目标坐标,确定机器人向所述目标对象的移动路径。在实际应用中,由于从一个位置到达另一个位置的移动路径不是唯一的,因此为机器人确定的移动路径也不是唯一的,而是从多条路径中选择出最适合的路径。在多机器人协作任务中,各个机器人的独立运动需要同时兼顾彼此之间的协作,在此,网络设备2提供给各个机器人1的所述协作指令包括多机器人队形状态信息,用以指示协作的各个机器人1的移动编队信息,例如保持一列、一行、或多列编队,进而,通过所述队形状态信息来规划机器人向所述目标对象的移动路径,例如,若是各个机器人1以行的方式前进,需要考虑到移动路径上的路径宽度,排除掉路径宽度受限的候选路径。在一种实现方式中,包含了所述队形状态信息的协作指令可以是在机器人1在移动开始之前即由对应的机器人1接收的,还可以实在运动过程中,基于场景的变化而实时提供给机器人1的。

进一步,在步骤S1232中,机器人1可以基于所述协作指令,确定所述机器人1的移动速度,其中,所述协作指令包括速度控制规则;接着,控制所述机器人1可以基于所述移动速度、按所述移动路径移动,其中,通过所述移动速度控制所述机器人1与目标对象之间的相对距离包含在预设的相对距离范围阈值内。具体地,当多机器人协作编队移动时,除了需要考虑到队形,还需要考虑到具体的机器人1之间的相对位置,例如,在协作移动搬运任务中,若各个机器人1以一列移动,在运送对象长为N米时,为了保证各个机器人同时承载有该运送任务,相邻两个机器人1的相对位置便不是随意的,而是需要保证相邻两个机器人1之间保持在一定的距离范围内,在此,可以通过协作指令中的速度控制规则确定机器人1的移动速度,使得所述所述机器人1可以基于所述移动速度、按所述移动路径移动,同时,保持与其跟随的目标机器人(可以对应于另一个机器人1)之间的预设的距离范围。

进一步,在一种实现方式中,所述基于所述协作指令,确定所述机器人1的移动速度,其中,所述协作指令包括速度控制规则包括:基于所述速度控制规则,确定所述机器人1的移动速度,其中,所述移动速度包括前进速度和/或转向速度。在此,机器人1的运动需要受到机器人本体的运动学和动力学的约束,同时,在避免碰撞时还需要考虑机器人1的尺寸。控制机器人1按照所述移动路径移动时,一方面控制机器人1不偏离路径范围,即进行运动方向的控制,另一方面需要控制机器人1的移动速度。进一步,优选地,机器人1的移动速度分为前进速度和转向速度两个分量,具体地,前进速度指机器人1朝向方向上的速度分量,转向速度指在垂直于前进速度方向上的速度分量。

在此基础上,进一步的一种实现方式是:当机器人1与所述目标对象之间的距离大于或等于距离阈值时,同时对所述前进速度和所述转向速度进行规划控制;当机器人1与所述目标对象之间的距离小于距离阈值时,即机器人已经接近目标对象时,则只需要对机器人的运动方向,即转向速度进行微调整。

在本申请中,所述机器人1在获取到协作指令后,通过确定所述机器人1待跟随的目标对象;进而从所述机器人实时捕获的场景中识别所述目标对象;从而实现基于所述协作指令,控制所述机器人1按相应的移动路径向目标对象移动。与现有的机器人跟随技术相比,本申请可以在实时变化的、干扰因素较多的自然环境中,准确地锁定目标对象,并进行有效地跟踪,从而提高了机器人跟随的准确度,解决了目前机器人跟随经常发生的跟错目标或跟丢目标的技术问题。同时基于所述协作指令控制所述机器人按相应的移动路径向目标对象移动,可以从整体上实现多个机器人彼此协作的编队移动。

在一种实现方式中,在步骤S21中,网络设备1可以向第一机器人提供第一协作指令,其中,所述第一机器人基于所述第一协作指令,控制所述第一机器人按相应的移动路径向目标对象或目的位置移动;接着,向第二机器人提供第二协作指令,其中,所述第二机器人基于所述第二协作指令,控制所述第二机器人按相应的移动路径跟随第一机器人移动。进一步,在一种实现方式中,所述第二机器人与所述第一机器人之间的相队形状态与协作指令中的多机器人队形状态信息相匹配,且所述第二机器人与所述第一机器人之间的相对距离包含在预设的相对距离范围阈值内。在此,所述第一机器人和第二机器人都可以对应为不同的机器人1,在一种实现方式中,同一个多机器人协作任务可以由一个或多个第一机器人和一个或多个第二机器人共同协作执行。在一种实现方式中,所述第一协作指令与第二协作指令可以相同、或不同。

图3示出根据本申请一个方面的一种进行多机器人协作的系统图。其中,所述系统包括机器人1和网络设备2。

其中,所述机器人1包括第一装置31和第二装置32,所述网络设备2包括第四装置41。

本申请实施例提供了一种进行多机器人协作的系统,所述系统可以包括机器人和网络设备。其中,所述机器人包括可以自动执行工作的各种机器设备,可以是具有移动功能、或搬运装载功能、或其他功能的机器设备,也可以同时具有上述多种功能的机器设备,例如,各种具有移动搬运功能的人工智能设备。在本申请中,进行同一个协作任务的多个机器人具有的功能可以相同、也可以不同。所述网络设备包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或云服务器,其中,所述云服务器可以是运行在分布式系统中的、由一群松散耦合的计算机集组成的一个虚拟超级计算机,其用以实现简单高效、安全可靠、处理能力可弹性伸缩的计算服务。在本申请中,所述机器人可以指代为所述机器人1,所述网络设备可以指代为所述网络设备2。

具体地,第四装置41可以向一个或多个机器人1提供匹配的协作指令,其中,所述机器人1基于相应的协作指令执行对应的多机器人协作任务。对应地,第一装置31从网络设备2中获取与自身匹配的协作指令。在此,多机器协作任务可以由多个机器人1配合执行的各种任务。例如,多个机器人1保持相似距离的同步移动;又如,多个机器人1共同运载同一对象;又如,多个机器人1进行一个对象的各个部件的组装任务等。在一种实现方式中,网络设备2可以基于协作任务类型、或具体的协作操作的不同而为不同的机器人1匹配相应的协作指令。

在一种实现方式中,所述协作指令可以包括以下至少任一项:所述机器人的多机器人队形状态信息;所述机器人的速度控制规则;所述机器人的待跟随的目标对象的坐标信息;所述机器人的其他执行相关信息。

具体地,以在多个机器人1保持相似距离的同步移动,或多个机器人1共同运载同一对象的场景为例,在一种实现方式中,网络设备2可以通过协作指令给出各个机器人1其各自移动所需要维持的队形状态信息,例如保持一列、一行、或多列编队;在又一种实现方式中,网络设备2还可以通过速度控制规则的协作指令,控制协作的各个机器人1的运行速度,以调整各个机器人1彼此之间的距离,从而实现对整个队列移动的控制;在又一种实现方式中,网络设备2还可以给一个或多个机器人1提供其待跟随的目标对象的坐标信息,可以是在移动操作启动时提供待确定的目标对象的坐标信息,也可以是在移动过程中,基于设置实时提供目标对象的坐标信息。

以多个机器人1进行一个对象的各个部件的组装任务的场景为例,所述协作任务可以包括为了使各个机器人1移动到各自相应的组装位置的所述机器人的速度控制规则;所述机器人的目标位置的坐标信息;以及机器人的组装操作步骤信息等。此外,基于其他的协作任务的具体任务需要,所述协作任务也将适应性变化。

在一种实现方式中,第四装置41可以同时向所述协作任务对应的各个机器人1统一发送协作指令;在另一种实现方式中,第四装置41也可以在任意时机向任意一个或多个机器人1分别发送协作指令。在一种实现方式中,同一个协作任务中的多个机器人1对应的协作指令可以相同;也可以不相同,或部分相同、部分不同,例如,在多个机器人1以一列的队形、保持相似距离的同步移动场景中,队列首个机器人1的协作指令可以与队列中其他机器人1的协作指令不同。

接着,第二装置32可以基于所述协作指令,执行对应的多机器人协作任务。在一种实现方式中,各个机器人1之间并不需要通过直接通讯以实现相应地协作任务,而是可以通过网络设备2以所述协作指令实时控制进行协作的一个或多个机器人1,并由各个机器人1分别执行协作指令以实现协作任务的完成。在一种实现方式中,网络设备2可以仅仅给出各个机器人1彼此之间协作需要的必要指令,而其他不需要协作即可执行的操作,可以由机器人1独立执行,例如,在多个机器人1保持相似距离的同步移动,或多个机器人1共同运载同一对象的场景中,对于整体编队保持和队列运行速度的控制可以由网络设备1通过协作指令控制,而对于每个机器人1的具体跟随操作,如跟随对象的确定、识别等操作可以由各个机器人1自身设置执行。

在本申请中,进行协作任务的多个独立的机器人1可以基于从对应网络设备2获取到的协作指令,共同执行对应的多机器人协作任务。在此,本申请可以基于具体场景的应用需要,通过网络设备2发出的所述协作指令,将多个独立的机器人进行灵活组合,使得组合后的各个机器人可以实现对工作量较大、或工作分类复杂的任务的协同作业,从而有助于复杂工作的分解和整体资源的优化。

在一种实现方式中,第二装置21可以基于所述协作指令,控制所述机器人1按相应的移动路径向目的位置或目标对象移动。在此,本申请的多机器人协作任务可以是需要多个机器人编队移动的协作任务,例如多个机器人1保持相似距离的同步移动;又如,多个机器人1共同运载同一对象。具体地,在一种实现方式中,基于所述协作指令,可以控制机器人1按相应的移动路径向目的位置移动,例如所述机器人1是位于队列最前方的一个或多个机器人,其可能没有具体的目标对象,而是对应于需要到达的目的位置;在一种实现方式中,基于所述协作指令,还可以控制机器人1按相应的移动路径向目标对象移动,例如,位于机器人队列最前方的一个或多个机器人1可以有跟踪的对象,例如某个移动的人或物,又如,非位于机器人队列最前方的机器人1需要跟随目标对象,即目标机器人进行移动,该目标机器人可以是该机器人1前方最接近的其他机器人,或是其他预设、或基于协作指令确定的其他机器人。

在本实现方式中,所述机器人1可以用于实现多机器人编队移动,例如,进行协作的机器人1可以基于匹配的协作指令向目的位置的移动,或是跟随目标对象移动,以实现多个机器人1的编队移动。基于本实现方式,可以灵活、有效地实现需要基于多个机器人编队移动实现的各类协作任务,例如协作移动搬运任务等。

进一步,在一种实现方式中,所述第二装置32包括第一单元(未示出)、第二单元(未示出)和第三单元(未示出)。

具体地,第一单元可以确定所述机器人1待跟随的目标对象。在一种实现方式中,所述目标对象包括目标机器人,所述机器人与其对应的目标机器人上承载有同一个运送对象,此时,所述协作任务可以对应为协作移动搬运任务。所述机器人1在协作任务开始时需要确定其待跟随的目标对象。

在一种实现方式中,当所述机器人1被设置为跟随模式时,第一单元可以从所述机器人1实时捕获的周围信息中识别对应的匹配对象,进而将所述匹配对象作为所述机器人1待跟随的目标对象。在一种实现方式中,可以通过预设的触发操作开启机器人1的跟随模式。当该跟随模式开始时,机器人1可以实时捕获周围信息,在一种实现方式中,可以通过机器人1中的一个或多个传感装置获取到周围环境信息的原始数据,原始数据可以是图像、图片或者点云。进而,机器人1从所述原始数据中检测出需要跟随的对象类型,环境中可以有一个或多个对象属于该对象类型。通过机器学习的方法,事先训练好分类器,即提取某一类对象的扫描数据的特征信息,输入到分类器中,通过对比从环境信息中检测出某类对象。某类对象往往有多个,匹配对象即是从一个或多个该类对象中选择的作为目标对象的对象。

进一步,在一种实现方式中,所述匹配对象可以包括但不限于以下至少任一项:在所述机器人1周围与所述机器人1最接近的对象;在所述机器人1前方与所述机器人1最接近的对象;在所述机器人1正前方与所述机器人1最接近的对象;在所述机器人1周围且与待跟随对象的对象特征信息相匹配的对象;在所述机器人1周围且与待跟随对象的对象特征信息最匹配的对象;在所述机器人1周围与待跟随对象的对象特征信息相匹配的多个对象中与所述机器人最接近的对象。在一种实现方式中,所述对象特征信息可以包括但不限于待跟随对象的位置信息、运动状态信息、本体特征信息中的一个或多个信息。

进一步,在一个种实现方式中,第一单元可以基于所述协作指令确定待跟随的目标对象的坐标信息;进而,所述机器人1实时获取所述机器人的周围环境信息,其中,所述机器人1与所述坐标信息间的距离小于或等于预定的距离阈值;接着,所述机器人1从所述周围环境信息识别对应的匹配对象,并将所述匹配对象作为所述机器人1待跟随的目标对象。在此,坐标信息既可以是绝对坐标信息,也可以是相对坐标信息。机器人1通过扫描获取其周围环境信息,若是此时所述机器人1与坐标信息间的距离小于或等于预定的距离阈值;则可以从环境信息中识别出与所述坐标信息匹配的匹配对象,并将匹配对象设定为目标对象。

进一步,在一个种实现方式中,若机器人1获取所述协作指令时,其位置与待跟随对象的位置之间的距离大于预定的距离阈值,本申请更进一步地给出了该种情况下的一种解决方案:当所述机器人1与所述坐标信息间的距离大于预定的距离阈值,控制所述机器人1朝向所述坐标信息移动,以此来缩小机器人1与坐标信息之间的距离;接着,在移动过程中,实时获取所述机器人1的周围环境信息,直到所述机器人1与所述坐标信息间的距离小于或等于预定的距离阈值时,即可以从所述周围环境信息识别对应的匹配对象,并将所述匹配对象作为所述机器人1待跟随的目标对象。

接着,第二单元可以从所述机器人1实时捕获的场景中识别所述目标对象。在机器人1移动过程中,环境中的各对象也处于不断变化的状态,因此,机器人1需要基于实时变化的环境一次又一次地重复目标对象的识别操作。在一种实现方式中,机器人1可以通过周期性地扫描周围环境,获取实时环境数据信息,再从该环境数据信息中检测出与目标对象属于同一类的所有对象,最后根据某一个周期或持续扫描的多个周期的检测结果,识别出相匹配的目标对象;

具体地,一种实现方式中,第二单元可以实时扫描获取所述机器人1的周围环境信息;接着,可以从所述周围环境信息中检测与所述目标对象的对象特征信息相匹配的一个或多个观测对象,在此,由于最近一次的目标对象识别操作确定的目标对象、其对应的对象特征信息已被存储,例如,将确定目标对象的对象特征信息以历史观测记录的形式存储,因此,可以将当前环境信息扫描所确定的一个或多个观测对象的对象特征信息与存储的目标对象的对象特征信息进行相似匹配,在此,所述观测对象、或所述目标对象的对象特征信息可以包括但不限于以下任一项:对象的位置信息;对象的运动状态信息;对象的本体特征信息等,其中,所述位置信息是指对应扫描时刻所述对象的位置;运动状态信息包括运动的方向、速度大小等运动信息;本体特征信息则是指所述对象本体的外观特征,包括形状、大小以及颜色信息等;进而,机器人1可以从一个或多个所述观测对象中识别出所述目标对象,例如,满足一定匹配度的观测对象既可能推定为目标对象。

进一步,在一种实现方式中,所述从一个或多个所述观测对象中识别出所述目标对象可以包括:确定所述机器人1对应的一个或多个观测对象中每个观测对象与历史观测记录的关联信息,其中,所述一个或多个观测对象包括所述目标对象,所述历史观测记录包括一个或多个历史观测对象的对象相关信息;接着,所述机器人1根据所述观测对象与所述历史观测记录的关联信息从一个或多个所述观测对象中识别出所述目标对象。

具体地,当机器人1基于实时变化的环境一次又一次地重复目标对象的识别操作后确定出所述目标对象时,可以将此目标对象及其对应的对象特征信息记录进历史观测记录,同时,还可以将与所述目标对象同时确定出的其他观测对象及其对应的对象特征信息进行匹配确定,同样记录在历史观测记录中。进一步,当前进行目标对象识别操作时,可以将当前获取到的一个或多个观测对象中每个观测对象与历史观测记录进行数据关联,在一种实现方式中,所述数据关联可以是指将当前一个或多个观测对象中的每一个观测对象分别与存储的所述历史观测记录中的每一对象的观测记录进行匹配,其结果便是关联信息。例如,某当前扫描周期中,环境中有N个观测对象,机器人之前存储了M个对象的历史观测记录,其中,M与N的数量可能相同、或不同;且N个对象与M个对象对应的具体对象可能存在一个或多个对象交集。进行数据关联,即是将N个观测对象逐一分别与历史观测记录中M个对象的观测记录进行匹配,得到每一次匹配的匹配度,而整体匹配结果便是一个N行M列的矩阵,矩阵元素便是对应的匹配度,这一矩阵便是关联信息。其中,所述观测对象包括目标对象在内。在一种实现方式中,所述匹配可以基于对象的一个或多个对象特征信息进行的特征匹配。接着,基于得到的所述关联信息识别出所述目标对象。在得到关联信息即匹配度矩阵之后,经过综合分析运算,选取整体匹配度最高的一种关联方式,从而得到所述目标对象。

在一种实现方式中,所述机器人1还包括第三装置(未示出),机器人1可以根据所述一个或多个观测对象更新所述历史观测记录,其中,更新后的所述历史观测记录中的对象包括从一个或多个所述观测对象中所识别出的所述目标对象。机器人1所对应的观测对象随着环境的变化而不断变化,在一种实现方式中,若有新的所述观测对象出现,则增加相应的所述观测记录;若已有的所述观测对象消失,则删除该观测对象对应的所述观测记录;若已有的所述观测对象仍存在,则更新相对应的所述观测记录中的相关信息。

接着,第三单元可以基于所述协作指令,控制所述机器人按相应的移动路径向目标对象移动。具体地,机器人1可以确定所述机器人1向所述目标对象的移动路径;进而,控制所述机器人1按所述移动路径移动。其中,所述移动路径的确定、或移动的控制行为可以都是基于网络设备2的协作指令执行的,或者是只有一项是基于所述协作指令执行的。

在一种实现方式中,第三单元可以基于所述协作指令,控制所述机器人按相应的移动路径向目标对象移动,其中,所述机器人与目标对象之间的队形状态与协作指令中的多机器人队形状态信息相匹配,且所述第二机器人与所述第一机器人之间的相对距离包含在预设的相对距离范围阈值内。其中,网络设备2可以通过协作指令给出各个所述机器人1其各自移动所需要维持的队形状态信息,例如保持一列、一行、或多列编队,在一种实现方式中,这些队形状态可以通过机器人1移动路径、运动状态等参数的设置来实现;在又一种实现方式中,网络设备2还可以通过速度控制规则的协作指令,控制协作的各个机器人1的运行速度,以调整各个机器人1彼此之间的距离,从而实现整个队列移动的控制。在此,可以通过协作指令来控制多机器人协作任务中控制多机器人的队列形状,或具体到机器人彼此之间的相对位置。使得各个机器人1之间的协同作业配合度更高,提高协同任务的完成效率。

在一种实现方式中,所述第三单元可以包括第一子单元(未示出)和第二子单元(未示出)。具体地,第一子单元可以基于所述协作指令,确定所述机器人1向所述目标对象的移动路径;第二子单元可以基于所述协作指令,控制所述机器人1按所述移动路径移动。

进一步,第一子单元可以从所述机器人的所述周围环境信息中获取障碍物信息;接着,基于识别出的所述目标对象的位置信息,确定所述机器人1的目标坐标;接着,基于所述协作指令,结合所述目标坐标以及所述障碍物信息,确定所述机器人向所述目标对象的移动路径,其中,所述协作指令包括多机器人队形状态信息。

具体地,第一子单元首先确定从机器人本体到所述目标对象之间的障碍物信息,其中,障碍物是指环境中除了所述目标对象之外其他的所有对象,因此,障碍物既有静止的障碍物,例如在室内跟踪时的墙壁、柱子等建筑物,也有移动的障碍物,例如不属于所述目标对象的观测对象。接着,将当前所述目标对象的位置信息,例如已记录在所对应的历史观测记录中的位置信息,设置为机器人1的目标坐标。最后,基于所述协作指令,根据障碍物分布情况以及机器人的目标坐标,确定机器人向所述目标对象的移动路径。在实际应用中,由于从一个位置到达另一个位置的移动路径不是唯一的,因此为机器人确定的移动路径也不是唯一的,而是从多条路径中选择出最适合的路径。在多机器人协作任务中,各个机器人的独立运动需要同时兼顾彼此之间的协作,在此,网络设备2提供给各个机器人1的所述协作指令包括多机器人队形状态信息,用以指示协作的各个机器人1的移动编队信息,例如保持一列、一行、或多列编队,进而,通过所述队形状态信息来规划机器人向所述目标对象的移动路径,例如,若是各个机器人1以行的方式前进,需要考虑到移动路径上的路径宽度,排除掉路径宽度受限的候选路径。在一种实现方式中,包含了所述队形状态信息的协作指令可以是在机器人1在移动开始之前即由对应的机器人1接收的,还可以实在运动过程中,基于场景的变化而实时提供给机器人1的。

进一步,第二子单元可以基于所述协作指令,确定所述机器人1的移动速度,其中,所述协作指令包括速度控制规则;接着,控制所述机器人1可以基于所述移动速度、按所述移动路径移动,其中,通过所述移动速度控制所述机器人1与目标对象之间的相对距离包含在预设的相对距离范围阈值内。具体地,当多机器人协作编队移动时,除了需要考虑到队形,还需要考虑到具体的机器人1之间的相对位置,例如,在协作移动搬运任务中,若各个机器人1以一列移动,在运送对象长为N米时,为了保证各个机器人同时承载有该运送任务,相邻两个机器人1的相对位置便不是随意的,而是需要保证相邻两个机器人1之间保持在一定的距离范围内,在此,可以通过协作指令中的速度控制规则确定机器人1的移动速度,使得所述所述机器人1可以基于所述移动速度、按所述移动路径移动,同时,保持与其跟随的目标机器人(可以对应于另一个机器人1)之间的预设的距离范围。

进一步,在一种实现方式中,所述基于所述协作指令,确定所述机器人1的移动速度,其中,所述协作指令包括速度控制规则包括:基于所述速度控制规则,确定所述机器人1的移动速度,其中,所述移动速度包括前进速度和/或转向速度。在此,机器人1的运动需要受到机器人本体的运动学和动力学的约束,同时,在避免碰撞时还需要考虑机器人1的尺寸。控制机器人1按照所述移动路径移动时,一方面控制机器人1不偏离路径范围,即进行运动方向的控制,另一方面需要控制机器人1的移动速度。进一步,优选地,机器人1的移动速度分为前进速度和转向速度两个分量,具体地,前进速度指机器人1朝向方向上的速度分量,转向速度指在垂直于前进速度方向上的速度分量。

在此基础上,进一步的一种实现方式是:当机器人1与所述目标对象之间的距离大于或等于距离阈值时,同时对所述前进速度和所述转向速度进行规划控制;当机器人1与所述目标对象之间的距离小于距离阈值时,即机器人已经接近目标对象时,则只需要对机器人的运动方向,即转向速度进行微调整。

在本申请中,所述机器人1在获取到协作指令后,通过确定所述机器人1待跟随的目标对象;进而从所述机器人实时捕获的场景中识别所述目标对象;从而实现基于所述协作指令,控制所述机器人1按相应的移动路径向目标对象移动。与现有的机器人跟随技术相比,本申请可以在实时变化的、干扰因素较多的自然环境中,准确地锁定目标对象,并进行有效地跟踪,从而提高了机器人跟随的准确度,解决了目前机器人跟随经常发生的跟错目标或跟丢目标的技术问题。同时基于所述协作指令控制所述机器人按相应的移动路径向目标对象移动,可以从整体上实现多个机器人彼此协作的编队移动。

在一种实现方式中,网络设备1的第四装置41可以向第一机器人提供第一协作指令,其中,所述第一机器人基于所述第一协作指令,控制所述第一机器人按相应的移动路径向目标对象或目的位置移动;接着,向第二机器人提供第二协作指令,其中,所述第二机器人基于所述第二协作指令,控制所述第二机器人按相应的移动路径跟随第一机器人移动。进一步,在一种实现方式中,所述第二机器人与所述第一机器人之间的相队形状态与协作指令中的多机器人队形状态信息相匹配,且所述第二机器人与所述第一机器人之间的相对距离包含在预设的相对距离范围阈值内。在此,所述第一机器人和第二机器人都可以对应为不同的机器人1,在一种实现方式中,同一个多机器人协作任务可以由一个或多个第一机器人和一个或多个第二机器人共同协作执行。在一种实现方式中,所述第一协作指令与第二协作指令可以相同、或不同。

对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

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