控制运输设备移动的方法、系统和装置与流程

文档序号:11160723阅读:336来源:国知局
控制运输设备移动的方法、系统和装置与制造工艺

一些商业与工业活动需要能够存储与取出大量不同产品的系统。

一种已知的在多个产品线中存储与取出货品的系统包含将存储箱子或容器放在通道中成排放置的货架上。每个箱子或容器中放有一种或多种产品类型的一个或多个产品。所述通道在成排货架之间提供了通路,以便所需的产品能够被在通道中循环作业的操作人员或机器人取出。

然而我们应该注意到,提供通道间隔以便存取产品的必要性意味着此类系统的存储密度相对低。换言之,与整个存储系统所需的空间占用量相比,实际用于存储产品的空间占用量相对小。

例如,销售多个产品线的在线零售企业如在线零售商与超市,需要能够存储几万或甚至几十万个不同产品线的系统。这些企业的供应链和仓库运作高度依赖于其组织、取出和将货品放回至容器的能力。

在各种仓库和存储设备设计的特定实施例中,容器可以一个压一个的被堆放,且堆垛可以被成排放置,然后可以从上方存取容器,这样成排容器之间就可以不需要通道,实现在给定的空间或区域内存储更多的容器。

在其中的某些实施例中,容器可由一个或多个机器人或自动化工具存取,所述自动化工具导航通过网格通路存取容器进行各种不同的操作,如将容器从一个位置移动到另一个位置进行处理、对容器进行操作、将容器返回至某个仓库中的某个位置等。

协调一个或多个机器人或其他自动化工具的移动是决定系统存储和取出大量不同产品的整体效率和可扩展性是一个重要考虑因素。

US6654662和EP1037828对一种存储与取出系统进行了说明,其中,“平行六面体”容器被纵深堆叠和连接存放在一个垂直框架中,形成几个水平容器层,这些容器的位置在任何时候都是随机的。计算机系统持续监控并记录容器的位置,从框架的顶部取出需要的容器,一次移动一个不需要的容器并迁移到临时位置,直至取出需要的容器,这时,将临时迁移的容器放回原堆垛,并以原相对顺序放回,从而(最终)将需要的容器放回原堆垛的顶部。

US6654662和EP1037828所述的系统有几个水平坐标式容器层,容器的位置在任何时候都是随机的。而且,临时迁移的容器被放回到原堆垛,这样它们的相对顺序不变,且其中需要的容器被放回到堆垛的顶部。

相比已提供的系统,提供经过考虑的容器放置具有很大优势,其基于业务流、存取频率(历史的、当前的和预测的)、特定容器分组、存取时间、耐火性和/或其他环境分区等不同标准,可以达到在水平和垂直域中最佳进行优化。

因此,协调和控制产品移动的系统和工序是必要的。

根据本发明的一些实施例,提供了一种控制运输数个物品并在具有数个通路的设施中运作的一个或多个运输设备的移动的系统,所述系统包含:

一个或多个计算机,被配置为执行计算机指令,所述指令被执行时,提供:

一个或多个实用程序,确定和预订通过所述数个通路来移动所述一个或多个运输设备的路线;和

一个或多个实用程序,提供用于允许或停止移动所述一个或多个运输设备以避免碰撞的间隙系统。

在一些实施例中,所述系统还包含一个或多个实用程序,被配置为通过所述数个通路优化所述一个或多个运输设备的移动和行动。

在一些实施例中,所述系统还包含一个或多个实用程序,被配置为通过所述设施中的所述一个或多个运输设备优化所述数个物品的放置。

在一些实施例中,所述系统还包含一个或多个实用程序,控制在一个或多个工作站中进行的移动或操作。

在一些实施例中,优化所述移动和行动的所述一个或多个实用程序利用寻径算法。

在一些实施例中,所述一个或多个实用程序利用拥塞减轻技术优化所述移动和行动。

在一些实施例中,所述一个或多个实用程序利用机器学习技术优化所述移动和行动。

在一些实施例中,所述一个或多个实用程序优化设施中所述数个物品的放置且基于设施中所述数个物品中的一个或多个的放置更新所述设施的库存等级。

在一些实施例中,所述一个或多个实用程序至少基于所述一个或多个工作站的工作量控制所述一个或多个运输设备的移动。

在一些实施例中,所述一个或多个实用程序提供间隙系统,其被配置为容忍与所述一个或多个运输设备中的至少一个中断通信。

在一些实施例中,所述一个或多个实用程序确定和预订路线并指示数个运输设备合作运输所述数个物品中的一个或多个。

在一些实施例中,所述一个或多个实用程序确定和预订路线以将空闲的运输设备从最佳路线移开以供其他运输设备使用。

在一些实施例中,所述数个物品中的一个或多个被存储在数个容器中。

在一些实施例中,所述设施将所述数个容器存储在数个堆垛中。

在一些实施例中,所述一个或多个实用程序确定和预订路线以运输所述数个容器中的一个或多个。

在一些实施例中,所述一个或多个实用程序确定和预订路线以控制所述数个运输设备中的一个或多个从所述数个堆垛中的一个或多个中取出所述数个容器中的一个或多个。

在一些实施例中,从所述一个或多个堆垛中取出所述一个或多个容器还需要在取出所述一个或多个容器之前移动所述堆垛中的一个或多个其他容器。

在一些实施例中,移动所述一个或多个其他容器包含将所述一个或多个其他容器中的每个放在所述设施中的最佳位置。

在一些实施例中,所述设施被分为数个子网格以降低处理复杂性。

在一些实施例中,在所述数个运输设备移动之前向所述数个运输设备提供控制所述数个运输设备移动的一个或多个控制命令。

在各种方面,本发明提供方法、系统和相应的机器可执行的编码指令集,用以在包含存放设备的至少一个半自动化订单履行系统中协调和控制产品移动。在各方面,本发明提供协调和控制处理履行订单的各种货品的机器人的移动方面的改进,在一些示例中,所述订单可以包括具有不同大小、重量、易碎性和其他特性的各种货品。

在上述方面和其他方面的各种实施例中,这种存放设备可以包括一个或多个存储装置。在相同实施例或其他实施例中,所述存放设备的至少一部分可以被配置为能动态地移动。

在相同实施例或其他实施例中,所述存放设备可以由两个或多个工作站共用。

下面将参考所附示意图对本发明进行说明,附图旨在举例而非对本发明进行任何限定,其中相同的标号旨在指明相同或对应的部分。

附图1为某些方面通用计算机硬件和软件实施例的说明图,详见说明书。

附图2为根据本发明一些实施例的所述系统的示例框图。

附图3为根据本发明一些实施例的所述机器人控制系统的更详细的示例框图。

附图4为根据本发明一些实施例的示例递归寻径算法的示例工作流程图。

附图5为根据本发明一些实施例的示例热图。

附图6a为展示在路径搜索算法中使用不同系数后搜索分支的预计成本如何变化的表格。这些系数可以使用根据本发明的一些实施例的机器学习技术提炼得出。

附图6b说明了如附图6a所示不同成本系数的使用如何改变所述搜索算法下一次迭代将选择的分支。

附图7为根据本发明一些实施例的仓库的示例透视图。

附图8为根据本发明一些实施例的带有一个卷扬机和一个容器的机器人的示例图。

将通过参考附图对适合用于实施本发明的方法、系统和装置的优选实施例进行说明。

