Multi-production-unit feeding and discharging scheduling method and system for material rack type AGV (Automatic Guided Vehicle)

By optimizing the loading and unloading scheduling of rack-type AGVs using ALNS and simulated annealing algorithms, the problem of low scheduling efficiency of rack-type AGVs in factories was solved, and efficient multi-production unit path planning and emergency task response were achieved.

CN120779873APending Publication Date: 2025-10-14KUNMING KSEC LOGISTIC INFORMATION IND

Patent Information

Application Number
CN202411497723.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-25
Publication Date
2025-10-14

AI Technical Summary

Technical Problem

The scheduling efficiency of rack-type AGVs in factory loading and unloading scenarios is low and complex. Existing algorithms are not applicable and cannot give full play to their advantages in flexible task allocation.

Method used

The adaptive large-scale neighborhood search (ALNS) algorithm is combined with the simulated annealing algorithm and the data acquisition system of the smart factory. The loading and unloading scheduling of multiple production units of the rack-type AGV is optimized by quantifying the constraints and the objective function, and the optimal path is calculated.

Benefits of technology

It significantly reduces the timeout rate of loading and unloading tasks and the average task path distance, improves the operating efficiency of AGV, adapts to complex layouts and multi-production unit scenarios, supports emergency insertion and fault adjustment, and improves the efficiency of algorithm execution.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120779873A_ABST
    Figure CN120779873A_ABST
Patent Text Reader

Abstract

The invention discloses a feeding and discharging scheduling method and system for multiple production units of a material rack type AGV. The method comprises the steps that 1) scheduling targets are determined, wherein the timeout rate of feeding and discharging tasks is lowest, the average timeout time of timeout tasks is lowest, and the average task distance of AGV walking is shortest; 2) quantizing limiting conditions: the quantity of the piece boxes cached by the AGV cannot exceed the capacity of the material rack, the same AGV takes the material boxes from a task starting point and unloads the material boxes at a task terminal point, the total time of taking and unloading of the AGV conforms to a task time window, the caching material rack has an idle position when the AGV loads, and the caching material rack has an empty material box and an idle caching position when the AGV unloads; the AGV loads a plurality of material boxes to a cache material frame of the AGV at the same time and unloads the material boxes at a proper time; 3) solving the optimal path of the AGVs, wherein a plurality of AGVs execute an AGV allocation scheme of a plurality of loading and unloading tasks; and the AGV executes a loading and unloading step execution sequence, starting point and terminal point coordinates of each step and a list of coordinate points of a minimum path from the starting point to the terminal point. The system can adapt to the scenes of taking and unloading of a plurality of production units and a plurality of automatic storehouses.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of AGV scheduling in automated factories, and particularly relates to a rack-type AGV multi-production unit scheduling method and system. BACKGROUND

[0002] With the continuous development and innovation of technology, logistics is gradually moving towards full automation, and AGV automatic loading and unloading is increasingly used in various factories.

[0003] Compared with traditional AGVs, rack-type AGVs have a built-in buffer rack that can buffer multiple empty or full containers, and the task allocation is more flexible and efficient, making them very suitable for production unit loading and unloading scenarios in non-heavy load situations. However, the more flexible task allocation of rack-type AGVs also brings new scheduling problems. Compared with traditional AGVs that can only execute one task at a time, rack-type AGVs can execute multiple tasks simultaneously. If the traditional time-sequential scheduling method is still used, the advantages of rack-type AGVs cannot be fully utilized.

[0004] The optimal path problem of rack-type AGV loading and unloading is a typical dynamic pickup and delivery problem with time windows (DPDPTW). The rolling horizon method is usually used to divide the scheduling horizon into equal time intervals. Within each time interval, the problem can be simplified as a pickup and delivery problem with time windows (PDPTW). In other words, within each time interval, the dynamic part can be treated as static. By gradually calculating multiple consecutive time intervals, the dynamic problem is decomposed into multiple static calculation problems, and the global optimal solution of DPDPTW is finally obtained. After the calculation of the current time interval is completed, the result is submitted to the AGV for execution. The AGV's running status is updated and reviewed for the next time interval, and the entire task pool is completely recalculated.

[0005] Different from the traditional DPDPTW problem scene, the pick-and-deliver task of the factory AGV loading and unloading scene is more intensive, the task time is shorter, there is a clear task priority, and the dynamicity is higher. The loading task has a clear time window, and once it exceeds the scheduled time window, it will cause the production unit to be out of stock and delay production. The unloading task has a clear time window, and once it exceeds the scheduled time window, it will cause the unloading port material to overflow. The time window left for the scheduling system to calculate the optimal path is very short. The genetic algorithm, simulated annealing algorithm, ant colony algorithm and the like for solving the traditional PDPTW problem are not applicable to this business scenario. The adaptive large-scale neighborhood search algorithm (ALNS) increases the measurement of the effect of the operator on the basis of neighborhood search, so that the algorithm can automatically select good operators to destroy and repair the solution, and can obtain a solution with higher quality at a lower time cost. Therefore, the ALNS algorithm combined with the simulated annealing algorithm is used to calculate the optimal path of the AGV in the hour domain. The present application is an expansion of the previous DPDPTW problem and its algorithm application research field, and is an in-depth study of the real scene. SUMMARY

