Computing power resource scheduling method and device for robot cluster and computer equipment

By employing state awareness and dynamic scheduling mechanisms, the static binding problem of computing resources in robot clusters is solved, enabling dynamic sharing and real-time scheduling of resources, thereby improving resource utilization and task adaptability.

CN121301033BActive Publication Date: 2026-04-21VASTAI TECH (SHANGHAI) INC
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
VASTAI TECH (SHANGHAI) INC
Filing Date
2025-12-11
Publication Date
2026-04-21

AI Technical Summary

Technical Problem

The existing static computing power deployment model results in the robot cluster having idle and wasted resources during the off-peak period, while it cannot provide sufficient computing power support during the peak period, which limits the overall throughput and business elasticity of the system.

Method used

By acquiring the robot's state perception information, the state-to-computing power mapper determines resource scheduling requests, and the target computing power unit that meets the constraints is selected from the global resource pool. The path decision mechanism is used to dynamically schedule computing power resources, including two paths: remote mounting and physical acquisition, to achieve dynamic sharing and real-time scheduling of resources.

Benefits of technology

It enables real-time perception and closed-loop scheduling of computing resources in robot clusters, improving the flexibility and efficiency of resource scheduling, solving the problems of computing power silos and resource mismatch, and adapting to dynamic task requirements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121301033B_ABST
    Figure CN121301033B_ABST
Patent Text Reader

Abstract

This disclosure provides a method, apparatus, and computer device for scheduling computing resources in robot swarms, relating to the fields of computers and robots, particularly intelligent robots, robot systems, edge computing, and computing power allocation and scheduling. The implementation scheme includes: acquiring state perception information to indicate the physical state of the robot; providing the state perception information to a state-to-computing power mapper to determine a computing resource scheduling request; based on the computing resource scheduling request, determining a target computing power unit from the global resource pool that can satisfy the request and meet the target constraints; determining a target path for applying the target computing power unit to the robot based on a preset path decision mechanism; and applying the target computing power unit to the robot based on the determined target path. This enables real-time perception and closed-loop scheduling of edge computing power for dynamic physical tasks, significantly improving the flexibility and efficiency of computing resource scheduling in robot swarm scenarios.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the fields of computer and robotics technology, particularly to intelligent robots, robot systems, edge computing, computing power allocation and scheduling, and especially to a method, apparatus, computer equipment, computer-readable storage medium, computer program product, computing power resource scheduler and robot for scheduling computing power resources for robot swarms. Background Technology

[0002] With the integration of artificial intelligence and mechatronics, the application of intelligent robot swarms in warehousing, manufacturing, and service sectors is becoming increasingly widespread. The core intelligence of these robots, such as real-time visual recognition, SLAM (Simultaneous Localization and Mapping), multi-robot collaborative decision-making, and embodied intelligence large-scale model reasoning, places extremely high demands on computing power. However, the current mainstream computing power deployment model generally adopts a static binding approach. This architecture is primarily designed based on the assumption that the robot's computing power requirements are constant and predictable, i.e., pre-allocating physically isolated fixed hardware resources to each robot or work area. In practical applications, the physical state and task load of robots exhibit significant peak-and-trough characteristics. The static deployment model leads to a significant waste of hardware resources during off-peak periods such as charging or idle periods, and on the other hand, it cannot provide sufficient computing power support during peak periods of sudden high-intensity tasks, severely limiting the overall throughput and business elasticity of the system. Therefore, how to break through the static boundaries of physical hardware and resolve the mismatch between computing power resource supply and dynamic task demands is a pressing issue in the current technological field. Summary of the Invention

[0003] This disclosure provides a method, apparatus, computer device, computer-readable storage medium, computer program product, computing resource scheduler, and robot for scheduling computing resources in robot swarms.

[0004] According to one aspect of this disclosure, a method for scheduling computing resources for a robot swarm is provided, comprising: acquiring state-aware information indicating the physical state of the robot, the state-aware information including task information, location information, and power information; providing the state-aware information to a pre-built state-to-computing-power mapper to determine a computing resource scheduling request for the robot, wherein the state-to-computing-power mapper is used to determine a target resource type and a target resource specification based on the task information in the state-aware information, the computing resource scheduling request including the target resource type and the target resource specification; and, based on the computing resource scheduling request, determining from a global resource pool for the robot swarm that can satisfy the computing resource scheduling request and meet the target resource specification. The target computing power unit is defined by the following constraints: a first sub-constraint related to location affinity, a second sub-constraint related to task continuity, and a third sub-constraint related to power continuity; based on a preset path decision mechanism, a target path is determined for applying the target computing power unit to the robot, the target path being selected from a first path for remotely mounting the target computing power unit or a second path for physically acquiring the target computing power unit, wherein the preset path decision mechanism is used to determine the one with the lower total cost between the first path and the second path, the total cost being determined at least based on time cost and energy consumption cost; and based on the determined target path, the target computing power unit is applied to the robot.

[0005] In some embodiments, the state-to-computing-power mapper is configured to determine a set of physical behaviors to be performed by the robot based on task information, wherein each physical behavior in the set of physical behaviors has a corresponding resource type and resource specification, so that the state-to-computing-power mapper determines the target resource type and target resource specification for the set of physical behaviors.

[0006] In some embodiments, the state and computing power mapper is also configured to dynamically adjust the determined target resource type and target resource specification based on environmental information.

[0007] In some embodiments, the global resource pool includes multiple candidate computing power units. The process of determining a target computing power unit from the global resource pool for robot clusters, based on a computing power resource scheduling request, that satisfies both the request and the target constraints, includes: determining a set of remaining computing power units from the multiple candidate units that satisfy the computing power resource scheduling request and are not subject to a preemption prohibition flag associated with task continuity; determining a score for each remaining computing power unit in the set based on a first sub-constraint, a second sub-constraint, and a third sub-constraint, wherein the score is a weighted sum of the evaluation values ​​and weights of the first, second, and third sub-constraints, with the second sub-constraint having the highest weight among the three; and determining the remaining computing power unit with the highest score from the set as the target computing power unit.

[0008] In some embodiments, at least one candidate computing power unit among a plurality of candidate computing power units is reserved for a preset computing power resource scheduling request that satisfies a first predetermined condition at the task level. The process of determining a target computing power unit that can satisfy the computing power resource scheduling request and the target constraint condition from a global resource pool for robot clusters based on the computing power resource scheduling request further includes: in response to the task level corresponding to the received computing power resource scheduling request not satisfying the first predetermined condition, excluding at least one reserved candidate computing power unit from the plurality of candidate computing power units. The task level is determined based on task information in state-aware information.

[0009] In some embodiments, based on a computing resource scheduling request, a target computing unit that can satisfy the computing resource scheduling request and the target constraint is determined from a global resource pool for a robot cluster. This further includes: in response to the received computing resource scheduling request corresponding to a task level satisfying a second predetermined condition, when the determined set of remaining computing units is empty, determining a set of computing units to be preempted from multiple candidate computing units, where each preempted computing unit in the set is currently running a task whose task level does not satisfy the second predetermined condition, wherein the task level is determined based on task information in state-aware information; and determining the preempted computing unit with the lowest task level and best matching the computing resource scheduling request from the set of preempted computing units as the target computing unit.

[0010] In some embodiments, the total cost of each of the first path and the second path is further determined based on opportunity cost. The determination of the target path for applying the target computing power unit to the robot based on a preset path decision mechanism further includes: in response to determining that the target computing power unit will be applied to a task whose task level meets a third predetermined condition within a specific time period, determining that the opportunity cost of the first path is lower than that of the second path, wherein the specific time period at least partially overlaps with the target time period in which the target computing power unit will be applied to the robot; and determining the first path as the target path.

[0011] In some embodiments, the method further includes: in response to the robot completing the task corresponding to the computing power resource scheduling request, reclaiming the released target computing power unit to the global resource pool.

