Robot scheduling method and system
By obtaining the historical scheduling database and using a large language model to identify tasks, and combining the robot status information to plan the scheduling plan, the problem of unreasonable robot scheduling is solved and the task processing efficiency is improved.
Patent Information
- Application Number
- CN202411969675.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-30
- Publication Date
- 2025-09-09
- Estimated Expiration
- 2044-12-30
AI Technical Summary
In existing technologies, robot scheduling is unreasonable, resulting in low task processing efficiency.
By obtaining the historical scheduling database, using the large language model (LLM) to identify tasks and perform named entity recognition, combined with the robot status information, the optimal scheduling plan is planned to reasonably allocate tasks.
The reasonable scheduling of robots is achieved, and the efficiency of task processing is improved.
Smart Images

Figure CN119781410B_ABST
Abstract
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 robotics, the application of robot swarms is becoming increasingly widespread across industries such as manufacturing, services, and warehousing and logistics. In scenarios like hotels and logistics warehouses, the basic application of robots no longer presents technical barriers. However, the scheduling of multiple robots still presents numerous inefficiencies, which clearly cannot guarantee efficient task processing. 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 in 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 large language model (LLM) is used to perform task recognition on the instruction information 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; according to the status information of each robot and the tasks to be executed, a robot scheduling scheme is planned, 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 period 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 Indicates the average time taken 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 period, 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 one 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 one 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 that idle robots exist, and the total time that tasks to be executed exist in the task pool. The number of robots in the current scheduling cycle is planned based on the historical scheduling database, specifically including: taking a weighted sum of the total time that idle robots exist in each historical scheduling cycle and the total time that tasks to be executed exist in the task pool to obtain the mismatch duration of each historical scheduling cycle; sorting each historical scheduling cycle 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 the 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, the third acquisition module is used to acquire the status information of each robot; a second planning module, the second planning module is used to plan a robot scheduling plan based on the status information of each robot and the task to be executed, wherein, when there is one task to be executed, the robot scheduling plan includes assigning the one task to be executed to a robot that executes it; when there are N tasks to be executed, the robot scheduling plan includes assigning the N tasks to be executed to M robots that execute them, wherein 1≤M≤N; a scheduling module, the scheduling module is used to acquire the time consumption of each task to be executed according to the task type of each task to be executed, and calculate the total time consumption of each scheduling plan based on the time consumption of each task to be executed, and select the scheduling plan 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 period 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 Indicates the average time taken 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 period, and a and b are weight coefficients.
[0016] The splitting module is specifically used to: obtain the place names and objects 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, determine the target task as a task to be executed; if there are multiple repeated place names in the target task, obtain the path topology when the target task is executed by a single robot, and determine 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, determine 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, group each two opposite path vectors into a group, and determine 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, determine the target task as a task to be executed; if the single robot carries different objects in N-1 groups of path vectors, split the target task into N tasks to be executed.
[0017] The first planning module is further configured to plan the number of robots in a 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 that idle robots exist, and the total time that tasks to be executed exist in the task pool. The first planning module is specifically used to: perform weighted summation of the total time that idle robots exist in each historical scheduling cycle and the total time that tasks to be executed exist in the task pool to obtain the mismatch duration of each historical scheduling cycle; sort the historical scheduling cycles in order of 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. Finally, the scheduling plan is determined 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 flowchart of a robot scheduling method according to an embodiment of the present invention;
[0022] Figure 2 4 is a block diagram of a robot scheduling system according to an embodiment of the present invention. DETAILED DESCRIPTION
[0023] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. 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 making creative efforts are within the scope of protection of the present invention.
[0024] like Figure 1 As shown, the robot scheduling method according to 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 can be pre-set, and the robot scheduling method of the present invention can be executed within each scheduling cycle. For example, a scheduling cycle can be set every month, every week, or every day. The historical scheduling database includes scheduling data for each historical scheduling cycle, such as the tasks actually performed by each robot during 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 Indicates the average time taken 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 period, and a and b are weight coefficients.
[0031] The task type indicates the specific type of task performed by the robot. For example, in a hotel robot scenario, task types may include delivering food to guest rooms, collecting tableware from guest rooms, exchanging food between guest rooms and the restaurant, registering guests, guiding guests from the front desk to guest rooms, one-way transport, multiple round-trip transport, cleaning, and disinfection. While the time required for robots to perform the same task type generally varies slightly, the time required to perform different task types can vary significantly. Therefore, embodiments of the present invention use task type to estimate the time required for robots to perform tasks.
[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 of the current scheduling period. i represents the average duration of the i-th task type within a week up to the start of the current scheduling period. The respective weight coefficients can be selected in advance through experiments or set based on 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, command information refers to information sent when a task instruction is issued to a robot or a robot scheduling system, and is processed by the robot scheduling system. Command 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 speech, recognizes text, and then sends the text-based command information 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 during the task recognition process 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 subsequent target task execution is not aborted or receives negative feedback, the recognition is considered correct, and the instruction information and recognition results are added to the training set used to train the LLM, allowing the LLM to be trained again. This enables self-learning of the LLM and continuously improves the accuracy of LLM task recognition.
[0038] The LLM's named entity recognition results in this embodiment of the present invention are also extracted to serve as a basis for subsequent task splitting. Named entity recognition results primarily include place names, belongings, time, and quantity. In this embodiment of the present invention, place names and belongings are primarily used. Below, we illustrate the named entity recognition results extracted by the LLM in some specific examples, using the hotel robot application scenario as an example.
[0039] Example 1:
[0040] After finishing his meal, the guest in Room 888 sent an instruction to collect the tableware. Based on the instruction, LLM identified the task as "returning the tableware from Room 888 to Restaurant 1". The named entity recognition results included the place names "Room 888", "Restaurant 1", and the items "tableware".
[0041] Example 2:
[0042] The guest in room 888 opens the food he ordered and finds it is not what he wanted. 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 recognizes 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 toiletries, towels, and toothbrushes. The guest issues an instruction to deliver these items. Based on the guest's instruction, LLM identifies the following task: "Send toiletries from Warehouse 1 to Room 888, towels from Warehouse 2 to Room 888, and toothbrushes from Warehouse 3 to Room 888." The named entity recognition results include the place names "Warehouse 1," "Room 888," "Warehouse 2," "Room 888," "Warehouse 3," and "Room 888," and the items "bath toiletries," "towels," and "toothbrushes."
[0045] Example 4:
[0046] The dispatcher wants to deliver three groups of bottled water to rooms A, B, and C respectively. At this time, the dispatcher issues relevant instructions for delivering the above items. Based on the dispatcher's instructions, LLM recognizes the task as: "Deliver the first group of bottled water from point 1 to room A, the second group of bottled water from point 1 to room B, and the third group of bottled water from point 1 to room C." The named entity recognition results include the place names "point 1," "room A," "point 1," "room B," "point 1," and "room C," and the items carried: "first group of bottled water," "second group of bottled water," and "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 ultimately determined as one pending task, it means that the target task can only be executed by one robot alone; if the target task is ultimately split into N pending tasks, 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 based on the named entity recognition results, and it can be determined whether there are multiple repeated place names in the target task. For example, in Example 1 above, the place names are "Room 888" and "Restaurant 1", and there are no repeated place names in the target task; in Example 2 above, the place names are "Room 888", "Restaurant 1", "Restaurant 1", and "Room 888", and there are two repeated place names "Room 888" and two repeated place names "Restaurant 1"; in Example 3 above, the place names are "Warehouse 1", "Room 888", "Warehouse 2", "Room 888", "Warehouse 3", and "Room 888", and there are three repeated place names "Room 888"; in Example 4 above, the place names 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 the target task does not contain multiple repeated place names, the target task is determined to be a single pending task. If the target task does not contain multiple repeated place names, it is impossible that there are no round trips between the places. This makes it unsuitable for two or more robots to jointly perform the target task. Instead, it can be treated as a task to be performed by a single robot.
[0051] If the target task contains multiple duplicate location names, obtain the path topology for the target task performed by a single robot and determine whether there are opposing path vectors with two location names as nodes. A node in the path topology is the starting point and end point of a path vector. Opposing path vectors are two path vectors where the starting point of one is the end point of the other, and vice versa.
[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 route between the two place names. In this case, the target task is determined as a task to be executed.
[0053] If the path topology contains opposing path vectors with two place names as nodes, each pair of opposing path vectors is grouped together, and a determination is made as to whether the robot in each group of path vectors carries the same payload. The presence of opposing path vectors with two place names as nodes in the path topology indicates that there is a round trip between these places, potentially allowing two or more robots to jointly execute the target task. In one embodiment of the present invention, an unladen robot is considered to have no payload. If one path in a group of path vectors carries an payload and the other path does not, the robots are considered to be carrying different payloads.
[0054] If the robot carries the same object in any set of path vectors, the target task is considered a single task. If the robots carry the same object during their round trips, it is not suitable for two or more robots to jointly execute the target task and can be considered a task for a single robot.
[0055] If the single robot carries different objects in N-1 sets of path vectors, the target task is split into N tasks to be executed. If the robots carry different objects in their round trips, two different robots can perform the task in the outbound and return directions, respectively. The target task can be split based on the opposite set of path vectors. If there are N-1 sets of path vectors carrying different objects, the target task can be split into N tasks to be executed.
[0056] S6, obtain the status information of each robot.
[0057] The robot status information includes idle, executing a task, and faulty. Faulty robots will not be scheduled. Among them, the status information of executing a task also includes the task type and the time the task has been executed.
[0058] S7. Planning a robot scheduling plan based on the status information and pending tasks of each robot. When there is one pending task, the robot scheduling plan includes assigning the task to one robot to execute it. When there are N pending tasks, the robot scheduling plan includes assigning the N pending tasks to M robots to execute them. Where 1≤M≤N.
[0059] In one embodiment of the present invention, the maximum number of tasks that each robot can accept is two. This means that only idle robots with no assigned tasks and robots currently assigned only one task can accept pending tasks. If all robots have reached their maximum number of tasks and are unable to accept new tasks, pending tasks will be placed in the task pool until a robot is able to accept a new task.
[0060] In this embodiment of the present invention, robots that can accept new tasks are called available robots. When there is only one task to be executed, the task is assigned to each available robot, corresponding to a robot scheduling plan. When there are N tasks to be executed, the N tasks are assigned to each available robot, every two available robots, and so on, up to N available robots, corresponding to a robot scheduling plan. Assuming that there are three tasks to be executed, u, v, and w, and three available robots, U, V, and W, 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 u and w are assigned to robot V, and task v 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, and w assigned to robots U, V, W, U, W, V, U, W, U, V, W, V, U, etc. The above are 27 robot scheduling schemes in total. Other situations are similar and are not 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 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 consumed by each scheduling scheme is:
[0063] Tt=Tr+Tw
[0064] Among them, Tt is the total time of each scheduling plan; Tr is the remaining time of the task being performed by the robot in the scheduling plan, which is the difference between the time of the task being performed and the time the task has been executed. When the robot is idle, Tr is 0; Tw is the time of the task to be performed, which is the time of the task type of the task to be performed.
[0065] When there are N tasks to be executed, the total time taken for each scheduling scheme is:
[0066]
[0067] Among them, Tr j The remaining time of the task being performed by the jth robot in the scheduling scheme is the difference between the time taken to perform the task and the time the task has been performed. When the robot is idle, Tr j is 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 minimum 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 an embodiment of the present invention, before step S3, the number of robots in the current scheduling cycle may be planned according to a historical scheduling database.
[0070] In one embodiment of the present invention, the historical scheduling database may further include the number of robots within each historical scheduling cycle, the total duration of idle robots, and the total duration of pending tasks in the task pool. Specifically, a weighted sum of the total duration of idle robots and the total duration of pending tasks in the task pool within each historical scheduling cycle may be taken to obtain the mismatch duration for each historical scheduling cycle. The historical scheduling cycles are then sorted in ascending order of mismatch duration. Finally, the mean of the number of robots within the first R scheduling cycles in the sort is calculated and rounded to the integer value to obtain the number of robots in the current scheduling cycle, where R is a positive integer.
[0071] The mismatch duration for each historical scheduling cycle refers to the weighted total duration that the number of robots does not match the number of tasks to be executed during that cycle. Conversely, when there are no idle robots and no tasks to be executed in the task pool, the number of robots matches the number of tasks to be executed, or the number of robots is just right. The mismatch duration for each historical scheduling cycle can be calculated using 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 pending tasks in the task pool in the historical scheduling cycle, α is the cost priority weight, and β is the efficiency priority weight.
[0074] During the current scheduling cycle, robots can be deployed based on the number of robots planned for the current scheduling cycle, including setting the actual number of robots for the current scheduling cycle in a predetermined area and establishing communication connections between each robot deployed in the predetermined area and the robot scheduling system. The sum of α and β is 1. They are pre-set based on a trade-off between cost and task execution efficiency. When cost reduction is a priority, α can be increased; when task execution efficiency is improved, for example, when the satisfaction rating of the robot service recipients decreases, β can be increased. R is preferably greater than 1, for example, 5. The above-mentioned rounding of the mean can be performed directly or, depending on the size of α and β, rounding down when α is greater than β, rounding up when α is less than β, and rounding down when α equals β. During the initial R scheduling cycles, the number of robots can be manually set, and the number of robots in each of the initial R scheduling cycles varies.
[0075] According to the robot scheduling method of an embodiment of the present invention, the task duration of the current scheduling cycle is first calculated based on 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 plan is planned according to the split tasks. Finally, the scheduling plan is determined in combination with 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.
[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 Human status information; the second planning module 70 is used to plan a robot scheduling plan 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 plan includes assigning one task to be performed to a robot that performs it; 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 based on 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 robot scheduling can be performed within each scheduling cycle using the robot scheduling system of an embodiment of the present invention. For example, a scheduling cycle can be set every month, every week, or every day. The historical scheduling database includes scheduling data for each historical scheduling cycle, such as the tasks actually performed by each robot during 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 Indicates the average time taken 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 period, and a and b are weight coefficients.
[0082] The task type indicates the specific type of task performed by the robot. For example, in a hotel robot scenario, task types may include delivering food to guest rooms, collecting tableware from guest rooms, exchanging food between guest rooms and the restaurant, registering guests, guiding guests from the front desk to guest rooms, one-way transport, multiple round-trip transport, cleaning, and disinfection. While the time required for robots to perform the same task type generally varies slightly, the time required to perform different task types can vary significantly. Therefore, embodiments of the present invention use task type to estimate the time required for robots to perform tasks.
[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 of the current scheduling period. i represents the average duration of the i-th task type within a week up to the start of the current scheduling period. The respective weight coefficients can be selected in advance through experiments or set based on 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 issued when a task instruction is issued to a robot or a robot scheduling system and is processed by the robot scheduling system. The instruction information can be sent directly 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 speech, recognizes 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 subsequent target task execution is not aborted or receives negative feedback, the recognition is considered correct, and the instruction information and recognition results are added to the training set used to train the LLM, allowing the LLM to be trained again. This enables self-learning of the LLM and continuously improves the accuracy of LLM task recognition.
[0087] The named entity recognition results of the LLM in this embodiment of the present invention are also extracted by recognition module 40 to serve as the basis for subsequent task splitting. Named entity recognition results mainly include place names, objects, time, quantity, etc. In this embodiment of the present invention, place names and objects are mainly used. The following uses the hotel robot application scenario as an example to illustrate some specific examples of named entity recognition results extracted by the LLM.
[0088] Example 1:
[0089] After finishing his meal, the guest in Room 888 sent an instruction to collect the tableware. Based on the instruction, LLM identified the task as "returning the tableware from Room 888 to Restaurant 1". The named entity recognition results included the place names "Room 888", "Restaurant 1", and the items "tableware".
[0090] Example 2:
[0091] The guest in room 888 opens the food he ordered and finds it is not what he wanted. 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 recognizes 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 toiletries, towels, and toothbrushes. The guest issues an instruction to deliver these items. Based on the guest's instruction, LLM identifies the following task: "Send toiletries from Warehouse 1 to Room 888, towels from Warehouse 2 to Room 888, and toothbrushes from Warehouse 3 to Room 888." The named entity recognition results include the place names "Warehouse 1," "Room 888," "Warehouse 2," "Room 888," "Warehouse 3," and "Room 888," and the items "bath toiletries," "towels," and "toothbrushes."
[0094] Example 4:
[0095] The dispatcher wants to deliver three groups of bottled water to rooms A, B, and C respectively. At this time, the dispatcher issues relevant instructions for delivering the above items. Based on the dispatcher's instructions, LLM recognizes the task as: "Deliver the first group of bottled water from point 1 to room A, the second group of bottled water from point 1 to room B, and the third group of bottled water from point 1 to room C." The named entity recognition results include the place names "point 1," "room A," "point 1," "room B," "point 1," and "room C," and the items carried: "first group of bottled water," "second group of bottled water," and "third group of bottled water."
[0096] If the target task is ultimately determined as one pending task, it means that the target task can only be executed by one robot alone; if the target task is ultimately split into N pending tasks, 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 objects in the target task based on the named entity recognition results, and determine whether there are multiple repeated place names in the target task. For example, the place names in Example 1 above are "Room 888" and "Restaurant No. 1", and there are no repeated place names in the target task; the place names in Example 2 above 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 Example 3 above 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 Example 4 above 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".
[0098] If the target task does not contain multiple repeated place names, the splitting module 50 determines the target task as a single task to be executed. If the target task does not contain multiple repeated place names, it is impossible that there is no round trip between the routes of the place names. Therefore, it is not suitable for two or more robots to jointly execute the target task. It can be regarded as a task to be executed by a single robot.
[0099] If the target task contains multiple duplicate place names, the splitting module 50 obtains the path topology for the target task when executed by a single robot and determines whether there are any opposite path vectors in the path topology that have two place names as nodes. A node in the path topology is the starting point and end point of a path vector. Opposite path vectors are two path vectors where the starting point of one is the end point of the other, and vice versa.
[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. In this case, the splitting module 50 determines the target task as a task to be executed.
[0101] If the path topology contains opposing path vectors with two place names as nodes, the splitting module 50 groups each pair of opposing path vectors and determines whether the single robot in each group of path vectors carries the same payload. The presence of opposing path vectors with two place names as nodes in the path topology indicates that there is a round trip between these places, making it possible for two or more robots to jointly perform the target task. In one embodiment of the present invention, an unladen robot is considered to have no payload. If one path in a group of path vectors carries an payload and the other path does not, the robots are considered to be carrying different payloads.
[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 single task to be performed. If the robots carry the same object during their round trips, it indicates that it is not suitable for two or more robots to jointly perform the target task, and the task can be considered a task to be performed by a single robot.
[0103] If the single robot carries different objects in N-1 sets of path vectors, the splitting module 50 splits the target task into N tasks to be executed. If the robots carry different objects during their round trips, this means that two different robots can perform the tasks in the outbound and return directions, respectively. Furthermore, the target task can be split based on the set of opposite path vectors. If there are N-1 sets of path vectors carrying different objects, the target task can be split into N tasks to be executed.
[0104] The robot status information includes idle, executing a task, and faulty. Faulty robots will not be scheduled. Among them, the status information of executing a task also includes the task type and the time the task has been executed.
[0105] In one embodiment of the present invention, the maximum number of tasks that each robot can accept is two. This means that only idle robots with no assigned tasks and robots currently assigned only one task can accept pending tasks. If all robots have reached their maximum number of tasks and are unable to accept new tasks, pending tasks will be placed in the task pool until a robot is able to accept a new task.
[0106] In this embodiment of the present invention, robots that can accept new tasks are called available robots. When there is only one task to be executed, the task is assigned to each available robot, corresponding to a robot scheduling plan. When there are N tasks to be executed, the N tasks are assigned to each available robot, every two available robots, and so on, up to N available robots, corresponding to a robot scheduling plan. Assuming that there are three tasks to be executed, u, v, and w, and three available robots, U, V, and W, 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 u and w are assigned to robot V, and task v 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, and w assigned to robots U, V, W, U, W, V, U, W, U, V, W, V, U, etc. The above are 27 robot scheduling schemes in total. Other situations are similar and are not listed here.
[0107] The total time consumed 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 only one task to be executed, the total time consumed for each scheduling scheme is:
[0108] Tt=Tr+Tw
[0109] Among them, Tt is the total time of each scheduling plan; Tr is the remaining time of the task being performed by the robot in the scheduling plan, which is the difference between the time of the task being performed and the time the task has been executed. When the robot is idle, Tr is 0; Tw is the time of the task to be performed, which is the time of the task type of the task to be performed.
[0110] When there are N tasks to be executed, the total time taken for each scheduling scheme is:
[0111]
[0112] Among them, Tr j The remaining time of the task being performed by the jth robot in the scheduling scheme is the difference between the time taken to perform the task and the time the task has been performed. When the robot is idle, Tr j is 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 minimum total time consumption and assigns 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 period according to the historical scheduling database.
[0115] In one embodiment of the present invention, the historical scheduling database may further include the number of robots within 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 within each historical scheduling cycle and the total duration of pending tasks in the task pool to obtain the mismatch duration for each historical scheduling cycle. The scheduling cycles are then sorted in ascending order of mismatch duration. Finally, the mean of the number of robots within the first R scheduling cycles in the sort is calculated and rounded to the integer value to obtain the number of robots in the current scheduling cycle, where R is a positive integer.
[0116] The mismatch duration for each historical scheduling cycle refers to the weighted total duration that the number of robots does not match the number of tasks to be executed during that cycle. Conversely, when there are no idle robots and no tasks to be executed in the task pool, the number of robots matches the number of tasks to be executed, or the number of robots is just right. The mismatch duration for each historical scheduling cycle can be calculated using 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 pending tasks in the task pool in the historical scheduling cycle, α is the cost priority weight, and β is the efficiency priority weight.
[0119] During the current scheduling cycle, robots can be deployed based on the number of robots planned for the current scheduling cycle, including setting the actual number of robots for the current scheduling cycle in a predetermined area and establishing communication connections between each robot deployed in the predetermined area and the robot scheduling system. The sum of α and β is 1. They are pre-set based on a trade-off between cost and task execution efficiency. When cost reduction is a priority, α can be increased; when task execution efficiency is improved, for example, when the satisfaction rating of the robot service recipients decreases, β can be increased. R is preferably greater than 1, for example, 5. The above-mentioned rounding of the mean can be performed directly or, depending on the size of α and β, rounding down when α is greater than β, rounding up when α is less than β, and rounding down when α equals β. During the initial R scheduling cycles, the number of robots can be manually set, and the number of robots in each of the initial R scheduling cycles varies.
[0120] According to the robot scheduling system of an embodiment of the present invention, the task duration of the current scheduling cycle is first calculated based on 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 plan is planned according to the split tasks. Finally, the scheduling plan is determined in combination with 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.
[0121] In the description of the present invention, the terms "first" and "second" are used for descriptive purposes only and should not be understood to indicate or imply relative importance or implicitly specify the number of the technical features indicated. Therefore, a feature specified as "first" or "second" may explicitly or implicitly include one or more of such features. "Multiple" means two or more, unless otherwise specifically defined.
[0122] In the present invention, unless otherwise expressly specified or limited, the terms "mounted," "connected," "connect," "fixed," etc. should be understood broadly. For example, they may refer to fixed connection, detachable connection, or integration; mechanical connection or electrical connection; direct connection or indirect connection through an intermediate medium; internal communication between two components or interaction between two components. Those skilled in the art will understand the specific meanings of the above terms in the present invention based on specific circumstances.
[0123] In the present invention, unless otherwise expressly specified or limited, when a first feature is "above" or "below" a second feature, it may mean that the first and second features are in direct contact, or that the first and second features are in indirect contact through an intermediary. Furthermore, when a first feature is "above," "above," or "above" a second feature, it may mean that the first feature is directly above or diagonally above the second feature, or simply means that the first feature is at a higher level than the second feature. When a first feature is "below," "below," or "below" a second feature, it may mean that the first feature is directly below or diagonally below the second feature, or simply means that the first feature is at a lower level than the second feature.
[0124] In the description of this specification, the reference terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" mean 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 can be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art can combine and combine different embodiments or examples described in this specification and features of different embodiments or examples without contradiction.
[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 comprising 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 be performed out of 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 pertain.
[0126] The logic and / or steps represented in the flowcharts or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing the logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus, or device (e.g., a computer-based system, a system including a processor, or other system that can fetch and execute instructions from an instruction execution system, apparatus, or device). For purposes of this specification, a "computer-readable medium" can be any device that can contain, store, communicate, propagate, or transport a program for use by, or in conjunction with, an instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of computer-readable media include the following: an electrical connection having one or more wires (electronic devices), a portable computer disk cartridge (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 disc read-only memory (CDROM). Furthermore, 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 it in another suitable manner if necessary, and then storing it in a computer memory.
[0127] It should be understood that various parts of the present invention can be implemented using hardware, software, firmware, or a combination thereof. In the above-described embodiments, multiple steps or methods can be implemented using software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented using hardware, as in another embodiment, any one of the following technologies known in the art or a combination thereof can be used: a discrete logic circuit having a logic gate circuit for implementing a logic function on a data signal, an application-specific integrated circuit having a suitable combination of logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.
[0128] Those skilled in the art will understand that all or part of the steps in the method of the above embodiment can be completed by instructing related hardware through a program, and the program can be stored in a computer-readable storage medium. When the program is executed, it includes one or a combination of the steps of the method embodiment.
[0129] In addition, the functional units in the various embodiments of the present invention may be integrated into a single processing module, or each unit may exist physically separately, or two or more units may be integrated into a single module. The aforementioned integrated modules may be implemented in the form of hardware or in the form of software functional modules. If the integrated modules are implemented in the form of software functional modules and sold or used as independent products, they 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 will be understood that the above embodiments are illustrative and are not to be construed as limitations on the present invention. A person skilled in the art may change, modify, replace and modify 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 the 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; 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; Planning a robot scheduling plan based on the status information and pending tasks of each robot, wherein when there is one pending task, the robot scheduling plan includes assigning the one pending task to one robot to execute it; when there are N pending tasks, the robot scheduling plan includes assigning the N pending tasks to M robots to execute them, wherein 1≤M≤N; 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. 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 one 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 one 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.
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 using the following formula: ; Among them, T i Indicates the time taken for the i-th task type, T1 i Indicates the average time taken 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 period, and a and b are weight coefficients.
3. 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.
4. The robot scheduling method according to claim 3, characterized in that: The historical scheduling database also includes the number of robots in each historical scheduling period, the total time when idle robots exist, and the total time when tasks to be executed exist 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.
5. 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, configured 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 period; an identification module, the identification module being configured to perform task identification on the instruction information through the LLM to obtain a target task, wherein the LLM also obtains a named entity recognition result during the task identification process on the instruction information; a splitting module, configured to split the target task into N tasks to be performed according to the named entity recognition result, or to determine the target task as one task to be performed, where N is an integer greater than 1; a third acquisition module, configured to acquire status information of each robot; a second planning module, the second planning module being configured to plan a robot scheduling plan 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 plan includes assigning the one task to be performed to one robot to perform the task, and when there are N tasks to be performed, the robot scheduling plan includes assigning the N tasks to be performed to M robots to perform the tasks, 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. The splitting module is specifically used to: obtain the place names and objects 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, determine the target task as a task to be executed; if there are multiple repeated place names in the target task, obtain the path topology when the target task is executed by a single robot, and determine 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, determine 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, group each two opposite path vectors into a group, and determine 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, determine the target task as a task to be executed; if the single robot carries different objects in N-1 groups of path vectors, split the target task into N tasks to be executed.
6. The robot scheduling system according to claim 5, 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: ; Among them, T i Indicates the time taken for the i-th task type, T1 i Indicates the average time taken 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 period, and a and b are weight coefficients.
7. The robot scheduling system according to claim 5, characterized in that: The first planning module is further configured to plan the number of robots in a current scheduling cycle according to the historical scheduling database.
8. The robot scheduling system according to claim 7, characterized in that: The historical scheduling database also includes the number of robots in each historical scheduling period, the total time when idle robots exist, and the total time when tasks to be executed exist 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
AGV (Automatic Guided Vehicle) multi-vehicle scheduling system and related scheduling method
CN116339257A
Robot task management system based on deep reinforcement learning
CN118644055A