[0006] To solve the existing rack AGV loading and unloading scheduling problem, the present application provides a method for calculating the optimal path of rack AGV loading and unloading based on dynamic time domain and ALNS algorithm, which solves the problems of low running efficiency of rack AGV in the factory loading and unloading scene and complex scheduling of the existing technology.

[0007] The present application is based on the current intelligent factory scene, and the production unit has been configured with loading and unloading data acquisition sensors, which can intelligently perceive the production progress of the production unit. After obtaining the production data of the production unit through the data acquisition system, the present application provides bottom layer data support.

[0008] The technical scheme adopted by the present application to solve the above problems is:

[0009] In view of the problem of complex loading and unloading scheduling caused by the fact that the rack AGV can buffer multiple bins at the same time, a rack AGV multi-production unit loading and unloading scheduling method of the present application includes: defining the scheduling target, quantifying the constraint condition, and solving the optimal path of AGV.

[0010] The scheduling target includes: the lowest timeout rate of the multi-production unit loading and unloading task; the lowest average timeout time of the timeout task; and the shortest average task distance of AGV walking.

[0011] The restriction conditions include: the number of AGV car cached boxes cannot exceed the capacity of the rack; AGV car must take the material box from the task starting point, unload the material box at the task terminal, and must be the same AGV; the total AGV taking and unloading time should meet the task time window, otherwise it is considered as overtime; the AGV car has at least one idle position when executing the loading step; the AGV car has at least one empty box and one idle caching position when executing the unloading step; under the condition of time window, AGV can load multiple boxes to its own caching rack at the same time, and unload at the appropriate time.

[0012] The solving AGV optimal path includes: AGV distribution scheme of multiple AGVs executing multiple feeding and discharging tasks; AGV executing loading and unloading step execution sequence and starting point and terminal coordinate of each step, minimum path coordinate point list from starting point to terminal.

[0013] Specifically, the rack type AGV multi-production unit feeding and discharging scheduling method of the application comprises the following steps:

[0014] Step 1, processing and converting the physical factory production unit layout, feeding and discharging position coordinate points, AGV initial position coordinate points and AGV walking path into computer recognizable structured electronic map data.

[0015] Step 2, initializing production unit basic information, including production unit type, production speed, feeding cache number, feeding trigger point, discharging cache number, discharging trigger point and single feeding number. Initialize AGV information, including AGV number, enable state, initial position coordinate point and storage number.

[0016] Step 3, according to the feeding and discharging position coordinate points, AGV initial position coordinate points and AGV walking path defined in step 1, the traditional path planning A* algorithm is used to solve the minimum path between any two coordinate points, and the path list route_list is formed.

[0017] Step 4, taking the current starting point as the initial time domain t0, generating the initial time domain task list.

[0018] Step 4.1, according to the production unit basic information defined in step 2, initializing the to-be-assigned feeding task list feed_list, the initialization is based on that the feeding cache number is equal to or less than the feeding trigger point. The feeding task information includes: production unit number, starting point coordinate, terminal coordinate, task state, generation time and latest unloading time, wherein the latest unloading time is the time window of the feeding task, and if the production unit is not replenished with raw materials after the time, the production unit will be out of stock and unable to produce, and the feeding task is overtime.

[0019] Step 4.2, initialize the list of output tasks to be allocated output_list according to the production cell basic information defined in step 2, the initialization basis is that the number of output buffers is greater than or equal to the output trigger point. The output task information includes: production cell number, start point coordinates, end point coordinates, task status, generation time, and the latest loading time, wherein the latest loading time is the time window of the output task, and if the material box of the output port is not moved after the time, the newly produced parts cannot be unloaded, the material box is loaded to the limit, and the material overflows, and the output task is overdue.

[0020] Step 4.3, initialize the empty box replenishment task list box_list to be allocated according to the production cell information defined in step 2, and the initialization basis is that the AGV itself needs to have a certain number of empty boxes at all times. The empty box replenishment task information includes: start point coordinates, end point coordinates, task status, and generation time.

[0021] Step 5, according to the to-be-allocated task lists feed_list, output_list, and box_list generated in step 4, the tasks are decomposed into specific task steps taskstep_list, the feeding task steps: taking a real material box, and unloading a real material box. The output task steps: taking a real material box while putting an empty box, and unloading a real material box. The empty box replenishment task steps: taking an empty box. The task step taskstep_list information includes: task number, step type, start point coordinates, and target point coordinates.

