在环境中动态维持机器人装置的机群的地图以便于机器人动作的制作方法

文档序号:11449854阅读:176来源:国知局
在环境中动态维持机器人装置的机群的地图以便于机器人动作的制造方法

相关申请的交叉引用

本申请要求2014年11月11日提交的美国临时申请no.62/078,250和2015年9月24日提交的美国专利申请no.14/863,620的优先权,在此通过援引将这些申请的全部内容并入。



背景技术:

仓库可以被各种类型的商业实体包括制造商、经销商和运输商用于存储物品。示例的存储物品可以包括原材料、零部件、包装材料和制成品。在一些情形中,仓库可以被配备有装载码头以允许物品被装载到运送卡车或其它类型的车辆上或者被从运送卡车后其它类型的车辆卸载。仓库也可以使用成行的托盘货架以允许存储包含成堆叠的盒子或其它物体的托盘、平的运输结构。另外,仓库可以具有用于将物品或物品的托盘举起并移动的机器或车辆,诸如起重机和升降机。人类操作员可以被雇佣以操作机器、车辆或其它设备。在一些情形中。机器或车辆中的一个或多个可以是由计算机控制系统引导的机器人装置。



技术实现要素:

示例系统和方法基于动态维持的地图来提供对物理环境诸如仓库中的机器人装置的机群的操作进行动态管理。机器人装置的机群的操作的动态管理可以提高操作效率并且因此可以减少机群对能量、时间和物理环境内的空间中的一项或多项的使用。

更加具体地,被构造成管理机器人装置的机群的操作的系统确定环境的地图,所述地图指示所述机群的至少一部分被预测在将来将处在的地点。随着时间,机群的机器人装置可以在环境中彼此协调操作。例如,机器人装置可以合作地将物体从环境中的一个地点移动到另一个地点。在机器人装置在环境中操作时,机器人装置将数据发送到系统。在示例内,这样的数据可以包括环境中的机器人的更新的地点和/或可以包括对机器人装置正在执行的任务的状态的更新。系统然后使用数据来调整预测的地点,对地图进行更新,并且将更新发送到机群的各个机器人装置以便于环境中的机群的连续有效操作。

在一方面中,本申请描述一种方法。方法可以涉及确定物理环境内的多个机器人装置的地图,其中地图包括所述多个机器人装置中的至少一些的预测的将来地点。方法也可以涉及使所述多个机器人装置中的一个或多个机器人装置执行包括一个或多个任务阶段的任务。方法可以进一步涉及,在通过所述一个或多个机器人装置执行所述一个或多个任务阶段中的至少一个任务阶段期间,从所述一个或多个机器人装置接收任务进程数据,所述任务进程数据指示所述一个或多个任务阶段中的哪个已经被所述一个或多个机器人装置执行。方法可以仍进一步涉及,基于接收到的任务进程数据,更新物理环境内的所述多个机器人装置的地图,其中更新的地图包括对所述多个机器人装置中的至少一些机器人装置的预测将来地点的至少一个修改。方法可以仍又进一步涉及,根据更新的地图,使所述一个或多个机器人装置执行至少一个其它任务阶段。

在另一方面中,本申请描述一种系统。系统可以包括在物理环境内的多个机器人装置、至少一个处理器和数据存储器,所述数据存储器包括可由所述至少一个处理器执行以使系统执行操作的指令。操作可以包括确定物理环境内的多个机器人装置的地图,其中地图包括所述多个机器人装置中的至少一些的预测的将来地点。操作也可以包括使所述多个机器人装置中的一个或多个机器人装置执行包括一个或多个任务阶段的任务。操作可以进一步包括,在通过所述一个或多个机器人装置执行所述一个或多个任务阶段中的至少一个任务阶段期间,从所述一个或多个机器人装置接收任务进程数据,所述任务进程数据指示所述一个或多个任务阶段中的哪个已经被所述一个或多个机器人装置执行。操作可以仍进一步包括,基于接收到的任务进程数据,更新物理环境内的所述多个机器人装置的地图,其中更新的地图包括对所述多个机器人装置中的至少一些机器人装置的预测将来地点的至少一个修改。操作可以仍又进一步包括,根据更新的地图,使所述一个或多个机器人装置执行至少一个其它任务阶段。

在又另一方面中,本申请描述一种系统,所述系统包括被构造成在物理环境内操纵多个物体的多个机器人装置、至少一个处理器和数据存储器,所述数据存储器包括可由所述至少一个处理器执行以使系统执行操作的指令。操作可以包括确定正经受物理环境内的所述多个机器人装置的操纵的所述多个物体的地图,其中地图包括所述多个物体中的至少一些物体的预测的将来地点。操作也可以包括使所述多个机器人装置中的一个或多个机器人装置执行包括一个或多个任务阶段的任务。操作可以进一步包括,在通过所述一个或多个机器人装置执行所述一个或多个任务阶段中的至少一个任务阶段期间,从所述一个或多个机器人装置接收任务进程数据,所述任务进程数据指示所述一个或多个任务阶段中的哪个已经被所述一个或多个机器人装置执行。操作可以仍进一步包括,基于接收到的任务进程数据,更新正受到物理环境内的所述多个机器人装置的操纵的所述多个物体的地图,其中更新的地图包括对所述多个物体中的至少一些物体的预测将来地点的至少一个修改。

在又另一方面中,系统被提供成包括用于确定物理环境内的多个机器人装置的地图的手段,其中地图包括所述多个机器人装置中的至少一些的预测的将来地点。系统也可以包括使所述多个机器人装置中的一个或多个机器人装置执行包括一个或多个任务阶段的任务的手段。系统可以进一步包括如下手段,该手段用于在通过所述一个或多个机器人装置执行所述一个或多个任务阶段中的至少一个任务阶段期间,从所述一个或多个机器人装置接收任务进程数据,所述任务进程数据指示所述一个或多个任务阶段中的哪个已经被所述一个或多个机器人装置执行。系统可以仍进一步包括如下手段,该手段用于基于接收到的任务进程数据,更新物理环境内的所述多个机器人装置的地图,其中更新的地图包括对所述多个机器人装置中的至少一些机器人装置的预测将来地点的至少一个修改。系统可以仍又进一步包括如下手段,该手段用于根据更新的地图,使所述一个或多个机器人装置执行至少一个其它任务阶段。

前述发明内容仅仅是说明性的并且无论如何并非旨是限制性的。除了上述的说明性方面、实施方式和特征之外,通过参考附图和以下详细描述,进一步的方面、实施方式和特征将变得显而易见。

附图说明

图1a示出根据示例实施例的机器人机群。

图1b是图示根据示例实施例的机器人机群的部件的功能性框图。

图2a示出根据示例实施例的机器人卡车卸载机。

图2b示出根据示例实施例的在基座上的机械臂。

图2c示出根据示例实施例的自动化引导车辆。

图2d示出根据示例实施例的自动叉车。

图3是根据本文描述的至少一些实施方式的示例方法的流程图。

图4a图示根据本文描述的至少一些示例实施方式的在仓库中的机器人机群的示例操作。

图4b和4c图示根据本文描述的至少一些示例实施方式的在仓库中操作的机器人机群的示例地图。

图5是根据本文描述的至少一些实施方式的另一示例方法的流程图。

具体实施方式

本文描述示例方法和系统。本文所述的任何示例实施方式或特征不必然被理解为比其它实施方式或特征优选或有利。本文所述的示例实施方式不是限制性的。应理解的是,公开的系统和方法的某些方面在广泛的不同构造中能被布置和组合,所有这些都被包含于此。

此外,图中所示的特定布置不应被视为是限制性的。应理解的是,其它实施方式可以包括更多个或更少个在给定图中示出的每个元件。此外,图示的元件中的一些可以被组合或省略。又进一步地,示例实施方式可以包括未在图中示出的元件。

示例布置包括占据物理环境的机器人装置的多样化机群和控制系统,所述控制系统被构造成动态地管理机群的机器人装置的操作。机器人装置的操作的动态管理可以提高总体操作效率并且因此可以减少机群对能量、时间和环境内的空间中的一项或多项的使用。

在该示例布置内,控制系统确定机器人装置的机群的初始地图。这样的地图包括各种形式的信息,诸如机群中的一个或多个机器人装置的当前地点和/或机器人装置在将来某时很可能或确定会在的预期地点和轨迹。此外,信息也可以包括物体诸如包裹或其它物体的当前和预期将来地点,所述物体能在物理环境诸如仓库或工厂中被操纵。又进一步地,信息也能包括关于环境内的固定地点或结构的信息,诸如在这样的地点处和/或在这样的结构上的可识别图案和纹理。

控制系统使用高级计划来初步预测机器人装置在将来可能位于何处以及机器人装置何时将位于那些地点。例如,控制系统可以计划盒子被从存储设施取走并且被装载到用于运输的卡车上。因而,控制系统可以预测一群机器人装置可以在环境中的各个地点处彼此协调工作,以便将盒子从设施运输到卡车。控制系统也可以按其它方式做这样的初始预测。

