Robot scheduling method and system

By using historical scheduling data and large language models to identify tasks and split target tasks, and combining robot status information to plan scheduling solutions, the problem of unreasonable multi-robot scheduling in the existing technology is solved, and the task processing efficiency is improved.

CN119781410AActive Publication Date: 2025-04-08SUZHOU HUAYU HUANTU INTELLIGENT TECH CO LTD
View PDF 9 Cites 0 Cited by

Patent Information

Application Number
CN202411969675.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-30
Publication Date
2025-04-08
Estimated Expiration
2044-12-30

Smart Images

  • Figure CN119781410A_ABST
    Figure CN119781410A_ABST
Patent Text Reader

Abstract

The invention provides a robot scheduling method and system. The method comprises the following steps: acquiring a historical scheduling database; calculating the consumed time of each task type according to the historical scheduling database; in the current scheduling cycle, task identification is conducted on the instruction information through LLM, a target task is obtained, and a named entity identification result is further obtained in the identification process; splitting the target task into N to-be-executed tasks according to the named entity recognition result, or determining the target task as a to-be-executed task; acquiring state information of each robot; planning a robot scheduling scheme according to the state information of each robot and the to-be-executed task; according to the task type of each to-be-executed task, time consumption of each to-be-executed task is obtained, the total time consumption of each scheduling scheme is calculated according to the time consumption of each to-be-executed task, and the scheduling scheme with the minimum total time consumption is selected for robot scheduling. Reasonable scheduling of the robot can be realized, and the task processing efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of robot scheduling, and in particular to a robot scheduling method and system. Background Art

[0002] With the development of intelligent robot technology, the application of robot groups in manufacturing, service, warehousing and logistics industries has gradually become popular. In application scenarios such as hotels and logistics warehouses, the basic application of robots no longer has technical barriers. However, there are still many unreasonable aspects in the scheduling of multiple robots. Unreasonable scheduling methods obviously cannot guarantee task processing efficiency. Summary of the invention

[0003] In order to solve the above technical problems, the present invention provides a robot scheduling method and system, which can realize the reasonable scheduling of robots and improve the task processing efficiency.

[0004] The technical solution adopted by the present invention is as follows:

[0005] A robot scheduling method comprises the following steps: obtaining a historical scheduling database; calculating the time consumption of each task type according to the historical scheduling database; obtaining instruction information in the current scheduling cycle; and A method for performing task recognition on the instruction information by using a large language model (LLM) is used to obtain a target task, wherein the LLM also obtains a named entity recognition result during the task recognition process on the instruction information; the target task is split into N tasks to be executed according to the named entity recognition result, or the target task is determined as one task to be executed, wherein N is an integer greater than 1; the status information of each robot is obtained; a robot scheduling scheme is planned according to the status information of each robot and the tasks to be executed, wherein when there is one task to be executed, the robot scheduling scheme includes assigning the one task to be executed to a robot that executes it, and when there are N tasks to be executed, the robot scheduling scheme includes assigning the N tasks to be executed to M robots that execute them, wherein 1≤M≤N; the time consumption of each task to be executed is obtained according to the task type of each task to be executed, and the total time consumption of each scheduling scheme is calculated according to the time consumption of each task to be executed, and the scheduling scheme with the smallest total time consumption is selected for robot scheduling.

[0006] The historical scheduling database includes the tasks actually performed by each robot in each historical scheduling cycle and the corresponding time consumption. The time consumption of each task type is calculated according to the following formula:

[0007] T i =a*T1 i +b*T2 i

[0008] Among them, T i Indicates the time taken for the i-th task type, T1 i represents the average time consumed by the i-th task type in the first time period up to the start time of the current scheduling cycle, T2 i It represents the average duration of the i-th task type in the second time period up to the start time of the current scheduling cycle, and a and b are weight coefficients.

[0009] The target task is split into N tasks to be executed according to the named entity recognition result, or the target task is determined as one task to be executed, specifically including: obtaining the place names and carried objects in the target task according to the named entity recognition result; judging whether there are multiple repeated place names in the target task; if there are no multiple repeated place names in the target task, determining the target task as one task to be executed; if there are multiple repeated place names in the target task, obtaining the path topology when the target task is executed by a single robot, and judging whether there is an opposite path with two place names as nodes in the path topology. vector; if there are no opposite path vectors with two place names as nodes in the path topology, the target task is determined as a task to be executed; if there are opposite path vectors with two place names as nodes in the path topology, every two opposite path vectors are grouped together, and it is determined whether the single robot carries the same object in each group of path vectors; if the single robot carries the same object in any group of path vectors, the target task is determined as a task to be executed; if the single robot carries different objects in N-1 groups of path vectors, the target task is split into N tasks to be executed.

[0010] The robot scheduling method further includes: planning the number of robots in the current scheduling cycle according to the historical scheduling database.

[0011] The historical scheduling database also includes the number of robots in each historical scheduling cycle, the total time of idle robots, and the total time of pending tasks in the task pool. The number of robots in the current scheduling cycle is planned according to the historical scheduling database, specifically including: taking a weighted sum of the total time of idle robots in each historical scheduling cycle and the total time of pending tasks in the task pool to obtain the mismatch duration of each historical scheduling cycle; sorting the historical scheduling cycles in order of the mismatch duration from small to large; calculating the mean of the number of robots in the first R scheduling cycles in the sorting, and taking the integer to obtain the number of robots in the current scheduling cycle, where R is a positive integer.

[0012] A robot scheduling system includes: a first acquisition module, the first acquisition module is used to acquire a historical scheduling database; a first planning module, the first planning module is used to calculate the time consumption of each task type according to the historical scheduling database; a second acquisition module, the second acquisition module is used to acquire instruction information in a current scheduling cycle; an identification module, the identification module is used to perform task identification on the instruction information through LLM to obtain a target task, wherein the LLM also obtains a named entity recognition result in the process of performing task identification on the instruction information; a splitting module, the splitting module is used to split the target task into N tasks to be executed according to the named entity recognition result, or determine the target task as one task to be executed, wherein N is an integer greater than 1; a third An acquisition module, wherein the third acquisition module is used to acquire the status information of each robot; a second planning module, wherein the second planning module is used to plan a robot scheduling scheme based on the status information of each robot and the tasks to be performed, wherein when there is one task to be performed, the robot scheduling scheme includes assigning the one task to be performed to a robot that performs it, and when there are N tasks to be performed, the robot scheduling scheme includes assigning the N tasks to be performed to M robots that perform them, wherein 1≤M≤N; a scheduling module, wherein the scheduling module is used to acquire the time consumption of each task to be performed according to the task type of each task to be performed, and calculate the total time consumption of each scheduling scheme based on the time consumption of each task to be performed, and select the scheduling scheme with the smallest total time consumption for robot scheduling.