[0022] Step 6, according to the AGV basic information defined in step 2 and the to-be-allocated task step list taskstep_list generated in step 5, the tasks are evenly allocated to multiple AGVs in a time-polling manner, the single AGV internally executes the task steps in sequence, and the minimum walking path is obtained from step 3 route_list according to the task start point coordinates and end point coordinates, which is recorded as the initial solution solution_raw.

[0023] Step 7, using the adaptive large neighborhood search (ALNS) algorithm and the simulated annealing algorithm, the optimal solution of multiple AGVs executing the taskstep_list in the current time domain is solved

[0024] Step 7.1, set the initial temperature T of simulated annealing, the target temperature T a , and the iteration update factor weight after n iterations. Complete one annealing iteration. The initial solution solution_raw generated in step 6 is used as the current solution solution_curr as the initial input of the algorithm.

[0025] Step 7.2, select one destroy operator and one reconstruction operator in roulette, get a new solution solution_new by destroying the current solution and reconstructing. Calculate the cost of solution_curr by the objective function goal_curr, calculate the cost of solution_new by the objective function goal_new, if goal_new is less than goal_curr, consider the new solution better than the current solution. The new solution is used as the current solution for the next iteration. To avoid falling into local optimization, when the new solution is worse than the current solution, accept the new solution as the current solution for the next iteration with a certain probability e.

[0026] Objective function:

[0027]

[0028] The primary goal is to achieve the lowest timeout rate of the unloading task on multiple production units, the lowest average timeout time of the timeout task, and the secondary goal is to achieve the shortest average task distance of AGV walking. In the objective function formula, the weighted coefficients of the three items are αβχ, the primary goal α is the highest, to reduce the timeout rate as much as possible, β is the second, to reduce the side effects of task timeout as much as possible, χ is the lowest, to reduce the AGV walking distance and improve the AGV efficiency under the condition of meeting the primary goal.

[0029] Step 7.3, update the simulated annealing temperature, reduce the annealing temperature by a certain proportion p.

[0030] Step 7.4, update the score of the operator, if the new solution solution_new is accepted in step 7.2, the corresponding destroy operator and reconstruction operator get 2 points, otherwise get 1 point.

[0031] Step 7.5, design a random destroy operator Destroy1, randomly remove a certain number of task steps from the current solution solution_curr. Design the path farthest destroy operator Destroy2, remove the two longest path tasks from each AGV in the current solution solution_curr.

[0032] Step 7.6, design a random reconstruction operator Reconstruction1, randomly insert the task steps removed in step 7.2 back into the current solution, while meeting the quantization restriction condition. Design the path minimum reconstruction operator Reconstruction2, insert the task steps removed in step 7.2 back into the current solution with the minimum path AGV, while meeting the algorithm quantization restriction condition.

[0033] Quantization restriction condition:

[0034] The number of boxes cached by the AGV cannot exceed the capacity of the rack:

[0035] A ic ≤c

[0036] AGV must take goods before delivery, and must be the same AGV:

[0037] T iss ≤T iee

[0038] AGV total time to take and put goods should meet the task time window, otherwise it is considered overtime:

[0039] T iss ≤T is T iee ≤T ie

[0040] AGV take and put goods path must be within the given calculation path:

[0041] L ij ∈r rj

[0042] AGV to perform predictive task to take goods arrival time waiting time is less than the set value:

[0043] (N-T sp )-(d ij / n)<t3

[0044] Where n represents the total number of tasks, m represents the total number of AGVs, c represents the number of AGV buffer rack locations, i represents the task number, P represents the set of logistics points, L ij represents the real-time coordinates of AGV, A ic represents the number of AGV car load boxes, T represents the task set, T d represents the completed task set, T is represents the latest pickup time of the task, T ie represents the latest unloading time of the task, T iss represents the actual AGV pickup completion time, T iee represents the actual AGV put-in completion time, d ij represents the equivalent distance between the pickup point and the delivery point, r ij represents the path between the pickup point and the delivery point, s represents the average AGV walking speed, r represents the AGV turning equivalent distance coefficient, t1 represents the AGV execution of ordinary goods consumption time, t2 represents the AGV execution of loading and unloading action time.

[0045] Step 8, repeat step 7, annealing temperature to the set value T a, denoted as a single iteration. The operator score is reset after every n iterations. After iterating to a set number of times, the loop terminates, obtaining the optimal solution in the current time domain, and outputting the AGV allocation scheme for multiple AGVs to execute multiple loading and unloading tasks; the execution order of the AGV for loading and unloading steps and the start and end coordinates of each step, and the list of coordinate points from the start to the end of the minimum path;

[0046] Step 9: The t0 time domain optimal solution obtained in the above steps is submitted to the AGV for execution, and the task execution status is updated in real time.

