CN115099666A - Robot scheduling method and device and electronic equipment - Google Patents

Robot scheduling method and device and electronic equipment Download PDF

Info

Publication number
CN115099666A
CN115099666A CN202210800560.XA CN202210800560A CN115099666A CN 115099666 A CN115099666 A CN 115099666A CN 202210800560 A CN202210800560 A CN 202210800560A CN 115099666 A CN115099666 A CN 115099666A
Authority
CN
China
Prior art keywords
robot
task
target task
time
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN202210800560.XA
Other languages
Chinese (zh)
Inventor
吴新开
霍向
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Luobixing Shandong Intelligent Technology Co ltd
Original Assignee
Luobixing Shandong Intelligent Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Luobixing Shandong Intelligent Technology Co ltd filed Critical Luobixing Shandong Intelligent Technology Co ltd
Priority to CN202210800560.XA priority Critical patent/CN115099666A/en
Publication of CN115099666A publication Critical patent/CN115099666A/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • G06Q10/063114Status monitoring or status determination for a person or group
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • G06Q10/063112Skill-based matching of a person or a group to a task
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06316Sequencing of tasks or work
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • G06Q10/1093Calendar-based scheduling for persons or groups
    • G06Q10/1097Task assignment
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

The invention discloses a robot scheduling method, a robot scheduling device and electronic equipment, belonging to the technical field of intelligent hardware, wherein the method is applied to a multi-robot and multi-task system and comprises the following steps: determining robot information and task information in a current scheduling period; aiming at each robot in the robot set, determining a first time consumed for executing a target task according to the attribute information of the robot and the task information of the target task; respectively determining a second time length consumed by each robot for executing the assigned tasks; for each robot, determining a time margin of a target task based on the first time length, the second time length and a time requirement value of the target task corresponding to the robot; and allocating the target task to the robot corresponding to the maximum time allowance. By the robot scheduling method disclosed by the invention, the robot can be efficiently scheduled in a multi-robot multi-task scene, and the task processing efficiency is improved.

Description

