Scheduling method and device for integrating multiple types of equipment on multiple floors

By proposing a scheduling method that integrates multiple floors and multiple equipment in the vehicle scheduling system, the problems of low allocation efficiency of cross-floor transportation tasks and poor data interoperability are solved, and efficient multi-equipment collaborative operation and logistics distribution efficiency are achieved.

CN119472534APending Publication Date: 2025-02-18TIANJIN AEROSPACE ELECTROMECHANICAL EQUIP RES INST
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202411544323.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-31
Publication Date
2025-02-18

AI Technical Summary

Technical Problem

When the existing vehicle dispatching system integrates multiple floors and multiple equipment, it is difficult to efficiently handle the task allocation of cross-floor transportation, resulting in low efficiency in transportation task execution, and poor data interoperability between equipment systems on different floors, resulting in traffic congestion and logistics efficiency reduction. .

Method used

A scheduling method integrating multiple floors and multiple devices is proposed. By receiving the overall task information and decomposing it into sub-tasks, dynamic traffic management points are analyzed based on the equipment status information, equipment task allocation and execution are optimized, and the order execution and data between sub-tasks are ensured. Interconnection.

Benefits of technology

It improves the overall operation efficiency and flexibility of the vehicle scheduling system, ensures coordinated operations between multiple floors and multiple equipment, solves the problem of incompatibility in task handling during cross-floor transportation, and improves logistics and distribution efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119472534A_ABST
    Figure CN119472534A_ABST
Patent Text Reader

Abstract

The invention provides a scheduling method and device for integrating multiple floors and multiple devices, and the method comprises the following steps: receiving overall task information, and decomposing the overall task information into a plurality of subtasks according to a starting point location and an ending point location; each subtask comprises a sequence number, an equipment type, a completion state and an influence factor; the influence factor is used for determining whether the subtask of the next sequence number can be executed or not; the equipment comprises AGV equipment and connecting equipment for connecting two floors; receiving state information fed back by the equipment, analyzing a dynamic traffic management point between the subtasks according to the state information, obtaining an advancing / stopping state and an advanceable point location, and issuing the advancing / stopping state and the advanceable point location to each piece of target equipment; the state information comprises a device type, a device IP, a running state and a task completion state. According to the invention, collaborative operation requirements among multiple floors and multiple devices can be fully considered, and the overall operation efficiency and flexibility of the device scheduling system are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to the technical field of vehicle dispatching, and in particular to a dispatching method and device integrating multiple floors and multiple equipment. Background Art

[0002] In modern logistics and manufacturing, vehicle dispatching systems play a vital role. With the development of automation technology, more and more companies are using multi-AGV, multi-lift, multi-elevator and other equipment to carry out material handling and transfer. Materials usually need to be transported between multiple floors, so an efficient dispatching software is needed to manage their operation.

[0003] However, there are shortcomings in the current dispatching system software when integrating multiple devices on multiple floors. First, some software cannot effectively handle the task allocation between multiple devices during cross-floor transportation, resulting in the inefficient allocation and execution of transportation tasks. Second, if there are different types of equipment on different floors, using multiple different dispatching systems will result in data not being able to communicate between systems, which will cause traffic jams and reduce the efficiency of logistics distribution.

[0004] Therefore, there is a need for an efficient scheduling software that can fully consider the collaborative operation requirements between multiple floors and multiple devices to improve the overall operating efficiency and flexibility of the vehicle scheduling system. Summary of the invention

[0005] In view of this, the invention aims to propose a scheduling method and device integrating multiple floors and multiple devices, which can not only solve the problem of low efficiency in timing task processing of multiple floors and multiple devices in the same system, but also solve the problem of incompatibility of task processing of the same scheduling system during cross-floor transportation.

[0006] To achieve the above object, the technical solution created by the present invention is implemented as follows:

[0007] The scheduling method integrating multiple floors and multiple devices is characterized by comprising the following steps:

[0008] Receive overall task information, and decompose the overall task information into several subtasks according to the starting point and the end point; the subtasks include sequence number, equipment type, completion status, and impact factor; the impact factor is used to determine whether the subtask with the next sequence number can be executed; the equipment includes AGV equipment and connection equipment connecting two floors;

[0009] Receive the status information fed back by the device, parse the dynamic intersection points between subtasks according to the status information, obtain the points that can be advanced and the advance / stop status, and then send them to each target device; the status information includes device type, device IP, operating status, and task completion status; the dynamic intersection points are points with path conflicts.

[0010] Furthermore, the scheduling method for integrating multiple floors and multiple devices also includes data initialization; the data initialization includes: configuring the map, floor and device information;

[0011] Maps, floors and devices are associated through IDs; the map ID is associated with the IDs of multiple floors, and the ID of a floor is associated with the IDs of multiple AGV devices on that floor; the ID of the connection device shared by two floors is associated with the ID of the lower floor of the two floors.