控制系统分配将由机群的各种机器人装置执行的任务,诸如在环境内的调遣、将物体从一个地点运送到另一个地点、将障碍物从其它机器人装置的路径移出等。随着时间,当机群的机器人装置正执行由控制系统分配给它们的任务时,机器人装置可以提供或“公布”任务进程数据到控制系统。这样的任务进程数据可以用作一种手段,该手段用于通知控制系统正被执行的任务的当前状态,诸如任务的一个或多个阶段在何时和何处已经被机器人装置完成和/或机器人装置何时和何处已经偏离分配的任务(例如,由于装置故障,受到障碍物的延迟,受到在执行相关任务阶段中迟时的另一机器人装置的延迟等)。任务进程数据也可以用作一种手段,所述手段用于通知控制系统其它信息,诸如物体或其它机器人装置在环境中的地点。

初始地图可以基于控制系统从机器人装置的机群的成员接收到的任务进程数据而被更新,由此使地图成为协作维持地图。特别地,基于从机群的机器人装置接收到的任务进程数据,控制系统可以对初始预测的将来地点做出调整(并且可能调整机器人装置被期望到达初始预测将来地点的初始预测时间)并且相应地更新地图。例如,如果任务进程数据指示机器人装置必须改变它的路线以便避开新发现的障碍物,则控制系统可以将该改变反应到更新的地图中。作为另一示例,如果任务进程数据指示第一机器人装置已经成功地提前将物体移交到第二机器人装置,其中第二机器人装置然后将行进到移交地点以移交物体来由第三机器人装置运输,则控制系统可以更新第二机器人装置的预测将来地点以反应第二机器人装置预期提前到达移交地点。其它示例也是可能的。

控制系统或其它计算系统然后提供或“公布”更新的地图到机器人装置的机群以便于环境中的机群的其它任务或其它动作的执行。特别地,机群的更新的预期地点和轨迹便于一个或多个机器人装置之间的合作协调活动。例如,更新的地图可以使得机器人装置能够执行协调任务,诸如物体的操纵,避免与其它机器人装置或物体碰撞或寻找丢失的物体。

动态合作维持地图可以用于各种目的。举例来说,机群的第一机器人装置可以由控制系统给出指令以执行任务,诸如运输待由机群的第二机器人装置操纵的物体。另外,第二机器人装置可以由全局控制系统给出指令以在通过第一机器人装置完成第一任务后执行任务(例如,从第一机器人装置接收物体并将物体带到另一地点)。因此,第一机器人装置的动作能影响第二机器人装置的执行。因而,期望的是,第一机器人装置被提供有地图,所述地图包括第二机器人装置在不久的将来可能会在的地点(例如,第一机器人装置能将物体移交给第二机器人装置的地点)。同样的,期望的是,第二机器人装置被提供有地图,所述地图包括第一机器人装置在不久的将来可能会在的地点。另外,因为一些机器人装置的动作可能影响其它机器人装置,所以地图能被更新以反映机器人装置的预测将来地点的改变,并且因而更新的地图能使得第一和第二机器人装置能视需要相应地调整它们的动作,和/或在物体被移交后准备后续任务。

现在将详细参考各种实施例,实施例的示例被图示在附图中。在以下详细描述中,许多具体细节被陈述以便提供对本公开和所描述的实施例的透彻理解。然而,本公开可以在不具有这些具体细节的情况下被实践。在其它例子中,没有详细描述已知的方法、过程、部件和电路,以便不必要地隐藏实施例的方面。

示例实施例可以涉及在仓库环境内使用的机器人机群。更加具体地,固定部件和移动部件的组合可以在环境中被采用以便于盒子、包裹或其它类型的物体的自动处理。示例系统可以涉及盒子和/或其它物体的自动装载和/或卸载,诸如进入存储容器中或装载到运送车辆和从运输车辆卸载。在一些示例实施例中,盒子或物体可以被自动化地组织和放置在托盘上。在示例内,使装载/卸载卡车的处理和/或从物体创建托盘以易于存储在仓库内和/或运输到仓库和从仓库运输的处理自动化,可以提供许多工业和商业优势。

根据各种实施例,使在仓库处装载/卸载运送卡车的处理和/或创建托盘的处理自动化,可以包括部署一个或多个不同类型的机器人装置来移动物体或执行其他功能。在一些实施例中,一些机器人装置通过与带轮的底座、完整(holonomic)底座(例如能在任何方向上移动的底座)或天花板、墙壁或地板上的导轨联接而被制成是可移动的。在另外的实施例中,一些机器人装置也可以被制成被固定在环境内。例如,机器人操纵器能被定位在仓库内的不同选择地点处的升高的底座上。

如本文使用的,术语“仓库”可以指任意的物理环境,在该物理环境中通过机器人装置可以操纵、处理和/或存储盒子或物体。在一些示例中,仓库可以是单个物理建筑或结构,其可以另外地包含某些固定的部件,诸如用于存储物体的托盘的托盘货架。在其它示例中,在物体处理之前或期间,一些固定的部件可以被安装或者以其它方式定位在环境内。在另外的示例中,仓库也可以包括多个分开的物理结构,和/或也可以包括不被物理结构覆盖的物理空间。

此外,术语“盒子”可以指能被放置到托盘上或者被装载到卡车或容器上或者从卡车或容器卸载的任意物体或物品。例如,除了矩形固体之外,“盒子”可以指罐、桶、轮胎或任意其它“简单”几何形状的物品。另外,“盒子”可以指装运物、箱子或其它类型的容器,其可以包含一个或多个用于运输或存储的物品。例如,塑料存储手提袋、玻璃纤维托盘或不锈钢箱子可以由仓库内的机器人移动或者以其它方式操纵。本文的示例也可以被应用到除盒子以外的物体,并且可以应用到各种尺寸和形状的物体。另外地,“装载”和“卸载”能每个被使用成隐含另一个。例如,如果示例描述用于装载卡车的方法,应理解的是,大体上相同的方法也能被用于卸载卡车。如本文使用的,“装入托盘”指将盒子装载在托盘上并且堆叠或布置盒子使得托盘上的盒子能在托盘上存储或运输。另外,“装入托盘”和“移出托盘”能每个被使用成隐含另一个。

在示例内,多样化的机器人机群可以在被设定用于多种不同应用的仓库中被使用。一个可能的应用包括订单履行(例如,为单个客户),在该应用中,箱可以被打开并且来自箱的单个物品被放入在盒子内的包装以完成单个订单。另一可能应用包括配送(例如,配送到商场或其它仓库),在配送中,混合的托盘可以被构造为包含成群的不同类型的产品以运送到商场。进一步可能的应用包括交叉对接,其可能涉及在运送容器之间的运输而不存储任何物(例如,物品可以被从四个40英寸的拖车移动并且装载到三个驳船拖拉机拖车中,并且也能被装入托盘)。许多其它应用也是可能的。

现在参考附图,图1a描绘根据示例实施例的在仓库设定内的机器人机群。更具体地,不同类型的机器人装置可以形成多样化的机器人机群100,其可以被控制以协同执行与仓库环境内的物品、物体或盒子的处理相关的任务。不同机器人装置的某些示例类型和数量在这被示出用于图示目的,但是机器人机群100可以采用更多或更少的机器人装置,可以省略本文所示的某些类型,并且也可以包括未明确示出的其它类型的机器人装置。另外,仓库环境本文被示出成具有某些类型的固定部件和结构,但是固定部件和结构的其它类型、数目和布置可以被使用在其它示例中。

被示出在机器人机群100中的一个示例类型的机器人装置是自动引导车辆(agv)112,其可以是相对小的带有轮的移动车辆,其功能可以是在仓库内将单个包裹、箱或装运物从一个地点运输到另一个地点。机器人装置的另一示例类型是自动叉车114,一种具有升降叉的移动装置,升降叉可以被用于运输盒子的托盘和/或用于举起盒子的托盘(例如,将托盘放置到货架上用于存储)。机器人装置的另外的示例类型是机器人卡车装载机/卸载机116,一种具有机器人操纵器以及其它部件诸如光学传感器的移动装置,以便将盒子装载到卡车或其它车辆上和/或从卡车或其它车辆卸载盒子。例如,机器人卡车卸载机116可以被用于将盒子装载到运送卡车118上,运送卡车118可以与仓库相邻停泊。在一些示例中,运送卡车118的移动(例如,运送包裹到另一仓库)也可以与机群内的机器人装置配合。

本文图示的那些机器人装置外的其它类型的移动机器人装置也可以被包括或者作为替代。在一些示例中,除了地面上的轮子以外,一个或多个机器人装置可以使用不同的运输模式。例如,一个或多个机器人装置可以是空运的(例如,四轴飞行器),并且可以被用于任务诸如使物体移动或者收集环境的传感器数据。

在进一步示例中,机器人机群100也可以包括可以被定位在仓库内的各种固定部件。在一些示例中,一个或多个固定机器人装置可以被用于移动或以其它方式处理盒子。例如,基座机器人122可以包括在基座上升高的机械臂,基座被固定到仓库内的地面。基座机器人122可以被控制成在其它机器人之间分布盒子和/或对盒子的托盘进行堆叠或拆堆叠。例如,基座机器人122可以从附近的托盘140拾取并移动盒子并且将盒子分配到单个agv112,用于运输到仓库内的其它地点。