Robot scheduling method and device and electronic equipment
Technical Field
The invention relates to the technical field of intelligent hardware, in particular to a robot scheduling method and device and electronic equipment.
Background
In a multi-robot multi-task scene, how to fully call each robot in the system and complete all tasks to be distributed in the shortest time is achieved, so that the processing effect of the system is improved, the system is always an industrial hotspot, and accordingly, the robot scheduling planning in the multi-robot multi-task scene is carried out.
Most of the existing robot scheduling and planning schemes are used for randomly distributing tasks to each robot, some robots may be in an idle state, and some robots are distributed with a lot of tasks, so that task processing efficiency is low.
Disclosure of Invention
The embodiment of the invention aims to provide a robot scheduling method and device and electronic equipment, which can solve the problem of low task processing efficiency in the prior art.
In order to solve the technical problems, the invention provides the following technical scheme:
the embodiment of the invention provides a robot scheduling method, which is applied to a multi-robot and multi-task system, wherein the method comprises the following steps: determining robot information and task information in a current scheduling period; wherein the robot information includes: the robot set meeting task execution conditions, wherein the attribute information of each robot in the robot set comprises: no-load speed, loading duration and unloading duration, and the task information includes: a cargo start point, a cargo end point, a cargo weight, and a time demand value; for each robot in the robot set, determining a first time consumed for executing a target task according to the attribute information of the robot and task information of the target task, wherein the target task is one task to be distributed in the multiple tasks; respectively determining a second time length consumed by each robot for executing the assigned tasks; for each robot, determining a time margin of the target task based on the first time length, the second time length and the time requirement value of the target task corresponding to the robot; and distributing the target task to the robot corresponding to the maximum time allowance.
Optionally, after the allocating the target task to the robot corresponding to the maximum time margin, the method further includes:
when the current scheduling period is finished, judging whether the condition of transferring the task to the next scheduling period is met; wherein, the condition for transferring the task to the next scheduling cycle comprises: completing the distribution of all tasks in the current scheduling period, wherein the time spent by each robot scheduled in the current period for completing all distributed tasks is longer than the length of the scheduling period;
if yes, dividing the tasks which are not distributed into the tasks to be distributed in the next scheduling period, entering the next scheduling period, and returning to execute the step of determining the robot information and the task information in the current scheduling period.
Optionally, the step of determining, for each robot in the robot set, a first time period consumed for executing a target task according to the attribute information of the robot and the task information of the target task, respectively, includes:
determining the load speed of the robot based on the no-load speed of the robot and the weight of the goods corresponding to the target task;
determining the cargo flow-turning time length of the target task based on the load speed of the robot, the no-load speed of the robot, a first distance between the robot and the cargo starting point of the target task and a second distance between the robot and the cargo ending point of the target task;
and determining a first time length consumed by the robot to execute a target task according to the goods circulation time length, the loading time length, the unloading time length and a preset constant.
Optionally, for each robot, the step of determining the time margin of the target task based on the first time duration, the second time duration and the time requirement value of the target task corresponding to the robot includes:
for each robot, taking the sum of the first time length and the second time length corresponding to the robot as the total time length for the robot to finish the target task;
and determining the difference between the actual required value of the target task and the total time length as the time margin of the target task.
Optionally, after the step of assigning the target task to the robot corresponding to the maximum time margin, the method further includes:
taking the next task to be distributed in the multiple tasks as a target task;
returning to execute the step of determining the first time consumed for executing the target task according to the attribute information of the robot and the task information of the target task for each robot in the robot set;
repeatedly executing the robot scheduling method to determine the robot scheduled by the target task, and terminating the robot scheduling process until a preset condition is met;
wherein the preset condition comprises at least one of the following conditions: the tasks are all distributed; the time length which is required by each robot to complete all the distributed tasks is longer than the preset robot scheduling period.
The embodiment of the invention also provides a robot scheduling device, which is applied to a multi-robot and multi-task system, wherein the device comprises:
the information determining module is used for determining robot information and task information in the current scheduling period; wherein the robot information includes: the robot set meeting task execution conditions, wherein the attribute information of each robot in the robot set comprises: no-load speed, loading duration and unloading duration, and the task information includes: a cargo start point, a cargo end point, a cargo weight, and a time demand value;
the first determining module is used for determining a first time consumed for executing a target task according to the attribute information of the robot and the task information of the target task for each robot in the robot set, wherein the target task is one task to be distributed in the multiple tasks;
the second determining module is used for respectively determining a second time length consumed by each robot for executing the assigned tasks;
a third determining module, configured to determine, for each robot, a time margin of the target task based on the first time length, the second time length, and the time requirement value of the target task corresponding to the robot;
and the distribution module is used for distributing the target task to the robot corresponding to the maximum time allowance.
Optionally, the apparatus further comprises:
the judging module is used for judging whether preset conditions for transferring the task to the next scheduling cycle are met or not when the current scheduling cycle is ended; wherein, the condition for transferring the task to the next scheduling cycle comprises: completing the distribution of all uncompleted tasks in the current scheduling period, wherein the time spent by each robot scheduled in the current period for completing all distributed tasks is longer than the length of the scheduling period;
if yes, dividing the unallocated tasks into tasks to be allocated in the next scheduling period, entering the next scheduling period, and returning to execute the information determining module.
Optionally, the first determining module includes:
the first submodule is used for determining the load speed of the robot based on the no-load speed of the robot and the weight of the goods corresponding to the target task;
the second submodule is used for determining the cargo circulation time length of the target task based on the load speed of the robot, the no-load speed of the robot, the first distance between the robot and the cargo starting point of the target task and the second distance between the robot and the cargo terminal point of the target task;
and the third submodule is used for determining the first time consumed by the robot to execute the target task according to the goods circulation time, the loading time, the unloading time and a preset constant.
Optionally, the third determining module includes:
a fourth sub-module, configured to, for each robot, use a sum of the first duration and the second duration corresponding to the robot as a total duration for the robot to complete the target task;
and the fifth submodule is used for determining the time margin of the target task according to the difference between the actual required value of the target task and the total time length.
Optionally, the apparatus further comprises:
the cyclic calling module is used for taking the next task to be distributed in the multiple tasks as a target task after the target task is distributed to the robot corresponding to the maximum time margin by the distributing module;
returning to the robot which sequentially executes the first determining module, the second determining module and the third determining module to determine the target task scheduling, and terminating the robot scheduling process until a preset condition is met;
wherein the preset condition comprises at least one of the following conditions: the tasks are all distributed; and the time length spent by each robot for completing all the distributed tasks is longer than the preset robot scheduling period.
An embodiment of the present invention provides an electronic device, which includes a processor, a memory, and a program or an instruction stored in the memory and executable on the processor, where the program or the instruction, when executed by the processor, implements the steps of any one of the robot scheduling methods described above.
An embodiment of the present invention provides a readable storage medium, on which a program or instructions are stored, and when the program or instructions are executed by a processor, the program or instructions implement the steps of any one of the robot scheduling methods described above.
The robot scheduling scheme provided by the embodiment of the invention determines the robot information and the task information in the current scheduling period under the multi-robot multi-task scene; aiming at each robot in the robot set, determining a first time consumed for executing a target task according to the attribute information of the robot and the task information of the target task; respectively determining a second time length consumed by each robot for executing the assigned tasks; for each robot, determining the time allowance of the target task based on the first time length and the second time length corresponding to the robot and the time requirement value of the target task; and distributing the target task to the robot corresponding to the maximum time allowance. And repeatedly executing the scheme, respectively determining the robots to be dispatched by each task, and finally distributing the multiple tasks to the multiple robots. According to the robot scheduling scheme provided by the embodiment of the invention, all the robots capable of processing and completing the target tasks at the fastest speed are scheduled during the distribution of the target tasks, so that the multiple target tasks can be processed and completed in the shortest time, the highest processing efficiency is ensured, and the maximum benefit is created.
Drawings
FIG. 1 is a flow chart illustrating the steps of a robot scheduling method according to an embodiment of the present application;
FIG. 2 is a flowchart illustrating steps of a robot scheduling method across scheduling cycles according to an embodiment of the present disclosure;
fig. 3 is a block diagram showing a configuration of a robot scheduling apparatus according to an embodiment of the present invention;
fig. 4 is a block diagram showing a configuration of an electronic device according to an embodiment of the present application.
Detailed Description
In order to make the technical problems, technical solutions and advantages of the present invention more apparent, the following detailed description is given with reference to the accompanying drawings and specific embodiments.
The robot scheduling scheme provided by the embodiment of the present application is described in detail below with reference to the accompanying drawings through specific embodiments and application scenarios thereof.
The robot scheduling method of the embodiment of the application comprises the following steps:
step 101: and determining the robot information and the task information in the current scheduling period.
Wherein the robot information includes: the robot set meeting the task execution conditions, and the attribute information of each robot in the robot set, wherein the attribute information comprises: no-load speed, loading duration and unloading duration. The task information of each task to be distributed comprises: cargo start point, cargo end point, cargo weight, and time demand.
A robot that meets the task execution condition is a robot that can execute a task and has a good status.
And the no-load speed and the weight of the goods of the robot are used for calculating the load speed of the robot after the robot acquires the goods.
Step 102: and respectively determining attribute information of the robot and task information of the target task for each robot in the robot set, and determining a first time length consumed for executing the target task.
The target task is one task to be distributed in the multiple tasks.
The robot scheduling method is applied to a multi-robot and multi-task system, and the system comprises a plurality of schedulable robots, electronic equipment and a plurality of tasks to be processed. The electronic device may be a server, a computer, or other device having an analysis function. The storage medium in the electronic device stores a robot scheduling program, and the processor of the electronic device runs the program in the storage medium to execute a robot scheduling flow and distribute tasks for each robot in the system. In the actual implementation process, the robot scheduling takes the robot scheduling period as a stage division criterion, and each task to be allocated is allocated in stages. And if the distribution of all tasks is completed in the current scheduling period or the time spent by each robot scheduled in the current period for completing all the distributed tasks is longer than the scheduling period of the robot, entering the next stage to restart the robot scheduling process shown in the application, taking the task which is not distributed as the task to be distributed in the next scheduling period, and continuing to distribute the tasks. And repeatedly executing the robot scheduling process provided by the embodiment of the application until all tasks are distributed and completed.
One way to optionally determine the first length of time it takes for a single robot to perform a target task may be to determine the first length of time it takes for the robot to perform the target task based on an idle speed of the robot, a first distance between the robot and a start point of a good of the target task, a second distance between the start point and an end point of the good of the target task, a loading length of time of the robot, and a unloading length of time of the robot.
Based on the parameters of the dimensions, a person skilled in the art can flexibly set a calculation mechanism to calculate the first time length consumed by the robot to execute the target task.
One possible way to determine the first duration consumed by the target task is:
firstly, determining the load speed of the robot based on the no-load speed of the robot and the weight of the goods corresponding to the target task;
an exemplary load speed of the robot can be calculated by the following equation (1):
V(w)={V(0)-f×w×V(min));
wherein, the no-load speed V (0), f is a preset deceleration coefficient, w is a loading capacity, and V (min) represents the minimum running speed of the robot.
Secondly, determining the goods circulation time length of the target task based on the load speed of the robot, the no-load speed of the robot, the first distance and the second distance; and determining a first time length consumed by the robot to execute the target task according to the goods circulation time length, the loading time length, the unloading time length and a preset constant.
Finally, the sum of the cargo transferring time, the loading time, the unloading time and the preset constant can be used as the first time.
The preset constant may be flexibly set by those skilled in the art, and is not particularly limited herein.
One possible way to implement this is to set the calculation mechanism to calculate the first time period consumed by the robot to perform the target task according to equation (2), where equation (2) is as follows:
Figure BDA0003733806830000071
wherein r is j Denotes the jth robot, a i Indicating the ith task that is the above target task,
Figure BDA0003733806830000072
the method comprises the steps of representing the first time length which is the time length consumed by a robot to execute a target task; v. of e Indicating the load speed, v, of the robot l Which represents the unloaded speed of the robot,
Figure BDA0003733806830000073
representing a first distance of the robot from the origin of the cargo in the target task,
Figure BDA0003733806830000074
representing a second distance, t, between the start of the cargo and the end of the cargo in the target task e Indicating the loading duration of the robot, t l Representing the unloading time of the robot, epsilon is a known constant.
Figure BDA0003733806830000075
Wherein f is a preset deceleration coefficient, e is a load capacity, v min Representing the minimum operating speed of the robot.
It should be noted that, in the actual implementation process, the first time length is calculated, and the calculation mechanism is not limited to the above equation (2), and those skilled in the art can flexibly set the calculation mechanism by referring to the parameters of the above dimensions. Moreover, in the actual implementation process, the first duration is also calculated based on the loading speed of the robot, the no-load speed of the robot, the first distance between the robot and the goods starting point of the target task, the second distance between the goods starting point and the end point of the target task, the loading duration of the robot, and the unloading duration of the robot. The first duration may also be calculated based on a part of the dimensional parameters.
Step 103: a second length of time that each robot takes to perform the assigned task is determined separately.
For a robot, the time consumed for executing the task is calculated before the task is allocated to the robot, so that the time consumed for executing the task allocated to the robot is accumulated, and the second time consumed for the robot to execute the allocated task can be determined. The logic is executed in parallel to determine a second amount of time each robot has taken to perform the assigned task.
Step 104: and for each robot, determining the time margin of the target task based on the first time length and the second time length corresponding to the robot and the time requirement value of the target task.
One way to determine the time margin of a target task relative to a single robot for feasibility may be as follows:
firstly, aiming at each robot, taking the sum of a first time length and a second time length corresponding to the robot as the total time length for the robot to execute a target task;
namely, the total duration of the target task is calculated by formula (3):
Figure BDA0003733806830000081
wherein the content of the first and second substances,
Figure DA00037338068353428595
indicating the total length of time that it takes for the robot to execute all assigned tasks including the target task after the target task is assigned to the robot,
Figure BDA0003733806830000083
indicating a first time period, which is a time period required for the target robot to perform the assigned task before the target task is assigned to the robot,
Figure DA00037338068353383521
which represents the first length of time that it takes for the robot to perform the target task.
And secondly, determining the difference between the actual required value and the total time length of the target task as the time margin of the target task.
Namely, the time margin of the target task is calculated by formula (4):
Figure BDA0003733806830000085
wherein the content of the first and second substances,
Figure BDA0003733806830000086
time requirement value representing target task, each robotThe tasks each have their corresponding time demand values, which can be read directly by the robot dispatcher running on the electronic device.
The steps 102 to 104 are specific processes for calculating the time margin after the target task is executed by a single robot, and in the actual implementation process, the time margin after the target task is executed by the robot in the system needs to be calculated respectively.
Suppose that: the system includes 10 robots, and the process from step 102 to step 104 is repeatedly executed 10 times, and 10 time margins are calculated.
Step 105: and distributing the target task to the robot corresponding to the maximum time allowance.
And comparing the time allowance sizes corresponding to the robots in the system obtained by repeatedly executing the steps 102 to 104, and distributing the target tasks to the robot corresponding to the maximum time allowance.
It should be noted that, if the number of the robots corresponding to the maximum time margin is X, one robot may be randomly selected from the X robots, and one robot may be finally screened out to process the target task according to the number of tasks that have been allocated to the X robots before the target task is allocated to the X robots; and finally screening one robot from X robots to process the target task according to the residual power of the robot, wherein X is greater than or equal to 2.
The steps 102 to 105 are specific processes of allocating one task to be allocated to one robot in the robot set meeting the task execution condition, and in an actual implementation process, the steps 102 to 105 need to be repeatedly executed to allocate the task to be allocated to the robot in the robot set meeting the task execution condition in the current scheduling period, and finally, a robot scheduling scheme in the current scheduling period is generated based on the corresponding relationship between the robot and the task.
In the actual execution process, as shown in a flowchart of a robot scheduling method under a cross-scheduling period condition in fig. 2, after a current target task is allocated to a robot corresponding to a maximum time margin, it is necessary to execute step 106 to determine whether switching of the task to a next scheduling period is satisfied, if not, execute step 108 to take the next task as the target task, return to execute step 102 to respectively determine a first time length consumed by each robot for executing the target task, and repeatedly execute the robot scheduling method to determine the robot scheduled by the target task in subsequent steps 103, 104, and 105 until a preset condition is satisfied, and terminate the robot scheduling process.
Wherein the preset condition comprises at least one of the following conditions: a plurality of tasks are distributed completely; the time length that each robot needs to complete all the assigned tasks is longer than the preset robot scheduling period.
The robot scheduling period may be preset in the system by those skilled in the art, and is not particularly limited in this embodiment.
As shown in fig. 2, when the current scheduling cycle ends, step 106 is executed to determine whether a condition for transferring the task to the next scheduling cycle is satisfied; if yes, executing step 107 to divide the unallocated tasks into tasks to be allocated in the next scheduling period, entering the next scheduling period, returning to execute step 101 to determine the robot information and the task information in the current scheduling period, and starting the robot scheduling plan of the next scheduling period in subsequent steps 102, 103, 104 and 105.
The condition for transferring the task to the next scheduling cycle may include, but is not limited to: and completing the distribution of all uncompleted tasks in the current scheduling period, wherein the time spent by each robot scheduled in the current period for completing all distributed tasks is longer than the length of the scheduling period of the robot.
As a preferred embodiment, the time demand values of each task are determined first, and are compared in the horizontal direction, and the optimal robot corresponding to each task is determined to complete task allocation in sequence according to the sequence of the time demand values from small to large.
The mode of determining the task allocation sequence according to the actual demand value can ensure that tasks with strict time limit requirements can be allocated preferentially, and the task processing overtime is avoided.
According to the robot scheduling method provided by the embodiment of the application, all the robots capable of processing and completing the target tasks at the fastest speed are scheduled during the distribution of the target tasks, so that the multiple target tasks can be processed and completed in the shortest time, the highest processing efficiency is ensured, and the maximum benefit is created.
Fig. 3 is a block diagram of a robot scheduling apparatus for implementing an embodiment of the present application.
The robot scheduling device provided by the embodiment of the application is applied to a multi-robot and multi-task system, and comprises the following functional modules:
an information determining module 201, configured to determine robot information and task information in a current scheduling period; wherein the robot information includes: the robot set meeting task execution conditions, wherein the attribute information of each robot in the robot set comprises: no-load speed, loading duration and unloading duration, and the task information includes: a cargo start point, a cargo end point, a cargo weight, and a time demand value;
a first determining module 202, configured to determine, for each robot in the robot set, a first duration consumed for executing a target task according to attribute information of the robot and task information of the target task, where the target task is one to-be-allocated task in the multiple tasks;
a second determining module 203, configured to determine a second time period consumed by each robot to complete the assigned task;
a third determining module 204, configured to determine, for each robot, a time margin of the target task based on the first time length, the second time length, and the time requirement value of the target task corresponding to the robot;
and the allocating module 205 is configured to allocate the target task to the robot corresponding to the maximum time margin.
Optionally, the apparatus further comprises:
the judging module is used for judging whether preset conditions for transferring the task to the next scheduling cycle are met or not when the current scheduling cycle is ended; wherein, the condition for transferring the task to the next scheduling cycle comprises: completing the distribution of all tasks in the current scheduling period, wherein the time spent by each robot scheduled in the current period for completing all distributed tasks is longer than the length of the scheduling period;
if yes, dividing the unallocated tasks into tasks to be allocated in the next scheduling period, entering the next scheduling period, and returning to execute the information determining module.
Optionally, the first determining module includes:
the first submodule is used for determining the load speed of the robot based on the no-load speed of the robot and the weight of the goods corresponding to the target task;
the second submodule is used for determining the cargo circulation time length of the target task based on the load speed of the robot, the no-load speed of the robot, the first distance between the robot and the cargo starting point of the target task and the second distance between the robot and the cargo terminal point of the target task;
and the third submodule is used for determining the first time consumed by the robot to execute the target task according to the goods circulation time, the loading time, the unloading time and a preset constant.
Optionally, the third determining module includes:
a fourth sub-module, configured to, for each robot, use a sum of the first duration and the second duration corresponding to the robot as a total duration for the robot to complete the target task;
and the fifth submodule is used for determining the difference between the actual required value of the target task and the total time length as the time margin of the target task.
Optionally, the apparatus further comprises:
the cyclic calling module is used for taking the next task to be distributed in the multiple tasks as a target task after the target task is distributed to the robot corresponding to the maximum time margin by the distributing module;
returning to the robot which sequentially executes the first determining module, the second determining module and the third determining module to determine the target task scheduling, and terminating the robot scheduling process until a preset condition is met;
wherein the preset condition comprises at least one of the following conditions: the tasks are all distributed; the time length which is required by each robot to complete all the distributed tasks is longer than the preset robot scheduling period.
According to the robot scheduling device provided by the embodiment of the application, all the robots capable of processing and completing the target tasks at the fastest speed are scheduled during the distribution of the target tasks, so that the multiple target tasks can be processed and completed in the shortest time, the highest processing efficiency is ensured, and the maximum benefit is created.
In the embodiment of the present application, the robot scheduling device shown in fig. 3 may be a device, or may be a component, an integrated circuit, or a chip in a server. The robot scheduling apparatus shown in fig. 3 in the embodiment of the present application may be an apparatus having an operating system. The operating system may be an Android operating system (Android), an iOS operating system, or other possible operating systems, which is not specifically limited in the embodiments of the present application.
The robot scheduling apparatus shown in fig. 3 provided in the embodiment of the present application can implement each process implemented in the embodiment of the method shown in fig. 1, and is not described here again to avoid repetition.
Optionally, as shown in fig. 4, an electronic device 300 is further provided in this embodiment of the present application, and includes a processor 301, a memory 302, and a program or an instruction stored in the memory 302 and capable of running on the processor 301, where the program or the instruction is executed by the processor 301 to implement each process of the robot scheduling method embodiment, and can achieve the same technical effect, and in order to avoid repetition, it is not described here again.
It should be noted that the electronic device in the embodiment of the present application includes the server described above.
The embodiment of the present application further provides a readable storage medium, where a program or an instruction is stored on the readable storage medium, and when the program or the instruction is executed by a processor, the program or the instruction implements each process of the robot scheduling method embodiment, and can achieve the same technical effect, and in order to avoid repetition, details are not repeated here.
The processor is the processor in the electronic device described in the above embodiment. The readable storage medium includes a computer-readable storage medium, such as a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and so on.
The embodiment of the present application further provides a chip, where the chip includes a processor and a communication interface, the communication interface is coupled to the processor, and the processor is configured to run a program or an instruction, so as to implement each process of the robot scheduling method embodiment, and achieve the same technical effect, and in order to avoid repetition, the description is omitted here.
It should be understood that the chips mentioned in the embodiments of the present application may also be referred to as system-on-chip, system-on-chip or system-on-chip, etc.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
While the foregoing is directed to the preferred embodiment of the present invention, it will be understood by those skilled in the art that various changes and modifications may be made without departing from the spirit and scope of the invention as defined in the appended claims.