[0012] Furthermore, the sequence number is used as a priority factor between subtasks belonging to the same overall task, and the smaller the sequence number, the higher the priority.

[0013] Further, the step of receiving the state information fed back by the device, parsing the dynamic intersection points between the subtasks according to the state information, obtaining the points that can be advanced and the advance / stop state and then sending them to each target device includes:

[0014] Read device status information;

[0015] Polling all the subtasks, finding the subtasks that are not assigned device numbers, and assigning the subtasks to the target devices according to the state information and the set principle;

[0016] Analyze the subtasks to calculate the device's forward position and dynamic traffic control point;

[0017] Send the point number to each target device.

[0018] Furthermore, the step of receiving the status information fed back by the device, parsing the dynamic intersection points between subtasks according to the status information, obtaining the forwardable points and the forward / stop status and then sending them to each target device includes: counting the total time for processing the status information and subtasks of each target device, and using the asynchronous thread pool mode for processing when the total time exceeds the set threshold.

[0019] Furthermore, the impact factor includes 0 and 1. When the impact factor is 0, the subtask with the next sequence number continues to be executed, and when the impact factor is 1, the task ends;

[0020] The method for setting the impact factor includes:

[0021] The AGV fault type FaultType is divided into Error fault, Warning fault and other faults. The AGV fault value f(FaultType) is determined by the value of FaultType:

[0022]

[0023] Setting: In case of drive device failure, sensor failure, power supply and charging device failure, FaultType is equal to Error;

[0024] In the case of a stop after an emergency stop, a stop after an obstacle is detected, or a stop when no forward driving command is received, FaultType is equal to Warning;

[0025] When other fault instructions are received and cannot be defined as Error or Warning faults, FaultType is equal to otherwise.

[0026] as well as:

[0027] S2.0 determines whether the subtask has been assigned to a device;

[0028] If yes, it means that there is already a device executing this subtask, and the process goes to S2.1;

[0029] If not, it means that the current subtask has not been assigned a device, and then go to S2.12 to find out whether there is a device that can execute the subtask according to the device type and floor number;

[0030] S2.1 determines whether the device is online;

[0031] If yes, it means that the device can execute the subtask online, and the process goes to S2.2;

[0032] If not, go to S2.12;

[0033] S2.2 determines whether the device is in the scheduling mode;

[0034] If yes, it means that the device can be scheduled to execute the subtask, and the process goes to S2.3;

[0035] If not, go to S2.10;

[0036] S2.3 Wait for the device to feedback the task completion status;

[0037] S2.4 determines whether the completion status is task completion;

[0038] If yes, go to S2.9;

[0039] If not, check whether the completion status is task abnormal, and go to S2.5;

[0040] S2.5 Determine whether the device is faulty;

[0041] If yes, go to S2.6;

[0042] If not, it means that the device executes the subtask normally and enters S2.9;

[0043] S2.6 determines whether f(FaultType) is equal to 0;

[0044] If so, it means that the fault of the device can be repaired, and the process goes to S2.8;

[0045] If not, go to S2.7;

[0046] S2.7 determines whether f(FaultType) is equal to 1;

[0047] If yes, it means the device failure cannot be repaired, and the impact factor is set to 1;

[0048] If not, f(FaultType) is equal to otherwise, indicating that it is uncertain whether the device fault can be repaired, and the process goes to S2.8;

[0049] S2.8 determines whether the time taken to correct the fault of the online device has exceeded the time limit;

[0050] If yes, it means that the device cannot repair the fault within the specified time, and the impact factor is set to 1;

[0051] If not, go to S2.9;

[0052] S2.9 determines whether the device has reached the end position;

[0053] If yes, it means that the device has successfully reached the end position and completed the subtask, and the impact factor is set to 0;

[0054] If not, set the impact factor to 1;

[0055] S2.10 delay 30s;

[0056] S2.11 determines whether the scheduling mode is met for 5 times;

[0057] If yes, go to S2.12;

[0058] If not, return to S2.2;

[0059] S2.12 polls all devices on the current floor;

[0060] S2.14 determines whether there is a device online;

[0061] If yes, go to S2.15;

[0062] If not, continue to poll the next device and enter S2.12;

[0063] S2.15 determines whether the online device is in scheduling mode;

[0064] If yes, go to S2.16;

[0065] If not, continue to poll the next device and enter S2.12;

[0066] S2.16 determines whether the device is closest to the starting point;

[0067] If yes, go to S2.17;

[0068] If not, continue to poll the next device and enter S2.12;

[0069] S2.17 Determine whether the equipment is loaded with cargo;

[0070] If yes, continue to poll the next device and enter S2.12;

[0071] If not, go to S2.18;

[0072] S2.18 determines whether the device has any movement or other actions;

[0073] If yes, continue to poll the next device and enter S2.12;

[0074] If not, the device is allocated to the subtask and the process goes to S2.3.

[0075] A dispatching device integrating multiple floors and multiple devices, characterized by comprising:

