多机器人路线规划的制作方法

文档序号:33324272发布日期:2023-03-03 22:18阅读:32来源:国知局
多机器人路线规划的制作方法

1.本文的公开内容一般而言涉及机器人,更具体地涉及多机器人路线规划。


背景技术:

2.在狭小空间内为大量机器人规划路线(特别是在多个自主移动机器人可以一次适配通过空间的情况下)尚未收到工业界的认可。机器人解决方案供应商试图通过设计机器人来迫使机器人遵循特定路线、可预测地移动机器人(假设他们周围没有任何东西)来处置类似问题。对于此类系统,不太需要路线规划。另外,此类系统无法扩展且不与现有仓库设计集成。此类系统面临的问题是重新规划路线变得繁琐,重新配置在基础设施级别具有挑战性,并且没有障碍物可以干扰它们。每当新机器人被添加到此类或任何其它系统时,输入空间都呈指数级增长;因此,现有系统并没有跟上机器人的增长规模。这种场景导致组合问题,并且随着机器人规模扩大,系统变得难以匹配。


技术实现要素:

3.并入并构成本公开的一部分的附图图示了示例性实施例,并且与描述一起用于解释所公开的原理。
4.本公开的实施例将技术改进呈现为对发明人在常规系统中认识到的一个或多个技术问题的解决方案。例如,在一个实施例中,处理器实现了一种用于多机器人路线规划的方法。该方法包括由多路线机器人规划器基于与节点相关联的次序值确定该节点的路线规划,其中次序值是从该节点到网络中的一个或多个节点的距离的测量,占用来自该节点的次序列表中的次序槽。该方法还包括由多路线机器人规划器将该节点的确定的路线规划发送到网络中的一个或多个节点。该方法还包括由多路线机器人规划器响应于将确定的路线规划发送到一个或多个节点而生成新路线规划,其中新路线规划是基于与该节点相关联的等待时间估计和次序值阈值生成的;并且该方法还包括由多路线机器人规划器对该节点的生成的新路线规划进行优化以获得优化的新路线规划,其中优化包括与一个或多个节点的次序值的状态的改变并行地计算占用来自该节点的次序列表中的新次序槽的新次序值。
5.在另一个实施例中,提供了一种用于多机器人路线规划的系统。该系统包括存储指令的存储器,以及经由一个或多个通信接口耦合到存储器的一个或多个硬件处理器。一个或多个硬件处理器由指令配置为由多路线机器人规划器基于与节点相关联的次序值确定该节点的路线规划,其中次序值是从该节点到网络中的一个或多个节点的距离的测量,占用来自该节点的次序列表中的次序槽。该系统还被配置为将该节点的确定的路线规划发送到网络中的一个或多个节点。该系统还被配置为响应于将确定的路线规划发送到一个或多个节点而生成新路线规划,其中新路线规划是基于与节点相关联的等待时间估计和次序值阈值生成的。该系统还被配置为对该节点的生成的新路线规划进行优化以获得优化的新路线规划,其中优化包括与一个或多个节点的次序值的状态的改变并行地计算占用来自该节点的次序列表中的新次序槽的新次序值。
6.在又一个实施例中,提供了一种或多种非暂态机器可读信息存储介质。所述一种或多种非暂态机器可读信息存储介质包括一个或多个指令,当该一个或多个指令当由一个或多个硬件处理器执行时使得由多路线机器人规划器基于与节点相关联的次序值确定该节点的路线规划,其中次序值是从该节点到网络中的一个或多个节点的距离的测量,占用来自该节点的次序列表中的次序槽。该方法还包括由多路线机器人规划器将该节点的确定的路线规划发送到网络中的一个或多个节点。该方法还包括由多路线机器人规划器响应于将确定的路线规划发送到一个或多个节点而生成新路线规划,其中新路线规划是基于与节点相关联的等待时间估计和次序值阈值生成的;并且该方法还包括由多路线机器人规划器对该节点的生成的新路线规划进行优化以获得优化的新路线规划,其中优化包括与一个或多个节点的次序值的状态的改变并行地计算占用来自该节点的次序列表中的新次序槽的新次序值。
7.应理解的是,如要求保护的,前述的一般描述和以下的详细描述仅仅是示例性和解释性的,而不是对本发明的限制。
附图说明
8.并入并构成本公开的一部分的附图图示了示例性实施例,并且与本描述一起用于解释所公开的原理:
9.图1是图示根据本公开的一些实施例的用于优化多机器人路线规划的计算机实现的系统的框图。
10.图2图示了根据本公开的一些实施例的多机器人路线规划器的体系架构。
11.图3是根据本公开的一些实施例的系统体系架构的结果图的示例性可视化。
12.图4a-图4c是根据本公开的一些实施例的用于优化路线规划的示例性非限制性表示。
13.图5a和图5b图示了根据本公开的一些实施例的用于两个机器人的示例性优化过程。
14.图6是图示根据本公开的一些实施例的用于多机器人路线规划的方法的流程图。
具体实施方式
15.参考附图描述示例性实施例。在图中,附图标记的最左边的(一个或多个)数位标识该附图标记首次出现的图。只要方便,在所有附图中都使用相同的附图标记来指代相同或相像的部分。虽然本文描述了所公开的原理的示例和特征,但在不背离所公开实施例的精神和范围的情况下,修改、适配和其它实施方式是可能的。在整个说明书中对“一个实施例”、“这个实施例”和类似短语的引用意味着结合实施例描述的特定特征、结构或特点被包括在一个或多个实施例中的至少一个中。因此,这些短语在整个说明书中出现在不同地方并不一定是指相同的实施例。此外,特定特征、结构或特点可以在一个或多个实施例中以任何合适的方式组合。旨在将以下详细描述视为仅是示例性的,其真实范围和精神由权利要求(当包括在说明书中时)指示。
16.本文描述了为多机器人生成和优化路线规划的技术的实施例。通常,路线规划或导航规划使用一系列将物体从源移动到目的地的有效配置。该术语用在计算机动画、机器
人、计算机游戏和计算几何中。例如,考虑将建筑物内的移动机器人导航到远处的航路点(waypoint)。它应当执行这个任务,同时避开墙壁并且不掉下楼梯,或者在多机器人的情况下避开另一个机器人。运动规划算法将这些任务的描述作为输入,并产生发送到机器人的轮子的速度和转动命令。运动规划算法可能处理具有更大量关节(例如,工业操纵器)、更复杂的任务(例如,操纵物体)、不同约束(例如,只能向前行进的汽车)和不确定性(例如,环境或机器人的不完美模型)的机器人。运动规划有几种机器人应用,诸如cad软件中的自主性、自动化和机器人设计,以及其它领域中的应用,诸如动画数字角色、视频游戏、建筑设计、机器人外科手术和生物分子的研究。
17.可以存在事情不会按照仓库实体(例如,仓库经理)的规划进行的场景。在一个实施例中,将机器人视为自主车辆。例如,可能无法按规划进行的事情可以是机器人出故障、动态障碍物、机器人减速、对机器人的特性的不准确表征、对机器人速度的不正确估计、一个或多个机器人是否可以适应某些地点或空间是否太小或约束机器人导航等。系统可以提供许多策略来解决上面提到的场景。例如,假定存在不可能的场景,如由于多个机器人在特定区组装而造成的阻塞。在这种情况下,系统可以将机器人中的一些从那个区移动到其它仓库区域。被移动的机器人无法在特定时刻完成任务。但是,系统的决策解决了与不可能场景相关的问题(由于多个机器人引起的阻塞)并生成尽力而为的解决方案。
18.本公开的各种实施例提供用于多机器人路线规划的(一个或多个)系统和(一个或多个)方法,以克服在操作环境(如仓库)中的上述情形。换句话说,本公开提出了一种基于次序值的多机器人路线规划系统和方法。次序值可以是确定机器人在节点上行进的次序的数字。与节点相关联的每个次序值可以被称为出价(bid)值。出价值与成本相关联,例如,如果机器人被调度经由边从源节点(一个节点)遍历到目的地节点(另一个节点),那么通过节点之间的边遍历的距离的测量被称为作为遍历边的出价值。本方法提供了一种使用路线搜索生成多机器人路线规划的优化过程,其中与次序值相关的信息在两个或更多个系统之间共享。而且,优化过程通过避免死锁情况、通过动态和连续地广播与出价值相关的信息来消除循环依赖性。信息的广播有助于系统的紧急行为,因为系统之间存在消息/通信的最少交换。
19.本公开的实施例提供了多机器人路线规划器和路径同步机制的去中心化体系架构。路线规划器通过基于节点的总次序阈值和等待时间估计迭代地重新计算次序值来优化路线规划,例如,总估计与机器人相关联的用于从起始节点导航到目的地节点的总次序值。最优路线由机器人经由路线搜索使用优化的路线规划来确定。最优路线可以具有基于用以从起始节点导航到目的地节点的估计的总次序值的最小等待时间估计和最小总次序值。另外,机器人可以与一个或多个机器人的总次序值并行地基于与机器人相关联的总次序值的状态改变来重新评估所确定的与机器人相关联的路线。多机器人路线规划的规划和优化结合图2-图5进一步详细描述。
20.应该理解的是,本公开是指可互换的并且可以可互换地用在一个或多个实施例中的各种术语。例如,术语“节点”可以与“关节”或“树元素”或“图形元素”互换,而不改变对本发明的范围或实施方式。这种互换可以不被认为是限制性的并且此类互换被认为在本发明的范围内。在一个实施例中,应理解的是,自主车辆可以被称为操作环境中的节点,使得自主车辆可以是停放在节点处、在节点处等待、经由节点行进、停在节点处中的一种或多种。
还应理解的是,术语“路线”、“路线规划”、“轨迹”、“行进规划”、“导航规划”等可以指示相同的术语并且根据用例场景在不同地点使用。应理解的是,一个或多个过程步骤的执行导致作为过程步骤的执行结果的输出。
21.本文描述的技术与优化路线规划的鲁棒云平台相关。在示例性实施例中,平台利用多个数据结构来表示操作环境,生成路线规划,并允许车辆从一个节点到另一个节点的优化移动。平台提供了各种技术来分析针对关键场景的一个或多个生成的路线规划,如两个或更多个机器人之间的循环依赖性。在分析一个或多个生成的路线规划时,平台可以应用启发法、成本函数、度量等来识别可以迭代地和动态地规划路线的新路线规划。在示例性实施例中,在分析一个或多个生成的路线规划时,平台可以在确定节点之间的路线规划之一可能导致循环依赖性时动态地创建或删除多个目的地节点。所创建的多个节点可以被平台用来生成替代路线规划以避免死锁或使用成本函数来生成更好的路线规划。在示例性实施例中,系统或云平台可以利用包括速度缩放、上采样、被动路径、可停放节点、非重叠节点、优先级度量、时间损失等的多种技术或数据中的一种或多种或其组合来分析并优化路线规划。然后,系统可以将优化的路线规划分发给一个或多个自主车辆。上述用于多机器人路线规划的系统和方法的详细描述参考图1至图6表示的图示进行详细描述。
22.现在参考附图,并且更具体地参考图1至图6,其中相似的附图标记在整个附图中一致地表示对应的特征,示出了优选实施例并且在以下示例性系统和/或方法的上下文中描述这些实施例。
23.图1是图示根据实施例的用于多机器人路线规划的计算机实现系统的框图。在一个实施例中,系统100的目标是提供多机器人导航并在没有碰撞检查的情况下减少机器人的依赖性。系统100可以包括一个或多个处理设备和包括由处理设备执行的用于优化路线规划的计算机可读指令的存储设备。系统100包括云平台110,其可以被视为具有/不具有用户的直接主动管理的计算机系统资源的按需可用性。云平台包括一个或多个处理器和存储器以生成和存储路线规划或轨迹。在一个实施例中,云平台110包括用于存储路线规划或轨迹以及用于生成路线规划的相关数据的数据库111,如本文所讨论的。在一个实施例中,相关数据可以是设备的状态信息、统计信息,与导航、遍历树或图、前提条件、路线表等相关的其它信息。云平台110包括多机器人路线规划器(mrrp)112,它包括一个或多个处理器和存储器,以执行与优化路线规划相关的主要任务,而没有时间依赖性且无需检查冲突。在一个实施例中,mrrp 112可以充当服务器、系统、等效设备、软件或硬件组件,用于执行与路线规划相关的各种任务。出于表示和简化的目的,已将mrrp 112示为云平台110的模块。但是,mrrp 112可以充当与路线规划相关的任务所涉及的任何其它系统或平台的组件。云平台110包括调度器113,其主要功能是任务指派并且决定哪个自主设备应当在特定时间执行特定任务。调度器模块将与通信层124上的任务相关的细节传达给一个或多个自主设备,这些自主设备知道目的地和在给定时间要执行的任务。然后自主设备被编程为经由通信层124与mrrp 112交互。系统100还包括仪表板116,该仪表板116可以被用于接收输入,像障碍物地图、图、树结构、任何其它相关输入,并用于显示地图、表示(如图、树、模拟环境等)。仪表板116可以包括ui 118、模拟器120和设计122,用于与多机器人路线规划相关的各种功能以及与自主车辆功能相关的其它任务,如指示自主车辆在地图或ui上从一个位置移动到另一个位置等。ui118可以被用于接收障碍物地图或与路线规划相关的其它输入。模拟器120提
供模拟环境,该模拟环境包括地图以表示自主设备在操作环境中的导航路线。系统100支持异构自主设备,如多个机器人,例如机器人126和机器人128。
24.本文描述了与优化路线规划有关的各种技术。该系统包括云平台,该云平台包括多机器人路线规划器。多机器人规划器包括与操作环境(如仓库、建筑工地或医院)相关的一个或多个组件。在一个实施例中,节点可以被认为是操作环境中的空间的区域。多机器人规划器包括将一条或多条路线规划为最佳估计的多个模块。这些模块可以为关键决策场景分析一个或多个路线规划,例如,最小化拥塞或不检查碰撞。在模块分析路线规划之后,系统利用多机器人路线规划器基于分析优化路线规划。优化的路线规划被分发到一个或多个自主车辆。
25.操作环境可以包括仓库、医院、建筑工地、办公室、修船厂、造船厂、道路、铁路等。模拟器122还可以被用于指示自主设备执行某些任务以优化用于多机器人路径导航和规划的路线规划。指令之一可以包括提供可以影响一个机器人相对于另一个机器人的导航的优先级或参数等。设计122可以提供设计环境以编辑输入,如障碍物地图,并提供定制的状态信息,例如,输入,如特定时间的动态碰撞的可能性,例如,基于特定时间或日期的交通状况某些自主设备(如无人驾驶汽车)在特定时间或日期到达交通路口。输入或指令可以由仪表板116的任何组件或系统100的其它组件(例如,仓库管理系统或控制系统)提供。在一个实施例中,仓库管理系统或控制系统可以被配置为与云平台100的组件接口,以与自主设备协调并生成多机器人路线规划。各种外部或内部组件的耦合可以经由通信层124或通过任何其它非限制性的通信方式。通信层124可以被定制以允许客户或其他利益相关者集成他们的机器人软件或硬件以用于定制的机器人解决方案。系统100及其组件的一个或多个功能性参考图2-图5进一步详细解释。
26.图2图示了根据本公开的一些实施例的多机器人路线规划器的体系架构。在一个实施例中,多机器人路线规划器的体系架构可以包括导航地图生成器,即,路径同步202。路径同步202是包含在网络中遍历(traverse)的自由空间的区域中的一个或多个节点的图或导航图的表示。例如,如图2中所示,节点204用圆圈表示,该圆圈包含次序列表206。为了说明的目的,图2中仅示出三个次序槽,但是可以存在多个次序槽。在实施例之一中,图中的每个节点包括次序列表或出价列表。出价列表可以包括多个次序槽,例如,次序槽208或出价槽。次序列表206包括与出价的价格和为其确定出价的节点相关的信息。网络中的每个单个节点表示出价列表,包括与节点的出价价格、每个出价槽的价格和为其确定出价的节点相关的信息。路径210是节点连接/遍历到网络中的另一个节点的轨迹。轨迹由将一个出价槽连接到另一个出价槽的点线表示。在一个实施例中,路径210表示出价列表,包括与提供出价的节点相关的信息以及由该节点提供的出价价格是什么。在本文中,出价的成本或价格确定路径210或在节点之间行进的距离。在本体系架构中,路径同步202在多个机器人之间同步数据结构。
27.在一种实施方式中,路径同步202可以包括分布式数据结构,其同步网络中的每个节点,进而通过在路线搜索期间的连续广播/更新数据来同步机器人。在这种实施方式中,每个机器人使用由图1的mrrp 112生成的地图/图来规划最优路线。路径同步202可以是与图的同步相关的去中心化的接口广播信息。所广播的信息可以包括但不限于确定的最优路线的当前状态、基于网络中每个节点的决定/情况的改变的确定的最优路线的进展。在另一
种实施方式中,路径同步202可以是集中式系统,其中每个机器人接触中央系统并接收与生成的地图/图相关的信息。集中式系统用集中式服务器生成地图,其中每个节点接收与其它节点相关的信息并在系统与服务器联系的任何时候更新每个系统。在一个实施例中,路径同步202可以是如本公开中定义的一个或多个接口,其中多个机器人与一个或多个接口通信。在去中心化的路径同步202中,每个机器人同时基于每个节点向网络中的一个或多个节点的广播的信息而出价和规划最优路线。例如,当第一机器人正在确定节点的出价槽时,可以有来自第二机器人的更新,其出价比第一机器人更高,在这种场景中,第一机器人可能需要动态地重新规划或重新评估在接收到来自第二机器人的更新的信息之前和/或之后确定的最优路线。在出价和规划过程期间,与次序值相关联的每个次序槽被占用,并且最高次序值占用第一槽。与传统出价不同,出价的机制不是二元的。出价超过其他机器人的机器人占用第一出价槽,从较低的出价槽向上移动。一旦另一个机器人出价高于该槽,机器人就离开该槽并基于机器人做出的决定而占用另一个槽。因此,该过程不会以赢得或失去出价槽结束,而是基于每个节点的状态改变来占用和收回出价槽的连续过程。出价的次序或时间顺序可以基于出价的价格或出价值来确定,这与基于常规时间戳/时间进展不同。当第一机器人出价高于第二机器人时,第二机器人减速并等待针对第二机器人的正确决定。这里的路线搜索表示节点和与节点相关联的成本。例如,第一机器人不能占用第一出价槽,除非它是最高出价,因此第一机器人可以占用第二槽。当第一机器人出价最高并占用第一槽时,它收回先前的出价并遍历通过节点,从而在第二槽或第三槽上等待的第二机器人可以占用第一槽。因此,路径搜索和遍历机制是基于节点和与节点相关联的成本。
28.在这个示例中,机器人可以是系统或设备。系统可以包括抽象层,其中路线搜索是机器人导航的最顶层。在一个实施例中,抽象层可以包括用于控制机器人的速度并提供关于机器人的移动的信息(例如,如何向前移动、如何通过提供坐标或通过避开本地障碍物从网络中的一个点到达另一个点、关于速度限制的信息等)的较低层。导航层或路径搜索层可以提供与避开其它机器人相关的信息、计算路径的长度、图形搜索和与逻辑导航决策相关的信息。在一个实施例中,为了控制机器人的自主行为,可以根据应用需求提供单独的用户接口,例如,在仓库中的工作轮班之前,可以提供任务的列表,其包括要从仓库中的各个过道或区中挑选然后被放到目的地点的物体。这也可以以任何文档格式(例如电子表格格式(input.xls文件))输入到系统。
29.如图2中所示,机器人导航路线搜索212和214分析生成的路线规划,优化路线规划并重新评估生成的最优路线。在图2中并且如本文所述,为了简化和理解目的,仅考虑2个机器人。但是,本发明对机器人的数量和机器人的类型没有限制。路径搜索包括估计与来自一个或多个机器人中的机器人相关联的用于从起始节点导航到目的地节点的总次序值。优化的路线规划由操作环境中的一个或多个机器人接收,其中每个机器人基于机器人的应用或用户定义的服务来确定最优路线。确定最优路线是根据基于用以从起始节点导航到目的地节点的估计的总次序值的最小等待时间估计和最小总次序值。例如,具有高优先级任务的机器人可以提出更高的出价值,同时通过缩短在出价槽的等待时间以及跨出价槽的列表更快地移动来节省等待时间。在本文中,最优路线由最小总出价值定义,这是机器人到达目的地节点所遍历的最快路线/距离。在根据最小总次序值和最小等待时间估计来确定最优路线规划的同时,机器人可以接收与遍历穿过节点的操作环境中的其它机器人相关的信息。
基于接收到的信息,机器人可以与一个或多个机器人的总次序值并行地基于与该机器人相关联的总次序值的状态改变重新评估确定的路线。例如,当另一个机器人的出价高于机器人的次序值时,由机器人在先前步骤确定的最优路线规划可能不是最佳解决方案。再次,机器人根据其它机器人的状态的改变重新评估最优路线规划,并确定与和该机器人相关联的成本阈值和等待时间估计对应的最佳解决方案。上面提到的两个或更多个机器人之间的优化过程的可视化在图3中关于图进一步详细描述。
30.图3是根据本公开的一些实施例的系统体系架构的结果图的示例性可视化。结果所得的3d图是系统体系架构的示例性输出,涉及访问优化的路线规划的两个系统/机器人。x轴表示出价的价格并且y轴是时间的隐含流动。系统体系架构的输出还可以表示在环境中操作的两个或更多个机器人的时间依赖性图。例如,如图3中所示,绘制了图示两个机器人相对于出价值的价格和时间流的轨迹的两条单独线。第一机器人轨迹302和第二机器人轨迹304穿过3d图,箭头指向轨迹的方向。轨迹302和304分别表示第一机器人和第二机器人的出价列表。轨迹302和304的停止点由箭头示出。在一个实施例中,与第二机器人的轨迹304相比,第一机器人轨迹302具有更高优先级并以更高的出价值绘制。在停止点310处,第一机器人到达出价值低于第二机器人的轨迹,因此一直等到第二机器人的轨迹通过停止点308为止。根据本系统体系架构,通常在任何给定时间,任何两个机器人都不能为同一节点出价相同的出价值,因此迫使一个机器人等待,从而消除了每次迭代时对碰撞检查的需要。如图3中所示,第一机器人在停止点310处等待并且第二机器人在停止点306处等待。在这个示例中,用于第二机器人的出价槽改为更高的出价并获得高于第一机器人的优先级,因此占用更高的出价并遍历通过特定节点,直到出价低于第二机器人的第一机器人等待第二机器人遍历通过该特定节点为止。
31.如图3的依赖性图中所示,系统在操作环境中的两个或更多个机器人之间遵循在任何给定点处没有相同节点和没有相同出价的规则,从而避免机器人之间的循环依赖性。当前规则不仅强制一个机器人等待直到另一个机器人遍历通过节点为止,它还基于与节点相关联的等待时间估计和成本阈值减慢机器人的速度。例如,如果机器人被指派较低优先级的任务,该任务具有较高的等待时间估计和相对较低的成本阈值,那么这种机器人可能更愿意在较低的出价槽中等待,直到更高的出价槽遍历为止。在另一种场景中,机器人可以被指派更高优先级的任务,等待时间更短,因此这种机器人可以计算出更高的出价值并占用更高的出价槽,并且比其它机器人更快地遍历通过。本系统的去中心化的体系架构使得能够广播和同步与网络中每个节点的出价值和出价槽相关的信息。
32.图4a-图4c是根据本公开的一些实施例的用于优化路线规划的示例性非限制性表示。在一个实施例中,自由空间的区域中的每个节点连接到一个或多个节点(由图4a-图4c中的实线直线描绘)。在这个示例中,在机器人从起始节点s到目的地节点d的轨迹的起点处,假设要行进的距离的成本为零。一般而言,成本估计值始终是非零数,由于在轨迹(经由边遍历)之前设备/机器人的系统不知道实际成本估计,并且作为示例,可以假设为零。如图4a中所示,从任何路线经由边到目的地节点d的成本估计为零。一旦机器人遍历一条边,从节点s到a,该边的成本已知至少为1。例如,机器人从s遍历到a,假设成本为零,但是一旦遍历该路径,边的成本估计是已知的并且现在假设为1(非零数字)。同样,从节点a到节点d,成本估计被假设为零,但是一旦机器人遍历该边,成本被估计为1。现在从s到d的机器人知道
从源节点s到目的地节点d的成本估计。但是,根据本公开,系统运行方法步骤以到达用于机器人的最优路线。在本文中,最优路线涉及适合特定机器人的情况和值,例如次序值阈值或成本阈值和等待时间估计。在遍历边时,当成本估计增加时,系统查阅其它备选方案,以找到最佳可能的路线。在本文中,最佳路线规划是随着成本估计的逐步建立而可以以最小成本估计最快行进的路线规划。在这个示例中,如图4b中所示,机器人采用从源s到b的另一条路线并以成本估计1到达,这与图4a中的过程类似。另外,当机器人遍历从节点b到节点c的路径时,成本估计为1,同样从c到d的成本估计为1。现在已知经由如图4b中所示的路径从源节点s到d的距离的成本估计。反向遍历路径以检查用于机器人的给定情况的最佳路线。机器人的系统或优化算法反向遍历(回溯)如图4c中所示的路径。在反向遍历路径时,从节点c到b的成本估计增加到2。类似地,对于节点b到s,成本从遍历和回溯边增加到2。因此,作为增量成本估计的结果,系统重新计算成本估计以最优路线规划或优化的路线规划到达。同时,在这种情况下,系统或机器人连续地接收关于由一个或多个机器人遍历的其它节点的成本估计的信息。在一个实施例中,如果路线规划周围的情况在用于机器人的路线搜索中途发生改变,那么系统基于一个或多个机器人的改变后的情况或当前情况(即,节点的当前出价值/出价槽)重新计算到达的最优路线。一旦满足准则,重新计算最佳路线的迭代就终止。在一个实施例中,预定准则可以包括遍历成本,即,遍历边的成本、节点从起点到目的地节点的成本估计以及节点内的每个出价槽的价格。基于该准则,用于最优路线的优化过程终止并且机器人遍历最优路线以到达目的地节点。
33.图5a和图5b图示了根据本公开的一些实施例的用于两个机器人的示例性优化过程。在一个实施例中,机器人a和机器人b正在遍历从一个节点到另一个节点的路径。如图5a和图5b中所示,机器人a正在遍历从节点1到节点4的路线,而机器人b正在遍历从节点4到节点1的路径。例如,机器人a出价值为1并占用来自节点1、2和3的次序列表中的次序槽。出价值在图5a和图5b中表示为a-1。在同一个示例中,机器人b可以通过对节点3、2和1中的每一个节点的出价比机器人a的出价值更高或更低的出价值来遍历通过节点4到节点3。机器人b的起始位置是节点4并且机器人b对节点4的出价值是b-1,并且对于节点3,出价值可以是b-0.5或b-2,如图5a中所示。例如,如果机器人b选择提供出价值b-0.5,那么机器人b在节点3处等待出价值为a-1的机器人a。换句话说,在一个实施例中,机器人b可以在节点3处确定比机器人a的出价值低的出价值,指示机器人b的更长的等待时间估计。在替代实施例中,机器人b可以确定比节点3处机器人a的出价值高的出价值,指示高优先级或较低等待时间估计和较高的出价值。在任一种场景中,决定都是基于与另一个机器人并行的成本阈值和等待时间估计。当机器人a为节点1、2和3出价值a-1时,与被提供出价的节点、占用的出价槽和占用的槽的出价值相关的信息被广播给包括机器人b在内的其它机器人。换句话说,机器人b在为节点3提供出价值之前接收与机器人a的出价相关的信息,从而与机器人a的出价并行地做出最优路线规划决定。
34.在一个实施例中,如图5b中所示,机器人b可以通过b-2的出价值从节点4遍历到节点3。在本文中,机器人b优先于机器人a的出价值a-1,因此,机器人a在槽a-1中等待,直到具有槽b-2的机器人b通过为止。但是,例如,如果机器人b出价次序值0.5并在节点2处占用b-0.5的次序槽,那么b-2依赖于从节点2遍历到节点3的a-1。由于a-1的优先级高于机器人b的出价槽b-0.5,因此机器人b可以在b-0.5槽处等待,直到具有a-1槽的机器人a通过节点为
止。但是,a-1依赖于b-2从节点2遍历到节点3,因为b-2的优先级高于a-1。在这个示例中,a-1依赖于b-2,而b2依赖于a-1,从而在两个系统之间创建循环依赖性。根据本公开,通过动态且连续地广播关于机器人遍历的每个节点的次序值的信息来消除循环依赖性场景。例如,在从节点4遍历到节点1的过程开始时,机器人b可能或可能不会接收到与机器人a相关联的信息。但是,一旦机器人b接收到机器人a的出价值、出价槽和出价节点共享的信息,机器人b就将信息保存在数据库中,使得通过基于机器人a共享的信息重新评估确定的路线规划来避免任何死锁情况/循环依赖性。在本示例中,如图5b中所示,通过从槽b-2移动到b-0.5,点线表示从节点3遍历到节点2的路径,这违反了优化的规则。在一个实施例中,由机器人b遍历节点3到节点2的成本可以被认为是无穷大,这超过了b的成本阈值,因此机器人b不能出价值以占用从b-2到b-0.5的出价槽。而且,一旦节点被禁用(其中成本被认为是无穷大),信息就被广播到一个或多个机器人,使得避免被禁用的节点用于规划一个或多个机器人的最优路线。
35.在一个实施例中,本公开提供了一种用于两个或更多个机器人的动态优化路线规划过程。本公开提供了包括出价值的连续改变、生成的图和节点周围的情况的系统和方法。在一个实施例中,系统基于图特性(如被动路径和不可停放节点)分析路线规划。系统可以使用与避免拥塞问题相关的技术之一。系统应用启发法来解决拥塞。启发法是识别地图中交通可能繁忙的节点并将该节点指定为不可停放。基于启发法分析,系统可以优化路线规划以不包括在那些不可停放节点处停止或等待。当自主车辆在不可停放的节点处汇聚时,系统用被动路径更新、重新规划或优化路线规划,以绕行、不停止或在那些节点处等待。系统避免阻塞通路并采取预防措施,使车辆不造成拥塞。
36.在一个实施例中,系统基于图特性(如非重叠节点)来分析路线规划。当设计图时,机器人必须在节点中等待。因此,假设图中的节点可能不重叠。每个单个节点都有定义由节点占用的空间的量的特性。例如,将节点的表示视为几何形状,圆形。应理解的是,如果在第一节点中的某处存在机器人,并且在第二节点中的不同位置处存在另一个机器人,那么被那些区域占用的空间不重叠。因此,节点不重叠。系统假设,如果机器人到达节点,那么机器人就在该节点内并且不会干扰其它节点中的其它机器人/人。这有助于系统更高效并避免扫描其它节点。系统认为在节点内等待的机器人不会干扰在其周围移动的其它机器人。因此,这要求节点不能与操作空间中的其它节点重叠。
37.在一个实施例中,接收优化的生成的路线规划的两个或更多个机器人可以执行多路径搜索。例如,到达最优路线的迭代基于循环路线规划,其中第一机器人确定路线规划,而第二机器人可以确定改变第一机器人的情况的路线规划。在此类情况下,第一机器人可能必须基于第二机器人的决定来重新规划路线。例如,该过程可以顺序地来回进行。在另一个示例中,取决于与每个机器人相关联的处理器时间,它可以是非连续的。在优化过程中,一旦最优路线由第一机器人确定,它就可以基于其它一个或多个机器人的当前状态立即改变。在此类场景中,选择已确定的最优路径或确定新的最优路径的决定转而取决于第一机器人。在第二次迭代中,第一机器人可以基于其它一个或多个机器人回溯最优路径或替代路径,并且如果与一个或多个机器人相关的决定不影响第一机器人的决定,那么第一机器人继续执行最优路线规划。另一方面,一个或多个机器人的决定不受第一机器人的最优路线规划的影响,然后一个或多个机器人继续迭代或到达决定,从而第一机器人和一个或多
个机器人通过终止重新规划相应最优路线的迭代到达最优路线规划。在另一个实施例中,如果一个或多个机器人的出价高于第一机器人,那么第一机器人需要通过考虑如等待时间估计、成本阈值、与每个槽相关联的出价等因素来重新规划最优路线。例如,这些因素可以是有条件的,例如,如果第一机器人可以一直等到一个或多个机器人移动,如果值得再次出价高于一个或多个机器人,或者要确定替代路线规划等。条件因素可以促进达成替代解决方案,而不是最初规划的最优路线。如果根据一个或多个机器人的决定不满足先前的解决方案,那么优化的迭代过程导致重新计算出价值并到达新解决方案。而且,由于成本阈值不是无穷大,因此该解决方案不会导致死锁情况,因此会迫使机器人在检查前提条件的情况下做出最优决定。一旦超过成本阈值,节点将采取被动路线并退出网络。
38.在一个实施例中,如果路径是被动的并且存在不可停放节点,那么在一些场景中系统可以优化路线规划以不允许在被动路线上行进的机器人将不可停放节点作为目的地的目标。考虑与防火门相关的安全场景。当火警响起时,系统自动关闭防火门,并且所有系统组件被指示停止所有任务并进入空闲状态。但是,在此类关键场景中,一个问题可以是机器人可能会由于系统的停止指令而停在这些防火门下。这会导致防火门堵塞,并且门可能无法关闭,这会导致火灾危险,这被认为是重大风险。这种场景也会对机器人造成损坏。系统分析仓库的关键场景的路线规划,并且将与防火门重合的节点标记为当机器人到达非停放节点时不停放。然后基于分析来优化路线,并且代替停止,机器人请求被动路线。如果机器人位于可停放节点处,那么机器人将中止并停留在它们所在的位置。但是,如果机器人不在可停放节点处,那么机器人移动到最近的可停放节点。系统启用路线规划的最优生成以处置关键场景。关键场景可以包括碰撞、火灾危险、交通堵塞、损坏、安全隐患、可能影响仓库或机器人的生产力、利用率、效率的性能等。在一个实施例中,考虑一种场景,如一小时销售、会员日(prime day)销售或折扣日销售,仓库中机器人的性能影响业务。因此,机器人在此类时间段期间的性能可以被视为关键场景。
39.图6图示了根据本公开的一些实施例的用于多机器人路线规划的方法600的流程图。可以在计算机可执行指令的一般上下文中描述方法600。一般而言,计算机可执行指令可以包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、过程、模块、函数等。方法600还可以在分布式计算环境中实践,其中功能由通过通信网络链接的远程处理设备执行。描述方法600的次序不旨在被解释为限制,并且任何数量的所描述的方法块可以以任何次序组合以实现方法600或替代方法。此外,方法600可以在任何合适的硬件、软件、固件或其组合中实现。在实施例中,流程图中描绘的方法600可以由系统(例如,图1的系统100)执行。图6的方法600将在下面参考图1-图5进行更详细的解释。
40.参考图6,在所示实施例中,方法600在602处被发起,其中该方法包括由多路线机器人规划器基于与节点相关联的次序值来确定节点的路线规划,其中次序值是从该节点行进到网络中的一个或多个节点的距离,占用来自该节点的次序列表中的次序槽。例如,如图2中所示,每个节点都包括包含多个次序槽的次序列表。基于预定义的成本估计和等待时间估计,确定节点到一个或多个节点的路线。次序值确定节点到一个或多个节点行进的距离并占用来自多个次序槽中的次序槽。例如,较高的次序值将占用最高次序槽,除非另一个节点出价的值高于先前的高出价值。同样,次高次序值占用来自多个槽中的第二高槽。基于与节点相关联的等待时间估计和成本阈值来确定提供给出价的每个次序值。根据本公开,出
价可以是确定机器人在节点上行进并计算最优路线的次序的数字。出价价格的启发法是将其设置为等于次优替代方案(决策边界)的成本。成本阈值是用户定义的,并且基本上在超过阈值时终止成本优化/计算过程。被终止的过程通过确定可能的下一个次序槽(例如,在从当前槽的节点经由图边可到达的另一个节点中的槽)来跟随回退目的地。回退目的地的过程消除了现有路线规划的循环依赖性。另外,等待时间估计可以是用户基于任务的紧迫性来定义的。
41.在604处,该方法包括将节点的确定的路线规划发送到网络中的一个或多个节点。将节点的确定的路线规划广播到网络中的一个或多个节点。基于节点的广播的路线规划,一个或多个节点确定与一个或多个节点中的每个节点对应的路线路径。广播的信息可以包括遍历成本、节点的成本估计和出价槽的价格(基本价格)。遍历成本是用于从一个节点遍历到另一个节点的出价成本(在本文中,从一个节点经由边遍历到另一个节点)。节点的成本估计是节点从起始位置到目的地节点的成本。基本价格可以包括要提供以占用来自出价槽的列表中的出价槽的出价的价格估计。该信息被连续广播到网络中的一个或多个节点,使得节点中的每一个被同步并且动态地规划和重新规划现有路线路径以到达最佳估计。连续广播信息消除了网络中的节点之间的多次通信(来回发送多个消息)。由于在每一步都接收到信息,因此当重新规划路线时,它可以从存储在系统中的广播的信息开始,而不是没有信息。而且,由于节点周围的情况动态改变,因此当前路径搜索的出价值和成本估计可以改变,因此出价和规划的过程是系统/设备的同时过程。
42.在606处,该方法包括由多路线机器人规划器响应于将确定的路线规划发送到一个或多个节点而生成新路线规划,其中新路线规划是基于与节点相关联的等待时间估计和次序值阈值生成的。基于一个或多个节点之间的广播的信息确定新路线规划。由于与遍历成本、节点的成本估计和节点中的槽的基本价格相关的信息不断地广播到网络中的一个或多个节点,因此网络中的节点中的每一个动态地规划和重新规划现有路线路径以到达最佳估计。重新规划包括基于与节点相关联的等待时间估计和成本阈值重新计算出价值。例如,如果机器人被指派了较低优先级的任务,该任务具有较高的等待时间估计和相对较低的成本阈值,那么这种机器人可能更愿意在较低出价槽中等待,直到较高的出价槽遍历为止。在另一种场景中,机器人可以被指派更高优先级的任务,等待时间更短,因此这种机器人可以计算更高的出价值并占用更高出价槽,并且比其它机器人更快地遍历通过。本系统的去中心化体系架构使得能够广播和同步与网络中的节点中的每一个的出价值和出价槽相关的信息。
43.在608处,该方法包括由多路线机器人规划器优化节点的生成的新路线规划以获得优化的新路线规划。优化的方法包括与一个或多个节点的次序值的状态的改变并行地计算占用来自节点的次序列表中的新次序槽的新次序值。生成的新路线规划基于自由空间的区域中的一个或多个节点之间的同步信息被进一步优化。优化的步骤包括与一个或多个节点的次序值并行地由节点确定次序值,其中该次序值不同于一个或多个节点的次序值。确定的次序值由节点广播到一个或多个节点。基于广播的信息,通过基于一个或多个节点的次序值的改变重新计算次序值来更新新路线规划。次序值的重新计算是基于与节点相关联的等待时间估计和成本阈值。在一种实施方式中,由节点确定次序值是基于与节点相关联的总次序成本阈值。而且,总次序成本阈值和等待时间估计确定更新新路线规划的迭代次
数。成本阈值是用户定义的,并且在超过阈值时基本上终止成本优化/计算过程。终止的过程通过确定可能的下一个次序槽来遵循回退目的地,例如,从当前槽的节点可经由图边到达的另一个节点中的槽。回退目的地的过程消除了现有路线规划的循环依赖性。另外,等待时间估计可以是用户基于任务的紧迫性来定义的。
44.在一个实施例中,本公开提供了由一个或多个机器人接收优化的新路线规划,并从接收到的优化的新路线规划经由路径搜索确定一个或多个机器人到目的地节点的路径。路径搜索包括估计与来自一个或多个机器人中的机器人相关联的用于从起始节点导航到目的地节点的总次序值。优化的路线规划由操作环境中的一个或多个机器人接收,其中每个机器人基于机器人的应用确定最优路线。确定最优路线是根据基于用以从起始节点导航到目的地节点的估计的总次序值的最小等待时间估计和最小总次序值。最优路线由最小等待时间估计来定义,例如,具有高优先级任务的机器人可以提出更高的出价值,同时节省等待时间。而且,最优路线由最小总出价值定义,这是机器人到达目的地节点所遍历的最快路线/距离。在根据最小总次序值和最小等待时间估计确定最优路线规划的同时,机器人可以接收与遍历通过节点的操作环境中的其它机器人相关的信息。基于接收到的信息,机器人可以与一个或多个机器人的总次序值并行地基于与机器人相关联的总次序值的状态的改变重新评估确定的路线。例如,当另一个机器人的出价高于机器人的次序值时,该机器人在前一步确定的最优路线规划可能不是最佳解决方案。再次,机器人根据其它机器人的状态的改变重新评估最优路线规划,并确定与和机器人相关联的等待时间估计和成本阈值对应的最佳解决方案。
45.在一个实施例中,本公开还提供基于与节点相关联的总次序值和等待时间估计来改变一个或多个机器人的目的地节点,或者基于与节点相关联的总次序值和等待时间估计来创建多个目的地节点。例如,可以基于规划最优路线规划的两个或更多个机器人周围情况的改变在路线规划的中途改变目的地节点。在另一个示例中,如果机器人到达被动路线或估计用于特定目的地节点的无限成本,那么可以创建多个目的地节点,从而可以在不中断的情况下执行导航,同时满足机器人的一个或多个前提条件,如成本阈值、等待时间估计、出价价格等。
46.在图1-图6的各种实施例中,公开了一种用于多机器人路线规划的方法和系统。本公开解决了与多机器人路线规划相关的领域中的技术问题。本文描述的各种实施例实现步骤以消除两个或更多个机器人之间的时间依赖性和死锁场景并且提供无碰撞检查路线规划。本公开还提供了一种在优化路线规划的同时处置无法解决或不可能的输入、防止关键路口处的死锁场景、规划预防措施以避免操作环境中的安全隐患等的系统和方法。本文描述的多个实施例的各种技术优势还可以包括优化空间和计算、采取先发制人的措施以避免两个或更多个机器人之间的循环依赖性,同时优化路线规划和最小化设备之间的通信。本公开还包括启用鲁棒且灵活的云平台,该云平台利用多机器人路线规划器来处置不同类型、朝向、能力、尺寸或制造商的自主车辆的车队,以在复杂的操作环境中提供无碰撞检查优化的路线规划。其它技术优势包括在多个数据结构中表示复杂的现实生活场景,重用现有存储装置,以及经由鲁棒的遍历技术高效地利用最近搜集的知识,同时作为整体通过系统体系架构的紧急行为来优化路线规划。
47.前述附图表示用于描述根据一些实施例的过程的逻辑体系架构,并且实际的实施
方式可以包括以其它方式布置的一个或多个组件。可以结合其它实施例使用其它拓扑。而且,本文描述的每个组件或设备可以由经由任何数量的其它公共和/或专用网络进行通信的任何数量的设备来实现。两个或更多个这样的计算设备可以彼此远离并且可以经由(一个或多个)协议和/或专用连接的任何已知方式彼此通信。每个组件或设备可以包括适于提供本文描述的功能以及任何其它功能的任何数量的硬件和/或软件元素。例如,在根据一些实施例的系统的实施方式中使用的任何计算设备都可以包括执行程序代码的处理器,使得计算设备如本文所述那样操作。
48.本文讨论的所有系统和过程都可以实施在从一个或多个非暂态计算机可读介质读取的程序代码中,非暂态计算机可读介质诸如软盘、cd-rom、dvd-rom、闪存驱动器、磁带和固态随机存取存储器(ram)或只读存储器(rom)存储单元,然后以压缩、非编译和/或加密格式存储。在一些实施例中,硬连线的电路系统可以代替程序代码或与程序代码结合使用,以实现根据一些实施例的过程。因此实施例不限于硬件和软件的任何特定组合。
49.在实施方式中,本文描述的(一种或多种)方法中的一种或多种可以至少部分地实现为实施在非暂态计算机可读介质中并且可由一个或多个计算设备执行的指令。一般而言,处理器(例如,微处理器)从非暂态计算机可读介质(例如,存储器)接收指令,并执行那些指令,从而执行一种或多种方法,包括本文描述的(一种或多种)方法中的一种或多种。此类指令可以使用多种已知的计算机可读介质中的任何一种来存储和/或传输。
50.本文的实施例可以包括硬件和软件元件。以软件实现的实施例包括但不限于固件、驻留软件、微代码等。由本文描述的各个模块执行的功能可以以其它模块或其它模块的组合来实现。出于本描述的目的,计算机可使用或计算机可读介质可以是可以包括、存储、传送、传播或运输程序以供指令执行系统、装置或设备使用或与其结合使用的任何装置。
51.阐述图示的步骤以解释所示的示例性实施例,并且应当预期正在进行的技术发展将改变执行特定功能的方式。这些示例在本文中出于说明而非限制的目的给出。另外,为了描述的方便,本文已经任意定义了功能构建块的边界。只要适当地执行指定的功能及其关系,就可以定义替代边界。基于本文所包含的教导,替代方案(包括本文描述的那些的等价物、扩展、变化、偏离等)对于(一个或多个)相关领域的技术人员将是清楚的。此类替代方案落入所公开的实施例的范围和精神内。而且,词语“包括”、“具有”、“包含”和“包括”以及其它类似形式旨在具有相同的含义并且是开放式的,因为这些词语中的任何一个之后的一个或多个项都不是旨在详尽列出一个或多个此类项,或仅限于列出的一个或多个项。还必须注意的是,如本文和所附权利要求(当包括在说明书中时)所使用的,单数形式“一个”、“一种”和“该”包括复数引用,除非上下文另有明确规定。
52.本公开和示例旨在仅被认为是示例性的,本领域技术人员将认识到可以通过对上述实施例的修改和改变来实践其它实施例。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1