Claims (11)

1. A robot scheduling method is applied to a multi-robot and multi-task system, and is characterized by comprising the following steps:
determining robot information and task information in a current scheduling period; wherein the robot information includes: the robot set meeting task execution conditions, wherein the attribute information of each robot in the robot set comprises: no-load speed, loading duration and unloading duration, and the task information includes: a cargo start point, a cargo end point, a cargo weight, and a time demand value;
for each robot in the robot set, determining a first time consumed for executing a target task according to the attribute information of the robot and task information of the target task, wherein the target task is one task to be distributed in the multiple tasks;
respectively determining a second time length consumed by each robot for executing the assigned tasks;
for each robot, determining a time margin of the target task based on the first time length, the second time length and the time requirement value of the target task corresponding to the robot;
and distributing the target task to the robot corresponding to the maximum time allowance.
2. The method of claim 1, wherein after said assigning the target task to the robot corresponding to the maximum time margin, the method further comprises:
when the current scheduling period is finished, judging whether the condition of transferring the task to the next scheduling period is met; wherein, the condition for transferring the task to the next scheduling cycle comprises: completing the distribution of all tasks in the current scheduling period, wherein the time spent by each robot scheduled in the current period for completing all distributed tasks is longer than the length of the scheduling period;
if yes, dividing the tasks which are not distributed into the tasks to be distributed in the next scheduling period, entering the next scheduling period, and returning to execute the step of determining the robot information and the task information in the current scheduling period.
3. The method according to claim 1, wherein the step of determining, for each robot in the set of robots, a first time period taken to execute a target task according to the attribute information of the robot and the task information of the target task, respectively, comprises:
determining the load speed of the robot based on the no-load speed of the robot and the weight of the goods corresponding to the target task;
determining the cargo flow-turning time length of the target task based on the load speed of the robot, the no-load speed of the robot, a first distance between the robot and the cargo starting point of the target task and a second distance between the robot and the cargo ending point of the target task;
and determining a first time length consumed by the robot to execute a target task according to the goods circulation time length, the loading time length, the unloading time length and a preset constant.
4. The method of claim 1, wherein for each robot, determining a time margin for the target task based on the first time duration, the second time duration, and the time requirement value for the target task for the robot comprises:
for each robot, taking the sum of the first duration and the second duration corresponding to the robot as the total duration of the robot for completing the target task;
and determining the difference between the actual required value of the target task and the total time length as the time margin of the target task.
5. The method of claim 1, wherein after the step of assigning the target task to the robot corresponding to the maximum time margin, the method further comprises:
taking the next task to be distributed in the multiple tasks as a target task;
returning to execute the step of determining the first time consumed for executing the target task according to the attribute information of the robot and the task information of the target task respectively for each robot in the robot set;
repeatedly executing the robot scheduling method to determine the robot scheduled by the target task, and terminating the robot scheduling process until a preset condition is met;
wherein the preset condition comprises at least one of the following conditions: the tasks are all distributed; the time length which is required by each robot to complete all the distributed tasks is longer than the preset robot scheduling period.
6. A robot scheduling device applied to a multi-robot and multi-task system is characterized by comprising:
the information determining module is used for determining the robot information and the task information in the current scheduling period; wherein the robot information includes: the robot set meeting task execution conditions, wherein the attribute information of each robot in the robot set comprises: no-load speed, loading duration and unloading duration, and the task information includes: a cargo start point, a cargo end point, a cargo weight, and a time demand value;
the first determining module is used for determining a first time consumed for executing a target task according to the attribute information of the robot and the task information of the target task for each robot in the robot set, wherein the target task is one task to be distributed in the multiple tasks;
the second determining module is used for respectively determining a second time length consumed by each robot for executing the assigned tasks;
a third determining module, configured to determine, for each robot, a time margin of the target task based on the first time length, the second time length, and the time requirement value of the target task corresponding to the robot;
and the distribution module is used for distributing the target task to the robot corresponding to the maximum time allowance.
7. The apparatus of claim 6, further comprising:
the judging module is used for judging whether preset conditions for transferring the task to the next scheduling cycle are met or not when the current scheduling cycle is ended; wherein, the condition for transferring the task to the next scheduling cycle comprises: completing the distribution of all tasks in the current scheduling period, wherein the time spent by each robot scheduled in the current period for completing all distributed tasks is longer than the length of the scheduling period;
if yes, dividing the unallocated tasks into tasks to be allocated in the next scheduling period, entering the next scheduling period, and returning to execute the information determining module.
8. The apparatus of claim 6, wherein the first determining module comprises:
the first submodule is used for determining the load speed of the robot based on the no-load speed of the robot and the weight of the goods corresponding to the target task;
the second submodule is used for determining the cargo circulation time length of the target task based on the load speed of the robot, the no-load speed of the robot, the first distance between the robot and the cargo starting point of the target task and the second distance between the robot and the cargo terminal point of the target task;
and the third sub-module is used for determining a first time consumed by the robot to execute a target task according to the goods circulation time, the loading time, the unloading time and a preset constant.
9. The apparatus of claim 6, wherein the third determining module comprises:
a fourth sub-module, configured to, for each robot, use a sum of the first duration and the second duration corresponding to the robot as a total duration for the robot to complete the target task;
and the fifth sub-module is used for determining the difference between the actual required value of the target task and the total time length as the time margin of the target task.
10. The apparatus of claim 6, further comprising:
the cyclic calling module is used for taking the next task to be distributed in the multiple tasks as a target task after the target task is distributed to the robot corresponding to the maximum time margin by the distributing module;
returning to the robot which sequentially executes the first determining module, the second determining module and the third determining module to determine the target task scheduling, and terminating the robot scheduling process until a preset condition is met;
wherein the preset condition comprises at least one of the following conditions: the tasks are all distributed; the time length which is required by each robot to complete all the distributed tasks is longer than the preset robot scheduling period.
11. An electronic device comprising a processor, a memory, and a program or instructions stored on the memory and executable on the processor, which when executed by the processor, implement the steps of the robot scheduling method of any one of claims 1-5.
CN202210800560.XA 2022-07-06 2022-07-06 Robot scheduling method and device and electronic equipment Withdrawn CN115099666A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210800560.XA CN115099666A (en) 2022-07-06 2022-07-06 Robot scheduling method and device and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210800560.XA CN115099666A (en) 2022-07-06 2022-07-06 Robot scheduling method and device and electronic equipment

