CN114803240A - 操作环境中的自主车辆管理 - Google Patents

操作环境中的自主车辆管理 Download PDF

Info

Publication number
CN114803240A
CN114803240A CN202210080021.3A CN202210080021A CN114803240A CN 114803240 A CN114803240 A CN 114803240A CN 202210080021 A CN202210080021 A CN 202210080021A CN 114803240 A CN114803240 A CN 114803240A
Authority
CN
China
Prior art keywords
path segment
node
nodes
path
precondition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210080021.3A
Other languages
English (en)
Inventor
A·夏尔马
V·S·考凯勒
D·凯尼格
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ruipuyuta Robot Co ltd
Original Assignee
Ruipuyuta Robot Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ruipuyuta Robot Co ltd filed Critical Ruipuyuta Robot Co ltd
Publication of CN114803240A publication Critical patent/CN114803240A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • G01C21/206Instruments for performing navigational calculations specially adapted for indoor navigation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G1/00Storing articles, individually or in orderly arrangement, in warehouses or magazines
    • B65G1/02Storage devices
    • B65G1/04Storage devices mechanical
    • B65G1/0492Storage devices mechanical with cars adapted to travel in storage aisles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B66HOISTING; LIFTING; HAULING
    • B66FHOISTING, LIFTING, HAULING OR PUSHING, NOT OTHERWISE PROVIDED FOR, e.g. DEVICES WHICH APPLY A LIFTING OR PUSHING FORCE DIRECTLY TO THE SURFACE OF A LOAD
    • B66F9/00Devices for lifting or lowering bulky or heavy goods for loading or unloading purposes
    • B66F9/06Devices for lifting or lowering bulky or heavy goods for loading or unloading purposes movable, with their loads, on wheels or the like, e.g. fork-lift trucks
    • B66F9/063Automatically guided
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G1/00Storing articles, individually or in orderly arrangement, in warehouses or magazines
    • B65G1/02Storage devices
    • B65G1/04Storage devices mechanical
    • B65G1/137Storage devices mechanical with arrangements or automatic control means for selecting which articles are to be removed
    • B65G1/1373Storage devices mechanical with arrangements or automatic control means for selecting which articles are to be removed for fulfilling orders in warehouses
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3407Route searching; Route guidance specially adapted for specific applications
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0287Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
    • G05D1/0289Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling with means for avoiding collisions between vehicles
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0287Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
    • G05D1/0291Fleet control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/20Control system inputs
    • G05D1/24Arrangements for determining position or orientation
    • G05D1/246Arrangements for determining position or orientation using environment maps, e.g. simultaneous localisation and mapping [SLAM]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/60Intended control result
    • G05D1/617Safety or protection, e.g. defining protection zones around obstacles or avoiding hazards
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/60Intended control result
    • G05D1/69Coordinated control of the position or course of two or more vehicles
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/60Intended control result
    • G05D1/69Coordinated control of the position or course of two or more vehicles
    • G05D1/693Coordinated control of the position or course of two or more vehicles for avoiding collisions between vehicles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24573Query processing with adaptation to user needs using data annotations, e.g. user-defined metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • G06Q10/047Optimisation of routes or paths, e.g. travelling salesman problem
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/087Inventory or stock management, e.g. order filling, procurement or balancing against orders

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Mechanical Engineering (AREA)
  • General Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Development Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Transportation (AREA)
  • Structural Engineering (AREA)
  • Game Theory and Decision Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Civil Engineering (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Geology (AREA)
  • Computational Linguistics (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Library & Information Science (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Warehouses Or Storage Devices (AREA)

Abstract

本公开总体上涉及用于操作环境中的自主车辆管理的方法和***。该方法可以包括响应于由自主车辆从包括一个或多个设备的操作环境中的多个自主车辆中的自主车辆接收的请求而发送路线规划,其中一个或多个设备包括设备或设备空间。该方法还可以包括将路线规划分类为路径段,路径段包括第一路径段和第二路径段,第一路径段包括来自多个节点的在一个或多个设备的设备区内部的一个或多个节点,第二路径段包括来自多个节点的在一个或多个设备的设备区外部的一个或多个节点。该方法还可以包括从分类的路径段中针对导航段中的每个节点确定路径段的类型,并且基于从一个或多个节点中确定目的地节点而利用第二前提条件来注释第一路径段的第一节点,并且第二前提条件包括针对自主车辆穿过第一路径段到达目的地节点而执行第一设备的硬锁定动作。

Description

操作环境中的自主车辆管理
相关申请的交叉引用
本申请要求2021年1月22日提交的美国临时申请No.63/140,299的优先权权益,其内容通过引用整体结合到本文中。
技术领域
本文的公开内容总体上涉及自主车辆,更具体地涉及操作环境中的自主车辆管理。
背景技术
现有仓库涉及使用单个自主车辆拾取和放下物体(例如调色板)的任务,所述单个自主车辆例如是仓库的单个机架之类的设备中的机器人。只有当机器人需要执行机架内的任何功能时才使用单个机架。如果存在多个设备,例如多个移动机架、垂直输送机、片材挡板、临时空间、充电站等,并且异构自主车辆在操作环境例如仓库中继续执行它们的功能,则问题变得更加复杂。
发明内容
并入本公开并构成本公开的一部分的附图示出了示例性实施例,并且与描述一起用于解释所公开的原理。
本公开的实施例提出了技术改进,作为发明人在常规***中认识到的一个或多个技术问题的解决方案。例如,在一个实施例中,提供了一种用于操作环境中的自主车辆管理的处理器实现的方法。该方法包括响应于由来自多个自主车辆中的自主车辆接收的请求,在包括一个或多个设备或一个或多个设备空间的操作环境中发送路线规划,并且其中路线规划包括多个节点。该方法还包括将路线规划分类为路径段,路径段包括第一路径段和第二路径段,第一路径段包括来自多个节点的在一个或多个设备的设备区内部的一个或多个节点,第二路径段包括来自多个节点的在一个或多个设备的设备区外部的一个或多个节点。该方法还包括从所分类的路径段中为路线规划中的每个节点确定路径段的类型,其中所确定的路径段的类型是包括来自一个或多个设备的第一路径段,其中第一设备被映射到来自第一路径段的一个或多个节点的第一节点,并且其中第一节点被分配第一前提条件,该第一前提条件包括进入第一设备的设备区的动作。该方法还包括基于来自一个或多个节点的目的地节点的确定,利用第二前提条件来注释第一路径段的第一节点,其中第二前提条件包括针对自主车辆穿过第一路径段到达目的地节点而执行第一设备的硬锁定动作。
在另一实施例中,提供了一种用于操作环境中的自主车辆管理的***。该***包括存储指令的存储器,以及经由一个或多个通信接口耦合到存储器的一个或多个硬件处理器。一个或多个硬件处理器由指令配置成响应于来自多个自主车辆中的自主车辆接收的请求,在包括一个或多个设备或一个或多个设备空间的操作环境中发送路线规划,并且其中路线规划包括多个节点。该***还由指令配置成将路线规划分类为路径段,路径段包括第一路径段和第二路径段,第一路径段包括来自多个节点的在一个或多个设备的设备区内部的一个或多个节点,第二路径段包括来自多个节点的在一个或多个设备的设备区外部的一个或多个节点。该***还由指令配置成从分类的路径段为来自多个节点的每个节点确定路径段的类型,其中确定的路径段的类型是包括来自一个或多个设备的第一路径段,其中第一设备被映射到来自第一路径段的一个或多个节点的第一节点,并且其中第一节点被分配第一前提条件,该第一前提条件包括进入第一设备的设备区的动作。该***还由指令配置成基于目的地节点的确定用第二前提条件注释第一路径段的第一节点,其中第二前提条件包括针对自主车辆穿过第一路径段到目的地节点执行第一设备的硬锁定动作。
在又一实施例中,提供了一个或多个非暂时性机器可读信息存储介质。所述一个或多个非暂时性机器可读信息存储介质包括一个或多个指令,所述一个或多个指令在由一个或多个硬件处理器执行时使得响应于由来自多个自主车辆中的自主车辆接收的请求,在包括一个或多个设备或一个或多个设备空间的操作环境中发送路线规划,并且其中所述路线规划包括多个节点。该方法还包括将路线规划分类为路径段,路径段包括第一路径段和第二路径段,第一路径段包括来自多个节点的在一个或多个设备的设备区内部的一个或多个节点,第二路径段包括来自多个节点的在一个或多个设备的设备区外部的一个或多个节点。该方法还包括从所分类的路径段为来自多个节点的每个节点确定路径段的类型,其中所确定的路径段的类型是包括来自一个或多个设备的第一路径段,其中第一设备被映射到来自第一路径段的一个或多个节点的第一节点,并且其中第一节点被分配第一前提条件,该第一前提条件包括进入第一设备的设备区的动作。该方法还包括基于来自一个或多个节点的目的地节点的确定,利用第二前提条件来注释第一路径段的第一节点,其中第二前提条件包括针对自主车辆穿过第一路径段到达目的地节点而执行第一设备的硬锁定动作。
应当理解,前面的一般描述和下面的详细描述都仅仅是示例性和说明性的,而不是对所要求保护的本发明的限制。
附图说明
附图被并入本公开中并构成本公开的一部分,附图示出了示例性实施例,并且与描述一起用于解释所公开的原理:
图1是示出根据本公开的一些实施例的用于操作环境中的自主车辆管理的计算机实现的***的框图。
图2A-2C示出了根据本公开的一些实施例的具有开放通道的设备和设备空间。
图3示出了根据本公开的一些实施例的彼此相邻布置的设备。
图4A和4B示出了根据本公开的一些实施例的用于在操作环境中的不同楼层之间移动物品的设备的各种布置。
图5示出了根据本公开的一些实施例的一个或多个设备的图形表示。
图6示出了根据本公开的一些实施例的用于导航多个自主车辆的路线规划的过程。
图7示出了根据本公开的一些实施例的由自主车辆获取软锁定和硬锁定的过程。
图8示出了根据本公开的一些实施例的路线规划的图形表示,该路线规划描绘了覆盖设备区域的节点和边。
图9示出了根据本公开的一些实施例的用于多机器人路线规划的方法900的流程图。
图10示出了根据本公开的一些实施例的路线规划注释和分类的路径段的表示。
图11示出了根据本公开的一些实施例的图1的各种***组件之间的导航动作的序列图。
图12示出了根据本公开的一些实施例的图1的各种***组件之间的通信的序列图。
图13A-13C示出了根据本公开的一些实施例的具有设备和设备空间的仓库的俯视图。
具体实施方式
参照附图描述示例性实施例。在附图中,参考数字的最左边的数字标识该参考数字首次出现的附图。在方便的情况下,在所有附图中使用相同的附图标记来表示相同或相似的部件。虽然本文描述了所公开的原理的示例和特征,但是在不脱离所公开的实施例的精神和范围的情况下,修改、适配和其他实现是可能的。在整个说明书中,对“一个实施例”、“该实施例”和类似短语的引用意味着结合该实施例描述的特定特征、结构或特性被包括在一个或多个实施例中的至少一个中。因此,在本说明书中的各个地方出现的这些短语不一定是指相同的实施例。此外,特定特征、结构或特性可以以任何合适的方式组合在一个或多个实施例中。下面的详细描述仅被认为是示例性的,真正的范围和精神由权利要求(当包括在说明书中时)指示。
本公开的实施例提供了一种用于操作环境中的自主车辆管理的方法和***。公开了在包括多个级别的操作环境中以与多个异构设备协作的方式管理和操纵多个自主车辆,例如多个异构移动机器人。本公开提供了一种方法和***,其促进多机器人路线规划器与设备控制器之间的协作,并且采取安全预防措施以确保该技术允许多个自主车辆在没有死锁的情况下在多个异构设备之间导航,而不等待彼此。异构设备引起特定挑战,因为自主车辆需要导航到这些异构设备的通道或设备空间中并且需要进入和离开仓库中的通道。本发明的功能性包含导航、路线规划和设备控制的交叠。该***可扩展到操作环境中的任何设备或设备空间或设备周围的区域,所述操作环境例如是与多个车辆的导航区重叠的仓库。参考图1-13进一步详细描述用于管理操作环境中的异构设备和自主车辆的技术的实施例。
参考图1到13表示的图示,示出了用于多机器人路线规划的上述***和方法的详细描述。
现在参考附图,具体是图1至13,其中在所有附图中,相似的附图标记始终表示相应的特征,示出了优选实施例,并且在以下示例性***和/或方法的上下文中描述这些实施例。
图1是示出根据本公开的一些实施例的用于操作环境中的自主车辆管理的计算机实现的***的框图。在一个实施例中,***100可以包括三个级别的界面。如图1所示,三级界面可包括级别1用户界面(UI)、业务逻辑应用(BLA)101。级别2可以包括一个或多个服务器级组件,即全球模型(GWM)106、全球行为控制器(GBC)108和MRRP(多机器人路线规划器)111。级别3包括在多个异构自主车辆和LWM 113上运行的自主车辆级别组件LBC 114。关于上述组件中的每一个进一步描述***100。
在一个实施例中,BLA 101可包括一个或多个功能,例如用于一个或多个设备的计算逻辑,所述设备例如垂直输送机、移动机架、与服务器层通信的垂直输送机桥接器、也与服务器层通信的移动机架桥接器。BLA还可包括一个或多个功能,例如用于设备空间和设备周围区域的计算逻辑。该***控制仓库中可用的各种设备和设备空间。在整个公开中,术语设备指的是物理实体,而设备空间指的是非物理实体。例如,设备是指需要由***100自动控制和监视的任何外部设备,如仓库房屋中的材料处理设备或机器。并且,术语设备空间是指在仓库中创建的用于装载和卸载物品的任何临时设备或空间或区域、在仓库中创建的充电点或其他类似的固定点,其可以是或可以不是设备周围的区域。临时空间是用线控制器或列标记的开放空间,并且区域内的特定位置被标记用于装载和卸载物品。临时空间可以在与设备相同的房屋中或设备周围的区域中创建。如名称所暗示的,为装载和卸载物品而创建的空间可以是临时的,并且可以根据仓库中的要求而改变。由线和列标记的临时空间被认为是自主驾驶车辆操作的边界。UI/BLA 101是由***100提供的堆栈UI或者定制业务逻辑应用,其可调用网络API,例如GWM 106的REST API,以向***100注册和更新一个或多个设备或设备空间。GWM 106还充当***100的簿记员。GWM 106将与一个或多个设备或设备空间相关的信息存储在永久性存储107中,并展示API以便于访问和更新。GWM 106还经由ROS主题来广播一个或多个设备的当前版本。每当对一个或多个设备信息进行改变时,GWM106升级版本并再次向其他自主车辆广播。LWM 113和GBC 108通过将最近的设备或设备空间表示拉入仓库中来对该版本改变作出反应。
在一个实施例中,GBC 108便于对优化任务分配和多个自主车辆的跟踪进行操作。在另一个实施例中,GBC 108还可以包括用于设备和设备空间(109,110)的独立控制器节点,其触发一个或多个设备或设备空间上的动作(例如,移动机架移动以打开特定通道或临时空间),以及用于对设备的物理访问的访问控制器。例如,GBC 108内的每个控制器节点可以包括与仓库中的相应外部设备或设备空间的物理实例的一对一映射。例如,移动机架控制器节点具有与仓库中的移动机架实例的一对一映射。例如,移动机架控制器节点更新移动机架状态并触发移动机架移动以打开特定通道,与MRRP 111通信以启用或禁用所需的节点组,通过准许和释放锁定来管理机器人对相应设备102或设备空间103的访问,即分别通过设备桥104和设备空间桥105的软锁定和硬锁定。设备控制器109或设备空间控制器110更新设备和设备空间的状态,并通过授权和释放锁定来管理自主车辆对相应设备102或设备空间103的访问。
在一个实施例中,MRRP 111在操作环境(如仓库)中优化多个自主车辆的路线的全局规划。MRRP 111还基于地图的离散表示将路线规划为具有连接的多个节点和边的图。该图可以是手动生成的,或者是使用堆栈UI/BLA 101自动生成的。多个自主车辆中的每一个运行LWM 113实例,其将来自多个自主车辆的完整状态高速缓存在内存存储器中,并且向其他自主车辆广播***作环境上的其他LWM和GWM消耗。LWM 113还在GWM 106和LBC 114之间同步该图和一个或多个设备或设备空间信息。LBC 114控制由自主车辆采取的动作,并且与MRRP 111协调以获得适当的路线,与其它自主车辆协调以高效地执行路线,并且在临时空间的情况下与GBC 108协调一个或多个设备控制器节点或设备空间节点/线路控制器节点(109、110等)以同步对相应的一个或多个设备的访问。从MRRP 111接收的路线规划由路线注释器117处理,以沿着到多个自主车辆的路线提供适当的动作和前提条件。例如,像机器人的自主车辆导航到目的地,LBC 114请求从MRRP 111到目的地的导航路线。MRRP 111基于接收到的请求向机器人发送导航路线。导航路线包括连接并通向目的地的多个节点。路线可以包括映射到多个节点中的节点的多个设备,以便经由一个或多个设备跟随导航路线到达目的地节点。LBC 114首先用动作,例如硬锁定、软锁定请求或进入/退出设备区115动作来注释导航路线中的多个节点。当自主车辆穿过注释有上述一个或多个动作的节点时,发起动作。LBC 114还用前提条件注释导航路线中的多个节点。节点上的前提条件是在自主车辆导航到下一节点之前需要满足的约束。例如,在进入/退出设备之前/之后获取硬锁定或软锁定并完成进入/退出设备区动作是本上下文中的可能的前提条件。
在一个实施例中,在选择的导航路线中注释每个节点,并且路径分类器119在前提条件下将路径分成路径段,并基于前提条件启动导航。当自主车辆穿过路径段中的每个节点时,分类的路径段经由动作控制器118发起注释动作。在动作完成时,***移除相关联的前提条件并更新要导航的路径。***100及其组件的一个或多个功能将参考图2-13进一步详细解释。
图2A-2C示出了根据本公开的一些实施例的具有开放通道的设备和设备空间。在一个实施例中,一个或多个设备可以包括设备***200。如图2A所示,设备***200包括具有多个移动机架,例如具有开放通道的五个移动机架,机架1、机架2、机架3、机架4和机架5的移动机架单元201。五个移动机架用于以订单处理速度为代价增加仓库的存储容量。移动机架安装在固定于地板上的移动基座上,移动基座可在导轨上平滑地滑动。如图2A所示,包括五个移动机架的移动机架单元201被布置在另一个如图2B所示的包含移动机架单元202的移动机架单元210的旁边。移动机架单元210和202中的五个移动机架彼此相邻,并且每个机架布置成在任何两个连续机架之间具有单个开放通道,例如,如图2A所示在机架1和机架2之间以及如图2B所示在机架3和机架4之间。可替代地,移动机架单元201可以包括传感器套件,该传感器套件可以检测开放通道内的机器人或人的存在,并且可以在改变配置不安全时拒绝改变配置的请求。在一些仓库中,多个移动机架可以彼此相邻地安装以进一步节省空间。在这种配置中,每个移动机架作为单独的实体操作,并且附近的另一个移动机架的存在不影响其操作。图2C示出了用于仓库中的入站物品拣选的设备空间布置220。例如,设备空间可以是在设备周围创建的临时空间或仓库中的开放空间。临时空间可以包括一堆嵌套集装箱222,以放置或拾取物品/装载和卸载物品。设备空间被用作在该区域中操作的机器人的边界的行指示器或列224划分。图2A-2C中的设备和设备空间的各种布置仅为说明性的,且不应视为限制于本发明的范围内。
图3示出了根据本公开的一些实施例的彼此相邻布置的设备。在一个实施例中,设备例如移动机架单元301、移动机架单元302和移动机架单元303如图3的300所示彼此相邻布置,在机架之间具有单个通道。每个移动机架单元包括多个机架,例如五个机架,即机架1、机架2、机架3、机架4和机架5。对于每个移动机架,广播是开放通道的通道的当前状态,例如,该通道是否可以移动或者在其已经移动的情况下。该***允许仓库的每层有任意数量的移动机架。图2和3是仓库中的典型的移动机架布置的图示,并且不应相对于本公开而被限制。
图4A和4B示出了根据本公开的一些实施例的用于在操作环境中的不同楼层之间移动物品的设备的各种布置。在一个实施例中,用于在操作环境的不同楼层之间移动物品的设备可以是垂直输送机。通常,垂直输送机与方向性相关联,并且可以至少在单个方向上,即向上或向下移动物品。典型的输送机还可包括传感器套件,其可检测物品在入口点(投放位置)或出口点(拾取位置)的存在。当像机器人的自主车辆将物品落在入口点处时,可以激活设备的输送机,然后将物品自动地运输到目标楼层。一旦物品到达目标楼层,输送机就广播当前状态以指示其可用于拾取。该***在仓库的每层中支撑任意数量的垂直输送机。在该示例中,如图4A所示,自主车辆,即机器人1 401正在第一层上运送物品。物品通过垂直输送机402的传送带被输送到第二层。400中的传送带的状态是就绪的。此外,作为示例,它示出了物品被移动的条件。在此,机器人1能够放下表示真语句的物品并能够拾取。同样,当物品到达如图4B所示的第二层时,在403,机器人2从垂直输送机402拾取物品。410处的传送带的状态是就绪的,并且指示该条件可放下为假,并且可拾取为真。这些条件被广播到其他自主车辆,在这种情况下是场所中的其他机器人。一旦动作完成或者满足用于操作环境中的平滑移动的前提条件,这些自主车辆中的每个的状态就被广播和更新。
图5示出了根据本公开的一些实施例的一个或多个设备的图形表示。在一个实施例中,仓库中的一个或多个设备由具有包括与设备相关联的唯一ID的属性的矩形区表示,每个ID设备由具有为图形表示500的地图框架中的所有角指定的坐标的矩形区域表示。每个设备可以具有对其类型有效的附加特性,例如,移动机架设备可以具有多个通道,这些通道是移动机架单元1 501的较大区域内的矩形区域,并且垂直输送机502可以包括单向操作。***使用矩形区域来确定路径是否与另一设备相交。在一个实施例中,一个或多个设备可以不彼此重叠。这意味着在不通过至少能够容纳自主车辆(例如至少一个机器人)的开放区域的情况下,不可能从一个设备去到另一个设备。
图6示出了根据本公开的一些实施例的用于导航多个自主车辆的路线规划的过程。在一个实施例中,600表示用于操作环境中的两个或更多个自主车辆的路线规划。例如,多个自主车辆包括两个叉车,即在移动机架单元601中操作的第一叉车602和第二叉车603。如图6所示,多个节点表示第一叉车602从机架1到机架2的导航路径或路线规划。如图6所示,叉车603的路线规划在从机架1到通道的方向上移动,并且不通过另一个设备、设备空间或设备周围的区域。另一方面,第二叉车603穿过移动机架单元601的过道以避免碰撞。第二叉车603如图所示进入到移动机架单元601的机架2和机架3之间的空间,并从通道出来,向移动机架单元601的另一端移动。然而,第一叉车602不进入任何区,并且可以采取直接路径到达目的地,如同第二叉车603那样。根据实施例,这是本公开的范围内所覆盖的许多场景中的一种,其由***处理以避免死锁或碰撞或机器人在通道处等待。
图7示出了根据本公开的一些实施例的由自主车辆获取软锁定和硬锁定的过程。在一个实施例中,由MRRP为自主车辆生成的路线规划由2D平面中的离散检查点序列表示,所述检查点序列由x、y坐标和方向表示。例如,所生成的用于自主车辆路线的路线规划可以可选地从包含设备的区域或地带开始,穿过多个设备区或终止于一个区域。在生成的路线规划与任何设备区相交的情况下,自主车辆向***通告通过设备区的意图,并且从相应的设备控制器节点寻求许可。根据本实施例,设备区指的是设备,例如机架周围的区域。许可被表示为硬或软锁定。当自主车辆的最终目的地位于设备区域内时,需要硬锁定。当自主车辆路线仅穿过设备区域时,需要软锁定。如图7所示,获取软锁定或硬锁定的过程由700表示,包括在移动机架单元701处操作的自主驾驶车辆。自主车辆702被描绘为示出软锁定,并且自主车辆703被描绘为示出硬锁定。自主车辆702从机架1穿过多个节点到达目的地节点,并且穿过移动机架单元701,因此请求软锁定。在一个实施例中,即使另一自主车辆持有对同一设备的软锁定,软锁定也可以被授权给自主车辆。然而,在移动机架单元的情况下,只有当所请求的通道打开时,软锁定才可以被准许。而且,在授权硬或软锁定之前,设备控制器节点可以决定是否需要任何其他设备致动。例如,在移动机架的情况下,控制器节点可能需要在授权硬锁定之前打开所需通道,并且另一方面,可能不必在授权软锁定之前执行任何其它动作。该***指示相应设备控制器节点关于是否可以向多于一个自主车辆授权硬锁定。在另一个实施例中,自主车辆702从机架1穿过多个节点到达移动机架单元701的机架2和机架3之间的目的地节点,因此请求硬锁定。例如,在这种类型的设备上,与移动机架设备相关联的移动机架控制器节点可以向在相同通道中到达的所有自主车辆授权硬锁定,而与垂直输送机设备相关联的垂直输送机节点可以向单个自主车辆授权硬锁定。在一个实施例中,自主车辆可以在其进入设备区之前具有硬锁定或软锁定,并且一旦其离开设备区就释放该锁定。
图8示出了根据本公开的一些实施例的路线规划的图形表示,该路线规划描绘了覆盖设备区域的节点和边。在一个实施例中,MRRP优化在操作环境中工作的多个自主车辆的路线的全局规划。MRRP基于具有连接的节点和边的图的形式的地图的离散表示来规划路线。该图可以手动生成或使用如图1所述的BLA/UI自动生成,例如,如图8的800所示,如叉车的自主车辆请求对如移动机架单元2 801的设备中的通道进行硬锁定。MRRP生成路线规划作为对移动机架单元2的响应,并且在叉车上运行的LBC向***请求在移动机架单元2 801上的硬锁定。同时,存在另一叉车在机架3和机架2之间的通道的入口点处等待并等待机架2上的硬锁定的可能性。由于两个叉车都在等待硬锁定,所以第一叉车可能不能导航,因为第二叉车可能正在阻挡路径,并且第二叉车可能正在阻挡路径,因为叉车不能获得硬锁定。本公开的实施例提供了解决由叉车进行的这种死锁情形或低效等待时间的技术方案,其包括***向MRRP模块调用被动请求。在这种情况下,响应于被动请求,MRRP模块可以指示叉车移动到任何其它位置以让路给叉车之一。在机器人上运行的LBC,比如叉车,可以决定是否发起被动请求或者是否可以请求导航到目的地的路径。如图8所示,通过调用被动请求来禁用(被动)灰色节点。
在另一实施例中,该***可以包括锁定管理。例如,第一叉车和第二叉车请求锁定并且两个叉车中的一个叉车可以基于一个或多个预定条件获取用于在机架2和机架3之间开放通道的锁定。在该示例中,第一叉车获取锁定,并且第二叉车仍然请求锁定但尚未获取。在这种情况下,机架2中的节点可能不被启用,因为一次仅一个通道可能被打开。在一个示例中,两个叉车都可以请求路径以导航到目的地,在这样的示例中,锁定获取和释放可以以如本文所述的常规方式发生。***的MRRP执行预处理以检查第一叉车的请求,其中第一叉车请求到达机架2中的节点,该节点被禁用并且通道不打开(如图8的机架2中所示)。MRRP回溯这些节点并检查被启用且最接近第一叉车的目的地的节点。然后,该节点被看作第一叉车的目的地而不是机架2中的节点,这里,MRRP通过提供最接近第一叉车的目的地的节点来保持叉车移动,但是可能不允许第一叉车进入机架2中的节点以避免冲突/死锁情况。MRRP用最接近设备的启用节点替换作为预期目的地的节点。第一叉车的状态可能仍然在等待,因为它还没有到达目的地节点(按照LBC上下文),然而,第一叉车通过调用被动路径请求经由不同的路线向目的地或替换目的地行进。因此,如果节点没有被启用用于叉车,则MRRP为叉车启动被动路径。
图9示出了根据本公开的一些实施例的用于多机器人路线规划的方法900的流程图。方法900可以在计算机可执行指令的一般上下文中描述。通常,计算机可执行指令可以包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、过程、模块、函数等。方法900也可在其中功能由通过通信网络链接的远程处理设备执行的分布式计算环境中实践。描述方法900的顺序不旨在被解释为限制,并且任何数量的所描述的方法框可以以任何顺序组合以实现方法900或替换方法。此外,方法900可以以任何合适的硬件、软件、固件或其组合来实现。在一个实施例中,流程图中所描绘的方法900可以由***执行,例如图1的***100。下面将参考图1-8更详细地说明图9的方法900。
参考图9,在所示的实施例中,方法900在901处开始,其中,该方法包括响应于从操作环境中的多个自主车辆中的自主车辆接收的请求发送路线规划。操作环境包括一个或多个设备,该一个或多个设备包括设备、设备空间和设备周围的区域。路线规划包括如图8中所示的多个节点。图1的***基于从自主车辆或例如机器人接收的请求指示MRRP发送路线响应901。在此,机器人被用作用于自主车辆的示例,并且可以被替代地使用。一个或多个设备是指操作环境中的设备,例如,移动机架单元或垂直输送机。在此,设备可以指物理设备,如移动机架单元,它还可以指表示在附近存在设备的设备区,或者它还可以指设备空间,即设备周围的区域,该区域表示被创建以在仓库的开放空间中装载和卸载物品的临时空间。临时空间的示例可以包括行指示器、列,其中使用例如嵌套器列来加载和卸载物品。使用设备作为示例来描述方法权利要求的另外的步骤;然而,处理步骤的相同或相似流程可应用于设备区和设备周围的区域。
在902处,所述方法包含将路线规划分类为路径段。所述路径段可以包括第一路径段或第二路径段,所述第一路径段具有来自所述多个节点的在所述一个或多个设备的设备区内部的一个或多个节点,所述第二路径段具有来自所述多个节点的在所述一个或多个设备的设备区外部的一个或多个节点。该***将路线规划分类为多个路径段,即,指示第一路径段的S-in-D*和表示第二路径段的S-out。S-in-D*中的一个或多个节点中的每个节点位于设备D*的内部,S-out中的各节点位于一个或多个设备的外部。第二路径段S-out指示开放的并且未***作环境中的任何设备占用的导航段或路线规划。S-in指示属于特定设备的导航段。S-in-D*表示属于任何设备D*,即,一个或多个设备D1、D2、D3………Dn的导航段。例如,在设备空间,如临时空间的情况下,行指示符或列充当物理设备以在特定空间内导航,并且以与物理设备类似的方法来管理自主车辆。
在903,该方法包括从分类的路径段中针对路线规划的多个节点中的每个节点确定路径段的类型。在此,检查每个路径段的路径段类型,即,S-out或S-in。如果所确定的路径段的类型是作为S-in的第一路径段,则在904,该方法包括用ID标识该设备并将其标记为来自该一个或多个设备的第一设备,并且将来自第一路径段的该一个或多个节点的第一节点映射到所标识的设备,例如第一设备D1。然后在905,利用第一前提条件来注释第一节点,该第一前提条件包括进入第一设备的设备区的动作。在906处,该方法包括确定自主车辆的目的地节点。如果第一节点是目的地节点,则第一路径段的第一节点用第二前提条件来注释。在一个实施例中,第二前提条件包括针对自主车辆穿过第一路径段到目的地节点执行第一设备的硬锁定动作。在另一实施例中,针对所述自主车辆经由所述一个或多个设备穿过所述第一路径段执行所述第一设备的软锁定动作。
在一个实施例中,在903,该方法包括从分类的路径段中为路线规划的多个节点中的每个节点确定路径段的类型。在此,检查每个路径段的路径段类型,即,S-out或S-in。如果所确定的路径段的类型是为S-out的第二路径段,则在909处,该方法包括识别第二路径段中的第一节点N1和第二节点N2。此外,第一节点N1被映射到指示下一设备的D-next,并且N2被映射到指示前一设备的D-previous。在910,该方法包括用包括D-prev的ExitDeviceZone动作的第一前提条件注释N1,以及在911用包括D-prev的ExitDeviceZone动作的第二前提条件注释N1+1。在912,该方法还包括用针对所有锁定的设备的解锁动作来注释N1。类似地,在913,该方法还包括用针对D-next的EnterDeviceZone动作注释N2。在914处,检查D-next以寻找给定自主车辆的目的地设备。在915,该方法包括基于目的地节点的确定,利用第二前提条件来注释第二路径段的第一节点。第二前提条件包括针对自主车辆穿过第二路径段到目的地节点执行下一设备的硬锁定动作。类似地,在916,该方法包括基于从一个或多个节点确定目的地节点而利用第二前提条件注释第一节点,其中,第二前提条件包括针对自主车辆经由一个或多个设备穿过第二路径段而执行下一设备的软锁定动作。
在一个实施例中,在方法在A处终止。在A处,该方法以针对预定目的地设备的自主车辆的导航结束。一旦自主车辆到达目的地设备,本发明的方法就被关闭,并且下一步骤开始于从分类的路径段针对行进到目的地节点的每个节点确定路径段的类型,其中,确定的路径段的类型是包括来自一个或多个设备的第二路径段,其中,第二设备被映射到来自第二路径段的一个或多个节点的第二节点,其中,第二节点被分配第一前提条件,该第一前提条件包括进入第二设备的设备区的动作。在此,在硬锁定动作915或软锁定动作916之后,***继续条件循环903。在注释步骤907或908之后,***进入条件循环903。整个处理流程继续,直到处理了最后的段。一旦处理了最后的段,就可以终止该条件。
图10示出了根据本公开的一些实施例的路线规划注释和分类的路径段的表示。在一个实施例中,路线规划的表示包括分类的路径段、与每个路径段相关联的导航段。分类的路径段对应于被描述为路径节点的一个或多个节点。如图10所示和图9所述,该路径段被分类为第一路径段S-in-D*和第二路径段Si-out。1000示出了指示一个或多个路径节点(在从左数第三列中示出)属于设备的路径段的路径段。如之前在图9中所述,S-in-D*表示属于任意设备D*(D1、D2、D3等)的导航段。类似地,S-out-1或S-out-2指示其中自主车辆在户外的导航段。由白色圆圈表示的路线节点不与任何设备链接。由于它们是连续的路线节点,所以它们形成在左侧示出的一个段。路线节点的另一组节点包括与另一设备相关联的导航段,例如1007,并且导航段1005、1006指示在设备区域之外。在此,路线节点被分成属于或不属于设备的导航段。在一个实施例中,当一个或多个机器人从一个设备段转移到正常段时,存在与转移相关联的动作。例如,对于节点1001,动作A1可以是调用针对设备D1的出口设备区行为。在此,设备区是指设备D1周围的空间或区域。然后,发起对前一设备D1(如图10中所示的前一设备是D1)的解锁请求,并且针对动作A2解锁设备的所有其它软锁定。此后,***为路径中可能遇到的下一设备启动软锁定请求,其为设备D2和动作A3。所有动作异步地或并行地与机器人的路径导航相关联,换言之,机器人不在特定路线节点处或等待动作的执行(锁定/解锁请求),而是可以继续在相同路径导航上移动。
本公开的实施例提供了一种通过运行与机器人的路径导航异步或并行地相关联的动作来优化机器人的导航和吞吐量的方法和***。对于每个动作,存在前提条件,例如,在未来时间间隔的某处,***预期在机器人比节点前进更远之前完成动作。在1002,前提条件包括A1动作要完成,因此A1变为异步动作,并且指示如果动作事件A1未完成,机器人可能不导航到1002所表示的节点。例如,如果在下一实例中没有向机器人应用前提条件,则可以稍后以更晚的时间间隔移动前提条件。在1003,在机器人进入设备区D2之前,发起动作A4,并且发起进入设备区D2请求。在1004,***放置包括请求进入设备区D2(A4动作)应当在机器人进一步导航之前完成的前提条件P2。前提条件P3期望在过去的动作中完成软锁定请求(A3)。因此,机器人从节点1001自由地导航到节点1003,并且以使得移动机架可以移动的方式。在另一实施例中,各种优化步骤可由***执行,并且机器人可不进行到节点1004,直到不满足前提条件P2和P3。这意味着在机器人可以进入设备区D2之前,***可能已经获取了设备D2的锁定。重复相同的循环。在1005,在所有软锁定设备被释放的情况下,发起动作退出设备区D2。动作A7导致当设备位于目的地时,发起对D3的硬锁定请求。在1006,下一前提条件P4:类似于满足之前的转移,退出设备区D2完成。在1007,在转移到节点之前,存在两个应当满足的前提条件,即P5:完成进入设备区D3请求和完成硬锁定请求动作A7。动作和前提条件的循环继续,直到由相应的机器人到达/完成所分配的目的地/任务。
图11示出了根据本公开的一些实施例的图1的各种***组件之间的导航动作的序列图。序列图1100表示用于单个自主车辆(例如,机器人)的流程,然而,该***不限于单个机器人,并且可以用于控制AMR(自主移动机器人)、AGV(自主引导车)、可以执行如本发明的范围内所公开的类似功能的其他车辆。为了代表性和简单的目的,所有的附图可以包括在有限的车辆中,然而,***可以用于控制和管理设备(移动机架、虚拟输送机、薄板遮板等)、设备周围的区域、设备空间(临时空间)和车辆(自动化叉车等)之间的同步。在一个实施例中,当机器人启动时,在机器人上运行的LBC1104向GWM1101发出请求,以获取仓库中的设备信息。LBC 1104基于请求来验证机器人是否在设备区中,并且发起服务路线请求以立即退出设备区。由于LBC 1104没有关于机器人正在特定设备区中做什么的上下文,所以指示设备退出设备区。由于该区被认为是安全区,所以***期望机器人在进入设备区之前获得锁定。在一个实施例中,当设备被启动时,机器人已经在设备区中。因此,***实施安全动作以将机器人冲到设备区外。如果LBC 1104确定机器人在任何设备区(例如MHE区)中,LBC 1104提供与节点相关联的图或者识别刚好在设备区外部的位置。LBC 1104从MRRP 1103获得路线,并调用导航以便机器人导航。在机器人启动阶段执行上述步骤。
在一个实施例中,在启动阶段之后,GBC 1102可以向机器人分配任务。基于任务分配,机器人导航到节点,例如节点D(表示目的地节点),以执行任务。一旦将定义的任务分配给机器人,LBC 1104就请求MRRP 1103路线规划导航到D。例如,MRRP 1103可以提供一个或多个路线规划和路线响应。在接收到路线规划之后,序列图1100表示要重复直到到达目的地的流程。例如,当LBC 1104接收该路径时,注释该路径并且计算直到下一个未满足前提条件的路径段P。***调用路径段P的导航动作,LBC 1104从导航组件1105接收反馈。导航反馈可以便于标记机器人的导航进度,并且LBC 1104跟踪已经穿过的节点并更新***。所接收的导航反馈还可以包括机器人最后访问的节点。在这种情况下,最后访问的节点可以是n。基于最后访问的节点,启动动作和请求(硬或软锁定)以在n处注释。***调用如图9所述的在n处注释的进入/退出区域动作。***随后调用在n处注释的锁定/解锁请求。与完成的动作相关联的前提条件随后被移除。重复该过程直到到达目的地。
图12示出了根据本公开的一些实施例的图1的各种***组件之间的通信的序列图。序列图1200示出了***100的GBC 1201、LBC 1202、MRRP包装器1203和MRRP核心1204之间的通信。在一个实施例中,LBC 1202向设备D的通道P1内的(多个)节点N*请求路径。在节点N*被禁用的情况下,MRRP包装器1203从N*识别已连接且启用的最近的节点。例如,如果在通道中禁用节点,则也可以禁用该通道中的其他节点。因此,MRRP包装器1203可以识别可以在设备的任何入口点的节点,例如,在机架的左侧或右侧的移动机架。MRRP包装器1203找到在任一侧被启用的节点,然而,所识别的节点可以是距离目的地最近的节点。然后机器人目的地被节点n代替。MRRP包装器1203触发针对所有活动机器人的路径的重新规划,然后将从MRRP核心1204接收的路线响应转发到LBC 1202。然后,LBC 1202执行注释任务,并且将用于硬锁定的前提条件添加在n+1(虚拟节点)处并且导航到n。LBC 1202必须请求GBC 1201释放硬锁定,发起通道的打开,并且启用通道内的节点。GBC协调移动机架的通道P1的开口。GBC1201请求MRRP包装器1203为P1启用节点,并为前一开放的通道P2禁用节点。MRRP包装器1203将所接收的请求转发到MRRP核心,该核心基于请求成功地启用/禁用节点。MRRP包装器1203对于在仓库中导航的每个机器人重复以上步骤。例如,当目的地节点被禁用时,MRRP包装器1203从距机器人具有最小距离的n*中找到最近的已连接和启用的节点n,并且用n替换路线目的地。然后是替换的路线目的地,MRRP包装器1203重新规划由MRRP核心1204转发到LBC 1202的路线作为路线响应。LBC 1202然后继续导航至N*。
图13A-13C示出了根据本公开的一些实施例的具有设备和设备空间的仓库的顶视图。在一个实施例中,自主车辆,在该示例中为机器人1303在仓库1300内导航,机器人1303使用多机器人路线规划器(MRRP)来导航仓库。本公开的实施例支持多个设备,如多个移动机架1301、1302等。移动机架具有不同的通道,并且整个机架可以根据机器人1303基于分配的任务导航的通道而移动。例如,像自动化叉车1303的机器人可以被分配任务以将物品放在机架1301中,然后可以将请求发送到移动机架控制器节点以打开机架1301。类似地,当叉车1303正在移出移动机架时,机架1301上的锁定被释放。移动机架1301的打开和关闭由移动机架控制器节点处理。本公开的***控制在移动机架1301中操作的叉车1303,以便允许另一叉车进入不同的移动机架1302,即每个移动机架可以具有同时在内部操作的叉车。
在另一个实施例中,在图13B中,叉车导航到移动机架1311的第四通道1312。在该实施例中,发起与GBC的通信。在叉车上运行的LBC与GBC通信以准许许可进入机架1307的通道。一旦许可被批准,GBC与移动机架1311的移动机架控制器通信以打开机架1311上的通道。服务器端的GBC组件执行移动机架1311的流量控制功能。该场景可以扩展到多个设备,如仓库中的移动机架和多个机器人。本公开的实施例提供了一种处理多个设备并保持同步、协调、死锁避免、减少停车时间等的方法和***。例如,多个机器人可以紧邻一个或多个设备。在一个实施例中,在一些仓库中,在移动机架和仓库的其它区域之间的通道可以是狭窄的,如1307或1315。在替代实施例中,可以仅存在一个入口和出口1305以供机器人在仓库周围导航。本公开的实施例提供了一种支持多个机器人例如自动叉车1303、1306等在多个楼层上导航的的方法和***。
在一个实施例中,如图13B所示,在存在多个移动机架1301、1302,在多个移动机架的通道内导航的多个机器人1303、1306以及可用于在移动机架与仓库的可具有单个进入点或退出点1305的其他区域之间的狭窄通道1307或1315内导航的多个楼层的情况下,导航是具有挑战性的。在该实施例中,本公开通过允许在机架打开之后可以进入通道的多个操纵,如叉车,同时允许通道内的另一叉车通过并离开移动机架,使得多个叉车1303、1306能够在移动机架的通道内移动。在另一实施例中,本公开的***和方法还可以实现按需功能。例如,无论何时移动控制器节点移动移动机架1301、1302,控制器节点首先禁用移动机架1301的所有节点1312,并移动移动机架1301通道,然后仅在该通道内启用节点1312。这将帮助MRRP不将叉车1303、1306发送到通道中那些被禁用的节点。传统上,叉车执行拾取托板并将托板放下到移动机架的功能,然而,在这种复杂的情况下,***可以指示叉车1303、1306离开这些移动机架1301、1302,协调狭窄走廊中的交通,处理安全问题,例如,叉车可以被要求将托板放下到移动机架上,另一叉车可以使用开放通道(暂时使用开放通道)离开。本公开的实施例使用授权和释放锁定(软锁定和/或硬锁定)的原理,以使得叉车能够在移动机架的通道内安全移动。
在其它实施例中,当叉车进入路径上的机架时,本公开的***和方法采取步骤以确保叉车的定位不会丢失。为此,确保了进入和离开设备区区域行为,然而,当移动机架移动时,定位可能丢失。因此,***在叉车进入移动机架区域之前触发进入或退出设备区行为(例如,地图切换)。在一个实施例中,该***允许MRRP经由移动机架的开放通道来为叉车选择路线。该***提供高级功能以处理外部设备(移动机架1301、1302、垂直输送带1304、通用方式的片材挡板)。***了解仓库中的各种设备以及与设备相关的信息,例如,包含移动机架1301、1302等的矩形的坐标。当叉车启动时,运行在叉车上的***组件从服务器的GWM模块中提取设备信息,例如,每个设备的坐标。运行在叉车上的***组件请求来自服务器的MRRP模块的路径以从仓库中的一个位置导航到另一个位置。当MRRP发送响应时,响应包括节点列表(如图13B所示的源节点1313或目的节点1314或中间节点,其可以包括绕行、每个检查点上的前提条件等)。MRRP可以提供检查点和前提条件的列表,例如,第二叉车可能已经越过其路径ID上的特定索引以用于在MRRP的路径协调上工作。一旦叉车从MRRP得到路由响应,路由就会转化为更多的前提。前提条件可以是,如果特定叉车在外部设备上具有锁,则该叉车只能从一个检查站穿越到另一个检查站。此外,本方法和***能够针对已知设备1301、1302、1304等的列表执行从MRRP接收的路径,然后***判定路径是否与任何其他设备相交。当路径相交时,在叉车上运行的LBC请求来自适当的设备控制器节点的路径以获得进入由设备支持的通道的权限。因此,当叉车移向目的地1314时,叉车1303,即在叉车上运行的LBC,连续地请求对设备控制器节点的访问许可。然后,设备控制器节点发起打开与设备1311相关联的通道的动作。如果所述叉车是队列中的第一个,则控制器节点可以授权许可。当叉车到达入口点并检查许可时,相应地继续其导航路径。当所述叉车必须离开与该设备相关联的路径时,叉车必须释放该锁定。
在另一个实施例中,LBC从MRRP接收路径,***利用已知的一组设备验证路径响应,然后当叉车已经在设备的通道内时,第一检查点将叉车带到设备之外,然后***指示解锁设备。例如,当多个叉车的路径与多个移动机架1301、1302相交,并且第一叉车1303来自节点1313,第二叉车1306来自节点1314,并且如果第一叉车1303的目的地在设备1301内,则第一叉车获取对设备1301上的硬锁定的许可,因为移动机架1301必须被移动以让开用于打开通道和启用节点1312的道路。虽然第二叉车可能只需要经由已经打开的通道绕行,而不是移动移动机架,因此第二叉车需要软锁定而不是设备上的硬锁定。这将允许两个叉车彼此通过而不会导致死锁。当第二叉车可能碰撞或导致死锁时,第二叉车1306绕道并进入开放的通道,从第一叉车1303的路径上离开。
本公开的实施例允许多个叉车1303、1306保持对移动机架1301中的单个通道的锁定。因此,没有两个叉车可以在同一设备上具有硬锁定,但是叉车可以同时具有硬锁定和软锁定。有时,打开机架1301可能花费一些时间,因此,如果在叉车1303上运行的LBC可请求到机架1301中的特定节点的路径,并且即使通道可能关闭,LBC也可发送到最近路径的路径,该最近路径被启用并且最靠近移动机架外部的节点。一旦移动台架1301已经移动,则在通道内的每个节点被启用时LBC发送更新的路径。在另一实施例中,叉车1303可能想要导航到垂直输送机304附近的垂直输送机区域。最终节点1314可以是垂直输送机区的一部分。当叉车启动时,LBC通过已知的外部设备运行路径,并且当LBC检查到存在交叉时,则LBC请求锁定许可。如果没有交集,则***应用前提条件并且不允许叉车向前移动直到满足前提条件。类似于上述步骤,***处理其它设备,如垂直输送机和片材挡板。
在另一实施例中,当自主车辆呈现被动路线请求时,可以提供一个或多个解决方案来解决死锁情况。例如,接收被动路径请求的叉车可以改变目的地,导航另一路线并恢复分配的任务。在另一示例中,在强制被动转换中,两个或更多叉车可以具有重叠目的地,其可以由MRRP包装器检测。在此,第一叉车可以到达目的地,而第二叉车被迫采取被动路线,直到第一叉车到达目的地。类似地,在临时空间环境中,可以实现强制被动请求。在另一示例中,当第一叉车和第二叉车具有重叠目的地,并且当第一叉车在设备区域中而第二叉车不在设备区域中时,MRRP包装器可以将第二叉车的路线规划转换成被动路径。在一个实施例中,可以有利于位于设备区内的机器人来解决重叠目的地,从而帮助它们离开该区域。在另一个示例中,例如可停车标记的标记可以在MRRP中实现,用于某些指定节点,这些节点可以不被用作被动路径的端点,并且用作具有实际目的地的机器人的停车位。
图13C示出了根据本公开的一些实施例的具有设备空间的仓库的顶视图。如前所述,设备空间可以包括在典型仓库中创建的用于物品的放下或拾取的临时空间1320。如图13C所示,定位了四个主列的点,并且在嵌套器处定位了一个额外的放下的节点路径。四个主列由线指示器划分,标记每个嵌套器的边界。第一嵌套器的包含多个节点的导航路径由节点N1、N2、N3……Nn表示,其中被描绘为1318的N1是叉车在穿过以从嵌套器中拾取时进入临时空间的第一节点,而1319是Nn描绘的最后节点。在一个实施例中,分配给自主车辆的任务是从进站临时空间拾取堆叠在嵌套集装箱上的物品。临时空间的导航路径可以遵循与针对机架或任何其他设备单元所描述的类似的方法和***,但具有一些修改。例如,当拾取物品的任务被分配并且新的货盘被放置在临时空间中时,则分配给自主驾驶车辆的任务将被中断。为了克服上述技术问题,临时空间中的每个区域被分配一列,例如,包含嵌套器的列。
本公开的实施例提供了涉及临时空间(临时空间)的处理的一个或多个技术问题的解决方案。一个或多个技术问题可以是通道访问控制、节点启用/禁用、边界识别、通道之间的距离等。在一个示例中,主要关注点之一包括通道访问控制。陆地进入控制防止叉车进入与另一叉车相邻的通道。而且,节点禁用/启用防止叉车被MRRP重新路由到临时空间中。在示例实施例中,连接到外部世界的节点被注释为入口节点。例如,如图13C所示,用元数据注释临时空间区域中的每个点,该元数据将其列指定为A、B、C、D或N(对于嵌套器)。这也允许在该点的相关节点注释节点列。在临时空间的情况下,软锁定被认为是“在队列中”。软锁定“在队列中”的条件使得本***的LBC请求被动路径,直到重新规划发生并且不再需要锁定为止。另一方面,对于请求的地点授权硬锁定(基于叉车不能下行相邻通道的要求来授权通道)。在一个示例中,B的锁定也可以锁定A、C和N,C的锁定也可以锁定B、D(并且可能锁定N)。对于给定的列,多个叉车间接地被授权锁定,然而,如果叉车请求已经被另一叉车锁定的列的锁定,则叉车被置于“队列中”。例如,请求去往列B和D的叉车可以同时这样做,并且两者将间接地锁定列C,但是如果叉车正在锁定列B,则另一叉车将不被授权针对列C的直接锁定。在实施例中,间接锁定可以在元数据中指定,其中指定列和锁定之间的所有必要关系。请求针对A的直接锁定的叉车也将间接锁定B和N,并且请求针对D的直接锁定的叉车也将间接锁定C。一旦锁定被授权,在锁定的持续时间内,启用所请求的动作点的节点和入口节点之间的列的所有节点。
本公开的实施例提供了一种***和方法,用于如果没有叉车(自主车辆)正保持用于列或任何相邻列的锁定,则准许用于所述列的锁定请求。例如,在临时空间的每个区域内,如果存在将节点连接到区域外的区域的边,则节点被注释为入口节点。基于注释,可以修改锁定请求以包括叉车所瞄准的目的地点。在一个示例中,***的设备空间控制(临时空间控制器)寻找开始于所请求的节点并结束于连接在临时空间的区域之外的节点的路径。在锁定的持续时间内启用到目的地节点的路径中的节点的子集。在另一实施例中,用元数据对来注释临时空间的每个区域。在临时空间的情况下,列或通道之间的距离确定锁定的有效性。例如,如果两个区域被锁定并且两个区域的边界在彼此的预定锁定区域范围内,则锁定被认为是无效的。由于两个区域都可以具有不同的锁定区域范围值,因此使用两者中较大的一个来确定有效性。如果锁定导致有效状态,则为叉车授权锁定,并且如果锁定导致无效状态,则将锁定放置在队列中。每个这样的区域被分配具有键“lock_area_range”的元数据字段,并且被确定为第一通道的“lock_area_range”的浮点值应当略大于第二通道的宽度,每个其他通道的“lock_area_range”应当小于任何通道的宽度。此外,在一个示例中,创建自动并行区域,例如,封闭临时空间的所有四个通道,使得MRRP允许叉车去往彼此的锁定区域范围内的节点,只要它们在临时空间区域中。
在一个实施例中,第一自主车辆/机器人在临时空间中保持对开放通道的锁定,并且第二机器人正在请求对底部通道的锁定,然后第一机器人不能如在途中的第二机器人一样进入通道并且第一机器人不能如在途中的第二机器人一样利用被动路线离开。临时空间的问题与一个或多个设备的问题相同,但是更可能的是,在临时空间周围的区域中,拥塞可能高得多,并且机器人有更多原因在该区域(例如,仓库中的充电站)中。如前所述,机器人在接收到被动路径时释放用于相应目的地的任何硬锁定(机器人应当保持用于其当前占据的任何区域的软锁定)。在接收到到目的地的非被动路线时,机器人重新获得任何必要的锁定。这种解决方案保证了任何保持锁定的机器人确实能够进入相应的设备空间。例如,如果机器人不能进入设备,则其可以获得被动路径并且释放锁定,从而为其他机器人提供获得用于不同区域的锁定的机会。这意味着,如果机器人坐在线路控制之外或者设备正在阻挡其它机器人,则不能获得锁定,最终所有被阻挡的机器人释放它们的锁定,并且设备之外的机器人可以获得锁定。在另一实施例中,区域元数据可以指定距离阈值以获得锁定。机器人可以在其处于区域的阈值内时获得锁定,并且如果其被推出该区域则释放锁定。通过指定阈值,机器人在获得锁定之前刚好到达临时空间之外,这又确保在临时空间之外等待的其他机器人将获得锁定。
在图1-13的各种实施例中,公开了用于操作环境中的自主车辆管理的方法和***。本公开解决了与在仓库中操作的多个自主车辆相关的领域中的技术问题,所述仓库具有多个楼层并且包括多个设备、设备空间和设备周围的区域。本文描述的各种实施例实现消除死锁、确保无等待时间、自主车辆的协作操作和无碰撞路线规划的步骤。
本公开的实施例提供了针对在导航设备的通道、设备空间或设备周围的区域时协调和管理导航和拾取/放下物品的多个异构机器人的问题的技术方案。本公开的实施例还提供了一种优化解决方案,以便于叉车的任务分配被同步并且确保最大性能、与如移动机架等的其它设备的平滑交互、避免死锁以确保在仓库中的狭窄通道内的移动机架的进入或离开期间没有机器人的等待时间以及多个机器人之间的协作。本公开的实施例还提供用于安全场景的方法和***,其可以允许叉车临时进入应用锁定启用/释放功能的原理的移动机架,与本***的MRRP组件协作,仅针对打开或关闭的那些通道启用/禁用节点。具有移动机架的优点是利用仓库中的空间。在这种具有移动机架的仓库中,可能存在狭窄的通道,其中机器人导航并进行消息交换或彼此相邻地传递。该***必须执行至少两个关键功能,其可以包括设备控制和业务管理。MRRP组件由于调用用于进入或离开机架的不同的相关动作而增加了进入通道的一些成本代价,然而,如果没有选项,则***可以允许机器人进入或离开机架。在一些实施例中,如果叉车在移动机架内停下,那么叉车可以从移动机架手动地离开。这个动作可以断开仓库中的自主事件链,因为叉车可能仍然保持移动机架上的锁定并且已经手动移出。因此,每当叉车重新启动时,在叉车上运行的LBC验证当前位置。如果当前位置不在任何设备中,则LBC释放叉车可能已经在设备上持有的所有锁定。此后,MRRP继续保持该会话有效,直到叉车到达目的地。***还可以使用超时服务来识别GBC没有确认锁定请求的情况,并且在这种情况下可能引发错误。
本方法和***还确保MRRP和移动机架控制器之间的协作,并采取安全预防措施以确保该技术允许多个机器人导航,而没有机器人彼此等待的死锁等。移动机架引起特别的挑战,因为机器人需要导航到这些移动机架的通道中,叉车需要从通道出来,移动机架需要移动以允许叉车进入等。***的功能包括导航、路线规划和设备控制的重叠。该***可扩展到操作环境中的任何设备,如与多个机器人的导航区重叠的仓库。
在一个实施例中,***还避免了可能导致死锁的循环前提条件。例如,为了避免前提条件,本方法和***允许叉车请求在叉车的导航路径中首先遇到的设备上的锁定,而不是请求可能落入其导航路径中的所有其它机架上的锁定。***维持这种情况以确保在所有机架上没有不必要的锁定。在叉车利用移动机架的开放区域之前,***可以触发可以以通用方式处理的进入或退出设备区行为。触发进入或退出设备区的位置被认为是等待点,其基于叉车所走的路线动态地生成,并且将尽可能地靠近机架。而且,本***的GWM存储了设备坐标、通道坐标、机架坐标和通道信息,这些信息在被请求时提供给LBC和GBC。
在一个实施例中,如果在仓库中的特定区域存在安全隐患,则片材挡板可以掉落并防止火势蔓延到其它区域。在一些仓库中,叉车可能必须在夜间工作,因此片材挡板可能在夜间关闭。类似于移动机架,在叉车需要在那些区域中导航的情况下,LBC可以请求许可来处理进入或离开这些区域。片材挡板可以授权许可并打开否则拒绝对锁定的许可。本发明不限于并包括外部设备,其中设备的控制器节点能够作为***的一部分授权或拒绝锁定许可。
本公开的实施例还提供了涉及临时空间的技术问题的解决方案。例如,如果一个机器人在没有锁定的通道(临时空间)外等待,而另一个机器人试图在保持锁定的相邻通道内移动,则两个机器人都不能让步于另一个。在这种情况下,尽管不能到达目的地,但是保持锁定的机器人可能不释放锁定,并且在锁定通道外的机器人可能不会或不能移开,从而产生死锁。在另一示例中,如果机器人试图去通道内但在入口附近的地点,并且另一机器人在等待相邻通道外的锁定,则可能发生类似的问题。在另一个示例中,由于启用的节点附近的禁用的节点,嵌套器通道(在临时空间中嵌套器通过的通道)可能导致错误。本公开的实施例提供了针对上述问题的一个或多个技术方案,即,机器人接收被动路线以释放针对其目的地的任何硬锁定。这保证机器人可以仅在MRRP正向目的地引导时保持硬锁定,然后一旦到达目的地就释放。在另一示例中,可以添加紧邻自主车辆(本文中称为机器人/叉车)的通道,从而为给定被动路径的临时空间附近的机器人创建逃生路线。在尽管没有请求重叠目标但机器人可能被卡住的另一实施例中,在具有重叠目的地的两个或更多个机器人的情况下,则它们中的一些被重新路由到不是它们的最终目的地的目的地,并且MRRP包装器迫使机器人请求被动路径而不是将其留给MRRP核心。因此,如果一个机器人请求目标到接近通道入口的启用地点,并且另一个机器人坐在相邻通道外被改道(并且因此与第一机器人的目标冲突),则第二机器人可能被推开并且被引导到被动路径。
可以利用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是,例如但不限于,电、磁、光、电磁或半导体***、设备或设备,或前述的任何合适的组合。本文所讨论的所有***和过程可以体现在从一个或多个非暂时性计算机可读介质读取的程序代码中。计算机可读存储介质的更具体的示例(非穷举列表)将包括以下:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、具有中继器的适当光纤、便携式光盘只读存储器(CD-ROM)、光存储设备、磁存储设备、或前述的任何合适的组合。在本文档的上下文中,计算机可读存储介质可以是任何有形介质,其可以包含或存储由指令执行***、设备或设备使用或与指令执行***、设备或设备结合使用的程序。在一些实施例中,可以使用硬连线电路来代替或结合用于实现根据一些实施例的过程的程序代码。因此,实施例不限于硬件和软件的任何特定组合。
计算机可读信号介质可以包括例如在基带中或者作为载波的一部分传播的数据信号,其中传播的数据信号具有在其中体现的计算机可读程序代码。这种传播信号可以采取多种形式中的任何一种,包括但不限于电磁、光或其任何合适的组合。计算机可读信号介质可以是任何计算机可读介质,其不是能够传送、传播或传输由指令执行***、设备或设备使用或与指令执行***、设备或设备结合使用的程序的计算机可读存储介质。可以使用任何适当的介质来传输在计算机可读信号介质上包含的程序代码,所述介质包括但不限于无线、有线、光纤电缆、RF或前述的任何适当组合。
用于执行本公开的各方面的操作的计算机程序代码可以以一种或多种编程语言的任何组合来编写。程序代码可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者可以连接到外部计算机(例如,使用因特网服务提供商通过因特网)或在云计算环境中进行连接,或者作为诸如软件即服务(SaaS)、平台即服务(PaaS)或基础设施即服务(IaaS)或机器人即服务(RaaS)或仓库即服务(WaaS)或协作机器人(Cobots)等服务来提供连接,作为服务或其它服务模型。通信可以扩展到有线和无线通信。
本文参考根据本公开的实施例的方法、设备(***)和计算机程序产品的流程图图示和/或框图来描述本公开的方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机程序指令实现。这些计算机程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理设备的处理器以产生机器,使得经由计算机或其他可编程指令执行设备的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的机制。在这点上,流程图或框图中的每个框可以表示代码的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。还应当注意,在一些备选实现中,框中所注释的功能可以不按图中所注释的顺序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作的基于专用硬件的***或专用硬件和计算机指令的组合来实现。
这些计算机程序指令还可以存储在计算机可读介质中,当被执行时,这些计算机程序指令可以引导计算机、其他可编程数据处理设备或其他设备以特定方式工作,使得当存储在计算机可读介质中时,这些指令产生包括指令的制品,当被执行时,这些指令使计算机实现流程图和/或框图的一个或多个框中指定的功能/动作。计算机程序指令还可以被加载到计算机、其他可编程指令执行设备或其他设备上,以使得在计算机、其他可编程设备或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在一个或多个计算机或其他可编程设备上执行的指令提供用于实现流程图和/或框图的一个或多个框中指定的功能/动作的过程。
如本领域技术人员将理解的,本公开的各方面可以在许多可授权专利的类别或背景中的任何类别或背景中示出和描述,包括任何新的和有用的过程、机器、制造或物质组成,或其任何新的和有用的改进。因此,本公开的方面可以被实现为完全硬件、完全软件(包括固件、驻留软件、微代码或其他合适类型的软件)或组合软件和硬件实现,其可以全部在本文中被一般地称为“电路”、“模块”、“组件”或“***”或“平台”或“装置”。此外,本公开的方面可以采取在一个或多个计算机可读介质(例如,有形的、非暂时性计算机可读介质)中体现的计算机程序产品的形式,所述计算机可读介质具有在其上体现的计算机可读程序代码。本公开涉及诸如“用户”、“开发者”、“设计者”、“第三方”、“仓库所有者”、“机器人解决方案提供者”等的术语,并且在若干或特定实施例中使用,然而,这些术语不限于那些特定实施例,并且可以由其他术语替换,因为本发明不受这些术语限制或局限。本公开可以完全在服务器级实现,或者以混合方式实现,其中软件模块(代理)至少部分地在外部设备和/或异构移动机器人上运行,并且在云计算环境中实现。在一个实施例中,本发明可以在不需要服务器或云计算环境的情况下实现,并且在外部设备和/或异构移动机器人上运行的代理的处理和/或计算能力可以能够执行这些实现。
应当理解,上述实施例仅仅是可以构成本发明原理的应用的许多和各种其它实施例的说明。本领域技术人员可以容易地设计出这些其它实施例,而不脱离本发明的精神或范围,并且我们的意图是它们被认为在本发明的范围内。
前面的图表示用于描述根据一些实施例的过程的逻辑架构,并且实际实现可以包括以其它方式布置的一个或多个组件。其它拓扑可以与其它实施例结合使用。此外,本文描述的每个组件或设备可以由经由任何数量的其他公共和/或专用网络进行通信的任何数量的设备来实现。两个或多个这样的计算设备可以彼此远离,并且可以经由任何已知方式的网络和/或专用连接彼此通信。每个组件或设备可以包括适于提供这里描述的功能以及任何其它功能的任何数量的硬件和/或软件元件。例如,在根据一些实施例的***的实现中使用的任何计算设备可以包括执行程序代码的处理器,使得计算设备如本文所述地操作。
如在本申请中所使用的,术语“组件”、“平台”、“模块”和“***”旨在表示计算机相关的实体,其可以是硬件、软件和有形硬件的组合、软件、或执行中的软件。例如,组件可以是但不限于,诸如处理器、芯片存储器、大容量存储设备(例如,光学驱动器、固态驱动器和/或磁存储介质驱动器)和计算机之类的有形组件,以及诸如在处理器上运行的进程、对象、可执行文件、数据结构(存储在易失性或非易失性存储介质中)、模块、执行线程和/或程序之类的软件组件。作为说明,在服务器上运行的应用程序和服务器都可以是组件。一个或多个组件可以驻留在进程和/或执行线程内,并且组件可以位于一个计算机上和/或分布在两个或更多计算机之间。词语“示例性”可在本文中用于表示用作示例、实例或说明。本文描述为“示例性”的任何方面或设计不一定被解释为比其它方面或设计优选或有利。
本文所使用的术语仅用于描述特定方面的目的,而不旨在限制本公开。如本文所用,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非另外明确地陈述了这种排除。还将理解,术语“包括”和/或“包含”在本说明书中使用时,指定所陈述的特征、整数、步骤、操作、元件和/或组件的存在,但不排除一个或多个其它特征、整数、步骤、操作、元件、组件和/或其群组的存在或添加。此外,除非明确地相反地陈述,否则“包括”、“包含”或“具有”(或类似术语)具有特定性质的元件或具有特定性质的多个元件的实施例可包括不具有特定性质的额外此类元件。此外,对当前描述的发明性主题的“实施例”的引用不旨在被解释为排除也结合了所叙述的特征的附加实施例的存在。
以下权利要求中的任何设备或步骤加功能元件的对应结构、材料、动作和等效物旨在包括用于与如具体要求保护的其它要求保护的元件组合执行功能的任何公开的结构、材料或动作。已经出于说明和描述的目的呈现了本公开的描述,但是其不旨在是穷尽的或限于所公开的形式的公开。在不背离本公开的范围和精神的情况下,许多修改和变化对于本领域普通技术人员将是显而易见的。选择和描述本公开的方面以便最佳地解释本公开的原理和实际应用,并且使得本领域的其他普通技术人员能够理解具有适合于所设想的特定使用的各种修改的本公开。
如本文所使用的,术语“可以”和“可能”指示在一组情况内发生的可能性;拥有指定的属性、特性或功能;和/或通过表达与所限定的动词相关联的能力、性能或可能性中的一个或多个来限定另一动词。因此,“可以”和“可能”的使用表示所修饰的术语显然是适当的、能够的或适合于所表示的能力、功能或使用,同时考虑到在一些情况下所修饰的术语有时可能是不适当的、能够的或不合适的。例如,在一些情况下,可以预期事件或容量,而在其它情况下,不能发生事件或容量—这种区别由术语“可以”和“可能”来表示。
如本文所使用的,诸如“***”、“模块”、“平台”或“组件”的术语可以包括操作以执行一个或多个功能的硬件和/或软件。例如,***、模块或控制器可以包括一个或多个计算机处理器或其他基于逻辑的设备,其基于存储在(一个或多个)有形和非暂时性计算机可读存储介质(诸如计算机存储器)上的指令来执行操作。或者,***、模块或控制器可以包括基于设备的硬连线逻辑执行操作的硬连线设备。图中所示的***、模块、组件、平台和控制器可以表示基于软件或硬连线指令操作的硬件、指导硬件执行操作的软件或其组合。
应当理解,本文所述的主题在其应用方面不限于本文的描述中所阐述的或本文的附图中所图示的元件的构造和布置的细节。本文描述的主题可以与一个或多个实施例组合或相互链接以利用各种技术或组件,并且形成可能未在本文明确描述的多个场景或用例。本文所述主题能够是其它实施例,并且能够以各种方式实践或执行。
应当理解,上述描述是说明性的,而不是限制性的。例如,上述实施例(和/或其方面)可以彼此组合使用。此外,在不背离本发明范围的情况下,可以进行许多修改以使特定的情况或材料适应目前描述的主题的教导。因此,本发明主题的范围应当参考所附权利要求以及这些权利要求所授权的等同物的全部范围来确定。在所附权利要求中,术语“包括”和“其中”用作相应术语“包括”和“其中”的简单英语等价物,此外,在所附权利要求中,术语“第一”、“第二”和“第三”等仅用作标记,而不旨在对其对象施加数值要求。此外,以下权利要求的限制不是以设备加功能的格式书写的,并且不打算基于35U.S.C.§112第6段解释,除非并且直到这样的权利要求限制明确地使用短语“用于…的部件”之后是没有进一步结构的功能陈述。
本书面描述使用示例来公开本发明主题的若干实施例,并且还使本领域普通技术人员能够实践本发明主题的实施例,包括制作和使用任何设备或***以及执行任何结合的方法。本发明主题的专利范围由权利要求限定,并且可以包括本领域普通技术人员想到的其它示例。如果这些其它示例具有与权利要求的字面语言没有不同的结构元件,或者如果它们包括与权利要求的字面语言无实质差异的等同结构元件,则这些其它示例旨在处于权利要求的范围内。
本文描述的实施例仅用于说明目的。本领域技术人员将认识到可以对上述实施例进行修改和变更来实践的其它实施例。

Claims (20)

1.一种处理器实现的方法,包括:
响应于由自主车辆从包括一个或多个设备的操作环境中的多个自主车辆中接收的请求,发送路线规划,其中所述路线规划包括包含多个节点的导航段,并且其中所述一个或多个设备包括设备或设备空间;
将所述路线规划分类为路径段,所述路径段包括第一路径段和第二路径段,所述第一路径段包括来自所述多个节点的在所述一个或多个设备的设备区内部的一个或多个节点,所述第二路径段包括来自所述多个节点的在所述一个或多个设备的所述设备区外部的一个或多个节点;
从所分类的路径段中为所述导航段中的所述节点中的每个节点确定路径段的类型,其中所确定的路径段的类型是包括所述一个或多个设备中的第一设备的第一路径段,其中所述第一设备被映射到所述第一路径段的所述一个或多个节点中的第一节点,并且其中所述第一节点被分配第一前提条件,所述第一前提条件包括进入所述第一设备的设备区的动作;以及
基于来自所述一个或多个节点的目的地节点的确定,利用第二前提条件来注释所述第一路径段的所述第一节点,其中所述第二前提条件包括针对所述自主车辆穿过所述第一路径段到达所述目的地节点而执行所述第一设备的硬锁定动作。
2.根据权利要求1所述的方法,还包括:
基于来自所述一个或多个节点的目的地节点的确定,利用第二前提条件来注释所述第一节点,其中所述第二前提条件包括针对所述自主车辆经由所述一个或多个设备穿过所述第一路径段来执行所述第一设备的软锁定动作。
3.根据权利要求1所述的方法,还包括:
从所分类的路径段中为所述节点中的每一个确定路径段的类型,其中所确定的路径段的类型是包括所述一个或多个设备中的第二设备的第一路径段,其中所述第二设备被映射到所述第一路径段的所述一个或多个节点中的第二节点,并且其中所述第二节点被分配第一前提条件,所述第一前提条件包括进入所述第二设备的设备区的动作。
4.根据权利要求1所述的方法,还包括:
从所分类的路径段中为所述导航段中的所述节点中的每个节点确定路径段的类型,其中所确定的路径段的类型是包括所述一个或多个设备中的前一设备和下一设备的所述第二路径段,其中所述前一设备被映射到第一节点,并且所述下一设备被映射到所述第二路径段的最后节点,
其中所述第一节点被注释有第一前提条件,所述第一前提条件包括退出设备区的动作和针对所述第二路径段中的锁定设备的解锁动作,并且其中所述最后节点被注释有包括进入设备区的动作;
基于目的地节点的确定,利用第二前提条件来注释所述第二路径段的所述第一节点,其中所述第二前提条件包括针对所述自主车辆穿过所述第二路径段到达所述目的地节点而执行所述下一设备的硬锁定动作。
5.根据权利要求4所述的方法,还包括:
基于来自所述一个或多个节点的目的地节点的确定,利用第二前提条件来注释所述第一节点,其中所述第二前提条件包括针对所述自主车辆经由所述一个或多个设备穿过所述第二路径段来执行所述下一设备的软锁定动作。
6.根据权利要求4所述的方法,还包括
从分类的路径段为行进到所述目的地节点的所述节点中的每个节点确定路径段的类型,其中所确定的路径段的类型是包括来自所述一个或多个设备中的第二设备的第二路径段,其中所述第二设备被映射到来自所述第二路径段的所述一个或多个节点中的第二节点,其中所述第二节点被分配第一前提条件,所述第一前提包括进入所述第二设备的设备区的动作。
7.根据权利要求1所述的方法,还包括:
通过所述自主车辆经由所确定的路径段的类型行进而在所述第一节点上发起所述注释动作;
在所述第一节点行进到所确定的路径段的类型的下一节点时满足所述第一前提条件;
在满足所述第一前提条件时完成所述注释动作,其中所述注释动作的完成更新要行进到所述目的地节点的所确定的路径段的类型。
8.根据权利要求7所述的方法,其中,在所述第一节点上满足所述第一前提条件包括由所述自主车辆穿过所确定的路径段的类型以到达所述目的地节点而完成的动作。
9.根据权利要求1所述的方法,还包括:
基于分配给所述自主车辆的任务发起被动路径请求,其中基于分配给所述自主车辆的所述任务的优先级批准所述被动路径请求。
10.根据权利要求9所述的方法,还包括:
在接收到被动路径请求时,由所述一个或多个自主车辆释放硬锁定动作;以及
在接收到去往所述目的地节点的非被动路径请求时,由所述一个或多个自主车辆重新获取所释放的硬锁定。
11.一种***,包括:
存储器,存储指令;
耦合到所述存储器的处理器,其中所述处理器由所述指令配置成:
响应于由自主车辆从包括一个或多个设备的操作环境中的多个自主车辆中接收的导航请求,发送路线规划,其中所述路线规划包括具有多个节点的导航段,并且其中所述一个或多个设备包括设备或设备空间;
将所述路线规划分类为路径段,所述路径段包括第一路径段和第二路径段,所述第一路径段包括来自所述多个节点的在所述一个或多个设备的设备区内部的一个或多个节点,所述第二路径段包括来自所述多个节点的在所述一个或多个设备的所述设备区外部的一个或多个节点;
从所分类的路径段中为所述导航段中的所述节点中的每个节点确定路径段的类型,其中所确定的路径段的类型是包括所述一个或多个设备中的第一设备的第一路径段,其中所述第一设备被映射到所述第一路径段的所述一个或多个节点中的第一节点,并且其中所述第一节点被分配第一前提条件,所述第一前提条件包括进入所述第一设备的设备区的动作;以及
基于目的地节点的确定,利用第二前提条件来注释所述第一路径段的所述第一节点,其中所述第二前提条件包括针对所述自主车辆穿过所述第一路径段到达所述目的地节点而执行所述第一设备的硬锁定动作。
12.根据权利要求11所述的***,还被配置为:
基于目的地节点的确定,利用第二前提条件来注释所述第一节点,其中所述第二前提条件包括针对所述自主车辆的所述第一设备经由所述一个或多个设备穿过所述第一路径段执行软锁定动作。
13.根据权利要求11所述的***,还被配置为:
从所分类的路径段中为所述节点中的每一个确定路径段的类型,其中所确定的路径段的类型是包括所述一个或多个设备中的第二设备的第一路径段,其中所述第二设备被映射到所述第一路径段的所述一个或多个节点中的第二节点,并且其中所述第二节点被分配第一前提条件,所述第一前提条件包括进入所述第二设备的设备区的动作。
14.根据权利要求11所述的***,还被配置为:
从所述分类的路径段为所述导航段中的所述节点中的每个节点确定路径段的类型,其中所确定的路径段的所述类型是包括所述一个或多个设备中的前一设备和下一设备的所述第二路径段,其中所述前一设备被映射到第一节点,并且所述下一设备被映射到所述第二路径段的最后节点,
其中所述第一节点被注释有第一前提条件,所述第一前提条件包括退出设备区的动作和针对所述第二路径段中的锁定设备的解锁动作,并且其中所述最后节点被注释有包括进入设备区的动作;
基于目的地节点的确定,利用第二前提条件来注释所述第二路径段的所述第一节点,其中所述第二前提条件包括针对所述自主车辆穿过所述第二路径段到达所述目的地节点而执行所述下一设备的硬锁定动作。
15.根据权利要求14所述的***,还被配置为:
基于目的地节点的确定,利用第二前提条件来注释所述第一节点,其中所述第二前提条件包括针对经由所述一个或多个设备穿过第二路径段的所述自主车辆的所述下一设备执行软锁定动作。
16.根据权利要求14所述的***,还被配置为:
从分类的路径段为行进到所述目的地节点的所述节点中的每个节点确定路径段的类型,其中所确定的路径段的类型是包括来自所述一个或多个设备中的第二设备的第二路径段,其中所述第二设备被映射到来自所述第二路径段的所述一个或多个节点中的第二节点,其中所述第二节点被分配第一前提条件,所述第一前提包括进入所述第二设备的所述设备区的动作。
17.根据权利要求11所述的***,还被配置为:
通过所述自主车辆经由所确定的路径段的所述类型行进而在所述第一节点上发起所述注释动作;
在所述第一节点行进到所确定的路径段的所述类型的下一节点时满足所述第一前提条件;
在满足所述第一前提条件时完成所述注释动作,其中所述注释动作的完成更新要行进到所述目的地节点的所确定的路径段的类型。
18.根据权利要求17所述的***,其中在所述第一节点上满足所述第一前提条件包括由穿过所确定的路径段的类型以到达所述目的地节点的所述自主车辆完成的动作。
19.一种非暂时性计算机可读介质,具有在其上体现的计算机程序,所述方法包括:
响应于由自主车辆从包括一个或多个设备的操作环境中的多个自主车辆中接收的导航请求,发送路线规划,其中所述路线规划包括具有多个节点的导航段,并且其中所述一个或多个设备包括设备或设备空间;
将所述路线规划分类为路径段,所述路径段包括第一路径段和第二路径段,所述第一路径段包括来自所述多个节点的在所述一个或多个设备的设备区内部的一个或多个节点,所述第二路径段包括来自所述多个节点的在所述一个或多个设备的所述设备区外部的一个或多个节点;
从所分类的路径段中为所述导航段中的所述节点中的每个节点确定路径段的类型,其中所确定的路径段的类型是包括所述一个或多个设备中的第一设备的第一路径段,其中所述第一设备被映射到所述第一路径段的所述一个或多个节点中的第一节点,并且其中所述第一节点被分配第一前提条件,所述第一前提条件包括进入所述第一设备的设备区的动作;以及
基于目的地节点的确定,利用第二前提条件来注释所述第一路径段的所述第一节点,其中所述第二前提条件包括针对所述自主车辆穿过所述第一路径段到达所述目的地节点而执行所述第一设备的硬锁定动作。
20.根据权利要求19所述的非暂时性计算机可读介质,还包括:
基于目的地节点的确定,利用第二前提条件来注释所述第一节点,其中所述第二前提条件包括针对经由所述一个或多个设备穿过所述第一路径段的所述自主车辆的所述第一设备执行软锁定动作。
CN202210080021.3A 2021-01-22 2022-01-24 操作环境中的自主车辆管理 Pending CN114803240A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202163140299P 2021-01-22 2021-01-22
US63/140,299 2021-01-22
US17/539,223 2021-12-01
US17/539,223 US11975954B2 (en) 2021-01-22 2021-12-01 Autonomous vehicles management in an operating environment

Publications (1)

Publication Number Publication Date
CN114803240A true CN114803240A (zh) 2022-07-29

Family

ID=80446235

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210080021.3A Pending CN114803240A (zh) 2021-01-22 2022-01-24 操作环境中的自主车辆管理

Country Status (5)

Country Link
US (1) US11975954B2 (zh)
EP (1) EP4033206B1 (zh)
JP (1) JP7394353B2 (zh)
CN (1) CN114803240A (zh)
CA (1) CA3146465A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11763216B2 (en) * 2021-01-25 2023-09-19 6 River Systems, Llc Systems and methods for determining dynamic substitutions to minimize distance
CN117132012B (zh) * 2023-10-27 2024-03-29 武汉理工大学 一种预测冲突危险区的多船避碰方法、电子设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170017236A1 (en) * 2015-07-17 2017-01-19 Korea University Research And Business Foundation Automated guided vehicle system based on autonomous mobile technique and a method for controlling the same
CN108981730A (zh) * 2017-05-31 2018-12-11 百度(美国)有限责任公司 用于为操作自动驾驶车辆生成参考路径的方法和***
US20190146509A1 (en) * 2017-11-14 2019-05-16 Uber Technologies, Inc. Autonomous vehicle routing using annotated maps
CN110727276A (zh) * 2018-07-17 2020-01-24 百度(美国)有限责任公司 用于自动驾驶车辆的多模态运动规划框架
CN110737262A (zh) * 2018-07-03 2020-01-31 松下知识产权经营株式会社 移动体控制***及控制方法、移动体***以及记录介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6373304A (ja) * 1986-09-16 1988-04-02 Shinko Electric Co Ltd 無人搬送車の衝突防止装置
CN108357886A (zh) 2017-01-26 2018-08-03 菜鸟智能物流控股有限公司 物品拣选方法及相关设备
JP7180613B2 (ja) 2017-12-12 2022-11-30 ソニーグループ株式会社 情報処理装置および情報処理方法
EP3980952A4 (en) 2019-06-04 2023-04-26 Seegrid Corporation DYNAMIC ASSIGNMENT AND COORDINATION OF AUTOMATIC NAVIGATION VEHICLES AND PREPARATORS
CN113589822A (zh) 2020-08-20 2021-11-02 深圳市海柔创新科技有限公司 仓库机器人导航路线预约

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170017236A1 (en) * 2015-07-17 2017-01-19 Korea University Research And Business Foundation Automated guided vehicle system based on autonomous mobile technique and a method for controlling the same
CN108981730A (zh) * 2017-05-31 2018-12-11 百度(美国)有限责任公司 用于为操作自动驾驶车辆生成参考路径的方法和***
US20190146509A1 (en) * 2017-11-14 2019-05-16 Uber Technologies, Inc. Autonomous vehicle routing using annotated maps
CN110737262A (zh) * 2018-07-03 2020-01-31 松下知识产权经营株式会社 移动体控制***及控制方法、移动体***以及记录介质
CN110727276A (zh) * 2018-07-17 2020-01-24 百度(美国)有限责任公司 用于自动驾驶车辆的多模态运动规划框架

Also Published As

Publication number Publication date
CA3146465A1 (en) 2022-07-22
US20220234872A1 (en) 2022-07-28
US11975954B2 (en) 2024-05-07
JP2022113141A (ja) 2022-08-03
EP4033206B1 (en) 2024-06-19
EP4033206A1 (en) 2022-07-27
JP7394353B2 (ja) 2023-12-08

Similar Documents

Publication Publication Date Title
US10852745B2 (en) Autonomous driving robot apparatus and method for autonomously driving the robot apparatus
US9448560B2 (en) System and method for coordinating movement of mobile drive units
US9519284B2 (en) Transporting inventory items using mobile drive units and conveyance equipment
US8220710B2 (en) System and method for positioning a mobile drive unit
CN114803240A (zh) 操作环境中的自主车辆管理
US20130302132A1 (en) System and Method for Maneuvering a Mobile Drive Unit
US11860621B2 (en) Travel control device, travel control method, travel control system and computer program
US11468770B2 (en) Travel control apparatus, travel control method, and computer program
US20210123766A1 (en) Travel control apparatus, mobile body, and operation system
JP2015060336A (ja) 床位置検出方法を用いた無人搬送車及び無人搬送システム
JP2024045465A (ja) 走行制御装置、走行制御方法及びコンピュータプログラム
JP2003292116A (ja) 搬送システム
JP7511598B2 (ja) 情報処理方法、情報処理装置及びプログラム
JP7499288B2 (ja) 情報処理方法、情報処理装置及びプログラム
CN112368661B (zh) Agv***和控制agv***的方法
JP2023136223A (ja) 情報処理装置、移動制御システム、情報処理方法及びプログラム
WO2023136047A1 (ja) 情報処理装置、情報処理方法およびプログラム
US20230306839A1 (en) Information processing method, information processing device, and program
WO2024102292A1 (en) System and method for optimized traffic flow through intersections with conditional convoying based on path network analysis
CN112368661A (zh) Agv***和控制agv***的方法
JP2023136224A (ja) 情報処理方法、情報処理装置及びプログラム
JP2023177466A (ja) 自動走行システム、自動走行方法、及び自動走行プログラム
JP2007014616A (ja) 配膳車の誘導装置
JP2020087108A (ja) 搬送車システム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination