Grouped running method, device and equipment of dense warehouse AGV and storage medium
By deploying a sensor network, Euclidean distance K-Means clustering algorithm, and deep Q-network decision model in a dense warehouse, dynamic grouping and optimized task allocation are achieved, solving the problem of multiple AGVs waiting to enter the channel in the dense warehouse and improving the collaborative operation efficiency and warehouse entry and exit efficiency of AGVs.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HONGYUN HONGHE TOBACCO (GRP) CO LTD
- Filing Date
- 2026-02-25
- Publication Date
- 2026-06-09
AI Technical Summary
In densely populated warehouses, multiple AGVs need to queue to enter the passage, resulting in a large amount of waiting time in the picking and placing process, low inbound and outbound efficiency, and inability to meet the high-turnover warehousing needs.
By deploying a sensor network in a dense warehouse to collect AGV status data in real time, using the K-Means clustering algorithm based on Euclidean distance for dynamic grouping, and combining it with a deep Q-network decision model, task allocation and path planning are optimized to achieve collaborative operation of AGVs.
It effectively solves the problem of channel occupancy conflicts when multiple AGVs operate simultaneously, improves the operational efficiency and inbound/outbound efficiency of dense warehouses, and realizes seamless collaboration and efficient turnover of AGVs.
Smart Images