[0012] According to another aspect of this disclosure, a computing resource scheduling device for a robot swarm is provided. The device includes: an information acquisition module configured to acquire state perception information indicating the physical state of the robot, the state perception information including task information, location information, and power information; a scheduling request determination module configured to provide the state perception information to a pre-built state-to-computing-power mapper to determine a computing resource scheduling request for the robot, wherein the state-to-computing-power mapper is used to determine a target resource type and a target resource specification based on the task information in the state perception information, and the computing resource scheduling request includes the target resource type and the target resource specification; and a target resource determination module configured to determine, based on the computing resource scheduling request, a target resource that can satisfy the computing resource requirements from a global resource pool for the robot swarm. The system includes a target computing unit that meets the scheduling request and target constraints, wherein the target constraints include a first sub-constraint related to location affinity, a second sub-constraint related to task continuity, and a third sub-constraint related to power continuity; a target path determination module configured to determine a target path for applying the target computing unit to the robot based on a preset path decision mechanism, wherein the target path is selected from a first path for remotely mounting the target computing unit or a second path for physically acquiring the target computing unit, wherein the preset path decision mechanism is used to determine the one with a smaller total cost between the first path and the second path, and the total cost is determined based at least on time cost and energy consumption cost; and a resource application module configured to apply the target computing unit to the robot based on the determined target path.

[0013] According to another aspect of this disclosure, a computer device is provided, comprising: at least one processor; and a memory having a computer program stored thereon, wherein the computer program, when executed by the at least one processor, causes the at least one processor to perform the methods provided above in this disclosure.

[0014] According to another aspect of this disclosure, a computing resource scheduler is provided that performs computing resource scheduling for robots in a robot cluster according to the method provided above in this disclosure.

[0015] According to another aspect of this disclosure, a robot is provided that is allocated computing resources according to the method provided above.

[0016] According to another aspect of this disclosure, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, causes the processor to perform the methods provided above in this disclosure.

[0017] According to another aspect of this disclosure, a computer program product is provided, including a computer program that, when executed by a processor, causes the processor to perform the methods provided above in this disclosure.

[0018] According to one or more embodiments of this disclosure, real-time perception and closed-loop scheduling of edge computing power for dynamic physical tasks can be realized, achieving real-time linkage between physical task requirements and computing resources, and greatly improving the flexibility and efficiency of computing resource scheduling.

[0019] These and other aspects of this disclosure will be apparent from the embodiments described below, and will be elucidated with reference to the embodiments described below. Attached Figure Description

[0020] The accompanying drawings exemplify embodiments and form part of the specification, serving together with the textual description to explain exemplary implementations of the embodiments. The illustrated embodiments are for illustrative purposes only and do not limit the scope of this disclosure. Throughout the drawings, the same reference numerals refer to similar but not necessarily identical elements.

[0021] Figure 1 This is a schematic diagram illustrating a system including a robot cluster, a computing resource scheduler, and a global resource pool according to an exemplary embodiment.

[0022] Figure 2 This is a flowchart illustrating a method for scheduling computing resources for a robot cluster according to an exemplary embodiment.

[0023] Figure 3 This is a schematic diagram illustrating the mapping of state and computing power according to an exemplary embodiment.

[0024] Figure 4 This is a schematic diagram illustrating the determination of target computing units from a global resource pool according to an exemplary embodiment.

[0025] Figure 5This is a schematic diagram illustrating the determination of target computing units with the provision of a resource reservation mechanism according to an exemplary embodiment.

[0026] Figure 6 This is a schematic diagram illustrating the determination of a target computing unit when a resource preemption mechanism is provided, according to an exemplary embodiment.

[0027] Figure 7 This is a schematic diagram illustrating a computing resource scheduling method according to an exemplary embodiment.

[0028] Figure 8 This is a schematic block diagram illustrating a computing resource scheduling apparatus for a robot swarm according to an exemplary embodiment.

[0029] Figure 9 This is a block diagram illustrating an exemplary computer device that can be applied to an exemplary embodiment. Detailed Implementation

[0030] The exemplary embodiments of this disclosure are described below with reference to the accompanying drawings, including various details of the embodiments to aid understanding, and should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope of this disclosure. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.

[0031] In this disclosure, unless otherwise stated, the use of terms such as "first," "second," etc., to describe various elements is not intended to limit the positional, temporal, or importance relationships of these elements; such terms are merely used to distinguish one element from another. In some examples, the first element and the second element may refer to the same instance of that element, while in other cases, based on the context, they may refer to different instances.

[0032] The terminology used in the description of the various examples described in this disclosure is for the purpose of describing particular examples only and is not intended to be limiting. Unless the context explicitly indicates otherwise, an element may be one or more unless the number of elements is specifically limited. As used herein, the term "multiple" means two or more, and the term "based on" should be interpreted as "at least partially based on". Furthermore, the terms "and / or" and "at least one of..." cover any one of the listed items and all possible combinations thereof.

[0033] In related technologies, traditional static computing power deployment methods can include a "one robot, one computing power" binding model and a centralized edge computing model of "one zone, one server". In the "one robot, one computing power" binding model, each robot integrates a fixed computing unit internally or connects to it via a dedicated link. The specifications of this computing unit are determined at the initial stage of robot design or deployment to be dedicated to handling the computing power requirements of all the robot's preset tasks. In the "one zone, one server" centralized edge computing model, a high-performance edge server is deployed in a physical area (such as a workshop or warehouse section) to provide computing services to multiple robots within that physical area via a local area network.

[0034] However, both the "one machine, one computing power" binding model and the "one zone, one server" centralized edge computing model have some inherent defects, making it difficult to adapt to the rapid development of intelligent robot technology.

[0035] On the one hand, the "one robot, one computing power" binding model has extremely low resource utilization and serious computing power silos. For example, a handling robot has high computing power requirements when moving and grasping, but its computing power requirements are almost zero when charging or waiting. Its dedicated computing power is completely idle during off-peak hours and cannot be used by other robots that urgently need computing power, forming computing power silos. At the same time, this model cannot cope with sudden or high-intensity computing tasks. For example, when faced with a surge in temporary orders or the need to execute more complex algorithms, the robot is limited by its fixed computing power, resulting in either processing delays or failure to execute, which limits the overall throughput of the system during peak business periods. In addition, this model is expensive in terms of hardware upgrades and maintenance costs. For example, to improve the computing power level of the entire robot cluster, the hardware of each robot needs to be upgraded individually, which is time-consuming and labor-intensive.

[0036] On the other hand, the centralized edge computing model of "one server per region" suffers from rigid resource allocation and a lack of fine-grained flexibility. While it achieves initial centralization within a region, the server remains statically bound to multiple robots within that region. Furthermore, this model suffers from performance bottlenecks and resource fragmentation. When all robots within a region are simultaneously under high load, the server may become a performance bottleneck. Conversely, when some robots have sparse tasks, their pre-allocated resources become fragmented and cannot be reallocated, resulting in waste. Moreover, this model lacks global optimization capabilities. Because resources are completely isolated between servers in different regions, cross-regional global load balancing and resource scheduling are impossible, making energy efficiency optimization difficult.

[0037] Therefore, traditional static computing power deployment methods have low overall utilization of computing resources, making it increasingly difficult to maximize overall efficiency in complex and ever-changing environments. There is an urgent need for more effective and flexible computing power supply methods to cope with technological innovation and business iteration.

[0038] To address this, embodiments of this disclosure propose a real-time edge computing power perception and closed-loop scheduling system for dynamic physical tasks. This system deeply couples the concept of resource pooling with the physical working state of the robot, thereby resolving the contradiction between the dynamic and ever-changing physical tasks of the robot and the static and fixed edge computing power. It realizes a paradigm shift from static resource binding to dynamic task sharing, thereby achieving real-time linkage between physical task requirements and computing power resources, significantly improving the flexibility and efficiency of computing power resource scheduling, and is particularly suitable for robot cluster application scenarios.

[0039] Exemplary embodiments of this disclosure will now be described in detail with reference to the accompanying drawings.

[0040] Figure 1 This is a schematic diagram illustrating a system including a robot cluster, a computing resource scheduler, and a global resource pool according to an exemplary embodiment.