在另外的示例中,机器人机群100可以采用被定位在仓库空间内的另外的固定部件。例如,高密度存储货架124可以被用于在仓库内存储托盘和/或物体。存取货架124可以设计和定位成便于与机群内的一个或多个机器人装置诸如自动叉车114互动。在进一步的示例中,同样或替代的,某些地面空间也可以被选择并用于存储托盘或盒子。例如,一些托盘130可以被定位在仓库环境内在选定地点持续某些时间段,以允许托盘被一个或多个机器人装置拾取、分配或以其它方式处理。

图1b是图示根据示例实施例的机器人仓库机群100的部件的功能性框图。机器人机群100能包括各种移动部件诸如agv112、自动叉车114、机器人卡车装载机/卸载机116和运送卡车118中的一个或多个。机器人机群100可以另外地包括被定位在仓库或其它环境内的一个或多个固定部件,诸如基座机器人122、密集存储容器124和电池交换/充电站126。在进一步的示例中,图1b中图示的不同数目和类型的部件可以被包括在机群内,某些类型可以被省略,并且另外的功能和/或物理部件也可以被添加到由图1a和1b所示的示例中。为了协调分开的部件的动作,全局控制系统150,诸如远程的基于云的服务器系统,可以与系统部件中的一些或全部和/或与单个部件的分开的局部控制系统通信(例如,通过无线通信接口的方式)。

在示例内,某些固定部件120可以在部署机器人机群100的其余部分之前被安装。在一些示例中,在确定某些固定部件诸如基座机器人122或电池交换站126的放置之前,一个或更多个移动机器人可以被引入以对空间进行测绘。一旦测绘信息是可用的,该系统可以确定(例如,通过进行模拟)如何在可用空间内布局固定部件。在某些情形中,布局可以被选择为使需要的固定部件的数目和/或由这些部件使用的空间的量最小化。固定部件120和移动部件110可以在分开的阶段或同时一次被部署。在另外的示例中,可以仅在特定时间段期间或者为了完成特定任务而引进某些移动部件110。

在一些示例中,全局控制系统150可以包括中央计划系统,其将任务分配到机群100内的不同机器人装置。中央计划系统可以采用各种调度算法来确定哪个装置在什么时间完成哪个任务。例如,中央计划系统可以跨一个或多个不同资源,诸如时间、空间或者能量利用进行优化。在进一步的示例中,计划或调度系统也可以包含盒子拾取、包装或存储的几何和物理的特定方面。

计划控制也可以被跨单个系统部件分布。例如,全局控制系统150可以根据全局系统计划来发出指令,并且单个系统部件也可根据分开的局部计划操作。另外地,不同级别的细节可以被包括在全局计划内,其中其它方面留给单个机器人装置局部计划。例如,移动机器人装置可以被全局计划器分配目标目的地,但是到达那些目标目的地的全部路线可以被局部计划或修改。

在另外的示例中,中央计划系统可以与单个机器人装置上的局部视觉结合使用,以调整机器人机群100内的机器人的功能。例如,中央计划系统可以被用于使机器人相对靠近它们需要去的地方。然而,中央计划系统难以按厘米精度命令机器人,除非机器人被栓接到轨道或者其它测量部件被用于精确控制机器人位置。用于单个机器人装置的局部视觉和计划因此可以被用于允许不同机器人装置之间的弹性。总体计划器可以被用于使机器人靠近目标地点,在目标地点处,机器人的局部视觉可以接管。在一些示例中,大多数机器人功能可以被位置控制以使机器人相对靠近目标地点,并且当需要局部控制时,可以使用视觉和信息交换。

在进一步的示例中,视觉信息交换可以使两个机器人通过ar标签或其它特征识别彼此并且在机群100内执行协同操作。在另外的示例中,物品(例如,待被运输的包裹)也可以被设置有视觉标签或者作为替代被设置有视觉标签,这可以被机器人装置用于使用局部视觉控制在物品上执行操作。特别地,标签可以被用于便于机器人装置对物品的操纵。例如,托盘上的特定地点上的一个或多个标签可以被用于通知叉车在哪或者如何举起托盘。

在另外的示例中,用于固定和/或移动部件的部署和/或计划策略可以被随着时间优化。例如,基于云的服务器系统可以结合来自机群内的单个机器人和/或来自外部来源的数据和信息。策略可以被随着时间重新定义,以使得机群能够使用较少的空间、较少的时间、较少的功率、较少的电力,或者跨其它变量进行优化。在一些示例中,优化可能跨越多个仓库,包括具有机器人机群的其它仓库和/或传统仓库。例如,全局控制系统150可以将关于运输车辆以及设施之间的运输时间包含到中央计划中。

在一些示例中,中央计划系统有时可能失效,诸如当机器人被卡住时或者当包裹在某个地点掉落并且丢失时。局部机器人视觉因此也可以通过将插入冗余来处理中央计划器失效的情形来提供鲁棒性。例如,当自动托盘搬运车经过并且识别物体时,托盘搬运车可以发送信息到远程的基于云的服务器系统。该信息可以被用于修复中央计划中的错误,帮助确定机器人装置的地点,或者识别丢失的物体。

在进一步的示例中,中央计划系统可以动态地更新含有机器人机群100和受到机器人装置的处理的物体的物体环境的地图。在一些示例中,地图可以被以关于动态物体(例如,移动中的机器人和被机器人移动的包裹)的信息来持续更新。在另外的示例中,动态地图能包含关于仓库内(或跨多个仓库)的部件的当前构造或放置的信息以及关于近期内预期到将怎样的信息。例如,地图能示出移动中的机器人的当前地点和机器人在将来的预期地点,这可以被用于协调机器人之间的活动。地图也可以被用于示出正被处理的物品的当前地点以及物品的预期将来地点(例如,物品现在在哪里以及物品预期被运送到哪里)。

在另外的示例中,一些或者全部机器人可以在处理内在不同点处扫描物体上的签条。该扫描被用于查找可以被应用到单个部件或具体物品的视觉标签以便于找到或跟踪部件或物品。在物品被机器人操纵或者运输时,该扫描可以获得不断地在周围移动的物品的踪迹。潜在益处是在供应商方面和消费者方面的增加的透明度。在供应商方面,关于存货的当前地点的信息可以被用于避免存货过多和/或将物品或物品的托盘移动到不同的地点或仓库以满足需要。在消费者方面,关于特定物品的当前地点的信息可以被用于确定特定包裹什么时候将被以改进的准确度运送。

在一些示例中,机器人机群100内的移动部件110的一些或者全部可以周期性地从配备有多个电池充电器的电池交换站126接收充电后的电池。特别地,站126可以用重新充电后的电池来替换移动机器人的旧电池,这可以防止机器人必须等待电池充电。电池交换站126可以被配备有机器人操纵器诸如机械臂。机器人操纵器可以将电池从单个移动机器人移除并且将电池附接到可用的电池充电器。机器人操纵器然后可以将位于站126处的充电后的电池移动到机器人中,来替换被移除的电池。例如,具有弱的电池的agv112可以被控制成移动到电池交换站126,在该处,机械臂将电池从agv112拉出,将电池放到充电器中,并且给agv112新的电池。

在进一步的示例中,电池交换可以通过中央计划系统来调度。例如,单个移动机器人可以被构造成监测它们的电池充电状态。机器人可以将指示它们的电池的状态的信息发送到中央计划系统。该信息然后可以被中央计划系统用于当需要或者方便时调度机群内的单个机器人的电池替换。

在一些示例中,机群100可以包含使用不同类型的电池的多个不同类型的移动部件110。电池交换站126因此可以被配备有不同类型的电池充电器,用于不同类型的电池和/或移动机器人。电池交换站126也可以被配备有机器人操纵器,其能够为不同类型的机器人替换电池。在一些示例中,移动机器人可以具有含有多个电池的电容容器。例如,自动叉车114诸如托盘搬运车可以具有带有3个或4个电池的缸桶。在站126处的机械臂可以被构造成将整桶的电池抬出来并且将单个电池附接到在站126处的搁架上的电池充电器。机械臂然后可以找到充电后的电池来替换旧电池,并且在重新将桶插入到托盘搬运车中之前将那些电池移动回到桶中。

在进一步的示例中,全局控制系统150和/电池交换站126的单独控制系统也可以使电池管理策略自动化。例如,每个电池可以具有条形码或者其它识别标记,使得系统能识别单个电池。电池交换站126的控制系统可以对单个电池被重新充电的次数进行计数(例如,用以确定何时换水(changewater)或者完全清空电池)。控制系统可以追踪在哪个机器人装置中哪个电池已耗尽时间,在过去在站126处电池花多长时间重新充电,以及用于有效的电池管理的其它相关性能。该电池使用信息可以被控制系统用于为机器人操纵器选择电池以给特定的移动机器人。

在另外的示例中,电池交换站126也可以在一些情形中包含人操作员。例如,站126可以包括平台,在平台处,人能安全地执行手动电池更换或者将新的电池运送到所述站用于在必要时部署到机群100中。