全自动化与半自动化货品存储与取出系统可以通过各种类型与形式来实现,其各方面有时可能被称为“订单履行”系统、“存储与取出”系统和/或“订单拣选”系统。一种对已存储货品提供存取途径(access)以进行全自动化和/或半自动化取出的方法,示例性的包括:将任何期望类型的货品放置在箱子或其它容器(以下统称“容器”)中,以及将货架中的容器堆叠和/或以其它方式垂直分层放置,从而使全自动化或半自动化容器取出系统能够存取单独容器。

在一些实施例中,所述系统可以包括除货品存储和取出系统之外的系统,如处理、修复、操作、装配、分类货品的系统等,需要在设施中和/或向其他设施移动货品、产品、零件、部件、子部件,或用于运输。

为本说明书之目的,存储、取出、处理和/或履行订单的存储设施被称为“蜂巢”,其中全自动化或半自动化存取系统提供此类货品的存取途径。所述“蜂巢”可以包含潜在通路的网格状布局,供机器人元件或设备(“机器人”)移动以在所述“蜂巢”(称为“网格”)中的各位置穿行并进行操作。

本说明说不仅限于具有“蜂巢”、“网格”和/或“机器人”的系统,也可以设想广泛地控制和/或协调数个设备的移动和/或行动的系统。这些设备可以被配置为运输各种货品,如货品和/或产品,和/或可能为空的和/或存放此类货品和/或产品的容器。这些设备还可以用于履行订单,但是也可以用于任何其他类型的行动,如运输容器到工作站和从工作站运输容器、移动物品从原位置到目标位置等。

如上所述,所述设备可以是机器人,且所述设备可以被配置为沿着蜂巢移动,和/或与控制系统通信以协调和接收移动指令。在一些实施例中,所述设备可以被配置为在其之间通信,和/或协调其之间的移动。因此,所述设备可以具有各种运输工具、通信工具、动力工具、处理工具、处理器工具、传感器工具、监控工具、机载工作站、电子/物理存储工具和/或提升/运输工具(如卷扬机、臂等)。

尽管所述设备可以被配置为从所述系统接收指令,但可能会出现所述设备与所述系统中断通信、所述设备的通信路径老化和/或在特定时间帧不能从所述系统接收通信的情况。

在一些实施例中,所述设备还可以被配置为彼此之间进行通信,和/或感测彼此的存在。这些通信和/或感测输入可以被用于,例如众包环境信息、提供冗余通信信道、验证指令等。

订单履行可以包括各种操作,但不限于如:在购买和混合各种产品用于配送给客户时组合订单,例如用在连锁食品杂货店;组合具有各种子部件的产品;对产品进行各种操作(如将部件焊接在一起)、分类产品等。

订单还可以被返回,例如,如果订单被取消、配送失败等。在一些情境下,即使订单正在蜂巢中履行,其也可以被取消,且货品可能需要被返回。在一些情境下,所述货品可能需要被重新放回容器中,且所述容器可能需要被移动到各种位置。在一些情境下,当订单被返回或取消时,工作站可能需要执行任务以拒绝产品/将产品返工。

而且,如上所述,单独的容器可以被放在垂直层中,且它们在“蜂巢”中的位置可以使用三维坐标标示出以表示机器人或容器的位置和容器深度(如容器(X, Y, Z),深W)。在一些实施例中,在“蜂巢”中的位置可以使用二维坐标标示出以表示机器人或容器的位置和容器深度(如容器(X, Y),深Z)。

所述“蜂巢”本身可以是“动态”的环境,从这个角度来讲,机器人和工作站位置可能与蜂巢中不同的部分关联以参与行动。例如,机器人可能需要存取蜂巢维度指定位置上的指定容器(如容器(X, Y, Z),深W)以履行特定订单或在所述“蜂巢”中存储产品。这就涉及所述机器人沿各种可能的路径移动,例如,沿网格的顶部移动,然后再在堆垛的指定深度存取特定容器。

在堆垛的指定深度存取特定容器可能需要移动可能阻碍存取该特定容器的过程(如,在容器被堆叠时,必须首先移动很多容器才能存取不在堆垛可及端的容器)。在一些实施例中,将所述系统配置为能为必须移开以存取目标容器的每个容器提供新位置的评估和优化是比较有利的。

移离堆垛的容器不需要被移回它们的原堆垛。

一个潜在优势在于具有调整容器分布的能力,这样所述容器就能被放置在更加容易存取或更方便的位置。

这可以帮助在设施内保持最佳容器分布,例如,偏向于将预计有较高需求的容器放在更容易存取的位置,如靠近工作站或工作站中的位置,以减短运输距离。

附图7为根据本发明一些实施例的仓库的示例透视图。

机器人可以具有各种形状、大小和配置,且可以具有各种通讯工具、传感器和工具。在一些实施例中,每个机器人可以通过由一组基站和基站控制器建立的一组频率信道与所述控制系统通信。机器人可以利用各种工具从堆垛移动和获得容器,例如,利用卷扬机搬运容器。

附图8为根据本发明一些实施例的带有一个卷扬机和一个容器的机器人的示例图。

所述网格不仅限于矩形网格元件且可以包含曲线轨道、上下轨道等。所述网格通路可以有交叉点且可由一个以上机器人使用。

每个网格可以在物理上或逻辑上被分割成一个或多个子网格。

所述网格可以包含一个或多个工作站。工作站可以是手动、半自动化或全自动化的,且可以包含在蜂巢中执行操作或执行与蜂巢、容器或产品有关的操作的位置和区域,如将产品移入或移出蜂巢、生产产品、装配产品、加工产品到它们的组件、提供暂存位置以支持其他步骤或操作等。

工作站可以包括,例如,从入站运输工具移动货品的位置、对产品进行各种操作的位置(如组件装配、涂装、分类、包装、拆卸、返工产品、修复包装、放回已取消订单中的产品、拒收返回的产品、处置产品)、和向出站运输工具移动产品的位置、具有制冷功能的位置、装配组件或物品的位置、用于暂存或预取产品的位置、维修和维护机器人的位置、给机器人充电的位置、工人拣选将放入容器中的产品的位置、工人拣选将从容器中取出的产品以履行订单的位置、袋子被放入容器中的位置等。

如果货品/产品被返回至蜂巢,所述系统可以支持和/或控制取回所述产品的过程、返工所述产品,和/或如果被拒收处置所述产品。在一些实施例中,所述情境可以包括在工作站处理所述已被返回的容器(配送的手提袋或其他物品)以确定其是否可以被接受返回至系统中,以确定其是否需要返工/重新包装,和/或所述产品是否应该被处置(如易腐产品已过期)。

工作站可以有一个或多个工人或机器人来执行各种任务,如拣选货品以履行订单。

在一些实施例中,工作站还可以是具有传送带、冷冻库、采用各种工具技术和/或操作、涂装、紧固、维修、冻结、加热、暴露于化学物质、冷冻、过滤、装配、拆卸、分类、包装、扫描、测试、运输、存储或处理货品和容器等其他技术的站点。

所述工作站在设施中可以有其自己的通路,与所述设施共享通路等。所述工作站在设施中也可以有各种输入和输出通路或其他类型的入口/出口点。

在一些实施例中,所述工作站与一个或多个仓库管理系统通信以提供与工作站、工作流程、所需容器、问题相关的资料和数据,以及与存放或操作的产品的状态相关的资料和数据(如被装配在一起的子部件)等。

从客户处收到涉及存储与取出系统中多种货品的订单后,全自动化或半自动化容器处理机可以从以网格、货架或其它有序排列的存储容器中取出包含相应货品的存储容器,并将其配送至一个或多个工作站。

在工作站,可将货品从存储容器中取出,并在拣选入配送容器之前放入中间存放设备中。

如本说明书所述,分布容器以使可能是某些工作站的输入容器临近那些工作站放置可能是有利的。