[0013] The historical scheduling database includes the tasks actually performed by each robot in each historical scheduling cycle and the corresponding time consumption. The first planning module calculates the time consumption of each task type according to the following formula:

[0014] T i =a*T1 i +b*T2 i

[0015] Among them, T i Indicates the time taken for the i-th task type, T1 i represents the average time consumed by the i-th task type in the first time period up to the start time of the current scheduling cycle, T2 i It represents the average duration of the i-th task type in the second time period up to the start time of the current scheduling cycle, and a and b are weight coefficients.

[0016] The splitting module is specifically used for: obtaining the place names and objects in the target task according to the named entity recognition result; judging whether there are multiple repeated place names in the target task; if there are no repeated place names in the target task, determining the target task as a task to be executed; if there are multiple repeated place names in the target task, obtaining the path topology when the target task is executed by a single robot, and judging whether there are opposite path vectors with two place names as nodes in the path topology; if there are no opposite path vectors with two place names as nodes in the path topology, determining the target task as a task to be executed; if there are opposite path vectors with two place names as nodes in the path topology, grouping every two opposite path vectors into one group, and judging whether the single robot carries the same object in each group of path vectors; if the single robot carries the same object in any group of path vectors, determining the target task as a task to be executed; if the single robot carries different objects in N-1 groups of path vectors, splitting the target task into N tasks to be executed.

[0017] The first planning module is also used to plan the number of robots in the current scheduling cycle according to the historical scheduling database.

[0018] The historical scheduling database also includes the number of robots in each historical scheduling cycle, the total time of idle robots, and the total time of pending tasks in the task pool. The first planning module is specifically used to: take a weighted sum of the total time of idle robots in each historical scheduling cycle and the total time of pending tasks in the task pool to obtain the mismatch duration of each historical scheduling cycle; sort the historical scheduling cycles in order of the mismatch duration from small to large; calculate the mean of the number of robots in the first R scheduling cycles in the sorting, and take the integer to obtain the number of robots in the current scheduling cycle, where R is a positive integer.

[0019] Beneficial effects of the present invention:

[0020] The present invention first calculates the task duration of the current scheduling cycle based on historical scheduling data, then identifies tasks and named entities through LLM in the current scheduling cycle, splits tasks according to named entities, and plans robot scheduling plans based on the split tasks, and finally determines the scheduling plan based on the task duration. In this way, a total task can be assigned to multiple robots for joint execution as much as possible, thereby realizing reasonable scheduling of robots and improving task processing efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0021] Figure 1 is a flow chart of a robot scheduling method according to an embodiment of the present invention;

[0022] Figure 2 Schematic diagram of a robot scheduling system according to an embodiment of the present invention. DETAILED DESCRIPTION

[0023] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0024] like Figure 1 As shown, the robot scheduling method of the embodiment of the present invention is characterized by comprising the following steps:

[0025] S1, obtain the historical scheduling database.

[0026] In one embodiment of the present invention, a scheduling cycle may be pre-set, and the robot scheduling method of the present invention may be executed in each scheduling cycle. For example, one month, one week, or one day may be set as a scheduling cycle. The historical scheduling database includes scheduling data of each historical scheduling cycle, such as the tasks actually performed by each robot in each historical scheduling cycle and the corresponding time consumption.

[0027] S2, calculates the time consumption of each task type based on the historical scheduling database.

[0028] In one embodiment of the present invention, the time consumption of each task type can be calculated according to the following formula:

[0029] T i =a*T1 i +b*T2 i

[0030] Among them, T i Indicates the time taken for the i-th task type, T1 i represents the average time consumed by the i-th task type in the first time period up to the start time of the current scheduling cycle, T2 i It represents the average duration of the i-th task type in the second time period up to the start time of the current scheduling cycle, and a and b are weight coefficients.

[0031] The task type indicates the type of specific task performed by the robot. Taking the hotel robot application scenario as an example, the task type may include delivering food to guest rooms, collecting tableware from guest rooms, exchanging food between guest rooms and restaurants, registering, guiding from the front desk to guest rooms, one-way transportation, multiple round-trip transportation, cleaning, disinfection, etc. The time taken by the robot to perform the same task type is generally not much different, while the time taken to perform different task types may vary greatly. Therefore, the embodiment of the present invention estimates the time taken by the robot to perform a task based on the task type.

[0032] The first time period and the second time period are different, preferably with a large difference in duration, for example, one month and one week respectively, that is, T1 i T2 represents the average time taken by the i-th task type within one month up to the start time of the current scheduling period. i It represents the average time consumption of the i-th task type within one week up to the start time of the current scheduling period. The respective weight coefficients can be selected in advance through experiments or set according to expert experience, for example, both a and b can be 0.5.

[0033] S3, in the current scheduling cycle, obtain instruction information.

[0034] In one embodiment of the present invention, instruction information refers to information sent when a task instruction is issued to a robot or a robot scheduling system and can be processed by the robot scheduling system. The instruction information can be sent directly to the robot scheduling system, or received by the robot and forwarded to the robot scheduling system, for example, through a conversation with the robot, the robot receives voice and recognizes text, and then sends the instruction information in text form to the robot scheduling system.

[0035] S4, performing task recognition on the instruction information through LLM to obtain the target task, wherein the LLM also obtains the named entity recognition result in the process of performing task recognition on the instruction information.

[0036] The robot scheduling system in the embodiment of the present invention has an LLM. By inputting instruction information into the LLM, the recognition result of the corresponding target task can be obtained.

[0037] In one embodiment of the present invention, if the execution of the subsequent target task is not suspended or receives negative evaluation, it can be determined that the recognition is correct, and the instruction information and recognition results of this time can be added to the training set for training the LLM, and the LLM can be trained again. In this way, the self-learning of the LLM can be realized, and the accuracy of the LLM task recognition can be continuously improved.

[0038] The recognition results of named entities by LLM in the embodiment of the present invention will also be extracted as the basis for subsequent task splitting. The named entity recognition results mainly include place names, carrying objects, time, quantity, etc. Place names and carrying objects are mainly used in the embodiment of the present invention. The following takes the hotel robot application scenario as an example to illustrate the named entity recognition results extracted by LLM in some specific examples.

[0039] Example 1:

[0040] After finishing his meal, the guest in Room 888 issues an instruction to collect the tableware. Based on the instruction, LLM identifies the task as "return the tableware from Room 888 to Restaurant 1". The named entity recognition results include the place names "Room 888", "Restaurant 1" and the items "tableware".