[0047] Step 10: The next time domain t1, repeat steps 4 to 9, the calculation range includes newly generated tasks in the t0-t1 time domain, and also includes tasks that have not been executed. Roll over and dynamically recalculate the optimal solution of all uncompleted tasks in the current time domain according to the AGV state and task execution.

[0048] A computer readable storage medium having a computer program stored thereon, the computer program being executable by a processor to implement the steps of the rack AGV multi-production unit loading and unloading scheduling method.

[0049] A rack AGV multi-production unit loading and unloading scheduling system, the system comprising a computer and a computer readable storage medium as claimed in the present application.

[0050] Compared with the prior art, the present application has the following beneficial effects:

[0051] (1) The present application can calculate the AGV path with the lowest loading and unloading task overtime rate, and the AGV walking path is relatively the shortest, which can respond to emergency insertion tasks in time, the task overtime rate is reduced by 80% compared with the traditional scheduling method, and the average task path distance is reduced by 30%;

[0052] (2) The present application can adapt to multiple production units and multiple automated warehouse loading and unloading scenarios under complex layout;

[0053] (3) The present application can adjust the path scheme in the next time domain in time when the AGV fails, charges, etc., to ensure production continuity and overall path optimization;

[0054] (4) The present application supports the scheduling of predictive tasks, allows the AGV to wait for a certain time at the specified task location under the condition of meeting the constraints, and actually executes after the predictive task is converted to an actual task, which is more intelligent;

[0055] (5) By adjusting the number of AGVs, production unit layout, and production unit parameters, the optimal solution can be obtained through multiple calculations to guide the project planning in the early stage;

[0056] (6) The execution efficiency of the present application, the actual execution speed of the algorithm is greatly improved compared with genetic algorithm, ant colony algorithm and annealing algorithm, and the real-time performance is better. BRIEF DESCRIPTION OF DRAWINGS

[0057] Figure 1 : EXCEL electronic map, in which red represents the feeding port, blue represents the discharging port, and gray represents the AGV path point. The character in the path point represents the direction in which the AGV can run.

[0058] Figure 2 : AGV path point running direction definition schematic diagram.

[0059] Figure 3 : Electronic map schematic diagram.

[0060] Figure 4 : Rolling horizon method for disassembling dynamic loading and unloading task schematic diagram.

[0061] Figure 5 : Schematic diagram of the overall idea of calculating the optimal path.

[0062] Figure 6 : ALNS algorithm module flow chart. DETAILED DESCRIPTION

[0063] The present application will be further described below in conjunction with the drawings and by way of examples.

[0064] EMBODIMENT

[0065] As shown in Figure 1 and Figure 2 , a workshop contains multiple production units, cleaning lines and a set of three-dimensional warehouses. The calculation basis of the present application is an electronic map, that is, the layout of the physical factory production unit, the feeding and discharging position, the initial position of the AGV and the AGV walking path are abstracted and simplified to be structured map data recognizable by the computer. Because the actual layout is different, EXCEL is used as an input carrier, and the production unit feeding and discharging position coordinates, AGV initial position coordinates and AGV path point coordinates are generated according to the conversion ratio of 1 meter*1 meter actual space corresponding to 1 excel unit. The AGV path is marked by multiple excel units, and the passability of the path point coordinates in four directions is marked in the cell, which is convenient for subsequent calculation of the optimal path of the AGV.

[0066] Referring to Figure 4-Figure 6 , the specific implementation steps of the rack type AGV multi-production unit feeding and discharging scheduling method of the present embodiment are as follows:

[0067] Step 1, the production unit layout of the physical factory, the loading and unloading position coordinate points, the AGV initial position coordinate points, and the AGV walking path are processed and converted into structured electronic map data recognizable by a computer. The generated electronic map is as shown in Figure 3

[0068] Step 2, initialize the production unit basic information, including production unit type, production speed, loading buffer quantity, loading trigger point, unloading buffer quantity, unloading trigger point, and single loading quantity. Initialize AGV information, including AGV quantity, enable state, initial position coordinate point, and storage number. Specific information is shown in the table below.

[0069] Production unit coordinates

[0070] Production unit Type Feeding point coordinates Discharging point coordinates PU1 Waterwheel special machine 65,24 77,24 PU2 Discharging machine 79,15 91,15 PU3 Forming machine 73,40 81,42 PU4 Six-axis special machine 73,54 81,56 CLEAN1 Cleaning line 33,32 -- W1 Warehouse discharge port -- 57,38

[0071] AGV information

[0072] AGV number Status Starting coordinates Current coordinates Number of storage locations 1#Agv Normal 49,28 -- 7 2#Agv Normal 49,30 -- 7 3#Agv Normal 49,32 -- 7

[0073] Production unit information table