图2a、2b、2c和2d图示可以被包括在机器人仓库机群内的机器人装置的若干示例。也可以包括形式上与图示的那些不同的其它机器人装置以及其它类型的机器人装置。

图2a图示根据示例实施例的机器人卡车卸载机。在一些示例中,机器人卡车卸载机可以包括一个或多个传感器、一个或多个计算机和一个或多个机械臂。传感器可以扫描包含一个或多个物体的环境,以便捕获视觉数据和/或三维(3d)深度信息。来自扫描的数据然后可以被集成到较大区域的代表中,以便提供数字环境重建。在另外的示例中,重建的环境然后可以被用于识别待拾取的物体,确定物体的拾取位置,和/或为一个或多个机械臂和/或移动底座计划无冲突的轨迹。

机器人卡车卸载机200可以包括机械臂202,其具有用于在环境内抓持物体的抓持部件204。机械臂202可以使用抓持部件204来拾取盒子和放置盒子,以对卡车或其它容器进行装置或卸载。卡车卸载器200也可以包括可移动的推车212,其具有用于运动的轮214。轮214可以是允许推车212以两个自由度移动的完全轮。另外地,环绕前传送带210可以被包括在完全推车212上。在一些示例中,环绕前输送带可以允许卡车装载机200从卡车容器或托盘卸载盒子或者将盒子装载到卡车容器或托盘,而不需要旋转夹抓持器204。

在进一步的示例中,机器人卡车卸载机200的感测系统可以使用被附接到机械臂202的一个或多个传感器,诸如传感器206和传感器208,其可以是当机械臂202移动时感测关于环境的信息的二维(2d)传感器和/或3d深度传感器。感测系统可以确定关于环境的信息,该信息可以被控制系统(例如,运行运动计划软件的计算机)用于有效地拾取和移动盒子。控制系统可以位于装置上或能与装置远程通信。在进一步是示例中,来自具有在移动底座上的固定架的一个或多个2d或3d传感器(诸如前导航传感器216和后导航传感器218)和被安装在机械臂上的一个或多个传感器(诸如传感器206和传感器208)的扫描可以被集成来建立环境的数字模型,包括卡车或其它容器的侧面、底板、顶板和/或前壁。使用该信息,控制系统可以使移动底座导航到用于卸载或装载的位置。

在进一步的示例中,机械臂202可以被配备有抓持器204,诸如数字抽吸网格抓持器。在这样的实施例中,抓持器可以包括一个或多个抽吸阀,其能通过远程感测或单点距离测量和/或通过检测是否实现抽吸来被接通或关断。在另外的示例中,数字抽吸网格抓持器可以包括铰接式延伸部。在一些实施例中,利用流变学流体或粉末来致动抽吸抓持器的可能性可以实现在具有高曲率的物体上的额外抓持。

卡车卸载机200可以另外包括马达,其可以是由电力提供动力的电动马达,或者可以由多个不同的能量源诸如气基燃料或者太阳能提供动力。另外地,马达可以被构造成接收来自电源的电力。电源可以将电力提供到机器人系统的各个部件,并且能代表例如可重新充电的锂离子或铅酸电池。一组或多组这样的电池能被构造成提供电力。其它电源材料和类型也是可能的。

图2b图示根据示例实施例的在基座上的机械臂。更具体地,基座机器人220可以被定位在诸如仓库环境的环境内并且被用于力所能及地拾取、移动和/或以其他方式操纵物体。在一些示例中,基座机器人220可以专门用于重物提升而不要求电池操作。基座机器人220可以包括具有末端执行器安装的抓持器224的机械臂222,抓持器224与关于机器人卡车卸载机200描述的机器人操纵器220和抓持器204类型相同。机械臂222可以被安装在基座226上,基座226可以允许机械臂222易于拾取和移动附近的包裹,诸如用以在不同的移动机器人之间分配包裹。在一些示例中,机械臂222也可以操作成构建和/或解构盒子的托盘。在进一步的示例中,基座226可以包括致动器以允许系统改变机械臂222的高度。

在进一步的示例中,基座机器人220的底表面可以是托盘形状的结构。例如,底表面可以具有与用于在仓库内的物体运输或存储的其它托盘大致等同的尺寸和形状。通过使基座机器人220的底部形成为托盘,基座机器人220可以通过托盘搬运车或不同类型的自动叉车被拾取和移动到仓库环境内的不同地点。例如,当运送卡车到达仓库的特定对接口时,基座机器人220可以被拾取和移动到更靠近运送卡车的地点,以更有效率地从运送卡车处理盒子或将盒子处理到运送卡车。

在另外的示例中,基座机器人220也可以包括一个或多个视觉传感器以识别基座机器人220的附近内的盒子和/或其它机器人装置。例如,基座机器人220的控制系统或全局控制系统可以使用来自基座机器人220上的传感器的传感器数据,以识别盒子供基座机器人220的机械臂222和抓持器224拾取和操纵。在进一步的示例中,传感器数据也可以被用于识别移动机器人装置以便确定在何处分配单个盒子。其它类型的机器人固定操纵站也可以被使用在多样化的机器人机群内。

图2c示出根据示例实施例的自主引导车辆(agv)。更具体地,agv240可以是相对小的移动机器人装置,其能够运输单个盒子或箱子。agv240可以包括轮242以允许在仓库环境内的运动。另外,agv240的顶表面244可以被用于放置盒子或其它物体用于运输。在一些示例中,顶表面244可以包括旋转传送机以从agv240移动物体或将物体移动到agv240。在另外的示例中,agv240可以通过一个或多个电池提供动力,所述一个或多个电池能在电池充电站被快速重新充电和/或在电池交换站被以新的电池交换。在进一步的示例中,agv240可以另外包括其它未在本文指出的部件,诸如用于导航的传感器。具有不同形状和尺寸的agv也可以包括在机器人仓库机群内,可能取决于被仓库处理的包裹的类型。

图2d示出根据示例实施例的自动叉车。更加具体地,自动叉车260可以包括叉式升降机262,用于举起和/或移动盒子或其它较大材料的托盘。在一些示例中,叉式升降机262可以被提升以到达存储架的不同货架或者仓库内的其它固定存储结构。自动叉车260可以另外包括用于运动的轮264以在仓库内运输托盘。在另外的示例中,自动叉车可以包括马达和电源及其感测系统,诸如关于机器人卡车卸载机200所描述的那些。自动叉车260也可以相对图2d中所示的自动叉车在尺寸和形状上变化。

图3是根据本文描述的至少一些实施方式的示例方法的流程图。图3中所示的方法代表例如能被图1a、1b、2a、2b、2c和2d中所示的系统使用或例如可以由这些图中的任何部件的组合执行的方法的一种实施方式。另外,方法的这样的实施方式能根据图4a、4b和4c中所示的方面施行。方法可以包括由框300-308中的一个或多个图示的一个或多个操作或动作。尽管框被按顺序图示,但是这些框在一些情形中可以被并行执行和/或被以与本文描述的顺序不同的顺序执行。并且,基于期望的实施方式,各个框可以被组合成较少的框,被分成另外的框,和/或被移除。

另外,对于本文公开的方法以及其它处理和方法,流程图示出本实施方式中的一种可能实施方式的操作。在这方面,每个框可以代表程序代码的模块、区段或部分,所述程序代码可以包括可由一个或多个处理器执行的一个或多个指令,用于在处理中实施具体逻辑操作或步骤。程序代码可以被存储在任何类型的计算机可读介质上,例如诸如存储在包括磁盘或硬驱动的存储装置上。计算机可读介质可以包括非暂时性计算机可读介质,例如诸如像寄存器存储器、处理器缓存和随机存取存储器(ram)的短时间段存储数据的计算机可读介质。计算机可读介质也可以包括非暂时性介质,诸如例如像只读存储器(rom)、光盘或磁盘、压缩光盘只读存储器(cd-rom)等的二次或持续长期存储器。计算机可读介质也可以是任何其它易失性或非易失性存储系统。计算机可读介质可以被认为是例如计算机可读存储介质、有形存储装置或其它制品。

另外,对于本文公开的方法以及其它处理和方法,图3中的每个框可以代表被配线成执行处理中的具体逻辑操作的电路。

本文所述的方法的操作以及其它方法和处理的操作可以至少部分地由计算装置或计算系统执行,所述计算装置或计算系统被构造成控制机器人装置和/或与机器人装置相关联的其它部件(例如,从系统远程定位的传感器)。例如,方法的操作可以由一个或多个全局控制系统(例如,一个或多个中央计划系统,其每个被构造成控制和管理机器人装置的机群的至少一部分)执行。另外地或可替代地,方法的操作可以由与全局控制系统和/或与机器人装置的机群通信的云计算系统执行。另外地或可替代地,方法的操作可以由中央服务器管理,所述中央服务器能将操作分配到可以管理机器人装置的机群的部分的较小的点对点网络或服务器。然而,应理解的是,示例性方法,诸如在图3和图5中所示的方法,可以由其它实体或实体的组合(例如,由服务器,或者由其它计算装置和/或计算装置的组合)来施行,而不背离本发明的范围。方法的一些操作也可以被描述成由机器人装置自身执行,但是这样的语言可以实质上指这样的操作由被构造成控制机器人装置的计算系统执行。