[0041] Example 2:

[0042] The guest in room 888 opens the ordered food and finds that it is not what he wants. For example, the chef accidentally made the non-spicy dish extra spicy. At this time, the guest sends an instruction to change the meal. Based on the guest's instruction, LLM identifies the task as: "Return food 1 from room 888 to restaurant 1, and send food 2 from restaurant 1 to room 888". The named entity recognition results include the place names "Room 888", "Restaurant 1", "Restaurant 1", "Room 888" and the items "Food 1" and "Food 2".

[0043] Example 3:

[0044] The guest in Room 888 wants a new set of bathing and daily necessities, towels, and toothbrushes. At this time, the guest sends relevant instruction information for delivering the above items. The task recognized by LLM based on the guest's instruction information is: "Send the bathing and daily necessities in warehouse 1 to room 888, send the towels and bath towels in warehouse 2 to room 888, and send the toothbrushes in warehouse 3 to room 888". Then the named entity recognition results include the place names "Warehouse 1", "Room 888", "Warehouse 2", "Room 888", "Warehouse 3", "Room 888" and the carried items "bathing and daily necessities", "towels and bath towels", and "toothbrushes".

[0045] Example 4:

[0046] The picker wants to deliver three groups of bottled water to rooms A, B, and C respectively. At this time, the picker issues relevant instruction information for delivering the above items. LLM recognizes the task based on the picker's instruction information as: "Deliver the first group of bottled water from cargo point 1 to room A, the second group of bottled water from cargo point 1 to room B, and the third group of bottled water from cargo point 1 to room C". Then the named entity recognition results include the place names "cargo point 1", "room A", "cargo point 1", "room B", "cargo point 1", "room C" and the carried objects "first group of bottled water", "second group of bottled water", "third group of bottled water".

[0047] S5: split the target task into N tasks to be executed according to the named entity recognition result, or determine the target task as one task to be executed, where N is an integer greater than 1.

[0048] If the target task is finally determined as one task to be executed, it means that the target task can only be executed by one robot alone; if the target task is finally split into N tasks to be executed, it means that the target task can be jointly executed by at most N different robots as execution entities.

[0049] Specifically, first, the place names and objects in the target task can be obtained according to the named entity recognition results, and it can be determined whether there are multiple repeated place names in the target task. For example, the place names in the above example 1 are "Room 888" and "Restaurant No. 1", and there are no repeated place names in the target task; the place names in the above example 2 are "Room 888", "Restaurant No. 1", "Restaurant No. 1", and "Room 888", and there are two repeated place names "Room 888" and two repeated place names "Restaurant No. 1"; the place names in the above example 3 are "Warehouse 1", "Room 888", "Warehouse 2", "Room 888", "Warehouse 3", and "Room 888", and there are three repeated place names "Room 888"; the place names in the above example 4 are "Cargo Point 1", "Room A", "Cargo Point 1", "Room B", "Cargo Point 1", and "Room C", and there are three repeated place names "Cargo Point 1".

[0050] If there are no repeated place names in the target task, the target task is determined as a task to be executed. If there are no repeated place names in the target task, it is impossible that there are no round trips between the routes of the place names, and it is not suitable for two or more robots to jointly execute the target task, and it can be regarded as a task to be executed by a single robot.

[0051] If there are multiple repeated place names in the target task, the path topology when the target task is executed by a single robot is obtained, and it is determined whether there is an opposite path vector with two place names as nodes in the path topology. The nodes in the path topology are the starting point and the end point of the path vector. The opposite path vector refers to two path vectors, the starting point of one is the end point of the other, and the end point of one is the starting point of the other.

[0052] If there are no opposite path vectors with two place names as nodes in the path topology, it means that there is no round trip between the two place names. In this case, the target task is determined as a task to be executed.

[0053] If there are opposite path vectors with two place names as nodes in the path topology, each two opposite path vectors are grouped together, and it is determined whether the single robot carries the same object in each group of path vectors. The existence of opposite path vectors with two place names as nodes in the path topology indicates that there are round trips between the routes of the place names, and there is a possibility that two or more robots are suitable to jointly perform the target task. In one embodiment of the present invention, the robot is considered to be empty when it is empty. If one path in a group of path vectors carries an object and the other path does not carry any object, they are considered to carry different objects.

[0054] If the single robot carries the same object in any set of path vectors, the target task is determined as a task to be performed. If the robot carries the same object when it goes back and forth, it means that it is not suitable for two or more robots to jointly perform the target task, and it can be regarded as a task to be performed by a single robot.

[0055] If the single robot carries different objects in N-1 groups of path vectors, the target task is split into N tasks to be performed. If the robot carries different objects when it goes back and forth, it means that two different robots can perform the task in the direction of going and returning respectively. And the target task can be split at the opposite path vectors. If there are N-1 groups of path vectors carrying different objects, the target task can be split into N tasks to be performed.

[0056] S6, obtain the status information of each robot.

[0057] The robot status information includes idle, executing tasks, and faulty robots. Faulty robots will not be scheduled. Among them, the status information of executing tasks also includes task type and task execution time.

[0058] S7, planning a robot scheduling scheme based on the status information and the tasks to be performed of each robot, wherein when there is one task to be performed, the robot scheduling scheme includes assigning one task to be performed to one robot to perform it, and when there are N tasks to be performed, the robot scheduling scheme includes assigning the N tasks to be performed to M robots to perform them, wherein 1≤M≤N.

[0059] In one embodiment of the present invention, the upper limit of the number of tasks that each robot can receive is 2, that is, only idle robots that have not been assigned any tasks and robots that are currently assigned only one task can receive the pending tasks. If all robots have reached the upper limit of the number of tasks, that is, they cannot receive new tasks, the pending tasks will be put into the task pool until a robot is able to receive new tasks.

