System and method for analyzing performance of autonomous robot system
A combination of simulation and analytical modeling with a shared-token multi-class semi-open queuing network addresses the inefficiencies in multi-line order fulfillment by autonomous robotic systems, providing accurate and efficient performance analysis.
Patent Information
- Application Number
- JP2025014328
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-02-06
- Filing Date
- 2025-01-30
- Publication Date
- 2025-08-19
- Estimated Expiration
- 2045-01-30
AI Technical Summary
Existing autonomous robotic systems face limitations in fulfilling multi-line orders due to shelf height and weight constraints, leading to inefficient warehouse operations and inaccurate performance analysis, with existing methods like discrete event simulation being computationally inefficient and inaccurate.
A combination of simulation modeling and analytical modeling is used to analyze the performance of autonomous robotic systems, employing a shared-token multi-class semi-open queuing network to estimate performance, which is computationally faster and more accurate, addressing the assignment and case retrieval problems.
The method achieves approximately 90% accuracy and is 1000 times faster than existing methodologies in estimating the performance of advanced autonomous robotic systems, optimizing warehouse layout and resource allocation.
Smart Images

Figure 2025121395000001_ABST
Abstract
Description
[Technical Field]
[0001]
[0001] The present disclosure relates generally to the field of autonomous robotic systems. In particular, the present disclosure relates to analyzing the performance of autonomous robotic mobile execution systems. [Background technology]
[0002]
[0002] With the rapid growth of e-commerce companies, there is an increasing demand for improved warehouse management. At a high level, warehouse management involves determining warehouse layout, scheduling workers, managing inventory, and fulfilling orders. Recently, warehouse management has become more challenging due to rising costs, labor shortages, increasing customer demand, and other supply chain issues. Some organizations have begun to utilize autonomous robotic mobile fulfillment systems to overcome these challenges.
[0003]
[0003] Typically, an autonomous robotic mobile fulfillment system comprises an autonomous guided vehicle configured to automate the storage and retrieval tasks of goods or materials within an environment (e.g., a warehouse). Such systems significantly improve warehouse productivity and efficiency performance. However, existing autonomous robotic mobile fulfillment systems have several limitations. First, existing systems are designed to fulfill a single line of orders (e.g., orders involving multiple units of the same product). Second, the autonomous guided vehicles of existing systems are configured to transport entire shelves of orders (e.g., entire shelves of products) between workstations and storage areas within the warehouse, which imposes significant limitations on shelf height and weight.
[0004]
[0004] Therefore, there is a need for improved autonomous robotic mobile execution systems designed to execute multi-line orders (e.g., orders involving units of different products) without imposing shelf height and weight limitations. To this end, there is also an unmet need to quickly and accurately analyze the performance of these improved robotic mobile execution systems. [Brief explanation of the drawings]
[0005] [Figure 1] FIG. 1 shows an exemplary representation of an existing autonomous robotic system comprising an autonomous guided vehicle configured to transport shelves within an environment. [Figure 2]
[0006] Figure 2 shows an example of an improved autonomous guided vehicle transporting individual cases between various locations in a warehouse. [Figure 3]
[0007] FIG. 3 provides an illustration of the considerations made when designing an improved autonomous robotic system comprising an autonomous guided vehicle configured to transport cases within a warehouse. [Figure 4]
[0008] FIG. 4 provides a broad illustration of the technique for analyzing the performance of an improved autonomous robotic system described herein. [Figure 5]
[0009] FIG. 5 illustrates an exemplary variation of a system for analyzing the performance of an improved autonomous robotic system. [Figure 6A]
[0010] FIG. 6A is a flowchart illustrating an exemplary simulation-based method implemented by the simulation module for determining steady-state average trip duration of an autonomous guided vehicle. [Figure 6B] FIG. 6B is a flowchart illustrating an exemplary simulation-based method implemented by the simulation module for determining steady-state average travel duration of an autonomous guided vehicle. [Figure 7]
[0011] FIG. 7 illustrates an exemplary analytical model constructed by the analytical module to analyze the performance of an improved autonomous robotic system. [Figure 8]
[0012] FIG. 8 illustrates an exemplary network generated to solve the analytical model generated in FIG. [Figure 9]
[0013] FIG. 9 is a flowchart illustrating an exemplary method for analyzing the performance of an improved autonomous robotic system. [Figure 10]
[0014] FIG. 10 illustrates an exemplary scenario for implementing an improved autonomous robotic system in an exemplary warehouse. [Figure 11]
[0015] FIG. 11 shows a comparison of the steady-state performance obtained from the techniques described herein and discrete event simulation. DETAILED DESCRIPTION OF THE INVENTION
[0006]
[0016] Non-limiting examples of various aspects and variations of systems and methods for analyzing performance of an autonomous robotic system are described herein and illustrated in the accompanying drawings.
[0007]
[0017] As used herein, an "autonomous robotic system" can include an autonomous guided vehicle configured to automate tasks (e.g., storing and / or retrieving goods or materials to fulfill instructions) within an environment (e.g., a warehouse). More specifically, an "autonomous robotic system" as described herein can include an autonomous guided vehicle that fulfills instructions within an environment given specifications of the environment (e.g., the layout of the warehouse) and specifications and / or configurations of resources within the environment (e.g., the number of resources in the warehouse, the operating hours of the resources in the warehouse, the configuration of the resources in the warehouse, etc.).
[0008]
[0018] Thus, as used herein, "autonomous robotic system performance" can refer to the performance of the autonomous guided vehicle and the performance of the environment (e.g., the performance of resources within the environment) such that an automated task is completed (e.g., an instruction is carried out).
[0009]
[0019] Described herein are systems and methods for estimating performance of an autonomous robotic system configured to carry out multiple line commands. The autonomous robotic system includes a plurality of autonomous guided vehicles configured to transport one or more cases within an environment to carry out the multiple line commands. In some variations, the method includes acquiring first input data, generating a simulation model based at least in part on the first input data, determining a movement duration for each of the plurality of autonomous guided vehicles based on execution of the simulation model, generating an analytical model based at least in part on the movement duration, and estimating performance of the autonomous robotic system based on execution of the analytical model. The first input data includes data associated with operation of each of the plurality of autonomous guided vehicles and data representing a layout of the environment.
[0010]
[0020] According to an embodiment, a computer-implemented method for estimating performance of an autonomous robotic system configured to carry out multiple line commands is provided. The autonomous robotic system includes a plurality of autonomous guided vehicles configured to transport one or more cases within an environment to carry out the multiple line commands. The method comprises acquiring first input data via a user interface. The first input data includes data associated with operation of each of the plurality of autonomous guided vehicles and data representing a layout of the environment. The method further comprises generating a simulation model configured to simulate operation of each of the plurality of autonomous guided vehicles within the environment based at least in part on the first input data. The method further includes determining a travel duration for each of the plurality of autonomous guided vehicles from a first one of the one or more locations within the environment to a second one of the one or more locations within the environment based on execution of the simulation model. The method further comprises generating an analytical model configured to analyze performance of the autonomous robotic system based at least in part on the travel duration, and estimating performance of the autonomous robotic system based on execution of the analytical model.
[0011]
[0021] In some variations, estimating the performance of the autonomous robotic system includes calculating a throughput time for fulfilling the multiple line instructions. Additionally or alternatively, estimating the performance of the autonomous robotic system includes calculating a rate at which one or more resources in the environment are utilized to fulfill the multiple line instructions.
[0012]
[0022] In some variations, the data associated with the operation of each of the plurality of autonomous guided vehicles includes, for each autonomous guided vehicle, at least one of an instruction from the instruction queue for one or more cases to be retrieved by the autonomous guided vehicle, an indication from the instruction queue for a single movement indicating how many of the one or more cases are to be retrieved, and a speed of movement of the autonomous guided vehicle.
[0013]
[0023] In some variations, determining the travel duration includes determining, for each of the plurality of autonomous guided vehicles, at least one of a first travel time from a current location of the autonomous guided vehicle to a location of one or more cases, a second travel time from the location of the one or more cases to a location of a workstation, a third travel time from the location of the workstation to a storage location, and a fourth travel time from the storage location to a charging location. In some variations, determining the travel duration further comprises sampling the first travel time, the second travel time, the third travel time, and the fourth travel time for different types of multi-line commands and determining an average travel time based on the sampling.
[0014]
[0024] In some variations, the analytical model is a shared-token multi-class semi-open queuing network. Generating the analytical model may further comprise representing a process of matching an autonomous guided vehicle of the plurality of autonomous guided vehicles to the first multi-line command as a first synchronization node, representing a process of retrieving one or more cases by the autonomous guided vehicle as a second infinite service node, representing a process of traveling with the retrieved one or more cases to a workstation by the autonomous guided vehicle as a third infinite service node, representing a process of removing product from the one or more cases by a picker at the workstation as a fourth service node, and representing a process of traveling from the workstation to a storage location by the autonomous guided vehicle as a fifth infinite service node.
[0015]
[0025] In some variations, estimating the performance of the autonomous robotic system comprises performing an approximate mean value analysis of a shared-token multi-class semi-open queuing network.
[0016]
[0026] According to another embodiment, a system for estimating performance of an autonomous robotic system configured to carry out multiple line instructions is provided. In some variations, the system includes a user interface for acquiring first input data and at least one controller communicatively coupled to the user interface. The first input data includes data associated with operation of each of the plurality of autonomous guided vehicles and data representing a layout of an environment. The autonomous robotic system includes a plurality of autonomous guided vehicles configured to transport one or more cases within the environment to carry out the multiple line instructions. The controller is configured to generate a simulation model configured to simulate operation of each of the plurality of autonomous guided vehicles within the environment based at least in part on the first input data, determine a travel duration for each of the plurality of autonomous guided vehicles from a first one of the one or more locations within the environment to a second one of the one or more locations within the environment based on execution of the simulation model, generate an analytical model configured to analyze performance of the autonomous robotic system based at least in part on the travel duration, and estimate performance of the autonomous robotic system based on execution of the analytical model.
[0017]
[0027] In some variations, the controller is configured to calculate a throughput time for fulfilling the multi-line instructions to estimate the performance of the autonomous robotic system. Additionally or alternatively, the controller is configured to calculate a rate at which one or more resources in the environment are utilized to fulfill the multi-line instructions to estimate the performance of the autonomous robotic system.
[0018]
[0028] In some variations, the data associated with the operation of each of the plurality of autonomous guided vehicles includes, for each autonomous guided vehicle, at least one of: an instruction from the instruction queue for one or more cases to be retrieved by the autonomous guided vehicle; an indication from the instruction queue for a single movement indicating how many of the one or more cases are to be retrieved; and a speed of movement of the autonomous guided vehicle.
[0019]
[0029] In some variations, the controller may be configured to determine, for each of the plurality of autonomous guided vehicles, at least one of a first travel time from a current location of the autonomous guided vehicle to a location of one or more cases, a second travel time from the location of the one or more cases to a location of a workstation, a third travel time from the location of the workstation to a storage location, and a fourth travel time from the storage location to a charging location. The controller may be further configured to sample the first travel time, the second travel time, the third travel time, and the fourth travel time for different types of multi-line commands and determine an average travel time based on the sampling.
[0020]
[0030] In some variations, the analytical model is a shared-token multi-class semi-open queuing network. The controller may be configured to generate the analytical model by representing a process of matching an autonomous guided vehicle of the plurality of autonomous guided vehicles to a first multi-line command as a first synchronization node, a process of retrieving one or more cases by the autonomous guided vehicle as a second infinite service node, a process of traveling with the retrieved one or more cases to a workstation by the autonomous guided vehicle as a third infinite service node, a process of removing products from the one or more cases by a picker at the workstation as a fourth service node, and a process of traveling from the workstation to a storage location by the autonomous guided vehicle as a fifth infinite service node.
[0021]
[0031] In some variations, the controller is further configured to perform an approximate mean value analysis of a shared-token multi-class semi-open queuing network to estimate the performance of the autonomous robotic system.
[0022]
[0032] Autonomous robotic systems have become widespread in warehouse management, particularly in the context of handling goods and materials within a warehouse. However, as discussed above, existing autonomous robotic systems have several limitations. For example, existing autonomous robotic systems include autonomous guided vehicles configured to transport entire shelves of products, which imposes limitations on shelf height and weight. This can reduce space utilization and negatively impact the efficiency of the autonomous robotic system's performance. Furthermore, when an order requires the fulfillment of multiple different units of a product (referred to herein as a "multi-line order"), transporting the entire shelf can result in the autonomous guided vehicle making multiple trips between various locations in the warehouse (e.g., processing stations, central storage, dynamic storage, charging stations, etc.). This increases the duration of the trip, reducing the efficiency of the autonomous robotic system and impacting the efficiency of the warehouse's performance.
[0023]
[0033] 1 shows an example representation (e.g., a 2D representation) of an existing autonomous robotic system comprising an autonomous guided vehicle configured to transport shelves within an environment (e.g., a warehouse). As seen in FIG. 1, the autonomous guided vehicle is configured to transport shelves between workstations or processing stations (collectively referred to herein as workstations 102), such as, for example, 102a, 102b, 102c, 102d, a central storage unit 104, and a dynamic storage unit, such as, for example, dynamic storage unit 106 shown in FIG. 1.
[0024]
[0034] To overcome the challenges of existing autonomous robotic systems, autonomous robotic systems have been developed that include autonomous guided vehicles that transport individual cases from shelves between various warehouse locations (e.g., processing stations, central storage, dynamic storage, charging stations, etc.). FIG. 2 illustrates an exemplary autonomous guided vehicle transporting individual cases between various warehouse locations. Such autonomous guided vehicles are particularly efficient for fulfilling multi-line orders. In contrast to single-line orders (e.g., orders requiring multiple units of the same product), multi-line orders are orders for different products that may need to be stored and retrieved together. For example, multi-line products may be a group of products sold under different brand names that are distinguishable by customers. These orders may require various units of different products. An improved autonomous robotic system that includes autonomous guided vehicles (e.g., the autonomous guided vehicle illustrated in FIG. 2) that transport individual cases within an environment (e.g., a warehouse) can fulfill multi-line orders more efficiently than existing systems. As used herein, the term "advanced autonomous robotic system" refers to an autonomous robotic system including an autonomous guided vehicle, such as in Figure 2, configured to transport cases, rather than entire shelves, to accomplish instructions given the specifications of an environment (e.g., a warehouse) and / or the specifications and / or configuration of resources within the environment. An autonomous guided vehicle transporting cases within a warehouse is also referred to as a "robot" in this disclosure.
[0025]
[0035] However, when developing such improved autonomous robotic systems (e.g., with autonomous guided vehicles transporting individual cases within a warehouse), it is important to analyze the performance of these autonomous robotic systems. Such analysis can help determine warehouse layout, allocation of resources within the warehouse, operational design of the autonomous guided vehicles, and design of the autonomous robotic system.
[0026]
[0036] Existing techniques for analyzing the performance of existing autonomous robotic systems cannot be directly applied to these improved autonomous robotic systems due to various technical challenges. For example, some existing techniques use discrete event simulation to analyze the performance of autonomous robotic systems. However, discrete event simulation requires analyzing a large number of sample data to extract the probabilities of various events in order to determine the expected performance of the autonomous robotic system. This makes discrete event simulation computationally inefficient.
[0027]
[0037] Recently, techniques for implementing queuing networks have been used to analyze the performance of existing autonomous robotic systems. While these techniques are more efficient (e.g., computationally efficient) than discrete event simulation, they still present technical challenges. First, existing methodologies for implementing queuing networks assume that the average travel time of an autonomous guided vehicle between various locations in a warehouse is the same. Furthermore, these existing methodologies assume that the time it takes for an autonomous guided vehicle to process an instruction at a workstation (i.e., the processing time at the workstation) is the same. In reality, the average travel time of an autonomous guided vehicle and the processing time at a workstation depend on the instruction (e.g., the number of lines in an instruction) that the autonomous guided vehicle executes. Therefore, such assumptions may affect the accuracy of the analysis.
[0028]
[0038] Second, existing methodologies for implementing queuing networks assume that the number of lines in an order (e.g., the number of products and / or items in a single order) follows the same probability density function. More specifically, existing methodologies assume that the probability density function of the number of lines in an order follows a geometric distribution. In reality, the number of lines in an order can follow any suitable form of distribution. Therefore, this assumption can further affect the accuracy of the analysis.
[0029]
[0039] Third, existing methodologies for implementing queuing networks are configured to simply calculate the average travel time of an autonomous guided vehicle during an operation process (e.g., during operation of the autonomous guided vehicle within an environment (e.g., a warehouse)). In essence, these existing methodologies simply solve the common path problem of an autonomous robotic system. In practice, when an improved autonomous robotic system including an autonomous guided vehicle that transports cases from a shelf is deployed, there are two issues to consider apart from the common path problem. FIG. 3 provides an example of considerations to make when designing an improved autonomous robotic system including an autonomous guided vehicle configured to transport cases within a warehouse. In FIG. 3, as an example, the capacity of autonomous guided vehicle 352 is three cases. In other words, autonomous guided vehicle 352 can transport a maximum of three cases in one move. However, command 354 to be performed includes five cases (e.g., represented by 356 in FIG. 3). Therefore, autonomous guided vehicle 352 needs to make at least two moves to perform the command. Therefore, one consideration in such a situation is how to assign cases to different trips. This is called the "assignment problem." For example, as shown in FIG. 3, one solution can assign Case 1, Case 2, and Case 3 to the first trip, and Case 4 and Case 5 to the second trip. Similarly, another solution can assign Case 5, Case 2, and Case 3 to the first trip, and Case 1 and Case 4 to the second trip. Another consideration in this situation is what the sequence of picking cases within a trip should be. This is called the "case retrieval problem." For example, if Case 1 and Case 4 are assigned to the second trip, one solution can pick up Case 1 first, and Case 4 can be picked up after Case 1. Similarly, another solution can pick up Case 4 first, and Case 1 can be picked up after Case 4. Considering the above issues, analyzing the average trip time of an autonomous guided vehicle using existing methodologies can be difficult and time-consuming.
[0030]
[0040] For the aforementioned reasons, existing methodologies are computationally inefficient and inaccurate for analyzing the performance of advanced autonomous robotic systems comprising autonomous guided vehicles that store, retrieve, and transport cases within an environment (e.g., a warehouse). Described herein are systems and methods for computationally fast and accurate analysis of the performance of these advanced autonomous robotic systems. The techniques described herein utilize a combination of simulation modeling and analytical modeling to analyze the performance of the advanced autonomous robotic systems. Broadly speaking, the techniques described herein generate a simulation model for simulating the operation of the autonomous guided vehicle. The travel durations of the autonomous guided vehicle to various locations within the warehouse can be determined based on running the simulation model. The techniques described herein generate an analytical model based at least in part on the determined travel durations. The analytical model is then analyzed to estimate and / or predict the performance of the advanced autonomous robotic system. Compared to existing methodologies, the techniques described herein can achieve approximately 90 percent accuracy in estimating the performance of the advanced autonomous robotic system. Furthermore, compared to existing methodologies, the techniques described herein are computationally faster (e.g., approximately 1000 times faster) when investigating the impact of instruction arrival configurations (e.g., the average rate at which instructions arrive, the probability density function of instructions for different line numbers, etc.) and resource specifications and availability (e.g., the location and availability of autonomous guided vehicles, charging stations, picking stations, etc.) on the performance of improved autonomous robotic systems.
[0031]
[0041] FIG. 4 provides a broad illustration of the techniques described herein for analyzing the performance of an improved autonomous robotic system. As seen in FIG. 4 , the systems and methods described herein acquire input 462. Input 462 includes data describing the layout of the environment (e.g., warehouse layout), such as input 462a (i.e., system layout). Input 462 further includes data associated with the operation of each autonomous guided vehicle, such as input 462b (i.e., robot motion algorithm, multi-line command distribution, average command arrival rate). Input 462 also includes data associated with resources in the warehouse (e.g., resource specifications and configuration), such as input 462c (i.e., resource specifications, resource service times). The systems and methods described herein generate and execute a combined simulation and analysis model (e.g., model 464). The systems and methods described herein output an estimated performance of the autonomous robotic system based on the execution of model 464. The outputs 466 can include an instruction throughput time 466a, a maximum throughput of the autonomous robotic system 466b, and a utilization rate of resources in the warehouse 466c.
[0032] Exemplary System
[0042] FIG. 5 illustrates an exemplary variation of a system 500 for analyzing the performance of an improved autonomous robotic system 582. A general implementation of system 500 is described with reference to FIG. 4 above. System 500 includes a user interface 572 configured to obtain input (e.g., input 462 described in connection with FIG. 4 ) and transmit output (e.g., output 466 described in connection with FIG. 4 ). User interface 572 is communicatively coupled to a controller 574. In some variations, output obtained from user interface 572 may be utilized by improved autonomous robotic system 582 to optimize the operation of autonomous guided vehicle 584. Similarly, in such variations, output obtained by user interface 572 may be utilized to optimize the layout and configuration of resources within warehouse 592.
[0033]
[0043] User interface 572 may enable a user and / or computing device to input data associated with the layout of the environment (e.g., warehouse layout), the operation of the autonomous guided vehicle, and the specifications and configuration of resources within the environment (e.g., warehouse). More specifically, user interface 572 may enable a user and / or computing device to input data representing the layout of the environment, e.g., a visual representation of the warehouse representing charging stations, workstations, central storage, dynamic storage, etc. The input data may also include data associated with the operation of the autonomous guided vehicle, e.g., the distribution of lines in orders, the arrival rate of orders, orders for which cases are to be picked by the autonomous guided vehicle, an indication of how many cases are to be picked per trip, the travel speed of the autonomous guided vehicle, etc. The input data may also include data associated with the specifications and / or configuration of resources within the environment, e.g., the configuration of charging stations, the service times of charging stations, the location of the picker, the service times of the picker, the idle location of the autonomous guided vehicle, etc. The input may be in any suitable form (e.g., text, audio, image, video, numbers, combinations thereof, etc.).
[0034]
[0044] In some examples, user interface 572 may be rendered on any suitable computing device. Non-limiting examples of computing devices include computers (e.g., desktops, personal computers, laptops, etc.), tablets, e-readers (e.g., Apple iPad®, Samsung Galaxy® Tab, Microsoft Surface®, Amazon Kindle®, etc.), mobile devices and smartphones (e.g., Apple iPhone®, Samsung Galaxy®, Google Pixel®, etc.), etc. The computing devices may be communicatively coupled to controller 574 via a network (e.g., the Internet, a local area network (LAN), a wide area network (WAN), etc.).
[0035]
[0045] In some variations, the controller 574 may include one or more servers and / or one or more processors operating on a cloud platform (e.g., Microsoft Azure®, Amazon® Web Services, IBM® Cloud Computing, etc.). The servers and / or processors may be any suitable processing device configured to run and / or execute a set of instructions or code and may include one or more data processors, image processors, graphics processing units, digital signal processors, and / or central processing units. The servers and / or processors may be, for example, general-purpose processors, field programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), etc.
[0036]
[0046] In some variations, the controller 574 may include a processor (e.g., a CPU). The processor may be any suitable processing device configured to operate and / or execute a set of instructions or code and may include one or more data processors, image processors, graphics processing units, physical processing units, digital signal processors, and / or central processing units. The processor may be, for example, a general-purpose processor, a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), etc. The processor may be configured to operate and / or execute application processes and / or other modules, processes, and / or functions associated with the system and / or its associated network. The underlying device technology may be provided in various component types (e.g., MOSFET technologies such as complementary metal-oxide semiconductor (CMOS), bipolar technologies such as emitter-coupled logic (ECL), polymer technologies (e.g., silicon-conjugated polymer and metal-conjugated polymer-metal structures), mixed analog and digital, etc.
[0037]
[0047] In some examples, controller 574 may be configured to analyze the performance of the improved autonomous robotic system. For example, controller 574 may be configured to implement one or more modules of system 100. The one or more modules include a simulation module 574a and an analysis module 574b. Module 574a and module 574b may include instructions for performing one or more of: (1) generating a simulation model to simulate the operation of an autonomous guided vehicle of the improved autonomous robotic system; (2) running the simulation model; (3) determining a travel duration for the autonomous guided vehicle; (4) generating an analytical model to analyze the performance of the improved autonomous robotic system; and (5) analyzing the analytical model to estimate the performance of the improved autonomous robotic system.
[0038]
[0048] The controller 574 (e.g., the controller's processor) may include instructions and / or software code for executing module 574a and module 574b. In some examples, the processor may execute both modules. In some examples, the instructions and / or software code may include separate calls to separate modules. A call to a first module may redirect processing performed by the controller 574 to perform instructions included in that first module. After execution of that first module, if the instructions and / or software code include a call to a second module, processing may be redirected to perform instructions included in the second module. In some examples, the controller 574 may execute each module 574a and module 574b sequentially, one after the other. Alternatively, the controller 574 may execute both modules 574a and module 574b simultaneously. In some examples, both modules 574a and module 574b may be combined into a single module. These modules 574a and module 574b and their functions are described in detail below.
[0039]
[0049] Output from controller 574 is transmitted to user interface 572. The output may be in any suitable format (e.g., text, audio, video, images, numbers, combinations thereof, etc.). The output may include performance metrics of the improved autonomous robotic system, such as the throughput time of the improved autonomous robotic system, the maximum throughput of the improved autonomous robotic system, the utilization of resources in the environment (e.g., a warehouse), etc. The output may be used to determine an optimized layout of warehouse 592, design improved autonomous robotic system 582, design autonomous guided vehicle 584, determine an optimized configuration of resources in warehouse 592, determine an optimized specification of resources in warehouse 592, etc.
[0040] Simulation Module
[0050] To analyze the performance of the improved autonomous robotic system, a simulation module (e.g., structurally and / or functionally similar to simulation module 574a in FIG. 5) is configured to implement a simulation-based approach. In particular, the simulation module described herein is configured to generate a simulation model and run the simulation model to determine the steady-state average movement duration of the autonomous guided vehicle for all movement processes involved in the operation of the autonomous robotic system. For example, the simulation module is configured to generate and run simulation models to determine the movement duration of the autonomous guided vehicle for a particular command to retrieve a case, to move the case to a designated workstation, to move the case to a previous storage location (e.g., to move the empty case from the workstation to the area where the case was originally retrieved), to move to a battery charging station, and to move from the battery charging station to a parking location.
[0041]
[0051] The simulation model is generated and run such that the steady-state average trip durations of the autonomous vehicles are independent of the allocation of resources in the environment (e.g., the allocation of resources such as autonomous guided vehicles, pickers, charging stations, and chargers in a warehouse). Instead, these steady-state average trip durations depend on (1) the case retrieval policy within a trip (e.g., the sequence in which cases are retrieved within a trip), (2) the case allocation policy between trips (e.g., the number of cases assigned to each trip to fulfill an instruction), (3) the path planning instructions generated for the autonomous guided vehicles, (4) the travel speed of the autonomous guided vehicles, and (5) the layout of the environment (e.g., the layout of the warehouse).
[0042]
[0052] 6A and 6B are flowcharts illustrating an example of an exemplary simulation-based method implemented by a simulation module to determine the steady-state average travel duration of an autonomous guided vehicle. A simulation model is generated by the simulation module as shown in FIGS. 6A and 6B. At 612, an instruction to be performed arrives at the environment (e.g., arrives at a warehouse) and waits in an instruction queue. At 616, the simulation module randomly assigns an idle autonomous guided vehicle to the first waiting instruction.
[0043]
[0053] The instructions may require multiple cases to be distributed to various locations in the environment (e.g., a central storage area, a dynamic storage area in a warehouse). As discussed above, the maximum number of cases an autonomous guided vehicle can carry in a single trip may be limited (e.g., based on the capacity of the autonomous guided vehicle). Thus, completing the instructions may require the autonomous guided vehicle to make multiple trips. At 618, the autonomous guided vehicle determines a case retrieval instruction, and then at 620, the autonomous guided vehicle moves from its current location to the case stored on the shelf targeted for this trip according to the specific instruction. The case retrieval instruction and / or the instruction for the autonomous guided vehicle to move to the targeted case may be optimized or random. Alternatively, the case retrieval instructions may be centrally determined by a central system and communicated to the autonomous guided vehicle in question.
[0044]
[0054] At 622, the autonomous guided vehicle picks up all the cases to be transported in one trip from the shelf and then transports the cases to the designated workstation. The number of workers in the workstation can be limited. At 634, the autonomous guided vehicle enters the workstation buffer and waits its turn.
[0045]
[0055] Once the picker removes the products from the case in 626, the autonomous guided vehicle returns the empty case to its original storage location in 628. The order to transport empty cases to their original storage location (referred to herein as the "case storage process") can be random or optimized. In 630, the autonomous guided vehicle checks whether there are any remaining cases needed to fulfill the order. If there are any remaining cases, the autonomous guided vehicle returns to step 620. If there are no remaining cases, the order is released.
[0046]
[0056] At 636, the autonomous guided vehicle checks whether the remaining battery is below a predefined threshold. If so, the autonomous guided vehicle may need to arrive at a charging station. The number of autonomous guided vehicles that a charging station can service simultaneously may be limited. Therefore, if the number of autonomous guided vehicles at the charging station exceeds a certain limit, the autonomous guided vehicle may enter a workstation buffer at 646 and wait its turn. After charging is complete, the autonomous guided vehicle returns to the shelf storage area. If the remaining battery level is above the threshold at 636, the autonomous guided vehicle becomes idle and waits to be assigned another command (e.g., at 644).
[0047]
[0057] After the simulation model is generated, the simulation module executes the simulation model to sample the movement durations of the autonomous guided vehicle. For example, movement durations at steps 620, 622, 628, 638, and 642 are sampled for different types of commands and different types of movements to carry out the commands. Execution of the simulation model terminates when the average movement durations at steps 620, 622, 628, 638, and 642 collected from the samples converge. For example, execution of the simulation model may terminate when the confidence intervals for the average movement durations at steps 620, 622, 628, 638, and 642 fall below 1% of each of the respective average values. The converged movement durations are sent to the analysis module as input to the analysis module.
[0048] Analysis Module
[0058] To analyze the performance of the improved autonomous robotic system, an analysis module (e.g., structurally and / or functionally similar to analysis module 574b in FIG. 5 ) is configured to implement an analysis-based approach. In particular, the analysis module described herein is configured to analyze the impact of multi-line command distribution, command arrival configuration, resource specifications and availability, resource service times, etc., on the performance of the improved autonomous robotic system. More specifically, an average trip duration is determined by a simulation module. The analysis module uses this average trip duration determined by the simulation module to analytically determine the impact of the number of resources (e.g., robots, pickers, chargers) in the environment, the average command arrival rate, multi-line command distribution, and service time distribution at workstations and exchange stations on the performance of the improved autonomous robotic system. As described in more detail below, the analysis module constructs a shared-token multi-class semi-open queuing network (SOQN) to analyze the impact of the above-described process on the performance of the improved autonomous robotic system. In some variations, the analysis module applies approximate mean value analysis to solve the SOQN.
[0049]
[0059] Assumptions for generating analytical models
[0050]
[0060] To generate the analytical model, the analysis module assumes the following:
[0051]
[0061] (1) The arrival of orders follows a Poisson distribution. The average order arrival rate is defined as λ. Arriving orders are serviced by autonomous guided vehicles on a first-come, first-served basis. An order may have multiple lines. Orders are classified into different classes based on the number of lines in the order. The number of lines in an order ranges from 1 to N l Then, N l There should be different classes of instructions. In this disclosure, O={1,...N l} is N lis used to represent the set of indices of instruction classes. For each r∈O, the probability that an arriving instruction belongs to class r is defined as p(r), and the average instruction arrival rate is λ r The number of lines in the command is N r The number of moves required to execute an order is defined as NT. r In this disclosure, T r ={1,...NT r} while carrying out the command of class r, NT r It is used to represent a set of indices of moves.
[0052]
[0062] (2) In the environment (e.g., in a warehouse) w Assume there are N workstations. w The set of workstation indices is W={1,...N w} can be expressed as
[0053]
[0063] After the picker removes the product from the case, the autonomous guided vehicle transports the case (e.g., an empty case) from the workstation to a storage area (e.g., the original storage area). The autonomous guided vehicle returns the case to its original storage location (i.e., the location from which the case was originally removed) and waits at the end of the storage process. Rather than stopping at a predetermined stop, the autonomous guided vehicle follows a point-of-service-completion (POSC) stop policy. In other words, after the autonomous guided vehicle returns the case to its original storage location, rather than moving to a predetermined stop to wait for the next command, the autonomous guided vehicle waits at its final location until it is matched with a new / next command.
[0054]
[0064] The same autonomous guided vehicle completes the order. However, there is an upper limit to the number of cases that an autonomous guided vehicle can carry at the same time. Therefore, if the number of cases in an order exceeds the capacity of the autonomous guided vehicle, multiple trips may be required to complete the order. These trips may include a case retrieval process (e.g., the process of retrieving a case from its original storage location), a workstation process (e.g., the processing of a case at a workstation, such as a picker removing product from a case), and a case storage process (e.g., the process of returning an empty case to its original storage location for storage).
[0055]
[0065] The average processing time and coefficient of variation for one case at a workstation are u wi and cv wi is shown as:
[0056]
[0066] Generate analytical models
[0057]
[0067] FIG. 7 illustrates an example analytical model constructed by the analytical module described herein. The analytical model is used to analyze the performance of an improved autonomous robotic system. In some variations, the analytical model is a shared-token multi-class semi-open queuing network (SOQN). In other words, autonomous guided vehicles are constructed as shared tokens. Furthermore, autonomous guided vehicles are modeled as multiple types of customers in the queuing network, and these customers fulfill different order lines, thus constructing a multi-class queuing network. In addition, orders are also modeled as customers in the queuing network. However, once an order is completed, it is assumed to leave the queuing network, and autonomous guided vehicles (also modeled as customers) are assumed not to leave the queuing network, thus constructing a semi-open queuing network.
[0058]
[0068] An analytical model (e.g., a shared-token multi-class SOQN) can be generated by representing one or more operational processes of an improved autonomous robotic system as respective nodes. Some exemplary nodes include synchronization nodes, infinite service nodes, and service nodes. A "service node" is considered to include a server, which is a resource configured to process or service customers. In some variations of generating analytical models, a server is assumed to be capable of serving one customer at a time. Thus, the capacity of a service node is assumed to be defined by the number of servers available to process or service customers. An "infinite service node" is a service node with an infinite number of servers.
[0059]
[0069] In some variations, generating the analytical model includes representing each of the movement processes, such as, for example, a process of retrieving one or more cases by an autonomous guided vehicle, a process of the autonomous guided vehicle moving the retrieved case or cases to a workstation, and a process of the autonomous guided vehicle moving from the workstation to a storage location (e.g., the location from which the case was retrieved), as a respective infinite service node. This is because, regardless of the number of autonomous guided vehicles (e.g., customers) arriving at each infinite service node simultaneously, each of the autonomous guided vehicles can move instantly as if there were an infinite number of servers (i.e., autonomous guided vehicles) within the service node servicing the customers. Additionally, generating the analytical model includes representing, as a service node, a process of a picker retrieving products from one or more cases at the workstation.
[0060]
[0070] Additionally or alternatively, generating the analytical model includes representing a process of matching an autonomous guided vehicle with multiple line orders as a synchronization node. As discussed above, a queuing network is composed of both a plurality of autonomous guided vehicles and a plurality of orders, and both the plurality of autonomous guided vehicles and the plurality of orders are customers. The synchronization node is configured to include two queues. Each of the two queues within the synchronization node is considered both a server and a customer of the other.
[0061]
[0071] The analytical model that was generated is described below.
[0062]
[0072] As seen in FIG. 7 , in this exemplary analytical model, there are N autonomous guided vehicles in an improved autonomous robotic system. When an instruction arrives in the system, it waits in an instruction queue 782 and is then matched with an available autonomous guided vehicle. The autonomous guided vehicles act as shared tokens and can service different multi-line instructions. The matching process is modeled as a synchronization station (also referred to as a “synchronization node”), where there are two queues: an instruction queue 782 and an available autonomous guided vehicle queue 784, with at least one of the two queues being empty. As discussed above, a queuing network is built with both the autonomous guided vehicles and the instructions, and both the autonomous guided vehicles and the instructions are customers. Thus, the synchronization node includes two queues (i.e., an instruction queue 782 and an available autonomous guided vehicle queue 784). Each of the two queues in the synchronization node is considered both a server and a customer for the other.
[0063]
[0073] In this analytical model, for each r∈O and t∈T rFor class r, the autonomous guided vehicle picks the required cases from the shelf by movement t with a specific command, which can be random or optimized, during the execution of class r commands. The case retrieval process (e.g., the process of assigning the sequence in which cases are retrieved in movements and the process of retrieving the cases according to this sequence) is modeled as an infinite service node (IS) (e.g., a node with infinite servers) because once an autonomous guided vehicle and a command are matched, the autonomous guided vehicle can move immediately without waiting. The average travel time during this case retrieval process depends on the type of command r and the current movement t, and the average travel time for this node is given by
[0064]
number
[0065] is.
[0066]
[0074] The autonomous guided vehicle moves from the visited shelf at the end of the retrieval process to a designated processing station (e.g., a designated workstation). i For ∈W, instructions of class r are assigned to workstation w i The probability of choosing
[0067]
number
[0068] In an environment (e.g., a warehouse), N w If there are N workstations, this migration process w The storage area is modeled as an infinite number of service nodes. i The average time required to travel to
[0069]
number
[0070] is shown as:
[0071]
[0075] The autonomous guided vehicle is a workstation i When a product arrives at a workstation, it joins a waiting queue and waits its turn, after which a picker retrieves the required product from the case. If there is only one picker at each workstation, the process can be performed on N nodes with a single server. w Each r∈O and t∈T is modeled as a set of service nodes (e.g., nodes with a finite number of servers). r Average process time for an autonomous guided vehicle
[0072]
number
[0073] also depends on the instruction type r and the current move t.
[0074]
[0076] After servicing a process station, the autonomous guided vehicle must return and store all picked cases in their original locations with specific instructions that can be random or optimized. This movement process is also performed by N w is modeled as infinite service nodes, where r∈R,t∈T r ,w i For ∈W, the average travel time during this process is
[0075]
number
[0076] is defined as:
[0077] After the case storage process, the probability
[0078]
number
[0079] , the autonomous guided vehicle may need to start with the case removal process and continue to the next move after t moves.
[0080]
number
[0081] After t movements, the autonomous guided vehicle becomes idle and moves to the synchronization node's autonomous guided vehicle queue 784, and the command leaves the autonomous robot system (i.e., the warehouse has fulfilled the command).
[0082]
number
[0083] , the autonomous guided vehicle needs to charge after t movements. All these probabilities depend on the current service command and movements of the autonomous guided vehicle.
[0084]
[0078] When an autonomous guided vehicle is charging, the autonomous guided vehicle travels from a stop point to a charging station. This process takes place over a period of time with an average travel duration of
[0085]
number
[0086] It is also modeled as an infinite service node where
[0087] After arriving at the charging station, the autonomous guided vehicle joins a waiting queue and waits its turn to be charged. Assuming there is only one charging station, the process is as follows: c The average charging time for one autonomous guided vehicle is
[0088]
number
[0089] is.
[0090] After charging is complete, the autonomous guided vehicle travels for an average time of
[0091]
number
[0092] The autonomous guided vehicle then goes into an idle state and enters the synchronization node's autonomous guided vehicle queue 784.
[0093]
[0081] Analyzing Autonomous Guided Vehicle Behavior Using Analytical Models
[0094]
[0082] The characteristics of each service node in the exemplary analytical model described in connection with Figure 7 (ie, the shared token multi-class semi-open queuing network described above) are analyzed as follows.
[0095] If it is assumed that the autonomous guided vehicle can carry as many cases required by a command as possible on each move, then for each r∈O, the number of moves (NT r )teeth,
[0096]
number
[0097] It can be defined as:
[0098] where N r is the number of lines of instruction of type r, C is the capacity of the case that the autonomous guided vehicle handles, and [.] is the rounding function. For each r∈O,t∈T rFor , the number of cases required for r-type instructions in move t is NC r,t This can be calculated as equation (2).
[0099]
number
[0100]
[0085] Each r∈O, t∈T r For a given number, the probability of making another move after completing t moves is
[0101]
number
[0102] teeth,
[0103]
number
[0104] It can be defined as follows.
[0105]
[0086]
[0106]
number
[0107] The average travel time, including , can be calculated from the samples obtained from the simulation module.
[0108]
[0087] The probability that an autonomous guided vehicle carrying an instruction of type r will head for charging after completing t movements
[0109]
number
[0110] To calculate the average movement duration ATT for an autonomous guided vehicle to execute r-type commands in t movements, r,t must be calculated, which is
[0111]
number
[0112] is.
[0113] Battery consumption is assumed to be linearly related to travel time. The average battery consumption for an autonomous guided vehicle to perform a command is the average energy consumed in performing different command types over various trips.
[0114]
number
[0115]
[0089] Here, dr indicates the percentage of battery consumption rate during movement.
[0116]
[0090] The probability that an autonomous guided vehicle carrying an instruction of type r will head for charging after completing t movements
[0117]
number
[0118] teeth,
[0119]
number
[0120] It is shown in
[0121] This means that a fully charged battery is at a predefined battery threshold (th c) is the inverse of the average number of commands that can be supported before reaching the target. If the autonomous guided vehicle still has remaining moves to complete a command,
[0122]
number
[0123] is set to 0.
[0124]
[0092] r∈O, t∈T r For , the probability that the autonomous guided vehicle will be idle and go to the autonomous guided vehicle queue 784 of the synchronization node when executing an r-type instruction after completing movement t is
[0125]
number
[0126] is.
[0127] For an instruction of type r in t movement, workstation w i Average service time in
[0128]
number
[0129] and the dispersion coefficient
[0130]
number
[0131] can be calculated based on input parameters (e.g., average service rate and variance coefficient for pickers picking items from cases) and are shown in equations (8) and (9) below.
[0132]
number
[0133]
[0094] Analysis of the performance of an autonomous robotic system based on an analytical model
[0134] The performance of an autonomous robotic system can be analyzed based on the execution of an analytical model. In some variations, an analytical method such as approximate mean value analysis (AMVA) can be performed on the analytical model to estimate the performance of the autonomous robotic system. More specifically, AMVA can be implemented to solve the shared-token multi-class semi-open queuing network described above.
[0135] Based on the approach described herein, the processing times at the workstations and charging stations follow a general distribution, so the queuing network described above can be considered to belong to non-product-form queuing networks. Such queuing methods do not have an exact solution. Therefore, the shared token multi-class queuing network generated above can be solved using single-chain multi-class approximate mean value analysis (AMVA).
[0136] Before implementing AMVA, we need to calculate, for each r∈O, the normalized average number of visits (also known as the visit rate) to all service nodes by autonomous guided vehicles executing instructions of class r type. If the visit rate of an SOQN is
[0137]
number
[0138] If it is chosen to be normalized as
[0139] where V sync denotes the visit rate of the autonomous guided vehicle to the synchronization node,
[0140]
number
[0141] denotes the visit rate of an autonomous guided vehicle executing an instruction of class r type to a synchronization node. The probability of an instruction of type r to execute movement t is
[0142]
number
[0143] It is calculated as:
[0144]
[0099] In every movement, the autonomous guided vehicle goes through the retrieval process, so the visit rate to the retrieval node of the autonomous guided vehicle executing the class r type command is
[0145]
number
[0146] is P r,t For other nodes in the trip, the visit rate is calculated based on equation (12). For sub-processes in the charging procedure, the visit rates of all involved charging nodes can be calculated as equation (13).
[0147]
number
[0148]
[0100] In some variations, AMVA can be used to solve the SOQN using the following three steps:
[0149]
[0101] Step 1: By deleting the synchronization station from the SOQN (e.g., the SOQN shown in FIG. 7), a Closed Queuing Network (CQN) is created. This is shown in FIG. 8. This CQN can be analyzed by a single-chain multi-class AMVA. AMVA generates TH1, which is the throughput of the CQN using N robots.
[0150]
[0102] Step 2: By replacing the synchronization nodes in the SOQN with load-dependent service nodes, a second CQN is created. This service node is denoted as node S + 1, assuming there are S nodes in the first CQN. Node S + 1 has a service rate u(n) = λ when n > 1, where n robots are at the station. The network is stable only when λ < TH1. When n = 1, the service rate is
[0151]
Number
[0152] as follows. Next, the same AMVA methodology can be used to analyze this second CQN. The output of the AMVA methodology is the expected waiting time i at different workstations w
[0153]
Number
[0154] and WT at the charging station c and the expected number of automated guided vehicles in the automated guided vehicle queue 784 at the synchronization node denoted as N sync and the probability of n automated guided vehicles at workstation w i as follows.
[0155]
Number
[0156] and the probability P of n autonomous guided vehicles at the charging station. c (n) and
[0157] Step 3: The solution procedure analyzes the synchronization node alone to find L, which represents the average length of instructions in the instruction queue of the synchronization node. O Calculate.
[0158]
[0104] Step 4 can be performed to estimate the performance of the autonomous robotic system.
[0159] Step 4: Based on the results obtained from Steps 2 and 3, calculate the instruction throughput time and resource utilization.
[0160]
[0106] Utilization rate of autonomous guided vehicles (ρ r ) calculates the percentage of busy autonomous guided vehicles that are not available for assignment of commands, which can be calculated as equation (14).
[0161]
number
[0162]
[0107] Workstation utilization rate
[0163]
number
[0164] calculates the percentage of time that a workstation has one or more autonomous guided vehicles, which can be calculated as equation (15).
[0165]
number
[0166]
[0108] There is a charging station c Since there are chargers, the utilization rate of the chargers at the charging station can be calculated as equation (16).
[0167]
number
[0168] Instruction throughput time THT r calculates the duration from the arrival of an r-type command to the departure of an r-type command. This takes into account the external command waiting time, the average travel time of the autonomous guided vehicle for the retrieval and storage process, the service time at different workstations, and the waiting time at different workstations. This can be calculated as equation (17). The overall command throughput can be calculated as equation (18).
[0169]
number
[0170]
[0110] In this way, the performance of an improved autonomous robotic system can be calculated computationally quickly and accurately.
[0171] Exemplary Methods FIG. 9 is a flowchart illustrating an example method 900 for analyzing the performance of an improved autonomous robotic system. In step 902, method 900 includes obtaining first input data via a user interface (e.g., structurally and / or functionally similar to user interface 572 in FIG. 5). The first input data may include data associated with the operation of the autonomous guided vehicle (e.g., a case retrieval policy, a case assignment policy, a path planning instruction, etc.) and data describing the layout of the environment. For example, the first input data may include (1) a case retrieval policy within a move (e.g., the sequence in which cases are retrieved within a move), (2) a case assignment policy between moves (e.g., the number of cases assigned for each move to fulfill an instruction), (3) path planning instructions generated for the autonomous guided vehicle, (4) a travel speed of the autonomous guided vehicle, and (5) the layout of the environment (e.g., a warehouse layout).
[0172] At 904, the method includes generating a simulation model via a controller (e.g., structurally and / or functionally similar to controller 574 in FIG. 5). In some variations, the simulation model may be generated via a module such as, for example, simulation module 574a described herein. More specifically, method 900 may implement the methods described in FIGS. 6A and 6B to generate the simulation model.
[0173] At 906, method 900 includes determining a travel duration for the autonomous guided vehicle based on execution of the simulation model generated at 904. For example, method 900 may include determining a travel duration for the autonomous guided vehicle to travel to a target shelf to retrieve a case in the calculated instruction, determining a travel duration for the autonomous guided vehicle to transport the retrieved case to a designated workstation, determining a travel duration for the autonomous guided vehicle to transport the empty case from the workstation to its original storage location, determining a travel duration for the autonomous guided vehicle to travel to a charging station, and / or determining a travel duration for the autonomous guided vehicle to travel from the charging station to its stop (e.g., the original case retrieval area). In some variations, the travel durations of different types of instructions and the travel durations of different types of movements to carry out the instructions are sampled, and an average travel duration is determined. In some variations, execution of the simulation model terminates when the average travel durations of the different samples converge.
[0174] At 908, the method outputs results obtained from running the simulation model. Outputs from the simulation model (e.g., steady-state average travel durations for different processes) are provided as inputs to an analytical model (e.g., in step 908). At 912, the method includes generating the analytical model via a controller (e.g., structurally and / or functionally similar to controller 574 in FIG. 5). In some variations, the analytical model may be generated via a module such as, for example, analytical module 574b described herein.
[0175] In some variations, the analytical model can be a shared-token multi-class semi-open queuing network (SOQN). In a shared-token multi-class semi-open queuing network (SOQN), autonomous guided vehicles act as shared tokens that can service different types of instructions. An instruction can be serviced if it matches with an idle case-handling autonomous guided vehicle. This matching process is considered a synchronization node of the SOQN. The autonomous guided vehicle and the instruction may wait for each other. Thus, there can be two queues at this node: an autonomous guided vehicle queue and an instruction queue.
[0176]
[0116] Once an autonomous guided vehicle is assigned to an instruction type, the autonomous guided vehicle moves to retrieve the required case from the shelf. Once the autonomous guided vehicle and the instruction are matched, the autonomous guided vehicle can move immediately without waiting, so this case retrieval process is modeled as an infinite service node (IS). As discussed above, the average travel time is calculated by the simulation model.
[0177] The autonomous guided vehicle travels from the visited shelf at the end of the retrieval process to the designated processing station. This process is modeled using an infinite number of service nodes equal to the number of workstations in the environment (e.g., a warehouse). The probability that an instruction type will select a workstation is assumed to be input. As discussed above, the average travel time is calculated by the simulation model.
[0178] The process within a workstation is modeled using service nodes (e.g., pickers) with a limited number of servers. The number of service nodes corresponds to the number of workstations, and the number of servers in each node corresponds to the number of pickers in the workstation. The average and number of cases carried in a trip can be determined. The average time and coefficient of variation required for a picker to pick a product from a case can be provided. Alternatively, the time distribution for a picker to remove a product from a case can be provided.
[0179]
[0119] The case storage process is modeled using infinite service nodes, with the number equal to the number of workstations in the warehouse. As discussed above, the average travel time is calculated by the simulation model.
[0180] After the case storage process, the autonomous guided vehicle has three possible action branches: continue to the next trip starting from the matching process, go idle and join the queue of autonomous guided vehicles at the synchronization node, or go for charging. The probabilities of these branches can be calculated based on factors such as the command type, the current trip information, the battery depletion rate per meter, and the battery charging threshold.
[0181]
[0121] When an autonomous guided vehicle goes to charge, the autonomous guided vehicle goes from the stop point to the charging station. This process is modeled as an infinite service node. As discussed above, the average travel time is calculated by the simulation model.
[0182]
[0122] The service at the charging station is modeled as a service node with a limited number of servers equal to the number of chargers. The average time required to charge an autonomous guided vehicle and a coefficient of variation can be input. Alternatively, a charging time distribution can be provided.
[0183] After being fully charged, the autonomous guided vehicle returns to the shelf storage area (e.g., case retrieval area). It then becomes idle and enters the autonomous guided vehicle queue of the synchronization node. As discussed above, the average travel time is calculated by the simulation model.
[0184] At 914, the method includes estimating performance of the autonomous robotic system based on execution of the analytical model generated in step 912. In some variations, estimating performance of the autonomous robotic system may include executing an approximate mean value analysis methodology on the generated analytical model. For example, the method may include calculating visit rates for each service node for different types of commands and various movements required to fulfill these commands. The method may further include removing the synchronization node and constructing a closed queuing network (CON) for the remaining nodes. The method may also include calculating the throughput of the CON using an approximate mean value analysis (AMVA) method. For example, this may include replacing the synchronization node with a load-dependent service node based on the throughput calculated by utilizing the AVMA method for the CON. The service rate of the load-dependent service node depends on the number of autonomous guided vehicles in the node. Next, the method may include constructing a second closed queuing network (CON2) for the load-dependent service node and the complementary node. The method may include solving CON2 using AMVA to calculate utilization of resources (autonomous guided vehicles, processing stations, charging stations).
[0185]
[0125] In this way, the performance of an autonomous robotic system can be analyzed computationally fast and accurately.
[0186] Thus, as described above, method 900 implements a simulation-based approach to calculate the steady-state average trip duration of all transfer processes involved in the operation of the autonomous robotic system. In FIGS. 6A and 6B, there is a clock symbol near the transfer process determined using the simulation-based approach. The average value does not vary with resource (autonomous guided vehicle, picker, charger) allocation within the environment (e.g., warehouse) and with the instruction arrival rate. Instead, the average value depends on several factors: (1) the case removal policy within the trip, (2) the case allocation policy between trips, (3) the planned path of the autonomous guided vehicle, (4) the characteristics of the autonomous guided vehicle, such as travel speed, and (5) the warehouse layout. Therefore, if these factors do not change, there is no need to repeatedly calculate the steady-state average trip duration.
[0187]
[0127] In summary, the techniques described herein estimate the performance of an autonomous robotic system by:
[0188]
[0128] Generate a simulation model based on the operation process of the autonomous robot system and the warehouse layout. In the simulation, each r∈O and t∈T, as shown by the clock symbol in Figures 6A and 6B, r The migration durations of different migration processes are recorded for each of the samples. The simulation ends when the average of the collected samples converges.
[0189]
[0129] Based on the operation of the autonomous robotic system, the following factors are taken into consideration: (1) the average movement duration calculated in the previous step; (2) the number of resources (autonomous guided vehicles, pickers, chargers); (3) the average command arrival rate and multi-line command distribution; and (4) the service time distribution at the workstations and charging stations.
[0190]
[0130] Using these components, a shared-token multi-class service-oriented queuing network (SOQN) is constructed for an autonomous robotic system in a warehouse. Approximate Mean Value Analysis (AMVA) methodology is implemented to solve the SOQN model.
[0191] example The accuracy of the estimation using the techniques described herein is verified using discrete event simulation. The proposed SOQN solution is tested in the application scenario shown in Figure 10. In this example, a warehouse has 60 shelves. There are three workstations distributed in the warehouse. The time it takes a picker to remove a product from a case follows a uniform distribution U[20,25] seconds. There is a charging station at the top of the warehouse. The charging time of a single autonomous guided vehicle follows a uniform distribution U[25,30] minutes. The battery charge threshold th c is set to 20%. The speed of the ASLV is set to 0.5 m / s. The maximum capacity of the ASLV is set to 5. The maximum number of lines of commands is set to 6. The probabilities of commands with 1 to 6 lines are set to [0.1, 0.2, 0.2, 0.1, 0.1, 0.3], respectively. The arrival of commands is assumed to follow a Poisson distribution.
[0192] In this example, the probability that a case will be selected by an instruction is assumed to be equal for all cases stored in the warehouse. After instructions are assigned to the autonomous guided vehicle, the case retrieval instructions within a trip are randomly generated. In addition, the case allocation between different trips is also set randomly. The movement of the autonomous guided vehicle follows a path. The autonomous guided vehicle is based on the A Star Algorithm described in F. Duchon (with "n" above Hachek) et al., "Path Planning with Modified a Star Algorithm for a Mobile Robot," Procedia Engineering, Vol. 96, pp. 59-69, January 2014, doi:10.1016 / j.proeng.2014.12.098 *Use a path planning algorithm.
[0193] A discrete event system model was constructed using AnyLogic® software. Ten replicates were run with 1000 hours of operation time per replicate, resulting in a 95% confidence interval where the half-width was within 2% of the mean.
[0194] The steady-state performance (order throughput time and autonomous guided vehicle utilization) obtained from discrete-event simulations with different warehouse resource specifications, including the number of autonomous guided vehicles, the number of chargers at charging stations, the number of pickers at different workstations, and the average order arrival rate per minute, is compared with the techniques described herein. As shown in FIG. 11, the accuracy of the techniques described herein is greater than 90% for both order throughput time and autonomous guided vehicle utilization.
[0195] Additionally, it takes an average of 300 seconds to obtain steady-state performance through discrete event simulation using AnyLogic® software. In the technique described herein, the AMVA method requires only 0.1 seconds to solve the constructed SOQN, and the computation time required to calculate the travel duration is approximately 15 seconds.
[0196]
[0136] In the foregoing description, for purposes of explanation, specific terminology was used to provide a thorough understanding of the invention. However, it will be apparent to those skilled in the art that specific details are not required to practice the present invention. Thus, the foregoing descriptions of specific embodiments of the present invention are presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed, and it will be apparent that many modifications and variations are possible in light of the above teachings. The embodiments were selected and described in order to explain the principles of the invention and its practical application, so that those skilled in the art can utilize the invention and its various embodiments with various modifications as suited to the particular use envisioned. It is intended that the following claims and their equivalents define the scope of the invention.
Claims
1. 1. A computer-implemented method for estimating performance of an autonomous robotic system configured to perform multiple line commands, the autonomous robotic system comprising a plurality of autonomous guided vehicles configured to transport one or more cases within an environment to perform the multiple line commands, the computer-implemented method comprising: acquiring first input data via a user interface, wherein the first input data includes data associated with operation of each of the plurality of autonomous guided vehicles and data representing a layout of the environment; generating a simulation model configured to simulate the operation of each of the plurality of autonomous guided vehicles within the environment based at least in part on the first input data; determining a duration of travel for each of the plurality of autonomous guided vehicles from a first one of one or more locations in the environment to a second one of the one or more locations in the environment based on execution of the simulation model; generating an analytical model configured to analyze the performance of the autonomous robotic system based at least in part on the movement duration; and and estimating the performance of the autonomous robotic system based on execution of the analytical model.
2. The computer-implemented method of claim 1 , wherein estimating the performance of the autonomous robotic system includes calculating a throughput time for executing the multiple line instructions.
3. 2. The computer-implemented method of claim 1, wherein estimating the performance of the autonomous robotic system includes calculating a rate at which one or more resources in the environment are utilized to fulfill the multi-line instructions.
4. The data associated with the operation of each of the plurality of autonomous guided vehicles includes: For each autonomous guided vehicle, an instruction from an instruction queue to retrieve the one or more cases by the autonomous guided vehicle; an indication from the instruction queue of how many of the one or more cases are to be removed in one move; and and a speed of travel of the autonomous guided vehicle.
5. Determining the duration of the movement includes: For each of the plurality of autonomous guided vehicles: a first travel time from a current location of the autonomous guided vehicle to a location of the one or more cases; a second travel time from the location of the one or more cases to a workstation location; and a third travel time from the location of the workstation to a storage location; The computer-implemented method of claim 1 , further comprising determining at least one of a fourth travel time from the storage location to a charging location.
6. Determining the duration of the movement further comprises: sampling the first move time, the second move time, the third move time, and the fourth move time for the multi-line commands of different types; and determining an average travel time based on the sampling.
7. The computer-implemented method of claim 1 , wherein the analytical model is a shared-token multi-class semi-open queuing network.
8. generating the analytical model further comprises: representing a process of matching an autonomous guided vehicle of the plurality of autonomous guided vehicles to a first multi-line command as a first synchronization node; representing a process of retrieving the one or more cases by the autonomous guided vehicle as a second infinite service node; representing the process of traveling with the one or more removed cases to a workstation by the autonomous guided vehicle as a third infinite service node; representing a process of a picker at the workstation removing products from the one or more cases as a fourth service node; and representing the process of travel by the autonomous guided vehicle from the workstation to a storage location as a fifth infinite service node.
9. 8. The computer-implemented method of claim 7, wherein estimating the performance of the autonomous robotic system comprises performing an approximate mean value analysis of the shared-token multi-class semi-open queuing network.
10. 1. A system for estimating performance of an autonomous robotic system configured to execute multiple line commands, comprising: a user interface for acquiring first input data, wherein the first input data includes data associated with operation of each of a plurality of autonomous guided vehicles and data representing a layout of an environment, the autonomous robotic system comprising the plurality of autonomous guided vehicles configured to transport one or more cases within the environment to perform the multiple line commands; at least one controller communicatively coupled to the user interface, generating a simulation model configured to simulate the operation of each of the plurality of autonomous guided vehicles within the environment based at least in part on the first input data; determining a duration of travel for each of the plurality of autonomous guided vehicles from a first one of one or more locations in the environment to a second one of the one or more locations in the environment based on execution of the simulation model; generating an analytical model configured to analyze the performance of the autonomous robotic system based at least in part on the movement duration; a controller configured to estimate the performance of the autonomous robotic system based on execution of the analytical model.
11. The system of claim 10 , wherein the at least one controller is configured to calculate a throughput time for executing the multiple line instructions to estimate the performance of the autonomous robotic system.
12. 11. The system of claim 10, wherein the at least one controller is configured to calculate a rate at which one or more resources in the environment are utilized to fulfill the multi-line instructions to estimate the performance of the autonomous robotic system.
13. The data associated with the operation of each of the plurality of autonomous guided vehicles includes, for each autonomous guided vehicle: an instruction from an instruction queue to retrieve the one or more cases by the autonomous guided vehicle; an indication from the instruction queue of how many of the one or more cases are to be removed in one move; and and a speed of travel of the autonomous guided vehicle.
14. The at least one controller further comprises: For each of the plurality of autonomous guided vehicles: a first travel time from a current location of the autonomous guided vehicle to a location of the one or more cases; a second travel time from the location of the one or more cases to a workstation location; and a third travel time from the location of the workstation to a storage location; The system of claim 10 configured to determine at least one of a fourth travel time from the storage location to the charging location.
15. The at least one controller further comprises: sampling the first move time, the second move time, the third move time, and the fourth move time for the multi-line commands of different types; The system of claim 14 configured to determine an average travel time based on the sampling.
16. The system of claim 10 , wherein the analytical model is a shared-token multi-class semi-open queuing network.
17. The at least one controller a process of matching an autonomous guided vehicle of the plurality of autonomous guided vehicles to a first plurality of line commands represented as a first synchronization node; representing a process of retrieving the one or more cases by the autonomous guided vehicle as a second infinite service node; a process of moving the one or more removed cases to a workstation by the autonomous guided vehicle as a third infinite service node; a fourth service node representing a process in which a picker at the workstation removes products from the one or more cases; The process of moving from the workstation to a storage location by the autonomous guided vehicle is represented as a fifth infinite service node; The system of claim 16 configured to generate the analytical model.
18. 17. The system of claim 16, wherein the at least one controller is further configured to perform an approximate mean value analysis of the shared-token multi-class semi-open queuing network to estimate the performance of the autonomous robotic system.
Citation Information
Patent Citations
Method of operating a robotic system and non-transitory computer-readable medium
JP6708855B1
Simulation system and simulation method
WO2019142499A1