在框300,方法可以涉及确定物理环境内的多个机器人装置的地图,其中地图包括所述多个机器人装置中的至少一些的预测的将来地点。如上所述,所述多个(例如一群)机器人装置包括一个或多个不同类型的机器人装置,诸如被固定在环境内的给定地点的静态机器人装置(例如,基座机器人),或者被构造成行进到环境内的多个地点的动态机器人装置(例如,agv)。这样的机器人装置可以被控制成彼此协调执行任务。

在本文中,“地图”指表示环境的特定区域中的元件的定位的信息,和/或表示某些元件与其它元件或环境的关系的信息。在示例实施例内,地图是数字地图,其通过即收集和编制表示给定环境中的元件之间的关系的数据并且然后使这样的数据格式化成虚拟形式诸如虚拟2d或3d图像来确定。地图可以是讨论中的元件和环境的实时或非实时表示,细化这样的元件、环境和/或在这样的元件上和/或在环境中的兴趣点。

由控制系统确定的地图可以是初始地图,其指示机群中的至少一些机器人装置在将来预期处在的预测地点。在示例内,给定的预测将来地点可以包括机器人装置被预测在将来将处在的环境中的单个地点。在进一步的示例内,给定的预测将来地点可以包括机器人装置被预测在将来随着时间将处在的环境中的多个地点,诸如机器人装置可能沿着行进的预测将来路径或轨迹。例如,预测将来轨迹可以是由控制系统分配的机器人装置的默认路线,偏离默认路线的路径和/或独立于默认路线的轨迹。在进一步的示例内,给定的预测将来地点可以包括机器人装置的机群中的至少一些机器人装置的一个或多个附属物的预测将来构造,诸如规定基座机器人或机器人卡车卸载机的机械臂的旋转距离或角度、被联接到机械臂的抓持器的位置或叉式升降机的高度等的构造。实际上,机器人装置的机械臂或其它附属物的“构造”可以被一组关节变量规定,所述关节变量能包括一个或多个关节角度或平移变量(例如,用于具有旋转关节和/或柱状关节的臂/附属物)以由此规定臂/附属物的定向。与以上论述一致,术语“地点”本文可以被用于共同地指机械臂或其它附属物的地点、轨迹和/或定向。

在另外的示例中,在确定被包括/示出在地图中的给定的机器人装置或物体的预测将来地点(或多个地点,诸如随着时间包括多个地点的轨迹)中,控制系统可以确定在将来的特定时间点或者在将来的多个特定时间点,在所述时间点处,期望给定的机器人装置或物体处于预测将来地点处。因而,地图可以指示确定的预测地点以及对应的确定特定时间。

在实践中,控制系统管理待由机群执行的任务的高等级计划,包括机群的移动和其它动作。这样的高等级计划可以被以各种方式使用来确定将被包括在初始地图中的初始预测将来地点。控制系统可以知道高等级计划任务以由机群的机器人装置执行,并且因而可以知道贯穿环境当机器人装置执行计划任务时可能处在的各种地点和路线。例如,控制系统可以知道物体将被运送到仓库中的特定地点的计划将来时间,或者物体的运送被期望抵达或离开仓库的计划将来时间。作为另一个示例,控制系统可以分配默认的轨迹到机器人装置(或者以其他方式知道这样的默认轨迹),通过所述轨迹,那些机器人装置可以典型地行进以便于特定的更等级计划任务的执行(例如,机器人装置被分配到路线以将包裹从高密度存储货架带到用于运输的卡车)。预测机器人装置的将来地点的其它示例也是可能的。

除了机器人装置的预测将来地点外,地图还可以包括物体在环境中的预测将来地点。在示例内,控制系统可以基于一个或多个机器人装置的预测将来地点确定物体的预测将来地点。例如,机器人装置可以被指令成将物体从一个地点运输到另一个地点,并且由此该机器人装置的地点/轨迹可以指示当物体正被运输时或在物体正被运输后物体位于或将位于何处。地图也可以包括其它信息,诸如环境内未识别的物体的指示、阻挡一个或多个机器人装置的路径的障碍物的指示、环境内的物体或机器人装置的存货的指示和环境内的识别人的指示等(例如,图像、地图上的标记等)。

在示例内,地图可以采取环境的2d和/或3d表示的形式,和/或可以采取可由机器人装置的机群理解为环境的地图的另一类型的数据的形式。此外,地图可以包括预测将来地点的视觉指示或可由机群理解为预测将来地点的其它数据。

在框302,方法涉及使所述多个机器人装置中的一个或多个机器人装置执行包括一个或多个任务阶段的任务。本文,“任务”指被分配到至少一个实体以由实体或多个实体执行的操作。在示例实施例内,这样的任务被系统分配到所述至少一个实体,所述系统监视、管控或以其它方式管理所述至少一个实体以便便于由所述至少一个实体执行任务。

在示例中,任务的执行可以由协调工作以操纵至少一个物体的至少两个不同类型的机器人装置来完成。涉及物体的操纵的任务可以采取各种形式。例如,任务可以涉及将物体从开始地点运送到目标地点,或者可能在被运输到目标地点之前,将物体从开始地点运输到一个或多个中间地点,在每个中间地点处将物体从一个机器人装置交接到另一个机器人装置。作为另一个示例,任务可以涉及有两个或更多个机器人装置同时操纵物体。作为又另一个示例,任务可以涉及利用工具或其它辅件(例如,一个机器人装置修理或另一个机器人装置)操纵物体。作为又另一个示例,任务可以涉及打开盒子、卡车或者其它存储装置并且将其中的物体分配到环境中的各个地点。在又另一个示例中,任务可以涉及如上指出的任意应用,诸如完成订单,交叉对接等。

不涉及物体的操纵的任务也是可能的。例如,任务可以涉及环境内的至少两个机器人装置的协调导航和移动,诸如将机器人装置发送到环境中的特定区域以为待执行的将来任务做准备。例如,任务可以涉及贯穿环境分配机群的机器人装置(例如,一群机器人装置被发送到装载码头用于对卡车进行装载/卸载,一群机器人装置被发送到存储架以对来自货架的重的托盘进行装载/卸载,等等)。作为另一个示例,任务可以涉及将成群的机器人装置派送出去以为将出现或将进行的任务提供辅助,如果要求或需要这样的辅助。其它示例也是可能的。

应理解的是,本文描述的任何任务也能被称为较长、较大规模的任务阶段。

一般地,使机群的机器人装置执行任务(及其任务阶段)可以根据如上所述构造的中央计划系统来执行,其中任务(及其任务阶段)可以由中央计划系统管理,中央控制系统可以与局部机器人系统结合以监视任务的执行状态。

尽管控制系统知道它已经使机群的机器人装置执行的任务,但是控制系统可能不知道将在较低等级(例如,任务阶段)执行的任务。例如控制系统可以知道至少两个机器人装置协调地将物体从仓库的一端运送到仓库的另一端,但是可能不知道相应的机器人装置在贯穿运送的执行的所有时间将位于何处。在这些类型的场景中,机器人装置贯穿给定任务的执行可以发布它的地点和/或发布与给定任务的执行及其过程相关的其他信息(例如,通知控制系统或其它机器人装置)。机器人装置可以在各种时间点诸如周期性地(例如,预定的、规则的或相等的间隔,或在不规则的间隔)、连续地、随机地、在任务或任务阶段被完成时或以其它方式发布它的地点或其它信息。

这样,在框304处,方法涉及,在通过所述一个或多个机器人装置执行一个或多个任务阶段中的至少一个任务阶段期间,从所述一个或多个机器人装置接收任务进程数据,所述任务进程数据指示所述一个或多个任务阶段中的哪个已经被所述一个或多个机器人装置执行。一般地,任务进程数据包括可由控制系统理解为环境中的机器人装置的机群中的至少一部分机器人装置(包括涉及特定任务或任务阶段的执行的一个或多个机器人装置)的当前状态的指示的数据。

在示例内,任务进程数据包括特定任务或任务阶段被完成的时间,并且完成特定任务或任务阶段的机器人装置可以在完成时或者在完成时间后的预定时间窗口内将任务进程数据发送到控制系统。任务进程数据也可以指示当特定任务或任务阶段被完成时机器人装置在何处,并且也可以指示其它机器人装置和物体(例如,涉及特定任务或任务阶段的执行的其它机器人装置和物体)位于环境中何处和/或指示预测将来地点,其它机器人装置或物体在环境中朝所述预测将来地点行进。此外,任务进程数据可以指示给定机器人装置的当前构造,诸如给定机器人装置的构造(及一组关节变量),给定机器人装置的一个或多个机器人附属物的构造和给定机器人装置的行进方向。例外,任务进程数据可以指示一个或多个机器人装置的当前状态,诸如给定机器人装置的电池功率水平或其它诊断信息,和/或指示不正确运行的给定机器人装置的机器人附属物的信息。应理解的是,可以由包括上述信息的任务进程数据指示的信息可以在与任务进程数据的发送分开的另一时间被交替地发送到控制系统。