[0060] In the embodiment of the present invention, a robot that can receive a new task is called an available robot. When there is one task to be executed, the task to be executed is assigned to each available robot, that is, each robot corresponds to a robot scheduling scheme. When there are N tasks to be executed, the N tasks to be executed are assigned to each available robot, every two available robots, ..., N available robots, that is, each robot corresponds to a robot scheduling scheme. Assuming that there are three tasks to be executed, u, v, and w, and there are three available robots, U, V, and W, then the following robot scheduling scheme can be achieved: tasks u, v, and w are assigned to robot U; tasks u, v, and w are assigned to robot V; tasks u, v, and w are assigned to robot W; tasks u and v are assigned to robot U, and task w is assigned to robot V; tasks u and w are assigned to robot U, and task v is assigned to robot V; tasks v and w are assigned to robot U, and task u is assigned to robot V; tasks u and v are assigned to robot V, and task w is assigned to robot U; tasks v and w are assigned to robot V, and task u is assigned to robot U; tasks u and v are assigned to robot U, and task w is assigned to robot W; tasks u and w are assigned to robot U, and task v is assigned to robot W; Assigned to robot U, task u assigned to robot W; tasks u and v assigned to robot W, task w assigned to robot U; tasks u and w assigned to robot W, task v assigned to robot U; tasks v and w assigned to robot W, task u assigned to robot U; tasks u and v assigned to robot V, task w assigned to robot W; tasks u and w assigned to robot V, task v assigned to robot W; tasks v and w assigned to robot V, task u assigned to robot W; tasks u and v assigned to robot W, task w assigned to robot V; tasks u and w assigned to robot W, task v assigned to robot V; tasks v and w assigned to robot W, task u assigned to robot V; tasks u, v, w assigned to robots U, V, W, U, W, V, V, U, W, U, V, W, V, U, etc. There are 27 robot scheduling schemes in total. Other situations are similar and will not be listed here.

[0061] S8, obtaining the time consumption of each task to be executed according to the task type of each task to be executed, calculating the total time consumption of each scheduling scheme according to the time consumption of each task to be executed, and selecting the scheduling scheme with the smallest total time consumption to schedule the robot.

[0062] The total time consumption here refers to the time consumed from the start of the currently assigned task to the completion of the task. In one embodiment of the present invention, when there is only one task to be executed, the total time consumption of each scheduling scheme is:

[0063] Tt=Tr+Tw

[0064] Among them, Tt is the total time consumed for each scheduling scheme; Tr is the remaining time of the task being executed by the robot in the scheduling scheme, which is the difference between the time consumed by the task being executed and the time the task has been executed. When the robot is idle, Tr is 0; Tw is the time consumed by the task to be executed, which is the time consumed by the task type of the task to be executed.

[0065] When there are N tasks to be executed, the total time consumed by each scheduling scheme is:

[0066]

[0067] Among them, Tr j is the remaining time of the task being executed by the jth robot in the scheduling scheme, which is the difference between the time taken to execute the task and the time the task has been executed. When the robot is idle, Tr j =0; Tw j The duration of the task assigned to the jth robot is the duration of the task type of the task.

[0068] After calculating the total time consumption of each scheduling scheme, the scheduling scheme with the smallest total time consumption is selected, and one or N tasks to be executed are assigned to the corresponding robots for execution.

[0069] In addition, in the embodiment of the present invention, before step S3, the number of robots in the current scheduling cycle may also be planned according to the historical scheduling database.

[0070] In one embodiment of the present invention, the historical scheduling database may also include the number of robots in each historical scheduling cycle, the total duration of idle robots, and the total duration of pending tasks in the task pool. Specifically, the total duration of idle robots in each historical scheduling cycle and the total duration of pending tasks in the task pool may be weighted and summed to obtain the mismatch duration of each historical scheduling cycle, and then the historical scheduling cycles may be sorted in order of mismatch duration from small to large, and finally the mean of the number of robots in the first R scheduling cycles in the sorting is calculated and the integer is taken to obtain the number of robots in the current scheduling cycle, where R is a positive integer.

[0071] The mismatch duration of each historical scheduling cycle refers to the weighted total duration that the number of robots does not match the tasks to be executed during the cycle. Conversely, when there are no idle robots and there are no tasks to be executed in the task pool, the number of robots matches the tasks to be executed, or the number of robots is just right. The mismatch duration of each historical scheduling cycle can be calculated by the following formula:

[0072] Tm=α*Tf+β*Tp

[0073] Among them, Tm is the mismatch duration of a certain historical scheduling cycle, Tf is the total duration of idle robots in the historical scheduling cycle, Tp is the total duration of tasks to be executed in the task pool in the historical scheduling cycle, α is the cost priority weight, and β is the efficiency priority weight.

[0074] In the current scheduling cycle, the robots can be deployed with reference to the number of robots in the current scheduling cycle planned above, including setting the actual number of robots in the current scheduling cycle in the predetermined area and establishing communication connection between each robot set in the predetermined area and the robot scheduling system. The sum of α and β is 1. The two are preset by weighing the cost and task execution efficiency. When the cost reduction is considered, α can be increased. When the task execution efficiency is to be improved, for example, when the satisfaction evaluated by the robot service object is reduced, β can be increased. R is preferably greater than 1, for example, 5. The above-mentioned integer for the mean can be directly rounded off; it can also be rounded down when α is greater than β, rounded up when α is less than β, and rounded off when α is equal to β. In the initial first R scheduling cycles, the number of robots can be set manually, and the number of robots in the initial first R scheduling cycles is different.

[0075] According to the robot scheduling method of the embodiment of the present invention, the task duration of the current scheduling cycle is first calculated based on the historical scheduling data, and then the tasks and named entities are identified through LLM in the current scheduling cycle, and the tasks are split according to the named entities, and the robot scheduling scheme is planned according to the split tasks. Finally, the scheduling scheme is determined based on the task duration. In this way, a total task can be allocated to multiple robots for joint execution as much as possible, thereby realizing reasonable scheduling of robots and improving task processing efficiency.

[0076] Corresponding to the robot scheduling method of the above embodiment, the present invention also proposes a robot scheduling system.

[0077] like Figure 2As shown, the robot scheduling system of the embodiment of the present invention includes a first acquisition module 10, a first planning module 20, a second acquisition module 30, an identification module 40, a splitting module 50, a third acquisition module 60, a second planning module 70 and a scheduling module 80. Among them, the first acquisition module 10 is used to obtain the historical scheduling database; the first planning module 20 is used to calculate the time consumption of each task type according to the historical scheduling database; the second acquisition module 30 is used to obtain instruction information in the current scheduling cycle; the identification module 40 is used to perform task recognition on the instruction information through LLM to obtain the target task, wherein the LLM also obtains the named entity recognition result during the task recognition process of the instruction information; the splitting module 50 is used to split the target task into N tasks to be executed according to the named entity recognition result, or determine the target task as one task to be executed, wherein N is an integer greater than 1; the third acquisition module 60 is used to obtain each machine The state information of the person; the second planning module 70 is used to plan the robot scheduling plan according to the state information of each robot and the tasks to be performed, wherein, when there is one task to be performed, the robot scheduling plan includes assigning one task to be performed to a robot that performs it, and when there are N tasks to be performed, the robot scheduling plan includes assigning N tasks to be performed to M robots that perform them, wherein 1≤M≤N; the scheduling module 80 is used to obtain the time consumption of each task to be performed according to the task type of each task to be performed, and calculate the total time consumption of each scheduling plan according to the time consumption of each task to be performed, and select the scheduling plan with the smallest total time consumption for robot scheduling.