[0041] like Figure 1 As shown, the system may include a robot cluster, a computing resource scheduler, and a global resource pool. The robot cluster may include multiple robots, such as robot A, robot B, and robot C shown. It is understood that... Figure 1 The illustration uses only a robot swarm consisting of three robots as an example, but the scope of this disclosure is not limited thereto. The computing resource scheduler can be used to dynamically schedule and allocate computing resources from a global resource pool to robots in the robot swarm that have computing power requirements, and to determine the appropriate path for applying computing power to the robots.

[0042] Figure 2 This is a flowchart illustrating a method for scheduling computing resources for a robot cluster according to an exemplary embodiment.

[0043] like Figure 2 As shown, the computing resource scheduling method includes steps S201 to S205. In this embodiment, the robot cluster can be, for example, as shown in the diagram. Figure 1 The robot cluster shown.

[0044] In step S201, state perception information used to indicate the physical state of the robot is acquired. The state perception information includes task information, location information, and power information.

[0045] In the example, the robot here could refer to, for example... Figure 1The robot cluster shown includes any one of robots A, B, or C. State awareness information can be obtained through a robot operating system (such as ROS). Task information, location information, and battery information can be signals with explicit semantics. Task information can indicate the robot's current task stage, such as whether it is idle, walking, grasping, or recognizing an object. Location information can indicate the robot's current location, such as whether it is in a precision assembly area or a storage area. Battery information can indicate the robot's current battery status, such as the percentage of battery charge.

[0046] In step S202, state-aware information is provided to a pre-built state-to-computing-power mapper to determine the computing resource scheduling request for the robot. This state-to-computing-power mapper is used to determine the target resource type and target resource specification based on the task information in the state-aware information. The computing resource scheduling request includes the target resource type and target resource specification.

[0047] In this example, the pre-built state-to-computing-power mapper, also known as the state-to-computing-power mapping model, is used to map physical states to computing power requirements. This mapper can determine computing resource scheduling requests based on task information, using a pre-defined set of domain-knowledge-optimized rules and experience bases—essentially translating physical states into computing power requirements. Correspondingly, the target resource type and specifications in the computing resource scheduling request can be specific quantifications of the computing power requirements, like a computing power purchase order that can be submitted to the computing resource scheduler. Target resource types can include, for example, various types such as GPUs, CPUs, and dedicated AI chips. Target resource specifications can include, for example, various specifications such as video memory capacity (e.g., 16GB, 32GB), network latency (e.g., less than 10ms), etc.

[0048] In step S203, based on the computing power resource scheduling request, target computing power units that can satisfy the computing power resource scheduling request and meet the target constraints are determined from the global resource pool used for the robot cluster. The target constraints include a first sub-constraint related to location affinity, a second sub-constraint related to task continuity, and a third sub-constraint related to power continuity.

[0049] In this example, the computing and / or storage modules of each robot in the robot swarm can be physically modularized and their interfaces standardized to pool resources, thereby forming a global resource pool for dynamic sharing of computing power. The computing modules can include units providing core computing power such as data processing and intelligent inference. The storage modules can include units for storing operating systems, applications, algorithm models, temporary data, etc. For example, the computing and / or storage modules can be separated from the robot body to form independent functional modules, such as hot-swappable modules. These modules can connect to the robot body or a dedicated module docking station via standardized high-speed interfaces. The robot body can retain necessary units such as perception (e.g., sensors), actuation (e.g., motors, robotic arms), navigation (e.g., chassis), basic power supply, and module interfaces, while pooling the computing and / or storage modules to form the global resource pool. In addition, the global resource pool can also include the computing power units corresponding to the edge servers themselves set up for the robot swarm. Therefore, the capacity of the global resource pool for the robot swarm can have a pre-set fixed capacity limit, or it can support capacity expansion to have a dynamic capacity limit. Furthermore, resource pooling can also include processes such as resource discovery, authentication, and virtualization, thereby allowing physical computing / storage modules to be abstracted as logical computing units within a global resource pool. To this end, the global resource pool can include unified management and a controller, for example, responsible for resource discovery, hot-plug event reporting, virtualization partitioning, and execution scheduling. In this paper, for ease of explanation, computing modules such as GPUs, CPUs, and dedicated AI chips will be primarily used as examples of computing resources; however, the scope of this disclosure is not limited to this, and the same applies to storage modules.

[0050] In the example, the resources in the global resource pool are logical computing units abstracted through a layered virtualization architecture. Layered virtualization can include chip-level virtualization, device-level virtualization, and containerized orchestration and abstraction. Chip-level virtualization can divide a single physical GPU into multiple independent and secure GPU instances, achieving fine-grained partitioning and quality assurance of high-end computing power. Device-level virtualization can create multiple lightweight virtual functions for physical computing devices, enabling them to be directly shared by multiple tasks with near-native performance. Containerized orchestration and abstraction can abstract and report virtualized heterogeneous computing units (such as GPU and FPGA instances) as schedulable resources for the cluster, allowing the computing resource scheduler to allocate dedicated computing power like CPUs and memory. Therefore, a computing unit can be a complete physical GPU module, an independent GPU instance partitioned through chip-level virtualization technology, or a virtual function of an FPGA, etc. This abstraction shields the heterogeneity of the underlying hardware, allowing the computing resource scheduler to manage it from a unified computing service perspective.

[0051] In the example, the first sub-constraint related to location affinity can translate the network topology and physical distance of the robot cluster into quantifiable latency costs. For example, based on location affinity, target computing units in the global resource pool that are in the same physical area and / or the same network exchange node as the robot currently to be allocated resources can be preferentially selected. The aim is to minimize the physical path of data transmission, thereby meeting the latency (e.g., millisecond-level) requirements of real-time robot control. The second sub-constraint related to task continuity can be used to avoid the allocation of computing resources from sudden withdrawal from other tasks, which could lead to task failure or safety incidents. For example, based on task continuity, if a robot in the robot cluster is currently executing a task that cannot be interrupted, the computing unit corresponding to that robot cannot be used as a target computing unit for resource allocation. The third sub-constraint related to power sustainability can be used to extend the optimization objective of resource allocation from a purely performance dimension to an energy efficiency dimension. For example, based on power sustainability, computing units corresponding to robots in the robot cluster with sufficient power supply, or computing units corresponding to edge servers powered by mains electricity, can be preferentially scheduled.

[0052] In the example, the objective constraints encompassing the three dimensions mentioned above provide a multi-objective optimization mechanism based on weighted decision-making across these three dimensions. This mechanism does not provide a fixed priority ranking but rather a dynamic, configurable trade-off process. Therefore, when scheduling resources based on computing power resource scheduling requests, each computing power unit in the global resource pool that has been determined to meet the scheduling request can be comprehensively evaluated based on the sub-constraints of the three dimensions. For example, each sub-constraint can have a corresponding evaluation score and dynamic weight, allowing each computing power unit to have its own corresponding comprehensive evaluation score, thereby enabling the identification of the computing power unit with the highest comprehensive evaluation score. For instance, for the second sub-constraint, since task continuity is directly related to physical security, it can typically be assigned the highest weight and may even have veto power. For the first and third sub-constraints, the weights can be dynamically adjusted between different requirements for "ultimate performance" and "maximum endurance" based on actual circumstances.

[0053] In step S204, based on a preset path decision mechanism, a target path is determined for applying the target computing power unit to the robot. This target path is selected from either a first path for remotely mounting the target computing power unit or a second path for physically acquiring the target computing power unit. The preset path decision mechanism is used to determine the path with the lower total cost between the first and second paths, and this total cost is determined based at least on time cost and energy consumption cost.

[0054] In the example, the total cost of the first path used for remote mounting may include, for example, the increased task execution time due to network transmission latency (i.e., time cost), and the additional communication energy consumed to maintain high-speed data flow (i.e., energy cost). The advantage of using remote mounting is that it eliminates the need for a mobile robot, resulting in fast resource delivery, almost in seconds. The disadvantages are that real-time performance during task execution may be affected by network fluctuations, and long-term communication energy consumption may be high. The total cost of the second path used for physical acquisition may include, for example, the energy and time required for the mobile robot to move (i.e., energy cost and time cost), and the energy and time involved in performing the physical plug-in / plug-out operation (i.e., energy cost and time cost). While this has some energy and time disadvantages, the advantage is that once the module plug-in / plug-out is complete, subsequent task execution will have low latency and zero communication overhead performance. Therefore, it is necessary to determine which of the first and second paths has the lower total cost. This can be done using a dynamic, weighted decision function. For example, each of the first and second paths can have corresponding evaluation scores and weights for time cost and energy cost, thus obtaining a score for the total cost of each path. For example, for a long-running, high-throughput computing task that needs to run continuously for several hours, the "physical acquisition" path, although initially costly in terms of movement time, saves communication latency and energy consumption over the long task execution period, far outweighing the initial cost, making the total cost much lower than "remote mounting." Conversely, for a short-term, bursty task that only needs to run for a few minutes, "remote mounting" offers a faster response and the ability to be moved, making it a superior option.