[0074] Production unit Type Production speed Feeding trigger Discharging trigger Feeding quantity PU1 Waterwheel 65,24 200 500 1000 PU2 Discharging machine 79,15 100 500 1000 PU3 Forming machine 73,40 50 400 800 PU4 Six-axis 73,54 120 360 600

[0075] Step 3, according to the loading and unloading position coordinate points defined in step 1, the AGV initial position coordinate points, and the AGV walking path, the traditional path planning A* algorithm is used to solve the minimum path between any two coordinate points, forming a path list route_list, as shown in the table below.

[0076] Path list example

[0077]

[0078]

[0079] Step 4, the current starting point as the initial time domain t0, generate the initial time domain task list.

[0080] Step 4.1, according to the production unit basic information defined in step 2, initialize the to-be-assigned loading task list feed_list, and the initialization basis is that the loading buffer quantity is equal to or less than the loading trigger point. The loading task information includes: production unit number, starting point coordinate, end point coordinate, task state, generation time, and latest unloading time, wherein the latest unloading time is the time window of the loading task, and if the production unit is not replenished with raw materials after this time, the production unit will be out of stock and unable to produce, and the loading task will be overdue.

[0081] ​Step 4.2, initialize the list of feeding tasks to be allocated output_list according to the production unit basic information defined in step 2, and initialize the basis that the number of feeding buffers is greater than or equal to the feeding trigger point. The feeding task information includes: production unit number, start point coordinate, end point coordinate, task state, generation time, and latest loading time, wherein the latest loading time is the time window of the feeding task, and if the feeding task is not completed within the time window, the newly produced parts cannot be unloaded, the material in the feeding bin will overflow after reaching the loading limit, and the feeding task will be overdue.

[0082] Step 4.3, initialize the empty box replenishment task list box_list to be allocated according to the production unit information defined in step 2, and initialize the basis that the AGV itself needs to have a certain number of empty boxes at all times. The empty box replenishment task information includes: start point coordinate, end point coordinate, task state, and generation time, and the task list is shown in the following table. Task list in a certain time domain

[0083]

[0084] Step 5, according to the task lists feed_list, output_list, and box_list generated in step 4, the tasks are divided into specific task steps taskstep_list, the feeding task steps: taking a real material box, and unloading a real material box. The feeding task steps: taking a real material box and putting an empty box, and unloading a real material box. The empty box replenishment task steps: taking an empty box. The task step taskstep_list information includes: task number, step type, start point coordinate, and target point coordinate.

[0085] Step 6, according to the AGV basic information defined in step 2 and the task step list taskstep_list generated in step 5, the tasks are evenly distributed to multiple AGVs in a time-polling manner, and the tasks are executed in sequence within a single AGV. According to the task start point coordinate and end point coordinate, the minimum walking path is obtained from step 3 route_list, which is recorded as the initial solution solution_raw, as shown in the following table.

[0086]

[0087]

[0088] Step 7, using the adaptive large neighborhood search (ALNS) algorithm and the simulated annealing algorithm, the optimal solution of multiple AGVs executing the taskstep_list in the current time domain is solved

[0089] Step 7.1, set the initial temperature T of simulated annealing, and the target temperature T a, n times of iteration, update factor weight. Complete once annealing as an iteration. Step 6, the initial solution solution_raw generated in step 6 is used as the current solution solution_curr as the initial input of the algorithm.

[0090] Step 7.2, select a destroy operator and a reconstruction operator in a roulette way, get a new solution solution_new by destroying the current solution and reconstructing. Calculate the cost of solution_curr goal_curr by the objective function, calculate the cost of solution_new goal_new by the objective function, if goal_new is less than goal_curr, consider that the new solution is better than the current solution. The new solution is used as the current solution of the next round of iteration. In order to avoid falling into local optimum, when the new solution is worse than the current solution, accept the new solution as the current solution of the next round of iteration with a certain probability e.

[0091] Objective function:

[0092]

[0093] The primary goal is to achieve the lowest timeout rate of the unloading task on multiple production units, and the lowest average timeout time of the timeout task. The secondary goal is to make the average task distance of AGV walking shortest. In the objective function formula, the weighted coefficients of the three items are αβχ, respectively. The primary goal α is the highest, in order to reduce the timeout rate as much as possible, β is the second, in order to reduce the side effects of task timeout as much as possible, χ is the lowest, to reduce the AGV walking distance and improve the AGV efficiency under the condition of meeting the primary goal.

[0094] Step 7.3, update the simulated annealing temperature, reduce the annealing temperature by a certain proportion p.

[0095] Step 7.4, update the score of the operator. If the new solution solution_new is accepted in step 7.2, the corresponding destroy operator and reconstruction operator get 2 points, otherwise get 1 point.

[0096] Step 7.5, design a random destroy operator Destroy1, which randomly removes a certain number of task steps from the current solution solution_curr. Design the farthest path destroy operator Destroy2, which removes the longest 2 task steps from each AGV in the current solution solution_curr.