[0078] In one embodiment of the present invention, a scheduling cycle can be pre-set, and the robot scheduling can be performed in each scheduling cycle by the robot scheduling system of the embodiment of the present invention. For example, one month, one week, or one day can be set as a scheduling cycle. The historical scheduling database includes scheduling data of each historical scheduling cycle, such as the tasks actually performed by each robot in each historical scheduling cycle and the corresponding time consumption.

[0079] In one embodiment of the present invention, the first planning module 20 may calculate the time consumption of each task type according to the following formula:

[0080] T i =a*T1 i +b*T2 i

[0081] Among them, T i Indicates the time taken for the i-th task type, T1 i represents the average time consumed by the i-th task type in the first time period up to the start time of the current scheduling cycle, T2 i It represents the average duration of the i-th task type in the second time period up to the start time of the current scheduling cycle, and a and b are weight coefficients.

[0082] The task type indicates the type of specific task performed by the robot. Taking the hotel robot application scenario as an example, the task type may include delivering food to guest rooms, collecting tableware from guest rooms, exchanging food between guest rooms and restaurants, registering, guiding from the front desk to guest rooms, one-way transportation, multiple round-trip transportation, cleaning, disinfection, etc. The time taken by the robot to perform the same task type is generally not much different, while the time taken to perform different task types may vary greatly. Therefore, the embodiment of the present invention estimates the time taken by the robot to perform a task based on the task type.

[0083] The first time period and the second time period are different, preferably with a large difference in duration, for example, one month and one week respectively, that is, T1 i T2 represents the average time taken by the i-th task type within one month up to the start time of the current scheduling period. i It represents the average time consumption of the i-th task type within one week up to the start time of the current scheduling period. The respective weight coefficients can be selected in advance through experiments or set according to expert experience, for example, both a and b can be 0.5.

[0084] In one embodiment of the present invention, instruction information refers to information sent when a task instruction is issued to a robot or a robot scheduling system and can be processed by the robot scheduling system. The instruction information can be directly sent to the second acquisition module 30 of the robot scheduling system, or received by the robot and forwarded to the second acquisition module 30 of the robot scheduling system, for example, through a conversation with the robot, the robot receives the voice and recognizes the text, and then sends the instruction information in text form to the second acquisition module 30 of the robot scheduling system.

[0085] The recognition module 40 in the embodiment of the present invention has an LLM. By inputting instruction information into the LLM, a recognition result of the corresponding target task can be obtained.

[0086] In one embodiment of the present invention, if the execution of the subsequent target task is not suspended or receives negative evaluation, it can be determined that the recognition is correct, and the instruction information and recognition results of this time can be added to the training set for training the LLM, and the LLM can be trained again. In this way, the self-learning of the LLM can be realized, and the accuracy of the LLM task recognition can be continuously improved.

[0087] The recognition results of named entities by LLM in the embodiment of the present invention will also be extracted by the recognition module 40 as the basis for subsequent task splitting. The named entity recognition results mainly include place names, carrying objects, time, quantity, etc. Place names and carrying objects are mainly used in the embodiment of the present invention. The following takes the hotel robot application scenario as an example to illustrate the named entity recognition results extracted by LLM in some specific examples.

[0088] Example 1:

[0089] After finishing his meal, the guest in Room 888 issues an instruction to collect the tableware. Based on the instruction, LLM identifies the task as "return the tableware from Room 888 to Restaurant 1". The named entity recognition results include the place names "Room 888", "Restaurant 1" and the items "tableware".

[0090] Example 2:

[0091] The guest in room 888 opens the ordered food and finds that it is not what he wants. For example, the chef accidentally made the non-spicy dish extra spicy. At this time, the guest sends an instruction to change the meal. Based on the guest's instruction, LLM identifies the task as: "Return food 1 from room 888 to restaurant 1, and send food 2 from restaurant 1 to room 888". The named entity recognition results include the place names "Room 888", "Restaurant 1", "Restaurant 1", "Room 888" and the items "Food 1" and "Food 2".

[0092] Example 3:

[0093] The guest in Room 888 wants a new set of bathing and daily necessities, towels, and toothbrushes. At this time, the guest sends relevant instruction information for delivering the above items. The task recognized by LLM based on the guest's instruction information is: "Send the bathing and daily necessities in warehouse 1 to room 888, send the towels and bath towels in warehouse 2 to room 888, and send the toothbrushes in warehouse 3 to room 888". Then the named entity recognition results include the place names "Warehouse 1", "Room 888", "Warehouse 2", "Room 888", "Warehouse 3", "Room 888" and the carried items "bathing and daily necessities", "towels and bath towels", and "toothbrushes".

[0094] Example 4:

[0095] The picker wants to deliver three groups of bottled water to rooms A, B, and C respectively. At this time, the picker issues relevant instruction information for delivering the above items. LLM recognizes the task based on the picker's instruction information as: "Deliver the first group of bottled water from cargo point 1 to room A, the second group of bottled water from cargo point 1 to room B, and the third group of bottled water from cargo point 1 to room C". Then the named entity recognition results include the place names "cargo point 1", "room A", "cargo point 1", "room B", "cargo point 1", "room C" and the carried objects "first group of bottled water", "second group of bottled water", "third group of bottled water".

[0096] If the target task is finally determined as one task to be executed, it means that the target task can only be executed by one robot alone; if the target task is finally split into N tasks to be executed, it means that the target task can be jointly executed by at most N different robots as execution entities.

[0097] Specifically, the splitting module 50 can first obtain the place names and carrying objects in the target task according to the named entity recognition result, and determine whether there are multiple repeated place names in the target task. For example, the place names in the above example 1 are "Room 888" and "Restaurant No. 1", and there are no repeated place names in the target task; the place names in the above example 2 are "Room 888", "Restaurant No. 1", "Restaurant No. 1", "Room 888", and there are two repeated place names "Room 888" and two repeated place names "Restaurant No. 1"; the place names in the above example 3 are "Warehouse 1", "Room 888", "Warehouse 2", "Room 888", "Warehouse 3", "Room 888", and there are three repeated place names "Room 888"; the place names in the above example 4 are "Cargo Point 1", "Room A", "Cargo Point 1", "Room B", "Cargo Point 1", "Room C", and there are three repeated place names "Cargo Point 1".