从容器中拣选货品可由人工拣选机手动完成,或在各种机械或机器人元件的辅助下以半自动化或全自动化方式执行。

如果单独的容器被分层的垂直堆叠,存取不位于顶层的容器需要另一组操作来移动存放在需要的容器上层中的容器,然后才能存取需要的容器。例如,如果需要的容器位于顶层下面一层,在存取需要的容器之前,可能需要将位于顶层的容器移动到另一位置。如本说明书所述,分布容器以使存放有更大需求的货品的容器偏向于被放在更容易存取的位置可能是有利的。在一些实施例中,优化模块为待放置的这些容器提供最佳位置。

在适于处理多种货品的典型的商品拣选操作中,如食品杂货订单处理系统,有时发现在履行一个或多个订单期间,具有各种大小、形状、重量和其他特征的各种货品必须被处理或以其他方式被安放,且这些货品可能需要围绕设施被移动到各种站点进行各种操作。根据所述设施的大小、组织和布局,这些货品的移动可以被有利地优化以使得这些货品被高效地移动,避免碰撞并解决依赖性(如以适当的顺序拣选和卸载物品)。

这些工作组中涉及的各种行动,如将货品放入不同类型的容器中、将容器存储在蜂巢中,和本说明书所述的分类/配送可能会导致所述容器的各种移动,包括在所述蜂巢中在不同位置放置容器。这些行动可以包括蜂巢入站/出站活动(如将货品入库和出库),且还可以包括相关的分类/配送系统,如将产品从车辆运送下来进行存储/配送的管理,以及将产品运送到车辆上以履行订单。

在本发明其他实施例中,所述工作站可以用来提供其他类型的货品处理或容器处理,如对货品进行处理(如装配、拆卸、修改、分类、烘干、冻结、测试、化学暴露、物理操作、紧固、维修、印刷、涂装、剪切、包装、存储、加工、焊接、回火、再加工)的工作站。这些工作站可以是手动、半自动化或自动化的且具有与其操作或性能相关联的各种参数,如工作量、所需输入、所需输出、负载平衡、所需延迟(如烘干时间)等。

所述机器人的各种移动、容器/物品的放置以及控制选择何时从容器中取出产品可以由一个或多个控制系统控制和优化。该控制包括实施各种策略,包括,例如:

集中管理一个或多个机器人;

管理机器人不仅取出容器进行处理,也预取容器至更方便的位置,例如临近工作站或工作站中的位置;

通过应用一个或多个寻径算法优化路径(如分支界限法);

通过将一个或多个启发式技术应用到一个或多个寻径算法优化路径(如预计最低成本,在本发明的一个实施例中,当被看作一个整体时,成本可以根据到目标的总时间和用于在网格上缓解拥塞产生的总累积热量的函数进行计算)。

提前安排/预处理移动路径;

进行模拟以确定安排/预处理移动路径的最优深度分析;

应用机器学习技术来优化应用于一个或多个算法的成本函数的指数和系数。在一些实施例中,这可以包括寻径算法、容器放置算法和工作站负载平衡算法;

即时机器人路径冲突解决系统;

将机器人群体细分为单独的控制组,每个控制组包含一个或多个机器人;

通过各种工具优化容器位置,如运用使用加权成本系数的评分选择算法;

优化工作站工作分配;

预处理任务和行动以安排进一步的任务和行动。

在一个或多个机器人被用于全自动化或半自动化取出、存储和移动物品的示例环境中,所述仓库可能首先必须决定如何在不同机器人或各组机器人之间分配容器负载。

例如,各组机器人与拣选站之间的任务分配可以根据仓库的特定布局、货品的放置、货物的特定特征(如货品到期或可能有危险)以及工作流程排序进行优化。

例如,可能需要有一种系统能智能地比较机器人到其目的地的潜在路径、尤其考虑该路径的潜在拥塞、完成操作所需时间、碰撞的可能性、特定机器人的库存中的物品、特定机器人的预测未来操作和特征(如电池电量、服务问题)。

可能进一步需要有一种系统能智能地适应所述”蜂巢”中各种条件,如可能阻碍或阻塞机器人路径的空闲机器人、障碍物或特定机器人正试图穿过的其他机器人预订路径。

可能进一步需要有一种系统能基于一种算法智能地放置容器,这种算法能使所述系统偏向于有助于高效存取货品的容器分配(如将存有高需求SKUs货品的容器放在顶层附近和其工作站附近方便存取)。

这些都为非限制性示例,可以使用任何优化方法、安排或考量。

附图2为根据本发明一些实施例的全自动化与半自动化货品存储与取回示例系统的示意图。附图2为高水平制作,展示了一个示例性实施例。系统200的各种实施例可能包含更多或更少的组件,且附图2仅为示例。

所述系统200包含机器人控制系统202、维护/监控系统204、基站控制器206、一个或多个基站208a和208b、一个或多个机器人210a,210b和210c,以及一个或多个充电站230。尽管只说明了两个基站208a和208b,以及三个机器人210a,210b和210c,但是应理解在所述系统的其他实施例中可能有更多或更少的机器人和基站。

可能有一个或多个仓库管理系统(WMS)232、订单管理系统234以及一个或多个信息管理系统236。

所述仓库管理系统232可以包含以下信息:如订单所需货品、仓库中库存单位编号、预期/预测订单、订单中遗漏的货品,在订单将被装载在运输机上时,货品到期日期、每个容器中的货品名称、货品是否易碎或体积庞大等。

在一些实施例中,所述仓库管理系统232可以与所述工作站通信且还可包含与所述工作站相关的信息,如所述工作站状态、要求所述工作站在特定时间接收的产品名称和/或容器名称、将要求所述工作站在特定时间已经移动到另一位置的产品名称和/或容器名称、在所述工作站进行的预期操作工作流程、当前等待将容器放入工作站的机器人数量等。

所述机器人控制系统202可以被配置为控制机器人的导航/选择路线,包括但不限于从一个位置移动到另一位置、避免碰撞、优化移动路径、控制将执行的活动等。所述机器人控制系统202还可以使用一个或多个服务器来实现,每个服务器包含基于存储在一个或多个非暂时性计算机可读存储介质上的指令被配置的一个或多个处理器。所述机器人控制系统202可以被配置为向一个或多个机器人发送控制信息、从一个或多个机器人接收一个或多个更新,以及使用实时或近实时协议与一个或多个机器人通信。所述机器人控制系统202可以从一个或多个基站208a和208b接收表示机器人位置和可用性的信息。所述机器人控制系统202可以被配置为记录可用的机器人数量、一个或多个机器人的状态、一个或多个机器人的位置和/或其当前的指令设置。所述机器人控制系统202还可以被配置为处理控制信息和/或向一个或多个机器人发送控制信息以预测未来的移动、潜在地降低处理器负荷,以及主动管理针对通信链路的通信负载。考虑到所述机器人控制系统202在确定最优通路、计算最佳容器位置和/或确定预订和/或间隙中使用的复杂算法,这种实施方式可能是有利的。

在一些实施例中,所述服务器可以利用“云计算机”类型的平台进行分布式计算。基于云的实施方式可以提供一个或多个优势,包括:公开性、灵活性和可扩展性;可集中管理;可靠性;可伸缩性;被优化用以计算资源;具有聚合很多用户信息的能力;连接很多用户并查找匹配的感兴趣的子组的能力。尽管本发明的实施例和实施方式可能在有关使用云来实现系统平台的各方面在特定非限制性示例中进行了讨论,但是可以使用本地服务器、单个远程服务器、软件即服务平台或任何其他计算设备来代替云。

