Path planning system
The path planning system addresses the challenge of unified automation across facilities by converting high-level tasks into precise robot commands, enhancing warehouse efficiency through continuous coordination and adaptive task management.
Patent Information
- Application Number
- PCT/US2025/036833
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-07-09
- Filing Date
- 2025-07-08
- Publication Date
- 2026-01-15
AI Technical Summary
Current warehouse management systems lack a unified framework to orchestrate physical automation across multiple facilities, vehicle types, and robotic platforms in real time, leading to inefficiencies in managing large fleets of mobile robots.
A computer-implemented path planning system that integrates with ERP systems to convert abstract tasks into precise robot control commands, providing continuous coordination, task assignment, and path planning based on the evolving state of a mission and facility, using a mission planner with components like the action reducer, goalframe generator, and horizon planner to optimize operations.
Enhances the efficiency and organization of goods management by enabling seamless operation of large fleets of mobile robots, reducing human intervention, and adapting to dynamic conditions, thus optimizing warehouse operations.
Smart Images

Figure US2025036833_15012026_PF_FP_ABST
Abstract
Description
[0001] PATH PLANNING SYSTEM
[0002] CROSS-REFERENCE TO RELATED APPLICATION
[0003] This application claims the benefit under 35 U.S.C. § 119(e) of co-pending U.S. Provisional Patent Application No. 63 / 668,983 titled PATH PLANNING SYSTEM filed on July 9, 2024, which is herein incorporated by reference in its entirety for all purposes.
[0004] BACKGROUND OF THE DISCLOSURE
[0005] Traditional warehouse management systems (WMSs) and transportation management systems (TMSs) have evolved from manual, spreadsheet-based tracking methods to sophisticated, software- driven platforms. These systems are designed to improve the organization, efficiency, and flow of goods within and between facilities. Core WMS functions include tracking the arrival and departure of goods, maintaining precise inventory levels and locations, optimizing spatial utilization, and coordinating material handling tasks within a facility, such as a warehouse. TMS platforms complement these capabilities by managing the routing, scheduling, and execution of goods movement between facilities across land, sea, and air transportation modes. In many cases, WMS and TMS platforms operate as intermediaries, processing directives from higher-level enterprise resource planning (ERP) systems and other business platforms that govern supply chain priorities, orders, and inventory policies. Increasingly, WMS and TMS platforms are integrated, enabling coordinated control over end-to-end logistics operations. Meanwhile, automation management systems responsible for directing robotic platforms have become increasingly common, often receiving task directives from WMS / TMS via human-machine interfaces. However, current approaches lack a unified framework capable of natively orchestrating physical automation across multiple facilities, vehicle types, and robotic platforms in real time.
[0006] SUMMARY OF THE DISCLOSURE
[0007] One aspect of the present disclosure is directed to a computer-implemented path planning system comprising a storage device configured to store a plurality of basic unit instructions, one or more of the basic unit instructions having at least one procedure identifier, at least one processor coupled to the storage device and the communication network, and one or more components executable by the at least one processor and collectively configured to continuously retrieve data from a database, including information about automated pallets, convert data into a detailed ledger of actions to accomplish activities or missions within a facility, generate a list of goalframes, and provide paths for automated pallets based on the goalframes.
[0008] Embodiments of the computer-implemented path planning system further may include providing continuous coordination, task assignment, and path planning based on the evolving state of a mission and the facility.
[0009] Another aspect of the present disclosure is directed to a path planning system comprising continuously retrieving data from a database, including information about automated pallets, converting data into a detailed ledger of actions to accomplish activities or missions within a facility, generating a list of goalframcs, and providing paths for automated pallets based on the goalframcs.
[0010] Embodiments of the path planning system further may include providing continuous coordination, task assignment, and path planning based on the evolving state of a mission and the facility.
[0011] One aspect of the present disclosure is directed to a computer-implemented path planning system. In one embodiment, the computer-implemented path planning system comprises a storage device configured to store a plurality of basic unit instructions, one or more of the basic unit instructions having at least one procedure identifier, at least one processor coupled to the storage device and the communication network, and one or more components executable by the at least one processor and collectively configured to continuously retrieve data from a database, including information about automated pallets, convert data into a detailed ledger of actions to accomplish activities or missions within a facility, provide paths for automated pallets based on the goalframes provided by a mission planner; and directing automated pallets to travel along respective paths.
[0012] Embodiments of the computer-implemented path planning system further may include providing continuous coordination, task assignment, and path planning based on the evolving state of a mission and the facility. The computer-implemented path planning system further may include defining a state of a zone of the facility and creating a layout of a grid in the zone. The grid may include a digital matrix of cells. Generating the list of goalframes by the mission planner may include identifying one or more cells to store automated pallets when not being used. Generating the list of goalframes by the mission planner further may include identifying at least one destination cell and one or more pathway cells that define a pathway to the at least one destination cell. Generating the list of goalframes by the mission planner further may include identifying cells of the pathway cells where automated pallets can cross but not stop. Generating the list of goalframes by the mission planner further may include identifying one or more cells that are blocked. The computer-implemented path planning system further may include based on information provided by the mission planner, creating an optimization routine including a basic implementation of a path planning algorithm, providing multiple versions of a path planning algorithm, evaluating the multiple versions of the path planning algorithm in identical simulated environments, and based on the comparative results, iteratively refining the multiple versions of the path planning algorithm to define an implemented path planning algorithm. The computer-implemented path planning system further may include testing the implemented path planning algorithm until a predetermined success rate is achieved.
[0013] Another aspect of the present disclosure is directed to a path planning method comprising: optionally retrieving data from automated pallets; continuously retrieving data from a database, including information about automated pallets; converting data into a detailed ledger of actions to accomplish activities or missions within a facility; and providing paths for automated pallets based on the goalframes provided by a mission planner.
[0014] Embodiments of the path planning method further may include providing continuous coordination, task assignment, and path planning based on the evolving state of a mission and the facility. The path planning method further may include defining a state of a zone of the facility and creating a layout of a grid in the zone. The grid may include a digital matrix of cells. Generating the list of goalframes by the mission planner may include identifying one or more cells to store automated pallets when not being used. Generating the list of goalframes by the mission planner further may include identifying at least one destination cell and one or more pathway cells that define a pathway to the at least one destination cell. Generating the list of goalframes by the mission planner further may include identifying cells of the pathway cells where automated pallets can cross but not stop. Generating the list of goalframes further may include identifying one or more cells that are blocked. The path planning method further may include based on information provided by the mission planner, creating an optimization routine including a basic implementation of a path planning algorithm, providing multiple versions of a path planning algorithm, evaluating the multiple versions of the path planning algorithm in identical simulated environments, and based on the comparative results, iteratively refining the multiple versions of the path planning algorithm to define an implemented path planning algorithm. The path planning method further may include testing the implemented path planning algorithm until a predetermined success rate is achieved. BRIEF DESCRIPTION OF DRAWINGS
[0015] The accompanying drawings are not intended to be drawn to scale. In the drawings, each identical or nearly identical component that is illustrated in various figures is represented by a like numeral. For purposes of clarity, not every component may be labeled in every drawing. In the drawings:
[0016] FIG. 1 is a view an area of an exemplary facility divided into a grid of cells;
[0017] FIG. 2 is a view of the area showing zones and uses within the grid of cells;
[0018] FIG. 3 is a view of the area showing cells being occupied by automated robots or having automated robots passing therethrough;
[0019] FIGS. 4A and 4B are views of the area showing a current state and a desired state, respectively;
[0020] FIGS. 5 A and 5B are views of the area showing movement of automated robots from origin cells to destination cells, respectively;
[0021] FIGS. 6 A and 6B are views of the area showing several path options for the movement of two automated robots from their origin cells to their destination cells, respectively;
[0022] FIGS. 7 A and 7B are views of the area showing a selected path for the movement of the two automated robots from their origin cells to their destination cells, respectively;
[0023] FIGS 8A, 8B and 8C are views of the area showing a current state, an interim state and a desired state, respectively;
[0024] FIGS. 9 A and 9B are views of the area showing the selected path for the movement of two automated pallets in the interim state, respectively, with a projected time being illustrated in FIG. 9B;
[0025] FIGS. 10A and 10B are views of the area showing another embodiment of the current state and the desired state, respectively;
[0026] FIGS 11 A and 1 IB are views of two automated robots showing a current state and a desired state, respectively;
[0027] FIG. 12 is a view of two single item pallets, two additional single item pallets, and a mixed item pallet;
[0028] FIG. 13 is a diagram of data flow within a path planning system;
[0029] FIG. 14 is a diagram of data flow within a mission planning system;
[0030] FIG. 15 is a block diagram of one example of a computer system that may be used to perform processes and functions disclosed herein; and
[0031] FIG. 16 is a flow diagram of a path planning method of an embodiment of the present disclosure. DETAILED DESCRIPTION
[0032] Aspects of the present disclosure are directed to a system incorporating an interface network that unifies the core functionalities of the WMS, the TMS, and an automation management and robotic control system where a mission planning system converts abstract, high-level tasks generated by the WMS and TMS into precise robot control commands. The system is configured to enable large fleets of mobile robots to perform valuable activities within warehouse and logistics environments with minimal human intervention. By integrating the interface network with ERP systems, the overall efficiency and organization of goods management arc significantly improved.
[0033] Aspects of the system are directed to enabling a user to select / identify a facility location for management. Upon selection, the user is presented with a warehouse dashboard for the selected facility to enable the user to manage day-to-day activities of the facility location. The user is presented with a discrete 2D plan of the facility location with all contained robotic entities and products. The user can manage inventory of products contained within the facility. The user can manipulate robotic entities contained within the facility. The warehouse dashboard is configured to allow the user to fully monitor all activity and provide input when manual intervention is required.
[0034] In one embodiment, the system includes a warehouse dashboard to enable the user to manage aspects of the products contained within the facility location. The system can be configured to include an advanced shipping notice to provide notice of upcoming deliveries sent by a facility to a receiving facility. When an order is accepted by the receiving facility, an inbound order generated by the system is processed by the receiving facility. The system enables the user to inspect the products shipped from one facility to another facility. It should be noted that products stored and transported on automated pallets orchestrated by the system are visible at all times and may be viewed by the user on the warehouse dashboard. The system further allows users to coordinate scheduling with inbound and outbound vehicles, assign loading and unloading points, and adjust routing or timing based on real-time updates, thereby fulfilling essential transportation management system functionality.
[0035] The system further includes a picking dashboard to enable a user to retrieve items from the facility. The picking dashboard provides the user with detailed options to selecting and retrieving items. An item window is provided to enable the user to view the selected item or items. In one embodiment, the system can be configured to select an order in which products are stacked on the automated pallet to ensure an efficient stacking order. This in turn determines an order in which automated pallets are moved from the storage area to the picking area where products are moved between automated pallets. Products can be moved between automated pallets in one of two ways, by a human as instructed by a picking screen of the user interface or by direct control of a pick and place robot which can be an articulating arm or gantry fitted with suction or grip hardware for the purpose of picking up items such as boxes of products and moving them between automated pallets. Products can also be moved without the use of automated pallets by other robotic entities, such as humanoid robots. The system further includes an outbound dashboard, such as a pop-up modal within the warehouse dashboard, in which the selected item or items are positioned near a delivery point, such as a loading dock, to be retrieved. The outbound dashboard provides an order notification to process the delivery of the item or items to the receiving party. The system further includes a 3D facility visualization to enable the user to view day-to-day activities using augmented or virtual reality technology.
[0036] To operate a fleet of mobile robots that scales to quantities of numerous thousands, a mission planning system and a collaborative path planning are disclosed herein. Within the overall system, a path planning system may be invoked by the mission planning system. The path planning system may take as an input desired robot destinations and their current locations. An output may involve individual movement commands to be passed down to the robots when appropriate. Just as there are different types and styles of zones within a warehouse, there are different types / styles of path planning algorithms that may be used for those zones. The path planning system may invoke an optimal path planning algorithm.
[0037] One aspect of these systems involves the movement of goods within warehouses, specifically on automated pallets, a type of mobile robot, navigating through various areas of the warehouses, such as storage, interaction, circulation, and obstacles, which may be organized into zones.
[0038] To facilitate the seamless operation of large fleets of mobile robots across warehouse and logistics environments, embodiments of the systems and methods disclosed herein are deployed. The system and method disclosed herein address the challenge of converting abstract, high-level tasks into precise robot control commands, personnel instructions, and comprehensive warehouse schedules. By effectively translating these abstract tasks into actionable commands and schedules, the method ensures the achievement of activities within the warehouse.
[0039] These systems and methods are often integrated with ERP systems, which generate tasks and operations that require labor-intensive execution. The integration of the systems results in the generation of comprehensive to-do lists, enabling streamlined and efficient task management.
[0040] The ability to convert abstract, high-level tasks into specific robot control commands is needed to optimize operations in a warehouse environment. It allows for the automation of complex tasks, reducing human intervention and enhancing overall efficiency. The systems and methods disclosed herein improve the way warehouses and logistics environments operate, streamlining processes and maximizing productivity.
[0041] In summary, the disclosed system and method address the challenges associated with optimizing warehouse operations by converting abstract, high-level tasks into precise robot control commands, personnel instructions, and comprehensive schedules. The system and method enable large fleets of mobile robots, including automated pallets, to perform valuable activities within warehouse and logistics environments. By integrating these systems with ERP systems, the overall efficiency and organization of goods management arc significantly improved.
[0042] One embodiment of the present disclosure includes a mission planner of the mission planning system, which is a sophisticated software system designed to operate on a computer located at the facility, generally referred to as an on-site node, facilitating seamless communication with the cloud software, robots, and personnel within the facility. In a certain embodiment, the mission planner consists of three main components: an action reducer, a goalframe generator, and a horizon planner.
[0043] 1. Action Reducer: The action reducer component continuously retrieves relevant data from the cloud software and databases of the interface network, including information about robots, items, activities, trucks, and more. Information can also be retrieved from the automated pallets directly. The action reducer converts this data into a detailed ledger of required actions necessary to accomplish activities or missions within the facility. The action reducer also considers optimization of the facility and robots, adding actions to enhance organization. Additionally, the action reducer can interact with a stacking algorithm to determine the number of stacks required to fulfill specific orders. As the ledger of actions is constructed, the action reducer assigns the appropriate robots and personnel necessary to perform these actions. This information is then passed to the goalframe generator.
[0044] 2. Goalframe Generator: The goalframe generator is invoked by the mission planning system when actions generated by the action reducer require repositioning of entities within the facility. The goalframe generator takes the assigned robots and personnel for each action and composes this information into a sequential list of goalframes, which are structured data required by a path planning system. By creating this list of goalframes, the goalframe generator enables the invocation of the path planning system, which generates individual robot motion commands based on the goalframes.
[0045] The action reducer and goalframe generator components form a continuous loop, where the outputs of each component feed into the other. This loop ensures a seamless flow of information and coordination between the actions, assigned robots, and personnel. The loop can be run indefinitely, allowing for continuous operation of the facility enabled by an interface network system.
[0046] 3. Horizon Planner: The horizon planner employs a parallel computing strategy to expedite the processes of the action reducer and goalframe generator. The horizon planner is trained on previously collected data for the given facility, customer workflows, and leverages parallel computing techniques; the algorithm estimates a full schedule for the facility up to a parameterized "horizon" period, such as two days or three days by performing accelerated simulation. This estimation provides an overview of the planned activities and resources within the facility, allowing for proactive decision-making and optimization.
[0047] The mission planning system can execute a variety of mission types, which require the movement of robotic entities, including but not limited to:
[0048] • Fulfilling Orders for the Interface Network: The system efficiently processes incoming orders and generates the necessary actions to fulfill them accurately by a deadline set by the interface network.
[0049] • Building Mixed Pallets: The system optimizes the assembly of mixed pallets, considering factors, such as item compatibility, weight distribution, and stacking constraints, as determined by a stacking algorithm. The mission planning system further orchestrates the operation of peripheral equipment, such as picking robots, to assemble mixed items as directed by the mission planning system on to the automated pallets.
[0050] • Reorganizing Storage: The system analyzes the facility layout and performs actions to optimize storage organization, ensuring efficient item retrieval and storage operations.
[0051] • Consolidating Stacks to Create More Empty Automated Pallets: The system intelligently consolidates stacks to maximize available empty automated pallets, improving overall storage capacity and utilization.
[0052] • Inbound and Outbound Handling: The system manages the movement of goods during inbound and outbound processes, coordinating actions for efficient loading and unloading operations.
[0053] • Scheduling Personnel for Interaction Activities: The system assigns personnel to specific activities that require human intervention or interaction, ensuring efficient utilization of human resources.
[0054] • Dynamic Scheduling due to Unexpected Delays / Events: The system dynamically adjusts the schedule in response to unexpected delays or events, optimizing resource allocation and minimizing disruptions. Accommodates plans for maintenance activities of any robotic entity operating within the facility.
[0055] In one embodiment, a mission planning sequence includes the following steps.
[0056] 1. The cloud collects the following data: a. Orders of what items need to be taken in and / or released from the warehouse, where they are going to and from and when they will arrive or need to depart from the ERP. b. The time in which the vehicle carrying the arriving or departing items is scheduled to arrive or depart, respectively, as well as real-time updates on those projects as the vehicle’s situation changes. c. The metadata on the items relevant to how they will be stacked on an automated pallet with other items going to the same destination, such as the case dimensions, mass, and box crush rating from the item master database.
[0057] The mission planner receives this information from the cloud software.
[0058] 2. The action reducer finds all automated pallets that have the required items, and optimally chooses which ones to use to accomplish each mission. This decision is based on accessibility of the automated pallet within the storage area and the availability of the required quantity of items on the automated pallet.
[0059] 3. The action reducer invokes the stacking algorithm to figure out how items that are part of the same order are optimally stacked together and how many empty (outbound) automated pallets will be needed to carry those stacks and then creates the exact stacks required to be built and pairs the stacks with empty automated pallets.
[0060] 4. The action reducer generates a ledger of unassigned actions by decomposing the overall mission. An example of an action in this ledger is: move Pallet 1 to picking cell position [10, 12] on the grid. The action reducer is configured with a set of parameters that change how actions are created. For clarity, everything in the warehouse and the back of the truck when parked at the loading dock of a warehouse are divided into a grid of cells the size of an automated pallet that an automated pallet can occupy in certain ways based on the cell’s designated function. Storage cells allow automated pallets to park in the facility or inside a truck, circulation cells allow automated pallets to pass through but not stop, and interaction cells allow automated pallets to park while a human or other robot to manipulates the items it is carrying.
[0061] 5. The action reducer begins to iterate over the ledger of unassigned actions and assigns tasks based on priorities set by the ERP, number of personnel, truck availability, and many other dynamic events. In addition, the action reducer is configured with a set of parameters that change how actions are assigned.
[0062] 6. If an assigned task requires the movement of automated pallets (or other robots that are controlled by the mission planner in the future) integrated into the interface network system, then the goalframe generator is invoked. This component takes the list of assigned tasks that require robot motion and generates structured data known as goalframes. A goalframe describes the current state of the facility and the desired state after all selected robotic entities are moved.
[0063] 7. The goalframe generator takes a list of assigned tasks that require robot motion and creates structured data (called a goalframc) describing the zone’s state prior to any robot moves, and desired state post robot moves.
[0064] 8. The goalframe generator then invokes the path planning system to work out the exact moves required to satisfy the desired state of the goalframe. This is essentially how many grid spaces in which direction and which order are required to get from the automated pallet origin cell to the desired destination cell.
[0065] 9. Steps 5 - 8 are looped until the mission is complete.
[0066] 10. The horizon planner keeps track of the sequence of robot commands as well as personnel instructions generated within the mission planner. The mission planner can spawn another thread of computation to project schedules for days in advance or as far out as the data collected in step on is available.
[0067] 11. The sequences of commands (otherwise known as plans) created by the mission planner are sent to the robot control system at the appropriate time and order to begin true movement and activity within the facility.
[0068] In summary, the mission planner, sometimes referred to a mission planning system, incorporates the action reducer, goalframe generator, and horizon planner components to enable efficient planning, coordination, and scheduling of activities within the facility. The mission planner supports a variety of mission types, allowing for seamless fulfillment of orders, pallet building, storage reorganization, and more. The ability of the system to dynamically adapt to unexpected events ensures optimal resource utilization and operational efficiency.
[0069] The following detailed description provides technical information regarding the process of resolving a mission using the interface network system. The example illustrates the data flow and steps involved in fulfilling a specific order, but it is important to note that the disclosed approach can be applied to various types of missions. Retrieval of Order Information and Item Metadata:
[0070] The mission planning system receives the order information from the cloud software.
[0071] Additionally, the mission planning system retrieves the required metadata about the items from the item master database. This metadata includes dimensions, mass, box crush rating, and other relevant information about the items.
[0072] Automated pallet selection:
[0073] The action reducer component searches for automated pallets within the facility that contain the required items. Using optimization algorithms, it determines the optimal selection of automated pallets to fulfill the mission efficiently.
[0074] Stacking algorithm:
[0075] The action reducer invokes the stacking algorithm to determine the number of outbound automated pallets required and the specific stacks that need to be built to accommodate the order.
[0076] Generation of unassigned actions:
[0077] The action reducer decomposes the overall mission and generates a ledger of unassigned actions. Each action represents a specific task that needs to be performed. For example, an action could be moving a pallet, e.g., “Pallet 1”, to picking cell position on a grid, e.g., position “[10, 12]”. The creation of actions is configurable using parameters that allow for customization.
[0078] Assignment of tasks:
[0079] The action reducer iterates over the ledger of unassigned actions and assigns tasks based on various factors, such as priorities, the availability of personnel and trucks, and dynamic events. Task assignment is configurable using parameters that allow for flexibility and customization.
[0080] Invocation of the goalframe generator:
[0081] If an assigned task requires the movement of automated pallets or other robots integrated into the interface network system, the goalframe generator is invoked. This component takes the list of assigned tasks that require robot motion and generates structured data known as a goalframe. The goalframe describes a current state of the zone and a desired state after the robot moves.
[0082] Creation of goalframes:
[0083] The goalframe generator creates goalframes by representing the zone’s current state and the desired state in a structured format. The goalframe provides a visual representation of the zone, including automated pallets, picking modules, picking personnel, and the areas to be altered for the mission. FIGS. 1A and IB illustrate examples of a goalframe showing a current state of a zone (FIG. 1A) and a desired state of the zone (FIG. IB). FIG. 1A shows a storage area and FIG. IB shows an interaction area. Specifically, squares, each indicated at 2, represent picking personnel or automated pallets located in an interaction area. Squares, each indicated at 4, represent automated pallets.
[0084] Squares, each indicated at 6, represent automated pallets that are required to move for the purpose of the stated mission. Squares, each indicated at 8, represent automated pallets that are moved by the picking personnel.
[0085] Path planning:
[0086] The goalframe generator invokes a path planning system, which utilizes the goalframes to determine the exact robot moves required to achieve the desired state. The path planning system generates detailed robot motion commands based on the information provided in the goalframcs.
[0087] In some embodiments, for the purposes of path planning, the state of a zone can be fully defined by locations of all robots and the layout of the underlying grid in that zone. The underlying grid here refers to a digital matrix of square cells imposed by the interface network system for the purposes of robot navigation and organization. The four categories of cells defined in goalframes for path planning are:
[0088] Storage - Where automated pallets and the items they convey will be stored when not being interacted with.
[0089] Interaction - Where automated pallets will complete missions assigned form the Mission Planning System (e.g., picking, loading onto truck, consolidation, charging, etc.).
[0090] Circulation - Where automated pallets can cross but not stop.
[0091] Obstacle - A blocked cell due to physical obstruction such as facility structure or as defined at the Mission Planning System’s discretion.
[0092] In mathematical terms, a path planner of the path planning system performs discretized interpolation between current and desired states of a zone. The size of zones is a parameter and as such it can handle any arbitrary zone defined in the overall interface network system.
[0093] One of the main challenges with the path planner considering a large fleet of mobile robots is that of collision avoidance. All algorithms in the overall path planning system are designed to ensure no robot is planned to be crossing a cell at the same instant as another robot.
[0094] The output of the path planning system is a sequence of moves that can achieve the desired state, as defined in the input goalframe. The path planning system is invoked by the mission planning system and replies only to the mission planning system. The sequence of moves generated will be further processed by the mission planning system prior to committing them to the horizon / schedule. The mission planning system will then deploy them to the robots at the appropriate time as per the planned horizon / schedule. In the case where the mission planning system has to recreate the schedule due to unforeseen circumstances, the path planning system is called again. This scheme allows for a flexible use of the path planning system by the mission planning system, and this flexibility allows easy modification of behavior. As different facilities, and zones within those facilities, have different purposes, the mission planning system will be adapted to optimally perform operations.
[0095] As noted above, these steps are looped until the mission is completed. This iterative process ensures continuous coordination, task assignment, and path planning based on the evolving state of the mission and facility.
[0096] Execution of plans:
[0097] The sequences of commands and plans generated by the mission planning system are sent to a robot control system at the appropriate time to initiate real movement and activity within the facility. This enables the execution of planned tasks and ensures coordinated operations.
[0098] The described example demonstrates a specific mission type, but it serves as a representation of the general data flow for all missions within the interface network system. By following this approach, the system can efficiently process orders, coordinate tasks, and optimize operations within a facility.
[0099] The following detailed description provides technical information regarding the method used to optimize mission planning in the warehouse logistics industry. This method addresses the challenge of creating a mission planning algorithm that is optimized for specific warehouse scenarios. The optimization process consists of two phases: achieving a generalizable base and fine-tuning the algorithm for production-ready deployment.
[0100] Determination of standardized simulation scenarios and metrics:
[0101] To evaluate the performance of algorithms of the path planning system, standardized simulation scenarios are established. These scenarios represent a diverse set of operational conditions encountered within warehouse logistics environments. Accompanying these scenarios are well-defined performance metrics, which may include route efficiency, collision avoidance, time to completion, and resource utilization. These metrics form the baseline for comparative analysis and optimization of candidate algorithms.
[0102] Attainment of a generalizable base version of path planning algorithms includes: a. Initial Implementation: The optimization process begins with a basic implementation of the path planning algorithm that may exhibit suboptimal performance across various standardized scenarios. b. Algorithm Competition: Multiple versions of the path planning algorithm are evaluated in identical simulated environments. The relative performances of the multiple variations are compared to identify favorable traits and deficiencies. c. Iterative Enhancement: Based on the comparative results, the algorithm candidates are iteratively refined to ensure robust performance across all standardized scenarios. Enhancements may involve algorithmic restructuring, introduction of new heuristics, or dynamic reweighting of cost functions. d. Large-Scale Scenario Testing: Successful algorithm variants are subjected to extensive validation using thousands of programmatically generated scenarios. This scale of testing ensures performance generalization and uncovers edge-case failures. e. Success Threshold: Algorithm iterations continue until a success rate of at least 80% is achieved across the large scenario set. This threshold defines the attainment of a generalizable base version of the path planning algorithm.
[0103] Incorporation of real customer scenarios prior to deployment includes: a. Context-Based Rule Integration: Prior to deployment of the interface network system at a specific customer facility, the generalizable base version of the path planner algorithms is modified through the addition of context-specific rules. These rules account for customer-specific infrastructure, operating constraints, and workflow patterns. b. Performance Validation: The modified algorithms are validated against standard scenarios, non-standard configurations, and customer- specific layouts to ensure robustness and accuracy. Validation includes measurement of performance against defined key performance indicators (KPIs), such as fulfillment accuracy, travel time minimization, and alignment with customer service level agreements (SLAs).
[0104] Through this method, the path planning algorithms are systematically optimized for specific warehouse scenarios. The process involves iterative enhancements.
[0105] Referring to the drawings, and more particularly to FIG. 1, an area of an exemplary facility is generally indicated at 10. As shown, the area 10 is divided into a grid of cells, with each cell being indicated at 12. Although the area 10 is shown to include 110 cells 12 (a 10 by 11 grid), any number of cells 12 can be used to determine movement of automated pallets within the area 10.
[0106] Referring to FIG. 2, the cells 12 within the area 10 can be configured to include zones and uses within the area 10. In one example, the zones may include a zone of obstructed cells indicated at 14, a zone of interaction cells indicated at 16, a zone of circulation cells indicated at 18, and a zone of storage cells indicated at 20. The zones 14, 16, 18, 20 may be varied depending on the shape and size of the facility.
[0107] Referring to FIG. 3, the cells are shown with a representation of automated pallets indicated by square 22, the automated pallets sometimes being referred to as mobile robots. The automated pallets 22 are shown as either occupying the cells 12 or moving through adjacent cells 12. Specifically, the automated pallet 22 can be shown entirely within the cell 12 or the automated pallet 22 can be shown to be positioned between two adjacent cells 12.
[0108] Referring to FIGS. 4A and 4B, FIG. 4A shows a current state of the cells 12 of the area 10 of the facility and FIG. 4B shows a desired state of the cells 12 of the area 10 of the facility. In one embodiment, the goalframe generator is configured to create goalframes by representing the current state of the area 10 and the desired state of the area 10 in a structured format. The goalframe provides a visual representation of the area 10, including automated pallets 22, picking modules (not designated), picking personnel 24, and cells 12 of the area to be altered to complete the mission. As shown, automated pallets 22 identified at A, B, C, D are shown to move from cells 12 shown in FIG. 4A to different cells 12 shown in FIG. 4B.
[0109] Referring to FIGS. 5A and 5B, as noted, automated pallets 22 are identified at A, B, C, D. In FIG. 5A, the automated pallets 22 identified at A, B, C, D are positioned within their respective origin cells 22. In FIG. 5B, the automated pallets 22 identified at A, B, C, D are shown in their desired destination cells 12. In one embodiment, a human or a robotic picker, e.g., picking personnel 24, can be provided to move items from one automated pallet 22 to another automated pallet 22, e.g., to and from automated pallet 22 identified at B.
[0110] Referring to FIGS. 6 A and 6B, the path planning system can be configured to illustrate several path options for the movement of two automated pallets 22 from their origin cells 12 to their destination cells 12, respectively. The path planning system can be configured to move automated pallets, e.g., automated pallets 22 identified at C, D, from their original cells 12 shown in the current state (FIG. 6A) to the destination cells 12 shown in the desired state (FIG. 6B). The planning path system further can be configured to provide several path options, which are indicated at 26. The path planning system rewards a path that does not require automated pallets 22 to stop within cells 12 of the circulation zone 18, thereby minimizing the total move count, and rewards a path that does not move other automated pallets 22.
[0111] Referring to FIGS. 7 A and 7B, a selected path 28 indicates the movement of the two automated pallets 22 identified at C, D from their origin cells 12 to their destination cells 12, respectively. Specifically, the selected path 28 defines the movement of the automated pallet C to the cells 12 of the circulation zone 18 first to not disturb other activities in the interaction zone. Recognizing that the desired state of automated pallet 22 identified at C is the cell 12 that automated pallet 22 identified at D occupies in the current state, the mission planner may be configured to request a path plan for the automated pallet identified at D and execute the movement of automated pallet 22 identified at D before automated pallet 22 identified at C arrives so that automated pallet 22 identified at C is not waiting in a cell 12 in the circulation zone 18 for the desired cell 12 in the storage zone 20 to clear.
[0112] Referring to FIGS 8A, 8B and 8C, the area 10 is shown in a current state, an interim state and a desired state, respectively. In one embodiment, the action reducer of the mission planning system is employed. For example, the action reducer may recognize that automated pallet 22 identified at B can reach a desired state by moving automated pallet 22 identified at E along path 30 or by moving automated pallet 22 identified at F along path 32, but also recognizing automated pallet 22 identified at E must also move to create a path for automated pallet 22 identified at A, thereby reducing an action by having both automated pallets 22 identified at A and B take the path 30 through current positions of automated pallet 22 identified at E.
[0113] Referring to FIGS. 9 A and 9B, selected paths 34, 36 for the movement of two automated pallets 22 identified at A, C in the interim state, respectively, is shown. For example, the path planning system is configured to determine the paths 34, 36 of both automated pallet 22 identified at A and automated pallet 22 identified at C must cross the same cell 12. The path planning system ensures that the shared cell 12 is not occupied at the same time with a buffer. FIG. 9B further illustrates time stamps on approximate times in which the automated pallet 22 identified at A and the automated pallet 22 identified at C enter certain cells 12. In one example, the automated pallet 22 identified at A enters a sequence of cells 22 at times 0:00 to 0:13 and the automated pallet 22 identified at C enters a sequence of cells 22 at times 0:00 to 0:05. At the cell 22 identified by “A 0:08” and “C 0:04” the automated pallets 22 identified by A and B pass through the cell 22 at different times to ensure that the shared cell 22 is not occupied at the same time, with a buffer being provided.
[0114] Referring to FIGS. 10A and 10B, a function of the horizon planner is storage reorganization. In one example, the current state in FIG. 10A shows the end of a shift. The horizon planner sets the priority of each automated pallet 22 for the upcoming work period. For example, automated pallets 22 assigned priority 1 are needed first in the next shift, automated pallets 22 assigned priority 2 are required in a subsequent shift, and automated pallets 22 assigned priority 3 are not needed within the current planning horizon. There can be an infinite number of priority levels. To minimize retrieval time and effort, the horizon planner simulates multiple scenarios and evaluates which sequence of goalframes strategically place automated pallets 22 based on accessibility. The sequence of goalframes is stored for the mission planner to consider during execution. For example, priority 1 automated pallets are stored closest to cells 12 in the circulation zone 18 or empty cells 12 in the storage zone 20 with direct access to the cells 12 in the circulation zone 18, priority 2 automated pallets 22 occupy intermediate positions, and priority 3 automated pallets 22 are placed in the least accessible locations, e.g., far from cells 12 of the circulation zone 18 or behind multiple blocking moves.
[0115] Referring to FIGS 11 A and 1 IB, FIG. 11 A shows two automated pallets 22a, 22b in a current state and FIG. 1 IB shows the same two automated pallets 22a, 22b in a desired state. Specifically, the current state of FIG. 11 A shows two automated pallets 22a, 22b carrying an item, each indicated at 40, which is identified by A. In many warehouses, it is common to store on the automated pallet 22 more items 40 than can the automated pallet can handle and to pick from multiple automate pallets simultaneously to support concurrent operations. With the shown embodiment, as inventory on the two automated pallets 22a, 22b decreases, and their combined quantity falls below the maximum capacity of a single automated pallet 22a or 22b, the system consolidates the remaining items onto one automated pallet 22b. This frees up the second automated pallet 22a, allowing it to be repurposed for another task.
[0116] Referring to FIG. 12, two single item pallets indicated at 22c, 22d, two additional single item pallets indicated at 22e, 22f, and a mixed item pallet indicated at 22g are shown. Specifically, in one example, automated pallet 22c supports items 40 indicated at B, automated pallet 22d supports items 40 indicated at D, automated pallet 22e supports items 40 indicated at A, automated pallet 22f supports items indicated at C, and automated pallet 22g supports mixed items indicated at A, B, C, D. The stacking algorithm is configured to analyze box size, box strength, box weight and likeness of items (such as toothpaste and toothbrushes that will go next to each other in a retail store) and builds the optimal stack on the automated pallet 22. The mission planner of the mission planning system requests paths from the path planner of the path planning system to bring the single item automated pallets 22 from the cells 12 in the storage zone to the cells 12 in the interaction zone 16 where the empty mixed automated pallet 22 is located to be picked. The mission planner moves the single item automated pallet 22, e.g., automated pallet 22g, to the cells 12 in the interaction zone 16 in the order in which their items will be stacked on the mixed automated pallet.
[0117] Referring to FIG. 13, data is shown flowing within the path planning system. As shown, data flows from a goalframe module 50 to a multiagent interpolation algorithm module 52 to a multistep move computation module 54 to a mission planner module 56. As data flows from the goalframe module 50 to the multiagent interpolation algorithm module 52, information for the current and desired automated pallet position and the grid layout, indicated at 58, is transferred to the multiagent interpolation algorithm module 52. As data flows from the multiagent interpolation algorithm module 52 to the multistep move computation module 54, a sequence of moves including one or more automated robot commands, indicated at 60, are transferred to the multistep move computation module 54. As data flows from the multistep move computation module 54 to the mission planner module 56, a sequence of moves, indicated at 62, allows for more than single grid space movements per automated pallet 22. In one embodiment, the data may include a JavaScript Object Notation (JSON object), which is a data structure used for storing and transmitting data in a human-readable format.
[0118] Referring to FIG. 14, information on orders indicated at 70, vehicle data indicated at 72 and item metadata indicated at 74 is transmitted to a cloud network 76 and fed to an action reducer 78, a goalframe generator 80, a goalframe 82 and an automated pallet or robot control system 84. The information may be transmitted to the cloud network 76 through the internet, utilizing suitable networking technologies and protocols. The action reducer 78 is configured to share information and the reduce the number of actions with a stacking algorithm 86 and a ledger 88. The goalframe 82 is configured to share information with a horizon planner 90 and a path planner 92. The inputs from the cloud network 76 may be sent to both the horizon planner 90 and to a mission planner. Information is fed back to the action reducer 78 from the goalframe 82 to optimize the function of the action reducer 78. Once a suitable path is determined, the goalframe 82 provides commands to the automated pallet control system 84 to control movement of automated pallets 22 within the cells 12 of the area 10. The horizon planner 90 planner may be configured to perform accelerated simulations based on the current state of the facility, along with inputs from the cloud network 76, and generate branches of scenarios. The mission planner may be configured to evaluate outputs from the horizon planner 90 and determine whether to either continue just-in-time planning or follow a sequence from horizon planner 90 instead. The horizon planner 90, based on information from the mission planner, may be configured to determine if a sequence of movements of the automated pallets has already been computed. If the sequence has already been determined, then there is no need to recompute or provide a new sequence (just simply continue computing or optimizing the sequence later down the line). If the sequence has not already been determined, the horizon planner starts from current state and begins evaluating new sequences. Various controllers may execute various operations discussed above. For example, the controller may be configured to perform the methods of the path planning system. Using data stored in associated memory and / or storage, the controller may execute one or more instructions stored on one or more non-transitory computer-readable media, which the controller may include and / or be coupled to, that may result in manipulated data. In some examples, the controller may include one or more processors or other types of controllers. In one example, the controller is or includes at least one processor. In another example, the controller performs at least a portion of the operations discussed above using an application-specific integrated circuit tailored to perform particular operations in addition to, or in lieu of, a general-purpose processor. As illustrated by these examples, examples in accordance with the present disclosure may perform the operations described herein using many specific combinations of hardware and software and the disclosure is not limited to any particular combination of hardware and software components. Examples of the disclosure may include a computer-program product configured to execute methods, processes, and / or operations discussed above. The computer-program product may be, or include, one or more controllers and / or processors configured to execute instructions to perform methods, processes, and / or operations discussed above.
[0119] In one example, referring to FIG. 15, an exemplary computer system is generally indicated at 100. As shown, the computer system 100 includes one or more computers that exchange information. More specifically, the computer system 100 includes computers and / or devices 102, 104, 106. As shown, the computers and / or devices 102, 104, 106 are interconnected by, and may exchange data through, a communication network 108. The network 108 may include any communication network through which computer systems may exchange data. To exchange data using the network 108, the computers and / or devices 102, 104, 106 and the network 108 may use various methods, protocols and standards. To ensure data transfer is secure, the computers and / or device 102, 104, 106 may transmit data via the network 108 using a variety of security measures including, for example, TLS, SSL or VPN. While the computer system 100 illustrates three networked computers and / or device 102, 104, 106, the computer system 100 is not so limited and may include any number of computers and / or device, networked using any medium and communication protocol.
[0120] As shown, the computer system 100 includes a processor 110, a memory 112, an interconnection element 114, an interface 116, such as a user interface or screen, and a data storage element 118. To implement at least some of the aspects, functions and processes disclosed herein, the processor 110 performs a series of instructions that result in manipulated data. The processor 110 may be any type of processor, multiprocessor or controller. The processor 110 may be connected to other system components, including one or more memory devices 112, by the interconnection element 114. The memory 112 stores programs and data during operation of the computer system 100. The interconnection element 114 may include one or more physical busses, for example, busses between components that are integrated within a same machine, but may include any communication coupling between system elements including specialized or standard computing bus technologies. The interconnection element 114 enables communications, such as data and instructions, to be exchanged between system components of the computer system 250. The interface device 116 may receive input or provide output. More particularly, output devices may render information for external presentation. Input devices may accept information from external sources. Examples of the interface device 116 include keyboards, mouse devices, trackballs, microphones, touch screens, printing devices, display screens, speakers, network interface cards, etc. The interface device 116 allows the computer system 100 to exchange information and to communicate with external entities, such as users and other systems. The data storage element 118 includes a computer-readable and writeable nonvolatile, or non- transitory, data storage medium in which instructions are stored that define a program or other object that is executed by the processor 110. The data storage element 118 also may include information that is recorded, on or in, the medium, and that is processed by the processor 110 during execution of the program. More specifically, the information may be stored in one or more data structures specifically configured to conserve storage space or increase data exchange performance. The instructions may be persistently stored as encoded signals, and the instructions may cause the processor 110 to perform any of the functions described herein.
[0121] In operation, the processor 110 or some other controller causes data to be read from the nonvolatile recording medium into another memory, such as the memory 112, that allows for faster access to the information by the processor 110 than does the storage medium included in the data storage element 118. The memory 112 may be located in the data storage element 118 or in the memory; however, the processor 110 manipulates the data within the memory 112, and then copies the data to the storage medium associated with the data storage element 118 after processing is completed. A variety of components may manage data movement between the storage medium and other memory elements and examples are not limited to particular data management components. Further, examples are not limited to a particular memory system or data storage system.
[0122] Referring to FIG. 16, an exemplary path planning method is generally indicated at 200. As shown, the path planning method 200 includes at step 202 optionally retrieving data from automated pallets. The path planning method 200 further includes at step 204 continuously retrieving data from a database, including information about automated pallets. The path planning method 200 further includes at step 206 converting data into a detailed ledger of actions to accomplish activities or missions within a facility. The path planning method 200 further includes at step 208 receiving a list of goalframes from a mission planner and at step 210 providing paths for automated pallets based on the goalframes.
[0123] The path planning method 200 further may include providing continuous coordination, task assignment, and path planning based on the evolving state of a mission and the facility. The path planning method 200 further may include defining a state of a zone of the facility and creating a layout of a grid in the zone, with the grid including a digital matrix of cells. In one embodiment, generating the list of goalframes by the mission planner includes identifying one or more cells to store automated pallets when not being used. Generating the list of goalframes by the mission planner further may include identifying a destination cell and pathway cells that define a pathway to the destination cell. Generating the list of goalframes by the mission planner further may include identifying cells of the pathway cells where automated pallets can cross but not stop and cells that are blocked. The information from the mission planner is passed along to a path planner of the path planning method 200 to create paths for the automated pallets.
[0124] In a certain embodiment, the path planning method 200 further relies on the mission planner to provide information to the path planner to create an optimization routine including a basic implementation of a path planning algorithm, providing multiple versions of a path planning algorithm, evaluating the multiple versions of the path planning algorithm in identical simulated environments, and based on the comparative results, iteratively refining the multiple versions of the path planning algorithm to define an implemented path planning algorithm. The path planning method 200 further may include testing the implemented path planning algorithm until a predetermined success rate is achieved.
[0125] Having thus described several aspects of at least one embodiment, it is to be appreciated various alterations, modifications, and improvements will readily occur to those skilled in the art. Such alterations, modifications, and improvements are intended to be part of this disclosure and are intended to be within the scope of the disclosure. Accordingly, the foregoing description and drawings are by way of example only.
[0126] What is claimed is:
Claims
CLAIMS1. A computer implemented path planning system, comprising: a storage device configured to store a plurality of basic unit instructions, one or more of the basic unit instructions having at least one procedure identifier; at least one processor coupled to the storage device and the communication network; and one or more components executable by the at least one processor and collectively configured to: continuously retrieve data from a database, including information about automated pallets; convert data into a detailed ledger of actions to accomplish activities or missions within a facility; provide paths for automated pallets based on the goalframes provided by a mission planner; and directing automated pallets to travel along respective paths.
2. The computer-implemented path planning system of claim 1, further comprising providing continuous coordination, task assignment, and path planning based on the evolving state of a mission and the facility.
3. The computer-implemented path planning system of claim 1, further comprising defining a state of a zone of the facility and creating a layout of a grid in the zone.
4. The computer-implemented path planning system of claim 3, wherein the grid includes a digital matrix of cells.
5. The computer- implemented path planning system of claim 4, wherein generating the list of goalframes by the mission planner includes identifying one or more cells to store automated pallets when not being used.
6. The computer-implemented path planning system of claim 4, wherein generating the list of goalframcs by the mission planner further includes identifying at least one destination cell and one or more pathway cells that define a pathway to the at least one destination cell.
7. The computer-implemented path planning system of claim 6, wherein generating the list of goalframes by the mission planner further includes identifying cells of the pathway cells where automated pallets can cross but not stop.
8. The computer-implemented path planning system of claim 4, wherein generating the list of goalframes by the mission planner further includes identifying one or more cells that are blocked.
9. The computer-implemented path planning system of claim 1, further comprising based on information provided by the mission planner, creating an optimization routine including a basic implementation of a path planning algorithm, providing multiple versions of a path planning algorithm, evaluating the multiple versions of the path planning algorithm in identical simulated environments, and based on the comparative results, iteratively refining the multiple versions of the path planning algorithm to define an implemented path planning algorithm.
10. The computer-implemented path planning system of claim 9, further comprising testing the implemented path planning algorithm until a predetermined success rate is achieved.
11. A path planning method, comprising: optionally retrieving data from automated pallets; continuously retrieving data from a database, including information about automated pallets; converting data into a detailed ledger of actions to accomplish activities or missions within a facility; andproviding paths for automated pallets based on the goalframes provided by a mission planner.
12. The path planning method of claim 11, further comprising providing continuous coordination, task assignment, and path planning based on the evolving state of a mission and the facility.
13. The path planning method of claim 11, further comprising defining a state of a zone of the facility and creating a layout of a grid in the zone.
14. The path planning method of claim 13, wherein the grid includes a digital matrix of cells.
15. The path planning method of claim 14, wherein generating the list of goalframes by the mission planner includes identifying one or more cells to store automated pallets when not being used.
16. The path planning method of claim 14, wherein generating the list of goalframes by the mission planner further includes identifying at least one destination cell and one or more pathway cells that define a pathway to the at least one destination cell.
17. The path planning method of claim 16, wherein generating the list of goalframes by the mission planner further includes identifying cells of the pathway cells where automated pallets can cross but not stop.
18. The path planning method of claim 14, wherein generating the list of goalframes further includes identifying one or more cells that are blocked.
19. The path planning method of claim 11, further comprising based on information provided by the mission planner, creating an optimization routine including a basic implementation of a path planning algorithm,providing multiple versions of a path planning algorithm, evaluating the multiple versions of the path planning algorithm in identical simulated environments, and based on the comparative results, iteratively refining the multiple versions of the path planning algorithm to define an implemented path planning algorithm.
20. The path planning method of claim 19, further comprising testing the implemented path planning algorithm until a predetermined success rate is achieved.