[0055] In step S205, the target computing unit is applied to the robot based on the determined target path.

[0056] In the example, remote mounting can refer to network mounting of computing power, meaning that without moving the robot, it can offload a portion of the task to a target computing unit for processing via a network (such as a wired or wireless network). For example, a temporary, distributed computing pipeline can be formed via the network, where the robot's local computing unit can handle a portion of the task with higher urgency and / or higher latency requirements, while a larger portion of the task with higher parallelism can be handled by target computing units allocated on an edge server. Thus, the robot's entire task can be completed collaboratively by local and remote computing units. On the other hand, physical acquisition can refer to physically inserting the target computing unit into the robot's body, thereby enabling the application of the target computing unit through hot-swapping of computing modules. For example, the robot can move to the target location and complete this physical acquisition by executing corresponding operational instructions (such as unplugging a specified GPU from another robot body or a dedicated module dock and inserting it into its own body).

[0057] Therefore, the computing power resource scheduling method for robot swarms according to embodiments of this disclosure provides a real-time edge computing power perception and closed-loop scheduling mechanism for dynamic physical tasks. Through a state-to-computing power mapping mechanism, the physical state of the robot in the real world can be transformed into quantifiable digital resource requirements. Based on these resource requirements, the optimal resource allocation is determined from a pooled resource library according to multi-dimensional comprehensive screening conditions, and the optimal application path is also determined for this resource allocation. This solves common problems in traditional computing power resource scheduling methods, such as computing power silos, mismatch between dynamic tasks and static resources, and cross-entity scheduling problems. It achieves real-time linkage between physical task requirements and computing power resources, significantly improving the flexibility and efficiency of computing power resource scheduling, and is particularly suitable for robot swarm application scenarios.

[0058] In some embodiments, the state-to-computing-power mapper described above can be configured to determine a set of physical behaviors to be performed by the robot based on task information. Each physical behavior in the set of physical behaviors has a corresponding resource type and resource specification, so that the state-to-computing-power mapper can determine the target resource type and target resource specification for the set of physical behaviors.

[0059] In the example, the operation of the state and computing power mapper can be built upon a framework that combines a condition-action rule engine (such as pre-defined rules and experience bases) with machine learning predictions. For instance, when the state and computing power mapper determines that the robot's physical state changes from "idle" to "moving to the grasping point" based on a change in state identifiers, it can translate this change into a series of upcoming physical behaviors, i.e., a set of physical behaviors: such as real-time SLAM (Simultaneous Localization and Mapping) requiring high-frequency visual data processing, path planning algorithms requiring continuous operation, and potential real-time obstacle avoidance requiring low-latency AI inference, etc. Each physical behavior corresponds to a specific resource type and specification, allowing the state and computing power mapper to determine the target resource type and specification corresponding to the entire set of physical behaviors, i.e., a computing power resource scheduling request. Therefore, the state and computing power mapper may not only request a high-performance GPU instance (such as one with a specific number of CUDA cores and memory capacity), but may also specify the low-latency characteristics that the computing power resource must meet, as any network latency can directly affect the safety and accuracy of navigation. Therefore, this mapping is refined, understanding that although both "navigation" and "precise placement" may require GPUs, their requirements for computing power and real-time performance are significantly different.

[0060] By leveraging this automated and intelligent mapping mechanism between state and computing power mappers, computing power demand can be transformed from traditional static allocation to a dynamic response of request only when needed. Furthermore, computing power demand can be shifted from rough estimation to precise prediction. This bridges the gap between the physical world and the digital resource world, enabling computing power resource scheduling to become an intelligent service that can be precisely sensed and allocated on demand, much like water and electricity resource scheduling. This, in turn, contributes to improving the efficiency and flexibility of the overall scheduling method.

[0061] In some embodiments, the state-to-computing-power mapper can also be configured to dynamically adjust the determined target resource type and target resource specification based on environmental information.

[0062] In this example, the state-to-computation-power mapper can be capable of learning and evolving. For instance, by using a large amount of robot task execution data (such as task type, actual resource utilization, task completion quality, and time consumption) as learning samples, the state-to-computation-power mapper can use machine learning algorithms to discover complex relationships that are difficult to describe precisely by humans. For example, the state-to-computation-power mapper might learn that during specific periods of changing warehouse lighting conditions, visual recognition tasks require an additional 20% of computing power to maintain the same recognition accuracy. Therefore, the state-to-computation-power mapper can dynamically adjust mapping rules and automatically upgrade the specifications of computing resource scheduling requests under specific conditions.

[0063] Because of the learning and evolution capabilities of the state and computing power mapper, it can further evolve from passive rule-based mapping to proactive prediction-based resource supply, thereby further improving the efficiency and flexibility of the overall scheduling method.

[0064] Figure 3 This is a schematic diagram illustrating the mapping of state and computing power according to an exemplary embodiment.

[0065] like Figure 3 As shown, assuming the robot changes from one task to another, the task information associated with this change is received by the state and computing power mapper, which determines that the set of physical behaviors to be performed by the robot includes physical behavior 1, physical behavior 2, and physical behavior 3 in sequence. In this case, the state and computing power mapper can also determine that physical behavior 1 requires resource type 1 and resource specification 1, physical behavior 2 requires resource type 2 and resource specification 2, and physical behavior 3 requires resource type 3 and resource specification 3.

[0066] In practice, resource type 1, resource type 2, and resource type 3 may be different from each other, or partially the same or overlapping, and resource specification 1, resource specification 2, and resource specification 3 may also be different from each other, or partially the same or overlapping. Therefore, the target resource type required for the entire set of physical behaviors can be obtained based on resource type 1, resource type 2, and resource type 3. This should ensure that the final target resource type covers each resource type, for example, by taking the union of all resource types. Similarly, the target resource specification required for the entire set of physical behaviors can be obtained based on resource specification 1, resource specification 2, and resource specification 3. This can be performed in a way that satisfies the entire set of physical behaviors in the order of execution using the least amount of hardware conditions; for example, the memory capacity of the same resource type can be taken as the largest among multiple options. Furthermore, since the state and computing power mapper can also have learning and evolution capabilities, it can also dynamically adjust the determined target resource type and target resource specification according to predetermined conditions, such as certain specific environmental information.

[0067] In some embodiments, the global resource pool as described above may include multiple candidate computing units. Accordingly, as combined with Figure 2Step S203, namely, determining the target computing power unit from the global resource pool used for the robot cluster that can satisfy the computing power resource scheduling request and meet the target constraints based on the computing power resource scheduling request, may include: determining a set of remaining computing power units from multiple candidate computing power units that can satisfy the computing power resource scheduling request and have not been subject to a preemption prohibition flag associated with task continuity; determining the score of each remaining computing power unit in the set of remaining computing power units based on the first sub-constraint, the second sub-constraint, and the third sub-constraint, wherein the score is obtained by weighted sum of the evaluation values ​​and weights of the first, second, and third sub-constraints, with the second sub-constraint having the highest weight among the three weights; and determining the remaining computing power unit with the highest score from the set of remaining computing power units as the target computing power unit.