[0098] If there are no repeated place names in the target task, the splitting module 50 determines the target task as one task to be executed. If there are no repeated place names in the target task, it is impossible that there are no round trips between the routes of the place names, and it is not suitable for two or more robots to jointly execute the target task, and it can be regarded as a task to be executed by one robot alone.

[0099] If there are multiple repeated place names in the target task, the splitting module 50 obtains the path topology when the target task is executed by a single robot, and determines whether there is an opposite path vector with two place names as nodes in the path topology. The nodes in the path topology are the starting point and the end point of the path vector, and the opposite path vector refers to two path vectors, the starting point of one is the end point of the other, and the end point of one is the starting point of the other.

[0100] If there are no opposite path vectors with two place names as nodes in the path topology, it means that there is no round trip between the two place names. At this time, the splitting module 50 determines the target task as a task to be executed.

[0101] If there are opposite path vectors with two place names as nodes in the path topology, the splitting module 50 groups each two opposite path vectors into one group and determines whether the single robot carries the same object in each group of path vectors. The existence of opposite path vectors with two place names as nodes in the path topology indicates that there are round trips between the routes of the place names, and there is a possibility that two or more robots are suitable to jointly perform the target task. In one embodiment of the present invention, the robot is considered to be empty if it is empty. If one path in a group of path vectors carries an object and the other path does not carry any object, they are considered to carry different objects.

[0102] If the single robot carries the same object in any set of path vectors, the splitting module 50 determines the target task as a task to be performed. If the robot carries the same object when it goes back and forth, it means that it is not suitable for two or more robots to jointly perform the target task, and it can be regarded as a task to be performed by a single robot.

[0103] If the single robot carries different objects in N-1 groups of path vectors, the splitting module 50 splits the target task into N tasks to be performed. If the robot carries different objects when it goes back and forth, it means that two different robots can perform the tasks in the direction of going and returning, respectively. And the target task can be split with the group of opposite path vectors as the split point. If there are N-1 groups of path vectors carrying different objects, the target task can be split into N tasks to be performed.

[0104] The robot status information includes idle, executing tasks, and faulty robots. Faulty robots will not be scheduled. Among them, the status information of executing tasks also includes task type and task execution time.

[0105] In one embodiment of the present invention, the upper limit of the number of tasks that each robot can receive is 2, that is, only idle robots that have not been assigned any tasks and robots that are currently assigned only one task can receive the pending tasks. If all robots have reached the upper limit of the number of tasks, that is, they cannot receive new tasks, the pending tasks will be put into the task pool until a robot is able to receive new tasks.

[0106] In the embodiment of the present invention, a robot that can receive a new task is called an available robot. When there is one task to be executed, the task to be executed is assigned to each available robot, that is, each robot corresponds to a robot scheduling scheme. When there are N tasks to be executed, the N tasks to be executed are assigned to each available robot, every two available robots, ..., N available robots, that is, each robot corresponds to a robot scheduling scheme. Assuming that there are three tasks to be executed, u, v, and w, and there are three available robots, U, V, and W, then the following robot scheduling scheme can be achieved: tasks u, v, and w are assigned to robot U; tasks u, v, and w are assigned to robot V; tasks u, v, and w are assigned to robot W; tasks u and v are assigned to robot U, and task w is assigned to robot V; tasks u and w are assigned to robot U, and task v is assigned to robot V; tasks v and w are assigned to robot U, and task u is assigned to robot V; tasks u and v are assigned to robot V, and task w is assigned to robot U; tasks v and w are assigned to robot V, and task u is assigned to robot U; tasks u and v are assigned to robot U, and task w is assigned to robot W; tasks u and w are assigned to robot U, and task v is assigned to robot W; Assigned to robot U, task u assigned to robot W; tasks u and v assigned to robot W, task w assigned to robot U; tasks u and w assigned to robot W, task v assigned to robot U; tasks v and w assigned to robot W, task u assigned to robot U; tasks u and v assigned to robot V, task w assigned to robot W; tasks u and w assigned to robot V, task v assigned to robot W; tasks v and w assigned to robot V, task u assigned to robot W; tasks u and v assigned to robot W, task w assigned to robot V; tasks u and w assigned to robot W, task v assigned to robot V; tasks v and w assigned to robot W, task u assigned to robot V; tasks u, v, w assigned to robots U, V, W, U, W, V, V, U, W, U, V, W, V, U, etc. There are 27 robot scheduling schemes in total. Other situations are similar and will not be listed here.

[0107] The total time consumption in the embodiment of the present invention refers to the time consumed from the start of the currently assigned task to the completion of the task. In one embodiment of the present invention, when there is one task to be executed, the total time consumption of each scheduling scheme is:

[0108] Tt=Tr+Tw

[0109] Among them, Tt is the total time consumed for each scheduling scheme; Tr is the remaining time of the task being executed by the robot in the scheduling scheme, which is the difference between the time consumed by the task being executed and the time the task has been executed. When the robot is idle, Tr is 0; Tw is the time consumed by the task to be executed, which is the time consumed by the task type of the task to be executed.

[0110] When there are N tasks to be executed, the total time consumed by each scheduling scheme is:

[0111]

[0112] Among them, Tr j is the remaining time of the task being executed by the jth robot in the scheduling scheme, which is the difference between the time taken to execute the task and the time the task has been executed. When the robot is idle, Tr j =0; Tw j The duration of the task assigned to the jth robot is the duration of the task type of the task.

[0113] After calculating the total time consumption of each scheduling scheme, the scheduling module 80 selects the scheduling scheme with the smallest total time consumption and allocates one or N tasks to be executed to the corresponding robots for execution.

[0114] In addition, in an embodiment of the present invention, the first planning module 20 may also plan the number of robots in the current scheduling cycle according to the historical scheduling database.

[0115] In one embodiment of the present invention, the historical scheduling database may also include the number of robots in each historical scheduling cycle, the total duration of idle robots, and the total duration of pending tasks in the task pool. Specifically, the first planning module 20 may perform a weighted summation of the total duration of idle robots in each historical scheduling cycle and the total duration of pending tasks in the task pool to obtain the mismatch duration of each historical scheduling cycle, and then sort the historical scheduling cycles in order of the mismatch duration from small to large, and finally calculate the mean of the number of robots in the first R scheduling cycles in the sorting, and take the integer to obtain the number of robots in the current scheduling cycle, where R is a positive integer.