随着时间,在控制系统接收来自各个机器人装置的任务进程数据时,控制系统可以使用任务进程数据来调整机器人装置在将来何时和何地完成给定任务的执行或完成给定任务的一部分的初始预测。例如,控制系统能使用任务进程数据来确定机器人装置在环境中何时和何地已经偏离或将偏离它们相应的默认路线,并且确定/监视机器人装置相对于它们的相应默认路线位于或将位于何处。控制系统因而可以更新初始地图以反映调整后的初始预测。

在框306处,方法涉及,基于接收到的任务进程数据,更新物理环境内的所述多个机器人装置的地图,其中更新的地图包括对所述多个机器人装置中的至少一些机器人装置的预测将来地点的至少一个修改。对地图的更新包括更新整个地图或者更新部分地图。例如,在诸如当机器人装置的预测将来位置可能位于环境的与地图的一部分对应的区域内时和/或当障碍物或未识别物体存在于该区域中的情景(包括其中相对于时间管理和/或功率管理更新较大部分的地图可能是不必要的情景)中,或者其它可能的情景中,仅一部分地图可以被更新。

在示例内,初始地图包括表示预测将来时间的数据,在所述预测将来时间处,所述多个机器人装置中的至少一些机器人装置将处在相应的预测将来地点,其中每个预测将来时间与相应的预测将来地点对应。另外地或可替选地,初始地图包括表示预测将来地点和它们的相应预测将来时间之间的这种对应关系的数据。如此,通过基于接收到的任务进程数据确定所述多个机器人装置中的至少一些机器人装置的预测将来地点的至少一个修改,并且通过确定对预测将来时间的至少一个修改,确定对预测将来时间的至少一个修改和/或重新定义预测将来地点和它们对相应的预测将来时间之间的对应关系,计算系统可以更新初始地图。计算系统然后可以在更新后的地图中包括代表对预测将来地点的确定的至少一个修改的数据。计算系统然后也可以包括代表对预测将来时间的至少一个修改的数据和/或可以包括代表预测将来地点和预测将来时间之间的重新定义的对应关系的数据。

在进一步的示例内,在待被公布到机器人装置的其它信息中(例如,任务和/或任务阶段的完成时间),地图可以包括物理环境的至少一部分的视觉代表、所述多个机器人装置中的至少一些的视觉代表和所述多个机器人装置中的执行一些机器人装置的预测将来地点的视觉代表。如此,通过更新所述多个机器人装置中的至少一些机器人装置的预测将来地点和/或更新与讨论中的修改预测将来地点对应并且与讨论中的任务和/或任务阶段对应的预期完成时间,可以更新地图。地图的更新也可以涉及将预测将来地点的视觉指示调整为包括更新的预测将来地点的视觉指示,并且将地图的至少一部分更新为包括调整后的视觉指示。此外,代表谈论中的任务和/或任务阶段的更新预期完成时间的数据能被包括作为更新的地图的一部分。

在进一步的示例中,机器人装置可以在整个任务或任务阶段的执行中至少一次(例如,周期性地,连续性地,等等)公布其地点(以及其它可能信息),控制系统然后能使用所述地点来确定地图,预测环境中的机器人装置和物体的将来地点,并且确定对地图的更新,包括对预测将来地点的更新。例如,当由于某些原因,诸如避开不期望的障碍物或者其它机器人装置不能及时与所述机器人装置协调动作,机器人装置在完成任务中延迟时,机器人装置可以提供它的地点到控制系统和/或提供表示任务阶段仍在进行的任务进程数据,控制系统可以使用该数据来调整预测将来地点(例如,示出机器人装置将采取的替选路线)和/或任务阶段(并且可能整个任务本身)的预测完成时间,以及其它可能的调整/确定。其它示例也是可能的。

在另外的示例中,当预测将来地点包括机器人装置的机群中的至少一些机器装置的预测将来轨迹时,控制系统可以相应地使用任务进程数据来修改预测将来轨迹并且将修改后的预测将来轨迹包括在更新后的地图中。此外,当预测将来地点包括机器人装置的机群中的至少一些机器人装置的一个或多个附属物的预测将来构造,诸如在至少一些任务阶段(例如,拾取卡车中的物体或将物体装载在卡车中)的执行中涉及的基座机器人的机械臂的旋转距离或角度时,控制系统可以修改所述一个或多个附属物的预测将来构造并且将修改后的预测将来构造包括在更新的地图中。

在框308处,方法可以涉及,根据更新的地图,使所述一个或多个机器人装置执行至少一个其它任务阶段。例如,被构造成管理机群的控制系统或其它计算实体使用地图来确定用于所述一个或多个机器人装置的指令,以执行所述至少一个其它任务阶段。控制系统然后将更新的地图的至少一部分和用于所述至少一个或多个机器人装置的指令一起发送到所述一个或多个机器人装置,以根据所述更新的地图的至少所述部分来执行所述至少一个其它任务阶段。作为另一个示例,控制系统将更新的地图的至少一部分公布到所述一个或多个机器人装置,所述一个或多个机器人装置可以使用所述更新的地图的所述至少一部分来局部地调整或以其它方式管理它们的移动和/或其它动作,以相应地执行所述至少一个其它任务阶段。更新的地图指示所述一个或多个机器人装置何处和何时预期其它机器人装置的地点和/或移动,由此便于与这样的其它机器人装置协调地执行至少一个其它任务阶段。所述至少一个其它任务阶段,和/或在执行所述至少一个其它任务阶段的同时执行的任何移动/或动作,可以被确定以便减少特定机器人装置或作为整体的机群的操作的时间、行进距离和/或能量消耗。例如,通过动态地改变特定机器人装置的路线(例如通过执行与先前计划不同的任务阶段)以便避免堵塞,机器人装置的机群可以能在较短时间内完成分配的任务,由此减少消耗的总体能量。

图4a图示在仓库400中操作的机器人装置的示例机群和实施所公开的方法的操作,其中所述示例机群与图1a、1b、2a、2b、2c和2d中图示的机群相似。在图4a所示的示例中,机群的机器人装置可以涉及至少一个任务阶段的协调执行,诸如自动叉车402将盒子404的托盘带到目标地点406,以由基座机器人408将特定盒子装载到agv410上。另外的任务/阶段也可以被执行,诸如agv410随后将特定的盒子带到机器人卡车装载机412,以由机器人卡车装载机装载到卡车414上。机群也可以包括第二agv416,其可以不涉及在上述的具体任务的协调执行中,并且因而可以不被包括在所述机群的机器人装置的该子组中。在任务的协调执行之前,例如,第二agv416可以已经通过机器人卡车卸载机412从其移除盒子并将盒子装载到卡车414上。根据以上论述,可以通过与任务的执行中涉及的机器人装置相关的中央计划系统或子系统来控制和管理任务的执行。

图4b和4c图示与关于图4a描述的机器人机群操作相关的示例地图。特别地,图4b和4c可以图示仓库400的较大地图的一部分,其可以被公布到机群中的一些或全部机器人装置,机群在仓库的所述一部分内具有路线,机群可以在仓库的所述一部分附近操作,或者机群另外地可以一方式操作,所述方式可以有利于将所述一部分的地图公布到这些机器人装置。应理解的是,虽然仅两个地图被示出,但是其它中间更新的地图在一些情形中可以在任务的执行期间被公布并且可以被援引到本文。

如所示的,图4b和4c的地图包括图4a中图示的各种机器人装置的代表和仓库400中的物体诸如托盘和存储架的代表。图4b的地图分别包括自动叉车402、agv410和基座机器人408的预测将来轨迹418、420和422的代表。此外,地图包括托盘404的预测将来地点424的代表。特别地,图4b的地图(以及图4c的地图,或者本文描述但未示出的其它地图)可以示出在将来的特定时间点或者在将来的多个特定时间点的预测将来地点和轨迹。因而,地图可以指示机器人装置何处何时执行相应任务阶段(例如,基座机器人408将知道托盘404何时将位于基座机器人附近,所以基座机器人能准备或开始从托盘卸载盒子)。

作为任务的一部分,自动叉车402可以被预测沿着轨迹418行进以将托盘404运送到预测将来地点424。此外,在托盘404被运送到预测将来地点424后,agv410可以被预测从它的当前地点沿着轨迹420行进以被基座机器人408用来自托盘404的盒子装载。相应地,基座机器人408可以被预测沿着轨迹422旋转以将它的机械臂放置在一位置中以从托盘404卸载盒子并将盒子装载到agv410上。

预测轨迹移动中的一个或多个可以同时发生或者可以以替他方式彼此协调以便执行任务或任务阶段(例如,协调但不同时)。例如,基于包括至少预测将来轨迹418并且被公布到基座机器人408的地图,一旦托盘404到达预测将来地点424处,则基座机器人可以知道沿着预测将来轨迹422旋转以位于一位置中来卸载盒子。