[0068] In the example, as mentioned earlier, the second sub-constraint related to task continuity is directly related to physical security and can therefore be given the highest weight, and can also have a veto power. This veto power can be reflected by confirming whether a candidate computing unit is subject to a preemption prohibition flag related to task continuity. That is, if a candidate computing unit is subject to this preemption prohibition flag, even if it can meet the computing resource scheduling request, it means that the task continuity of the candidate computing unit should be ensured, and the candidate computing unit should not be selected; i.e., a veto. Based on this, when it is necessary to determine the target computing unit from the global resource pool, a portion of the candidate computing units can be eliminated first using the second sub-constraint related to task continuity, thus obtaining the remaining computing unit set as described above. Then, the remaining computing unit with the highest score in this set is selected as the target computing unit based on a comprehensive evaluation of the three dimensions of the first to third sub-constraints, with the second sub-constraint having the highest weight among the three weights.

[0069] This screening method allows for a quick and easy preliminary screening of multiple candidate computing units in the global resource pool using the single dimension of the second sub-constraint related to task continuity. On the other hand, it also allows for the determination of the optimal resource allocation from the preliminary screening results based on a comprehensive screening condition of three dimensions. This achieves both fast and accurate screening results, which helps to realize the flexibility and efficiency of computing resource scheduling.

[0070] Figure 4 This is a schematic diagram illustrating the determination of target computing units from a global resource pool according to an exemplary embodiment.

[0071] like Figure 4As shown, the global resource pool can include multiple candidate computing power units, such as candidate computing power unit 1, candidate computing power unit 2, candidate computing power unit 3, candidate computing power unit 4, and candidate computing power unit 5. To determine the desired target computing power unit from this global resource pool, a preliminary set of remaining computing power units can be obtained by excluding one or more candidate computing power units with a no-preemption flag associated with task continuity. That is, the task continuity constraint can have a veto power. For example, candidate computing power units 1 and 2 with the no-preemption flag can be excluded, leaving candidate computing power units 3, 4, and 5 as the remaining set of computing power units. Then, based on the comprehensive screening criteria of the three dimensions described above, the target computing power unit can be selected from this remaining set of computing power units. For example, the final selection might be... Figure 4 Candidate computing unit 4 is shown.

[0072] Understandable, Figure 4 The description uses only five candidate computing units as examples, but the scope of the embodiments disclosed herein is not limited thereto.

[0073] In some embodiments, at least one candidate computing power unit among a plurality of candidate computing power units is reserved for a preset computing power resource scheduling request at the task level that meets a first predetermined condition. Accordingly, as in combination with Figure 2 Step S203, namely, determining the target computing power unit that can satisfy the computing power resource scheduling request and the target constraint condition from the global resource pool for robot cluster based on the computing power resource scheduling request, may include: in response to the task level corresponding to the received computing power resource scheduling request not satisfying the first predetermined condition, excluding the at least one reserved candidate computing power unit from multiple candidate computing power units, wherein the task level is determined based on the task information in the state perception information.

[0074] In this example, the resource reservation mechanism is a proactive safeguard strategy. When it is foreseeable that a high-priority task will be received, the computing resource scheduler can pre-lock specific computing units for it. This means that even if the node corresponding to that computing unit currently has a low load, this reserved computing power will not be allocated to other ordinary tasks. Therefore, in this embodiment, a task level meeting the first predetermined condition can mean that the task level's priority reaches a certain level, such as high priority. This priority can be quantified using a specific numerical range, such that a value greater than or equal to a preset threshold is considered high priority. That is, a portion of the resources in the global resource pool can be reserved for high-priority tasks. If the task requesting the resources does not meet this priority, the reserved resources may be invisible to that task, and therefore the computing resource scheduler can exclude these reserved resources.

[0075] This resource reservation mechanism ensures that critical tasks receive immediate, conflict-free resource supply upon triggering, thereby achieving deterministic guarantees at the business level. Furthermore, by integrating resource reservation into the dynamic scheduling mechanism, the efficient execution of individual tasks can be further guaranteed based on global resource optimization, thus further improving the efficiency and flexibility of the overall computing resource scheduling method.

[0076] Figure 5 This is a schematic diagram illustrating the determination of target computing units with the provision of a resource reservation mechanism according to an exemplary embodiment.

[0077] like Figure 5 As shown, the global resource pool can include multiple candidate computing power units, such as candidate computing power unit 1, candidate computing power unit 2, candidate computing power unit 3, candidate computing power unit 4, and candidate computing power unit 5. Assuming candidate computing power unit 3 is a reserved resource, if the task level corresponding to the received computing power resource scheduling request does not reach the preset high priority, the computing power resource scheduling will exclude candidate computing power unit 3 from the selection of target computing power units for that request in the global resource pool. This ensures that when a critical task is triggered, it can obtain immediate and conflict-free resource supply, thereby further optimizing the overall computing power resource scheduling method.

[0078] Understandable, Figure 5 The description uses only five candidate computing units as examples, but the scope of the embodiments disclosed herein is not limited thereto.

[0079] In some embodiments, such as in combination Figure 2 Step S203, namely, determining the target computing power unit from the global resource pool for the robot cluster that can satisfy the computing power resource scheduling request and the target constraint condition based on the computing power resource scheduling request, may further include: in response to the received computing power resource scheduling request corresponding to the task level satisfying the second predetermined condition, when the determined set of remaining computing power units is empty, determining a set of computing power units to be preempted from multiple candidate computing power units, wherein each preempted computing power unit in the set of preempted computing power units is running a task whose task level does not satisfy the second predetermined condition, wherein the task level is determined based on the task information in the state perception information; and determining the preempted computing power unit with the lowest task level and the best match with the computing power resource scheduling request from the set of preempted computing power units as the target computing power unit.

[0080] In this example, the resource preemption mechanism is a dynamic contingency strategy used to resolve the conflict between unforeseen, sudden high-priority tasks and limited resources. For instance, when a new high-priority task (such as an emergency intrusion target identification request initiated by a security robot) cannot be scheduled due to insufficient resources, the computing resource scheduler initiates a global scan, evaluating all computing instances running lower-priority tasks and selecting one for resource preemption. The preemption target can take various forms, such as the deprivation of a virtualized computing instance on the robot itself, the takeover of remote computing services on edge servers via the network, or even, when conditions permit, the reclamation and reallocation of pluggable physical modules already allocated to other robots. The principle of preemption should minimize the overall business impact, favoring the instance with the lowest task priority and whose resource usage best matches the needs of the high-priority task. The selected low-priority task receives a termination signal, releases its resources after completing necessary state saving, and the computing resource scheduler can then immediately reallocate these resources to the high-priority task. In other words, preemption can occur flexibly at different resource levels. For example, it can be a software-level preemption of a virtualized computing instance; it can also manifest as taking over network connectivity to a remote computing service; furthermore, when modular hardware becomes the optimal solution, preemption can also be implemented physically, i.e., reclaiming an allocated pluggable module. Therefore, based on the real-time requirements of the task, network conditions, and robot status, the best target and method for preemption can be selected from these different forms to maximize global efficiency.

[0081] Therefore, in this embodiment, a task level satisfying the second predetermined condition can mean that the task level's priority reaches a certain level, such as high priority. This priority can be quantified using a specific numerical range, such that a value greater than or equal to a preset threshold is considered high priority. That is, if no schedulable resources are found in the global resource pool for such a high-priority task (i.e., the remaining set of computing power units is empty), a resource preemption mechanism can be initiated, and several candidates (i.e., a set of computing power units to be preempted) can be identified. Each candidate in this set of preempted computing power units has a lower task level priority than the task level corresponding to the computing power resource scheduling request, and therefore is considered a candidate for preemption. After determining the set of preempted computing power units, the candidate with the lowest task level and the best match for the computing power resource scheduling request is selected from this set as the object to be preempted.

[0082] The resource preemption mechanism ensures that, even when resources are saturated, computing power is always allocated to the most critical tasks through the most appropriate supply method. Furthermore, by incorporating the resource preemption mechanism into the dynamic scheduling mechanism, the efficient execution of individual tasks can be further guaranteed based on global resource optimization, thereby further improving the efficiency and flexibility of the overall computing power resource scheduling method.

[0083] Figure 6 This is a schematic diagram illustrating the determination of a target computing unit when a resource preemption mechanism is provided, according to an exemplary embodiment.