[0076] The task receiving and decomposing module is used to receive the overall task information and decompose the overall task information into several subtasks according to the starting point and the ending point;

[0077] The task processing module is used to receive the status information fed back by the device, analyze the dynamic intersection points between subtasks according to the status information, obtain the points that can be advanced and the advance / stop status, and then send them to each target device.

[0078] An electronic device comprises a processor and a memory which is in communication with the processor and is used to store instructions executable by the processor, wherein the processor is used to execute the above-mentioned scheduling method and device integrating multiple devices on multiple floors.

[0079] A server includes at least one processor and a memory connected to the processor in communication, wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the processor so that the at least one processor executes the above-mentioned scheduling method and device integrating multiple floors and multiple devices.

[0080] A computer-readable storage medium stores a computer program, which, when executed by a processor, implements the above-mentioned scheduling method and device integrating multiple floors and multiple devices.

[0081] Compared with the prior art, the scheduling method and device for integrating multiple devices on multiple floors created by the present invention have the following advantages:

[0082] 1. The scheduling method and device for integrating multiple floors and multiple devices created by the present invention can fully consider the collaborative operation requirements between multiple floors and multiple devices, and improve the overall operating efficiency and flexibility of the equipment scheduling system.

[0083] 2. The present invention creates a scheduling method and device that integrates multiple floors and multiple equipment. According to the characteristics of multiple floors and multiple equipment, the overall task is divided into subtasks using equipment type attributes, the priority and non-priority of each subtask are set, and influencing factors are designed as the connection and link between subtasks. This can avoid system disorder caused by out-of-order execution of subtasks and solve the problem of the same scheduling system having to handle multiple tasks during cross-floor transportation. BRIEF DESCRIPTION OF THE DRAWINGS

[0084] The drawings constituting part of the present invention are used to provide a further understanding of the present invention. The exemplary embodiments and descriptions of the present invention are used to explain the present invention and do not constitute an improper limitation on the present invention. In the drawings:

[0085] Figure 1 A flow chart showing a scheduling method for integrating multiple floors and multiple devices according to an embodiment of the present invention is shown;

[0086] Figure 2 A schematic diagram showing the internal structure of a scheduling device integrating multiple floors and multiple devices according to an embodiment of the present invention is shown;

[0087] Figure 3 A task processing flow chart of the scheduling method for integrating multiple floors and multiple devices according to an embodiment of the present invention is shown;

[0088] Figure 4 The overall task receiving decomposition flow chart of the scheduling method integrating multiple floors and multiple devices according to the embodiment of the invention is shown;

[0089] Figure 5 A flow chart showing the influence factor determination method of the integrated multi-floor multi-device scheduling method according to an embodiment of the present invention is shown;

[0090] Figure 6 A timing task processing diagram of a scheduling method integrating multiple floors and multiple devices according to an embodiment of the present invention is shown. DETAILED DESCRIPTION

[0091] It should be noted that, in the absence of conflict, the embodiments of the present invention and the features in the embodiments may be combined with each other.

[0092] The present invention will be described in detail below with reference to the accompanying drawings and in combination with embodiments.

[0093] Example 1

[0094] Figure 1 The flowchart of the scheduling method for integrating multiple floors and multiple devices according to the embodiment of the present invention is shown. Figure 1 As shown, the scheduling method S100 integrating multiple devices on multiple floors includes the following steps:

[0095] Step S110, receiving overall task information, and decomposing the overall task information into a plurality of subtasks according to the starting point and the ending point.

[0096] In some embodiments, the overall task is issued by an upstream system, such as MES (manufacturing execution system), WMS (warehouse management system), etc.

[0097] An overall task information includes material attributes, starting point, and target point. The starting point and target point can be on different floors.

[0098] The subtask includes the sequence number, equipment type, completion status and impact factor; the impact factor is used to determine whether the subtask with the next sequence number can be executed. Equipment includes connecting equipment such as elevators / lifts, and AGV equipment such as AGV / forklifts.

[0099] Step S120, receiving the state information fed back by the device, parsing the dynamic intersection points between the subtasks according to the state information, obtaining the points that can be advanced and the advance / stop state, and then sending them to each target device.

[0100] Status information includes device type, device IP, operating status, and task completion status. Dynamic traffic control points are points where there are path conflicts.

[0101] In some embodiments, receiving status information fed back by a device, parsing the dynamic intersection points between subtasks according to the status information, obtaining the points that can be advanced and the advance / stop status, and then sending them to each target device includes:

[0102] Read device status information;

[0103] Poll all subtasks, find the subtasks that have not been assigned device numbers, and assign the subtasks to each target device according to the status information and the set principle;

[0104] Analyze the subtasks and calculate the equipment's forward position and dynamic intersection points;

[0105] Send the point number to each target device.

[0106] Example 2