在将来自托盘404的盒子带到并装载到卡车(未在图4b和4c中图示或呈现)的较大任务的执行期间,或者在该较大任务的任务阶段的执行期间,自动叉车402可以将任务进程数据发送到计划系统,其中任务进程数据可以包括例如自动叉车已经拾取托盘404的指示。可以响应于自动叉车402检测或扫描到托盘404和/或已知位于托盘404的一部分的一个或多个盒子上包含的射频识别(rfid)标签而发送任务进程数据,并且任务进程数据可以包括rfid标签被扫描和扫描在何处发生的指示。因而,任务进程数据可以通知计划系统托盘404的当前地点并且响应地使计划系统能用预测将来轨迹418、预测将来地点424更新地图,并且可能更新自动叉车402将托盘404带到预测将来地点424的较大任务或任务阶段的完成时间。此外,响应于接收该任务进程数据,计划系统可以预测作为特定产品类型的盒子将在近期被装载到卡车上并且因而一方面可以增加卡车上的特定产品的预测将来存货并且一方面可以增加仓库存储中的特定产品的预测将来存货。

图4c的更新的地图分别包括基座机器人408、agv410和第二agv416的预测将来轨迹426、428和430的代表。此外,地图包括从托盘404移除的盒子的预测将来地点432的代表。作为任务的一部分,基座机器人408可以被预测沿着轨迹426旋转以将来自托盘404的盒子装载到agv410中。此外,agv410可以被预测沿着轨迹428行进以将盒子带到机器人卡车装载机412,用以由机器人卡车装载机将盒子装载到卡车中。又进一步,第二agv416可以被预测沿着轨迹430行进,以便从agv410的道路移开并且可能稍后移动到靠近基座机器人408的地点以被用来自托盘的盒子装载。相应地,在任务的执行期间的某时间点,计划系统可以更新地图以修改第二agv416的预定预测将来轨迹,由此获得预测将来轨迹430。

第二agv416可以不被涉及在将盒子从托盘404带到并装载在卡车上的任务中,但是可以被涉及在仓库400的与执行其它任务的区域相一致的区域中执行的其它任务中,并且因而被构成为控制和管理第二agv的计划系统可以公布用于第二agv的地图。特别地,图4c中所示的地图可以被公布到第二agv416,或者其变型,诸如包括至少预测将来轨迹428的地图。第二agv416因而可以能够从agv410的道路移开使得agv410能由机器人卡车装载机412卸载。此外,地图可以被公布到机器人卡车装载机412和agv410使得每个机器人装置意识到彼此的将到来的将来地点,由此便于将盒子从agv卸载和将盒子装载到卡车上的机器人卡车装载机412协同任务阶段。在示例内,如果任务中涉及的agv410或者其它机器人装置被延迟(例如,遇到障碍物),则任务的完成时间被基于对反映延迟和反映被相应修改的任何预测将来地点的地图的更新来相应地调整。

除了关于图4a、4b和4c描述的那些以外或者作为替代,其它示例任务和对应的地图更新和情形也是可能的。

在示例内,接收到的任务进程数据可以包括指示给定任务阶段的执行的完成的消息。相应地,控制系统可以使所述一个或多个机器人装置中的至少一个机器人装置响应于指示给定任务阶段的执行的完成的消息而执行与给定任务阶段连续的另一任务阶段。在其它示例内,可以基于接收到的包括指示任务的执行的完成的任务进程数据或者基于控制系统以其他方式确定任务的执行已经被完成来执行完全新的任务。响应于这样的确定,控制系统可以更新地图以指示或者以其它方式通知机器人装置任务的执行的完成。控制系统然后可以选择从多个任务选择待执行的后续任务,并且使机群中的一个或多个机器人装置执行该后续任务。控制系统可以根据更新的地图选择后续任务。例如,更新的地图可以指示一群机器人装置被预测位于环境的关注区域内或接近关注区域,在该关注区域中,该群机器人装置能执行给定任务,诸如拾取由其它机器人装置意外掉落的物体和作为影响关注区域中的机器人装置的路线的障碍物的物体。因而,控制系统可以使该群机器人装置基于更新的地图中的这样的指示来执行给定任务。其它示例也是可能的。

在示例内,控制系统可以基于确定的地图来确定任务的执行的预期完成时间。然后,在更新地图和/或响应于接收任务进程数据后,控制系统可以更新任务的执行的预期完成时间。同样地,控制系统可以确定至少一个任务阶段的执行的预期完成时间。然后,在更新地图和/或响应于接收任务进程数据后,控制系统可以更新至少一个任务阶段的执行的预期完成时间。

在示例内,控制系统、基于云的计算系统或者被构造成管理机器人装置的机群的至少一部分机器人装置的其它实体可以维持对地图的一系列更新。对在系列中维持的地图的每一个更新可以包括数据,所述数据规定例如将更新公布到机群中的给定机器人装置的时间和/或指示机群中的哪些机器人装置应在机群中的其它机器人装置之前接收更新的优先性。控制系统然后能根据规定的时间和/或优先级来公布在系列中维持的更新。

在一些情形中,更新被公布到给定机器人装置的规定时间可以取决于各种因数,诸如给定机器人装置询问控制系统对它的当前地图的更新的时间,给定机器人装置由于各种原因(例如,与当前地图的偏差、遇到障碍物、未识别的物体等)已经将对它的当前地图的更新发送到控制系统。这样,例如,使所述一个或多个机器人装置执行所述至少一个其它任务阶段可以响应于控制系统接收所述询问而被执行,并且可以涉及控制系统将更新的地图的至少一部分与用以由所述一个或多个机器人装置根据更新的地图的至少一部分来执行所述至少一个其它任务阶段的指令(例如,行进到并且拾取最近由另一机器人装置掉落的物体的指令)一起发送到所述一个或多个机器人装置。

在这些和其它情形中,控制系统可以确定机器人装置的机群的优先性,其限定机器人装置的机群中的相对优先级,每个机器人装置具有对应的优先级。控制系统因而可以根据确定的优先性将更新发送到地图的至少一部分,例如,在将更新发送到具有较低优先级的机器人装置之前将更新发送到具有较高优先级的机器人装置。控制系统在确定优先性时可以考虑各种因素,这些因素中的一个或多个可以被结合使用。在示例内,当所述至少一个其它任务的执行发生在环境的关注区域(例如,装置码头、称重站、组装线的一部分等)时,可以通过控制系统首先确定机器人装置的机群中的至少一部分机器人装置中的每个是否涉及在任务的执行中(即,每个是否已知将涉及或者预测将涉及)来确定优先性。最低限度的,在这样的示例中,控制系统可以使涉及在任务的执行中的机器人装置的优先顺序高于不涉及在任务的执行中的机器人装置的优先顺序。

在进一步的示例内,可以通过确定从每个机器人装置到关注区域的相应距离,每个机器人到达关注区域将花费的相应预期时间,和/或每个机器人装置的相应预期轨迹是否包括关注区域的至少一部分(例如,机器人装置是否会行进通过关注区域和/或将与占据关注区域的机器人装置或物体接触),来确定优先性。控制系统例如可以基于地图及其更新中包括的预测将来地点来确定这样的预期轨迹和时间。根据这样的示例,当机器人装置具有将更新告知地图的更迫切需要时,控制系统可以使那些机器人装置的优先顺序较高,尤其是对地图的更新对应于关注区域,相反地,当机器人装置具有告知更新的较低迫切需要或完全没有需要时,使那些机器人装置的优先顺序较低。特别地,被分配到机器人装置的优先级可以与距离、时间和/或其它变量相关。

在进一步的示例内,控制系统在确定给定机器人装置的优先级时可以考虑给定机器人装置的地图的版本号或给定机器人装置的地图的状态的其它指示。例如,尽管控制系统可以全局地在大体上同一时间更新所有机器人装置的相应地图,但是控制系统也可以首先更新具有它们的相应地图的较老版本的机器人装置。用于确定优先性的其它因素也是可能的。

在实践中,给定的机器人装置可以发送消息到控制系统或者其它实体以向控制系统指示给定的机器人装置距关注区域的距离、它的地图版本号和/或以上讨论的其它因素。然而,给定的机器人装置也可以以其它方式向控制系统指示这样的信息,和/或控制系统可以以其它方式确定关于每个机器人装置的这样的信息。

应理解的是,在一些情形中,可以对仅应用到第一组机器人装置的所述地图的部分做出某些更新,并且可以对应用到第二组机器人装置的所述地图的其它部分做出其它不同的更新,所述第二组机器人装置可以包括或不包括所述第一组机器人装置中的成员。在这样的情形中,一些机器人装置可以与其它机器人装置相比具有不同版本的地图,每个版本包括与特定机器人装置相关的更新。

在示例内,关注区域可以由环境中的障碍物或其它堵塞和距障碍物或堵塞预定距离的区域限定。机器人装置可以识别障碍物并且(通过首先通知控制系统障碍物而经由控制系统或自身直接地或间接地)公布障碍物的指示(例如,对地图的更新,通知,或者可由机器人装置和/或控制系统理解为障碍物的其它数据),使得控制系统和其它机器人装置能相应地计划而不需要它们自身行进到关注区域附近或关注区域中并识别障碍物。在这样的示例中,其当前和/或预测将来轨迹将它们带到距障碍物预定阈值距离内的机器人装置可以具有较高的优先性,以接收公布的对地图的更新,因为对这种机器人装置而言,相应地调整它们的移动以避开或去除障碍物是期望的。此外,在这样的示例中,公布的地图更新可以包括障碍物和/或可以被基于障碍物的存在而被修改的机器人装置的预测将来地点。

