Robot scheduling method and apparatus
By predicting task execution losses and determining the cross-regional scheduling strategy of robots, the problem of low robot scheduling efficiency is solved, and the task execution efficiency is improved and the resource utilization is effectively achieved.
Patent Information
- Application Number
- PCT/CN2023/123587
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-10-12
- Filing Date
- 2023-10-09
- Publication Date
- 2025-02-06
AI Technical Summary
In the prior art, robot scheduling efficiency is low, resulting in insufficient task execution and insufficient resources to be effectively utilized. Especially in multi-region scenarios, uneven distribution of robots leads to insufficient task execution efficiency.
By obtaining the global and local tasks to be executed in the specified scenario, predicting task execution losses, determining the robot's cross-region scheduling strategy, realizing robot's cross-region scheduling, and switching tasks to be executed when necessary to optimize distance.
It improves task execution efficiency, makes full use of robot resources, and reduces the loss and cost of task execution.
Smart Images

Figure CN2023123587_06022025_PF_FP_ABST
Abstract
Description
Robot scheduling method and device
[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on October 12, 2022, with application number "202211249762.6" and invention name "Robot Scheduling Method and Device", and the Chinese patent application filed with the China Patent Office on October 12, 2022, with application number "202211245844.3" and invention name "Task Execution Method and Device", the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The present invention relates to the field of logistics and warehousing technology, and in particular to a robot scheduling method. The present invention also relates to a robot scheduling device, a computing device, and a computer-readable storage medium. Background Art
[0003] With the development of robotics technology, an increasing number of dispatchable robots are being used in industrial services such as freight, warehousing, logistics, and catering, greatly facilitating human production and daily life. However, the growth in the number of robots and the number of tasks they need to perform has also brought new challenges to robot scheduling across multiple areas within a given scenario. As the number of robots continues to grow, the time required to poll a target robot for a task also increases, and task execution efficiency often does not scale linearly with the size of the site.
[0004] Currently, task generation is determined by the hit process, and tasks are unevenly distributed across the various regions of a given scene. For example, a given scene has three regions (regions 1, 2, and 3). Region 1 is responsible for carrying daily necessities, region 2 is responsible for carrying electronic products, and region 3 is responsible for carrying food. During electronic product promotions, region 2 has a higher hit probability, resulting in a higher number of corresponding handling tasks. Furthermore, the number of robots is limited, and the mismatch between the distribution of robots in each region and the number of tasks generated in each region often leads to a situation where there is an abundance of robots in regions with few tasks, while there is a shortage of robots in regions with many tasks. This underutilizes the robot resources and results in inefficient task execution. For robot scheduling within a region, a robot must be bound to a specific location within the region before it can execute the pending task at that location. However, this mechanism, in which robots are bound to specific locations before executing pending tasks, results in a large number of remote calls to other robots and causes corresponding deadlock issues, severely impacting the execution efficiency of pending tasks and increasing the execution cost of pending tasks. Therefore, there is an urgent need for a robot scheduling method that can fully utilize the number of robot resources and improve the efficiency of task execution.
[0005] Summary of the Invention
[0006] In view of this, an embodiment of the present invention provides a robot scheduling method to solve the technical defects existing in the prior art. An embodiment of the present invention also provides a robot scheduling device, a computing device, and a computer-readable storage medium.
[0007] According to a first aspect of an embodiment of the present invention, a robot scheduling method is provided, comprising:
[0008] Obtain the global average amount of tasks to be performed for a specified scene, as well as the local average amount of tasks to be performed for each region, where the specified scene is pre-divided into multiple regions;
[0009] Predict the global task execution loss for a given scenario based on the global average number of tasks to be executed and the local average number of tasks to be executed in each region;
[0010] Determine the robot cross-region scheduling strategy based on the global task execution loss;
[0011] The robot cross-region scheduling strategy is used to schedule the target robots in the specified scene across regions.
[0012] Optionally, after the target robot in the specified scene is dispatched across regions using the robot cross-region dispatch strategy, the method further includes:
[0013] Acquire first binding information, first location information of a task to be performed, and current location information of the robot, wherein the first binding information includes a binding relationship between the robot and the second location information of the task currently being performed;
[0014] Parsing the first binding information to obtain the second location information;
[0015] Calculating a first distance between the robot and the task to be performed and a second distance between the robot and the task currently being performed based on the first position information, the second position information, and the current position information;
[0016] When the first distance is smaller than the second distance, the task to be executed is switched.
[0017] According to a second aspect of an embodiment of the present invention, there is provided a robot scheduling device, comprising:
[0018] A first acquisition module is configured to acquire a global average amount of tasks to be performed in a specified scene and a local average amount of tasks to be performed in each area, wherein the specified scene is pre-divided into multiple areas;
[0019] A prediction module configured to predict the global task execution loss of a specified scenario based on the global average amount of tasks to be executed and the local average amount of tasks to be executed in each region;
[0020] A determination module is configured to determine a robot cross-region scheduling strategy based on a global task execution loss;
[0021] The scheduling module is configured to utilize the robot cross-region scheduling strategy to perform cross-region scheduling on the target robot in the specified scene.
[0022] Optionally, the device further includes a task execution device, including:
[0023] A second acquisition module is configured to acquire first binding information, first position information of a task to be performed, and current position information of the robot, wherein the first binding information includes a binding relationship between the robot and the second position information of the task currently being performed;
[0024] a parsing module, configured to parse the first binding information to obtain the second location information;
[0025] a calculation module configured to calculate a first distance between the robot and the task to be performed and a second distance between the robot and the task currently being performed based on the first position information, the second position information, and the current position information;
[0026] The switching execution module is configured to switch and execute the task to be executed when the first distance is smaller than the second distance.
[0027] According to a third aspect of an embodiment of the present invention, there is provided a computing device, including:
[0028] memory and processor;
[0029] The memory is used to store computer-executable instructions, and the processor implements the steps of the robot scheduling method when executing the computer-executable instructions.
[0030] According to a fourth aspect of an embodiment of the present invention, a computer-readable storage medium is provided, which stores computer-executable instructions, and when the instructions are executed by a processor, the steps of the robot scheduling method are implemented.
[0031] According to a fifth aspect of an embodiment of the present invention, a chip is provided, which stores a computer program, and when the computer program is executed by the chip, the steps of the robot scheduling method are implemented.
[0032] The robot scheduling method provided by the present invention obtains the global average amount of tasks to be executed in a specified scene, as well as the local average amount of tasks to be executed in each area. Based on the global average amount of tasks to be executed and the local average amount of tasks to be executed in each area, the global task execution loss of the specified scene is predicted. Based on the global task execution loss, a robot cross-area scheduling strategy is determined. The robot cross-area scheduling strategy is used to perform cross-area scheduling on the target robot in the specified scene. The global average amount of tasks to be executed and the local average amount of tasks to be executed are used to predict the global task execution loss of the specified scene. The loss value when the robots are executed under the current distribution of tasks to be executed in each area is obtained, which is then used as reference data. With the robot distribution in each area in a more ideal state as the goal, a corresponding robot cross-area scheduling strategy is obtained, which fully utilizes the number of robots and improves the efficiency of task execution. BRIEF DESCRIPTION OF THE DRAWINGS
[0033] FIG1 is a schematic diagram of the system structure of a robot scheduling system provided by one embodiment of the present invention;
[0034] FIG2 is a flow chart of a robot scheduling method provided by one embodiment of the present invention;
[0035] FIG3 is a schematic diagram of a specified scenario in a robot scheduling method provided by an embodiment of the present invention;
[0036] FIG4 is a schematic diagram of another designated scenario in a robot scheduling method provided by an embodiment of the present invention;
[0037] FIG5 is a schematic diagram of a robot cross-region scheduling strategy under an iteration termination condition in a robot scheduling method provided by one embodiment of the present invention;
[0038] FIG6 is a schematic diagram of another designated scenario in a robot scheduling method provided by an embodiment of the present invention;
[0039] FIG7 is a schematic diagram of another designated scenario in a robot scheduling method provided by an embodiment of the present invention;
[0040] FIG8 is a schematic diagram of cross-regional robot scheduling in a robot scheduling method provided by an embodiment of the present invention;
[0041] FIG9 is a diagram showing the distribution of tasks and robots in various areas of a specified scene in a robot scheduling method provided by one embodiment of the present invention;
[0042] FIG10 is a schematic diagram of an analysis model in a robot scheduling method provided by an embodiment of the present invention;
[0043] FIG11 is a schematic diagram of a target analysis model in a robot scheduling method provided by an embodiment of the present invention;
[0044] FIG12 is a schematic diagram of an inter-area transfer channel in a robot scheduling method provided by an embodiment of the present invention;
[0045] FIG13 is a schematic diagram of a robot scheduling method provided by an embodiment of the present invention;
[0046] FIG14 is a schematic diagram of a robot increment value in a robot scheduling method provided by an embodiment of the present invention;
[0047] FIG15 is a schematic diagram of another cross-zone transfer channel in a robot scheduling method provided by an embodiment of the present invention;
[0048] FIG16 is a schematic diagram of another cross-zone transfer channel in a robot scheduling method provided by an embodiment of the present invention;
[0049] FIG17 is a flowchart of another robot scheduling method provided by one embodiment of the present invention;
[0050] FIG18 is a schematic diagram of a robot remote dispatching in the prior art;
[0051] FIG19 is a schematic diagram of a robot deadlock in the prior art;
[0052] FIG20 is a schematic diagram of lane task execution in a robot scheduling method provided by an embodiment of the present invention;
[0053] FIG21 is a schematic diagram of a method for switching tasks to be executed in a robot scheduling method provided by an embodiment of the present invention;
[0054] FIG22 is a processing flow chart of a robot scheduling method applied to a warehousing scenario provided by one embodiment of the present invention;
[0055] FIG23 is a schematic structural diagram of a robot scheduling device provided by one embodiment of the present invention;
[0056] FIG24 is a schematic structural diagram of another robot scheduling device provided by one embodiment of the present invention;
[0057] FIG25 is a structural block diagram of a computing device provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0058] Various exemplary embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. It should be noted that unless otherwise specifically stated, the relative arrangement of components and steps, numerical expressions and numerical values set forth in these embodiments do not limit the scope of the present disclosure.
[0059] The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way intended to limit the present disclosure, its application, or uses.
[0060] Technologies, methods, and equipment known to ordinary technicians in the relevant art may not be discussed in detail, but where appropriate, the technologies, methods, and equipment should be considered part of the specification.
[0061] It should be noted that like reference numerals and letters refer to like items in the following figures, and therefore, once an item is defined in one figure, it need not be further discussed in subsequent figures.
[0062] The specific embodiments of the present disclosure are described below with reference to the accompanying drawings.
[0063] In this document, “upper”, “lower”, “front”, “back”, “left”, “right”, etc. are only used to indicate the relative position relationship between related parts, rather than to limit the absolute positions of these related parts.
[0064] In this article, "first", "second", etc. are only used to distinguish each other, and do not indicate the importance and order, or the prerequisite for each other's existence.
[0065] In this document, “equal”, “same”, etc. are not strictly limited in a mathematical and / or geometric sense, but also include errors that can be understood by those skilled in the art and are allowed in manufacturing or use.
[0066] Robot scheduling: Scheduling of robots is achieved by setting scheduling rules through the robot scheduling terminal.
[0067] The present invention provides a robot scheduling method, a robot scheduling device, a computing device, and a computer-readable storage medium, which are described in detail in the following embodiments.
[0068] Figure 1 shows a schematic diagram of the system structure of a robot scheduling system provided by an embodiment of the present invention. The robot scheduling system provided by the embodiment of the present invention includes robots 102 in each area and a robot scheduling terminal 101; the robot scheduling terminal 101 executes the program code of the scheduling rules to realize motion scheduling for the robots 102 in each area. In the multi-robot motion scheduling method provided by the embodiment of the present invention, the robots 102 in each area move by receiving the program code of the scheduling rules sent by the robot scheduling terminal 101. The above-mentioned robot scheduling terminal 101 can be any electronic product that can perform human-computer interaction with the user, such as a PC (Personal Computer), a mobile phone, a Pocket PC, a tablet computer, etc.
[0069] The robot scheduling terminal 101 first obtains the global average amount of tasks to be executed in the specified scene, as well as the local average amount of tasks to be executed in each area. Then, based on the global average amount of tasks to be executed and the local average amount of tasks to be executed in each area, it predicts the global task execution loss of the specified scene. Based on the global task execution loss, it determines the robot cross-region scheduling strategy. Finally, it uses the robot cross-region scheduling strategy to perform cross-region scheduling on the robot 102 in the specified scene.
[0070] The specific robot scheduling method will be described in detail in subsequent embodiments.
[0071] FIG2 shows a flowchart of a robot scheduling method provided by an embodiment of the present invention, which specifically includes the following steps:
[0072] Step S202: obtaining a global average amount of tasks to be performed in a specified scene and a local average amount of tasks to be performed in each region, wherein the specified scene is pre-divided into multiple regions.
[0073] The implementation entity of this embodiment of the present invention is the robot dispatcher, and its application scenario is a designated scenario encompassing multiple zones. This embodiment evaluates the current robot deployment based on the number of tasks generated in each zone within the designated scenario, deriving a more ideal global robot deployment. Once this more ideal global robot configuration is determined, a cross-zone robot scheduling strategy is employed to implement cross-zone robot scheduling.
[0074] The robot scheduling method provided in the embodiment of the present invention is executed by a robot scheduling terminal that can schedule robots in each area.
[0075] The designated scene is pre-divided into multiple areas, each area is assigned a generated task to be executed, and the robots are distributed in each area.
[0076] Designated scenarios are physical scenarios where robots are dispatched to execute pending tasks in multiple areas, such as logistics and warehousing scenarios, factory handling scenarios, and restaurant and shopping mall scenarios. Multiple areas are task execution areas where pending tasks are generated in designated scenarios and robots are deployed. For example, the sorting, shelving, and unshelving areas in logistics and warehousing scenarios, the various factory areas in factory handling scenarios, areas in restaurants, and the incoming goods areas in shopping malls. These areas generate pending tasks (sorting tasks, shelving tasks, unshelving tasks, handling tasks, food delivery tasks, incoming goods handling tasks, etc.), and all of these tasks can be executed by deployed robots.
[0077] The global average pending task load is the average number of pending tasks for a single robot in a given scenario. The local average pending task load is the average number of pending tasks for a single robot in each region. The global and local averages reflect the difference in pending task load between a region and the global average, indicating whether the number of robots deployed to a region is consistent with its pending task load. This provides a data reference for determining cross-region robot scheduling strategies.
[0078] Get the global average number of pending tasks for the specified scene, as well as the local average number of pending tasks in each area. Specifically, calculate the global average number of pending tasks for the scene, the total number of robots, the total number of pending tasks in each area, and the current distribution of robots in each area.
[0079] For example, a given scene has 1000 pending tasks, 12 robots pre-deployed, and 3 regions (region 1, region 2, and region 3). Region 1 has 500 pending tasks, with 4 robots pre-deployed there; region 2 has 300 pending tasks, with 4 robots pre-deployed there; and region 3 has 200 pending tasks, with 4 robots pre-deployed there. The global average pending tasks is 1000 divided by 12, which is 83. The local average pending tasks for region 1 is 500 divided by 4, which is 125.
[0080] By obtaining the global average amount of tasks to be executed in a specified scenario, as well as the local average amount of tasks to be executed in each region, a data foundation is laid for the subsequent prediction of the global task execution loss in the specified scenario.
[0081] Step S204: predicting the global task execution loss of the specified scenario based on the global average amount of tasks to be executed and the local average amount of tasks to be executed in each region.
[0082] The global task execution loss for a given scenario represents the efficiency loss of executing pending tasks under different robot distribution conditions within the given scenario. By predicting the global task execution loss for a given scenario, we can see the difference in efficiency between different robot distributions within the given scenario and the ideal distribution. Generally, global task execution loss is caused by improper robot deployment within the given scenario, resulting in pending tasks in some areas being quickly executed or tasks in some areas remaining in a waiting state for extended periods of time.
[0083] Based on the global average pending tasks and the local average pending tasks in each region, the global task execution loss for a given scenario is predicted. Specifically, the local task execution loss for each region is determined based on the global average pending tasks and the local average pending tasks in each region. Based on the task execution loss in each region, the global task execution loss for the given scenario is predicted. The local task execution loss for each region is the difference between the local average pending tasks and the global average pending tasks.
[0084] Continuing with the above example, the global average number of tasks to be executed is 83, the local average number of tasks in region 1 is 125, the local average number of tasks in region 2 is 75, and the local average number of tasks in region 3 is 50. The local task execution loss in region 1 is determined to be 125 minus 83, which is 42, the local task execution loss in region 2 is determined to be 83 minus 75, which is 8, and the local task execution loss in region 3 is determined to be 83 minus 50, which is 33. The global task execution loss is 83.
[0085] Based on the global average amount of tasks to be executed and the local average amount of tasks to be executed in each area, the global task execution loss of the specified scenario is predicted, and it is determined whether the robot is currently in an ideal state distribution, providing reference data for the subsequent determination of the robot's cross-region scheduling strategy.
[0086] Step S206: Determine the robot cross-region scheduling strategy based on the global task execution loss.
[0087] The cross-region robot scheduling strategy is the execution strategy for scheduling robots across the current regions. For example, if the current robot distribution information is (Region 1: 2; Region 2: 3; Region 3: 1), and the ideal target robot distribution information is (Region 1: 1; Region 2: 2; Region 3: 3), the corresponding cross-region robot scheduling strategy could be: dispatch one robot from Region 1 to Region 2, and then dispatch two robots from Region 2 to Region 3. The corresponding cross-region robot scheduling strategy could also be: dispatch one robot from Region 1 to Region 3, and dispatch one robot from Region 2 to Region 3.
[0088] The robot cross-region scheduling strategy is determined based on the global task execution loss. Specifically, the robot target distribution information is determined based on the global task execution loss, and the robot cross-region scheduling strategy is determined based on the robot target distribution information. Furthermore, the robot target distribution information is determined based on the global task execution loss. The robot target distribution information can be calculated using a neural network model based on the global task execution loss (which can also further determine the robot cross-region scheduling strategy). Alternatively, the robots in each region are pre-scheduled across regions based on the global task execution loss to obtain the global task execution loss after cross-region pre-scheduling. The global task execution loss is compared with the global task execution loss after cross-region pre-scheduling, and the robot distribution information with the smaller loss is determined as the robot target distribution information.
[0089] Continuing with the above example, based on the global task execution loss of 83, after cross-region scheduling of robots in each area, the robot target distribution information is determined to be (Area 1: 6; Area 2: 4; Area 3: 2). Based on the robot target distribution information (Area 1: 6; Area 2: 4; Area 3: 2), the robot cross-region scheduling strategy is determined: dispatch the two robots in Area 3 to Area 1.
[0090] Step S208: Utilize the robot cross-region scheduling strategy to perform cross-region scheduling on the target robot in the specified scene.
[0091] The robot cross-region scheduling strategy is used to schedule the target robot in the specified scene across regions. The specific method is to determine the cross-region transfer channel corresponding to the robot cross-region scheduling strategy based on the position relationship between the regions, and then schedule the target robot in the specified scene across regions based on the cross-region transfer channel.
[0092] Continuing with the above example, the positional relationship between the zones is: Zone 1, Zone 2, and Zone 3 are connected in sequence, with no direct connection between Zone 1 and Zone 3. Based on this positional relationship, the inter-zone transfer path corresponding to the robot inter-zone scheduling strategy (scheduling the two robots in Zone 3 to Zone 1) is determined to be: Zone 3 - Zone 2 - Zone 1. Based on this inter-zone transfer path, the two robots in Zone 3 are dispatched to Zone 1 via Zone 2.
[0093] In an embodiment of the present invention, the global average amount of tasks to be executed in a specified scene and the local average amount of tasks to be executed in each area are obtained. Based on the global average amount of tasks to be executed and the local average amount of tasks to be executed in each area, the global task execution loss of the specified scene is predicted. Based on the global task execution loss, a robot cross-area scheduling strategy is determined. The robot cross-area scheduling strategy is used to perform cross-area scheduling on the target robot in the specified scene. The global average amount of tasks to be executed and the local average amount of tasks to be executed are used to predict the global task execution loss of the specified scene. The loss value when the robot is executed under the current distribution of tasks to be executed in each area is obtained. This is then used as reference data. With the robot distribution in each area in a more ideal state as the goal, a corresponding robot cross-area scheduling strategy is obtained, which fully utilizes the number of robot resources and improves the execution efficiency of tasks.
[0094] Optionally, step S204 includes the following specific steps:
[0095] According to the global average amount of tasks to be executed and the local average amount of tasks to be executed in each area, the object idle information of each area is predicted respectively;
[0096] Calculate the global task execution loss of a specified scenario based on the object idle information in each area.
[0097] The object idle information of each area is information representing the gap between the current distribution of robots in each area and the target distribution of robots in the ideal state. The object idle information of each area is a kind of local task execution loss. It represents the efficiency loss of executing the tasks to be executed under the different distribution conditions of robots in each area. By predicting the local task execution loss of each area, it reflects the efficiency gap of executing tasks under the different distribution conditions of robots in each area and the ideal distribution conditions. The specific calculation formula is shown in Formula 1: I = (Ni-Ng) 2 ×m Formula 1
[0098] Where I represents the object availability information in a region, Ni represents the local average number of pending tasks in the region, Ng represents the global average number of pending tasks, and m represents the number of robots deployed in the region. Squaring eliminates the influence of positive and negative signs.
[0099] When Ni-Ng is positive, it indicates that the number of robots deployed in the area is insufficient, resulting in the average number of tasks to be performed by each robot in the area being greater than the global average number of tasks to be performed by each robot. When Ni-Ng is negative, it indicates that the number of robots deployed in the area is excessive, resulting in the average number of tasks to be performed by each robot in the area being less than the global average number of tasks to be performed by each robot.
[0100] Based on the object idle information of each area, the global task execution loss of the specified scene is calculated. Specifically, the idle information of each area is summed up to obtain the global task execution loss of the specified scene. The specific summation calculation formula is shown in Formula 2:
[0101] Where Loss represents the global task execution loss for a given scene, which is divided into n regions. I_i represents the object idleness information for the i-th region in the given scene. Ni represents the local average number of pending tasks for that region, Ng represents the global average number of pending tasks, and m represents the number of robots deployed in that region. Squaring eliminates the influence of positive and negative signs.
[0102] Figure 3 shows a schematic diagram of a designated scenario in a robot scheduling method provided by an embodiment of the present invention. Figure 4 shows a schematic diagram of another designated scenario in a robot scheduling method provided by an embodiment of the present invention.
[0103] For example, as shown in Figure 3, a specified scene is divided into Region 1 and Region 2. The global average number of pending tasks in the specified scene is 21, with Region 1 having 8 pending tasks and one robot, Robot 1. The number of pending tasks in Region 2 is 15, with no robots in Region 2. According to Formula 1, the object idleness information for Region 1 is calculated as (8-21)^2, and according to Formula 2, the global task execution loss for the specified scene in Figure 3 is calculated as (8-21)^2. Robot 1 in Region 1 is dispatched to Region 2. As shown in Figure 4, the global average number of pending tasks in the specified scene is 21, with Region 1 having 8 pending tasks and no robots in Region 1, and Region 2 having 15 pending tasks and one robot, Robot 1. According to Formula 1, the object idleness information for Region 2 is calculated as (15-21)^2, and according to Formula 2, the global task execution loss for the specified scene in Figure 4 is calculated as (15-21)^2.
[0104] Based on the global average number of pending tasks and the local average number of pending tasks in each region, the object idleness information for each region is predicted. Based on this information, the global task execution loss for a given scenario is calculated. By predicting the object idleness information for each region, the gap between the current robot distribution information and the ideal robot target distribution information in each region is determined in more detail. This allows the global task execution loss to be calculated for a given scenario. This provides more accurate reference data for the subsequent determination of cross-region robot scheduling strategies, improves the effectiveness of cross-region robot scheduling, makes better use of the number of robots, and improves task execution efficiency.
[0105] Optionally, step S206 includes the following specific steps:
[0106] Taking the global task execution loss as the optimization objective, the robot cross-region scheduling strategy is determined.
[0107] Global task execution loss represents the efficiency loss of executing pending tasks in each global region under the current robot distribution. Therefore, optimizing global task execution loss ensures that the current robot distribution is as close as possible to the ideal target robot distribution, ensuring that the number of robots in each region is neither too many nor too few.
[0108] Taking the global task execution loss as the optimization target, the robot cross-region scheduling strategy is determined. Specifically, taking the global task execution loss as the optimization target, the robots in each region are iteratively scheduled across regions, and when the iteration termination condition is met, the corresponding robot cross-region scheduling strategy is determined. Among them, cross-region scheduling is to perform virtual scheduling on the robots in each region in the specified scene without actually executing the cross-region scheduling. Iterative cross-region pre-scheduling is to repeat the cross-region pre-scheduling when the iteration termination condition is not met. The iteration termination condition is a judgment condition for judging whether the global task execution loss corresponding to the current cross-region scheduling has reached the optimization target. It can be the number of iterations, the target global task execution loss (global task execution loss threshold), or the upper and lower limits of the number of robots in each region, etc., which are not limited here.
[0109] FIG5 is a schematic diagram showing a robot cross-zone scheduling strategy under an iteration termination condition in a robot scheduling method provided by an embodiment of the present invention.
[0110] For example, as shown in Figure 5, the left figure shows the location information and the amount of tasks to be performed between each area. The iteration termination condition is limited to the upper limit of the number of robots in each area being 2. The corresponding robot target distribution information after scheduling is obtained in each area on the right figure. It can be understood that in areas with a large amount of tasks to be performed, 2 robots are scheduled to execute, in areas with a medium amount of tasks to be performed, 1 robot is scheduled to execute, and in areas with a small amount of tasks to be performed, no robot is scheduled.
[0111] Exemplarily, the iteration termination condition is the number of iterations, specifically 3 times. The robots in each area are iteratively scheduled across regions. The global task execution loss of the first iteration is 120, the global task execution loss of the second iteration is 110, and the global task execution loss of the third iteration is 100. The robot cross-region scheduling strategy corresponding to the third iteration is determined.
[0112] Taking the global task execution loss as the optimization target, the robot cross-region scheduling strategy is determined. This strategy is based on a robot distribution that is closer to the ideal state, improving the effectiveness of robot cross-region scheduling, making better use of the number of robots and improving task execution efficiency.
[0113] Optionally, taking the global task execution loss as the optimization objective, a robot cross-region scheduling strategy is determined, including the following specific steps:
[0114] Determine the current distribution of robots in each area of the specified scene, as well as the current local average number of tasks to be performed in each area;
[0115] Based on the current distribution information of robots in each area, the robots in each area are pre-scheduled across regions, and the target local average number of tasks to be executed in each area after pre-scheduled across regions is calculated;
[0116] Predict the current global task execution loss and target global task execution loss for a given scenario based on the global average task load, the current local average task load, and the target local average task load for each region.
[0117] Compare the target global task execution loss and the current global task execution loss;
[0118] When the target global task execution loss is lower than the current global task execution loss, the robot cross-region scheduling strategy corresponding to the cross-region pre-scheduling is determined.
[0119] Cross-region robot scheduling involves virtual scheduling of robots in each region of a specified scenario, without actually executing the cross-region scheduling. By pre-scheduling robots across regions, target distribution information for the robots after cross-region pre-scheduling is obtained. The target local average amount of tasks to be executed in each region is calculated, and the current global task execution loss and the target global task execution loss after cross-region pre-scheduling are determined. By comparing the two, it is determined whether the global task execution loss has been optimized after pre-scheduling compared to before the intervention scheduling, and the robot cross-region scheduling strategy is determined. Cross-region robot pre-scheduling can be iterative, until a preset iterative stop condition is met, at which point the corresponding robot cross-region scheduling strategy is determined.
[0120] The current robot distribution information is the current distribution of robots in each region. The current local average pending tasks is the average pending tasks for each robot in each region. The target local average pending tasks is the average pending tasks for each robot in each region after cross-region scheduling. The current global task execution loss is the efficiency loss of executing pending tasks under the current distribution of robots in each region. The target global task execution loss is the efficiency loss of executing pending tasks under the distribution of robots in each region after cross-region scheduling.
[0121] Determine the current distribution of robots in each area of the specified scene, as well as the current local average number of tasks to be performed in each area. Specifically, determine the number of robots in each area of the specified scene, as well as the current local average number of tasks to be performed in each area.
[0122] Based on the current distribution information of robots in each area, robots in each area are pre-scheduled across areas, and the target local average amount of tasks to be performed in each area after the cross-area pre-scheduling is calculated. Specifically, based on the current distribution information of robots in each area, robots in each area are pre-scheduled across areas to obtain the target distribution information of robots in each area after the cross-area pre-scheduling. Based on the target distribution information of robots in each area, the target local average amount of tasks to be performed in each area after the cross-area pre-scheduling is calculated. Furthermore, based on the target distribution information of robots in each area, the target local average amount of tasks to be performed in each area after the cross-area pre-scheduling is calculated. The target local average amount of tasks to be performed in each area after the cross-area pre-scheduling is calculated based on the total amount of tasks to be performed in each area and the number of robots in each area after the cross-area pre-scheduling.
[0123] Based on the global average amount of tasks to be executed, the current local average amount of tasks to be executed in each region, and the target local average amount of tasks to be executed, the current global task execution loss and the target global task execution loss of the specified scene are predicted. Specifically, based on the global average amount of tasks to be executed and the current local average amount of tasks to be executed in each region, the current object idle information of each region is predicted respectively, and based on the current object idle information of each region, the current global task execution loss of the specified scene is calculated; based on the global average amount of tasks to be executed and the target local average amount of tasks to be executed in each region, the target object idle information of each region is predicted respectively, and based on the target object idle information of each region, the target global task execution loss of the specified scene is calculated. Among them, the calculation formula of the object idle information is shown in the above formula 1, which will not be repeated here. The calculation formula of the global task execution loss is shown in the above formula 2, which will not be repeated here.
[0124] Figure 6 shows another schematic diagram of a designated scenario in a robot scheduling method provided by an embodiment of the present invention. Figure 7 shows another schematic diagram of a designated scenario in a robot scheduling method provided by an embodiment of the present invention.
[0125] For example, as shown in Figure 6, a specified scene is divided into Region 1 and Region 2. The global average number of tasks to be executed in the specified scene is 21, and the number of tasks to be executed in Region 1 is 28. Region 1 has two robots: Robot 1 and Robot 2. The local average number of tasks to be executed in Region 1 is 14, and the number of tasks to be executed in Region 2 is 35. Region 2 has one robot: Robot 3, and the local average number of tasks to be executed in Region 2 is 35. Using Formula 2 above, the global task execution loss for the specified scene in Figure 6 is calculated to be (14-21)^2×2+(35-21)^2. Robot 2 in Region 1 is dispatched to Region 2. Using the above formula 2, the global task execution loss of the specified scenario in Figure 7 is calculated to be (28-21)^2+(17.5-21)^2×2. By comparing the target global task execution loss in Figure 7 and the current global task execution loss in Figure 6, it is calculated that the difference in the global task execution loss of the specified scenarios in Figure 7 and Figure 6 is -220.5, indicating that the global task execution loss of the specified scenario in Figure 6 is lower than the global task execution loss of the specified scenario in Figure 5. That is, according to the robot distribution information in Figure 7, the robots in area 1 and area 2 are deployed.
[0126] By calculating the local and global averages of pending tasks before and after cross-region scheduling, the global task execution loss before and after cross-region pre-scheduling is determined. Furthermore, by comparing the global task execution loss before and after cross-region pre-scheduling, the corresponding robot cross-region scheduling strategy is determined when the global task execution loss after cross-region pre-scheduling is smaller. This ensures that the determined robot cross-region scheduling strategy closely matches the ideal robot distribution, improving the effectiveness of robot cross-region scheduling, making better use of the robot population, and improving task execution efficiency.
[0127] Optionally, step S208 includes the following specific steps:
[0128] Determine the current distribution information of robots in each area of the specified scene, as well as the target distribution information of robots in each area corresponding to the robot cross-area scheduling strategy;
[0129] Calculate the incremental information of each area based on the current distribution information of the robots in each area and the target distribution information of the robots;
[0130] Determine the outflow area and inflow area in each area based on the incremental information of each area;
[0131] Determine the cross-region transfer channels from each outflow area to the inflow area;
[0132] Based on the cross-region transfer channel, the target robot in the specified scene is scheduled across regions.
[0133] Typically, after steps S202 to S206, a robot cross-area scheduling strategy is determined, indicating that the robot target distribution information after cross-area scheduling is inconsistent with the robot current distribution information. FIG8 shows a schematic diagram of a robot cross-area scheduling method provided by an embodiment of the present invention.
[0134] As shown in Figure 8, the left image shows the current robot distribution, the middle image shows the total number of pending tasks in each area, and the right image shows the target robot distribution after cross-area scheduling. Based on the total number of pending tasks in each area in the middle image, the current robot distribution in the left image is converted into the target robot distribution in the right image.
[0135] The current distribution information of the robots in each area is the current number distribution information of the robots in each area, and the target distribution information of the robots in each area is the number distribution information of the robots in each area after the cross-area scheduling of the robots is completed.
[0136] The incremental information of each area is the difference in the number of robots in each area before and after cross-area scheduling, which can be positive or negative.
[0137] The incremental information of each area is calculated based on the current distribution information of the robots and the target distribution information of the robots in each area. Specifically, the difference between the current distribution information of the robots and the target distribution information of the robots in each area is determined as the incremental information of each area.
[0138] Based on the incremental information of each region, the outflow area and inflow area of each region are determined. Specifically, the outflow area and inflow area of each region are determined based on the positive and negative values of the incremental information of each region. Furthermore, the region with a positive incremental information value is determined as the inflow area, and the region with a negative incremental information value is determined as the outflow area.
[0139] Determine the cross-region transfer channels from each outflow area to the inflow area. Specifically, take each outflow area as the starting point of cross-region transfer and each inflow area as the end point of cross-region transfer, and determine the cross-region transfer channels from each outflow area to the inflow area.
[0140] For example, the current distribution of robots in each area is: Area 1: 2; Area 2: 1; Area 3: 3. After completing cross-area scheduling, the target distribution of robots in each area is: Area 1: 0; Area 2: 1; Area 3: 5. The difference between the current robot distribution and the target robot distribution in each area is used to determine the incremental information for each area: Area 1: -2; Area 2: 0; Area 3: +2. Area 3 with a positive incremental value is designated as the inflow area, while Area 1 with a negative incremental value is designated as the outflow area. The outflow area (Area 1) is the starting point for cross-area transfers, and the inflow area (Area 3) is the end point for cross-area transfers. The cross-area transfer path from the outflow area to the inflow area is determined (Area 1 - Area 2 - Area 3). The two target robots in Area 1 are scheduled across areas and transferred to Area 3 via the cross-area transfer path "Area 1 - Area 2 - Area 3."
[0141] The current distribution information of robots in each area of the specified scene, as well as the target distribution information of robots in each area corresponding to the robot cross-area scheduling strategy, are determined. Based on the current and target distribution information of robots in each area, the incremental information of each area is calculated. Based on the incremental information of each area, the outflow area and inflow area in each area are determined, and the cross-area transfer channel from each outflow area to the inflow area is determined. Based on the cross-area transfer channel, the target robots in the specified scene are scheduled across areas. Based on the current and target distribution information of robots in each area, the incremental information of each area is calculated, and the outflow area and inflow area in each area are further determined. The cross-area transfer channel is obtained for cross-area scheduling, ensuring the accuracy and effectiveness of cross-area scheduling.
[0142] Optionally, determining the cross-region transfer channel from each outflow region to the inflow region includes the following specific steps:
[0143] Constructing an analysis model based on each outflow area and inflow area, wherein the analysis model includes a first resource loss when transferring a robot from each outflow area to an adjacent inflow area, and a second resource loss when transferring a robot in a transfer area, where the transfer area is the area between the outflow area and the inflow area for transferring robots;
[0144] Based on the analytical model, the preset resource loss optimization algorithm is used to determine the cross-regional transfer channels from each outflow area to the inflow area.
[0145] The analysis model is a cross-region transfer channel analysis model with added constraints. Directly deriving cross-region scheduling strategies based on the current robot distribution information and the robot target distribution information presents certain problems when faced with large-scale specified scenarios. For example, if a robot is transferred from an outflow area to an inflow area, and the outflow area and the inflow area are far apart, scheduling will consume more resources. Therefore, it is necessary to transfer robots from adjacent areas of the inflow area as much as possible. For another example, transferring two robots from an outflow area to an inflow area, and then transferring one robot from the inflow area to the outflow area, such a two-way transfer consumes meaningless resources. Therefore, it is necessary to avoid transferring robots from the inflow area to the outflow area. For another example, if there are five robots deployed in the outflow area, the upper limit of the number of robots that can be transferred to other areas is no more than five, and therefore the upper limit of the number of robots that can be transferred to other areas is no more than the number of robots in the outflow area.
[0146] Specifically, the limiting conditions in the embodiment of the present invention are as follows:
[0147] (1) The outflow area is the area where the number of target robots in the robot target distribution information exceeds the number of current robots in the robot current distribution information. The outflow area cannot transfer robots from other areas. The maximum number of robots that can flow out of the outflow area is the current number of robots minus the target number of robots, thereby ensuring that robots in the outflow area flow out to other areas only and do not flow out excessively.
[0148] (2) The inflow area is the area where the number of target robots in the robot target distribution information is lower than the number of current robots in the robot current distribution information. Robots cannot be transferred to other areas in the inflow area. The maximum number of robots that can flow into the inflow area is the number of target robots minus the current number of robots, thereby ensuring that robots from other areas flow into the inflow area without excessive inflow.
[0149] (3) The transfer area is the area where the number of target robots in the robot target distribution information is equal to the number of current robots in the robot current distribution information. Flows can flow into and out of the transfer area, but are restricted to flowing directly into the outflow area and directly outflowing to the inflow area. Flows cannot be transferred into or out of other transfer areas.
[0150] (4) The maximum number of robots that can flow out of the outflow area must not be greater than the current number of robots. For example, if the current number of robots in an outflow area is 1, only 1 robot can flow out even if the current number of robots minus the target number of robots is 3.
[0151] The first resource consumption is the pre-set resource consumption value of transferring the robot from the outflow area to the adjacent inflow area, and the values of the first resource consumption values are the same. The second resource consumption is the pre-set resource loss value of transferring the robot in the transfer area, and the second resource consumption is equal to the first resource consumption.
[0152] The preset resource loss optimization algorithm specifically sets up three special areas: a virtual inflow area, a virtual outflow area, and a virtual pool area. The virtual inflow area is the virtual upstream of the inflow area. The maximum number of robots that can flow into the virtual inflow area from the virtual inflow area to the outflow area is the number of target robots minus the current number of robots. Only actual sources can flow to the virtual pool. Combined with a polynomial time minimum resource consumption algorithm, it is achieved that even when the number of outflow areas is extremely large, cross-region transfer channels from each outflow area to the inflow area can be efficiently obtained. The virtual pool area can be used as a virtual transfer area to realize robot transfer when the outflow area is not adjacent to the inflow area. However, the third resource consumption of the transfer from the transfer area to the virtual pool area is greater than the first resource consumption and the second resource consumption, so that the robot is preferentially transferred directly to the inflow area through the adjacent outflow area, or transferred to the inflow area through the transfer area.
[0153] The following uses Figure 9 to illustrate the inflow area, outflow area, and transfer area. Figure 9 shows the task volume and robot distribution diagram of each area in a specified scene in a robot scheduling method provided by an embodiment of the present invention. As shown in Figure 9, the specified scene is divided into 12 areas (areas 0-11), with a total of 25 robots. The maximum number of robots that can be accommodated in each area is configured to be 5 (each area can also be configured separately), and the maximum number of robots that can flow out of each area is configured to be 5 (each area can also be configured separately). Based on the total amount of tasks to be performed in each area and the current distribution information of the robots in each area, according to steps S202 to S206, the robot cross-area scheduling strategy is determined to obtain the corresponding robot target distribution information of each area. Among them, the amount of tasks to be performed in area 2 does not change before and after cross-area scheduling, and it is a transfer area; the target number of robots in areas 0, area 1, area 6, area 8, area 9, and area 11 exceeds the current number of robots, and they are outflow areas; the target number of robots in areas 3, area 4, area 5, area 7, and area 10 is lower than the current number of robots, and they are inflow areas.
[0154] The following uses FIG10 to explain the analysis model in detail. The preset resource loss optimization algorithm is used to determine the cross-region transfer channel for explanation. FIG10 shows a schematic diagram of an analysis model in a robot scheduling method provided by an embodiment of the present invention. As shown in FIG10, the first resource consumption between the outflow area and the inflow area is set to 10, the second resource consumption between the outflow area and the transfer area is set to 10, and the third resource consumption between the outflow area and the virtual pool area is set to 12. The number of robots transferred from the virtual inflow area to the outflow area is the target number of robots minus the current number of robots, and the resource consumption of the virtual inflow area to the outflow area is 0. The number of robots transferred from the inflow area to the virtual outflow area is the target number of robots minus the current number of robots, and the resource consumption of the inflow area to the virtual outflow area is also 0. For example, for area 0, the number of robots transferred from the virtual inflow area to the outflow area (1) is the target number of robots (2) minus the current number of robots (1), and the resource consumption is 0. The number of robots transferred from area 0 to the virtual pool area is also 1, and the resource consumption is 12. For area 9, the number of robots transferred from the virtual inflow area to the outflow area (3) is the target number of robots (5) minus the current number of robots (2), with a resource consumption of 0. The number of robots transferred from area 9 to area 10 is also 3, with a first resource consumption of 10. The number of robots transferred from area 10 to the virtual outflow area is also 3, with a resource consumption of 0. For the virtual pool area, since the total number of robots transferred from areas 0, 1, 6, 8, 9, and 11 is 9, with a resource consumption of 0, the total number of robots transferred from the virtual pool area to the virtual outflow area is also 9, with a resource consumption of 0. For area 11, its adjacent areas are areas 8 and 10, but area 10 is an inflow area and area 8 is an outflow area. Therefore, only area 10 is connected, not area 8 (robots cannot be transferred from area 8 to area 11).
[0155] By analyzing the analysis model in Figure 10, we obtain the target analysis model in Figure 11, which shows a schematic diagram of a target analysis model in a robot scheduling method provided by one embodiment of the present invention. As shown in Figure 11, the target analysis model is the analysis model with the lowest resource consumption. The calculated resource consumption of the target analysis model with the lowest resource consumption is (1*10*6 + 2*12 + 1*12), which equals 96.
[0156] Based on the inter-region transfer channel with minimum resource consumption determined in Figure 11, the robot distribution obtained after scheduling is shown in Figure 12, which shows a schematic diagram of an inter-region transfer channel in a robot scheduling method provided by one embodiment of the present invention. Two robots are transferred to region 9 via the virtual pool area, one robot is transferred to region 11 via the virtual pool, one robot is transferred from region 0 to region 3, one robot is transferred from region 1 to region 4, one robot is transferred from region 6 to region 7, one robot is transferred from region 8 to region 7, one robot is transferred from region 8 to region 5, and one robot is transferred from region 9 to region 10. The inter-region transfer channel in Figure 12 yields a robot inter-region scheduling solution with minimum resource consumption.
[0157] Based on the analysis model, the preset resource loss optimization algorithm is used to determine the cross-regional transfer channels from each outflow area to the inflow area. The specific method is to determine the target analysis model based on the analysis model and the preset resource loss optimization algorithm, wherein the target analysis model is the analysis model with the minimum resource consumption. According to the target analysis model, the cross-regional transfer channels from each outflow area to the inflow area are determined.
[0158] An analysis model is constructed based on each outflow and inflow area. Based on this analysis model, a preset resource loss optimization algorithm is used to determine the cross-region transfer channels from each outflow area to the inflow area. This improves the applicability of the robot scheduling method in scenarios with a large number of designated areas, improves scheduling efficiency, and reduces resource consumption.
[0159] Optionally, determining the cross-region transfer channel from each outflow region to the inflow region includes the following specific steps:
[0160] Obtain the incremental value of each outflow area;
[0161] According to the increment value of each outflow area from small to large, the cross-region transfer channel between each outflow area and the adjacent inflow area is determined in sequence;
[0162] For the inflow area where the cross-area transfer channel has not been determined, the cross-area transfer channel from the outflow area to the inflow area via the transfer area is determined based on the neighbor relationship of each area.
[0163] Directly obtaining cross-region scheduling strategies based on the current robot distribution information and the robot target distribution information presents certain problems when faced with large-scale designated scenarios. For example, if a robot is transferred from an outflow area to an inflow area, and the outflow area and the inflow area are far apart, scheduling will consume more resources. Therefore, it is necessary to transfer robots from adjacent areas of the inflow area as much as possible. For another example, transferring two robots from an outflow area to an inflow area, and then transferring one robot from the inflow area to the outflow area, such a two-way transfer consumes meaningless resources. Therefore, it is necessary to avoid transferring robots from the inflow area to the outflow area. For another example, if there are five robots deployed in the outflow area, the upper limit of the number of robots that can be transferred to other areas is no more than five, and therefore the upper limit of the number of robots that can be transferred to other areas is no more than the number of robots in the outflow area.
[0164] Therefore, under the above-mentioned restrictions, the target distribution of robots is not necessarily the actual distribution of robots after cross-region scheduling, as shown in Figure 13, which shows a robot scheduling schematic diagram in a robot scheduling method provided by an embodiment of the present invention. In the specified scenario, there are three areas, namely Area A, Area B, and Area C. Area A is deployed with 2 robots, Area B is deployed with 1 robot, and Area C is deployed with 3 robots. After ideal cross-region scheduling, the target distribution of robots is: Area A is deployed with 0 robots, Area B is deployed with 1 robot, and Area C is deployed with 5 robots. The actual cross-region scheduling is: Area A transfers 1 robot to Area B, and Area B transfers 1 robot to Area C. The actual distribution of robots after cross-region scheduling is: Area A is deployed with 1 robot, Area B is deployed with 1 robot, and Area C is deployed with 4 robots.
[0165] Regarding the above problem, how to determine the cross-region transfer channel from the outflow area to the inflow area is a problem. In an embodiment of the present invention, by obtaining the incremental value of each outflow area, the cross-region transfer channel between each outflow area and the adjacent inflow area is determined in ascending order of the incremental value of each outflow area. For inflow areas where the cross-region transfer channel has not been determined, the cross-region transfer channel is determined based on the neighbor relationship between the outflow area and the transfer robot to the inflow area via the transfer area to solve the above problem. The specific description is as follows:
[0166] The increment value for each outflow area represents the number of robots transferred from that outflow area to other areas. A negative increment value indicates that the area is an outflow area, a positive increment value indicates that the area is an inflow area, and a zero increment value indicates that the area is a transfer area or a non-scheduled area. A non-scheduled area is an area where no robots are dispatched across areas.
[0167] FIG14 shows a schematic diagram of a robot increment value in a robot scheduling method provided by an embodiment of the present invention.
[0168] Based on the current robot distribution information represented by the left graph in Figure 8 and the target robot distribution information after cross-zone scheduling represented by the right graph, the robot increment value distribution for each zone is obtained, as shown in Figure 14. Zones with an increment value of -1 represent outflow zones, where the number of robots that need to be transferred to other zones is 1; zones with an increment value of 1 represent inflow zones, where the number of robots that need to be transferred from other zones is 1; and zones with an increment value of 0 represent transfer zones and non-scheduled zones. In ascending order of the increment values of each outflow zone, cross-zone transfer channels are determined between each outflow zone and the adjacent inflow zone, resulting in cross-zone transfer channels between each outflow zone and the adjacent inflow zone, as shown in Figure 15. Figure 15 shows another schematic diagram of cross-zone transfer channels in a robot scheduling method provided by one embodiment of the present invention. Directly adjacent outflow zones and inflow zones have cross-zone transfer channels. For inflow zones for which no cross-zone transfer channels are determined, cross-zone transfer channels are determined based on the neighbor relationships between the zones, transferring robots from the outflow zone to the inflow zone via the transfer zone, as shown in Figure 16. Figure 16 shows another schematic diagram of cross-zone transfer channels in a robot scheduling method provided by one embodiment of the present invention. Based on the cross-region transfer channels between adjacent outflow areas and inflow areas determined in Figure 15, the transfer areas are determined from the areas with incremental values of 0 according to the neighbor relationships of each area, so that the inflow areas and outflow areas for which cross-region transfer channels have not been determined can obtain corresponding cross-region transfer channels.
[0169] According to the neighbor relationship of each area, the cross-area transfer channel from the outflow area to the inflow area via the transfer robot via the transfer area is determined. Specifically, according to the neighbor relationship of each area, the target area adjacent to both the outflow area and the inflow area is determined as the transfer area, and the cross-area transfer channel from the outflow area to the inflow area via the transfer robot via the transfer area is obtained, wherein the target area is an area with an incremental value of zero.
[0170] For example, area 4 is the outflow area, area 2 is the inflow area, and the target areas {area 1 and area 5} adjacent to both the outflow area and the inflow area are determined as transfer areas, and cross-area transfer channels of area 4-area 1-area 2 and area 4-area 5-area 2 are obtained.
[0171] The incremental value of each outflow area is obtained. Cross-area transfer channels are determined from each outflow area to the adjacent inflow area in ascending order of their incremental value. For inflow areas where no cross-area transfer channel is determined, a cross-area transfer channel is determined based on the neighbor relationships between the outflow area and the robot to transfer to the inflow area via the transfer area. This solves the problem of difficulty in determining cross-area transfer channels due to the discrepancy between the target distribution and the actual distribution of robots under the constraints of a given scenario, improving the applicability and efficiency of the robot scheduling method.
[0172] Optionally, for an inflow area for which an inter-area transfer channel has not been determined, after determining an inter-area transfer channel for transferring the robot from the outflow area to the inflow area via the transfer area based on the neighbor relationship of each area, the following specific steps are further included:
[0173] If there is a target outflow area with a remaining number of robots greater than a preset number, an inter-area transfer channel for randomly transferring robots from the target outflow area to an adjacent area is determined.
[0174] Because a given scene is divided into multiple zones, the uneven division of the zones can lead to an overabundance of robots in some areas. Even with cross-zone scheduling, this still leaves insufficient robots in other areas, leading to underutilization of robot resources. Therefore, it is necessary to modify the cross-zone scheduling strategy to create a cross-zone transfer channel that can address these extreme situations.
[0175] The remaining robots are the robots in the outflow area, excluding those transferred to other areas. The preset number is a threshold for the number of remaining robots set for each area. When the remaining robots reach the preset number, it is determined that the number of remaining robots in the outflow area is still too high and the remaining robots need to be dispatched across areas.
[0176] For example, the preset number is 6, area 1 is the outflow area, 9 robots are deployed, 2 robots are transferred to other areas, and the remaining robots are 7, which is greater than the preset number. The cross-area transfer channel for randomly transferring robots from area 1 to adjacent areas is determined.
[0177] If there is a target outflow area with a remaining number greater than a preset number of robots, a cross-area transfer channel is determined to randomly transfer robots from the target outflow area to the adjacent area, so that the remaining robots in the target outflow area will not be too many, thereby improving the robot resource utilization efficiency of the specified scene and improving the scheduling efficiency.
[0178] Optionally, before using the robot cross-region scheduling strategy to perform cross-region scheduling on the target robot in the specified scene, the following specific steps are also included:
[0179] According to the robot cross-area scheduling strategy and preset constraints, the target robot to be scheduled is determined.
[0180] In practice, in practical applications of a given scenario, in addition to considering the number of robots in each area, the urgency of the tasks to be performed must also be considered. In the above embodiment, the constraints required to be considered during the cross-area scheduling strategy determination phase are limited to ensure efficiency. However, during the cross-area scheduling phase, more practical pre-set constraints can be added. For example, an overall evaluation time can be set for all robots, requiring them to be scheduled only within this evaluation time. Alternatively, an individual evaluation time can be set for each robot, requiring it to be scheduled only after entering an inflow area. This prevents robots from being transferred to other inflow areas before completing sufficient tasks to be performed, consuming excessive transfer time and impacting the efficiency of tasks to be performed. Furthermore, the total number of robots that can be mobilized can be limited. The greater the number of constraints, the greater the discrepancy between the actual robot distribution after cross-area scheduling and the target robot distribution. This requires that the pre-set constraints be targeted and balanced to achieve ideal cross-area scheduling, ensuring that robot resources in a given scenario are rationally allocated and tasks to be performed efficiently.
[0181] Preset constraints are constraints on robot scheduling based on the actual application of a specific scenario. These include restrictions on the number of robots that can be scheduled across zones, and time limits on cross-zone scheduling for robots in each zone.
[0182] According to the robot cross-region scheduling strategy and preset constraints, the target robot to be scheduled is determined. Specifically, according to the robot cross-region scheduling strategy, the robot in the outflow area is determined, and according to the preset constraints, the target robot to be scheduled is determined from the robots in the outflow area.
[0183] Exemplarily, the constraint condition is that the number of robots to be scheduled across regions is 2. According to the robot cross-region scheduling strategy: region 1-region 2-region 3, 8 robots out of the outflow area (region 1) are determined. According to the preset constraint condition, 2 target robots to be scheduled are determined from the 8 robots out of the outflow area (region 1).
[0184] Based on the robot cross-region scheduling strategy and preset constraints, the target robot to be scheduled is determined. This allows subsequent cross-region scheduling to be more tailored to the actual application of the specified scenario, improving task execution efficiency while enhancing the applicability of the robot scheduling method.
[0185] Optionally, step S202 includes the following specific steps:
[0186] Statistics on the total number of tasks to be executed in a specified scene, the total number of robots, the total number of tasks to be executed in each area, and the current distribution of robots in each area;
[0187] Calculate the global average number of tasks to be performed for a given scenario based on the total number of tasks to be performed and the total number of robots in the given scenario;
[0188] According to the total amount of tasks to be performed in each area and the current distribution information of robots, the local average amount of tasks to be performed in each area is calculated respectively.
[0189] The total number of pending tasks for a given scenario is the total number of pending tasks generated in that scenario. The total number of robots for a given scenario is the total number of robots deployed in each region within that scenario. The total number of pending tasks for each region is the total number of pending tasks generated in each region. The current robot distribution information for each region is the current distribution of robots in each region, including the current number of robots in each region.
[0190] Based on the total number of pending tasks and the total number of robots in a specified scene, calculate the global average number of pending tasks for the specified scene. Specifically, divide the total number of pending tasks for the specified scene by the total number of robots to obtain the global average number of pending tasks for the specified scene.
[0191] Based on the total number of tasks to be performed in each area and the current distribution information of robots, the local average number of tasks to be performed in each area is calculated separately. Specifically, the total number of tasks to be performed in each area is divided by the current number of robots in each area to obtain the local average number of tasks to be performed in each area.
[0192] For example, the total number of pending tasks in a given scenario is 2000, the total number of robots is 25, and there are 10 given scenarios (areas 1, 2, ..., 10). The total number of pending tasks in each area is (area 1: 200; area 2: 300... area 10: 700), and the current number of robots in each area is (area 1: 1; area 2: 2... area 10: 3). Dividing the total number of pending tasks in the given scenario (2000) by the total number of robots (25) yields a global average number of pending tasks for the given scenario of 80. For area 2, the total number of pending tasks in area 2 (300) divided by the current number of robots in area 2 (2) yields a local average number of pending tasks for area 2 of 150.
[0193] The total number of pending tasks, the total number of robots, the total number of pending tasks in each region, and the current distribution of robots in each region are counted for a given scenario. Based on the total number of pending tasks and the total number of robots in the given scenario, the global average pending tasks for the given scenario is calculated. Based on the total number of pending tasks and the current distribution of robots in each region, the local average pending tasks for each region is calculated. This yields more accurate global and local average pending tasks, laying a more accurate data foundation for subsequent predictions of global task execution loss in a given scenario.
[0194] Optionally, counting the total number of tasks to be executed in a specified scenario and the total number of tasks to be executed in each area includes the following specific steps:
[0195] Get the attribute information of each task to be executed in the specified scene;
[0196] Determine the quantity coefficient of each task to be executed based on the attribute information of each task to be executed;
[0197] According to the quantity coefficient of each task to be executed, the total number of tasks to be executed in the specified scene and the total number of tasks to be executed in each area are counted.
[0198] Since pending tasks generally have an execution priority when they are executed, it is necessary to determine the quantity coefficient of the pending tasks based on the attribute information of the pending tasks. When determining the cross-region scheduling strategy later, the total amount of pending tasks in each area is corrected so that the area is given priority for cross-region scheduling robots, ensuring that pending tasks with higher priority can be executed first.
[0199] The attribute information of the pending task is information that characterizes the attribute characteristics of the pending task. For example, if the pending task is to transport first aid supplies, which has the highest execution priority, the attribute information of the pending task is "transportation task - first aid supplies".
[0200] The quantity coefficient of the tasks to be executed is a pre-set quantity coefficient based on the execution priority of the tasks to be executed. It can be a multi-level quantity coefficient. For example, the task to be executed has the highest execution priority, and its quantity coefficient is 2; the task to be executed has a high execution priority, and its quantity coefficient is 1.5; the task to be executed has a medium execution priority, and its quantity coefficient is 1.
[0201] According to the attribute information of each task to be executed, the quantity coefficient of each task to be executed is determined. Specifically, according to the attribute information of each task to be executed, the execution priority of each task to be executed is determined, and according to the execution priority of each task to be executed, the quantity coefficient of each task to be executed is determined.
[0202] Exemplarily, the attribute information of each task to be executed in the specified scene is obtained (Task 1: "Carrying task - first aid supplies"; Task 2: "Carrying task - food"...Task 2000: "Carrying task - daily necessities"), and based on the attribute information of each task to be executed, the execution priority of each task to be executed is determined (Task 1: highest; Task 2: medium...Task 2000: medium), and based on the execution priority of each task to be executed, the quantity coefficient of each task to be executed is determined (Task 1: 2; Task 2: 1...Task 2000: 1), and based on the quantity coefficient of each task to be executed, the total number of tasks to be executed in the specified scene and the total number of tasks to be executed in each area are counted.
[0203] Obtain the attribute information of each pending task in a specified scenario. Based on the attribute information of each pending task, determine the quantity coefficient of each pending task. Based on the quantity coefficient of each pending task, calculate the total number of pending tasks in the specified scenario and the total number of pending tasks in each region. By calculating the total number of pending tasks in the specified scenario and the total number of pending tasks in each region based on the attribute information of the pending tasks, this avoids the problem of unifying the statistics of pending tasks, eliminates the specificity of pending tasks, and prevents areas with high execution priorities from not having corresponding cross-region dispatch robots. This reduces the execution efficiency of pending tasks.
[0204] Optionally, after step S208, FIG17 shows a flowchart of a task execution method in another robot scheduling method provided by an embodiment of the present invention, as shown in FIG17 , including:
[0205] Step S302: Acquire first binding information, first position information of the task to be executed, and current position information of the robot, wherein the first binding information includes a binding relationship between the robot and the second position information of the task currently being executed.
[0206] The execution subject of the embodiment of the present invention is a robot, and the application scenario is a designated scene including multiple areas. In the embodiment of the present invention, the robot is scheduled to perform tasks based on the number of tasks generated in each area of the designated scene. For robot scheduling within an area, the robot needs to be bound to a specific location within the area before further executing the pending tasks at that location. However, when such a mechanism of binding a robot to a specific location before executing the pending tasks is used, the following phenomenon is prone to occur, as shown in Figure 18. Figure 18 shows a schematic diagram of a robot remote scheduling in the prior art. A first robot is at a current first location, and there are no pending tasks at the first location. It is determined that there are pending tasks at a second location. The first robot is bound to the second location and begins to move along a motion path to the second location to perform the pending tasks. At this time, a pending task is generated at the first location, and a second robot is dispatched remotely and bound to the first location to perform the pending tasks at the first location. Based on this, the following phenomenon may occur, as shown in Figure 19. Figure 19 shows a schematic diagram of a robot deadlock in the prior art. The first robot, at its current first position, determines that a pending task is needed at the second position. It then binds the first robot to the second position and begins traveling along a motion path to the second position to execute the pending task. During the first robot's motion, a pending task is generated at the first position and is bound to the second robot. The second robot then begins traveling along the motion path to the first position to execute the pending task. The first robot has not yet left the first position, and the second robot enters the first position, causing the two robots to deadlock. These two phenomena severely impact the efficiency of pending task execution and increase the cost of executing pending tasks.
[0207] The currently executing task is the task at the second location currently associated with the robot. The pending task is the task at the first location. The first and second locations are two different locations within the specified scene area. These can be aisles, shelves, sorting stations, dining tables, kitchens, and other locations, without limitation.
[0208] The first binding information is information that characterizes the binding relationship between the robot and the second position information, including: relevant information of the robot and the second position information. The relevant information of the robot is information that characterizes relevant attributes of the robot, including the robot's identification, the robot's motion parameters, the robot's task execution parameters, etc. The second position information is the information of the second position where the task is currently being executed, which can be the coordinates of the second position or the identification of the second position, which is not limited here. The first position information of the task to be executed is the information of the first position where the task to be executed is located, which can be the coordinates of the first position or the identification of the first position, which is not limited here. The current position information of the robot is the information of the current position of the robot, which can be the coordinates of the current position or the identification of the current position, which is not limited here.
[0209] The first binding information, the first position information of the task to be executed, and the current position information of the robot are obtained, specifically by obtaining the first binding information, the first position information of the task to be executed, and the current position information of the robot from the robot scheduling end.
[0210] Exemplarily, the first binding information {coordinates of the second position (100, 60)}, the first position information of the task to be executed {coordinates of the first position (180, 60)} and the current position information of the robot {coordinates of the current position (150, 90)} are obtained from the robot scheduling end.
[0211] By obtaining the first binding information, the foundation is laid for the subsequent analysis to obtain the second position information. The first position information of the task to be executed and the current position information of the robot are obtained, which provides reference information for the subsequent calculation of the first distance and the second distance.
[0212] Step S304: parse the first binding information to obtain the second location information.
[0213] The first binding information is parsed to obtain the second location information, specifically by using a pre-set parsing algorithm to parse the first binding information to obtain the second location information. The pre-set parsing algorithm may be a keyword search algorithm, a coordinate parsing algorithm, or the like.
[0214] Exemplarily, a preset coordinate parsing algorithm is used to parse the first binding information to obtain the second position information {coordinates of the second position (100, 60)}.
[0215] The second location information is obtained by parsing the first binding information, which provides reference information for subsequent calculation of the first distance and the second distance.
[0216] Step S306: Calculate a first distance between the robot and the task to be performed, and a second distance between the robot and the task currently being performed, based on the first position information, the second position information, and the current position information.
[0217] Based on the first position information, the second position information and the current position information, the first distance between the robot and the task to be performed and the second distance between the robot and the task currently being performed are calculated. Specifically, based on the first position information and the current position information, the coordinates of the first position and the coordinates of the current position are determined, and the difference between the coordinates is calculated as the first distance between the robot and the task to be performed. Based on the second position information and the current position information, the coordinates of the second position and the coordinates of the current position are determined, and the difference between the coordinates is calculated as the second distance between the robot and the task currently being performed.
[0218] Exemplarily, based on the first position information and the current position information, the coordinates of the first position (180, 60) and the coordinates of the current position (150, 90) are determined, and the difference between the coordinates, 30√2, is calculated as the first distance between the robot and the task to be performed. Based on the second position information and the current position information, the coordinates of the second position (100, 60) and the coordinates of the current position (150, 90) are determined, and the difference between the coordinates, 10√34, is calculated as the second distance between the robot and the task currently being performed.
[0219] Step S308: When the first distance is smaller than the second distance, switching to execute the task to be executed.
[0220] When the first distance is less than the second distance, switch to execute the task to be executed. Specifically, when the first distance is less than the second distance, switch to bind the second location information of the currently executed task to the first location information of the task to be executed, and execute the task to be executed.
[0221] Exemplarily, the first distance 30√2 is smaller than the second distance 10√34, the second location information of the currently executed task is switched and bound to the first location information of the task to be executed, and the task to be executed is executed at the first location.
[0222] Optionally, after switching to execute the task to be executed, the following specific steps are further included:
[0223] Bind the robot to the task to be executed, and update the first binding information according to the binding result.
[0224] In an embodiment of the present invention, first binding information, first position information of the task to be executed, and current position information of the robot are obtained, wherein the first binding information includes a binding relationship between the robot and the second position information of the task currently being executed, the first binding information is parsed to obtain the second position information, and the first distance between the robot and the task to be executed and the second distance between the robot and the task currently being executed are calculated based on the first position information, the second position information, and the current position information. When the first distance is less than the second distance, the task to be executed is switched to execution. By comparing the first distance between the robot and the task to be executed and the second distance between the robot and the task currently being executed, when the first distance is less than the second distance, the task currently being executed is unbound and re-bound to the task to be executed, giving priority to executing the task to be executed that is closer, thereby avoiding the long-distance scheduling of other robots, which may cause deadlock problems, improving the execution efficiency of the task to be executed, and reducing the execution cost of the task to be executed.
[0225] Optionally, obtaining the current position information of the robot in step S302 includes the following specific steps:
[0226] Acquire second binding information, wherein the second binding information includes a binding relationship between the robot and the current position information of the robot;
[0227] The second binding information is parsed to obtain the current location information.
[0228] The second binding information represents the binding relationship between the robot and its current location information, and includes robot-related information and current location information. The robot-related information represents attributes of the robot, including its identification, motion parameters, and task execution parameters. The robot's current location information refers to the robot's current location, which can be either the coordinates of the current location or its identification, without limitation.
[0229] The second binding information is obtained from the robot scheduling end.
[0230] The second binding information is parsed to obtain the current location information, specifically by using a pre-set parsing algorithm to parse the first binding information to obtain the second location information. The pre-set parsing algorithm may be a keyword search algorithm, a coordinate parsing algorithm, or the like.
[0231] Exemplarily, the second binding information is obtained from the robot scheduling end, and the first binding information is parsed using a pre-set keyword retrieval algorithm to obtain the second position information {the identifier of the second position "A3 shelf"}.
[0232] Acquire second binding information, wherein the second binding information includes a binding relationship between the robot and the current position information of the robot;
[0233] The second binding information is parsed to obtain the current location information, which provides reference information for subsequent calculation of the first distance and the second distance.
[0234] Optionally, the method further includes the following specific steps:
[0235] Identify whether the robot's current position information has changed;
[0236] If there is a change, the second binding information is unbound, and the robot and the changed current location information are rebound to obtain updated second binding information.
[0237] When the robot leaves a certain location within the area, it is necessary to unbind the robot from the second binding information before it can be bound to other location information.
[0238] Exemplarily, the current position of the robot changes from (150, 90) to (120, 90), the current position information of the robot is recognized to have changed, the second binding information is unbound, and the robot and the changed current position information (120, 90) are rebound to obtain the updated second binding information {current position information (120, 90)}.
[0239] Identify whether the robot's current location information has changed. If so, unbind the second binding information and rebind the robot to the changed current location information to obtain updated second binding information. By unbinding the second binding information and rebinding it based on the changed current location information, the accuracy of the calculated first and second distances is guaranteed, providing data support for accurately switching to pending tasks and ensuring the execution efficiency of pending tasks.
[0240] Optionally, the first position information is the first lane identifier where the task to be performed is located, the second position information is the second lane identifier where the task currently is performed, and the current position information is the third lane identifier where the robot is located;
[0241] Correspondingly, step S306 includes the following specific steps:
[0242] Calculating a first distance between the robot and the task to be performed according to the first lane identifier and the third lane identifier;
[0243] A second distance between the robot and the currently executing task is calculated according to the second lane identifier and the third lane identifier.
[0244] The first lane identifier is the identifier of the first lane where the task to be executed is located, the second lane identifier is the identifier of the second lane where the task is currently executed, and the third lane identifier is the identifier of the third lane where the robot is located.
[0245] According to the first lane identifier and the third lane identifier, a first distance between the robot and the task to be performed is calculated. Specifically, according to the first lane identifier and the third lane identifier, the distance between the first lane and the third lane is determined, and according to the distance between the first lane and the third lane, the first distance between the robot and the task to be performed is calculated.
[0246] According to the second lane identifier and the third lane identifier, the second distance between the robot and the currently executed task is calculated. Specifically, according to the second lane identifier and the third lane identifier, the distance between the second lane and the third lane is determined, and according to the distance between the second lane and the third lane, the second distance between the robot and the task to be executed is calculated.
[0247] Exemplarily, based on the first lane identifier and the third lane identifier, the distance between the first lane and the third lane is determined to be 20, and based on the distance 20 between the first lane and the third lane, the first distance 20 between the robot and the task to be performed is calculated, and based on the second lane identifier and the third lane identifier, the distance 30 between the second lane and the third lane is determined, and based on the distance 30 between the second lane and the third lane, the second distance 30 between the robot and the task to be performed is calculated.
[0248] The first distance between the robot and the pending task is calculated based on the first and third lane identifiers, and the second distance between the robot and the currently executing task is calculated based on the second and third lane identifiers. For lane-type locations, calculating the first and second distances using lane identifiers allows the robot to unbind the currently executing task and rebind it to the pending task if the first distance is less than the second distance. This prioritizes the closer pending task, avoiding deadlock caused by scheduling other robots over long distances. This improves the efficiency and reduces the cost of executing pending tasks in a lane.
[0249] Optionally, step S308 includes the following specific steps:
[0250] When the first distance is less than the second distance, identifying whether the first lane identifier and the third lane identifier are the same;
[0251] If they are the same, switch to executing the pending task.
[0252] In this embodiment of the present invention, the first and second positions are lane-based. The long-distance scheduling and deadlock issues caused by binding the robot only to the first or second lane in Figures 18 and 19 can actually be resolved by adopting a lane-based dual binding mechanism. This dual binding mechanism involves both pre-binding (binding to the first lane ID currently executing the task) and actual binding (prioritizing binding to the closest lane ID) when assigning the robot to a lane.
[0253] FIG20 shows a schematic diagram of lane task execution in a robot scheduling method provided by an embodiment of the present invention.
[0254] For the first robot in Figure 19, which is at the first position (first lane), it is assigned a task for the second position (second lane) and is therefore bound to the second position (second lane) identifier of the currently executing task. However, its location is the first position (first lane), where the pending task is located, so it is effectively bound to the first position (first lane) identifier. Therefore, as long as a pending task is generated within the first position (first lane), it is assigned to the first robot for execution. This means that as long as the robot is within a lane cell, i.e., the first position (first lane) and the third lane are the same lane, the first position (first lane) identifier is effectively bound to the robot. Only when the robot leaves the first position (first lane) can the first position (first lane) identifier be unbound from the robot. Through this mechanism, when the robot is assigned a task, it is unbound from the pre-bound second position (second lane) identifier and re-bound to the first position (first lane) identifier. Simply put, when the first robot has not actually walked out of the current lane, it can be found that the third lane where the first robot is located, that is, the first position (first lane) has a task to be executed. It can be untied from the pre-set second position (second lane) identifier and the task to be executed in the first position (first lane) can be executed first, thereby reducing the possibility of deadlock.
[0255] Corresponding to Figure 20, this means that after the second position (second lane) identifier is bound to the first robot through the above mechanism, the first robot is in the first lane, that is, the first lane and the third lane are the same lane, the first lane identifier and the third lane identifier are the same, and the first distance is necessarily less than the second distance. Therefore, before leaving the first position (first lane), if a pending task is generated in the first position (first lane), the first robot will prioritize binding to the first position (first lane) identifier. The second position (second lane) identifier can be bound to another second robot, avoiding a deadlock with the first robot after the second robot enters the first position (first lane).
[0256] If the first distance is less than the second distance, the system checks whether the first and third lane identifiers are the same. If they are, the system switches to executing the pending task. This avoids deadlock within the lane, improves the execution efficiency of pending tasks in the lane, and reduces the execution cost of pending tasks in the lane.
[0257] Optionally, before switching to execute the task to be executed in step S308, the following specific steps are further included:
[0258] determining, based on the current location information and the second location information, whether the currently executed task is a cross-region task in a specified scene, wherein the specified scene is pre-divided into a plurality of regions;
[0259] Correspondingly, switching to execute the pending task includes the following specific steps:
[0260] If the currently executing task is not a cross-region task, switch to executing the pending task.
[0261] Since the application scenario of this solution is task execution within a specified scene area, it is necessary to avoid scheduling robots to execute other pending tasks outside the area, thereby reducing the execution efficiency of pending tasks and increasing the execution cost of pending tasks.
[0262] Based on the current location information and the second location information, determine whether the currently executed task is a cross-region task in the specified scene. The specific method is to judge whether the current location and the second location belong to the same area based on the current location information and the second location information, and determine whether the currently executed task is a cross-region task in the specified scene.
[0263] Exemplarily, among the multiple areas in the specified scene, this area includes 20 positions (position 1-position 20). According to the current position information (current position identifier "position 1") and the second position information (second position identifier "position 2"), by identifying "position 1" and "position 2" as the same area, it is determined that the current position and the second position belong to the same area, and it is determined that the currently executed task is not a cross-area task in the specified scene, and the execution of the task to be executed is switched.
[0264] Based on the current location information and the second location information, the system determines whether the currently executed task is a cross-region task in a specified scene, where the specified scene is pre-divided into multiple regions. If the currently executed task is not a cross-region task, the system switches to executing the pending task. This ensures the execution efficiency and cost of the pending task.
[0265] Optionally, after determining whether the currently executed task is a cross-region task in a specified scenario based on the current location information and the second location information, the following specific steps are further included:
[0266] If the currently executed task is a cross-region task, continue to execute the currently executed task.
[0267] Exemplarily, among the multiple areas in the specified scene, this area includes 20 positions (position 1-position 20). According to the current position information (current position identifier "position 1") and the second position information (second position identifier "position 109"), by identifying that "position 1" and "position 109" are not the same area, it is determined that the current position and the second position do not belong to the same area, and it is determined that the currently executed task is a cross-area task in the specified scene, and the execution of the task to be executed is switched.
[0268] Based on the current location information and the second location information, it is determined whether the currently executed task is a cross-region task in a specified scene, where the specified scene is pre-divided into multiple regions. If the currently executed task is a cross-region task, the currently executed task is continued. This ensures the execution efficiency and execution cost of the pending task.
[0269] Optionally, before switching to execute the task to be executed in step S308, the following specific steps are further included:
[0270] Get the number of switching times corresponding to the currently executed task, where the number of switching times is the statistical result of the historical number of switching times of the currently executed task;
[0271] Switch to execute pending tasks, including:
[0272] When the number of switching times is less than or equal to the preset number threshold, the task to be executed is switched.
[0273] Since the above-mentioned double binding mechanism and rebinding will tend to make the robot that is originally in the first position or the second position stay in the current position for a long time to complete the pending tasks generated in the first position or the second position, the scheduling distance of the robot is relatively close, which leads to the pending tasks that are farther away not being executed by the robot. In order to avoid this phenomenon, it is necessary to obtain the statistical results of the historical switching times of the currently executed task, and compare it with the preset number threshold. If it is greater than the preset number threshold, continue to execute the currently executed task, and reset the switching times if the first distance is less than the preset distance threshold to ensure that the pending tasks that are farther away can also be executed by the robot.
[0274] To obtain the switching number corresponding to the currently executed task, the switching number corresponding to the currently executed task can be obtained by obtaining the switching number corresponding to the currently executed task recorded by the robot itself, or the switching number corresponding to the currently executed task can be obtained from the robot scheduling end, which is not limited here.
[0275] Exemplarily, the number of switching times corresponding to the currently executed task recorded by the robot itself is 5 times, the preset number threshold is 10 times, the switching number 5 times is less than the preset number threshold 10 times, and the task to be executed is switched.
[0276] Obtain the switch count for the currently executing task, where the switch count is a statistical result of the number of times the currently executing task has been switched historically. If the switch count is less than or equal to the preset threshold, the robot switches to the pending task. This ensures that the robot prioritizes nearby pending tasks at its current location, improving the efficiency of pending tasks and reducing their execution cost.
[0277] Optionally, after obtaining the number of switching times corresponding to the currently executed task, the following specific steps are further included:
[0278] When the number of switching times is greater than a preset threshold, the currently executed task continues to be executed, and when the first distance is less than a preset distance threshold, the number of switching times is reset.
[0279] Exemplarily, the number of switching times corresponding to the current task recorded by the robot itself is 11 times, the preset number threshold is 10 times, the switching number 11 is greater than the preset number threshold 10 times, the current task continues to be executed, and when the first distance is less than the preset distance threshold, the switching number 11 times is reset.
[0280] Figure 21 illustrates a schematic diagram of a method for switching pending tasks in a robot scheduling method provided by an embodiment of the present invention. As shown in Figure 21 , a pending task generated at a distant third location is associated with the robot and needs to execute the pending task at the third location. If the number of switching attempts exceeds a preset threshold, the robot continues to execute the pending task at the third location without switching to the pending task at the current location.
[0281] Obtain the switch count for the currently executing task, where the switch count is a statistical result of the number of times the currently executing task has been switched historically. If the switch count is less than or equal to the preset threshold, the robot switches to the pending task. This ensures that the robot prioritizes nearby pending tasks at its current location, ensuring the efficiency and cost of executing pending tasks.
[0282] The following further illustrates the robot scheduling method provided by the present invention using the application of the robot scheduling method to a warehousing scenario as an example, in conjunction with FIG22 . FIG22 shows a processing flow chart of a robot scheduling method applied to a warehousing scenario provided by an embodiment of the present invention, which specifically includes the following steps:
[0283] Step S402: Obtain attribute information of each task to be executed in the warehouse scene;
[0284] Step S404: determining the quantity coefficient of each task to be executed according to the attribute information of each task to be executed;
[0285] Step S406: Counting the total number of tasks to be executed in the warehouse scene and the total number of tasks to be executed in each area based on the quantity coefficient of each task to be executed;
[0286] Step S408: Counting the total number of tasks executed and the total number of robots in the warehousing scene;
[0287] Step S410: Calculate the global average number of tasks to be executed in the warehouse scene based on the total number of tasks to be executed in the warehouse scene and the total number of robots;
[0288] Step S412: Calculate the local average amount of tasks to be performed in each area based on the total amount of tasks to be performed in each area and the current distribution information of the robots;
[0289] Step S414: predicting object idleness information of each area based on the global average amount of tasks to be executed and the local average amount of tasks to be executed in each area;
[0290] Step S416: Calculate the global task execution loss of the warehousing scenario based on the object idle information of each area;
[0291] Step S418: Determine the current distribution information of robots in each area of the warehouse scene, as well as the current local average number of tasks to be executed in each area;
[0292] Step S420: Based on the current distribution information of the robots in each area, the robots in each area are pre-scheduled across areas, and the target local average amount of tasks to be executed in each area after the pre-scheduled across areas is calculated;
[0293] Step S422: Predicting the current global task execution loss and the target global task execution loss of the warehouse scenario based on the global average task volume to be executed, the current local average task volume to be executed, and the target local average task volume to be executed in each region;
[0294] Step S424: comparing the target global task execution loss and the current global task execution loss;
[0295] Step S426: When the target global task execution loss is lower than the current global task execution loss, determining the robot cross-region scheduling strategy corresponding to the cross-region pre-scheduling;
[0296] Step S428: Determine the robot target distribution information of each area corresponding to the robot cross-area scheduling strategy;
[0297] Step S430: Calculating incremental information for each area based on the current distribution information of the robots and the target distribution information of the robots in each area;
[0298] Step S432: Determine the outflow area and inflow area in each area based on the incremental information of each area;
[0299] Step S434: Constructing an analysis model based on each outflow area and inflow area, wherein the analysis model includes a first resource loss when transferring a robot from each outflow area to an adjacent inflow area, and a second resource loss when transferring a robot in a transfer area, where the transfer area is the area between the outflow area and the inflow area for transferring robots;
[0300] Step S436: Based on the analysis model, using a preset resource loss optimization algorithm, determine the cross-region transfer channel from each outflow area to the inflow area;
[0301] Step S438: Based on the cross-region transfer channel, the target robot in the warehousing scene is scheduled across regions;
[0302] Step S440: Acquire the first binding information and the first lane identifier of the task to be executed;
[0303] The first binding information includes a binding relationship between the robot and the second lane identifier of the currently executing task.
[0304] Step S442: Obtain second binding information;
[0305] The second binding information includes a binding relationship between the robot and the third lane identifier of the robot.
[0306] Step S444: parsing the second binding information to obtain a third lane identifier;
[0307] Step S446: Calculating a first distance between the robot and the task to be performed based on the first lane identifier and the third lane identifier;
[0308] Step S448: Calculating a second distance between the robot and the currently executing task based on the second lane identifier and the third lane identifier;
[0309] Step S450: When the first distance is less than the second distance, identifying whether the first lane identifier and the third lane identifier are the same;
[0310] Step S452: If they are the same, switch to executing the task to be executed.
[0311] In an embodiment of the present invention, the global task execution loss for a given scenario is predicted by using the global average and local average amounts of pending tasks. The loss values when robots execute tasks in each region under the current allocation of pending tasks are then obtained. This loss value is then used as reference data, and with a more ideal distribution of robots in each region as the goal, a corresponding cross-regional robot scheduling strategy is developed to fully utilize the number of robots and improve task execution efficiency. By comparing the first distance between the robot and the pending task and the second distance between the robot and the currently executing task, if the first distance is less than the second distance, the currently executing task is unbound and rebound to the pending task, giving priority to the closer pending task. This avoids the long-distance scheduling of other robots, which can cause deadlock, improves the execution efficiency of pending tasks, and reduces the execution cost of pending tasks.
[0312] Corresponding to the above-mentioned method embodiment, the present invention also provides an embodiment of a robot scheduling device. FIG23 shows a schematic structural diagram of a robot scheduling device provided by an embodiment of the present invention. As shown in FIG23, the device includes:
[0313] A first acquisition module 502 is configured to acquire a global average amount of tasks to be performed in a specified scene and a local average amount of tasks to be performed in each region, wherein the specified scene is pre-divided into multiple regions;
[0314] The prediction module 504 is configured to predict the global task execution loss of a specified scenario based on the global average amount of tasks to be executed and the local average amount of tasks to be executed in each region;
[0315] A determination module 506 is configured to determine a robot cross-region scheduling strategy based on the global task execution loss;
[0316] The scheduling module 508 is configured to utilize the robot cross-region scheduling strategy to perform cross-region scheduling on the target robot in the specified scene.
[0317] Optionally, the prediction module 504 is further configured to:
[0318] According to the global average amount of tasks to be executed and the local average amount of tasks to be executed in each area, the object idle information of each area is predicted respectively;
[0319] Calculate the global task execution loss of a specified scenario based on the object idle information in each area.
[0320] Optionally, the determining module 506 is further configured to:
[0321] Taking the global task execution loss as the optimization objective, the robot cross-region scheduling strategy is determined.
[0322] Optionally, the determining module 506 is further configured to:
[0323] Determine the current distribution information of robots in each area of the specified scene, as well as the current local average amount of tasks to be executed in each area; based on the current distribution information of robots in each area, perform cross-area pre-scheduling of robots in each area, and calculate the target local average amount of tasks to be executed in each area after cross-area pre-scheduling; predict the current global task execution loss and target global task execution loss of the specified scene based on the global average amount of tasks to be executed, the current local average amount of tasks to be executed in each area, and the target local average amount of tasks to be executed; compare the target global task execution loss and the current global task execution loss; and when the target global task execution loss is lower than the current global task execution loss, determine the robot cross-area scheduling strategy corresponding to the cross-area pre-scheduling.
[0324] Optionally, the scheduling module 508 is further configured to:
[0325] Determine the current distribution information of robots in each area of the specified scene, as well as the target distribution information of robots in each area corresponding to the robot cross-area scheduling strategy; calculate the incremental information of each area based on the current distribution information of robots and the target distribution information of robots in each area; determine the outflow area and inflow area in each area based on the incremental information of each area; determine the cross-area transfer channel from each outflow area to the inflow area; and perform cross-area scheduling of the target robots in the specified scene based on the cross-area transfer channel.
[0326] Optionally, the scheduling module 508 is further configured to:
[0327] An analysis model is constructed based on each outflow area and inflow area, wherein the analysis model includes the first resource loss of transferring robots from each outflow area to the adjacent inflow area, and the second resource loss of transferring robots in the transfer area. The transfer area is the area between the outflow area and the inflow area for transferring robots; based on the analysis model, a preset resource loss optimization algorithm is used to determine the cross-region transfer channel from each outflow area to the inflow area.
[0328] Optionally, the scheduling module 508 is further configured to:
[0329] Obtain the incremental value of each outflow area; determine the cross-area transfer channel between each outflow area and the adjacent inflow area in order from the smallest to the largest incremental value of each outflow area; for the inflow area where the cross-area transfer channel has not been determined, determine the cross-area transfer channel from the outflow area to the inflow area through the transfer area transfer robot based on the neighbor relationship of each area.
[0330] Optionally, the device further comprises:
[0331] The inter-area transfer channel determination module is configured to determine an inter-area transfer channel for randomly transferring robots from the target outflow area to an adjacent area if there is a target outflow area with a remaining number of robots greater than a preset number.
[0332] Optionally, the device further comprises:
[0333] The target robot determination module is configured to determine the target robot to be scheduled based on the robot cross-zone scheduling strategy and preset constraints.
[0334] Optionally, the first acquisition module 502 is further configured to: count the total number of tasks to be performed, the total number of robots, the total number of tasks to be performed in each area, and the current distribution information of robots in each area in the specified scene; calculate the global average number of tasks to be performed in the specified scene based on the total number of tasks to be performed and the total number of robots in the specified scene; calculate the local average number of tasks to be performed in each area based on the total number of tasks to be performed and the current distribution information of robots in each area.
[0335] Optionally, the first acquisition module 502 is further configured to: obtain attribute information of each task to be executed in the specified scene; determine the quantity coefficient of each task to be executed based on the attribute information of each task to be executed; and count the total number of tasks to be executed in the specified scene and the total number of tasks to be executed in each area based on the quantity coefficient of each task to be executed.
[0336] Corresponding to the above method embodiment, the present invention also provides another embodiment of a robot scheduling device. FIG24 shows a schematic structural diagram of another robot scheduling device provided by an embodiment of the present invention. As shown in FIG24 , the device includes:
[0337] The second acquisition module 602 is configured to acquire first binding information, first location information of the task to be performed, and current location information of the robot, wherein the first binding information includes a binding relationship between the robot and the second location information of the task currently being performed;
[0338] A parsing module 604 is configured to parse the first binding information to obtain the second location information;
[0339] The calculation module 606 is configured to calculate a first distance between the robot and the task to be performed and a second distance between the robot and the task currently being performed based on the first position information, the second position information, and the current position information;
[0340] The switching execution module 608 is configured to switch and execute the task to be executed when the first distance is smaller than the second distance.
[0341] Optionally, the second obtaining module 602 is further configured to:
[0342] Acquire second binding information, wherein the second binding information includes a binding relationship between the robot and the current position information of the robot; and parse the second binding information to obtain the current position information.
[0343] Optionally, the device further comprises:
[0344] The rebinding module is configured to identify whether the current position information of the robot has changed; if it has changed, the second binding information is unbound, and the robot and the changed current position information are rebinded to obtain updated second binding information.
[0345] Optionally, the first position information is the first lane identifier where the task to be performed is located, the second position information is the second lane identifier where the task currently is performed, and the current position information is the third lane identifier where the robot is located;
[0346] Correspondingly, the calculation module 606 is further configured to:
[0347] A first distance between the robot and a task to be performed is calculated based on the first lane identifier and the third lane identifier; and a second distance between the robot and a task currently being performed is calculated based on the second lane identifier and the third lane identifier.
[0348] Optionally, the switching execution module 608 is further configured to:
[0349] When the first distance is less than the second distance, it is identified whether the first lane identifier and the third lane identifier are the same; if they are the same, the pending task is switched to be executed.
[0350] Optionally, the device further comprises:
[0351] a cross-region task determination module configured to determine whether a currently executed task is a cross-region task in a specified scene based on the current location information and the second location information, wherein the specified scene is pre-divided into a plurality of regions;
[0352] Correspondingly, the switching execution module 608 is further configured to:
[0353] If the currently executing task is not a cross-region task, switch to executing the pending task.
[0354] Optionally, the device further comprises:
[0355] The first execution continuation module is configured to continue executing the current task if the current task is a cross-region task.
[0356] Optionally, the device further comprises:
[0357] A switching number acquisition module is configured to acquire the switching number corresponding to the currently executed task, wherein the switching number is a statistical result of the historical switching number of the currently executed task;
[0358] Correspondingly, the switching execution module 608 is further configured to:
[0359] When the number of switching times is less than or equal to the preset number threshold, the task to be executed is switched.
[0360] Optionally, the device further comprises:
[0361] The second execution continuation module is configured to continue executing the current task when the number of switching times is greater than a preset number threshold, and reset the number of switching times when the first distance is less than a preset distance threshold.
[0362] Optionally, the device further comprises:
[0363] The binding module is configured to bind the robot to the task to be executed and update the first binding information according to the binding result.
[0364] Figure 25 shows a block diagram of a computing device according to an embodiment of the present invention. Components of the computing device 700 include, but are not limited to, a memory 710 and a processor 720. The processor 720 is connected to the memory 710 via a bus 730, and a database 750 is used to store data.
[0365] The computing device 700 also includes an access device 740 that enables the computing device 700 to communicate via one or more networks 760. Examples of such networks include a public switched telephone network (PSTN), a local area network (LAN), a wide area network (WAN), a personal area network (PAN), or a combination of communication networks such as the Internet. The access device 740 may include one or more of any type of network interface (e.g., a network interface card (NIC)) whether wired or wireless, such as an IEEE 802.11 wireless local area network (WLAN) wireless interface, a World Interoperability for Microwave Access (Wi-MAX) interface, an Ethernet interface, a universal serial bus (USB) interface, a cellular network interface, a Bluetooth interface, a near field communication (NFC) interface, and the like.
[0366] In one embodiment of the present invention, the aforementioned components of computing device 700 and other components not shown in FIG. 25 may also be connected to one another, for example, via a bus. It should be understood that the block diagram of the computing device structure shown in FIG. 25 is for illustrative purposes only and does not limit the scope of the present invention. Those skilled in the art may add or replace other components as needed.
[0367] Computing device 700 can be any type of stationary or mobile computing device, including a mobile computer or mobile computing device (e.g., a tablet computer, personal digital assistant, laptop computer, notebook computer, netbook computer, etc.), a mobile phone (e.g., a smartphone), a wearable computing device (e.g., a smartwatch, smart glasses, etc.), or other types of mobile devices, or a stationary computing device such as a desktop computer or PC (Personal Computer). Computing device 700 can also be a mobile or stationary server.
[0368] The processor 720 is configured to execute computer executable instructions of the robot scheduling method.
[0369] The above is a schematic diagram of a computing device according to this embodiment. It should be noted that the technical solution of the computing device and the technical solution of the robot scheduling method described above are based on the same concept. For details not described in detail in the technical solution of the computing device, please refer to the description of the technical solution of the robot scheduling method described above.
[0370] An embodiment of the present invention further provides a computer-readable storage medium storing computer instructions, which are used in a robot scheduling method when executed by a processor.
[0371] The above is a schematic diagram of a computer-readable storage medium according to this embodiment. It should be noted that the technical solution of this storage medium and the technical solution of the aforementioned robot scheduling method are based on the same concept. For details not described in detail in the technical solution of the storage medium, please refer to the description of the technical solution of the aforementioned robot scheduling method.
[0372] The computer instructions include computer program code, which may be in source code form, object code form, executable file, or some intermediate form. The computer-readable medium may include any entity or device capable of carrying the computer program code, a recording medium, a USB flash drive, a mobile hard drive, a magnetic disk, an optical disk, a computer memory, a read-only memory (ROM), a random access memory (RAM), an electrical carrier signal, a telecommunications signal, and a software distribution medium.
[0373] An embodiment of the present invention further provides a chip storing a computer program, which implements the steps of the robot scheduling method when executed by the chip.
[0374] It should be noted that for the aforementioned method embodiments, for ease of description, they are all expressed as a series of action combinations. However, those skilled in the art should be aware that the present invention is not limited by the order of the actions described, because according to the present invention, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in this specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present invention.
[0375] In the above embodiments, the description of each embodiment has its own focus. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0376] The preferred embodiments of the present invention disclosed above are intended only to help illustrate the present invention. The alternative embodiments do not describe all details in detail, nor do they limit the present invention to the specific embodiments described. Obviously, many modifications and variations are possible based on the teachings of the present invention. These embodiments are selected and described in detail to better explain the principles and practical applications of the present invention, thereby enabling those skilled in the art to better understand and utilize the present invention. The present invention is limited only by the claims and their full scope and equivalents.
Claims
1. A robot scheduling method, characterized in that: include: Obtaining a global average amount of tasks to be performed in a specified scene and a local average amount of tasks to be performed in each area, wherein the specified scene is pre-divided into multiple areas; Predicting the global task execution loss of the specified scenario according to the global average amount of tasks to be executed and the local average amount of tasks to be executed in each area; Determining a robot cross-region scheduling strategy according to the global task execution loss; The robot cross-region scheduling strategy is used to perform cross-region scheduling on the target robot in the specified scene.
2. The method according to claim 1, characterized in that The predicting the global task execution loss of the specified scenario according to the global average amount of tasks to be executed and the local average amount of tasks to be executed in each area includes: According to the global average amount of tasks to be executed and the local average amount of tasks to be executed in each area, respectively predicting object idle information in each area; The global task execution loss of the specified scene is calculated according to the object idle information of each area.
3. The method according to claim 1, characterized in that Determining the robot cross-region scheduling strategy according to the global task execution loss includes: Taking the global task execution loss as the optimization target, the robot cross-region scheduling strategy is determined.
4. The method according to claim 3, characterized in that The method of determining the robot cross-region scheduling strategy by taking the global task execution loss as the optimization target includes: Determine the current distribution information of robots in each area of the specified scene, and the current local average amount of tasks to be performed in each area; According to the current distribution information of the robots in each area, the robots in each area are pre-scheduled across areas, and the target local average amount of tasks to be performed in each area after the pre-scheduled across areas is calculated; Predicting the current global task execution loss and the target global task execution loss of the specified scene according to the global average amount of tasks to be executed, the current local average amount of tasks to be executed in each area, and the target local average amount of tasks to be executed; Comparing the target global task execution loss with the current global task execution loss; When the target global task execution loss is lower than the current global task execution loss, a robot cross-region scheduling strategy corresponding to the cross-region pre-scheduling is determined.
5. The method according to any one of claims 1 to 4, characterized in that The cross-region scheduling of the target robot in the specified scene by using the cross-region scheduling strategy of the robot includes: Determine current distribution information of robots in each area of the specified scene, and target distribution information of robots in each area corresponding to the robot cross-area scheduling strategy; Calculating the incremental information of each area according to the current distribution information of the robots and the target distribution information of the robots in each area; Determine the outflow area and the inflow area in each area according to the incremental information of each area; Determine the cross-region transfer channel from each outflow area to the inflow area; Based on the cross-region transfer channel, the target robot in the specified scene is scheduled across regions.
6. The method according to claim 5, characterized in that The step of determining the inter-region transfer channel from each outflow region to an inflow region includes: According to each of the outflow areas and inflow areas, an analysis model is constructed, wherein the analysis model includes a first resource loss of transferring a robot from each outflow area to an adjacent inflow area, and a second resource loss of transferring a robot in a transfer area, wherein the transfer area is an area between the outflow area and the inflow area for transferring robots; Based on the analysis model, a preset resource loss optimization algorithm is used to determine the cross-region transfer channel from each outflow area to the inflow area.
7. The method according to claim 5, characterized in that The step of determining the inter-region transfer channel from each outflow region to an inflow region includes: Obtaining an incremental value of each of the outflow areas; Determine the inter-region transfer channel from each outflow region to an adjacent inflow region in order of the increment value of each outflow region from small to large; For an inflow area for which an inter-area transfer channel has not been determined, an inter-area transfer channel is determined from an outflow area to the inflow area via a transfer area by transferring the robot according to the neighbor relationship of the areas.
8. The method according to claim 7, characterized in that After determining the cross-region transfer channel for the inflow area for which the cross-region transfer channel has not been determined, based on the neighbor relationship of each area, from the outflow area to the inflow area through the transfer area, the method further includes: If there is a target outflow area with a remaining number of robots greater than a preset number, an inter-area transfer channel for randomly transferring robots from the target outflow area to an adjacent area is determined.
9. The method according to any one of claims 1 to 4, characterized in that: Before using the robot cross-region scheduling strategy to perform cross-region scheduling on the target robot in the specified scene, the method further includes: According to the robot cross-zone scheduling strategy and preset constraints, a target robot to be scheduled is determined.
10. The method according to claim 1, characterized in that The obtaining of the global average amount of tasks to be performed in the specified scene and the local average amount of tasks to be performed in each area includes: Statistics on the total number of tasks to be executed in a specified scene, the total number of robots, the total number of tasks to be executed in each area, and the current distribution information of robots in each area; Calculate the global average amount of tasks to be performed in the specified scene according to the total amount of tasks to be performed in the specified scene and the total number of robots; According to the total amount of tasks to be performed in each area and the current distribution information of the robots, the local average amount of tasks to be performed in each area is calculated respectively.
11. The method according to claim 10, characterized in that The total amount of tasks to be executed in the specified scene and the total amount of tasks to be executed in each area are counted, including: Get the attribute information of each task to be executed in the specified scene; Determining the quantity coefficient of each task to be executed according to the attribute information of each task to be executed; According to the quantity coefficient of each task to be executed, the total amount of tasks to be executed in the specified scene and the total amount of tasks to be executed in each area are counted.
12. The method according to claim 1, characterized in that After the cross-region scheduling of the target robot in the specified scene using the cross-region scheduling strategy of the robot, the method further includes: Acquire first binding information, first position information of the task to be executed, and current position information of the robot, wherein the first binding information includes a binding relationship between the robot and second position information of the task currently being executed; Parsing the first binding information to obtain the second location information; Calculating a first distance between the robot and the task to be performed and a second distance between the robot and the task currently being performed according to the first position information, the second position information and the current position information; When the first distance is smaller than the second distance, the to-be-performed task is switched to be executed.
13. The method according to claim 12, characterized in that The obtaining of the current position information of the robot comprises: Acquire second binding information, wherein the second binding information includes a binding relationship between the robot and the current position information of the robot; The second binding information is parsed to obtain the current location information.
14. The method according to claim 13, characterized in that Also includes: Identify whether the current position information of the robot changes; If a change occurs, the second binding information is unbound, and the robot and the changed current position information are rebound to obtain updated second binding information.
15. The method according to any one of claims 12 to 14, characterized in that: The first position information is a first lane identifier of the task to be performed, the second position information is a second lane identifier of the task currently being performed, and the current position information is a third lane identifier of the robot; The calculating, according to the first position information, the second position information and the current position information, a first distance between the robot and the task to be performed and a second distance between the robot and the task currently being performed comprises: Calculating a first distance between the robot and the task to be performed according to the first lane identifier and the third lane identifier; A second distance between the robot and the currently executed task is calculated according to the second lane identifier and the third lane identifier.
16. The method according to claim 15, characterized in that When the first distance is less than the second distance, switching to execute the task to be executed includes: When the first distance is less than the second distance, identifying whether the first lane identifier and the third lane identifier are the same; If they are the same, switch to execute the task to be executed.
17. The method according to any one of claims 12 to 14, characterized in that: Before the switching to execute the task to be executed, the method further includes: Determining, according to the current location information and the second location information, whether the currently executed task is a cross-region task in a specified scene, wherein the specified scene is pre-divided into a plurality of regions; The switching to execute the task to be executed includes: When the currently executed task is not a cross-region task, the execution of the task to be executed is switched.
18. The method according to claim 17, characterized in that After determining whether the currently executed task is a cross-region task in a specified scenario according to the current location information and the second location information, the method further includes: In the case that the currently executed task is a cross-region task, the currently executed task continues to be executed.
19. The method according to any one of claims 12 to 14, characterized in that: Before the switching to execute the task to be executed, the method further includes: Obtaining the number of switching times corresponding to the currently executed task, wherein the number of switching times is a statistical result of the number of historical switching times of the currently executed task; The switching to execute the task to be executed includes: When the switching times is less than or equal to a preset times threshold, the to-be-executed task is switched for execution.
20. The method according to claim 19, characterized in that After obtaining the number of switching times corresponding to the currently executed task, the method further includes: When the number of switching times is greater than the preset number threshold, the currently executed task continues to be executed, and when the first distance is less than the preset distance threshold, the number of switching times is reset.
21. The method according to claim 12, characterized in that After the switching to execute the task to be executed, the method further includes: The robot is bound to the task to be executed, and the first binding information is updated according to the binding result.
22. A robot scheduling device, characterized in that: include: A first acquisition module is configured to acquire a global average amount of tasks to be performed in a specified scene and a local average amount of tasks to be performed in each area, wherein the specified scene is pre-divided into multiple areas; A prediction module, configured to predict the global task execution loss of the specified scenario according to the global average amount of tasks to be executed and the local average amount of tasks to be executed in each area; A determination module is configured to determine a robot cross-region scheduling strategy according to the global task execution loss; The scheduling module is configured to utilize the robot cross-region scheduling strategy to perform cross-region scheduling on the target robot in the specified scene.
23. The device according to claim 22, characterized in that Also includes: A second acquisition module is configured to acquire first binding information, first position information of a task to be performed, and current position information of the robot, wherein the first binding information includes a binding relationship between the robot and the second position information of a task currently being performed; a parsing module, configured to parse the first binding information to obtain the second location information; a calculation module, configured to calculate a first distance between the robot and the task to be performed and a second distance between the robot and the task currently being performed according to the first position information, the second position information and the current position information; The switching execution module is configured to switch and execute the task to be executed when the first distance is smaller than the second distance.
24. A computing device, characterized in that include: Memory and processor; The memory is used to store computer-executable instructions, and the processor is used to execute the computer-executable instructions to implement the steps of the robot scheduling method according to any one of claims 1 to 21.
25. A computer-readable storage medium storing computer instructions, characterized in that: When the instruction is executed by the processor, the steps of the robot scheduling method described in any one of claims 1 to 21 are implemented.