[0107] Figure 2 The internal structure diagram of the scheduling device integrating multiple floors and multiple devices according to the embodiment of the invention is shown. Figure 2 As shown, the scheduling device integrating multiple floors and multiple devices includes: a task receiving and decomposing module, a map module, and an equipment allocation module. Among them, the map module includes a map editing module, a floor information module, and an equipment information module; the equipment allocation module includes a communication client and a task processing module. The device is provided with a controller and a communication server for communicating with the scheduling device.

[0108] Further improvement is that the task receiving and decomposition module is used to receive the overall task information sent by the upstream system, and decompose the overall task information into subtasks for each floor. And the corresponding equipment is allocated according to the equipment type attribute of the subtask. The number of overall task information is not limited.

[0109] Further improvements are as follows: the device allocation module first sends a connection instruction to the device's communication server through the communication client, and reads the device status information regularly. Then, the task processing module polls the subtasks assigned to the device by the task receiving decomposition module and parses them, obtains the forward point and forward / stop status and sends them to the communication client, and the communication client sends the point number to the device's communication server.

[0110] Further improvements are as follows: the device controller receives all sensor and external input information and makes control decisions including parking and moving; the communication server is used to receive and feedback information from the communication client, the received information includes task instructions and traffic control instructions, and the feedback information includes but is not limited to device number, IP, device operating status, and task execution status.

[0111] A further improvement is that the scheduling device is arranged in a server, and the server is a computer with a communication hardware interface, a human-machine interface, and a storage function.

[0112] A further improvement is that the communication client and the communication server are one of Wifi, Zigbee, optical communication and other modules, and the communication client and the communication server are in the same working frequency band.

[0113] Example 3

[0114] Figure 3 The flowchart of the scheduling method for integrating multiple floors and multiple devices according to the embodiment of the present invention is shown. Figure 3 As shown, the scheduling method integrating multiple floors and multiple devices includes the following steps:

[0115] Step 1: Data initialization

[0116] After the dispatch system is started, add a new map in the map editing module, add multiple floors in the floor information module, and add multiple devices in the equipment information module. The equipment includes connection equipment and AGV equipment. The map, floor and equipment are associated through the primary key id of the database table, that is, the map id is associated with the ids of multiple floors, and the id of a floor is associated with the ids of multiple devices on this floor.

[0117] Further improvements are as follows: floors interact with each other through connecting equipment such as elevators / lifts. The information of connecting equipment such as elevators / lifts shared by two floors is bound to the lower floor, and the information of unshared AGV / RGV / forklift and other equipment is bound to the floor where the equipment is located.