[0097] Step 7.6, design a random reconstruction operator Reconstruction1, randomly insert the removed task steps in step 7.2 back into the current solution while meeting the constraint conditions. Design a path minimum reconstruction operator Reconstruction2, select the path minimum AGV to insert the removed task steps in step 7.2 back into the current solution while meeting the algorithm quantization constraint conditions.

[0098] Quantization constraint conditions:

[0099] The number of boxes cached by the AGV cannot exceed the capacity of the rack:

[0100] A ic ≤c

[0101] AGV must pick up goods before delivery, and must be the same AGV:

[0102] T iss ≤T iee

[0103] The total AGV pick-up and drop-off time should meet the task time window, otherwise it is considered as overtime:

[0104] T iss ≤T is T iee ≤T ie

[0105] The AGV pick-up and drop-off path must be within the given calculation path:

[0106] L ij ∈r rj

[0107] When AGV performs predictive pick-up tasks, the arrival time at the pick-up point and the waiting time are less than a set value:

[0108] (N-T sp )-(d ij / n)<t3

[0109] Where n represents the total number of tasks, m represents the total number of AGVs, c represents the number of AGV cache rack positions, i represents the task number, P represents the set of logistics points, L ij represents the real-time coordinates of the AGV, A ic represents the number of loaded boxes on the AGV, T represents the task set, T d represents the completed task set, T is represents the latest pick-up time of the task, T ie represents the latest drop-off time of the task, T iss represents the actual pick-up completion time of the AGV, T iee represents the actual drop-off completion time of the AGV, dij denotes the equivalent distance between the pickup point and the delivery point, r ij denotes the path between the pickup point and the delivery point, s denotes the average running speed of the AGV, r denotes the equivalent distance coefficient of the AGV turning, t1 denotes the time consumed by the AGV to perform the ordinary loading, and t2 denotes the time consumed by the AGV to perform the feeding and discharging action.

[0110] Step 8, repeat step 7, annealing temperature reaches the set value T a , denoted as one iteration. Reset the operator score after every n iterations. After iterating to the set number of times, the loop is terminated, the optimal solution under the current time domain is obtained, and the AGV allocation scheme for multiple AGVs to perform multiple feeding and discharging tasks is output; the execution sequence of the AGV to perform the loading and unloading steps and the start and end coordinates of each step are submitted to the specific path coordinates of the AGV for execution, which are taken out from the route_list. The optimal solution is shown in the following table.

[0111] Optimal solution under the current time domain

[0112] AGV Step Task Task step Path cost Starting point End point 1 0 4205 Loading 41 49,28 57,38 1 1 4205 Unloading 63 57,38 79,24 1 2 4210 Loading 44 79,24 62,38 1 3 4207 Loading 103 62,38 91,70 1 4 4207 Unloading 172 91,70 40,32 2 0 4206 Loading 58 49,30 64,38 2 1 4211 Loading 3 64,38 64,38 2 2 4206 Unloading 96 64,38 83,68 2 3 4211 Unloading 126 83,68 51,24 3 0 4208 Loading 56 49,32 64,38 3 1 4214 Loading 21 64,38 57,38 3 2 4212 Loading 23 57,38 62,38 3 3 4212 Unloading 55 62,38 65,15 3 4 4209 Loading 158 65,15 9,42 3 5 4213 Loading 158 9,42 77,15 3 6 4209 Unloading 103 77,15 40,32 3 7 4213 Unloading 37 40,32 33,32

[0113] Step 9, the optimal solution of t0 time domain obtained in the above steps is submitted to the AGV for execution, and the task execution state is updated in real time.

[0114] Step 10, the next time domain t1, repeat steps 4 to 9, the calculation range includes the newly generated tasks in the t0-t1 time domain, and also includes the task steps that have not been completed. Roll execution, dynamically calculate the optimal solution of all uncompleted tasks under the current time domain according to the AGV state and the task execution.

[0115] Taking a single automated factory of a large discrete manufacturing enterprise as an example, the actual operation data of 5 production calendar days is analyzed, and the operation results of the scheduling method of the present application compared with the traditional scheduling method are compared and illustrated. The factory is equipped with 56 sets of different types of production units and 8 rack type AGVs. Under the condition of fixed product specifications and processes, the operation performance according to the scheduling method of the present application is compared with the operation data in the target production period using the scheduling method of the present application. The feeding and discharging task parameters and efficiency indexes are shown in the following table:

[0116]

Claims