Figure CN122175503A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of warehousing technology, and in particular to a method, apparatus, equipment and storage medium for group operation of AGVs in a dense warehouse. Background Technology
[0002] Due to their high space utilization, dense warehouses are widely used for goods storage in manufacturing, retail and other fields.
[0003] However, the internal aisle design of dense warehouses is relatively narrow. Due to space and AGV size limitations, in AGV operation mode, only one AGV can pass through the same aisle at a time to improve warehouse capacity utilization. In scenarios with a large number of AGVs, they need to queue to enter the aisle, resulting in significant waiting time in the picking and placing processes, low inbound and outbound efficiency, and an inability to meet the demands of high-turnover warehousing.
[0004] Currently, AGV scheduling focuses primarily on path planning optimization, without considering the special scenario of narrow passageways in dense warehouses for group collaboration design. This makes it difficult to resolve the passageway occupancy conflict when multiple AGVs are operating simultaneously, thus hindering the improvement of the overall operational efficiency of dense warehouses. Summary of the Invention
[0005] The main objective of this application is to provide a method, apparatus, equipment, and storage medium for grouping and operating AGVs in a high-density warehouse, in order to solve the problem in the prior art where, in scenarios with a large number of AGVs, the AGVs need to queue and wait to enter the channel, resulting in a large amount of waiting time in the picking and placing process, low inbound and outbound efficiency, and inability to meet the needs of high-turnover warehousing.
[0006] To achieve the above objectives, this application provides the following technical solution: A method for grouping and operating AGVs in a high-density warehouse, wherein the method is applied to a high-density warehouse, and sensor networks are deployed on key nodes of the warehouse and the AGV bodies. The method includes: Step S1: Obtain the inbound and outbound task queue issued by the external warehouse management system, and collect the battery status, real-time location, and fault identifier of all AGVs in real time through the sensor network deployed thereon to obtain a global AGV status dataset. Step S2: Input the global AGV status dataset into the K-Means clustering algorithm based on Euclidean distance, and perform dynamic clustering with the real-time position coordinates of the AGV as features to obtain clustering grouping results that match the number of warehouse channels. Each clustering grouping result includes several AGVs. Step S3: Input the clustering results and the inbound / outbound task queue into the deep Q-network decision model, and output an initial task allocation strategy for each clustering result with the optimization objective of minimizing the total task completion time. Each initial task allocation strategy includes the delivery role and pickup role of all AGVs in the current clustering result. Step S4: According to the initial task allocation strategy, issue delivery point coordinates to the AGVs assigned to the delivery role to execute the delivery task, and issue path instructions to the AGVs assigned to the pickup role to execute the pickup task. Step S5: Collect the task completion status and current position coordinates of each AGV for delivery role in real time through the sensor network. When it is detected that all AGVs for delivery role have left the operation channel, update the inbound and outbound task queue and the global AGV status dataset. Step S6: Input the updated inbound / outbound task queue and the updated global AGV status dataset back into the deep Q-network decision model, and repeat steps S3 to S6 after each task switch to update the initial task allocation strategy and achieve continuous cyclic operation.
[0007] Beneficial effects of steps S1 to S6: Through systematic data processing and decision-making loops, the core bottlenecks of narrow passageways in dense warehouses and the potential for conflicts in multi-AGV operations are effectively addressed. Specifically, step S1, which achieves real-time acquisition of global status and task data, provides a precise data foundation for subsequent dynamic scheduling; step S2, based on dynamic clustering of AGV real-time positions, divides the AGV group into operational units matching limited passageway resources, preemptively avoiding passageway congestion caused by disorderly entry from a spatial structure perspective; step S3 introduces a deep reinforcement learning model to intelligently assign delivery or retrieval roles to each group based on real-time cluster status and task queues, achieving synergy between task allocation and passageway occupancy in time planning and reducing waiting times caused by role conflicts; step S4 generates precise path instructions through optimized assignment algorithms, ensuring that only a single role group operates sequentially within the same passageway, eliminating passageway occupancy conflicts at the execution level; step S5 performs closed-loop monitoring and data updates of task completion status and AGV positions, enabling the system to promptly perceive changes in the operational environment and provide the latest basis for strategy iteration; and step S6, based on the iterative optimization of the updated data-driven strategy, allows the system to continuously adapt to dynamic changes in task flow and AGV status. The complete closed loop of each step, from environmental perception, intelligent grouping decision-making, conflict avoidance execution to status feedback updates, improves the collaborative operation efficiency and system turnover capacity of multiple AGVs in dense warehouse environments through data-driven automated processes without relying on human intervention.
[0008] As a further improvement to this application, step S1 involves obtaining the inbound / outbound task queue issued by the external warehouse management system, and collecting the battery status, real-time location, and fault identifiers of all AGVs in real time through the sensor network deployed thereon to obtain a global AGV status dataset, including: Step S1.1: Receive inbound / outbound task queue data stream from the external warehouse management system through a pre-configured network interface; Step S1.2: Deserialize the data stream of the inbound and outbound task queue to obtain a structured task list; Step S1.3: Broadcast data acquisition commands to the sensor network via a publish-subscribe protocol based on the structured task list; Step S1.4: Based on the data acquisition command, collect the battery information, UWB positioning coordinates, and fault diagnosis location of all AGVs through the sensor network to form an original status data packet; Step S1.5: The original state data packet is transmitted to the central processing node via a wireless communication link to obtain a timestamp-marked data stream; Step S1.6: Perform data cleaning on the timestamp-marked data stream to obtain a standardized AGV status record set; Step S1.7: Align the standardized AGV status record set with the structured task list in time and fuse the data to obtain a global AGV status dataset.
[0009] Beneficial effects of steps S1.1 to S1.7: By constructing a complete and automated real-time data perception and processing workflow, a precise and reliable data foundation is laid for subsequent intelligent scheduling. Steps S1.1 and S1.2 achieve seamless and accurate reception and parsing of task instructions from the management system to the scheduling system, ensuring the structure and processability of tasks to be executed and avoiding scheduling chaos caused by incorrect or delayed instruction formats. Steps S1.3 to S1.5 construct a synchronous status acquisition and transmission link for all AGVs, acquiring key operating parameters such as battery status, position, and fault status through a sensor network, and unifying the data stream with timestamps. This achieves a panoramic perception of the AGV cluster's real-time dynamics, overcoming the potential for conflicting instructions due to inaccurate information or information delays that prevent the system from accurately grasping the real-time position and status of AGVs. Step S1.6 processes the original... The data undergoes cleaning and standardization to filter out noise and anomalies, improving the quality and consistency of the status data and enabling subsequent decisions to be based on a cleaner and more reliable information source. Finally, step S1.7 aligns and merges the cleaned real-time status with the list of tasks to be executed in time and space, generating a unified and synchronized global AGV status dataset. This dataset not only includes "what tasks need to be completed" but also integrates "the current status and location of the executor," thereby accurately linking task requirements with execution resources at the data level. This provides a unique and authoritative factual basis for subsequent data-driven grouping and decision-making, ensuring the scheduling system's ability to grasp the actual situation at the work site from the source.
[0010] As a further improvement to this application, in step S2, the global AGV status dataset is input into a K-Means clustering algorithm based on Euclidean distance. Dynamic clustering is performed using the real-time position coordinates of the AGVs as features to obtain clustering grouping results that match the number of warehouse aisles. Each clustering grouping result includes several AGVs, including: Step S2.1: Extract the real-time position coordinates of all AGVs from the global AGV status dataset and construct a two-dimensional AGV position coordinate matrix; Step S2.2: Obtain the total number of physical channels of the dense library, and set the total number of physical channels as the target number of clusters for the clustering algorithm; Step S2.3: Input the AGV position coordinate matrix and the target cluster number into the K-Means++ initialization algorithm to calculate the initial cluster center set; Step S2.4: Calculate the Euclidean distance from each coordinate point in the AGV position coordinate matrix to each center in the initial cluster center set to obtain a distance matrix; Step S2.5: Assign the cluster center with the smallest Euclidean distance to the real-time position coordinates of each AGV according to the distance matrix, and obtain an initial AGV clustering label set with several clusters. Step S2.6: Based on the initial AGV clustering label set, recalculate the mean of all AGV coordinate points in each cluster to obtain the updated cluster center set; Step S2.7: Calculate the Euclidean distance between each pair of paired cluster centers in the updated cluster center set and the initial cluster center set, and sum the squares of the Euclidean distances of all paired cluster centers to obtain the overall difference value of the cluster center update. Step S2.8: If the overall difference value is greater than the preset convergence threshold, then the updated cluster center set is used as the new initial cluster center set, and steps S2.4 to S2.8 are repeated. Step S2.9: When the overall difference between the updated cluster center set and the cluster center set of the previous iteration is less than or equal to the preset convergence threshold, the current AGV cluster label set is output as the clustering result.
[0011] Beneficial effects of steps S2.1 to S2.9: A dynamic clustering grouping mechanism based on real-time location provides a crucial spatial structure optimization foundation for subsequent collaborative scheduling. First, AGV coordinates are extracted from global state data to construct a matrix, with the number of physical channels as the clustering target, ensuring a precise match between the number of groups and limited channel resources. Next, the K-Means++ algorithm is used to initialize centers, iteratively calculating Euclidean distance, assigning cluster labels, and updating centers until convergence and stability, ultimately outputting the AGV clustering grouping results corresponding to the number of channels. This process automates the transformation of AGV clusters from disordered distribution to ordered grouping, pre-dividing AGVs into work units adapted to channel capacity, thus avoiding congestion conflicts caused by AGVs randomly or concentratedly entering the same channel before scheduling. Simultaneously, dynamic clustering adjusts grouping based on real-time location, adapting to changes in AGV status during movement and improving the grouping's responsiveness to the dynamics of the work scenario. By anchoring the number of groups to the number of channels, this step fundamentally coordinates AGV resources and channel constraints, laying the spatial collaborative framework for subsequent task allocation and effectively alleviating the channel occupancy conflict problem when multiple AGVs operate simultaneously, as described in the background section.
[0012] As a further improvement to this application, in step S3, the clustering results and the inbound / outbound task queue are input into a deep Q-network decision model. The model outputs an initial task allocation strategy for each clustering result, with the optimization objective of minimizing the total task completion time. Each initial task allocation strategy includes the delivery role and pickup role of all AGVs in the current clustering result, including: Step S3.1: The clustering grouping results and the inbound / outbound task queue are feature-encoded and concatenated to construct a composite state vector including AGV spatial distribution features and task load features. Step S3.2: Define a discrete action space according to the preset dense warehouse operation rules. Each action in the discrete action space corresponds to a specific combination scheme for assigning the delivery role and the pickup role to different clustering grouping results. Step S3.3: Initialize the deep Q-network, where the input layer dimension of the deep Q-network matches the dimension of the composite state vector, the output layer dimension matches the dimension of the discrete action space, and randomly initialize all connection weight parameters of the deep Q-network. Step S3.4: Obtain all historical AGV operation data and sample a batch of state-action-reward-next state transition samples and store them in the experience replay buffer to obtain the training dataset; Step S3.5: Extract a batch of samples from the training dataset and input them into the deep Q network for forward propagation calculation to obtain the predicted Q value for each action; Step S3.6: Calculate the target Q value corresponding to the predicted Q value by combining the instantaneous reward with the Q value estimation of the next state using the temporal difference learning method, and update all connection weight parameters by using the gradient backpropagation algorithm that minimizes the mean square error between the predicted Q value and the target Q value. Step S3.7: Input the current real-time composite state vector into the updated deep Q-network for forward propagation calculation to obtain the Q-value output based on all possible actions at the present time; Step S3.8: Select the action with the largest value from the Q-value output using a greedy strategy, and decode it into a delivery role instruction or a pickup role instruction based on all AGVs in each clustering group result, which is the initial task allocation strategy.
[0013] Beneficial effects of steps S3.1 to S3.8: By constructing and applying an automated decision-making core based on deep reinforcement learning, this study aims to address the problem of low scheduling efficiency and channel conflicts caused by the difficulty of traditional rule-based or static algorithms in dynamically adapting to changing tasks and AGV states. Specifically, step S3.1 encodes and merges the clustering and grouping results provided upstream with the task queue into a composite state vector. This process transforms the discrete, multi-dimensional system state (including spatial distribution and task load) into a feature representation that can be uniformly processed by the machine learning model, providing standardized input for intelligent decision-making. Step S3.2 predefines a discrete action space based on the work rules, abstracting the complex scheduling decision of "assigning roles to each group" into a finite and explicit action selection problem, thus concretizing the model's optimization objective. Steps S3.3 to S3.6 constitute the offline training and parameter optimization loop of the model, specifically through initializing the network structure. By sampling historical experience data and combining temporal difference learning with gradient descent for iterative updates, the model learns from a large number of historical interactions what scheduling strategies should be adopted under different system states that tend towards maximizing long-term rewards (i.e., minimizing the total task completion time). This frees decision-making from dependence on fixed human experience and enables it to learn and optimize strategies from data. Steps S3.7 and S3.8 are the online decision-making stage: the real-time generated state vector is input into the trained model, and the value assessment of all possible actions is obtained through forward propagation. A greedy strategy is then used to select the current optimal action, which is finally decoded into specific role allocation instructions. The overall effect of this series of steps is that the system can automatically generate an initial task allocation strategy optimized for global efficiency based on the real-time, dynamic global state (AGV grouping status and pending tasks). This strategy not only clarifies the roles that each group of AGVs should play, but its generation process is data-driven and adaptively optimized, capable of handling dynamic scenarios such as changes in task queues and AGV position changes. This provides an intelligent decision-making starting point for subsequent conflict-free and efficient grouped cyclic operations.
[0014] As a further improvement to this application, step S4, according to the initial task allocation strategy, issues delivery point coordinates to the AGVs assigned to the delivery role to execute the delivery task, and issues path instructions to the pickup station to the AGVs assigned to the pickup role to execute the pickup task, including: Step S4.1: Parse the initial task allocation strategy to separate the first unique identifier list assigned to the delivery role and the second unique identifier list assigned to the pickup role. Step S4.2: Extract the corresponding number of target storage location coordinates of pallets to be stored from the inbound / outbound task queue according to the first unique identifier list, and form a set of storage location coordinates to be allocated; Step S4.3: Using the Hungarian algorithm to minimize the total travel distance of the AGVs, each coordinate in the set of storage location coordinates to be assigned is assigned to each AGV in the first unique identifier list, thus obtaining the mapping relationship between AGVs and storage location coordinates; Step S4.4: Construct a delivery task instruction data packet for each delivery role's AGV, including a corresponding unique identifier and storage location coordinates, based on the mapping relationship. Step S4.5: Read the corresponding global coordinates from the preset fixed pickup station location according to the second unique identifier list to obtain the pickup station coordinates; Step S4.6: Construct a pickup task instruction data packet for each pickup role's AGV, including a corresponding unique identifier and the coordinates of the pickup platform; Step S4.7: Send the delivery task instruction data packet and the pickup task instruction data packet to the corresponding AGV respectively to execute the delivery task or pickup task.
[0015] Beneficial effects of steps S4.1 to S4.7: By transforming the role allocation strategy generated by upstream intelligent decision-making into specific, optimized, and conflict-free action instructions that can drive AGV entities to execute, the final link from decision-making to execution is connected. Step S4.1 analyzes the initial task allocation strategy, clearly separating the AGV identifier lists for the two roles of delivery and retrieval, providing clear targets for subsequent differentiated instruction issuance; Step S4.2 extracts the corresponding number of target storage location coordinates from the global task queue based on the delivery role list, ensuring that the tasks to be executed are accurately associated with the physical storage locations; Step S4.3 uses the Hungarian algorithm to optimally assign storage location coordinates to specific AGVs with the goal of minimizing the total travel distance of the AGVs. This process mathematically achieves efficient matching between resources (task points) and executors (AGVs), reducing unnecessary movement energy consumption and potential path intersections in advance from the path planning level; Steps S4.4 and S4.6, based on the above assignment results and fixed retrieval point information, construct unique instruction data packets for each AGV, containing its identifier and precise target coordinates, making the abstract role allocation concrete as understandable and executable endpoint coordinates for each AGV; Finally, Step S4.7 completes the reliable issuance of instructions. This series of steps together constitutes a precise instruction translation and distribution system. Its core effect is to ensure that intelligent scheduling strategies can be executed without loss, efficiently and in a coordinated manner. Through precise assignment and path optimization at the coordinate level, it avoids operational conflicts or efficiency losses caused by multiple AGVs due to unclear objectives or overlapping paths. This allows "the delivery group to enter the channel for operation" and "the pickup group to go to the platform" to be carried out in an orderly and synchronous manner, creating a clear operational premise for subsequent status monitoring and strategy switching.
[0016] As a further improvement to this application, in step S5, the task completion status and current position coordinates of each delivery AGV are collected in real time through the sensor network. When it is detected that all delivery AGVs have exited the operation channel, the inbound / outbound task queue and the global AGV status dataset are updated, including: Step S5.1: The real-time coordinates and passage status of each AGV for delivery are collected in real time through the sensor network to obtain the raw sensor data stream; Step S5.2: Perform data fusion and coordinate transformation on the original sensor data stream to obtain the precise pose estimate of each AGV for delivery roles; Step S5.3: Obtain the electronic map of the operation channels of the dense warehouse, and define the spatial range formed by the entrances and exits of all operation channels as the channel spatial range model. Step S5.4: Generate a binary channel occupancy status identifier for each AGV by using the precise pose estimation of each AGV and the channel space range model; Step S5.5: Check the channel occupancy status indicators of all AGVs for delivery roles in real time by polling. When all indicators are detected to be false, generate a channel idle event trigger signal. Step S5.6: Remove the corresponding task record that has been completed by the AGV for releasing goods from the inbound / outbound task queue according to the channel idle event trigger signal, and obtain the updated inbound / outbound task queue. Step S5.7: Integrate the precise pose estimation, battery status and fault identification of all AGVs at the current moment to obtain the updated global AGV status dataset.
[0017] Beneficial effects of steps S5.1 to S5.7: By constructing a real-time, accurate, and automated closed-loop system for operational status perception and data synchronization, the safe, orderly, and continuous operation of AGVs in the dense warehouse is ensured. Specifically, step S5.1 continuously collects raw data through a sensor network, providing the most basic signal source for status judgment; step S5.2 uses a data fusion algorithm to process these multi-source heterogeneous raw signals, transforming them into AGV pose estimates that can be used for precise spatial calculations, improving the accuracy and reliability of status perception; step S5.3, based on a channel spatial range model defined by an electronic map, provides clear digital boundaries for determining whether an AGV is in a critical conflict area; and step S5.4 performs real-time spatial relationship calculations between precise pose estimates and the channel model, transforming complex physical positional relationships into simple, deterministic binary logical identifiers (occupied or idle), enabling the system to... Step S5.5 uses a programmed approach to clearly perceive the channel occupancy status of each delivery AGV. Based on these logical identifiers, a collective status determination is made. When all delivery AGVs are detected to have exited the channel, a clear "channel idle" event signal is generated. This signal is the core decision-making basis for group rotation and triggering task switching. It ensures that only one group of AGVs is operating in the channel at any given time, fundamentally avoiding the risk of multi-vehicle channel conflicts. Steps S5.6 and S5.7 update the task queue and global status dataset after this signal is triggered. Specifically, completed tasks are removed to reflect progress, and the latest status of all AGVs is integrated to form a new system "snapshot". This series of steps works together to achieve a complete and timely mapping from physical world status perception (whether an AGV has exited the channel) to digital system status synchronization (updating task and AGV data). This provides an indispensable and realistic data foundation for step S6 to make the next round of intelligent decisions based on the latest on-site situation, reflecting the completion status of the current work cycle and the latest resource distribution, thereby driving the entire system to form a dynamic cycle of "perception-decision-execution-re-perception".
[0018] As a further improvement to this application, step S6 involves re-inputting the updated inbound / outbound task queue and the updated global AGV status dataset into the deep Q-network decision model, and repeating steps S3 to S6 after each task switch to update the initial task allocation strategy and achieve continuous cyclic operation, including: Step S6.1: Perform feature encoding and vector concatenation operations on the updated inbound / outbound task queue and the updated global AGV status dataset to obtain the updated composite status vector. Step S6.2: Input the updated composite state vector into the deep Q-network decision model, and repeat steps S3.5 to S3.8 with the updated composite state vector as the subject of execution to obtain the updated task allocation strategy. Step S6.3: The updated task allocation strategy overrides the initial task allocation strategy or the task allocation strategy before the update to achieve continuous cyclic operation.
[0019] Beneficial effects of steps S6.1 to S6.3: By transforming the latest job results (updated task queue and AGV status) generated by the preceding steps into the starting point for driving the next round of intelligent scheduling, a sustainable "perception-decision-execution" loop is formed, realizing the dynamic closed loop and continuous adaptive optimization of the entire group operation method. In step S6.1, the updated inbound / outbound task queue and global AGV status dataset are feature-encoded and vector-concatenated to generate a new composite state vector. This operation encapsulates the latest progress of the work site in a standardized system state snapshot in real time and accurately, providing input reflecting the latest reality for subsequent decisions. Step S6.2 Inputs this new state vector into the trained deep Q-network decision model and repeats the model's forward propagation and action selection process based on a greedy strategy. Its direct effect is to recalculate and output an updated task allocation strategy that best matches the current situation based on the latest and most accurate system state. This makes the system's scheduling decision no longer static or one-off, but can be adjusted in real time according to the dynamic changes in task completion progress and AGV position status, thereby coping with uncertainties such as random task arrival and AGV status changes in warehouse operations. Step S6.3 Executes strategy coverage and process triggering, replacing the old strategy with the newly generated updated task allocation strategy, and causing the system logic to re-enter the process loop from decision to execution based on the new strategy. These three steps together form the information feedback and strategy iteration hub of the entire method. They ensure that the system does not remain in a single operation cycle, but can use the output of the current cycle as the input of the next cycle, forming an uninterrupted, data-driven closed-loop control flow, thereby supporting the continuous, stable and adaptive operation of the AGV grouping operation in the intensive warehouse.
[0020] To achieve the above objectives, this application also provides the following technical solutions: A grouping operation device for a high-density warehouse AGV, the grouping operation device being applied to the grouping operation method described above, the grouping operation device comprising: The global AGV status dataset acquisition module is used to acquire the inbound and outbound task queues issued by the external warehouse management system, and to collect the battery status, real-time location, and fault identifiers of all AGVs in real time by deploying on the sensor network to obtain the global AGV status dataset. The global AGV status dataset clustering module is used to input the global AGV status dataset into the K-Means clustering algorithm based on Euclidean distance, and perform dynamic clustering with the real-time position coordinates of the AGVs as features to obtain clustering grouping results that match the number of warehouse channels. Each clustering grouping result includes several AGVs. The initial task allocation strategy decision module is used to input the clustering grouping results and the inbound / outbound task queue into the deep Q-network decision model, and output the initial task allocation strategy for each clustering grouping result with the optimization objective of minimizing the total task completion time. Each initial task allocation strategy includes the delivery role and the pickup role of all AGVs in the current clustering grouping result. The pickup task execution module is used to issue delivery point coordinates to AGVs assigned to the delivery role to execute delivery tasks according to the initial task allocation strategy, and to issue path instructions to the pickup station to AGVs assigned to the pickup role to execute pickup tasks. The delivery task execution module is used to collect the task completion status and current position coordinates of each delivery role AGV in real time through the sensor network. When it is detected that all delivery role AGVs have left the operation channel, the module updates the inbound and outbound task queue and the global AGV status dataset. The task allocation strategy iteration module is used to re-input the updated inbound and outbound task queues and the updated global AGV status dataset into the deep Q-network decision model, and repeat the process from the initial task allocation strategy decision module to the task allocation strategy iteration module after each task switch to update the initial task allocation strategy and achieve continuous cyclic operation.
[0021] To achieve the above objectives, this application also provides the following technical solutions: An electronic device includes a processor and a memory coupled to the processor, the memory storing program instructions executable by the processor; when the processor executes the program instructions stored in the memory, it implements the grouping operation method of the dense library AGV as described above.
[0022] To achieve the above objectives, this application also provides the following technical solutions: A computer-readable storage medium storing program instructions, which, when executed by a processor, enable the grouping and operation method for intensive library AGVs as described above. Attached Figure Description
[0023] Figure 1 This is a schematic flowchart illustrating the steps of an embodiment of a grouping operation method for a dense warehouse AGV according to this application; Figure 2This is a schematic diagram of the functional modules of a group operation device for a high-density warehouse AGV according to an embodiment of this application; Figure 3 This is a schematic diagram of the structure of an embodiment of the electronic device of this application; Figure 4 This is a schematic diagram of the structure of one embodiment of the storage medium of this application. Detailed Implementation
[0024] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of the embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.
[0025] The terms "first," "second," and "third" in this application are for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Therefore, a feature defined as "first," "second," or "third" may explicitly or implicitly include at least one of that feature. In the description of this application, "multiple" means at least two, such as two, three, etc., unless otherwise explicitly specified. All directional indications (such as up, down, left, right, front, back, etc.) in the embodiments of this application are only used to explain the relative positional relationships and movements between components in a specific orientation (as shown in the figures). If the specific orientation changes, the directional indications also change accordingly. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, apparatus, product, or device that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or devices.
[0026] In this document, the term "embodiment" means that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a mutually exclusive, independent, or alternative embodiment. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.
[0027] like Figure 1 As shown, this embodiment provides an example of a group operation method for AGVs in a dense warehouse. In this embodiment, the group operation method is applied to a dense warehouse, where sensor networks are deployed on key warehouse nodes and the AGV body.
[0028] Specifically, the group operation method includes the following steps: Step S1: Obtain the inbound and outbound task queues issued by the external warehouse management system, and collect the battery status, real-time location, and fault identifiers of all AGVs in real time by deploying a sensor network to obtain a global AGV status dataset.
[0029] Furthermore, step S1 specifically includes the following steps: Step S1.1: Receive inbound and outbound task queue data streams from the external warehouse management system through a pre-configured network interface.
[0030] Preferably, an external warehouse management system (WMS) can be monitored through a pre-configured network interface with an IP address and port number, such as an HTTP-based RESTful API endpoint or a WebSocket service. When a new inbound / outbound task is generated by the WMS, it serializes the task in a specific data format (e.g., JSON or Protocol Buffers) and pushes it to the local scheduling system through this interface. The scheduling system continuously monitors this interface, receiving a raw byte stream containing fields such as task ID, target location coordinates, material code, and priority.
[0031] Preferably, the network interface can be configured with a heartbeat mechanism and reconnection logic to ensure connection stability.
[0032] Step S1.2: Deserialize the data stream of the inbound and outbound task queues to obtain a structured task list.
[0033] Preferably, under normal circumstances, the received byte stream data is sent to a deserialization processor, which calls the appropriate parsing library, such as the json.loads() function for JSON, to restore the byte stream into a structured object in memory (such as a dictionary, list, or instance of a specific class). This process performs basic data validation, such as checking whether required fields exist and whether coordinate values are within the physical range of the library area. Invalid or malformed data packets are discarded and logged.
[0034] Step S1.3: Broadcast data acquisition commands to the sensor network using a publish-subscribe protocol based on a structured task list.
[0035] Preferably, based on the generated structured task list, it can be determined that the latest AGV status needs to be obtained for decision-making. Subsequently, a unified collection command message is published to a channel with the topic / agv / status / request via a publish-subscribe (Pub / Sub) messaging middleware (such as MQTT Broker or Redis Pub / Sub). All sensors deployed on key nodes of the warehouse and on the AGV itself subscribe to this topic, thus receiving the broadcast command in near real-time.
[0036] Step S1.4: Based on the data acquisition command, collect the battery information, UWB positioning coordinates, and fault diagnosis positions of all AGVs through the sensor network to form the original status data packet.
[0037] Preferably, after receiving the broadcast command, the AGV on-board controller and the fixed node sensors synchronously collect the following key data: ① Battery Information: Read the remaining power (SOC) percentage of the battery management system via ADC (Analog-to-Digital Converter), for example, SOC: 85%.
[0038] ②UWB positioning coordinates: The UWB tag on the AGV communicates with multiple positioning base stations deployed in the warehouse for ranging. The real-time two-dimensional coordinates (x, y) and heading angle θ of the AGV are calculated by the triangulation algorithm, forming the pose data pose:{x:XXX,y:YYY,θ:ZZZ}.
[0039] ③ Fault diagnosis bit: Read the bit status of the predefined fault code from the AGV controller local area network (CAN) bus and summarize it into a fault identification field, such as fault_code:0x0000 indicating no fault.
[0040] In summary, the above data is packaged into a raw data packet at the AGV end. This raw data packet also includes the AGV's unique ID (such as agv_id:"AGV_01") and a timestamp.
[0041] Step S1.5: The original state data packet is transmitted to the central processing node through a wireless communication link to obtain a timestamp-marked data stream.
[0042] Preferably, each AGV sends the encapsulated raw data packet to the central dispatch server via a wireless local area network (Wi-Fi) or a 5G network. The server runs a network service that continuously listens for and receives these data packets.
[0043] Preferably, to ensure data time-series traceability, the server attaches a server-side receiving timestamp to each data packet it receives, forming a timestamp-marked data stream.
[0044] Step S1.6: Perform data cleaning on the timestamp-marked data stream to obtain a standardized AGV status record set.
[0045] Preferably, data cleaning can be performed by filling in missing values with linear interpolation and by smoothing filtering with exponentially weighted moving average (EWMA) filtering.
[0046] It is worth noting that data cleaning is a mature existing technology, and this embodiment does not improve the data cleaning process, so the specific process of data cleaning will not be described in detail.
[0047] Step S1.7: Time-align and data-fusion the standardized AGV status record set with the structured task list to obtain the global AGV status dataset.
[0048] Preferably, time alignment uses the system scheduling cycle (e.g., 500ms) as the time window to align status data and task data to the same time base. For AGV status, the latest record within each cycle is taken; for tasks, it is determined whether their generation time is within that cycle.
[0049] Preferably, data fusion can create a global AGV status data dictionary. The key is the AGV ID, and the value is an object that integrates the AGV's latest pose, battery level, fault status, and its currently assigned task (if any). If no task has been assigned to an AGV, its task field is None.
[0050] Beneficial effects of steps S1.1 to S1.7: By constructing a complete and automated real-time data perception and processing workflow, a precise and reliable data foundation is laid for subsequent intelligent scheduling. Steps S1.1 and S1.2 achieve seamless and accurate reception and parsing of task instructions from the management system to the scheduling system, ensuring the structure and processability of tasks to be executed and avoiding scheduling chaos caused by incorrect or delayed instruction formats. Steps S1.3 to S1.5 construct a synchronous status acquisition and transmission link for all AGVs, acquiring key operating parameters such as battery status, position, and fault status through a sensor network, and unifying the data stream with timestamps. This achieves a panoramic perception of the AGV cluster's real-time dynamics, overcoming the potential for conflicting instructions due to inaccurate information or information delays that prevent the system from accurately grasping the real-time position and status of AGVs. Step S1.6 processes the original... The data undergoes cleaning and standardization to filter out noise and anomalies, improving the quality and consistency of the status data and enabling subsequent decisions to be based on a cleaner and more reliable information source. Finally, step S1.7 aligns and merges the cleaned real-time status with the list of tasks to be executed in time and space, generating a unified and synchronized global AGV status dataset. This dataset not only includes "what tasks need to be completed" but also integrates "the current status and location of the executor," thereby accurately linking task requirements with execution resources at the data level. This provides a unique and authoritative factual basis for subsequent data-driven grouping and decision-making, ensuring the scheduling system's ability to grasp the actual situation at the work site from the source.
[0051] Step S2: Input the global AGV status dataset into the K-Means clustering algorithm based on Euclidean distance, and perform dynamic clustering using the real-time position coordinates of the AGVs as features to obtain clustering grouping results that match the number of warehouse channels. Each clustering grouping result includes several AGVs.
[0052] Furthermore, step S2 specifically includes the following steps: Step S2.1: Extract the real-time position coordinates of all AGVs from the global AGV status dataset and construct a two-dimensional AGV position coordinate matrix.
[0053] Preferably, the two-dimensional AGV position coordinate matrix can be constructed by traversing the state records of all AGVs in the global_agv_state_dataset and extracting their position coordinates (x, y). Assuming there are N AGVs in the system, an N×2 matrix P is constructed, where each row P[i]=[x_i,y_i] represents the coordinates of the i-th AGV.
[0054] Step S2.2: Obtain the total number of physical channels in the dense library and set the total number of physical channels as the target number of clusters for the clustering algorithm.
[0055] Preferably, the target number of clusters K can be directly taken from the total number of physical access points in the dense warehouse. This parameter is usually stored as fixed configuration information for the warehouse in a system configuration file or database. The program reads this configuration during initialization and assigns it to the variable K, ensuring that the number of cluster groups is rigidly aligned with the physical access capacity constraints of the warehouse.
[0056] Step S2.3: Input the AGV position coordinate matrix and the target number of clusters into the K-Means++ initialization algorithm to calculate the initial cluster center set.
[0057] Preferably, this embodiment uses the K-Means++ algorithm instead of random initialization to obtain a better starting point, accelerate convergence, and improve the quality of results. The specific process is as follows: ① Randomly and uniformly select a point from the data point matrix P as the first cluster center C[0].
[0058] ② For each data point p, calculate the shortest distance (i.e. the distance to the nearest center) D(p) between it and all the selected cluster centers.
[0059] ③ Randomly select the next cluster center according to the probability D(p)^2 / sum(D(p)^2). This makes the probability of a point that is farther away from the already selected center being selected as the new center higher.
[0060] ④ Repeat steps ② and ③ until K initial centers are selected: C_init={C[0],C[1],...,C[K-1]}.
[0061] Step S2.4: Calculate the Euclidean distance from each coordinate point in the AGV position coordinate matrix to each center in the initial cluster center set to obtain a distance matrix.
[0062] Preferably, the Euclidean distance from each data point P[i] to each initial cluster center C_init[j] is calculated. For N points and K centers, an N×K distance matrix D is generated. The formula for calculating the element D[i,j] is D[i,j]=sqrt((x_i-C_x_j)^2+(y_i-C_y_j)^2).
[0063] Step S2.5: Assign the cluster center with the smallest Euclidean distance to the real-time position coordinates of each AGV according to the distance matrix, and obtain an initial AGV cluster label set with several clusters.
[0064] Preferably, for each row of the distance matrix D (i.e., each AGV point), find the column index j with the smallest value. This index j is the cluster label (cluster number) assigned to that AGV in the current iteration. The labels of all points are stored in an array of length N, labeled.
[0065] Step S2.6: Based on the initial AGV clustering label set, recalculate the mean of all AGV coordinate points in each cluster to obtain the updated cluster center set.
[0066] Preferably, based on the labels obtained in the previous step, the centroid (center) of each cluster is recalculated. For the j-th cluster, its new center C_new[j] is the mean coordinate of all points in the cluster, C_new[j]=(1 / |S_j|)*Σ_{pinS_j}p, where S_j is the set of all points with label j, and |S_j| is the number of points in the set.
[0067] Preferably, step S2.6 can be implemented using the following Python code block: C_new = np.zeros((K, 2)) for j in range(K): points_in_cluster = P[labels == j] # Get all points belonging to cluster j if len(points_in_cluster)>0: C_new[j] = np.mean(points_in_cluster, axis=0) else: # To prevent empty clusters, retain the old center or perform special processing. C_new[j] = C_init[j] Step S2.7: Calculate the Euclidean distance between each pair of paired cluster centers in the updated cluster center set and the initial cluster center set, and sum the squares of the Euclidean distances of all paired cluster centers to obtain the overall difference value of the updated cluster centers.
[0068] Preferably, to determine whether the cluster centers have converged stably, it is necessary to quantify the changes in the center points before and after the current iteration. Typically, the sum of squared Euclidean distances (SSE) between all paired center points (C_new[j] and C_init[j]) is calculated. The overall difference value delta is calculated as delta = Σ_{j=0}^{K-1}||C_new[j] - C_init[j]||^2.
[0069] Preferably, the convergence threshold is lower than the set threshold, which is typically a very small positive number, epsilon, preset as the convergence threshold. This threshold is calibrated based on the coordinate accuracy and business requirements. For example, if the coordinate unit is millimeters, epsilon can be set to 1e-6 or 0.001, indicating that the algorithm is considered to have converged when the sum of the squares of the overall movement of the center point is less than this value.
[0070] In step S2.8, if the overall difference value is greater than the preset convergence threshold, the updated cluster center set is used as the new initial cluster center set, and steps S2.4 to S2.8 are repeated.
[0071] Preferably, the calculated overall difference value delta can be compared with the preset convergence threshold epsilon. If delta > epsilon, it indicates that the center point has still moved significantly and has not yet converged. At this time, C_new is assigned to C_init as the starting center for the next iteration, and then the program control flow jumps back to step S2.4 to start a new round of distance calculation, label allocation, and center update. This loop process continues.
[0072] Step S2.9: When the overall difference between the updated cluster center set and the cluster center set of the previous iteration is less than or equal to the preset convergence threshold, the current AGV cluster label set is output as the clustering result.
[0073] Preferably, the loop terminates when delta ≤ epsilon after a certain iteration. The resulting labels array represents the final spatial partitioning of the AGV group after algorithm optimization. The system associates this labels array with the corresponding AGVID list and encapsulates it into a clustering_result data structure for output. For example, it could be a dictionary list, where each element contains a cluster_id and an agv_id_list for that cluster.
[0074] In summary, the clustering_result is the clustering grouping result, which clarifies which AGVs belong to the same work group, and the total number of groups equals the number of channels K, directly serving the subsequent group task allocation.
[0075] Beneficial effects of steps S2.1 to S2.9: A dynamic clustering grouping mechanism based on real-time location provides a crucial spatial structure optimization foundation for subsequent collaborative scheduling. First, AGV coordinates are extracted from global state data to construct a matrix, with the number of physical channels as the clustering target, ensuring a precise match between the number of groups and limited channel resources. Next, the K-Means++ algorithm is used to initialize the centers, iteratively calculating Euclidean distance, assigning cluster labels, and updating the centers until convergence and stability, ultimately outputting the AGV clustering grouping results corresponding to the number of channels. This process automates the transformation of AGV clusters from disordered distribution to ordered grouping, pre-dividing AGVs into work units adapted to channel capacity, thus avoiding congestion conflicts caused by AGVs randomly or concentratedly entering the same channel before scheduling. Simultaneously, dynamic clustering adjusts grouping based on real-time location, adapting to changes in AGV status during movement and improving the grouping's responsiveness to the dynamics of the work scenario. By anchoring the number of groups to the number of channels, this step fundamentally coordinates AGV resources and channel constraints, laying the spatial collaborative framework for subsequent task allocation and effectively alleviating the channel occupancy conflict problem encountered by multiple AGVs operating simultaneously in the background technology.
[0076] Step S3: Input the clustering results and the inbound / outbound task queue into the deep Q-network decision model. With the optimization objective of minimizing the total task completion time, output the initial task allocation strategy for each clustering result. Each initial task allocation strategy includes the delivery role and pickup role of all AGVs in the current clustering result.
[0077] Furthermore, step S3 specifically includes the following steps: Step S3.1: The clustering grouping results and the inbound / outbound task queues are feature-encoded and concatenated to construct a composite state vector that includes AGV spatial distribution features and task load features.
[0078] Preferably, the clustering results can be encoded by converting the clustering_result into a one-hot encoding vector of length N (the total number of AGVs). For example, if AGV_01 and AGV_02 belong to group 1 and AGV_03 belongs to group 2, then the encoding is [1,1,2,...]. Subsequently, to characterize the spatial distribution, the centroid coordinates and the number of AGVs within each cluster are calculated, and these statistical features (such as centroid x, y, and number) are concatenated.
[0079] Preferably, the encoding of the inbound / outbound task queue can be achieved by extracting features from the top M highest priority tasks in the queue, such as task type (inbound / outbound), target coordinates (x, y), and urgency. If the number of tasks in the queue is less than M, it is padded with zero vectors. M is a preset hyperparameter used to fix the input dimension.
[0080] Preferably, the encoded grouped feature vector and the task feature vector are concatenated to form an original composite vector. Finally, each numerical feature of this vector is subjected to max-min normalization to scale it to the [0,1] interval, forming the final composite_state_vector.
[0081] Step S3.2: Define a discrete action space according to the preset dense warehouse operation rules. Each action in the discrete action space corresponds to a specific combination scheme that assigns the delivery role and the pickup role to different clustering grouping results.
[0082] Preferably, according to the dense warehouse operation rules, an action is defined as a definite combination of assigning "delivery roles" and "pickup roles" to different cluster groups. Assume the number of cluster groups is K (equal to the number of channels), and each time one group needs to be designated as the "delivery group," one group as the "pickup group," and the rest as "standby groups." Then the total number of actions A = K * (K-1) (the first group has K choices, the second group has K-1 choices). Each action a_i can be represented by a tuple of length 2 (g_put, g_pick), where g_put and g_pick are the group IDs assigned to the delivery and pickup roles, respectively. The system internally maintains a mapping dictionary of action indices to tuples.
[0083] Step S3.3: Initialize the deep Q-network. Match the dimension of the input layer of the deep Q-network with the dimension of the composite state vector, match the dimension of the output layer with the dimension of the discrete action space, and randomly initialize all connection weight parameters of the deep Q-network.
[0084] Preferably, the Deep Q-Network (DQN) is a multilayer perceptron. The number of neurons in its input layer is equal to the dimension of the composite_state_vector. The number of neurons in its output layer is equal to the size A of the action space, and each neuron outputs a Q-value (expected long-term reward) corresponding to an action a_i. It contains several fully connected hidden layers, using ReLU (RectifiedLinearUnit) as the activation function. All weight parameters θ are typically randomly initialized using Xavier or He initialization methods, and the bias is initialized to 0.
[0085] Preferably, the deep Q-network can be initialized using the following Python code block in the PyTorch framework: import torch.nn as nn class DQN(nn.Module): def __init__(self, state_dim, action_dim): super(DQN, self).__init__() self.fc1 = nn.Linear(state_dim, 128) self.fc2 = nn.Linear(128, 64) self.fc3 = nn.Linear(64, action_dim) self.relu = nn.ReLU() def forward(self, x): x = self.relu(self.fc1(x)) x = self.relu(self.fc2(x)) return self.fc3(x) # Output Q value # Initialization state_dim = len(composite_state_vector) action_dim = A policy_net = DQN(state_dim, action_dim) Step S3.4: Obtain all historical AGV operation data and sample a batch of state-action-reward-next state transition samples and store them in the experience replay buffer to obtain the training dataset.
[0086] Preferably, during historical operation or simulation, experience tuples (s_t, a_t, r_t, s_{t+1}) are continuously collected, where s_t is the state at time t, a_t is the action taken, r_t is the immediate reward obtained, and s_{t+1} is the new state after the transition. These tuples are stored in a fixed-size experience replay buffer. When training is required, a small batch of experience tuples (e.g., batch_size=64) is uniformly and randomly sampled from this buffer to form the training_dataset. The experience replay mechanism breaks the temporal correlation between data, improving data utilization efficiency and training stability.
[0087] Step S3.5: Extract a batch of samples from the training dataset and input them into the deep Q network for forward propagation calculation to obtain the predicted Q value for each action.
[0088] Preferably, a batch of states s is taken from the training_dataset and input into the current policy network (policy_net, parameter θ). The network calculates the predicted Q-value Q(s,a;θ) for all possible actions a in each state s through forward propagation. The specific calculation is completed by the linear transformations and activation functions of each layer of the network.
[0089] Step S3.6: Calculate the target Q value corresponding to the predicted Q value by combining the immediate reward with the Q value estimation of the next state using the temporal difference learning method, and update all connection weight parameters by using the gradient backpropagation algorithm that minimizes the mean square error between the predicted Q value and the target Q value.
[0090] Preferably, for a sampled batch of experience, the formula for calculating the target Q value y_i is: y_i = r_i + γ * max_{a'}Q(s_{i+1}, a'; θ^-). Here, γ is the discount factor (calibrated value, such as 0.99), and θ^- are the parameters of the target network (a network that periodically synchronizes parameters from the policy network for stable training). max_{a'}Q(...) represents the maximum Q value predicted by the target network in the next state s_{i+1}.
[0091] Preferably, the loss function L(θ) uses the mean squared error: L(θ)=1 / N*Σ_i(y_i-Q(s_i,a_i;θ))^2.
[0092] Preferably, backpropagation and optimization can use stochastic gradient descent (SGD) or its variants (such as the Adam optimizer) to compute the gradient of the loss function with respect to the policy network parameters θ, and update the parameters θ along the gradient descent direction to minimize the gap between the predicted Q value and the target Q value.
[0093] The discount factor γ is between 0.9 and 0.99, the learning rate α can be set to 0.0001, and the target network update frequency C can be set to synchronize once every 100 steps.
[0094] Step S3.7: Input the current real-time composite state vector into the updated deep Q-network for forward propagation calculation to obtain the Q-value output based on all possible actions.
[0095] Preferably, during model deployment or online decision-making, the currently generated composite_state_vector (as state s_t) is input into the trained policy_net. The network performs forward propagation and outputs a vector Q_values of length A, where each element Q_values[i] corresponds to the Q-value estimate of the i-th action in the action space. This value represents the expected long-term reward (negative rewards correspond to costs, such as time), which can be obtained by choosing this action in the current state.
[0096] Step S3.8: Select the action with the largest Q value from the Q value output using a greedy strategy, and decode it into a delivery role instruction or a pickup role instruction based on all AGVs in each cluster grouping result, which is the initial task allocation strategy.
[0097] Preferably, the greedy part of the ε-greedy strategy can be adopted, and ε is usually set to 0 or a minimum value during online deployment. That is, the index corresponding to the action with the largest value is selected from the Q_values vector, a* = argmax_a Q(s_t,a).
[0098] Preferably, the strategy decoding can decode the action index a* into a specific group ID pair (g_put, g_pick) according to the action mapping dictionary defined in step S3.2. For example, if a* is mapped to (2,1), it means that the second group in the clustering grouping result is designated as the "delivery role", the first group is designated as the "pickup role", and the remaining groups (if any) are "standby roles".
[0099] This allocation instruction constitutes the initial_task_allocation_strategy.
[0100] Beneficial effects of steps S3.1 to S3.8: By constructing and applying an automated decision-making core based on deep reinforcement learning, this study aims to address the problem of low scheduling efficiency and channel conflicts caused by the difficulty of traditional rule-based or static algorithms in dynamically adapting to changing tasks and AGV states. Specifically, step S3.1 encodes and merges the clustering and grouping results provided upstream with the task queue into a composite state vector. This process transforms the discrete, multi-dimensional system state (including spatial distribution and task load) into a feature representation that can be uniformly processed by the machine learning model, providing standardized input for intelligent decision-making. Step S3.2 predefines a discrete action space based on the work rules, abstracting the complex scheduling decision of "assigning roles to each group" into a finite and explicit action selection problem, thus concretizing the model's optimization objective. Steps S3.3 to S3.6 constitute the offline training and parameter optimization loop of the model, specifically through initializing the network structure. By sampling historical experience data and combining temporal difference learning with gradient descent for iterative updates, the model learns from a large number of historical interactions what scheduling strategies should be adopted under different system states that tend towards maximizing long-term rewards (i.e., minimizing the total task completion time). This frees decision-making from dependence on fixed human experience and enables it to learn and optimize strategies from data. Steps S3.7 and S3.8 are the online decision-making stage: the real-time generated state vector is input into the trained model, and the value assessment of all possible actions is obtained through forward propagation. A greedy strategy is then used to select the current optimal action, which is finally decoded into specific role allocation instructions. The overall effect of this series of steps is that the system can automatically generate an initial task allocation strategy optimized for global efficiency based on the real-time, dynamic global state (AGV grouping status and pending tasks). This strategy not only clarifies the roles that each group of AGVs should play, but its generation process is data-driven and adaptively optimized, capable of handling dynamic scenarios such as changes in task queues and AGV position changes. This provides an intelligent decision-making starting point for subsequent conflict-free and efficient grouped cyclic operations.
[0101] Step S4: According to the initial task allocation strategy, issue delivery point coordinates to the AGVs assigned to the delivery role to execute the delivery task, and issue path instructions to the AGVs assigned to the pickup role to execute the pickup task.
[0102] Furthermore, step S4 specifically includes the following steps: Step S4.1: Parse the initial task allocation strategy to separate the first unique identifier list assigned to the delivery role and the second unique identifier list assigned to the pickup role.
[0103] Preferably, `initial_task_allocation_strategy` is typically implemented as a nested dictionary or JSON object. The parsing process involves traversing this data structure, filtering and grouping the unique identifiers of the AGVs (e.g., "AGV_001") based on the value of the "role" field (e.g., "PUT_AWAY" or "PICKUP"). The program creates two lists: `putaway_agv_id_list` and `pickup_agv_id_list`.
[0104] Step S4.2: Extract the corresponding number of target storage location coordinates of pallets to be stored from the inbound / outbound task queue according to the first unique identifier list, and form a set of storage location coordinates to be allocated.
[0105] Preferably, a task_queue (inbound / outbound task queue) can be maintained, where each task object contains a target_location field (storage location coordinates). Based on the length N of putaway_agv_id_list, the program sequentially extracts N highest-priority inbound tasks from the head of the task_queue and extracts their target_location (e.g., x, y, z coordinate tuples) to form a list pending_locations = [loc1, loc2, ..., locN]. This set represents the delivery locations that need to be handled by this batch of AGVs.
[0106] Step S4.3: Using the Hungarian algorithm to minimize the total travel distance of the AGVs, each coordinate in the set of storage location coordinates to be allocated is assigned to each AGV in the first unique identifier list, thus obtaining the mapping relationship between the AGVs and the storage location coordinates.
[0107] Preferably, the minimum weight matching problem in the bipartite graph is solved using the Hungarian Algorithm. The AGVs in `putaway_agv_id_list` can be considered as a set of workers (not actual workers), and the storage coordinates in `pending_locations` can be considered as a set of tasks.
[0108] The first step involves constructing an N×N cost matrix C, where each element C[i][j] represents the estimated travel distance or time for the i-th AGV (whose current position is pos_i, which can be queried from the global_agv_state_dataset) to travel to the j-th storage location coordinate loc_j. Distance calculation typically uses Manhattan distance or Euclidean distance: cost = distance(pos_i, loc_j).
[0109] The second step calls the Hungarian algorithm solver, inputs the cost matrix C, and obtains an array of length N, assignment, which is the optimal assignment scheme, where assignment[i]=j means assigning task j to worker i.
[0110] Preferably, step S4.3 can be implemented using the following Python code block: from scipy.optimize import linear_sum_assignment # Constructing the cost matrix cost_matrix = [] for agv_id in putaway_agv_id_list: agv_pos = global_agv_state_dataset[agv_id]['pose'][:2] # Get AGV coordinates row = [distance(agv_pos, loc) for loc in pending_locations] cost_matrix.append(row) # Solving the minimum cost assignment problem using the Hungarian algorithm row_ind, col_ind = linear_sum_assignment(cost_matrix) # row_ind and col_ind correspond to the optimal match of the AGV index and storage location index, respectively. mapping = {putaway_agv_id_list[row_ind[i]]: pending_locations[col_ind[i]]for i in range(len(row_ind))} Step S4.4: Based on the mapping relationship, construct a delivery task instruction data packet for each delivery role AGV, including the corresponding unique identifier and storage location coordinates.
[0111] Preferably, the mapping dictionary obtained in step S4.3 is traversed. For each key-value pair (agv_id, target_location), a structured instruction object is constructed. This object includes: command_id (unique instruction ID), agv_id (target AGV), command_type (e.g., "NAV_TO_PUT"), target (target coordinates), and task_id (associated task ID). Then, the object is converted into a byte stream using a serialization tool such as JSON or Protocol Buffers, forming a putaway_command_packet.
[0112] Step S4.5: Read the corresponding global coordinates from the preset fixed pickup station location according to the second unique identifier list to obtain the pickup station coordinates.
[0113] Preferably, the location of the pickup station is usually a fixed point in the warehouse. Its coordinate information is stored in a configuration file or database as a system configuration parameter and can be read directly. For example, the coordinate value of pickup_station_coord can be obtained through pickup_station.location, such as (100,100,0).
[0114] Step S4.6: Construct a pickup task instruction data packet for each pickup role's AGV, including a corresponding unique identifier and the coordinates of the pickup station.
[0115] Preferably, the `pickup_agv_id_list` can be iterated through. A pickup instruction object is constructed for each `agv_id` in the list. Its `command_type` is "NAV_TO_PICK", and the `target` field is set to the uniform `pickup_station_coord`. After serialization, a `pickup_command_packet` is formed.
[0116] Step S4.7: Send the delivery task instruction data packet and the pickup task instruction data packet to the corresponding AGV respectively to execute the delivery task or pickup task.
[0117] Preferably, the instruction data packets are transmitted via a wireless network. Typically, the MQTT protocol is used, with the scheduling system acting as the publisher, issuing instructions to a specific topic named after the AGVID (e.g., "agv / AGV_001 / command"). The AGV onboard client subscribes to its dedicated topic to receive instructions. To ensure reliability, QoS (Quality of Service) level 1 (at least once) or level 2 (exact once) can be used. After receiving the instruction, the AGV controller parses the data packet, calls its internal path planner to generate a collision-free path to the target point, and controls the motors and navigation system to execute the movement, thereby completing the delivery or retrieval task.
[0118] Beneficial effects of steps S4.1 to S4.7: By transforming the role allocation strategy generated by upstream intelligent decision-making into specific, optimized, and conflict-free action instructions that can drive AGV entities to execute, the final link from decision-making to execution is connected. Step S4.1 analyzes the initial task allocation strategy, clearly separating the AGV identifier lists for the two roles of delivery and retrieval, providing clear targets for subsequent differentiated instruction issuance; Step S4.2 extracts the corresponding number of target storage location coordinates from the global task queue based on the delivery role list, ensuring that the tasks to be executed are accurately associated with the physical storage locations; Step S4.3 uses the Hungarian algorithm to optimally assign storage location coordinates to specific AGVs with the goal of minimizing the total travel distance of the AGVs. This process mathematically achieves efficient matching between resources (task points) and executors (AGVs), reducing unnecessary movement energy consumption and potential path intersections in advance from the path planning level; Steps S4.4 and S4.6, based on the above assignment results and fixed retrieval point information, construct unique instruction data packets for each AGV, containing its identifier and precise target coordinates, making the abstract role allocation concrete as understandable and executable endpoint coordinates for each AGV; Finally, Step S4.7 completes the reliable issuance of instructions. This series of steps together constitutes a precise instruction translation and distribution system. Its core effect is to ensure that intelligent scheduling strategies can be executed without loss, efficiently and in a coordinated manner. Through precise assignment and path optimization at the coordinate level, it avoids operational conflicts or efficiency losses caused by multiple AGVs due to unclear objectives or overlapping paths. This allows "the delivery group to enter the channel for operation" and "the pickup group to go to the platform" to be carried out in an orderly and synchronous manner, creating a clear operational premise for subsequent status monitoring and strategy switching.
[0119] Step S5: Collect the task completion status and current position coordinates of each AGV for delivery role in real time through the sensor network. When it is detected that all AGVs for delivery role have left the operation channel, update the inbound and outbound task queue and the global AGV status dataset.
[0120] Furthermore, step S5 specifically includes the following steps: Step S5.1: Collect the real-time coordinates and passage status of each AGV for delivery through the sensor network to obtain the raw sensor data stream.
[0121] Preferably, UWB positioning base stations can be deployed at the entrance, exit, and key internal points of the work channel. Each AGV is equipped with a UWB tag. The base station calculates the AGV's real-time three-dimensional coordinates (x, y, z) and heading angle using triangulation by measuring the time of flight (ToF) of the wireless signal between the base station and the tag, thus forming a pose data stream. If the AGV has built-in positioning functionality, this function can be used directly.
[0122] Preferably, for the instantaneous event of an AGV "entering" or "leaving" the channel, a pair of photoelectric sensors can be installed at specific height positions at the channel entrance and exit. When the AGV passes through, it blocks the light beam, and the sensor generates a digital switching signal beam_broken: True / False to accurately determine the instantaneous event of the AGV "entering" or "leaving" the channel.
[0123] Preferably, the AGV on-board controller collects voltage and current data from the battery management system (BMS) in real time via the CAN bus, calculates the remaining power (SOC), or directly collects the remaining power, and packages it together with the raw UWB ranging data and photoelectric sensor signals into a raw_sensor_data_packet containing a timestamp and AGV ID, and sends it to the central processing node via a wireless network.
[0124] Step S5.2: Perform data fusion and coordinate transformation on the original sensor data stream to obtain the precise pose estimate of each AGV for delivery.
[0125] Preferably, an extended Kalman filter can be used to fuse UWB coordinates and AGV on-board encoder odometer data to obtain a smoother and more accurate precision_pose_estimation. Here, the state vector x = [pos_x,pos_y,velocity,heading]^T (position, velocity, heading); the prediction step (based on the motion model) uses the AGV's kinematic model (such as a differential drive model) for state prediction: x_{k|k-1} = f(x_{k-1},u_k) + w_k, where u_k is the control input (wheel speed) and w_k is the process noise; the update step (based on observation) calculates the Kalman gain K_k when the received UWB observation value z_k = [uwb_x,uwb_y]^T, and updates the state estimate and covariance: x_{k|k} = x_{k|k-1} + K_k(z_k - Hx_{k|k-1}), where H is the observation matrix. The filtering process effectively suppressed random jitter and outliers in the UWB signal.
[0126] Step S5.3: Obtain the electronic map of the operation channels of the dense warehouse, and define the spatial range formed by the entrances and exits of all operation channels as the channel spatial range model.
[0127] Preferably, electronic ground Figure 1 Typically, a digital twin map is used for construction. A digital twin map is a vector file or database that precisely marks the geometric outlines of all facilities such as shelves, aisles, and platforms. For each work aisle, the program reads its polygon vertex coordinates [(x1,y1),(x2,y2),...] on the map. Aisles are usually modeled as a two-dimensional convex polygon or a corridor zone defined by an entrance line and an exit line. For example, an aisle model can be defined as the entrance line segment L_in, the exit line segment L_out, and the zone_aisle enclosed by the two sides connecting them.
[0128] Step S5.4: Generate a binary channel occupancy status identifier for each AGV by using the accurate pose estimation of each AGV and the channel space range model.
[0129] Preferably, for a convex polygon model of the channel, the ray casting algorithm can be used to determine whether the coordinates (x_agv, y_agv) of the AGV are inside the polygon. The core of the algorithm is to calculate the number of intersections between the horizontal ray emitted to the right from that point and each side of the polygon; if the number is odd, then it is inside the polygon.
[0130] Preferably, for a strip region model, the signed distance from the point to the entrance line and the exit line is calculated, and the judgment is made in conjunction with the side boundary.
[0131] Preferably, for the generation of the identifier, the above judgment can be performed once in each processing cycle (e.g., 100ms) for each AGV assigned to the delivery role. If the AGV pose point is located inside the channel space range model Zone_aisle, then its in_aisle_flag is set to True (the channel occupancy status is "true"), otherwise it is False ("false").
[0132] Step S5.5: Check the channel occupancy status indicators of all AGVs in the delivery role through real-time polling. When all indicators are detected to be false, generate a channel idle event trigger signal.
[0133] Preferably, this can be achieved by maintaining a list of in_aisle_flag statuses for all AGVs in the current putaway_agv_id_list, and checking this list at a fixed polling interval (e.g., 500ms). The system determines that "all AGVs in the delivery role have exited the work channel" only if all flags in the list are found to be False through a logical AND operation. At this point, the system immediately generates a high-priority aisle_clear_event_signal (channel idle event trigger signal). This signal is a Boolean value or a specific event message used to trigger subsequent queue and status updates.
[0134] Step S5.6: Based on the channel idle event trigger signal, remove the corresponding task record that has been completed by the AGV for releasing goods from the inbound / outbound task queue to obtain the updated inbound / outbound task queue.
[0135] Preferably, a callback function can be triggered via `aisle_clear_event_signal`. This function iterates through the `task_queue`, and based on the task completion confirmation reported by the AGV or the matching relationship between the AGV and the task in the mapping (generated in step S4.3), marks the status of task records associated with the delivery AGV that has exited the channel and whose status is "in execution" as "completed," and removes them from the active execution queue. An `updated_task_queue` is then generated.
[0136] Step S5.7: Integrate the precise pose estimation, battery status and fault identification of all AGVs at the current moment to obtain the updated global AGV status dataset.
[0137] Preferably, the latest status can be collected by obtaining the latest precise_pose_estimation calculated by all AGVs in S5.2 at the current moment, as well as the latest battery_status and fault_identifier reported in real time from the vehicle controller.
[0138] Preferably, a new dataset can be constructed, specifically by creating a new dictionary `new_global_state`. For each AGV, its latest pose, battery level, and fault identifier are written. Simultaneously, its `current_task` field is updated or cleared based on `updated_task_queue` and the new strategy to be generated in step S6.
[0139] Preferably, in memory, an atomic operation (such as locking and then replacing the pointer) is used to point the existing global_agv_state_dataset reference to the newly constructed new_global_state dictionary. This ensures that the system has a complete and consistent view of the global state at all times, avoiding inconsistent data read during updates.
[0140] Beneficial effects of steps S5.1 to S5.7: By constructing a real-time, accurate, and automated closed-loop system for operational status perception and data synchronization, the safe, orderly, and continuous operation of AGVs in the dense warehouse is ensured. Specifically, step S5.1 continuously collects raw data through a sensor network, providing the most basic signal source for status judgment; step S5.2 uses a data fusion algorithm to process these multi-source heterogeneous raw signals, transforming them into AGV pose estimates that can be used for precise spatial calculations, improving the accuracy and reliability of status perception; step S5.3, based on a channel spatial range model defined by an electronic map, provides clear digital boundaries for determining whether an AGV is in a critical conflict area; and step S5.4 performs real-time spatial relationship calculations between precise pose estimates and the channel model, transforming complex physical positional relationships into simple, deterministic binary logical identifiers (occupied or idle), enabling the system to... Step S5.5 uses a programmed approach to clearly perceive the channel occupancy status of each delivery AGV. Based on these logical identifiers, a collective status determination is made. When all delivery AGVs are detected to have exited the channel, a clear "channel idle" event signal is generated. This signal is the core decision-making basis for group rotation and triggering task switching. It ensures that only one group of AGVs is operating in the channel at any given time, fundamentally avoiding the risk of multi-vehicle channel conflicts. Steps S5.6 and S5.7 update the task queue and global status dataset after this signal is triggered. Specifically, completed tasks are removed to reflect progress, and the latest status of all AGVs is integrated to form a new system "snapshot". This series of steps works together to achieve a complete and timely mapping from physical world status perception (whether an AGV has exited the channel) to digital system status synchronization (updating task and AGV data). This provides an indispensable and realistic data foundation for step S6 to make the next round of intelligent decisions based on the latest on-site situation, reflecting the completion status of the current work cycle and the latest resource distribution, thereby driving the entire system to form a dynamic cycle of "perception-decision-execution-re-perception".
[0141] Step S6: Input the updated inbound / outbound task queue and the updated global AGV status dataset back into the deep Q-network decision model, and repeat steps S3 to S6 after each task switch to update the initial task allocation strategy and achieve continuous loop operation.
[0142] Further, in step S6, the updated inbound / outbound task queue and the updated global AGV status dataset are input back into the deep Q-network decision model, and steps S3 to S6 are repeated after each task switch to update the initial task allocation strategy and achieve continuous cyclic operation. Specifically, this includes the following steps: Step S6.1: Perform feature encoding and vector concatenation operations on the updated inbound / outbound task queue and the updated global AGV status dataset to obtain the updated composite status vector.
[0143] Preferably, the input to step S6.1 is the updated_task_queue and updated_global_agv_state_dataset generated in steps S5.6 and S5.7.
[0144] Preferably, for feature extraction, firstly, the latest pose of all AGVs is extracted from the updated_global_agv_state_dataset; then, based on this latest position information, the K-Means dynamic clustering process described in steps S2.1 to S2.9 is re-executed. Since the positions of the AGVs have changed after the previous operation, updated_clustering_result must be recalculated based on their latest distribution to ensure that the grouping matches the current spatial layout.
[0145] The next step is to enter the feature encoding stage, which can use the same feature encoding pipeline as step S3.1 but executed independently: perform statistical feature encoding such as group centroid and group size on the new updated_clustering_result; perform feature encoding such as task type, target coordinates, and priority on updated_task_queue (similarly truncating the first M tasks or padding with zeros).
[0146] The next step is vector concatenation and normalization: the two encoded feature vectors are concatenated to form an updated_composite_state_vector. Similarly, this new vector needs to be max-min normalized. The normalization parameters (such as maximum and minimum values) should use the global parameters calculated and saved in step S3.1 during the model training phase to ensure the consistency of the input data distribution and avoid model performance fluctuations due to changes in data scale.
[0147] In step S6.2, the updated composite state vector is input into the deep Q-network decision model, and steps S3.5 to S3.8 are repeated with the updated composite state vector as the subject of execution to obtain the updated task allocation strategy.
[0148] Preferably, the updated_composite_state_vector generated in step S6.1 is used as input and fed into the depth_q_network_decision_model that has been trained and loaded into memory.
[0149] Specifically, the forward propagation involves the model performing a complete forward propagation on the input vector, passing it through all fully connected layers and activation functions in sequence, ultimately generating a Q-value vector Q_values_updated at the output layer. Each value in this vector corresponds to the expected long-term reward evaluation of a specific role allocation scheme in the discrete action space.
[0150] Preferably, the decision logic described in steps S3.5 to S3.8 of the claims is repeated, but the input state is changed to updated_composite_state_vector.
[0151] Step S6.3: The updated task allocation strategy overrides the initial task allocation strategy or the task allocation strategy before the update to achieve continuous cyclic operation.
[0152] Preferably, the newly generated `updated_task_allocation_strategy` is written to the policy storage variable (such as `current_active_policy`) in the system's global memory through an atomic operation (e.g., locking and replacing pointers), directly overwriting the old `initial_task_allocation_strategy` or the policy from the previous round. This ensures that subsequent instructions issued by the entire system are based on the latest and optimal policy.
[0153] Preferably, after the policy coverage is completed, the system immediately generates a policy_update_complete_event. This event is captured by the system's process controller (or state machine). The logic of the process controller is designed such that once this event is received, a complete "perception-decision-execution-update" cycle is determined to have ended, and the program execution flow is automatically redirected (or called back) to the starting point of step S3 in claim .
[0154] Preferably, at the start of a new loop, the system can jump to step S3, using the new `updated_task_allocation_strategy` as the current effective strategy, combined with the latest `updated_global_agv_state_dataset`, to begin executing steps S4 (instruction issuance) and S5 (status monitoring and updating), and finally re-enter step S6. This forms a self-driven, closed-loop, continuous cyclical workflow, allowing the system to continuously re-optimize the scheduling strategy based on real-time environmental conditions, dynamically adapting to task changes and AGV state transitions.
[0155] Beneficial effects of steps S6.1 to S6.3: By transforming the latest job results (updated task queue and AGV status) generated by the preceding steps into the starting point for driving the next round of intelligent scheduling, a sustainable "perception-decision-execution" loop is formed, realizing the dynamic closed loop and continuous adaptive optimization of the entire group operation method. In step S6.1, the updated inbound / outbound task queue and global AGV status dataset are feature-encoded and vector-concatenated to generate a new composite state vector. This operation encapsulates the latest progress of the work site in a standardized system state snapshot in real time and accurately, providing input reflecting the latest reality for subsequent decisions. Step S6.2 Inputs this new state vector into the trained deep Q-network decision model and repeats the model's forward propagation and action selection process based on a greedy strategy. Its direct effect is to recalculate and output an updated task allocation strategy that best matches the current situation based on the latest and most accurate system state. This makes the system's scheduling decision no longer static or one-off, but can be adjusted in real time according to the dynamic changes in task completion progress and AGV position status, thereby coping with uncertainties such as random task arrival and AGV status changes in warehouse operations. Step S6.3 Executes strategy coverage and process triggering, replacing the old strategy with the newly generated updated task allocation strategy, and causing the system logic to re-enter the process loop from decision to execution based on the new strategy. These three steps together form the information feedback and strategy iteration hub of the entire method. They ensure that the system does not remain in a single operation cycle, but can use the output of the current cycle as the input of the next cycle, forming an uninterrupted, data-driven closed-loop control flow, thereby supporting the continuous, stable and adaptive operation of the AGV grouping operation in the intensive warehouse.
[0156] Overall beneficial effects of steps S1 to S6: Through systematic data processing and decision-making loops, the core bottlenecks of narrow passageways in dense warehouses and the potential for conflicts in multi-AGV operations are effectively addressed. Specifically, step S1, which achieves real-time acquisition of global status and task data, provides a precise data foundation for subsequent dynamic scheduling; step S2, based on dynamic clustering of AGV real-time positions, divides the AGV group into operational units matching limited passageway resources, preemptively avoiding passageway congestion caused by disorderly entry from a spatial structure perspective; step S3 introduces a deep reinforcement learning model to intelligently assign delivery or retrieval roles to each group based on real-time cluster status and task queues, achieving synergy between task allocation and passageway occupancy in time planning and reducing waiting times caused by role conflicts; step S4 generates precise path instructions through optimized assignment algorithms, ensuring that only a single role group operates sequentially within the same passageway, eliminating passageway occupancy conflicts at the execution level; step S5 performs closed-loop monitoring and data updates of task completion status and AGV positions, enabling the system to promptly perceive changes in the operational environment and provide the latest basis for strategy iteration; and step S6, based on the iterative optimization of the updated data-driven strategy, allows the system to continuously adapt to dynamic changes in task flow and AGV status. The complete closed loop of each step, from environmental perception, intelligent grouping decision-making, conflict avoidance execution to status feedback updates, improves the collaborative operation efficiency and system turnover capacity of multiple AGVs in dense warehouse environments through data-driven automated processes without relying on human intervention.
[0157] like Figure 2 As shown, this embodiment provides an example of a group operation device for a dense warehouse AGV. In this embodiment, the group operation device is applied to the group operation method as described in the above embodiment.
[0158] Specifically, the group operation device includes a global AGV status dataset acquisition module 1, a global AGV status dataset clustering module 2, an initial task allocation strategy decision module 3, a picking task execution module 4, a placing task execution module 5, and a task allocation strategy iteration module 6, which are electrically or signalally connected in sequence. The task allocation strategy iteration module 6 is electrically or signalally connected to the initial task allocation strategy decision module 3.
[0159] The system comprises three modules: a global AGV status dataset acquisition module 1, which acquires the inbound and outbound task queues issued by the external warehouse management system and collects the battery status, real-time location, and fault identifiers of all AGVs in real time through a sensor network; a global AGV status dataset clustering module 2, which inputs the global AGV status dataset into a K-Means clustering algorithm based on Euclidean distance, dynamically clustering the AGVs using their real-time location coordinates as features to obtain clustering results matching the number of warehouse aisles, with each clustering result including several AGVs; and an initial task allocation strategy decision module 3, which inputs the clustering results and the inbound and outbound task queues into a deep Q-network decision model, outputting an initial task allocation strategy for each clustering result with the optimization objective of minimizing the total task completion time. Each initial task allocation strategy includes the data from the current clustering result. The system includes AGVs with delivery and pickup roles. The pickup task execution module 4, based on the initial task allocation strategy, issues delivery point coordinates to AGVs assigned to the delivery role to execute delivery tasks, and issues path instructions to AGVs assigned to the pickup role to execute pickup tasks. The delivery task execution module 5 uses a sensor network to collect the task completion status and current position coordinates of each delivery role AGV in real time. When it detects that all delivery role AGVs have exited the work channel, it updates the inbound / outbound task queue and the global AGV status dataset. The task allocation strategy iteration module 6 re-inputs the updated inbound / outbound task queue and the updated global AGV status dataset into the deep Q-network decision model, and repeats the process from the initial task allocation strategy decision module to the task allocation strategy iteration module after each task switch to update the initial task allocation strategy and achieve continuous cyclic operation.
[0160] It should be noted that this embodiment is a functional module embodiment based on the above method embodiment. For additional content such as extensions, optimizations, limitations, examples, principle explanations, and beneficial effects of this embodiment, please refer to the above embodiments. This embodiment will not repeat them here.
[0161] Figure 3 This is a schematic diagram of the structure of an electronic device according to an embodiment of this application. Figure 3 As shown, the electronic device 7 includes a processor 71 and a memory 72 coupled to the processor 71.
[0162] The memory 72 stores program instructions for implementing the grouping operation method based on the dense library AGV of any of the above embodiments.
[0163] The processor 71 is used to execute program instructions stored in the memory 72 to implement the grouped operation of the intensive library AGV.
[0164] The processor 71 can also be referred to as a CPU (Central Processing Unit). The processor 71 may be an integrated circuit chip with signal processing capabilities. The processor 71 can also be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. A general-purpose processor can be a microprocessor or any conventional processor.
[0165] Furthermore, Figure 4 This is a schematic diagram of the structure of a storage medium according to an embodiment of this application. See also: Figure 4 The storage medium 8 in this embodiment stores program instructions 81 capable of implementing all the above methods. These program instructions 81 can be stored in the storage medium as a software product, including several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute all or part of the steps of the methods in each embodiment of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks, or terminal devices such as computers, servers, mobile phones, and tablets.
[0166] In the several embodiments provided in this application, it should be understood that the disclosed apparatus, devices, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another device, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical, mechanical, signal, or other forms.
[0167] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated units described above can be implemented in hardware or as software functional units. The above are merely embodiments of this application and do not limit the patent scope of this application. Any equivalent structural or procedural transformations made based on the description and drawings of this application, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of this application.
Claims
1. A method for grouping and operating AGVs in a high-density warehouse, wherein the grouping and operating method is applied to a high-density warehouse, and the key nodes of the warehouse and the AGV body are equipped with a sensor network, characterized in that... The group operation method includes: Step S1: Obtain the inbound and outbound task queue issued by the external warehouse management system, and collect the battery status, real-time location, and fault identifier of all AGVs in real time through the sensor network deployed thereon to obtain a global AGV status dataset. Step S2: Input the global AGV status dataset into the K-Means clustering algorithm based on Euclidean distance, and perform dynamic clustering with the real-time position coordinates of the AGV as features to obtain clustering grouping results that match the number of warehouse channels. Each clustering grouping result includes several AGVs. Step S3: Input the clustering results and the inbound / outbound task queue into the deep Q-network decision model, and output an initial task allocation strategy for each clustering result with the optimization objective of minimizing the total task completion time. Each initial task allocation strategy includes the delivery role and pickup role of all AGVs in the current clustering result. Step S4: According to the initial task allocation strategy, issue delivery point coordinates to the AGVs assigned to the delivery role to execute the delivery task, and issue path instructions to the AGVs assigned to the pickup role to execute the pickup task. Step S5: Collect the task completion status and current position coordinates of each AGV for delivery role in real time through the sensor network. When it is detected that all AGVs for delivery role have left the operation channel, update the inbound and outbound task queue and the global AGV status dataset. Step S6: Input the updated inbound / outbound task queue and the updated global AGV status dataset back into the deep Q-network decision model, and repeat steps S3 to S6 after each task switch to update the initial task allocation strategy and achieve continuous cyclic operation.
2. The group operation method according to claim 1, characterized in that, Step S1: Obtain the inbound / outbound task queue issued by the external warehouse management system, and collect the battery status, real-time location, and fault identifiers of all AGVs in real time through the sensor network deployed thereon to obtain a global AGV status dataset, including: Step S1.1: Receive inbound / outbound task queue data stream from the external warehouse management system through a pre-configured network interface; Step S1.2: Deserialize the data stream of the inbound and outbound task queue to obtain a structured task list; Step S1.3: Broadcast data acquisition commands to the sensor network via a publish-subscribe protocol based on the structured task list; Step S1.4: Based on the data acquisition command, collect the battery information, UWB positioning coordinates, and fault diagnosis location of all AGVs through the sensor network to form an original status data packet; Step S1.5: The original state data packet is transmitted to the central processing node via a wireless communication link to obtain a timestamp-marked data stream; Step S1.6: Perform data cleaning on the timestamp-marked data stream to obtain a standardized AGV status record set; Step S1.7: Align the standardized AGV status record set with the structured task list in time and fuse the data to obtain a global AGV status dataset.
3. The group operation method according to claim 1, characterized in that, Step S2: Input the global AGV status dataset into the K-Means clustering algorithm based on Euclidean distance, and perform dynamic clustering using the real-time position coordinates of the AGVs as features to obtain clustering grouping results that match the number of warehouse aisles. Each clustering grouping result includes several AGVs, including: Step S2.1: Extract the real-time position coordinates of all AGVs from the global AGV status dataset and construct a two-dimensional AGV position coordinate matrix; Step S2.2: Obtain the total number of physical channels of the dense library, and set the total number of physical channels as the target number of clusters for the clustering algorithm; Step S2.3: Input the AGV position coordinate matrix and the target cluster number into the K-Means++ initialization algorithm to calculate the initial cluster center set; Step S2.4: Calculate the Euclidean distance from each coordinate point in the AGV position coordinate matrix to each center in the initial cluster center set to obtain a distance matrix; Step S2.5: Assign the cluster center with the smallest Euclidean distance to the real-time position coordinates of each AGV according to the distance matrix, and obtain an initial AGV clustering label set with several clusters. Step S2.6: Based on the initial AGV clustering label set, recalculate the mean of all AGV coordinate points in each cluster to obtain the updated cluster center set; Step S2.7: Calculate the Euclidean distance between each pair of paired cluster centers in the updated cluster center set and the initial cluster center set, and sum the squares of the Euclidean distances of all paired cluster centers to obtain the overall difference value of the cluster center update. Step S2.8: If the overall difference value is greater than the preset convergence threshold, then the updated cluster center set is used as the new initial cluster center set, and steps S2.4 to S2.8 are repeated. Step S2.9: When the overall difference between the updated cluster center set and the cluster center set of the previous iteration is less than or equal to the preset convergence threshold, the current AGV cluster label set is output as the clustering result.
4. The group operation method according to claim 1, characterized in that, Step S3: Input the clustering results and the inbound / outbound task queue into the deep Q-network decision model. With minimizing the total task completion time as the optimization objective, output an initial task allocation strategy for each clustering result. Each initial task allocation strategy includes the delivery role and pickup role of all AGVs in the current clustering result, including: Step S3.1: The clustering grouping results and the inbound / outbound task queue are feature-encoded and concatenated to construct a composite state vector including AGV spatial distribution features and task load features. Step S3.2: Define a discrete action space according to the preset dense warehouse operation rules. Each action in the discrete action space corresponds to a specific combination scheme for assigning the delivery role and the pickup role to different clustering grouping results. Step S3.3: Initialize the deep Q-network, where the input layer dimension of the deep Q-network matches the dimension of the composite state vector, the output layer dimension matches the dimension of the discrete action space, and randomly initialize all connection weight parameters of the deep Q-network. Step S3.4: Obtain all historical AGV operation data and sample a batch of state-action-reward-next state transition samples and store them in the experience replay buffer to obtain the training dataset; Step S3.5: Extract a batch of samples from the training dataset and input them into the deep Q network for forward propagation calculation to obtain the predicted Q value for each action; Step S3.6: Calculate the target Q value corresponding to the predicted Q value by combining the instantaneous reward with the Q value estimation of the next state using the temporal difference learning method, and update all connection weight parameters by using the gradient backpropagation algorithm that minimizes the mean square error between the predicted Q value and the target Q value. Step S3.7: Input the current real-time composite state vector into the updated deep Q-network for forward propagation calculation to obtain the Q-value output based on all possible actions at the present time; Step S3.8: Select the action with the largest value from the Q-value output using a greedy strategy, and decode it into a delivery role instruction or a pickup role instruction based on all AGVs in each clustering group result, which is the initial task allocation strategy.
5. The group operation method according to claim 1, characterized in that, Step S4, according to the initial task allocation strategy, issues delivery point coordinates to the AGVs assigned to the delivery role to execute the delivery task, and issues path instructions to the AGVs assigned to the pickup role to execute the pickup task, including: Step S4.1: Parse the initial task allocation strategy to separate the first unique identifier list assigned to the delivery role and the second unique identifier list assigned to the pickup role. Step S4.2: Extract the corresponding number of target storage location coordinates of pallets to be stored from the inbound / outbound task queue according to the first unique identifier list, and form a set of storage location coordinates to be allocated; Step S4.3: Using the Hungarian algorithm to minimize the total travel distance of the AGVs, each coordinate in the set of storage location coordinates to be assigned is assigned to each AGV in the first unique identifier list, thus obtaining the mapping relationship between AGVs and storage location coordinates; Step S4.4: Construct a delivery task instruction data packet for each delivery role's AGV, including a corresponding unique identifier and storage location coordinates, based on the mapping relationship. Step S4.5: Read the corresponding global coordinates from the preset fixed pickup station location according to the second unique identifier list to obtain the pickup station coordinates; Step S4.6: Construct a pickup task instruction data packet for each pickup role's AGV, including a corresponding unique identifier and the coordinates of the pickup platform; Step S4.7: Send the delivery task instruction data packet and the pickup task instruction data packet to the corresponding AGV respectively to execute the delivery task or pickup task.
6. The group operation method according to claim 1, characterized in that, Step S5: The sensor network is used to collect the task completion status and current position coordinates of each AGV for delivery roles in real time. When it is detected that all AGVs for delivery roles have exited the work channel, the inbound / outbound task queue and the global AGV status dataset are updated, including: Step S5.1: The real-time coordinates and passage status of each AGV for delivery are collected in real time through the sensor network to obtain the raw sensor data stream; Step S5.2: Perform data fusion and coordinate transformation on the original sensor data stream to obtain the precise pose estimate of each AGV for delivery roles; Step S5.3: Obtain the electronic map of the operation channels of the dense warehouse, and define the spatial range formed by the entrances and exits of all operation channels as the channel spatial range model. Step S5.4: Generate a binary channel occupancy status identifier for each AGV by using the precise pose estimation of each AGV and the channel space range model; Step S5.5: Check the channel occupancy status indicators of all AGVs for delivery roles in real time by polling. When all indicators are detected to be false, generate a channel idle event trigger signal. Step S5.6: Remove the corresponding task record that has been completed by the AGV for releasing goods from the inbound / outbound task queue according to the channel idle event trigger signal, and obtain the updated inbound / outbound task queue. Step S5.7: Integrate the precise pose estimation, battery status and fault identification of all AGVs at the current moment to obtain the updated global AGV status dataset.
7. The group operation method according to claim 4, characterized in that, Step S6 involves re-inputting the updated inbound / outbound task queue and the updated global AGV status dataset into the deep Q-network decision model, and repeating steps S3 to S6 after each task switch to update the initial task allocation strategy and achieve continuous cyclic operation, including: Step S6.1: Perform feature encoding and vector concatenation operations on the updated inbound / outbound task queue and the updated global AGV status dataset to obtain the updated composite status vector. Step S6.2: Input the updated composite state vector into the deep Q-network decision model, and repeat steps S3.5 to S3.8 with the updated composite state vector as the subject of execution to obtain the updated task allocation strategy. Step S6.3: The updated task allocation strategy overrides the initial task allocation strategy or the task allocation strategy before the update to achieve continuous cyclic operation.
8. A grouping operation device for a high-density warehouse AGV, wherein the grouping operation device is applied to the grouping operation method as described in any one of claims 1 to 7, characterized in that, The group operation device includes: The global AGV status dataset acquisition module is used to acquire the inbound and outbound task queues issued by the external warehouse management system, and to collect the battery status, real-time location, and fault identifiers of all AGVs in real time by deploying on the sensor network to obtain the global AGV status dataset. The global AGV status dataset clustering module is used to input the global AGV status dataset into the K-Means clustering algorithm based on Euclidean distance, and perform dynamic clustering with the real-time position coordinates of the AGVs as features to obtain clustering grouping results that match the number of warehouse channels. Each clustering grouping result includes several AGVs. The initial task allocation strategy decision module is used to input the clustering grouping results and the inbound / outbound task queue into the deep Q-network decision model, and output the initial task allocation strategy for each clustering grouping result with the optimization objective of minimizing the total task completion time. Each initial task allocation strategy includes the delivery role and the pickup role of all AGVs in the current clustering grouping result. The pickup task execution module is used to issue delivery point coordinates to AGVs assigned to the delivery role to execute delivery tasks according to the initial task allocation strategy, and to issue path instructions to the pickup station to AGVs assigned to the pickup role to execute pickup tasks. The delivery task execution module is used to collect the task completion status and current position coordinates of each delivery role AGV in real time through the sensor network. When it is detected that all delivery role AGVs have left the operation channel, the module updates the inbound and outbound task queue and the global AGV status dataset. The task allocation strategy iteration module is used to re-input the updated inbound and outbound task queues and the updated global AGV status dataset into the deep Q-network decision model, and repeat the process from the initial task allocation strategy decision module to the task allocation strategy iteration module after each task switch to update the initial task allocation strategy and achieve continuous cyclic operation.
9. An electronic device, characterized in that, It includes a processor and a memory coupled to the processor, the memory storing program instructions executable by the processor; when the processor executes the program instructions stored in the memory, it implements the grouping operation method as described in any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores program instructions that, when executed by a processor, enable the grouping operation method as described in any one of claims 1 to 7.