[0116] The mismatch duration of each historical scheduling cycle refers to the weighted total duration that the number of robots does not match the tasks to be executed during the cycle. Conversely, when there are no idle robots and there are no tasks to be executed in the task pool, the number of robots matches the tasks to be executed, or the number of robots is just right. The mismatch duration of each historical scheduling cycle can be calculated by the following formula:

[0117] Tm=α*Tf+β*Tp

[0118] Among them, Tm is the mismatch duration of a certain historical scheduling cycle, Tf is the total duration of idle robots in the historical scheduling cycle, Tp is the total duration of tasks to be executed in the task pool in the historical scheduling cycle, α is the cost priority weight, and β is the efficiency priority weight.

[0119] In the current scheduling cycle, the robots can be deployed with reference to the number of robots in the current scheduling cycle planned above, including setting the actual number of robots in the current scheduling cycle in the predetermined area and establishing communication connection between each robot set in the predetermined area and the robot scheduling system. The sum of α and β is 1. The two are preset by weighing the cost and task execution efficiency. When the cost reduction is considered, α can be increased. When the task execution efficiency is to be improved, for example, when the satisfaction evaluated by the robot service object is reduced, β can be increased. R is preferably greater than 1, for example, 5. The above-mentioned integer for the mean can be directly rounded off; it can also be rounded down when α is greater than β, rounded up when α is less than β, and rounded off when α is equal to β. In the initial first R scheduling cycles, the number of robots can be set manually, and the number of robots in the initial first R scheduling cycles is different.

[0120] According to the robot scheduling system of the embodiment of the present invention, the task duration of the current scheduling cycle is first calculated based on the historical scheduling data, and then the tasks and named entities are identified through LLM in the current scheduling cycle, and the tasks are split according to the named entities, and the robot scheduling scheme is planned according to the split tasks. Finally, the scheduling scheme is determined based on the task duration. In this way, a total task can be allocated to multiple robots for joint execution as much as possible, thereby realizing reasonable scheduling of robots and improving task processing efficiency.

[0121] In the description of the present invention, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features defined as "first" and "second" may explicitly or implicitly include one or more of the features. "Multiple" means two or more, unless otherwise clearly and specifically defined.

[0122] In the present invention, unless otherwise clearly specified and limited, the terms "installed", "connected", "connected", "fixed" and the like should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection or an indirect connection through an intermediate medium, it can be the internal connection of two elements or the interaction relationship between two elements. For ordinary technicians in this field, the specific meanings of the above terms in the present invention can be understood according to specific circumstances.

[0123] In the present invention, unless otherwise clearly specified and limited, a first feature being "above" or "below" a second feature may mean that the first and second features are in direct contact, or the first and second features are in indirect contact through an intermediate medium. Moreover, a first feature being "above", "above" or "above" a second feature may mean that the first feature is directly above or obliquely above the second feature, or simply means that the first feature is higher in level than the second feature. A first feature being "below", "below" or "below" a second feature may mean that the first feature is directly below or obliquely below the second feature, or simply means that the first feature is lower in level than the second feature.

[0124] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" etc. means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present invention. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art may combine and combine the different embodiments or examples described in this specification and the features of the different embodiments or examples, unless they are contradictory.

[0125] Any process or method description in a flowchart or otherwise described herein may be understood to represent a module, segment or portion of code that includes one or more executable instructions for implementing the steps of a specific logical function or process, and the scope of the preferred embodiments of the present invention includes alternative implementations in which functions may not be performed in the order shown or discussed, including performing functions in a substantially simultaneous manner or in the reverse order depending on the functions involved, which should be understood by those skilled in the art to which the embodiments of the present invention belong.

[0126] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as an ordered list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by an instruction execution system, device or apparatus (such as a computer-based system, a system including a processor, or other system that can fetch instructions from an instruction execution system, device or apparatus and execute instructions), or in combination with these instruction execution systems, devices or apparatuses. For the purposes of this specification, a "computer-readable medium" can be any device that can contain, store, communicate, propagate or transmit a program for use by an instruction execution system, device or apparatus, or in combination with these instruction execution systems, devices or apparatuses. More specific examples of computer-readable media (a non-exhaustive list) include the following: an electrical connection with one or more wires (electronic devices), a portable computer disk box (magnetic device), a random access memory (RAM), a read-only memory (ROM), an erasable and programmable read-only memory (EPROM or flash memory), a fiber optic device, and a portable compact disk read-only memory (CDROM). In addition, the computer-readable medium may even be paper or other suitable medium on which the program is printed, since the program may be obtained electronically, for example, by optically scanning the paper or other medium and then editing, interpreting or processing in other suitable ways if necessary, and then stored in a computer memory.

[0127] It should be understood that the various parts of the present invention can be implemented by hardware, software, firmware or a combination thereof. In the above-mentioned embodiments, a plurality of steps or methods can be implemented by software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented by hardware, as in another embodiment, it can be implemented by any one of the following technologies known in the art or their combination: a discrete logic circuit having a logic gate circuit for implementing a logic function for a data signal, a dedicated integrated circuit having a suitable combination of logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.

[0128] A person skilled in the art may understand that all or part of the steps in the method for implementing the above-mentioned embodiment may be completed by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, which, when executed, includes one or a combination of the steps of the method embodiment.

[0129] In addition, each functional unit in each embodiment of the present invention may be integrated into a processing module, or each unit may exist physically separately, or two or more units may be integrated into one module. The above-mentioned integrated module may be implemented in the form of hardware or in the form of a software functional module. If the integrated module is implemented in the form of a software functional module and sold or used as an independent product, it may also be stored in a computer-readable storage medium.

[0130] Although the embodiments of the present invention have been shown and described above, it is to be understood that the above embodiments are exemplary and are not to be construed as limitations of the present invention. A person skilled in the art may change, modify, replace and vary the above embodiments within the scope of the present invention.

Claims

1. A robot scheduling method, characterized in that: The following steps are involved: Obtain historical scheduling database; Calculate the time consumption of each task type according to the historical scheduling database; In the current scheduling cycle, obtain instruction information; Performing task recognition on the instruction information through LLM to obtain a target task, wherein the LLM also obtains a named entity recognition result during the process of performing task recognition on the instruction information; Splitting the target task into N tasks to be performed according to the named entity recognition result, or determining the target task as one task to be performed, where N is an integer greater than 1; Get the status information of each robot; According to the status information and the tasks to be performed of each robot, a robot scheduling scheme is planned, wherein when there is one task to be performed, the robot scheduling scheme includes assigning the one task to be performed to one robot to perform it, and when there are N tasks to be performed, the robot scheduling scheme includes assigning the N tasks to be performed to M robots to perform them, wherein 1≤M≤N; The time consumption of each task to be executed is obtained according to the task type of each task to be executed, and the total time consumption of each scheduling scheme is calculated according to the time consumption of each task to be executed, and the scheduling scheme with the smallest total time consumption is selected for robot scheduling.