1. A material rack type AGV multi-production unit loading and unloading scheduling method, characterized in that: The method includes (1) Clarify scheduling objectives The scheduling objectives include: the lowest overtime rate of loading and unloading tasks in multiple production units; the lowest average overtime time of overtime tasks; the shortest average task distance of AGV travel; (2) Quantitative constraints The restrictions include: the number of boxes cached by the AGV cannot exceed the capacity of the rack; the AGV must pick up boxes from the starting point of the task and unload boxes at the end of the task, and it must be the same AGV; the total time for the AGV to pick up and unload boxes must meet the task time window, otherwise it will be considered a timeout; when the AGV performs the loading step, the cache rack has at least one free position; when the AGV performs the unloading step, the cache rack has at least one empty box and one free cache position; if the time window allows, the AGV can load multiple boxes into its own cache rack at the same time and choose the appropriate time to unload; (3) Solving the optimal path for AGV The solution to the AGV optimal path includes: an AGV allocation plan for multiple AGVs to perform multiple loading and unloading tasks; the order in which the AGVs perform loading and unloading steps and the start and end coordinates of each step, and a list of minimum path coordinate points from the start point to the end point.

2. The method according to claim 1, characterized in that The specific steps include: Step 1: Convert the loading and unloading position coordinates, the AGV initial position coordinates, and the AGV travel path into structured electronic map data that can be recognized by a computer; Step 2: Initialize the basic information of the production unit and AGV information; Step 3: Based on the loading and unloading position coordinate points, AGV initial position coordinate points, and AGV walking path defined in step 1, the traditional path planning A* algorithm is used to solve the minimum path between any two coordinate points to form a path list route_list; Step 4: The current starting point is used as the initial time domain t0, and a task list is generated for the initial time domain, including: Step 4.1: Initialize the feed task list feed_list based on the basic information of the production unit defined in step 2. The initialization is based on the fact that the feed buffer quantity is equal to or less than the feed trigger point. The feed task information includes: production unit number, starting point coordinates, end point coordinates, task status, generation time, and latest unloading time. The latest unloading time is the time window of the feed task. If the production unit is not replenished with raw materials after this time, the production unit will be out of material and unable to produce, and the feed task will time out. Step 4.2: Initialize the unloading task list output_list to be assigned based on the basic information of the production unit defined in step 2. The initialization is based on the fact that the number of unloading buffers is greater than or equal to the unloading trigger point. The unloading task information includes: production unit number, starting point coordinates, end point coordinates, task status, generation time, and latest loading time. The latest loading time is the time window of the unloading task. If the unloading port bin is not moved after this time, the newly produced parts cannot be unloaded. If the bin reaches the loading limit and material overflows, the unloading task will time out. Step 4.3: Initialize the list of empty box replenishment tasks to be assigned, box_list, based on the production unit information defined in step 2. The initialization is based on the fact that the AGV itself needs to have a certain number of empty boxes on hand. The empty box replenishment task information includes: starting point coordinates, end point coordinates, task status, and generation time. Step 5: Based on the task lists to be assigned (feed_list, output_list, and box_list) generated in step 4, the task is decomposed into specific task steps (taskstep_list). The loading task steps are to take a full material box and unload a full material box; the unloading task steps are to take a full material box and simultaneously place an empty box and unload a full material box; the empty box replenishment task step is to take an empty box; the task step (taskstep_list) information includes the task number, step type, starting point coordinates, and target point coordinates. Step 6: Based on the AGV basic information defined in step 2 and the task step list to be assigned ( taskstep_list ) generated in step 5, the task is evenly distributed to multiple AGVs using a time-based round-robin approach. Each AGV executes the task steps sequentially internally and obtains the minimum travel path from step 3 ( route_list ) based on the task start and end coordinates. This is recorded as the initial solution ( solution_raw ). Step 7: Use the adaptive large-scale neighborhood search ALNS algorithm and simulated annealing algorithm to find the optimal solution for multiple AGVs to execute taskstep_list in the current time domain; Step 8: Repeat step 7 until the annealing temperature reaches the set value T a , recorded as one iteration, the operator score is reset after every n iterations, and the loop terminates after the set number of iterations. The optimal solution in the current time domain is obtained, and the AGV allocation plan for multiple AGVs to perform multiple loading and unloading tasks is output; the order in which the AGVs perform loading and unloading steps and the coordinates of the starting and ending points of each step, and the list of coordinate points of the minimum path from the starting point to the end point; Step 9: The optimal solution in the time domain t0 is submitted to the AGV for execution, and the task execution status is updated in real time; Step 10: Repeat steps 4 to 9 for the next time domain t1. The calculation range includes the newly generated tasks in the time domain t0-t1, as well as the task steps that have not yet been completed.

3. The method according to claim 2, characterized in that Step 10 also includes: Rolling execution dynamically recalculates the optimal solution for all unfinished tasks in the current time domain based on the AGV status and task execution status.