Publications (1)

Publication Number Publication Date
CN115099666A true CN115099666A (en) 2022-09-23

Family

ID=83296516

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210800560.XA Withdrawn CN115099666A (en) 2022-07-06 2022-07-06 Robot scheduling method and device and electronic equipment

Country Status (1)

Country Link
CN (1) CN115099666A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117234696A (en) * 2023-11-13 2023-12-15 北京控制工程研究所 Determination method and device for multitasking execution strategy of high-frequency GNC system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117234696A (en) * 2023-11-13 2023-12-15 北京控制工程研究所 Determination method and device for multitasking execution strategy of high-frequency GNC system
CN117234696B (en) * 2023-11-13 2024-01-19 北京控制工程研究所 Determination method and device for multitasking execution strategy of high-frequency GNC system

Similar Documents

Publication Publication Date Title
CN111210136B (en) Robot task scheduling method and server
CN111768006A (en) Artificial intelligence model training method, device, equipment and storage medium
CN115099666A (en) Robot scheduling method and device and electronic equipment
CN106775975B (en) Process scheduling method and device
CN112748993A (en) Task execution method and device, storage medium and electronic equipment
CN105824705A (en) Task distribution method and electronic equipment
CN111143063B (en) Task resource reservation method and device
CN109242231B (en) Scheduling method of energy consumption equipment and related equipment
CN116627356B (en) Distribution control method and system for large-capacity storage data
US8555285B2 (en) Executing a general-purpose operating system as a task under the control of a real-time operating system
CN116880986A (en) Task scheduling method and device, vehicle-mounted controller, electronic equipment and storage medium
CN109189581B (en) Job scheduling method and device
CN116126937A (en) Job scheduling method, job scheduling device, electronic equipment and storage medium
CN110968420A (en) Scheduling method and device for multi-crawler platform, storage medium and processor
CN114064251A (en) Function starting acceleration method, device, equipment and readable storage medium
CN114997650A (en) Multi-robot multi-task dispatching method and device and electronic equipment
CN115437781A (en) GPU resource management method and system
CN112685158B (en) Task scheduling method and device, electronic equipment and storage medium
CN110046795B (en) Task allocation method and device for robot
CN112231087A (en) Task scheduling method, device, equipment and storage medium
CN113282383B (en) Task scheduling method, task processing method and related products
JPH10135096A (en) Scheduling method in semiconductor manufacture
CN115796553B (en) AGV task scheduling method, device and AGV scheduling system
CN111553645A (en) Order assignment method and device, computer equipment and storage medium
JP3409830B2 (en) Process scheduling method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication

Application publication date: 20220923

WW01 Invention patent application withdrawn after publication