[0084] like Figure 6 As shown, the global resource pool can include multiple candidate computing power units, such as candidate computing power unit 1, candidate computing power unit 2, candidate computing power unit 3, candidate computing power unit 4, and candidate computing power unit 5. When a computing power resource scheduling request with a task level corresponding to a high priority is received, if none of the candidate computing power units 1, 2, 3, 4, and 5 in the global resource pool are idle resources at this time, a resource preemption mechanism can be initiated, and a set of computing power units to be preempted can be determined. Assuming that the priority of the tasks currently running by candidate computing power units 2, 3, and 4 is lower than the priority corresponding to the computing power resource scheduling request, then candidate computing power units 2, 3, and 4 can be considered candidates in the set of computing power units to be preempted. Further assuming that candidate computing power unit 2 is the lowest task level and best matches the computing power resource scheduling request in the set of preempted computing power units, then candidate computing power unit 2 can be preempted, thus ultimately determining the target computing power unit. Therefore, even when resources are saturated, computing power can be allocated to the most critical tasks through the most appropriate supply method.

[0085] Understandable, Figure 6 The description uses only five candidate computing units as examples, but the scope of the embodiments disclosed herein is not limited thereto.

[0086] In some embodiments, the total cost of each of the first path for remotely mounting the target computing unit and the second path for physically acquiring the target computing unit, as described above, can also be determined based on opportunity cost. Accordingly, as combined with Figure 2 Step S204, namely the step of determining the target path for applying the target computing power unit to the robot based on a preset path decision mechanism, may further include: in response to determining that the target computing power unit will be applied to a task that meets a third predetermined condition at the task level within a specific time period, determining that the opportunity cost of the first path is lower, wherein the specific time period at least partially overlaps with the target time period in which the target computing power unit will be applied to the robot; and determining the first path as the target path.

[0087] In the example, if it can be predicted that other urgent tasks will require the identified target computing power unit within a specific future time period (such as within a few minutes), meaning that this specific time period at least partially overlaps with the target time period when the target computing power unit will be applied to the robot, then a remote mounting path can be selected for the robot currently awaiting computing power allocation. This not only ensures that the robot currently awaiting allocation of computing power is allocated computing power within a certain timeframe but also does not affect upcoming subsequent tasks, achieving a win-win situation. In other words, in this case, the opportunity cost of the first path of remote mounting is lower than that of the second path of physical acquisition.

[0088] Therefore, the opportunity cost along this path can also make the overall computing resource scheduling method more forward-looking, thereby further improving the efficiency and flexibility of the overall method.

[0089] In some embodiments, the computing resource scheduling method may further include: in response to the robot completing the task corresponding to the computing resource scheduling request, reclaiming the released target computing unit to the global resource pool.

[0090] In the example, when the robot that was allocated the resource completes the corresponding task and releases the resource, the computing resource scheduler can mark the resource as idle and reclaim it into the resource pool for use by the next task.

[0091] The following describes an example of a computing resource scheduling method according to embodiments of this disclosure, using dynamic computing power scheduling in an intelligent warehousing and logistics system as an example.

[0092] Figure 7 This is a schematic diagram illustrating a computing resource scheduling method according to an exemplary embodiment.

[0093] like Figure 7 As shown, this scenario involves a transport robot and an inventory robot. The transport robot is responsible for moving goods across shelves, and this task is performed intermittently. The inventory robot is responsible for visually counting goods, and this task is sporadic, requiring high-performance GPUs for real-time AI inference. Images of the visual recognition algorithms required by the inventory robot can be stored in a mirror repository. The scenario also includes a status monitor for monitoring the physical state of the transport and inventory robots, and a scheduler for scheduling resources, which can integrate physical state awareness plugins and custom scheduling plugins. The resource pool includes a pluggable GPU module, assumed to be currently being used by the transport robot.

[0094] When a transport robot physically completes a batch of transport tasks, its physical state changes from "working" to "charging / idle." As a direct response to this physical event, the robot's operating system can publish a status update via a status topic, setting the value to "idle." This physical state signal immediately triggers the state-to-computing-power mapping model, which automatically determines that the transport robot's required computing power has dropped to 0 and generates a resource release signal. Upon receiving this signal derived from the physical event, the scheduler can immediately issue a command to the transport robot to release the GPU module. Then, the transport robot performs a physical hot-plug operation, and the GPU module's module management controller sets its state to "idle" and reports it to the scheduler. Thus, a change in physical state successfully drives the recovery of computing resources.

[0095] Suppose a warehouse management system issues an urgent inventory count task to an inventory robot. In response to this new physical task, the robot's operating system, upon startup, can publish a status message: "Inventory Counting." This physical task status directly triggers a state-to-computing power mapping model, determining that the task requires a high-performance GPU and proactively initiating a precise computing power request to the scheduler. Based on this demand generated by the physical task, the scheduler can activate a custom scheduling plugin to make a decision. This plugin comprehensively considers physical constraints and confirms that allocating the GPU module to the inventory robot is the optimal solution to meet its low-latency requirements. The scheduler can then send instructions to the inventory robot, authorizing it to use the GPU module. The inventory robot can then physically perform a hot-swap operation to connect the GPU module and begin executing the high-precision visual inventory count task. The entire process is initiated by the physical task and completed to ensure its efficient execution.

[0096] Once the inventory robot has physically completed its inventory task, its physical state can be restored to "idle". The inventory robot can publish the "idle" status. The scheduler can trigger a resource reclamation process, instructing the inventory robot to release the GPU module. The GPU module is safely unloaded, its status is reset to "idle", and it returns to the resource pool, awaiting the next physical task.

[0097] Embodiments of this disclosure also provide a computing resource scheduler that can schedule computing resources for robots in a robot cluster according to the method described above.

[0098] Embodiments of this disclosure also provide a robot that can be allocated computing resources according to the method described above.

[0099] Embodiments of this disclosure also provide a computing resource scheduling device for robot clusters.

[0100] Figure 8This is a schematic block diagram illustrating a computing resource scheduling device 800 for a robot cluster according to an exemplary embodiment.

[0101] like Figure 8 As shown, in some embodiments, the computing power resource scheduling device 800 may include an information acquisition module 801, a scheduling request determination module 802, a target resource determination module 803, a target path determination module 804, and a resource application module 805.

[0102] The information acquisition module 801 is configured to acquire state perception information for indicating the physical state of the robot, including task information, location information, and power information.

[0103] The scheduling request determination module 802 is configured to provide state-aware information to a pre-built state-to-computing-power mapper to determine a computing resource scheduling request for the robot. The state-to-computing-power mapper is used to determine the target resource type and target resource specification based on the task information in the state-aware information. The computing resource scheduling request includes the target resource type and the target resource specification.

[0104] The target resource determination module 803 is configured to determine, based on the computing power resource scheduling request, a target computing power unit from the global resource pool used for robot clusters that can satisfy the computing power resource scheduling request and meet the target constraints. The target constraints include a first sub-constraint related to location affinity, a second sub-constraint related to task continuity, and a third sub-constraint related to power continuity.

[0105] The target path determination module 804 is configured to determine the target path for applying the target computing unit to the robot based on a preset path decision mechanism. The target path is selected from a first path for remotely mounting the target computing unit or a second path for physically acquiring the target computing unit. The preset path decision mechanism is used to determine the one with a smaller total cost between the first path and the second path. The total cost is determined based at least on time cost and energy cost.

[0106] The resource application module 805 is configured to apply the target computing unit to the robot based on a determined target path.

[0107] The operations of the aforementioned information acquisition module 801, scheduling request determination module 802, target resource determination module 803, target path determination module 804, and resource application module 805 can be combined. Figure 2 The steps S201 to S205 are the same, and the details of each aspect will not be repeated here.

[0108] In some embodiments, the global resource pool may include multiple candidate computing units. Accordingly, the target resource determination module 803 may include a first filtering module 8031, a second filtering module 8032, and a first resource determination module 8033.

[0109] The first screening module 8031 ​​is configured to determine from multiple candidate computing power units a set of remaining computing power units that can satisfy computing power resource scheduling requests and have not been subject to a preemption prohibition flag associated with task continuity.

[0110] The second screening module 8032 is configured to determine the score of each remaining computing power unit in the set of remaining computing power units based on the first sub-constraint, the second sub-constraint, and the third sub-constraint. The score is obtained by weighting the evaluation values ​​and weights of the first, second, and third sub-constraints, with the second sub-constraint having the highest weight among the three weights.