在一些实施例中,移动优化模块可以使用一个或多个控制组将机器人分成一个或多个组。对大型网格使用控制组可以提供某些优势,如每当实时计算在控制异常后不能跟上重新计划时而维持对一个非常大的网格的操作的能力,如当(1)无线通信链路丢弃比计划中允许的更多顺序包;(2)一个或多个机器人故障;(3)一个或多个机器人在一定的性能容差范围外操作。

控制停止消息可以广播给特定“控制组”中的机器人;与发送单独消息相反,广播消息的潜在益处可以包括通过使用多个传输时隙和潜在更高的信噪比来改善通信。

在一些实施例中,所述机器人控制系统202可以被配置为在机器人穿过所述网格时动态地将其分配到不同的“控制区域”。

所述维护/监控系统(MMS)204可以被配置为提供监控功能,包括从一个或多个机器人或一个或多个基站接收警报,建立与查询机器人的连接。所述MMS 204还可以提供用于配置监控功能的接口。所述MMS 204可以与所述机器人控制系统202互动以指示何时召回某些机器人。

所述基站控制器206可以存储主路由信息以确定机器人、基站和网格的位置。在一些实施例中,每个仓库可能有一个基站控制器206,但是在本发明其他实施例中,可能有数个基站控制器。所述基站控制器206可以被设计为提供高可用性。所述基站控制器可以被配置为管理所述一个或多个基站208a和208b的动态频率选择和频率分配。

所述基站208a和208b可以被组织为基站池,所述基站池然后可以被配置为活动模式、待机模式或监控所述系统。消息可以通过各种通信工具被路由给机器人或从机器人路由回去。所述通信工具可以是任何通信工具,在一些实施例中,所述通信工具可以是无线电频率链路,如那些满足无线标准802.11的链路。所述基站208a和208b还可以包括处理单元212a,212b、数字信号处理器214a,214b,以及无线电设备216a,216b。

所述一个或多个机器人210a,210b和210c可以被配置为围绕所述网格移动并执行操作。操作可以包括从一个堆垛向另一个堆垛移动容器、去充电站充电等。所述一个或多个机器人可以被分配以与所述一个或多个基站208a和208b通信。

所述一个或多个机器人210a,210b和210c可以不必全部都是同一种机器人。可以有具有各种形状、设计和用途的不同的机器人,例如,可能有占用面积为单个网格位置、卷扬容器进行内部装载的机器人、悬臂式机器人、桥接机器人、回收机器人等。

在一些实施例中,所述一个或多个机器人210a,210b和210c具有可以被用来夹持容器将其从所述网格上的一个位置移动到另一个位置的卷扬机。

所述机器人210a,210b和210c可以分别具有无线电设备218a,218b,218c、数字信号处理器220a,220b,220c、处理器222a,222b,222c、实时控制器224a,224b,224c、电池226a,226b,226c,以及发动机、传感器、连接器等228a,22bb,228c。

所述一个或多个充电站230可以被配置为提供电力以为所述一个或多个机器人210a,210b和210c上的电池充电。所述一个或多个充电站230还可以被配置为提供高速、有线数据接入至所述一个或多个机器人,且可以在所述网格周围放置几个充电站以供所述一个或多个机器人210a,210b和210c使用。

附图3为根据本发明一些实施例的所述控制系统202的框图。该框图用以更详细地标识控制系统202的一些部件,但是可能不需要每个标识的模块或接口,,在各种实施例中,可能包括更多或更少的模块。

所述控制系统202可以被配置为评估如何改进工作分配、产品移动和产品放置。根据本发明的各种实施例,优化可以实时运行,而其他的则周期性地运行,例如,在停机时间或低活跃时间期间。

所述控制系统202可以被配置为根据各种业务规则、指示优先级的应用来安排何时发生具体类型的移动且其按照什么顺序发生等。所述控制系统202被配置为如在相对产品放置作决定时确定入站和出站因素。例如,所述控制系统202可以在产品供应的预计配送位置和产品的预计出站配送位置运行。所述控制系统可以作出决定且可以通过自动系统发送执行信号,和/或可以有效地向人力(拣选工、装载工等)分配任务。

所述控制系统202可以在履行订单或出于任何其他目的时确定一个或多个机器人或一个或多个拣选工应该执行一个或多个行动。所述一个或多个机器人的行动可能是要求所述机器人穿过所述网格和/或执行行动,如取出容器。

所述控制系统202可以被配置为在考虑到一组约束和条件的情况下分析所述网格中的各种通路以确定相对其他通路可能优选的一个或多个路径。这些优选的通路可以被一次性地、周期性地和/或动态地提供给所述机器人以控制其在网格中的移动。

一条路径可能因为很多原因而成为优选的,包括但不限于:运输距离较短、机器人预期平均速度较快、遇到交通(拥堵)的可能性较低、所需总时间较少、碰撞的可能性较低、使用的电力较少、容易切换到替换通路、避免障碍物的能力(如坏机器人、掉落的货品、起伏不平的路径、部分路径正在维修)。

所述控制系统202可以使用各种算法来辨别、设计和/或控制其被连接到的各个机器人的移动。在一些实施例中,所述控制系统使用一个或多个服务器来实现,每个服务器包含被配置为执行存储在一个或多个非暂时性计算机可读介质上的一组或多组指令的一个或多个处理器。计算机实现的潜在优势包括但不限于可扩展性、处理大量进程和计算复杂性的能力、加快的反应速度、快速作出决定的能力、进行复杂统计分析的能力、进行机器学习的能力等。

将进一步在说明书中对这些算法进行深入讨论,而且,根据本发明的一些实施例,提供了寻径算法和启发式方法的示例。

约束条件可能包括所述网格当前的布局、机器人的物理特性(例如最大速度、转弯半径、转弯速度、最大加速度、最大减速度)、拥塞(例如某一路径或交叉点处的预期交通负荷)、已建立的“高速公路”、机器人运输的物品的特性(例如大、笨重或易碎物品)、机器人状态和环境(包括电池状况、损坏、维护问题)以及站状态(例如目的站已满或暂时受阻)。

所述控制系统202可以是实时或近实时控制系统(控制各种单元的行动,所述各种单元包括机器人和可选地相关联的其他单元,包括如传送带、拣选工、人力等)。所述控制系统202可以包含一个或多个模块。所述一个或多个模块可以包括控制接口302、移动优化模块304、产品放置优化模块306、机器人物理模型模块308、业务规则模块310、间隙模块312、预订模块314、命令生成与调度程序模块316、机器人通信模块318、充电管理器模块320,以及警报/通知模块322。这些模块可以通过各种方式实现,在一些实施例中,其作为被存储为由一个或多个处理器执行的一个或多个计算机可读介质上的指令的应用被实现。

根据本发明一些实施例,所述控制系统202可以实时或近实时控制工作分配、工作站操作、机器人移动和/或容器放置。工作分配、容器移动和放置可以通过与仓库内的活动相关的行动来促成,如履行订单、容器重新分配到更容易存取的位置、预计的调度序列、维护操作、工作站操作、未来订单的预期等。

所述控制接口302为各种外部系统提供接口以在所述控制系统202中提供操作说明和信息。在各种实施例中,所述控制接口302可以提供人类用户接口和/或与各种机器和系统相连接的接口。

人类接口可以包括,例如键盘、视觉显示器、命令提示符等。