2. The robot scheduling method according to claim 1, characterized in that: The historical scheduling database includes the tasks actually performed by each robot in each historical scheduling cycle and the corresponding time consumption. The time taken for each task type is calculated according to the following formula: T i =a*T1 i +b*T2 i Among them, T i Indicates the time taken for the i-th task type, T1 i represents the average time consumed by the i-th task type in the first time period up to the start time of the current scheduling cycle, T2 i It represents the average duration of the i-th task type in the second time period up to the start time of the current scheduling cycle, and a and b are weight coefficients.

3. The robot scheduling method according to claim 1, characterized in that: Splitting the target task into N tasks to be performed according to the named entity recognition result, or determining the target task as one task to be performed, specifically includes: Acquire the place names and the objects to be carried in the target task according to the named entity recognition result; Determine whether there are multiple repeated place names in the target task; If there are no repeated place names in the target task, the target task is determined as a task to be executed; If there are multiple repeated place names in the target task, obtain a path topology when the target task is performed by a single robot, and determine whether there are opposite path vectors with two place names as nodes in the path topology; If there is no opposite path vector with two place names as nodes in the path topology, the target task is determined as a task to be executed; If there are opposite path vectors with two place names as nodes in the path topology, grouping each two opposite path vectors into one group, and determining whether the single robot carries the same object in each group of path vectors; If the single robot carries the same object in any set of path vectors, the target task is determined as a task to be performed; If the single robot carries different objects in N-1 groups of path vectors, the target task is split into N tasks to be performed.

4. The robot scheduling method according to claim 1, characterized in that: Also includes: The number of robots in the current scheduling cycle is planned according to the historical scheduling database.

5. The robot scheduling method according to claim 4, characterized in that: The historical scheduling database also includes the number of robots in each historical scheduling cycle, the total time of idle robots, and the total time of pending tasks in the task pool. Planning the number of robots in the current scheduling cycle according to the historical scheduling database specifically includes: The total duration of idle robots in each historical scheduling cycle and the total duration of pending tasks in the task pool are weighted summed to obtain the mismatch duration of each historical scheduling cycle. Sort each historical scheduling cycle in ascending order of mismatch duration; Calculate the mean of the number of robots in the first R scheduling periods in the sorting, and take the integer to get the number of robots in the current scheduling period, where R is a positive integer.

6. A robot scheduling system, characterized in that: include: A first acquisition module, the first acquisition module is used to acquire a historical scheduling database; A first planning module, the first planning module is used to calculate the time consumption of each task type according to the historical scheduling database; A second acquisition module, the second acquisition module is used to acquire instruction information in a current scheduling cycle; A recognition module, wherein the recognition module is used to perform task recognition on the instruction information through LLM to obtain a target task, wherein the LLM also obtains a named entity recognition result during the task recognition process on the instruction information; A splitting module, the splitting module is used to split the target task into N tasks to be performed according to the named entity recognition result, or determine the target task as one task to be performed, wherein N is an integer greater than 1; A third acquisition module, the third acquisition module is used to obtain status information of each robot; A second planning module, the second planning module is used to plan a robot scheduling scheme according to the state information and the tasks to be performed of each robot, wherein when there is one task to be performed, the robot scheduling scheme includes assigning the one task to be performed to one robot to perform it, and when there are N tasks to be performed, the robot scheduling scheme includes assigning the N tasks to be performed to M robots to perform them, wherein 1≤M≤N; The scheduling module is used to obtain the time consumption of each task to be executed according to the task type of each task to be executed, calculate the total time consumption of each scheduling scheme according to the time consumption of each task to be executed, and select the scheduling scheme with the smallest total time consumption for robot scheduling.

7. The robot scheduling system according to claim 6, characterized in that: The historical scheduling database includes the tasks actually performed by each robot in each historical scheduling cycle and the corresponding time consumption. The first planning module calculates the time consumption of each task type according to the following formula: T i =a*T1 i +b*T2 i Among them, T i Indicates the time taken for the i-th task type, T1 i represents the average time consumed by the i-th task type in the first time period up to the start time of the current scheduling cycle, T2 i It represents the average duration of the i-th task type in the second time period up to the start time of the current scheduling cycle, and a and b are weight coefficients.

8. The robot scheduling system according to claim 6, characterized in that: The splitting module is specifically used for: Acquire the place names and the objects to be carried in the target task according to the named entity recognition result; Determine whether there are multiple repeated place names in the target task; If there are no repeated place names in the target task, the target task is determined as a task to be executed; If there are multiple repeated place names in the target task, obtain a path topology when the target task is performed by a single robot, and determine whether there are opposite path vectors with two place names as nodes in the path topology; If there is no opposite path vector with two place names as nodes in the path topology, the target task is determined as a task to be executed; If there are opposite path vectors with two place names as nodes in the path topology, grouping each two opposite path vectors into one group, and determining whether the single robot carries the same object in each group of path vectors; If the single robot carries the same object in any set of path vectors, the target task is determined as a task to be performed; If the single robot carries different objects in N-1 groups of path vectors, the target task is split into N tasks to be performed.

9. The robot scheduling system according to claim 6, characterized in that: The first planning module is also used to plan the number of robots in the current scheduling cycle according to the historical scheduling database.

10. The robot scheduling system according to claim 9, characterized in that: The historical scheduling database also includes the number of robots in each historical scheduling cycle, the total time of idle robots, and the total time of pending tasks in the task pool. The first planning module is specifically used for: The total duration of idle robots in each historical scheduling cycle and the total duration of pending tasks in the task pool are weighted summed to obtain the mismatch duration of each historical scheduling cycle. Sort each historical scheduling cycle in ascending order of mismatch duration; Calculate the mean of the number of robots in the first R scheduling periods in the sorting, and take the integer to get the number of robots in the current scheduling period, where R is a positive integer.

Citation Information

Patent Citations

  • Multi-robot control method, electronic equipment and storage medium

    CN114193447A

  • AGV (Automatic Guided Vehicle) multi-vehicle scheduling system and related scheduling method

    CN116339257A

  • AGVS multi-resource integrated dynamic scheduling method based on hybrid simulation and immune negotiation

    CN116957248A

  • Intelligent scheduling method and device of RPA task, terminal equipment and storage medium

    CN117952543A

  • Task allocation method and device and computer readable storage medium

    CN117973752A