[0111] The first resource determination module 8033 is configured to determine the highest-scoring remaining computing power unit from the set of remaining computing power units as the target computing power unit.

[0112] In some embodiments, at least one candidate computing power unit among a plurality of candidate computing power units is reserved for a preset computing power resource scheduling request whose task level meets a first predetermined condition. Accordingly, the target resource determination module 803 may further include a third filtering module 8034, configured to exclude at least one reserved candidate computing power unit from the plurality of candidate computing power units in response to the received computing power resource scheduling request corresponding to a task level that does not meet the first predetermined condition, wherein the task level is determined based on task information in state-aware information.

[0113] In some embodiments, the target resource determination module 803 may further include a fourth screening module 8035 and a second resource determination module 8036.

[0114] The fourth filtering module 8035 is configured to, in response to the received computing power resource scheduling request, if the task level corresponding to the task meets the second predetermined condition, determine a set of computing power units to be preempted from multiple candidate computing power units when the determined set of remaining computing power units is empty. Each computing power unit to be preempted in the set of computing power units is running a task whose task level does not meet the second predetermined condition. The task level is determined based on the task information in the state-aware information.

[0115] The second resource determination module 8036 is configured to determine the target computing power unit from the set of computing power units to be preempted, which has the lowest task level and best matches the computing power resource scheduling request.

[0116] In some embodiments, the total cost of each of the first path and the second path can also be determined based on opportunity cost. Accordingly, the target path determination module 804 may further include a path cost determination module 8041 and a path determination execution module 8042.

[0117] The path cost determination module 8041 is configured to determine that the opportunity cost of a first path is lower than that of a second path in response to determining that the target computing unit will be applied to a task that satisfies a third predetermined condition at the task level within a specific time period, wherein the specific time period at least partially overlaps with the target time period in which the target computing unit will be applied to the robot.

[0118] The path determination execution module 8042 is configured to determine the first path as the target path.

[0119] In some embodiments, the computing power resource scheduling device 800 may further include a resource recycling module 806, configured to recycle the released target computing power unit to the global resource pool in response to the robot completing the task corresponding to the computing power resource scheduling request.

[0120] While specific functions have been discussed above with reference to specific modules, it should be noted that the functions of the modules discussed herein can be divided into multiple modules, and / or at least some functions of multiple modules can be combined into a single module. The specific actions performed by the modules discussed herein include the specific module itself performing the action, or alternatively, the specific module calling or otherwise accessing another component or module that performs the action (or performs the action in conjunction with the specific module). Therefore, a specific module performing an action can include the specific module performing the action itself and / or another module that performs the action, called or otherwise accessed by the specific module.

[0121] It should also be understood that the above regarding Figure 8 The described modules can be implemented in hardware or in hardware in combination with software and / or firmware. For example, these modules can be implemented as computer program code / instructions configured to execute in one or more processors and stored in a computer-readable storage medium. Alternatively, these modules can be implemented as hardware logic / circuit. For example, these modules can be implemented together in a System on Chip (SoC). An SoC may include an integrated circuit chip (which includes one or more components in a processor (e.g., a Central Processing Unit (CPU), microcontroller, microprocessor, digital signal processor (DSP), etc.), memory, one or more communication interfaces, and / or other circuitry) and may optionally execute received program code and / or include embedded firmware to perform functions.

[0122] According to one aspect of this disclosure, a computer device is also provided, including a memory, a processor, and a computer program stored in the memory. The processor is configured to execute the computer program to implement the steps of any of the method embodiments described above.

[0123] According to one aspect of this disclosure, a non-transitory computer-readable storage medium is also provided, on which a computer program is stored, which, when executed by a processor, implements the steps of any of the method embodiments described above.

[0124] According to one aspect of this disclosure, a computer program product is also provided, which includes a computer program that, when executed by a processor, implements the steps of any of the method embodiments described above.

[0125] In the following text, combined with Figure 9 Illustrative examples describing such computer devices, non-transitory computer-readable storage media, and computer program products.

[0126] Figure 9 An example configuration of a computer device 900 that can be used to implement the methods described herein is shown.

[0127] Computer device 900 can be a variety of different types of devices. Examples of computer device 900 include, but are not limited to: desktop computers, server computers, laptop or netbook computers, mobile devices (e.g., tablets, cellular or other wireless phones (e.g., smartphones), notebook computers, mobile stations), wearable devices (e.g., glasses, watches), entertainment devices (e.g., entertainment appliances, set-top boxes communicatively coupled to a display device, game consoles), televisions or other display devices, automotive computers, and so on.

[0128] Computer device 900 may include at least one processor 902, memory 904, communication interfaces(s) 906, display device 908, other I / O devices 910, and one or more mass storage devices 912 capable of communicating with each other, such as via system bus 914 or other suitable connections.

[0129] Processor 902 may be a single processing unit or multiple processing units, and all processing units may include single or multiple computing units or multiple cores. Processor 902 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuits, and / or any device that manipulates signals based on operating instructions. Among other capabilities, processor 902 may be configured to acquire and execute computer-readable instructions stored in memory 904, mass storage device 912, or other computer-readable media, such as program code of operating system 916, program code of application program 918, program code of other program 920, etc.

[0130] Memory 904 and mass storage device 912 are examples of computer-readable storage media for storing instructions that are executed by processor 902 to perform the various functions described above. For example, memory 904 can generally include both volatile and non-volatile memory (e.g., RAM, ROM, etc.). Furthermore, mass storage device 912 can generally include hard disk drives, solid-state drives, removable media, including external and removable drives, memory cards, flash memory, floppy disks, optical disks (e.g., CDs, DVDs), storage arrays, network-attached storage, storage area networks, etc. Both memory 904 and mass storage device 912 can be collectively referred to herein as memory or computer-readable storage media, and can be non-transitory media capable of storing computer-readable, processor-executable program instructions as computer program code, which can be executed by processor 902 as a specific machine configured to perform the operations and functions described in the examples herein.

[0131] Multiple programs may be stored on mass storage device 912. These programs include operating system 916, one or more application programs 918, other programs 920, and program data 922, and they may be loaded into memory 904 for execution. Examples of such application programs or program modules may include computer program logic (e.g., computer program code or instructions) of the methods described herein and / or other embodiments described herein.

[0132] Although Figure 9 The data is illustrated as being stored in memory 904 of computer device 900, but the operating system 916, application program 918, other programs 920, and program data 922, or portions thereof, may be implemented using any form of computer-readable medium accessible by computer device 900. As used herein, "computer-readable medium" includes at least two types of computer-readable media: computer-readable storage media and communication media.

[0133] Computer-readable storage media include volatile and non-volatile, removable and non-removable media implemented by any method or technology for storing information such as computer-readable instructions, data structures, program modules, or other data. Computer-readable storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, DVD, or other optical storage devices, magnetic cassettes, magnetic tapes, disk storage devices or other magnetic storage devices, or any other non-transmission medium that can be used to store information for access by computer devices. In contrast, communication media can embody computer-readable instructions, data structures, program modules, or other data in modulated data signals such as carrier waves or other transmission mechanisms. Computer-readable storage media as defined herein do not include communication media.

[0134] One or more communication interfaces 906 are used for exchanging data with other devices, such as via a network, direct connection, etc. Such communication interfaces can be one or more of the following: any type of network interface (e.g., a network interface card (NIC)), wired or wireless (such as IEEE 802.11 Wireless LAN (WLAN)) wireless interface, Wi-MAX interface, Ethernet interface, Universal Serial Bus (USB) interface, cellular network interface, Bluetooth. TM Interfaces include near field communication (NFC) interfaces. Communication interface 906 facilitates communication across various network and protocol types, including wired networks (e.g., LAN, cable, etc.) and wireless networks (e.g., WLAN, cellular, satellite, etc.), the Internet, etc. Communication interface 906 can also provide communication with external storage devices (not shown) such as storage arrays, network-attached storage, storage area networks, etc.