4. The method according to claim 2, characterized in that Step 7 also includes: Step 7.1, set the simulated annealing initial temperature T and target temperature T a , update the factor weights after n iterations; completing one annealing is counted as one iteration; the initial solution solution_raw generated in step 6 is used as the current solution solution_curr and is used as the initial input of the algorithm; Step 7.2: Select a destruction operator and a reconstruction operator in a roulette wheel manner. By destroying the current solution and reconstructing it, a new solution solution_new is obtained. The cost goal_curr of solution_curr is calculated using the objective function, and the cost goal_new of solution_new is calculated using the objective function. If goal_new is less than goal_curr, the new solution is considered better than the current solution. The new solution is used as the current solution for the next iteration. If the new solution is worse than the current solution, the new solution is accepted as the current solution for the next iteration with a certain probability e. Step 7.3, update the simulated annealing temperature and reduce the annealing temperature by a certain ratio p; Step 7.4: Update the operator scores. If the new solution solution_new is accepted in step 7.2, the corresponding destroy operator and rebuild operator will get 2 points, otherwise they will get 1 point. In step 7.5, a random destruction operator Destroy1 is designed to randomly remove a certain number of task steps from the current solution solution_curr. A maximum path destruction operator Destroy2 is designed to remove the two longest task steps from the current solution solution_curr for each AGV. In step 7.6, a random reconstruction operator Reconstruction1 is designed to randomly insert the task steps removed in step 7.2 back into the current solution, while satisfying the quantitative constraints. A minimum path reconstruction operator Reconstruction2 is designed to select an AGV with the minimum path for the task steps removed in step 7.2 and insert it back into the current solution, while satisfying the algorithm quantitative constraints.

5. The method according to claim 3, characterized in that The objective function is: The primary goal is to achieve the lowest overtime rate of loading and unloading tasks of multiple production units and the lowest average overtime time of overtime tasks, and the secondary goal is to achieve the shortest average task distance of AGV. Reflected in the objective function formula, the weighted coefficients for achieving the lowest overtime rate of loading and unloading tasks of multiple production units, the lowest average overtime time of overtime tasks and the shortest average task distance of AGV are αβχ respectively. The primary goal α is the highest, so as to reduce the overtime rate as much as possible, β is the second, so as to reduce the side effects caused by task timeout as much as possible, and χ is the lowest, so as to reduce the AGV travel distance and improve AGV efficiency while meeting the primary goal.

6. The method according to claim 2, characterized in that In step 2: The basic information includes the production unit type, production speed, loading buffer quantity, loading trigger point, unloading buffer quantity, unloading trigger point and single loading quantity.

7. The method according to claim 2, characterized in that In step 2: The AGV information includes the number of AGVs, activation status, initial position coordinates, and the number of cargo spaces.

8. The method according to any one of claims 1 to 7, characterized in that The quantitative constraints also include: The number of boxes cached by the AGV cannot exceed the rack capacity: Ai c ≤c The AGV must first pick up the goods and then deliver them, and it must be the same AGV: T iss ≤T iee The total time for AGV to pick up and release goods should meet the task time window, otherwise it will be considered as timeout: T iss ≤T is T iee ≤T ie The AGV pick-up and delivery path must be within the given calculated path: L ij ∈r rj When the AGV performs a predictive pickup task, the waiting time at the pickup point is less than the set value: (NT sp )-(d ij / n)<t3; Where: n represents the total number of tasks, m represents the total number of AGVs, c represents the number of AGV cache racks, i represents the task number, P represents the logistics point set, L ij Indicates the real-time coordinates of AGV, A ic represents the number of AGV cargo boxes, T represents the task set, T d Represents the set of completed tasks, T is Indicates the latest pickup time for the task, T ie Indicates the latest unloading time of the task, T iss Indicates the actual completion time of AGV picking up goods, T iee Indicates the actual delivery completion time of AGV, d ij Represents the equivalent distance between the pickup point and the delivery point, r ij It represents the path between the pickup point and the delivery point, s represents the average speed of the AGV, r represents the equivalent turning distance coefficient of the AGV, t1 represents the time it takes for the AGV to perform normal loading, and t2 represents the time it takes for the AGV to perform loading and unloading.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that: The computer program can be executed by a processor to implement the steps of a rack-type AGV multi-production unit loading and unloading scheduling method as described in any one of claims 1-8.

10. A rack-type AGV multi-production unit loading and unloading scheduling system, characterized in that: The system includes a computer and a computer-readable storage medium according to claim 9.

Citation Information

Patent Citations

  • Waste smoke recovery method based on multi-AGV time window path optimization algorithm

    CN111474926A

  • Material box scheduling method and device, scheduling equipment, warehousing system and storage medium

    CN114549263A

  • AGV unmanned warehouse equipment optimization configuration method

    CN115481897A

  • Systems and methods for home position and cart acquisition with a materials handling vehicle

    US20170334645A1

Cited By

  • Workpiece sorting and framing method, device and equipment and workpiece sorting and framing system

    CN121589825A