根据以上论述,可以响应于一个任务的完成来开始另一个任务。然而,也可以响应于机器人装置使用局部视觉做局部确定来开始任务。例如,机器人装置可以检测附近的自动叉车可能不携带托盘并且可以通知控制系统,控制系统然后可以为这样的自动叉车开始任务以拾取托盘。做出检测的机器人装置可以是例如基座机器人或者可以是自动叉车本身。

除了涉及机器人装置在环境中移动物体的任务外或者替代地,一些任务可以涉及维修或者以其它方式提高机器人装置的性能。作为示例,在环境中行进(并且可能执行其它任务)的同时,给定的机器人装置可以以低的电池功率运行或者可能具有故障部件,并可以通知控制系统它的当前地点、它的电池功率低、哪个部件坏了和/或其它相关信息。控制系统可以响应性地将对地图的更新公布到给定的机器人装置。此外,控制系统可以响应性地将更新公布到维修机器人装置(例如,“医疗机器人”),维修机器人装置可以被构造成执行任务,诸如维修给定的机器人装置的坏的部件和/或将新电池带到给定的机器人装置并且更换旧电池。又进一步地,控制系统可以响应性地将更新公布到其轨迹或其它动作可能被给定的机器人装置和/或被维修机器人装置影响的一个或多个机器人装置(例如,如果机器人装置被停止在拥挤的区域中则它可能必须避开给定的机器人装置和/或可能必须避开维修机器人装置以便不使维修机器人装置延迟到达给定的机器人装置的地点或者使从给的机器人装置的地点返回延迟)。也可以执行其它任务,诸如维修机器人装置或其它机器人装置拾取损坏的机器人装置或其它静态物体并且将其从环境移除。

在另外的示例中,环境可以包括多个物体。这样,控制系统能确定、维持和更新包括物体的当前地点和物体的预测将来地点的地图。与这样的功能相关的示例方法在图5中描述。

图5是根据本文描述的至少一些实施方式的另一示例方法的流程图。即,图5中所示的方法包括用于动态地维持机器人装置的机群在其中操作的环境中的多个物体的地图的操作,如上所述。图5中所示的方法代表例如能被图1a、1b、2a、2b、2c和2d中所示的系统使用或例如可以由这些图中的任何部件的组合执行的方法的一种实施方式。另外,方法的这样的实施方式能根据图4a、4b和4c中所示的方面施行,如上所述。方法可以包括由框500-506中的一个或多个图示的一个或多个操作或动作。尽管框被按顺序图示,但是这些框在一些情形中可以被并行执行和/或被以与本文描述的顺序不同的顺序执行。并且,基于期望的实施方式,各个框可以被组合成较少的框,被分成另外的框,和/或被移除。

在框500处,方法涉及确定正经受物理环境内的所述多个机器人装置的操纵的所述多个物体的地图,其中地图包括所述多个物体中的至少一些物体的预测的将来地点。

在框502,方法涉及使所述多个机器人装置中的一个或多个机器人装置执行包括一个或多个任务阶段的任务。这样的任务可以涉及例如所述多个物体中的至少一个物体的操纵。

在框504处,方法涉及,在通过所述一个或多个机器人装置执行所述一个或多个任务阶段的至少一个任务阶段期间,从所述一个或多个机器人装置接收任务进程数据,所述任务进程数据指示所述一个或多个任务阶段中的哪个已经被所述一个或多个机器人装置执行。

在框506处,方法涉及,基于接收到的任务进程数据,更新受到所述物理环境内的所述多个机器人装置的操纵的所述多个物体的所述地图,其中所述更新的地图包括对所述多个物体中的至少一些物体的所述预测将来地点的至少一个修改。

在示例内,方法可以进一步涉及,使所述一个或多个机器人装置根据更新的地图执行至少一个其它任务阶段。例如,基于自动叉车运送包括特定物体的物体的托盘到接近基座机器人的地点的途中的同时报告其地点,更新的地图可以包括接近基座机器人的地点的特定物体的预测将来地点。控制系统可以公布更新的地图到至少一个agv,agv可以使用该更新的地图作为基础,用于确定它应行进到靠近基座机器人的地点使得基座机器人能从托盘拾取特定物体并且将它装载到agv上,以由agv运输到其它地方。其它示例也是可能的。

在示例内,环境可以包括多个不同的仓库,并且所述多个物体可以包括待被运送或以其它方式运输出仓库的产品。基于所述多个物体的确定地图和预测将来地点,控制系统可以确定所述多个仓库中的特定仓库处的特定类型的产品的当前和/或预测将来存货。例如,基于产品使它的视觉标签由机器人装置检测和扫描,控制系统可以确定特定类型的产品存在于环境中并且产品位于环境中何处。基于修改产品的预测将来地点的更新的地图,控制系统可以调整在特定仓库处的特定类型的产品的预测将来存货以反映对特定类型的产品的物体的数目的改变。例如,基于二十个特定类型的产品正被装载到将离开特定仓库的卡车上的任务的执行,控制系统可以将预测存货的总数目减少二十。

应理解的是,控制系统可以确定仓库它们自身的区域内的物体的预测将来存货。例如,控制系统,或者被布置成在特定仓库的较小的特定区域中监视物体和机器人装置的另一控制系统,可以确定存储在特定区域内的物体的预测将来存货。

在示例内,控制系统可以基于预测将来存货来调整至少一个机器人装置的预定轨迹,诸如改变一组机器人装置的路线以协调工作地拾取和运送物体以避免短缺。例如,如果控制系统确定在特定仓库处的特定类型的产品的预测将来存货小于要求量,则控制系统可以公布所述多个仓库中的其它仓库处的特定类型的产品的地点的更新。特别地,控制系统可以将该更新公布到在其它仓库处的机器人装置并且可以指令这些机器人装置将这样的产品带到特定仓库以便使存货增加达到要求量。作为另一示例,如果控制系统确定特定类型的产品的特定托盘的预测将来存货在不久的将来将是低的或者空的,则控制系统可以重新改变机器人装置的路线以要么当它是低的或空的时将托盘移除,要么带来更多的特定类型的产品以放置到特定托盘上。

在示例内,任务可以涉及将所述多个物体中的至少一个物体运送到目标地点。因而,基于确定的地图,控制系统可以确定通过所述一个或多个机器人装置运送到目标地点的执行的预期完成时间,并且可以基于对物体的预测将来地点和/或协调地工作以将至少一个物体运送到目标地点的所述一个或多个机器人装置的预测将来地点的更新,根据更新的地图更新运送到目标地点的执行的预期完成时间。

根据关于视觉标签的以上论述,在通过所述一个或多个机器人装置执行所述一个或多个任务阶段中的至少一个任务阶段期间,控制系统可以从所述一个或多个机器人装置接收数据,所述数据指示通过所述一个或多个机器人装置的局部视觉检测物体上包含的视觉标签,诸如rfid标签。这样,控制系统除了基于任务进程数据更新地图外,还能基于检测到的视觉标签来更新物体的地图。视觉标签的检测诸如在寻找或发现丢失物品和/或确定物体位于它不应在的地方的期间可以帮助找出物体的地点。

此外,视觉标签的检测能被用于确定运输这样的物体的机器人装置的地图。例如,在第一机器人装置将物体交给第二机器人装置时,第二机器人装置可以扫描物体上的rfid标签并且通知控制系统rfid标签已经被扫描以及rfid的扫描可能在何处发生。该通知可以向控制系统指示第二机器人装置已经成功接收物体,并且因而控制系统能确定第二机器人装置在不久的将来将处在的预测将来地点。此外,该通知可以向控制系统指示第一机器人装置已经成功地将物体交给第二机器人装置,并且控制系统可以知道第一机器人装置位于rfid标签的扫描发送的地方。rfid标签或其它视觉标签也可以用作其它目的,并且可以便于机群的将来动作的预测。

根据关于全局控制系统150的中央计划系统的以上论述,在一些示例中,中央计划系统可以采用拍卖型系统,其中各个机器人对不同任务竞标,中央计划系统将任务分配到机器人以使总体成本最小化。

应理解的是,本文描述的布置仅用于示例的目的。这样,本领域的普通技术人员应理解的是,其它布置或其它元件(例如,机器、接口、操作、顺序以及操作的分组等)能被替代使用,并且一些元件可以根据期望的结果而被一起省略。此外,被描述的元件中的许多元件是可操作实体,它们可以被实施成离散的或分布的部件或者在任意适当组合和地点中与其它部件相结合,或者被描述为独立结构的其它结构元件可以被组合。

尽管本文已经公开了各种方面和实施方式,但是对于本领域的普通技术人员而言,其它方面和实施方式将是显而易见的。本文公开的各种方面和实施方式用于说明的目的并且并非旨在是限制性的,真实的范围由以下权利要求以及和与这些权利要求等同的全部范围指示。也应理解的是,本文所用的术语仅用于描述特定实施方式的目的,并且并非旨在是限制性的。

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