[0135] In some examples, a display device 908, such as a monitor, may be included for displaying information and images to the user. Other I / O devices 910 may be devices that receive various inputs from the user and provide various outputs to the user, and may include touch input devices, gesture input devices, cameras, keyboards, remote controls, mice, printers, audio input / output devices, and so on.

[0136] The technologies described herein can be supported by these various configurations of computer device 900, and are not limited to specific examples of the technologies described herein. For example, the functionality can also be implemented wholly or partially on a “cloud” using a distributed system. A cloud includes and / or represents a platform for resources. The platform abstracts the underlying functionality of the cloud’s hardware (e.g., servers) and software resources. Resources may include applications and / or data that can be used when performing computational processing on servers remote from computer device 900. Resources may also include services provided via the Internet and / or via subscriber networks such as cellular or Wi-Fi networks. The platform can abstract resources and functionality to connect computer device 900 to other computer devices. Therefore, the implementation of the functionality described herein can be distributed throughout the cloud. For example, the functionality can be implemented partly on computer device 900 and partly through a platform that abstracts the functionality of the cloud.

Claims

1. A method for scheduling computing resources for robot swarms, characterized in that, The method includes: Acquire state-aware information to indicate the physical state of the robot, including task information, location information, and battery level information; The state awareness information is provided to a pre-built state and computing power mapper to determine a computing power resource scheduling request for the robot. The state and computing power mapper is used to determine the target resource type and target resource specification based on the task information in the state awareness information. The computing power resource scheduling request includes the target resource type and the target resource specification. Based on the computing power resource scheduling request, a target computing power unit that can satisfy the computing power resource scheduling request and meet the target constraints is determined from the global resource pool used for the robot cluster. The target constraints include a first sub-constraint related to location affinity, a second sub-constraint related to task continuity, and a third sub-constraint related to power continuity. According to the task continuity, the computing power unit corresponding to the robot currently performing an uninterrupted task in the robot cluster is prohibited from being determined as the target computing power unit. Based on a preset path decision mechanism, a target path is determined for applying the target computing power unit to the robot. This target path is selected from either a first path for remotely attaching the target computing power unit or a second path for physically acquiring the target computing power unit. Remote attachment applies the target computing power unit to the robot via a network without moving the robot, while physical acquisition applies the target computing power unit to the robot by physically plugging and unplugging it while moving the robot. The preset path decision mechanism determines the path with the lower total cost between the first and second paths, and this total cost is determined based at least on time and energy costs. Based on the determined target path, the target computing unit is applied to the robot.

2. The method according to claim 1, characterized in that, The state and computing power mapper is configured to determine a set of physical behaviors to be performed by the robot based on the task information, wherein each physical behavior in the set of physical behaviors has a corresponding resource type and resource specification, so that the state and computing power mapper determines the target resource type and the target resource specification for the set of physical behaviors.

3. The method according to claim 1 or 2, characterized in that, The state and computing power mapper is also configured to dynamically adjust the determined target resource type and target resource specification based on environmental information.

4. The method according to claim 1, characterized in that, The global resource pool includes multiple candidate computing power units, wherein determining the target computing power unit from the global resource pool for the robot cluster that can satisfy the computing power resource scheduling request and meet the target constraints based on the computing power resource scheduling request includes: From the plurality of candidate computing power units, determine the set of remaining computing power units that can satisfy the computing power resource scheduling request and have not been subject to a preemption prohibition flag associated with task continuity; Based on the first sub-constraint, the second sub-constraint, and the third sub-constraint, a score is determined for each remaining computing power unit in the set of remaining computing power units. The score is obtained as a weighted sum of the evaluation values ​​and weights of each of the first, second, and third sub-constraints, with the second sub-constraint having the highest weight among the three weights. The remaining computing power unit with the highest score is selected from the set of remaining computing power units as the target computing power unit.

5. The method according to claim 4, characterized in that, At least one of the plurality of candidate computing power units is reserved for a preset computing power resource scheduling request that satisfies a first predetermined condition at the task level. The step of determining a target computing power unit from a global resource pool for the robot cluster that can satisfy both the computing power resource scheduling request and the target constraint condition, based on the computing power resource scheduling request, further includes: In response to the fact that the task level corresponding to the received computing power resource scheduling request does not meet the first predetermined condition, at least one reserved candidate computing power unit is excluded from the plurality of candidate computing power units, wherein the task level is determined based on the task information in the state awareness information.

6. The method according to claim 5, characterized in that, The step of determining, based on the computing power resource scheduling request, a target computing power unit from the global resource pool used for the robot cluster that can satisfy the computing power resource scheduling request and meet the target constraints further includes: In response to the received computing resource scheduling request, if the task level corresponding to the received request meets a second predetermined condition, and when the determined set of remaining computing units is empty, a set of computing units to be preempted is determined from the plurality of candidate computing units. Each computing unit to be preempted in the set of computing units to be preempted is currently running a task whose task level does not meet the second predetermined condition. The task level is determined based on the task information in the state-aware information. From the set of computing power units to be preempted, determine the computing power unit with the lowest task level that matches both the target resource type and the target resource specification included in the computing power resource scheduling request as the target computing power unit.

7. The method according to claim 1, characterized in that, The total cost of each of the first path and the second path is further determined based on opportunity cost, wherein determining the target path for applying the target computing unit to the robot based on a preset path decision mechanism further includes: In response to determining that the target computing power unit will be applied to a task that satisfies a third predetermined condition at the task level within a specific time period, it is determined that the opportunity cost of the first path is lower than that of the second path, wherein the specific time period at least partially overlaps with the target time period during which the target computing power unit will be applied to the robot; and The first path is determined as the target path.

8. The method according to claim 1, characterized in that, The method further includes: In response to the robot completing the task corresponding to the computing power resource scheduling request, the released target computing power unit is recycled back to the global resource pool.

9. A computing resource scheduling device for robot swarms, characterized in that, The device includes: The information acquisition module is configured to acquire state perception information for indicating the physical state of the robot, the state perception information including task information, location information and power information; A scheduling request determination module is configured to provide the state awareness information to a pre-built state and computing power mapper to determine a computing power resource scheduling request for the robot, wherein the state and computing power mapper is used to determine the target resource type and target resource specification based on the task information in the state awareness information, and the computing power resource scheduling request includes the target resource type and the target resource specification; The target resource determination module is configured to determine, based on the computing power resource scheduling request, a target computing power unit from the global resource pool used for the robot cluster that can satisfy the computing power resource scheduling request and meet the target constraints. The target constraints include a first sub-constraint associated with location affinity, a second sub-constraint associated with task continuity, and a third sub-constraint associated with power continuity. According to the task continuity, the computing power unit corresponding to the robot currently performing an uninterrupted task in the robot cluster is prohibited from being determined as the target computing power unit. A target path determination module is configured to determine a target path for applying the target computing power unit to the robot based on a preset path decision mechanism. The target path is selected from either a first path for remotely attaching the target computing power unit or a second path for physically acquiring the target computing power unit. Remote attachment is used to apply the target computing power unit to the robot via a network without moving the robot, while physical acquisition is used to apply the target computing power unit to the robot by physically plugging and unplugging the robot while moving it. The preset path decision mechanism is used to determine the path with the lower total cost between the first path and the second path, and the total cost is determined based at least on time cost and energy cost. The resource application module is configured to apply the target computing unit to the robot based on the determined target path.

10. A computer device, characterized in that, The computer device includes: At least one processor; A memory having a computer program stored thereon, wherein, when executed by the at least one processor, the computer program causes the at least one processor to perform the method of any one of claims 1-8.

11. A computing resource scheduler, characterized in that, The computing resource scheduler performs computing resource scheduling for robots in a robot cluster according to any one of claims 1-8.

12. A robot, characterized in that, The robot is allocated computing resources according to any one of claims 1-8.

13. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, causes the processor to perform the method of any one of claims 1-8.

14. A computer program product, characterized in that, The computer program product includes a computer program that, when executed by a processor, causes the processor to perform the method of any one of claims 1-8.

Citation Information

Patent Citations

  • Intelligent storage robot group collaborative scheduling method based on deep reinforcement learning

    CN120598297A

  • Robot cooperative control method and system based on edge computing

    CN121091734A