机器和系统接口可以包括使用不同规范()实现的应用程序编程接口(APIs),所述规范包括但不限于简单对象访问协议(SOAP)和具象状态传输(REST)服务,和/或以各种编程语言编写的接口。所述控制接口302可以与各种外部数据库互动,包括但不限于各种仓库管理系统和订单管理系统,且还可以接收来自各个机器人的信息(如机器人出故障,机器人需要充电、机器人在去目的地的途中、机器人遇到意料之外的阻碍等)。

所述控制接口302还可以从所述仓库管理系统(WMS)接收有关机器人和容器的控制和移动的信息和向其传输此类信息。此类信息可以包括但不限于网格位置及其大小、子网格的建立、库存和订单主记录、工作站位置、工作站相关参数,和/或分配序列(如订单需要何时发出)。执行行动、容器被带到工作站、完成工作站操作、配送装载完成等之后,所述控制接口302可以向所述仓库管理系统提供更新。在一些实施例中,所述仓库管理系统和所述控制接口302之间有确认过程。对所述仓库管理系统的这些更新可以包括,例如更新与特定库存单位编号相关的库存等级、更新容器位置、更新容器中物品的位置、更新设施的条件等。

在所述系统的一些实施例中,除了所述仓库管理系统,还可以有包含和提供有关进入所述系统的各种订单、定单履行、工作站操作、即将到来的订单和预测订单的信息的单独的订单系统。

所述控制接口302还可以接收命令以停止特定机器人、一组机器人或所有机器人的操作(如遇到故障、紧急情况等)。

所述移动优化模块304可以被配置为通过应用各种算法来确定从一个位置到另一个位置的潜在的有利路线来优化机器人移动。潜在有利点可以包括运输距离较短、遇到拥堵的可能性较低、所需时间较短、电力消耗较低、与其他机器人协作、绕过障碍物,如坏机器人或轨道不平区域,以及与各种工作站的操作配合等。

所述移动优化模块304可以被配置为提供工作分配、计划和安排功能,包括开发一组任务然后选择哪个拣选站或机器人来执行哪个任务。例如,这可以基于机器人或拣选站所在地、机器人或拣选站的特定能力等。此外,确定履行特定订单所需的特定排列和特定行动组并为一个或多个机器人和/或一个或多个拣选站开发动作/任务。功能可以包括,尤其是将空容器运送到入站、将装载有货品的容器放置在仓库周围、将容器带到拣选站或其他区域、将容器从仓库中的一个位置移动到另一个位置等。

所述移动优化模块304可以被配置为与所述产品放置优化模块306互动以确定一组具有潜在优势的位置来放置物品。例如,考虑到含有特定库存单元编号货品的容器的需求频率高,所述产品放置优化模块306可以指出其应该被放置在更容易被取出的某个堆垛的某个位置。相反,如果含有特定库存单元编号货品的容器的需求频率低,产品可以被确定放置在不太容易存取的网格位置中较低的处。

在优化移动中,所述移动优化模块304可以被配置为考虑有关于移动和操作的性能这两方面的各种因素,如获取特定位置的预期所需时间、容器在堆垛中的深度、从堆垛中取出容器需花费的时间、将位于其之上的容器移动到其他位置必要的各种操作等。

所述机器人物理模型模块308可以向所述移动优化模块304提供一组输入,该组输入可以根据各种因素传达有关机器人的移动的一组约束(如所述机器人当前正运输易碎物品时可以仅以最大速度的50%移动)。所述移动优化模块304可以协调箱子移入网格、移出网格,以及在网格内的移动。

在一些实施例中,所述移动优化模块304在机器人运输进程中可以动态地重新计算优选路径以在条件和约束随时间推移而发生变化时潜在地确定一组更新的路径。

在一些实施例中,所述网格可以由所述移动优化模块304进行预处理以潜在地增加处理速度和/或降低处理负荷。也可设想降低处理负荷的其他方法,如降低搜索的深度和宽度、将所述网格分为子网格、分散式处理、缓存未来路线、计算简化所述网格(如减少分析的节点数)、减少路径重新计算等。

在一些实施例中,所述移动优化模块304可以将网格划分为数个较小的子网格进行分析。这种划分可以降低对处理能力的需求,这在网格非常大的时候尤其有用,例如,1000x1000的网格可以被划分为100个100x100的网格且每个网格可被单独分析。这在所述系统尝试控制非常多数量的机器人或考虑很多条件的情况下尤其有用。

所述移动优化模块304还可以与所述间隙模块312和所述预订模块314互动以确定导航所建议的路径是否会遇到涉及其他机器人的间隙和预订的问题,并确定可以降低遇到这些问题的可能性的通路。

如果需要的容器位于堆垛中的不同深度,要求所述移动优化模块304控制一个或多个机器人将容器从所述堆垛中移出从而存取需要的容器。所述移动优化模块304可以协调一个或多个机器人的移动以使所述一个或多个机器人合作将容器从所述堆垛中移出。

在一些实施例中,所述移动优化模块304可能不必要或甚至不需要将容器放回所述堆垛上,更确切地说,从所述堆垛移离的容器可能有由所述产品放置优化模块306确定的最佳位置且可能由所述一个或多个机器人移动到那里。这一实施例的潜在优势在于当容器没有放回其原位置而是放置在更优的位置时发现效率增加了。

在一些实施例中,所述间隙模块312、所述预订模块314和所述移动优化模块304作为路径冲突解决程序被一起使用,其中所述移动优化模块304开发路径,然后使用所述预订模块314预订所述路径,最后在机器人遇到潜在的冲突路径时所述间隙模块312提供即时方法来确定优先级。

在一些实施例中,所述移动优化模块304被配置为考虑机器人尝试将容器带到已满的站的情况。在这种情况下,所述移动优化模块304被配置为指引所述机器人拿取容器到附近由机器人拿着,直到所述站可以接收所述容器。在所述站可以接受所述容器时,放下所述容器。在这些实施例中,被拿着的容器可以按优先级顺序被放下。

在一些实施例中,如果所述被拿着的容器在到达其存放位置之前站变空了可以放下,所述移动优化模块304将重新计划以将所述容器直接放下不再拿着。

在一些实施例中,所述移动优化模块304还被配置以进行预取操作,其中在站需要容器之前,其先被移到该站的附近。然后再准备好在需要时被放下,这样就可以降低放下时间的不确定性。

在一些实施例中,所述系统可以被配置为计划所述机器人路径并建立遥远的将来的机器人路径预订以允许完成算法。

在一些实施例中,所需预先计划的程度可通过模拟被计算出。

所述模拟可以用于(在统计意义上)判断遥远的将来计划的效率增益和机器人由于各种原因如短期通信包丢失和/或机器人在允许的容差范围外运行,未能维持其计划而必须重新计划的较高概率的效率损失。

所述产品放置优化模块306可以被配置为确定一组潜在有利的位置来放置含有特定货品的特定容器。所述产品放置优化模块306可以利用相关信息,如所述网格的布局、特定货品被需要的频率、未来订单、预测未来订单、工作站位置、充电站位置、特定区域和路径分支的拥堵程度,尤其是确定所述一组潜在有利的位置来放置包含特定货品的特定容器。

机器人可能被分配运输一个或多个容器的任务以满足一个或多个服务拣选站的需求,其每个容器可以包含一个或多个货品。每个容器可以具有与堆垛位置相关的索引编号以使特定容器可以被偏向放置在特定的堆垛位置。

容器在堆垛中或相对网格布局的分布和放置可能有助于仓库的整体操作效率。

存在容器需要被放置在设施中某个位置的各种情况,且这些情况提供了重新评估和/或优化容器在设施中的位置分布的机会。

