Time-optimal intelligent robot dynamic scheduling method, system and storage medium
By optimizing robot scheduling using a dynamic programming model, the problems of robot waiting and idleness in the robot scheduling scheme were solved, achieving efficient docking between robots and machines, improving production efficiency and resource utilization, and enhancing the system's adaptability and robustness.
Patent Information
- Application Number
- CN202511255882.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-04
- Publication Date
- 2025-11-07
- Estimated Expiration
- 2045-09-04
AI Technical Summary
Existing robot scheduling solutions lack the ability to perceive and respond to dynamic processing status in real time, resulting in long waiting times for machines, frequent robot idleness, or unreasonable path planning, which affects production efficiency and resource utilization.
By constructing a dynamic programming model, combining the robot's current position, machine position code, remaining processing time, and historical loading and unloading time, the target machine is dynamically calculated, the robot's movement path and operation time are optimized, and efficient docking between the robot and the machine is achieved.
Reduce robot idle and waiting time, improve resource utilization, enhance scheduling accuracy and adaptability, ensure operation continuity, support priority scheduling and personalized needs, and ensure system robustness.
Smart Images

Figure CN120735059B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of industrial automation control, and in particular to a time-optimal intelligent robot dynamic scheduling method, system and storage medium. BACKGROUND
[0002] With the development trend of intelligentization and flexibility of manufacturing industry, mobile robots are widely used in industrial sites to perform feeding and discharging tasks between machines to improve production efficiency, reduce labor costs and achieve continuous operation. In practical applications, mobile robots usually need to be scheduled back and forth between multiple processing machines to perform material picking and placing operations in order according to the processing progress status of each machine. However, due to the differences in processing cycles of each machine, the completion time is uncertain, and the robot running path, speed and operation time are also limited by space and system conditions. How to efficiently schedule the robot to complete the feeding and discharging tasks of multiple machines becomes a key factor affecting production rhythm and resource utilization.
[0003] The existing robot scheduling scheme usually adopts a fixed path, first-in-first-out, polling or static priority-based allocation mechanism, which lacks real-time perception and response capability to dynamic processing states, and is difficult to adapt to state changes in the processing process. Especially when the processing progress of multiple machines is inconsistent, the robot operation time fluctuates greatly, and there are situations where feeding and discharging requests are not sent at the same time, the traditional scheduling method is prone to cause problems such as long waiting time for some machines, frequent empty loading of robots, or unreasonable path planning, affecting the overall efficiency of the system. In addition, when none of the machines have requested feeding and discharging, whether the robot should actively go to the preselected station on standby and how to make a prediction based on the remaining processing time also lack unified and efficient strategy support.
[0004] Therefore, there is an urgent need for a robot scheduling method that can dynamically respond to the processing state of each machine and make comprehensive decisions based on historical operation data to optimize the feeding and discharging operation time in a multi-machine environment and improve the scheduling intelligence and operation efficiency of the overall system. SUMMARY
[0005] The present application provides a time-optimal intelligent robot dynamic scheduling method to solve the technical problems of the prior art scheduling method that easily causes long waiting time for some machines, frequent empty loading of robots, or unreasonable path planning, resulting in low machine utilization and poor production capacity.
[0006] In a first aspect, the present application provides a time-optimal intelligent robot dynamic scheduling method, which comprises:
[0007] In response to the real-time processing state signals sent by each machine, the machine information and feeding and discharging request flags of each machine are obtained, and the machine information includes machine position coding;
[0008] detecting the feeding and discharging request flag, triggering a corresponding decision-making process;
[0009] based on the corresponding decision-making process, outputting a target machine position according to a current position of the robot and the machine position code through a dynamic programming model;
[0010] sending a scheduling instruction to the robot according to the target machine position to drive the robot to move to the target machine;
[0011] in response to a job completion signal, updating the current position of the robot and resetting the processing state of the target machine to trigger a next round of scheduling cycle.
[0012] Optionally, the machine information further includes a remaining processing time, and the robot dynamic scheduling method comprises:
[0013] when it is detected that the feeding and discharging request flag exists, triggering a dynamic programming decision-making process;
[0014] calculating an estimated moving time of the robot moving to each machine according to the current position of the robot and the machine position code;
[0015] outputting the target machine position through the dynamic programming model according to the remaining processing time, the estimated moving time and a historical feeding and discharging time length;
[0016] sending a scheduling instruction to the robot according to the target machine position to drive the robot to move to the target machine position and perform a feeding and discharging operation;
[0017] in response to the job completion signal, updating the current position of the robot and resetting the processing state of the target machine to trigger a next round of scheduling cycle.
[0018] Optionally, the outputting the target machine position through the dynamic programming model according to the remaining processing time, the estimated moving time and the historical feeding and discharging time length comprises:
[0019] comparing the remaining processing time of each machine with the estimated moving time of the robot moving to each machine;
[0020] superimposing the larger value of the two with the historical feeding and discharging time length of each machine to generate a corresponding comprehensive time value of each machine;
[0021] taking the machine corresponding to the smallest comprehensive time value as the target machine and outputting the target machine position.
[0022] Optionally, the robot current position is updated and the processing state of the target machine is reset in response to the job completion signal, triggering a next round of scheduling cycle, which includes:
[0023] The robot current position is updated as the machine position code in response to a job completion signal fed back after the robot moves to the target machine position and performs the loading and unloading operation.
[0024] The remaining processing time of the target machine is reset according to a preset machine processing period.
[0025] The historical average loading and unloading time of the target machine is updated according to the actual time consumed by this time loading and unloading.
[0026] Optionally, the robot dynamic scheduling method further includes:
[0027] When it is detected that there is no loading and unloading request flag and the robot is in an idle state, a standby decision-making process is triggered.
[0028] The total job time is calculated according to the remaining processing time and the estimated moving time.
[0029] The machine corresponding to the minimum total job time is selected as the standby target machine according to the total job time, and the standby target machine position is output.
[0030] The robot is driven to move to the standby target machine in advance to wait for a loading and unloading request according to the standby target machine position.
[0031] Optionally, the target machine position is output by the dynamic programming model according to the remaining processing time, the estimated moving time and the historical loading and unloading time, and further includes:
[0032] A compensation factor is added for a specified machine according to an externally input priority instruction.
[0033] The target machine decision is adjusted and the target machine position is output according to the compensated comprehensive time value.
[0034] Optionally, the historical average loading and unloading time of the target machine is updated, which includes:
[0035] The time consumption record queue of the machine is updated according to the latest loading and unloading actual time consumption.
[0036] The average loading and unloading time is recalculated according to the latest N time consumption data in the record queue.
[0037] In a second aspect, the application provides a time-optimal intelligent robot dynamic scheduling system, which includes:
[0038] An information acquisition module is configured to acquire machine information and feeding / reeling request flags of each machine in response to a processing state signal transmitted by each machine in real time, wherein the machine information comprises a machine position code;
[0039] A request detection module is configured to detect the feeding / reeling request flags and trigger a corresponding decision-making process;
[0040] A dynamic planning module is configured to output a target machine position based on the dynamic planning model according to the current position of the robot and the machine position code according to the corresponding decision-making process;
[0041] A scheduling module is configured to send a scheduling instruction to the robot according to the target machine position, and the robot moves to the target machine after receiving the instruction;
[0042] A position updating module is configured to update the current position of the robot and reset the processing state of the target machine based on a job completion signal, and trigger a next round of scheduling cycle.
[0043] In a third aspect, the present application provides an intelligent terminal, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the method as described above when executing the computer program.
[0044] In a fourth aspect, the embodiments of the present application provide a computer readable storage medium, which stores a computer program, wherein the computer program is executable by a processor to implement the method as described above.
[0045] Compared with the prior art, the present application has the following beneficial effects:
[0046] (1) Reducing the idle time and waiting time of the robot and improving the resource utilization: by constructing a dynamic planning model comprising the remaining processing time, the current position of the robot, the estimated moving time and the historical feeding / reeling time, the robot moving time and the remaining processing time of the machine are compared in parallel, and the larger value of the two is taken as the benchmark, and the historical feeding / reeling time is superimposed, and the comprehensive job time value of each candidate machine is dynamically calculated, so as to select the target machine with the shortest current time for feeding / reeling operation. This strategy avoids the situation that the robot waits for the machine to complete processing after arriving in advance or the machine waits for the robot to arrive after completing processing, realizes the effective docking of the robot running path and the machine beat, thereby reducing the idle and waiting cost and improving the robot operation efficiency.
[0047] (2) Improve the utilization rate of the machine table and avoid resource idling: the system continuously monitors the feeding and discharging request signals of each machine table and triggers the scheduling decision process immediately after the request is activated. Since the selection of the target machine table is optimized for the minimum time of task completion, the robot prioritizes the service of the machine table close to the completion of the processing, maximizes the idle time of the machine table, avoids equipment downtime, and improves the overall utilization rate of the machine table.
[0048] (3) Improve scheduling accuracy and adaptability: After each round of feeding and discharging operation is completed, the scheduling system automatically updates the current position of the robot, resets the processing state of the target machine table (including restoring the processing time to the standard period), and rolls up the historical feeding and discharging time of the machine table. This closed-loop state updating mechanism enables the system to always participate in scheduling calculation with the latest operation data, dynamically adapt to different machine tables and material feeding and discharging actual situations, optimize time consumption estimation accuracy, and enhance the adaptability of the scheduling model to on-site disturbances.
[0049] (4) Shorten the scheduling response time and maintain the continuity of the operation: When no feeding and discharging request is detected, the system automatically enters the standby decision process, selects the machine table corresponding to the minimum value of the sum of the remaining processing time and the robot moving time as the "standby target machine table", and guides the robot to move to the standby position nearby. This mechanism ensures that the robot is still prepared for the next operation in the shortest expected response path in the idle state, reduces the response delay time, and improves the continuous operation capability of the system.
[0050] (5) Support priority scheduling and adapt to individual or emergency task requirements: The priority compensation factor mechanism is introduced in the dynamic planning model, allowing external instructions to add scheduling priority weight to the specified machine table. When calculating the comprehensive operation time, the system adds the compensation factor to the time value before determining the target machine table, thereby flexibly meeting the priority scheduling requirements of key processes or special tasks while maintaining the overall scheduling optimality, enhancing the controllability and flexibility of the system scheduling strategy.
[0051] (6) Ensure the stability of the scheduling process and the robustness of the system: The system performs abnormality detection on the robot state before starting each round of scheduling. If a fault such as communication interruption, navigation abnormality, or task execution failure is detected, the scheduling is actively interrupted and the abnormality handling process is entered, and the system resumes operation after the fault is eliminated. This mechanism ensures that the scheduling process will not be continuously disabled due to local faults, improving the robustness and on-site adaptability of the system. BRIEF DESCRIPTION OF DRAWINGS
[0052] The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the application.
[0053] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings needed to be used in the embodiments or prior art description. Obviously, for those of ordinary skill in the art, other drawings can be obtained based on these drawings without any creative effort.
[0054] One or more embodiments are illustrated by way of example in the drawings in which like reference numerals indicate similar elements, and in which:
[0055] Figure 1 A flowchart of a time-optimal intelligent robot dynamic scheduling method provided by an embodiment of the present application is shown in the figure.
[0056] Figure 2 A flowchart of a time-optimal intelligent robot dynamic scheduling method provided by an embodiment of the present application is shown in the figure. Figure 1 A specific process A schematic diagram of a first possible implementation of S200 in the figure.
[0057] Figure 3 A specific process B schematic diagram of a second possible implementation of S200 in the figure. Figure 1 A specific process B schematic diagram of a second possible implementation of S200 in the figure.
[0058] Figure 4 A flowchart of a robot scheduling implementation provided by an embodiment of the present application is shown in the figure.
[0059] Figure 5 A structure schematic diagram of a time-optimal intelligent robot dynamic scheduling system provided by an embodiment of the present application is shown in the figure.
[0060] Figure 6 A structure schematic diagram of a time-optimal intelligent robot dynamic scheduling system provided by an embodiment of the present application is shown in the figure. DETAILED DESCRIPTION
[0061] In order to make the objects, technical solutions and advantages of the embodiments of the present application clearer, the following will combine the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are a part of the embodiments of the present application, rather than all the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without any creative effort fall within the scope of protection of the present application.
[0062] The following disclosure provides a number of different embodiments or examples for implementing different aspects of the present application. In order to simplify the present disclosure, the components and arrangements of the various examples are described below. These are, of course, merely examples and are not intended to limit the application in any way. Furthermore, the application can be implemented in a variety of environments and applications, other than those described below. It should be apparent that the application is not limited to the examples described below, and that no combination of the features described below should be interpreted as preferred or essential to the practice of the application.
[0063] As Figure 1 shown, Figure 1 A flowchart of a time-optimal intelligent robot dynamic scheduling method provided by the embodiment of the present application is shown. The robot dynamic scheduling method includes the following steps:
[0064] S100, in response to the real-time processing state signals sent by each machine, obtaining the machine information and the feeding and discharging request flag of each machine, wherein the machine information includes the machine position code;
[0065] S200, detecting the feeding and discharging request flag to trigger the corresponding decision-making process;
[0066] S300, based on the corresponding decision-making process, outputting the target machine position according to the current position of the robot and the machine position code through a dynamic programming model;
[0067] S400, according to the target machine position, sending a scheduling instruction to the robot to drive the robot to move to the target machine;
[0068] S500, in response to the job completion signal, updating the current position of the robot and resetting the processing state of the target machine to trigger the next round of scheduling cycle until the processing tasks of all machines are completed.
[0069] The embodiment provides a time-optimal embodied intelligent robot dynamic scheduling algorithm, which is suitable for dynamic task allocation and scheduling of a mobile embodied intelligent robot for material feeding and discharging operation of multiple machines in a production workshop.
[0070] In the embodiment, the workshop layout includes multiple processing machines, a mobile embodied intelligent robot, and a material station arranged at the head and tail of the production line. Each machine has an independent control system and can send a processing state signal through a network when the processing is completed. The robot has autonomous navigation and path planning capabilities and supports receiving scheduling instructions.
[0071] The robot dynamic scheduling method includes the following steps:
[0072] S100 state signal receiving and information analysis: whenever any machine completes a processing operation, it sends a processing state signal to the scheduling system in real time. After responding to the signal, the scheduling system obtains the machine information of the machine, including the spatial position code of the machine and the current feeding and discharging request flag. The position code can be a unique two-dimensional coordinate or a numbered identifier.
[0073] S200 request detection and process judgment: the scheduling system analyzes the received feeding and discharging request flag. When it is detected that the flag is in the active state, it is considered that the machine has met the scheduling conditions for being served by the robot, and the dynamic planning decision process is triggered.
[0074] S300 dynamic planning target machine selection: the scheduling system calls the dynamic planning model, calculates the comprehensive operation time of each target machine according to the current position of the robot and the position codes of all machines that have sent feeding and discharging requests, combines the remaining processing time of the machine (if it is 0, it has been completed), the estimated robot moving time, and the historical average time consumption of feeding and discharging, and selects the target machine with the shortest comprehensive operation time as the scheduling target and outputs its position code.
[0075] S400 scheduling instruction sending and robot execution: the system generates a scheduling instruction according to the position of the target machine and sends it to the robot, including the motion path to the target machine and the operation command. After receiving the scheduling instruction, the robot autonomously navigates to the front of the target machine, the scheduling system updates the current position of the robot to the position of the target machine, and executes the standard feeding and discharging process to grab the clinker from the machine and put it into the new raw material.
[0076] S500 operation completion state update: when the robot completes the feeding and discharging operation and sends the operation completion signal, the target machine starts processing. The system enters the next scheduling cycle, continues to listen to new machine state signals and repeats the above process until all the materials to be processed are completed.
[0077] The scheduling method described in the embodiment adopts a dynamic decision-making method, which adapts to the real-time changes of the states of various machines in the field and effectively avoids resource waste caused by static scheduling. At the same time, by considering the moving time consumption and processing time, the optimization of the operation connection between the robot and the machine is realized, the waiting time of the machine and the idle path of the robot are reduced, and the overall feeding and discharging efficiency and scheduling response speed are improved.
[0078] It should be noted that in the decision-making process of the embodiment, there are two cases: one is when the feeding and discharging request flag is detected, the dynamic planning decision process is triggered, and the other is when the feeding and discharging request flag is not detected and the robot is in an idle state, the standby decision process is triggered.
[0079] Specifically, as shown in Figure 2 Figure 2 The method provided in the embodiment of the present application Figure 1 A specific process A of the first possible implementation of S200 is shown in the schematic diagram.
[0080] The machine information further includes a remaining processing time, and the method comprises:
[0081] A1 when detecting that the feeding and discharging request flag exists, triggering a dynamic programming decision-making process;
[0082] A2 according to the current position of the robot and the machine position code, calculating the estimated moving time of the robot moving to each machine;
[0083] A3 according to the remaining processing time, the estimated moving time and the historical feeding and discharging time, outputting the target machine position by the dynamic programming model;
[0084] A4 according to the target machine position, sending a scheduling instruction to the robot to drive the robot to move to the target machine position and perform feeding and discharging operation;
[0085] A5 in response to the job completion signal, updating the current position of the robot and resetting the processing state of the target machine, triggering the next round of scheduling cycle.
[0086] In an actual industrial production scene, multiple machines and multiple mobile intelligent robots are arranged in a workshop. The machines are used for processing materials, and the robots are responsible for transporting raw materials from a material station to the machines and taking out processed materials. The robot can be an intelligent robot. Each machine is provided with a state signal module for sending a processing state signal to a scheduling system in real time.
[0087] The scheduling method comprises the following steps:
[0088] (1) Machine information acquisition, triggering a dynamic programming decision-making process: the scheduling system listens to the processing state signals of each machine in real time, and when the processing of a machine is about to be completed or completed, sends a feeding and discharging request flag to the scheduling system. In response to the request, the scheduling system obtains the machine information of the machine, including: machine position code (unique representation of machine spatial coordinates or number) and feeding and discharging request flag and remaining processing time (remaining time of the current processing task, in seconds). When the feeding and discharging request flag of at least one machine is activated, the scheduling system immediately triggers a dynamic programming decision-making process.
[0089] (2) Estimating moving time calculation: the scheduling system obtains the current robot position information (which can be a map coordinate or a current machine number). For each machine that sends a request, according to the distance between the current position and the target machine position code, the estimated moving time is calculated.
[0090] In the embodiments of the present application, the following parameters are involved: the number of machine tables ; the positions of the machine tables , Y; the remaining processing time of each machine table: is the remaining processing time of the machine table, which is 0 when the machine table sends a processing signal ; the number of embodied intelligent robots is 1; the target machine table g with the optimal time; the current machine table y of the robot. To calculate the estimated moving time of the robot to each machine table, for example, set as the time required for the embodied intelligent robot to move from the machine table to the machine table , as the loading and unloading time, for example, set as the time required for the embodied intelligent robot to load and unload at the machine table g.
[0091] The state change of the mobile embodied intelligent robot from one stage to the next stage, that is, after the robot completes one loading and unloading operation, the position of the robot, the moving time from the position of the machine table, the remaining processing time of the machine table, the loading and unloading operation time and other factors need to be considered, and the machine table with the optimal time is selected through decision and transferred to the machine table to complete the loading and unloading action, and after completion, the position state change of the robot and the processing state change of all machine tables are updated.
[0092] The moving time of the robot to all devices is calculated, for example, the robot needs to go to the machine table g from the machine table y, assuming that the robot moves at a constant speed v and the distance to the machine table g is , the moving time of the robot from the machine table y to the machine table g is calculated by the formula: . Similarly, if the robot is not at any machine table position, the robot is at position Y and a machine table position is at X, the estimated moving time is calculated.
[0093] (3) Target machine table position determination: assuming that the position of the mobile embodied intelligent robot in the current stage is at the machine table y, the target device with the optimal time is the machine table g, and the time for loading and unloading operation at the machine table g is . At this time, after completing the operation of the machine table g, the remaining processing time of the machine table g is updated to , and the state transition equation can be expressed as:
[0094]
[0095] The position of the mobile body-attached intelligent robot needs to be changed from the position state of the machine y to the machine g. The remaining processing time of the machine g is restored to the total time consumed by the device processing . The total time consumed by the specific loading and unloading time of the machine g can be updated. The initial value of the total time consumed by the loading and unloading time of all devices is 0. After the loading and unloading operation is performed, the total time consumed by the operation is recorded. The time consumed by the normal loading and unloading operation of the device in the past is recorded and the average value is taken.
[0096] In the embodiment of the present application, the dynamic programming model adopts the mode of setting a target function. The minimum value of the target function is determined according to the input parameters, and then the result of the optimal dynamic programming model is determined, so as to output the target machine position. Specifically, the target machine position is output by the dynamic programming model according to the remaining processing time, the estimated moving time of the robot moving to each machine, and the historical loading and unloading time, which includes:
[0097] A31 compares the remaining processing time of each machine with the estimated moving time of the robot moving to each machine;
[0098] A32 superimposes the larger value of the two with the historical loading and unloading time of each machine to generate a comprehensive time value corresponding to each machine;
[0099] A33 takes the machine corresponding to the smallest comprehensive time value as the target machine and outputs the target machine position.
[0100] In the embodiment of the present application, the target function
[0101] is set to measure the minimum total time consumed by the mobile body-attached intelligent robot at each stage. The value of the current target function depends on the decision of each stage and the evolution of the state. The value is calculated by the state transition equation, that is, the target is to find the minimum value of .
[0102] Firstly, the moving time of the robot to all devices needs to be calculated. For example, the robot needs to move to the device g from the position y. Assuming that the robot moves at a constant speed v and the distance from the robot to the device g is , the moving time of the robot from the position y to the device g is calculated by the formula . Secondly, the time consumed by the robot to complete a complete operation to the device g needs to be calculated. The comprehensive time value includes the moving time of the robot, the remaining processing time of the machine, and the loading and unloading time .
[0103] Where the robot movement time and the machine processing remaining time are parallel computing, three situations may occur, the first is when the robot moves to the target machine, the target machine is still completing the last round of processing, the robot needs to wait for the target robot to finish processing; the second is when the robot has not moved to the target machine, the target machine has completed processing and is in an idle state, the target machine needs to wait for the robot to arrive; the third is when the robot moves to the target machine, the target machine has just completed the last round of processing. Therefore, in the case of time parallel, the larger value of the robot movement time and the machine remaining processing time is taken.
[0104] The comprehensive time value is , for example, the time for the robot to complete a complete job from machine y to machine g .
[0105] Finally, the processing time of the first machine to the nth machine is traversed to obtain , and the machine with the shortest processing time is taken as the target machine.
[0106] The general formula of the objective function is:
[0107] .
[0108] Through the above steps, the embodiment uses the larger value comparison + historical time length superposition method to simply and efficiently realize the decision output of the target machine by the dynamic programming model, ensures the comprehensive optimization of parallel waiting time and loading and unloading processing time in the scheduling process, and maximally reduces the idle and waiting loss of the robot and the machine.
[0109] In the embodiment of the application, the priority of each machine is also introduced. Specifically, the target machine position is output by the dynamic programming model according to the remaining processing time, the estimated movement time and the historical loading and unloading time, and further comprising:
[0110] A34 According to the priority instruction input from the outside, a compensation factor is added for the specified machine;
[0111] A35 According to the comprehensive time value after compensation, the target machine decision is adjusted and the target machine position is output.
[0112] The embodiment further illustrates the specific implementation of introducing the compensation factor of the external priority instruction in the dynamic programming model on the basis of the embodiment. First, the parameters are prepared to obtain the remaining processing time of each machine , the estimated movement time of the robot moving to each machine , and the historical average loading and unloading time of each machine . The priority instruction from the upper system or the scheduling strategy module generates a compensation factor for the specified machine j (unit: seconds), without specifying the machine = 0.
[0113] Preliminary comprehensive time calculation: for each request machine, first calculate the original comprehensive time value according to step A32: . Then, the compensation factor is superimposed on the original comprehensive time according to the external priority instruction, and the compensation factor is applied to the original comprehensive time to obtain the compensated comprehensive time: + .
[0114] Dynamic programming model decision: the compensated comprehensive time + is taken as input.
[0115] The formula of the compensated target function is constructed as:
[0116] .
[0117] Select the machine corresponding to the minimum as the highest priority target machine and output the position information code of the target machine.
[0118] The scheduling module receives the target machine position code, generates and issues corresponding scheduling instructions to the robot, and realizes priority scheduling. By superimposing the priority compensation factor in the comprehensive time calculation, the embodiment makes the upper strategy able to flexibly adjust the scheduling order, so as to meet the scheduling needs of urgent or high-priority machines while taking into account the time optimization.
[0119] (4) Issue scheduling instructions and perform loading and unloading operations: generate scheduling instructions according to the target machine position code and send them to the robot control unit. After receiving the instructions, the robot goes to the target machine according to the navigation path and performs the following operation: opens the machine door; grabs the finished clinker; grabs the raw material from the material frame and puts it into the machine; closes the machine door and sends a job completion signal.
[0120] (5) State update and scheduling cycle: after receiving the job completion signal sent by the robot, the scheduling system updates the following states: updates the current position of the robot to the position code of the target machine; resets the remaining processing time of the machine to the complete processing period; updates the historical loading and unloading time statistical information of the machine. Subsequently, the scheduling system starts listening to the next round of loading and unloading requests again, enters a new scheduling cycle, and continues until all machine tasks are completed.
[0121] The embodiment introduces multiple factor parameters such as residual processing time, robot moving time and historical feeding and discharging time, and realizes target machine selection by means of a dynamic programming model, thereby significantly optimizing the timeliness and rationality of scheduling decision. The method can effectively reduce the robot idle time and machine standby time, and improve the scheduling efficiency and operation balance of the whole production line.
[0122] Specifically, the method comprises the following steps of:
[0123] A51, in response to a job completion signal fed back after the robot moves to the target machine position and performs feeding and discharging operation, updating the current position of the robot as the machine position code;
[0124] A52, resetting the residual processing time of the target machine according to a preset machine processing period;
[0125] A53, rolling updating the historical average feeding and discharging time of the target machine according to the actual time consumed in this feeding and discharging.
[0126] In the embodiment, when the robot completes the feeding and discharging operation on the target machine according to the scheduling instruction, the robot control unit sends a job completion signal to the scheduling system through a communication network, and the signal contains the target machine position code for performing the feeding and discharging operation and the time consumed in this feeding and discharging. After receiving the job completion signal, the scheduling system updates the current position of the robot as the machine position code of the target machine, so as to ensure the accuracy of the current position parameter of the robot in the next scheduling process. According to the preset machine processing period (i.e. the standard time for completing raw material processing to clinker) in the technical disclosure, the scheduling system resets the residual processing time of the target machine as the standard processing period, so as to prepare for the next feeding and discharging request.
[0127] In the embodiment, the rolling updating of the historical average feeding and discharging time of the target machine comprises the following steps of:
[0128] A531, updating the time consumption record queue of the machine according to the latest actual time consumed in feeding and discharging;
[0129] A532, recalculating the average feeding and discharging time according to the latest N time consumption data in the record queue.
[0130] The specific steps of rolling updating of the historical feeding and discharging time comprise the following steps of: extracting the actual time consumed in this feeding and discharging from the job completion signal; adding the actual time consumed in this feeding and discharging to the time consumption record queue of the machine; taking the latest N time consumption data in the queue to recalculate the new historical average feeding and discharging time; and updating the historical feeding and discharging time parameter of the machine, so as to be used in subsequent dynamic programming decision.
[0131] After the above state update is completed, the scheduling system returns to the detection step S200, continues to listen to the feeding and discharging request flags of each machine, and enters a new scheduling decision process according to real-time signals until all machine processing tasks are completed. Through accurate updating of the robot position, resetting of the machine processing state, and rolling adjustment of the historical operation time, the embodiment realizes real-time feedback and dynamic optimization of the scheduling system to the field state, provides reliable data support for the next round of scheduling decision, and improves the continuity and accuracy of the overall scheduling.
[0132] In another embodiment of the present application, as shown in Figure 3 , the embodiment of the present application provides a specific process B diagram of the second possible implementation of S200. Figure 3 Figure 1 The method further comprises:
[0133] B1, when it is detected that there is no feeding and discharging request flag and the robot is in an idle state, triggering a standby decision process;
[0134] B2, calculating the total operation time according to the remaining processing time and the estimated moving time;
[0135] B3, selecting the machine corresponding to the minimum total operation time as the standby target machine according to the total operation time, and outputting the position of the standby target machine;
[0136] B4, driving the robot to move to the standby target machine in advance to wait for a feeding and discharging request according to the position of the standby target machine.
[0137] The embodiment further illustrates the standby decision process when there is no feeding and discharging request and the robot is idle. Specifically, it comprises:
[0138] (1) standby triggering: when the scheduling system detects that the feeding and discharging request flags of all machines are not activated and the robot is in an idle state, the standby decision process is triggered immediately.
[0139] (2) operation time calculation: reading the remaining processing time of each machine and the estimated moving time of the robot from the current position to each machine , calculating the total operation time of each machine.
[0140] (3) standby target machine selection: traversing the total operation time of all machines, selecting the machine with the minimum total operation time as the standby target machine, and outputting the position code thereof.
[0141] (4) Advance movement and waiting: The scheduling system generates a waiting scheduling instruction based on the location code of the selected waiting target machine and sends it to the robot. After receiving the instruction, the robot navigates in advance and moves to the location of the waiting target machine, enters the waiting state, and waits for the next loading and unloading request flag to be activated.
[0142] Through the above standby decision-making process, the robot can automatically go to the vicinity of the optimal machine to wait when there is no task, reducing idle driving and request response delay, and improving scheduling response speed and operating efficiency.
[0143] like Figure 4 As shown, Figure 4 This application provides a schematic diagram of the robot scheduling implementation process. The following is a textual description of the flowchart, corresponding each step to the claims and technical disclosure, to illustrate the overall execution flow of the robot dynamic scheduling method in this invention:
[0144] After the system starts up, it first initializes the embodied intelligent robot, all processing machines and material stations, including robot positioning, machine identification and communication link establishment;
[0145] Information reception and parsing: The system continuously receives processing status signals from all machines and parses out the machine information and loading / unloading request flags for each machine. The machine information includes at least the machine position code (two-dimensional coordinates or number) and the remaining processing time.
[0146] Obtain the robot's current state: The system queries and obtains the robot's current location information and operating status, which serves as one of the input parameters for subsequent scheduling decisions;
[0147] Anomaly detection and handling: The system determines whether the robot's current state is abnormal, such as communication interruption, positioning error or motion failure. If an anomaly is detected, it enters the "anomaly handling" module to perform fault diagnosis and recovery operations. After recovery or if there is no anomaly, it continues to the next step.
[0148] Triggering dynamic programming decision: The system detects the loading and unloading request flags of all machines. If there is an active request flag, the "dynamic programming decision process" is triggered. Otherwise, if the robot is idle and there is no request, it enters the "standby decision process" (this process is not shown in this diagram).
[0149] Optimal target machine calculation: In the dynamic programming decision process, the system calculates the estimated movement time from the robot's current position to each activated machine in turn. It compares the remaining processing time of each machine with the corresponding movement time and takes the larger value of the two. The larger value is added to the historical average loading and unloading time to obtain the comprehensive time value of each machine. The machine with the smallest comprehensive time value is selected as the target machine and its position code is output.
[0150] Perform loading and unloading operations: The system sends scheduling instructions to the robot according to the target machine position code. The robot autonomously navigates to the front of the target machine according to the instructions and performs loading and unloading operations.
[0151] Status Update and Loop: After the robot completes loading and unloading, it sends a work completion signal. The system then sequentially updates the robot's current position to the target machine position code and resets the remaining processing time of the target machine to the preset processing cycle. Based on the actual loading and unloading time of this operation, the system continuously updates the historical average loading and unloading time of the machine. After the update is completed, the system returns to step 2 and continues to receive a new round of machine status signals, entering the next scheduling loop until all machine processing tasks are completed.
[0152] like Figure 5 As shown, Figure 5 This application provides a schematic diagram of a time-optimal intelligent robot dynamic scheduling system, which includes:
[0153] The information acquisition module 610 is used to respond to the processing status signals sent by each machine in real time, and to acquire the machine information and loading / unloading request flags of each machine. The machine information includes the machine position code.
[0154] The request detection module 620 is used to detect the loading / unloading request flag and trigger the corresponding decision process;
[0155] The dynamic programming module 630 is used to output the target machine position based on the corresponding decision process, according to the robot's current position and the machine position code, through a dynamic programming model.
[0156] The scheduling module 640 is used to send a scheduling command to the robot according to the target machine position, so as to drive the robot to move to the target machine.
[0157] The position update module 650 is used to update the current position of the robot and reset the processing state of the target machine based on the job completion signal, triggering the next round of scheduling cycle.
[0158] like Figure 6 As shown, Figure 6 This is a schematic diagram of the structure of a smart terminal provided in an embodiment of this application. The terminal device 700 of this embodiment includes: a processor 710 ( Figure 6 The above describes the process of implementing the steps in the method embodiment. The memory 720 is shown as only one, and the processor 710 is a memory 720 and a computer program 721 stored in the memory 720 and executable on the memory 720. The memory 720 executes the computer program 721 to send a request to the processor 710, and the processor 710 returns a result to implement the steps in the above method embodiment.
[0159] Those skilled in the art can clearly understand that, for the convenience and brevity of description, only the division of the above functional units and modules is taken as an example for description, and in actual application, the above functions can be completed by different functional units and modules according to needs, that is, the internal structure of the apparatus is divided into different functional units or modules to complete all or part of the functions described above. Each functional unit and module in the embodiment can be integrated in one processing unit, or each unit can exist physically, or two or more units can be integrated in one unit. The integrated unit can be realized in the form of hardware or in the form of a software functional unit. In addition, the specific names of each functional unit and module are only for the convenience of mutual distinction, and do not limit the protection scope of the present application. The specific working process of the units and modules in the system can refer to the corresponding process in the foregoing method embodiments, which will not be described here.
[0160] In the above embodiments, the description of each embodiment has its own emphasis, and the parts not described or recorded in detail in a certain embodiment can be referred to the related description of other embodiments.
[0161] Those of ordinary skill in the art can realize that the units and algorithm steps of each example described in combination with the embodiments disclosed in the present application can be realized in electronic hardware or in combination of computer software and electronic hardware. Whether the functions are executed in hardware or software mode depends on the specific application and design constraints of the technical solution. Professional technicians can use different methods for each specific application to implement the described functions, but such implementation should not be considered beyond the scope of the present application.
[0162] In the embodiments provided in the present application, it should be understood that the disclosed apparatus / terminal device and method can be implemented in other ways. For example, the apparatus / terminal device embodiments described above are only schematic, and the division of the modules or units is only a logical function division, and there can be another division in actual implementation, for example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the units shown or discussed can be indirect coupling or communication connection through some interface, device or unit, and can be electrical, mechanical or other forms.
[0163] In addition, each functional unit in each embodiment of the present application can be integrated in one processing unit, or each unit can exist physically, or two or more units can be integrated in one unit. The integrated unit can be realized in the form of hardware or in the form of a software functional unit.
[0164] The integrated module / unit, if implemented in the form of a software function unit and sold or used as an independent product, can be stored in a computer readable storage medium. Based on such understanding, all or part of the processes in the above-mentioned embodiment methods can also be completed by a computer program instructing related hardware, and the computer program can be stored in a computer readable storage medium. The computer program can implement the steps of the above-mentioned various method embodiments when executed by a processor. The computer program includes computer program code, which can be in the form of source code, object code, executable files or some intermediate forms. The computer readable medium can include any entity or device, recording medium, U disk, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), electrical carrier signal, telecommunication signal and software distribution medium, etc. that can carry the computer program code. It should be noted that the contents included in the computer readable medium can be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, the computer readable medium does not include electrical carrier signals and telecommunication signals.
[0165] The above-mentioned embodiment methods can also be completed by a computer program product, which, when running on a terminal device, enables the terminal device to execute the steps in the above-mentioned various method embodiments.
[0166] The above-mentioned embodiments are only used to illustrate the technical solutions of the present application, rather than limit them. Although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that they can still modify the technical solutions recorded in the foregoing embodiments, or make equivalent replacements to some technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should be included in the protection scope of the present application.
Claims
1. A time-optimal intelligent robot dynamic scheduling method, characterized in that, The robot dynamic scheduling method comprises: In response to the real-time processing state signals sent by each machine, obtain the machine information and the feeding and discharging request flag of each machine, wherein the machine information comprises a machine position code; Detect the feeding and discharging request flag to trigger the corresponding decision-making process; Based on the corresponding decision-making process, output the target machine position according to the current position of the robot and the machine position code through a dynamic programming model; According to the target machine position, send a scheduling instruction to the robot to drive the robot to move to the target machine; In response to the job completion signal, update the current position of the robot and reset the processing state of the target machine to trigger the next round of scheduling cycle; The machine information further comprises a remaining processing time, and the method further comprises: When it is detected that the feeding and discharging request flag exists, trigger the dynamic programming decision-making process; According to the current position of the robot and the machine position code, calculate the estimated moving time of the robot moving to each machine; According to the remaining processing time, the estimated moving time and the historical feeding and discharging time, output the target machine position through the dynamic programming model; According to the target machine position, send a scheduling instruction to the robot to drive the robot to move to the target machine position and perform the feeding and discharging operation; In response to the job completion signal, update the current position of the robot and reset the processing state of the target machine to trigger the next round of scheduling cycle; According to the remaining processing time, the estimated moving time and the historical feeding and discharging time, output the target machine position through the dynamic programming model, comprising: Compare the remaining processing time of each machine with the estimated moving time of the robot moving to each machine; Superimpose the larger value of the two on the historical feeding and discharging time of each machine to generate a corresponding comprehensive time value of each machine; Take the machine corresponding to the smallest comprehensive time value as the target machine and output the target machine position; According to the remaining processing time, the estimated moving time and the historical feeding and discharging time, output the target machine position through the dynamic programming model, further comprising: According to the priority instruction input externally, add a compensation factor to the specified machine; According to the compensated comprehensive time value, adjust the target machine decision and output the target machine position.
2. The method of claim 1, wherein, In response to the job completion signal, update the current position of the robot and reset the processing state of the target machine to trigger the next round of scheduling cycle, comprising: In response to the job completion signal fed back after the robot moves to the target machine position and performs the feeding and discharging operation, update the current position of the robot to the machine position code; According to the preset machine processing period, reset the remaining processing time of the target machine; According to the actual time consumed by this time feeding and discharging, rollingly update the historical average feeding and discharging time of the target machine.
3. The method of claim 1, wherein, The method further comprises: When it is detected that the feeding and discharging request flag does not exist and the robot is in an idle state, trigger the standby decision-making process; Calculate the total job time according to the remaining processing time and the estimated moving time; According to the total operation time, the machine table corresponding to the minimum total operation time is selected as the standby target machine table, and the standby target machine table position is output; According to the standby target machine table position, the robot is driven to move to the standby target machine table in advance to wait for the feeding and discharging request.
4. The method of claim 2, wherein, The rolling update of the historical average feeding and discharging time of the target machine table includes: According to the latest feeding and discharging actual time consumption, the time consumption record queue of the machine table is updated; According to the latest feeding and discharging actual time consumption, the time consumption record queue of the machine table is updated; 5. A time-optimal intelligent robot dynamic scheduling system, characterized by, According to the latest feeding and discharging actual time consumption, the time consumption record queue of the machine table is updated; The system includes: An information acquisition module is configured to acquire machine table information and feeding and discharging request flags of each machine table in response to real-time processing state signals sent by each machine table, wherein the machine table information includes machine table position codes; A request detection module is configured to detect the feeding and discharging request flags and trigger corresponding decision-making processes; A dynamic planning module is configured to output target machine table positions based on the corresponding decision-making processes and according to the current position of the robot and the machine table position codes through a dynamic planning model; A scheduling module is configured to send scheduling instructions to the robot according to the target machine table positions to drive the robot to move to the target machine table; A position updating module is configured to update the current position of the robot and reset the processing state of the target machine table based on a job completion signal to trigger a next round of scheduling cycle; The machine table information further includes remaining processing time, and the dynamic planning module is specifically configured to: When it is detected that there is the feeding and discharging request flag, a dynamic planning decision-making process is triggered; According to the current position of the robot and the machine table position codes, the estimated moving time of the robot moving to each machine table is calculated; According to the remaining processing time, the estimated moving time, and the historical feeding and discharging time, the target machine table position is output through the dynamic planning model; According to the target machine table position, scheduling instructions are sent to the robot to drive the robot to move to the target machine table position and perform feeding and discharging operations; In response to the job completion signal, the current position of the robot is updated and the processing state of the target machine table is reset to trigger a next round of scheduling cycle; According to the remaining processing time, the estimated moving time, and the historical feeding and discharging time, the target machine table position is output through the dynamic planning model, which includes: The remaining processing time of each machine table and the estimated moving time of the robot moving to each machine table are compared; The larger value of the two is superimposed on the historical feeding and discharging time of each machine table to generate a corresponding comprehensive time value of each machine table; The machine table corresponding to the smallest comprehensive time value is selected as the target machine table, and the target machine table position is output; According to the remaining processing time, the estimated moving time, and the historical feeding and discharging time, the target machine table position is output through the dynamic planning model, which further includes: According to the priority instruction input externally, a compensation factor is added for the specified machine table; According to the compensated comprehensive time value, the target machine table decision is adjusted and the target machine table position is output.
6. A smart terminal, characterized by The intelligent terminal comprises a memory, a processor, and a computer program stored on the memory and executable on the processor, and the computer program, when executed by the processor, implements the steps of the method according to any one of claims 1 to 4.
7. A computer-readable storage medium, characterized in that, The computer program is stored on the computer readable storage medium and, when executed by the processor, implements the steps of the method according to any one of claims 1 to 4.
Citation Information
Patent Citations
Multi-process intelligent RGV dynamic scheduling method, device and system
CN109491342A
Optimized scheduling method and system for robot carrying among multiple pieces of production equipment
CN114266399A