[0118] Step 2: Task reception and decomposition (refer to Figure 4 (shown)

[0119] The task receiving and decomposition module receives the overall task information sent by the upstream system. The task receiving and decomposition module divides the overall task into several subtasks of different equipment on different floors based on the principle of the shortest path according to the starting position and the target position. The subtask contains attributes such as sequence number, equipment type, completion status (initialization, executing, task completed, task abnormality) and impact factor (1, 0). The subtasks of an overall task are executed in sequence, and the completion status and impact factor are used to determine whether the next subtask will start executing. When all subtasks are completed, the overall task is set to completed.

[0120] Further improvements include:

[0121] Definition: Device fault types FaultType are divided into Error faults, Warning faults, and other faults. The device fault value f(FaultType) is determined by the value of FaultType.

[0122]

[0123] Definition: When FaultType is equal to Error, the following situations may occur in the device: drive device failure (including motors, gearboxes and other components, which may cause the device to drive abnormally), sensor failure (including obstacle avoidance and guidance sensors, which may cause the device to be unable to navigate and avoid obstacles normally), power supply and charging device failure (including batteries and charging devices, which may cause the device to be unable to drive or charge).

[0124] Definition: When FaultType is equal to Warning, the device may stop after an emergency stop, stop when an obstacle is detected, or stop when no forward driving command is received.

[0125] Definition: When FaultType is equal to otherwise, the device has the following situations: The device receives other types of fault instructions, which cannot be defined as Error or Warning faults.

[0126] A further improvement is that in step 2,

[0127] The method of setting the impact factor is to allocate the device to the subtask and determine whether the subtask ends normally or abnormally, so as to determine whether the next subtask is executed normally. Figure 5 As shown in Figure 2, the steps for setting the impact factor include:

[0128] S2.0 determines whether the subtask has been assigned to a device;

[0129] If yes, it means that there is already a device executing this subtask, and the process goes to S2.1;

[0130] If not, it means that the current subtask has not been assigned a device, and the process goes to S2.12 to find out whether there is a device that can execute the subtask based on the device type and floor number.

[0131] S2.1 determines whether the device is online;

[0132] If yes, it means that the device can execute the subtask online, and the process goes to S2.2;

[0133] If not, go to S2.12.

[0134] S2.2 determines whether the device is in the scheduling mode;

[0135] If yes, it means that the device can be scheduled to execute the subtask, and the process goes to S2.3;

[0136] If not, go to S2.10.

[0137] S2.3 Wait for the device to feedback the task completion status;

[0138] S2.4 determines whether the completion status is task completion;

[0139] If so, go to S2.9.

[0140] If not, check whether the completion status is task abnormality and proceed to S2.5.

[0141] S2.5 Determine whether the device is faulty;

[0142] If yes, go to S2.6;

[0143] If not, it means that the device executes the subtask normally and enters S2.9.

[0144] S2.6 determines whether f(FaultType) is equal to 0;

[0145] If so, it means that the fault of the device can be repaired, and the process goes to S2.8;

[0146] If not, go to S2.7.

[0147] S2.7 determines whether f(FaultType) is equal to 1;

[0148] If yes, it means the device failure cannot be repaired, and the impact factor is set to 1;

[0149] If not, f(FaultType) is equal to otherwise, indicating that it is uncertain whether the device fault can be repaired, and the process goes to S2.8.

[0150] S2.8 determines whether the time taken to correct the fault of the online device has exceeded the time limit;

[0151] If yes, it means that the device cannot repair the fault within the specified time, and the impact factor is set to 1;

[0152] If not, go to S2.9.

[0153] S2.9 determines whether the device has reached the end position;

[0154] If yes, it means that the device has successfully reached the end position and completed the subtask, and the impact factor is set to 0;

[0155] If not, set the impact factor to 1.

[0156] S2.10 delay 30s;

[0157] S2.11 determines whether the scheduling mode is met for 5 times;

[0158] If yes, go to S2.12;

[0159] If not, return to S2.2.

[0160] S2.12 polls all devices on the current floor;

[0161] S2.14 determines whether there is a device online;

[0162] If yes, go to S2.15;

[0163] If not, continue to poll the next device and enter S2.12.

[0164] S2.15 determines whether the online device is in scheduling mode;

[0165] If yes, go to S2.16;

[0166] If not, continue to poll the next device and enter S2.12.

[0167] S2.16 determines whether the device is closest to the starting point;

[0168] If yes, go to S2.17;

[0169] If not, continue to poll the next device and enter S2.12.

[0170] S2.17 Determine whether the equipment is loaded with cargo;

[0171] If yes, continue to poll the next device and enter S2.12.

[0172] If not, go to S2.18.

[0173] S2.18 determines whether the device has any movement or other actions;

[0174] If yes, continue to poll the next device and enter S2.12.

[0175] If not, the device is allocated to the subtask and the process goes to S2.3.

[0176] A further improvement is that in step 2, when the subtask impact factor is 1, the scheduling system ends the overall task; when the subtask impact factor is 0, the scheduling system continues with the next subtask until the overall task ends when all subtasks are completed.

[0177] Further improvement is: in step 2, the task of transporting materials from the starting position to the nearest and idle elevator is subtask 1; the task of transporting materials to the nth floor with the elevator is subtask 2; and so on, until the last subtask, the task of transporting materials from the elevator on the nth floor to the target position is subtask n. The sequence number is used as a priority factor between subtasks of an overall task, and the smaller the sequence number, the higher the priority. The subtasks of different overall tasks are determined according to the overall task priority, and the subtasks with higher overall task priority have higher priorities.

[0178] Step 3: Device allocation

[0179] The equipment allocation module polls all subtasks and finds all subtasks that are not assigned equipment numbers. When the "equipment type" in the subtask is an elevator, the elevator on the corresponding floor, which is the closest, has no cargo, is not in motion, and has no faults, is allocated to the subtask; when the "equipment type" in the subtask is an AGV device, the AGV device on the corresponding floor, which is the closest, has no cargo, is not in motion, and has no faults, is allocated to the subtask.

[0180] A further improvement is that in step 3, multiple AGVs are queued. When the number of AGVs is greater than the number of transport orders, the nearest AGV on the corresponding floor is assigned to each transport order. When the number of AGVs is less than the number of transport orders, the transport orders that have not been assigned wait until there is an idle AGV.

[0181] Step 4: Data transmission and feedback

[0182] If there are m types of equipment on one floor and n types of equipment on the second floor, then m+n task processing modules are divided. The task processing module receives status information from the equipment regularly through the communication client, including but not limited to equipment number, IP, operation status, and task completion status. The status information of AGV equipment also includes current location information, while the status information of connected equipment does not include current location information. The status information of the equipment is fed back to the task processing module.

[0183] Further improvement is (ref. Figure 6 As shown in the figure): The task processing module uses a timer to process the tasks of all devices on each floor, including elevator tasks and AGV tasks. Different task processing modes are divided according to the number of different devices.

[0184] A further improvement is that in step 4, the task of the connection device refers to: feeding back the state information of the connection device to the task receiving and decomposing module, and the task receiving and decomposing module directly returns the task information of the connection device. The task processing process takes a short time.

[0185] Further improvement is: in step 4, the task of the AGV equipment is to determine whether there is a path conflict if the AGV continues to move forward n (n can be set according to actual conditions) position points based on all the position points in the shortest path of the subtask and the current position point of the AGV, and the conflicting points are set as dynamic intersection points, and the AGV that arrives at the dynamic intersection point first has priority to pass. This task processing process takes a long time.

[0186] Further improvement is: in step 4, the timer starts at a fixed time of Tstartms, the task processing module analyzes the average execution time of each device task as Texec ms, there is shared data between threads, and the number of devices of one type on one floor is num. Within Tstart ms, the main thread completes the creation and start of num new threads. The task of the new thread is executed in an independent memory space, and the time taken is Texec*num ms.

[0187] When Tstart > Texec * num, the synchronous thread pool processing method is adopted. The timer start time is greater than the thread execution time. The synchronous operation can ensure the consistency of shared data, avoid data competition problems, and at the same time solve the dependencies between multiple threads and prevent the execution order of subtasks from being chaotic.

[0188] When Texec * num / 1.5 < Tstart < Texec * num, the synchronous thread pool processing method is adopted. The thread start time is short and the execution time is not long. Using synchronous threads will not cause blocking, and at the same time can solve the dependencies between multiple threads and prevent the execution order of subtasks from being chaotic.

[0189] When Tstart < Texec * num / 1.5, the asynchronous thread pool + thread-safe key-value pair is used to implement the access to shared data. At the same time, it can avoid shared data competition problems. A thread state machine is added to the code blocks with associated relationships between each thread. The thread state machine is used to implement the sequential execution of the code blocks with associated relationships between asynchronous threads, and the execution efficiency is higher.

[0190] Step Five: Task Distribution

[0191] The communication client distributes the next operation information of the device calculated in Step Five to the corresponding device. The operation task of the elevator is distributed once. When the elevator feedbacks that it has been received, the communication client sets the task reception status to 1 and no longer continues to distribute this task. Exemplarily, the number of polling times can be set. For example, when there is no feedback from the elevator, the task is distributed 5 times by polling. If the elevator has no feedback all the time, it is determined that the elevator communication fails. The operation task of the AGV is distributed for the first time. When the elevator feedbacks that it has been received, the communication client sets the task reception status to 1. Subsequently, only the next walking position point of the AGV is sent until the end point is sent; when there is no feedback from the elevator, the task is distributed 5 times by polling. If the AGV has no feedback all the time, it is determined that the elevator communication fails.

[0192] Step Six: Task End

[0193] Embodiment 4

[0194] Exemplarily, this embodiment provides a specific process of a scheduling method for integrating multiple devices on multiple floors:

[0195] Step 1: After the dispatching system is started, add a map map01 in the map editing module, add multiple floors Layer1, Layer2, and Layer3 in the floor information module, and add equipment elevator 1, elevator 2, elevator 3, elevator 4, AGV01, AGV02, AGV03, AGV04, AGV05, AGV06, AGV11, AGV12, AGV21, and AGV22 in the equipment information module. Map01 is associated with floors Layer1, Layer2, and Layer3; floor Layer1 is associated with elevator 1, elevator 2, AGV01, AGV02, AGV03, AGV04, AGV05, and AGV06; floor Layer2 is associated with elevator 3, elevator 4, AGV11, and AGV12; floor Layer3 is associated with AGV21 and AGV22. Elevator 1, elevator 2, elevator 3, and elevator 4 are in four different locations.

[0196] Step 2: The task receiving and decomposition module receives the task information sent by the upstream system, material type Mtype1, starting point Layer1_SRC01, and end point Layer3_DEST03. The scheduling system decomposes the task information into AGV01 / AGV02 / AGV03 / AGV04 / AGV05 / AGV06 transfer subtask, elevator 1 / elevator 2 lifting subtask, AGV11 / AGV12 transfer subtask, elevator 3 / elevator 4 lifting subtask, and AGV21 / AGV22 transfer subtask.

[0197] The sequence number, equipment type, completion status, and influencing factor of each subtask are shown in Table 1 below.

[0198] Table 1 Subtask status

[0199]

[0200]

[0201] Step 3:

[0202] In the above subtasks, the equipment allocation module allocates an AGV at Layer 1, which is closest to the starting point Layer 1_SRC01, has no cargo and is not moving, such as AGV01, to the subtask with sequence number 1;

[0203] The subtask with sequence number 2 is assigned to the elevator assigned to Layer1, which is closest to the starting point Layer1-SRC01, has no cargo and is not in motion, such as elevator 1.

[0204] Assign the subtask with sequence number 3 to an AGV on Layer 2 that is closest to elevator 1, has no cargo, is not moving, and has no faults, such as AGV11;

[0205] The subtask with sequence number 4 is assigned to the elevator assigned to Layer 2, which is closest to elevator 1, has no cargo and is not in motion, such as elevator 3.

[0206] Assign the subtask with sequence number 5 to an AGV on Layer 3 that is closest to elevator 3, has no cargo, and is not moving, such as AGV21;

[0207] Step 4:

[0208] The communication client receives the status information from the equipment (AGV / elevator) and feeds the equipment status information back to the task processing module. The task processing module starts with a timing of 500ms. The average execution time of each device is 150ms. There is shared data between threads. Layer 1 has 6 AGVs and 2 elevators, Layer 2 has 4 AGVs and 2 elevators, and Layer 3 has 2 AGVs. Therefore, 5 task processing modules need to be started.

[0209] The first task processing module completes the creation and start of 6 new threads in the main thread within 500ms. It takes 150*6=900ms to execute the tasks of the new threads in the independent memory space. Since 500ms<(900 / 1.5)ms, the asynchronous thread pool + thread-safe key-value pair processing method is adopted.

[0210] The second task processing module completes the creation and start of two new threads in the main thread within 500ms. It takes 150*2=300ms to execute the tasks of the new threads in the independent memory space. Since 500ms>300ms, the synchronous thread pool processing method is adopted.

[0211] The third task processing module completes the creation and startup of four new threads in the main thread within 500ms. It takes 150*4=600ms to execute the tasks of the new threads in the independent memory space. Since (600 / 1.5)ms<500ms<600, the synchronous thread pool processing method is adopted.

[0212] The fourth task processing module and the fifth task processing module, like the second task processing module, adopt a synchronous thread pool processing method.

[0213] Step 5:

[0214] When the subtask with sequence number 1 starts to execute, the completion status of the subtask changes to being executed. When the subtask is successfully completed, the status of each subtask changes as shown in Table 2:

[0215] Table 2 Subtask status

[0216]

[0217] Scenario 1: The subtask with sequence number 2 starts to execute. Due to the elevator failure, the subtask is not completed. When the subtask is abnormal, it is judged that the elevator f (FaultType) is equal to 1, and the impact factor is set to 1. At this time, the status of each subtask changes as shown in Table 3:

[0218] Table 3 Subtask status

[0219]

[0220] Since the completion status of the subtask with sequence number 2 is "task abnormality" and the impact factor is 1, the scheduling system ends the overall task.

[0221] Scenario 2: The subtask with sequence number 2 starts to execute. When the subtask is abnormal, the elevator is online and in scheduling mode, f (FaultType) is equal to 0, the fault is cleared within the specified time, and the elevator has reached the end point. The impact factor is set to 0. At this time, the status of each subtask changes as shown in Table 4:

[0222] Table 4 Subtask status

[0223]

[0224]

[0225] Since the completion status of the subtask with sequence number 2 is "task abnormality" and the impact factor is 0, the scheduling system continues with the next subtask.

[0226] Until all tasks are completed, the overall task of the scheduling system is completed.

[0227] Those of ordinary skill in the art will appreciate that the units and method steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in terms of function in the above description. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present invention.

[0228] In the several embodiments provided in the present application, it should be understood that the disclosed methods and systems can be implemented in other ways. For example, the division of the units described above is only a logical function division, and there may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. The above-mentioned units may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the embodiments of the present invention.

[0229] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein by equivalents. These modifications or replacements do not make the essence of the corresponding technical solutions deviate from the scope of the technical solutions of the embodiments of the present invention, and they should all be included in the scope of the claims and specification of the present invention.

[0230] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims

1. A scheduling method integrating multiple floors and multiple devices, characterized in that: The steps include: Receive overall task information, and decompose the overall task information into several subtasks according to the starting point and the end point; the subtasks include sequence number, equipment type, completion status, and impact factor; the impact factor is used to determine whether the subtask with the next sequence number can be executed; the equipment includes AGV equipment and connection equipment connecting two floors; Receive the status information fed back by the device, parse the dynamic intersection points between subtasks according to the status information, obtain the points that can be advanced and the advance / stop status, and then send them to each target device; the status information includes device type, device IP, operating status, and task completion status; the dynamic intersection points are points with path conflicts.

2. The scheduling method for integrating multiple devices on multiple floors according to claim 1 is characterized in that: It also includes data initialization; the data initialization includes: configuring information of maps, floors and equipment; maps, floors and equipment are associated through IDs; the ID of the map is associated with the IDs of multiple floors, and the ID of a floor is associated with the IDs of multiple AGV devices on the floor; the ID of the connection device shared by two floors is associated with the ID of the lower floor of the two floors.

3. The scheduling method for integrating multiple floors and multiple devices according to claim 1 is characterized in that: The sequence number is used as a priority factor between subtasks belonging to the same overall task, and the smaller the sequence number, the higher the priority.

4. The scheduling method for integrating multiple floors and multiple devices according to claim 1 is characterized in that: The step of receiving the status information fed back by the device, parsing the dynamic intersection points between the subtasks according to the status information, obtaining the points that can be advanced and the advance / stop status, and then sending them to each target device includes: Read device status information; Polling all the subtasks, finding the subtasks that are not assigned device numbers, and assigning the subtasks to the target devices according to the state information and the set principle; Analyze the subtasks to calculate the device's forward position and dynamic intersection point; Send the point number to each target device.

5. The scheduling method for integrating multiple floors and multiple devices according to claim 1 is characterized in that: The steps of receiving the status information fed back by the receiving device, parsing the dynamic intersection points between subtasks according to the status information, obtaining the points that can be advanced and the advance / stop status and then sending them to each target device include: counting the total time for processing the status information and subtasks of each target device, and using the asynchronous thread pool mode for processing when the total time exceeds the set threshold.

6. The scheduling method for integrating multiple floors and multiple devices according to claim 1 is characterized in that: The impact factor includes 0 and 1. When the impact factor is 0, the subtask with the next sequence number continues to be executed. When the impact factor is 1, the task ends. The method for setting the impact factor includes: The AGV fault type FaultType is divided into Error fault, Warning fault and other faults. The AGV fault value f(FaultType) is determined by the value of FaultType: Setting: In case of drive device failure, sensor failure, power supply and charging device failure, FaultType is equal to Error; In the case of a stop after an emergency stop, a stop after an obstacle is detected, or a stop when no forward driving command is received, FaultType is equal to Warning; When other fault instructions are received and cannot be defined as Error or Warning faults, FaultType is equal to otherwise. as well as: S2.0 determines whether the subtask has been assigned to a device; If yes, it means that there is already a device executing this subtask, and the process goes to S2.1; If not, it means that the current subtask has not been assigned a device, and then go to S2.12 to find out whether there is a device that can execute the subtask according to the device type and floor number; S2.1 determines whether the device is online; If yes, it means that the device can execute the subtask online, and the process goes to S2.2; If not, go to S2.12; S2.2 determines whether the device is in the scheduling mode; If yes, it means that the device can be scheduled to execute the subtask, and the process goes to S2.3; If not, go to S2.10; S2.3 Wait for the device to feedback the task completion status; S2.4 determines whether the completion status is task completion; If yes, go to S2.9; If not, check whether the completion status is task abnormal, and go to S2.5; S2.5 Determine whether the device is faulty; If yes, go to S2.6; If not, it means that the device executes the subtask normally and enters S2.9; S2.6 determines whether f(FaultType) is equal to 0; If so, it means that the fault of the device can be repaired, and the process goes to S2.8; If not, go to S2.7; S2.7 determines whether f(FaultType) is equal to 1; If yes, it means the device failure cannot be repaired, and the impact factor is set to 1; If not, f(FaultType) is equal to otherwise, indicating that it is uncertain whether the device fault can be repaired, and the process goes to S2.8; S2.8 determines whether the time taken to correct the fault of the online device has exceeded the time limit; If yes, it means that the device cannot repair the fault within the specified time, and the impact factor is set to 1; If not, go to S2.9; S2.9 determines whether the device has reached the end position; If yes, it means that the device has successfully reached the end position and completed the subtask, and the impact factor is set to 0; If not, set the impact factor to 1; S2.10 delay 30s; S2.11 determines whether the scheduling mode is met for 5 times; If yes, go to S2.12; If not, return to S2.2; S2.12 polls all devices on the current floor; S2.14 determines whether there is a device online; If yes, go to S2.15; If not, continue to poll the next device and enter S2.12; S2.15 determines whether the online device is in scheduling mode; If yes, go to S2.16; If not, continue to poll the next device and enter S2.12; S2.16 determines whether the device is closest to the starting point; If yes, go to S2.17; If not, continue to poll the next device and enter S2.12; S2.17 Determine whether the equipment is loaded with cargo; If yes, continue to poll the next device and enter S2.12; If not, go to S2.18; S2.18 determines whether the device has any movement or other actions; If yes, continue to poll the next device and enter S2.12; If not, the device is allocated to the subtask and the process goes to S2.

3.

7. A dispatching device integrating multiple floors and multiple devices, characterized in that: include: The task receiving and decomposing module is used to receive the overall task information and decompose the overall task information into several subtasks according to the starting point and the ending point; The task processing module is used to receive the status information fed back by the device, analyze the dynamic intersection points between subtasks according to the status information, obtain the points that can be advanced and the advance / stop status, and then send them to each target device.

8. An electronic device, comprising a processor and a memory connected to the processor for storing instructions executable by the processor, characterized in that: The processor is used to execute the scheduling method for integrating multiple devices on multiple floors as described in any one of claims 1-7 above.

9. A server, characterized in that: It includes at least one processor and a memory communicatively connected to the processor, wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the processor so that the at least one processor executes the scheduling method integrating multiple devices on multiple floors as described in any one of claims 1-7.

10. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the scheduling method for integrating multiple devices on multiple floors as described in any one of claims 1 to 7 is implemented.

Citation Information

Cited By

  • Intelligent warehousing control method and device and storage medium

    CN119917292A