存在可以表明一个位置比另一个位置更好或更差的各种考虑因素,包括但不限于到工作站的距离、区域中拥堵的程度、特定容器将会阻碍哪些容器、容器相对环境因素的逻辑分组(如包含易燃物品的容器可能需要特殊放置)、通过工作站智能预取位置。

这些考虑因素可以由所述系统使用来对比一个位置和另一个位置,例如,通过使用加权算法或任何其他适合的方法。

例如,在新容器被放入设施中时、在容器被返回设施中时、在机器人移动一个或多个容器试图获取存储在堆垛深处的货品时、在货品被放入/取出容器时、在容器被标记已损坏时、在容器被标记为脏时等。

这种优化可以执行多次,例如,在一些实施例中,执行所述优化以便为必须被移动的每个容器确定新位置,如必须被取出的那些容器,以取出位于其下的特定容器。

例如,机器人移动和操作的的次数可以潜在地减少,如果频繁订购的货品和每个给定的库存单元编号的一定数量的货品被分布在仓库最容易存取的区域(如距离每个拣选站和/或容器堆垛顶部最近的位置)。

“活动窗口”被定义为处于活动状态且由所述系统确定的容器的订单价值的数量(服务工作站的库存)。所述产品放置优化模块306可以被配置为为容器指定分值,使整体蜂巢布局偏向活动的容器的顶层,储备库存位于下面。

这种计分系统可以由业务规则模块310确定,并基于如库存到期日期等信息来设定。除了其他信息之外,可以利用历史订单来计算容器的分值,且这种分值可以在库存单元编号的库存等级每次变化时被持续更新。所述计分系统可以被用以帮助影响容器位置以维持在设施中放置容器的最佳性。

在一些实施例中,所述系统可以被配置为控制机器人移动以维持每个库存单元编号(SKU#)具有一个或多个容器的“活动”池来满足一个或多个服务工作站的需求。当“活动”池变空时,“储备”容器可以被放入“活动”池中。

在所述系统的一些实施例中,所述系统可以被配置为使用“放弃算法”控制机器人移动以在放置容器时从可用的空位置池中确定“最佳匹配”堆垛位置。

在一些实施例中,所述“活动”池可以被配置为支持来自所述一个或多个服务工作站的并行需求。

在一些实施例中,所述产品放置优化模块306还可以平衡所述拣选站之间的订单。

所述机器人物理模型模块308可以被配置为存储模拟机器人特定物理性质的一组变量。例如,所述模型可以表示如机器人长度、重量、高度和宽度、机器人最大承载能力、机器人旋转速度、机器人卷扬机循环时间、机器人最大速度和加速度、机器人在一定的电池寿命下执行某些行动的能力等的物理特征。所述机器人物理模块308可以与所述业务规则模块310相连接以确定对机器人移动的某些特征的限制,包括机器人的最大速度、最大加速度以及最大旋转速度。例如,载有很多箱鸡蛋的机器人由于鸡蛋受到物理外力时的易碎性被要求只能以最大加速度/减速度的25%来进行加速/减速。

所述业务规则模块310基于仓库、机器人和通信系统的特定情况开发和应用一组业务规则。例如,所述业务规则模块310可以提供对于某些类别的货品而言,对所述机器人物理模型模块308有效的可潜在地减少运输中的货物发生的损坏量的各种限制。可以实施业务规则的情况示例性包括高风险产品(如酸、漂白剂等)、具有气溶胶的容器和含有易燃物的容器以及其它。空容器也可以有不同于其他容器的方式处理。

所述业务规则可以包括再次使用前清洗容器、减慢含有某些物品的机器人的速度等行动。

所述业务规则模块310还可以被配置为开发和应用管理产品放置的多组规则。例如,不同的规则可以用于高频率的货品、由于即将到来的订单可能很快被拣选的货品等。

所述间隙模块312可以被配置为存储和提供用于各个机器人的间隙。可以使用间隙系统以确定一条路径是否无障碍物以便机器人穿过。所述间隙模块312可以作为被动碰撞避免系统来实现,其中只给予机器人尽可能的不影响其性能的最小的工作量。

提供了具有新指令的机器人后,所述间隙模块312基于例如网格大小、网格位置、计划生成的移动命令、移动命令取消(对诸如受控停止的事件生成)、机器人的当前位置和速度、机器人制动能力以及其被清除到哪以供访问等检查使其不可能与另一机器人碰撞。

所述间隙模块312可以被配置为“即时”发出间隙指令并可用于向机器人授予许可以便其继续沿其计划的路径移动。可以根据每个机器人状态报告生成(或保留)新的间隙指令。因此,所述间隙模块312可以用作路径冲突解决程序。在需要间隙时,所述间隙模块312可与所述移动优化模块304互动以动态地重新计划路线来解决或避免冲突。

所述间隙模块312可以向所述控制接口302提供一条路径的间隙内容、通知何时发出间隙(如向计划系统发出通知,因为这可允许从当前间隙的结束开始进行动态重新计划)、通知何时保留间隙(确定错误情况和确定重新计划的需要),以及向警报系统发出通知(因为机器人、机器人通信或所述控制系统202存在潜在的问题)。

所述间隙模块312可以被配置为基于一组容差设计间隙方案,包括遗漏的消息、处理时间、时钟同步和机器人与物理模型的差异等。

所述间隙模块312可以基于机器人位置和速度更新以及给予/保留的间隙为所述网格上的一个或多个位置提供一组安全进入时间。该组安全进入时间可以随所述网格条件的变化而进行动态更新。

在一些实施例中,所述间隙模块312可以被配置为仅在一定时间段内(如3秒)为机器人提供间隙。给予机器人的间隙可以被配置为该时间段足以使机器人停止而不会有碰撞的风险。

在一些实施例中,所述间隙模块312可以被配置为提供间隙以使所述控制系统202能够遗漏来自机器人的可配置数量的状态消息,并且仍然使机器人在短时间段内继续操作。这种设计可能使系统更容忍遗漏包,可能有利于即使在遇到一些通信问题的情况下仍能连续操作。所述可配置数量可以被设置以使在机器人自动减速到在其间隙结束时停止之前所述控制系统202可能接收到来自机器人的状态消息的概率很高。

在一些实施例中,如果机器人已经开始减速,其将被允许停止且所述控制系统202然后可以取消其前面的预订并重新计划其在所述网格上的路径。

所述预订模块314预订所述网格上的各种路径(如机器人A计划取路径X且在预期的穿行时间内预订路径X,机器人B已知机器人A已经预订路径X而选择路径Y)。所述预订模块314可以被设计为创建非冲突机器人移动方案且可以被配置为与所述间隙模块312和所述移动优化模块304联合工作。

所述预订模块314可以被配置为在一段时间内为机器人提供网格位置的预订,其中不会有两个机器人被给予重叠的预订,考虑到略微偏离计划的机器人的容差、丢失的机器人通信消息的容差,以及时钟差异的容差等。

在一些实施例中,所述预订模块314用于预先预订路线并确保机器人不计划选取冲突路径,尤其是当同时发生大量的机器人行动和任务时。所述预订模块314可以被配置为允许足够的容差以使任何机器人在受控制动下停止而不会有碰撞的风险。

所述预订模块314可以被配置为与所述移动优化模块304互动以建立遥远的将来的机器人路径预订以进行预先计划。在一些实施例中,所述预订模块314和所述移动优化模块304允许充分的预先计划以完成移动算法的计算。

所述命令生成与调度规划模块316生成要被传输到所述一个或多个机器人的一组指令。这些指令可以包括,例如,要求机器人A移动到位置B去拿去容器C,将容器C带到工作站,然后将容器C放回到特定位置D。这些指令可以以近实时/实时配置、即时配置被传输,和/或被提前提供以允许进行计划/安排的路线。此外,在一些实施例中,所述命令生成与调度规划模块316协调预订和执行间隙以帮助机器人迅速导航以穿过设施。

所述命令生成与调度规划模块316可以被配置为提供包含一条单一路径,或一条或多条路径,和/或将在各个位置执行的很多操作的命令集。所述命令生成与调度规划模块316向所述机器人通信模块318提供这些命令以提供给单独的机器人。在一些实施例中,所述命令生成与调度规划模块316为特定机器人预填充指令——这些指令然后可能通过所述机器人通信模块318被提供给机器人以供将来执行。

所述机器人通信模块318可以被配置为通过所述一个或多个基站和所述基站控制器206从机器人来回传输信息。在一些实施例中,所述机器人通信模块318可以通过使用无线信号通信。如上所述,这些指令集不必是即时的,可以发送指令集用于协调未来移动。

所述机器人通信模块318可以从各个机器人接收状态报告。所述机器人通信模块318可以以各种方式被实现,如利用同步、异步、轮询、推或拉方法。此外,各种实施例可以包括或可以不包括使用通信“握手”。

在没有“握手”的一些实施例中,通信系统可能不会保证消息传送,且可能会发生丢包。这种系统的潜在优势可能包括降低带宽要求且尽最大努力交付指令。可以实施各种方案来最小化丢包的影响,如指令包的定时重播、发送包含奇偶校验信息或其他验证方案的重叠指令包,或其他流控制和重传方案。

在本发明的其他实施例中,“握手”可以用于保证包被接收。

对机器人的命令可以在起始时间之前发出以进行将被机器人执行的操作,且从起始时间到命令下达之间的时间可以是可配置参数。

在一些实施例中,命令被重复发给机器人以保证送达,且机器人可以提供命令已收到的确认。

如果在预定的起始时间之前未收到消息,机器人可以被配置为忽略该命令并可以返回表示该命令接收太晚的状态消息。这种情况下,所述机器人控制系统202可以被配置为为机器人取消现有预订,并为机器人重新计划任务分配。

在一些实施例中,机器人返回确认已收到最后命令的常规状态消息(例如,通过命令序列号)。在一些实施例中,所述机器人控制系统202可以被配置为在已下达的最后命令被特定机器人确认之前不会向所述机器人发送新命令。如果所述机器人在特定时间段(如可配置超时期间)后未确认该命令,所述机器人控制系统202可以被配置为为所述机器人取消现有预订。在与所述机器人重建(命令)通信时,所述机器人控制系统202为所述机器人重新计划操作。

在收到每条机器人状态消息后,所述机器人控制系统202可以被配置为通过所述间隙模块312扩大机器人当前的移动间隙。

所述充电管理模块320可以被配置为制定移动计划来为机器人充电。所述充电管理模块320可以被配置为预估机器人何时到指定的最低电量,并确保所有机器人能够在该电量点时或该电量点之前进行充电。

所述警报/通知模块322可以被配置为在潜在的问题已发生时或基于一定的业务规则(如由于冲突,已保留一定数量的间隙)向所述控制接口302提供警报或通知。

本系统和方法可以在各种实施例中实行。适当配置的计算机设备与相关联的通信网络、设备、软件和固件可以提供平台,以实行上述一个或多个实施例。举例来说,附图1展示了通用计算机设备100,其可以包括连接到存储单元104和随机存取存储器106的中央处理单元(“CPU”)102。所述CPU 102可以处理操作系统101、应用程序103和数据123。如需要,所述操作系统101、应用程序103和数据123可以被存储在存储单元104且可以被加载到存储器106中。所述计算设备100还可以包括图像处理单元(GPU)122,可操作地连接到所述CPU 102和所述存储器106以从所述CPU 102卸载密集型图像处理计算并与所述CPU 102并行地运行这些计算。操作员107可以使用通过视频接口105连接的视频显示器108以及通过I/O接口109连接的诸如键盘115、鼠标112、磁盘驱动器或固态驱动114器等各种输入/输出设备与所述计算机设备100互动。以已知的方式,所述鼠标112可以被配置为控制光标在所述视频显示器108中的移动,并操作出现在带鼠标按钮的所述视频显示器108中的各种图形用户界面(GUI)控件。所述磁盘驱动器或固态驱动器114可以被配置为接受计算机可读介质116。所述计算机设备100通过网络接口111可以组成网络的一部分,允许所述计算机设备100与其他适当配置的数据处理系统(未显示)进行通信。一个或多个不同类型的传感器135可以用于从不同来源接收输入。

本系统和方法实际上可以在包括台式电脑、笔记本电脑、平板电脑或无线手持式设备的任何计算机设备上实行。本系统和方法还可以作为计算机可读/可用介质来实现,所述计算机可读/可用介质包括使一个或多个计算机设备按照本发明的一种方法实现每一个不同的工序的计算机程序代码。如果是一台以上计算机设备执行整个操作的情况,所述计算机设备通过互联网来分配各个操作步骤。应当理解,术语计算机可读介质或计算机可用介质包括程序代码的任何类型的物理实施例中的一个或多个。特别地,所述计算机可读/可用介质可以包括程序代码,其包含在一个或多个便携式存储制品(如光盘、磁盘、磁带等)、计算设备的一个或多个数据存储分区如与计算机和/或存储系统相关联的存储器上。

本发明的移动应用可以作为网络服务被实现,在所述网络服务中,移动设备包括用于访问网络服务而不是本机应用的链接。

所描述的功能可以实现到任何移动平台,包括iOS™平台、ANDROID™平台、WINDOWS™平台或BLACKBERRY™平台。

本领域技术人员理解本发明所述实施例的其他变形也可以在不脱离本发明范围的情况下被实行。因此,可能有其它修改实施例。。

很多不同的算法和技术可以用于确定机器人的优选路径,包括但不限于:分支定界算法、约束编程、局部搜索、启发法、图的遍历、动态路径学习顾问技术、修剪技术和贝叶斯图搜索技术、迪杰斯特拉算法、贝尔曼-福特算法、弗洛伊德算法、约翰逊算法、广度优先递归搜索和宽度优先递归搜索、加权路径、A*搜索算法、A*搜索算法变种(如D*、域D*、IDA*、边缘、边缘保存A*、广义适应A*、终身计划A* 、简化内存有界A*、跳点搜索、Theta*)。

在以下部分,根据本发明一些实施例,提供示例搜索算法和启发式算法。

示例搜索算法

在这部分,根据本发明一些实施例,提供示例简化算法。

为便于说明,根据本发明一些实施例,所述算法以图形方式提供,如附图4所示的工作流图。应当理解,该示例算法为非限制性示例,仅用于对上述概念进行说明之目的。

所述算法可以是迭代搜索算法,可以利用分支定界搜索,并应用“近最佳优先”启发式模型,其包括拥塞避免“热图”。分支可以使用加权成本函数进行选择,且所述算法可以松散地联结到网格/机器人形状/大小。

在一些实施例中,分支可以保存在排序的集合中。

根据所述算法的一个实施例,应用下列递归分支定界函数:

每个迭代:

(a)选择最低成本分支b,

(b)用所有方向的分支b来创建新分支B

(c)对于B中的每个分支b’:

如果b’到达目标:

返回b’

否则:

添加b’进行搜索

成本比较器允许跟踪最低成本分支以进行下一迭代

在执行路径搜索中,可以应用不同启发法来减少所需计算,根据应用的启发法,删除整个分支或进行较少计算的密集型分析。示例启发式技术将在本说明书后面部分进行说明。

在新分支与另一机器人可能选取的路径有冲突,或与空闲机器人有冲突时,所述搜索算法可以:

改变所述分支以逃脱冲突预订(如果加速度分布图允许);

改变所述分支以在其路径的任何位置包含等待;或

在不可行时,丢弃所述分支

在一些实施例中,可以在机器人在其起始点等待的情况下选择路径。

这样做的话,搜索空间永远不会真正被耗尽(如,如果当前没有机器人到达其目的地的可接受的路径,可在该机器人等待时选择路径,直到非冲突路径可用)。

示例启发式技术

所述搜索算法可以被配置为优先平衡任意数量的目标,如花费最短可能时间、趋向于避免拥塞区域等。

下面是使用启发法的一个简单的非限制性示例,仅用于说明之目的。

在本发明的一个实施例中,每项搜索可以跟踪当前最低成本分支,且加权成本函数可以用于基于不同启发法偏置分支的选择顺序,不同的启发法可以包括:(a)预计最短路径时间和(b)预计基于热图的累计热量。可以设想其他启发式技术,但是仅用于说明之目的,还将为上述指定的两种方法提供进一步细节。

(a)预计最短路径时间

对任何分支而言,所述控制系统可以确定从当前分支处到目的地的最短可能路径时间。

然后可以将预计时间成本确定为到目前为止的分支的总时间(包括,例如,所需的任何等待等)加上到目标的最短可能的无约束路径的时间。

(b)预计最小热量(基于热图)

在制作热图中,可以将“热”值分配给每个坐标,类似于网格上点的拥塞模型,或网格的特定区域。

附图5为根据本发明一些实施例的示例热图。

在一些实施例中,可以使用到工作站的距离来确定所述“热”值,但在本发明其他实施例中,可以使用各种其他技术来观察/学习/计算/预测所述“热”,其中一些可以是动态或迭代技术。

与预计最短路径相似,可以将无约束的路径延伸到目的地。

然后就可以确定预计最小热量。在一些实施例中,预计热量成本是当前分支中所有已访问坐标热量的总和加预计路径的“最冷”(最不热)热量。

示例加权成本函数

在一些实施例中,所使用的算法基于加权成本函数。通过研究被配置为使用不同系数的云中的大量并行模拟的结果,和/或应用各种机器学习方法和技术,可能使用大量观察和/ 或模拟数据,这样的算法可能适合关联成本系数的优化。

在一些实施例中,所述搜索算法有两个成本系数:(a)所述预计最短路径时间系数(Ct),和(b)所述预计最低热量系数(Ch)。

在一些实施例中,所述搜索算法可以包括下列方程式:

分支成本=Ct*PSP + Ch*PMH

(PSP指预计最短路径时间,PHM指预计最低热量)

在一些实施例中,所述成本函数可以与模拟复杂关系的可配置的或机器学习导出的指数一起使用。一种示例简化成本函数(仅用于说明之目的)包括:

分支成本=Ct*PSPx+ Ch*PMHy,x与y也可以是可配置的和/或机器学习指数。

附图6a为展示在路径搜索算法中使用不同系数后搜索分支的预计成本如何变化的表格。这些系数可以使用根据本发明的一些实施例的机器学习技术提炼得出。

附图6b说明了如附图6a所示不同成本系数的使用如何改变所述搜索算法下一次迭代将选择的分支。

在一些实施例中,所述控制系统202还可以被配置为随时间推移开发、适应和应用一套规则以细化一套机器学习系数和/或指数。使用机器学习系数和/或指数一段时间可以潜在地增加启发式技术的效果。

示例分路搜索

所述系统可以被配置为调整机器人路径以考虑空闲机器人的位置。在一些实施例中,可能有可以独立于有任务的机器人而被跟踪的空闲机器人。这些空闲机器人可能没有计划的路径和相关联的预定,且可能需要被分开考虑。

在任务终结时,可以执行单独的“分路搜索”。所述“分路搜索”可以包括寻找路径以将现在空闲的机器人,或在正有任务的机器人(下称主机器人)的路径中将进入空闲状态的机器人移动到其可以继续为空闲状态且不挡主机器人路径的位置。

在一些实施例中,该“分路搜索”包含执行搜索,其中,对于现在空闲的或将在主机器人的路径中进入空闲状态的每个机器人,执行搜索可以在找到其可以无限期地保留的位置时被视为解决。

所述“分路搜索”可以使用相同的分支定界搜索算法作为主机器人路径搜索,但是可能有不同的成本系数和解决方案标准。如果机器人不能及时让路,可以向所述主机器人的路径添加等待,且所述主机器人的路径可以被重新计算。

示例放回算法

可以使用一种算法来确定将被返回的容器的堆垛位置。由于各种原因,容器可能被返回,且由于各种优势,容器被返回的位置可以被优化,如改善蜂巢中物品/容器的分布。

蜂巢中的每个堆垛位置可以使用可配置的加权成本函数进行打分:

与所有工作站的平均距离(按机器人操作时间测量);

与最近的工作站的距离(按机器人操作时间测量);

以及

大致挖掘成本(如果深度>0)

在计划中的所有操作都已被执行之后,所述系统可以保持蜂巢的当前结束状态的“蜂巢计划”。

所述“蜂巢计划”也可以跟踪“可用表面”,在所述可用表面中,机器人可以放置容器。在由产品放置优化模块306定义的完全有序的容器集合中,每个容器的位置都具有索引。

在由加权成本函数定义的完全有序的堆垛位置集合中,每个堆垛位置具有一个等效索引。

这些索引通过除以它们各自的集合的大小而被重新映射到范围0-1,并且可用表面中的堆垛位置按照它们的索引与容器的索引匹配得有多接近来排列。

通过这些指数和其他因素之间的差的加权成本函数来进行最终选择,所述其它因素如从源头到堆垛位置的理想路径多长以及在当前计划中堆垛保留多长时间。

在这一阶段可以执行其他业务规则,如限制堆垛的总重、控制危险或特殊物质的位置(如喷雾器和易燃材料)等。

示例返回情境

下面为所述系统支持/控制的示例返回工序。在订单被取消、装载物没有离开蜂巢、订单被客户返回,或未能向客户配送的情况下可以使用该工序。还可以设想其他情景。已返回的产品(可能在容器,诸如手提袋等其他存放设备中)可以在提供产品返工或产品拒绝的工作站被处理。

所述容器/手提袋可以被扫描,以便所述控制器能将其预计需要的存储箱放在工作站附近。可以基于库存单元编号(SKU)和到期日期选择供应箱子。可以通过拣选机一个接一个地取出货品并扫描。在所述容器到达工作站时,指示/控制拣选机(自动或手动)将所述货品放入所述容器中。

还可以要求所述拣选机在所述容器被释放之前确认没有遗漏该库存单元编号的货品。

不再适合返回库存的产品可以被拣选入容器中,所述容器,在各种时间,诸如当满时或在一天结束时,可以在工作站被移离,并且其所含物品被送到另一个区域,诸如工作人员店铺或进行适当处置。

尽管本发明已提供并说明了特定的、就目前而言优选的实施例,但在不脱离本发明所公开的实质内容与范围的情况下,还可进行很多变型与修改。因此,本发明不受上述公开的具体组件或详细方法或结构之限制。除了工序本身必要的或固有的顺序,本发明(包括附图)未示意或暗示所描述的方法或工序的各步骤与各阶段的特定顺序。在很多情况下,工序步骤的顺序在不改变本发明所述方法的目的、效果,或导入的情况下可以进行改变。本发明公开的范围完全由所附权利要求来限定,并适当考虑等同原则和相关理论。

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