Robot collaboration method and device, robot and storage medium

By introducing collaborative methods in robot clusters, dynamically evaluating and selecting the optimal executor, the problem of robot task allocation in the prior art relying on central servers, and the resource utilization rate and system stability are improved.

CN119886701APending Publication Date: 2025-04-25SHANGHAI SLAMTEC
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202411973148.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-30
Publication Date
2025-04-25

AI Technical Summary

Technical Problem

In the prior art, robots rely on central servers to perform tasks for task allocation and coordination, resulting in increased system complexity and single-point failure risk, and lack of effective task scheduling and resource optimization mechanisms.

Method used

By introducing a collaborative method into the robot cluster, the robot responds to task instructions to obtain the current running status and information, determines the task execution cost, and dynamically evaluates and selects the optimal executor through the communication mechanism within the robot cluster, achieving efficient allocation and execution of tasks.

Benefits of technology

It realizes dynamic evaluation of the resource status of each robot, selects the optimal executor, improves the overall resource utilization rate, reduces the risk of single-point failure of the system, and improves the overall stability of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119886701A_ABST
    Figure CN119886701A_ABST
Patent Text Reader

Abstract

The invention discloses a robot collaboration method and device, a robot and a storage medium, and relates to the technical field of robots. The method is applied to any robot in a robot cluster, and comprises the steps of obtaining a current operation state in response to a task instruction, and obtaining current operation information based on the current operation state; determining a first task execution cost according to the task instruction and the current operation information, and obtaining a second task execution cost generated by other robots; determining a first candidate execution cost according to the first task execution cost and the second task execution cost, and determining a first candidate robot according to the first candidate execution cost; and obtaining a second candidate robot determined by other robots based on the first task execution cost and the second task execution cost, and determining a target execution robot according to the first candidate robot and the second candidate robot, so that the target execution robot executes the task instruction. The resource state of the robot does not need to be evaluated by a central server, and the single-point fault risk of the system is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of robot technology, and in particular to a robot collaboration method, device, robot and storage medium. Background Art

[0002] With the rapid development of robotics technology, robots are increasingly used in industries, services, logistics, etc. However, most current robotic systems are single robots working independently, lacking collaborative capabilities and unable to give full play to the advantages of clusters.

[0003] In the existing technology, communication between robots is mostly used for simple information exchange, lacking effective task scheduling and resource optimization mechanisms, resulting in low efficiency in task allocation and low resource utilization in a multi-task environment. In addition, many existing systems rely on central servers for task allocation and coordination, which increases the complexity of the system and the risk of single point failure. Therefore, how to determine the execution robot through automatic robot election has become a problem that needs to be solved urgently. Summary of the invention

[0004] The present invention provides a robot collaboration method, device, robot and storage medium to solve the problem in the prior art that robots rely on a central server for task allocation and coordination when performing tasks.

[0005] According to one aspect of the present invention, a robot collaboration method is provided, wherein the method is applied to any robot in a robot cluster, and comprises:

[0006] In response to the task instruction, obtaining a current operation state, and obtaining current operation information based on the current operation state;

[0007] Determine a first task execution cost according to the task instruction and the current operation information, send the first task execution cost to other robots in the robot cluster, and obtain a second task execution cost generated by the other robots;

[0008] Determine a first candidate execution cost according to the first task execution cost and the second task execution cost, determine a first candidate robot according to the first candidate execution cost, and send the first candidate robot to other robots in the robot cluster;

[0009] Obtain a second candidate robot determined by the other robots based on the first task execution cost and the second task execution cost, and determine a target execution robot according to the first candidate robot and the second candidate robot, so that the target execution robot executes the task instruction.

[0010] According to another aspect of the present invention, there is provided a robot collaboration device, which is applied to any robot in a robot cluster, and comprises:

[0011] An information acquisition module, used to acquire the current operation status in response to the task instruction, and acquire the current operation information based on the current operation status;

[0012] a cost determination module, configured to determine a first task execution cost according to the task instruction and the current operation information, send the first task execution cost to other robots in the robot cluster, and obtain a second task execution cost generated by the other robots;

[0013] a robot determination module, configured to determine a first candidate execution cost according to the first task execution cost and the second task execution cost, determine a first candidate robot according to the first candidate execution cost, and send the first candidate robot to other robots in the robot cluster;

[0014] An instruction execution module is used to obtain a second candidate robot determined by the other robots based on the first task execution cost and the second task execution cost, and determine a target execution robot according to the first candidate robot and the second candidate robot, so that the target execution robot executes the task instruction.

[0015] According to another aspect of the present invention, an electronic device is provided, the electronic device comprising:

[0016] at least one processor; and

[0017] a memory communicatively connected to the at least one processor; wherein,

[0018] The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute a robot collaboration method described in any embodiment of the present invention.

[0019] According to another aspect of the present invention, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement a robot collaboration method described in any embodiment of the present invention when executed.

[0020] The technical solution of the embodiment of the present invention obtains the current running status by responding to the task instruction, and obtains the current running information based on the current running status, determines the first task execution cost according to the task instruction and the current running information, sends the first task execution cost to other robots in the robot cluster, and obtains the second task execution cost generated by other robots, determines the first candidate execution cost according to the first task execution cost and the second task execution cost, determines the first candidate robot according to the first candidate execution cost, and sends the first candidate robot to other robots in the robot cluster, obtains the second candidate robot determined by other robots based on the first task execution cost and the second task execution cost, determines the target execution robot according to the first candidate robot and the second candidate robot, so that the target execution robot executes the task instruction, realizes dynamic evaluation of the resource status of each robot, selects the optimal executor, improves the overall resource utilization, and achieves efficient allocation and execution of tasks; at the same time, no central server is required, the risk of single point failure of the system is reduced, and the overall stability of the system is improved.

[0021] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present invention, nor are they intended to limit the scope of the present invention. Other features of the present invention will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0023] Figure 1 is a flow chart of a robot collaboration method provided according to Embodiment 1 of the present invention;

[0024] Figure 2 is a flow chart of a robot collaboration method provided according to Embodiment 2 of the present invention;

[0025] Figure 3 is a schematic diagram of the architecture of a robot collaborative system provided according to Embodiment 3 of the present invention;

[0026] Figure 4 is a schematic structural diagram of a robot cooperative device provided according to a fourth embodiment of the present invention;

[0027] Figure 5 It is a schematic diagram of the structure of a robot that implements a robot collaboration method according to an embodiment of the present invention. DETAILED DESCRIPTION

[0028] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.

[0029] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0030] Embodiment 1

[0031] Figure 1 1 is a flowchart of a robot collaboration method provided according to the first embodiment of the present invention. This embodiment is applicable to the case of automatically selecting the best executor among robots to execute task instructions. The method can be executed by a robot collaboration device, which can be implemented in the form of hardware and / or software. The robot collaboration device can be configured in any robot in a robot cluster. Figure 1 As shown, the method includes:

[0032] S110 . In response to the task instruction, obtain the current running state, and obtain current running information based on the current running state.

[0033] Among them, the task instruction can be understood as the instruction information that instructs the robot to perform the task. In the actual operation process, the task instruction can at least include the task address and the specific task information to be performed. The task instruction can be broadcast to all robots in the robot cluster. The current operating state refers to the operating state of the current robot, which is used to indicate whether the robot is currently idle and whether there are conditions for performing the task. The current operating state can include idle and non-idle. The current operating information can be understood as the operating parameter information of the current robot itself. Exemplarily, the current operating information can at least include the current operating position information and the operating speed.

[0034] In an embodiment, after obtaining the task instruction, it can be determined whether the current operating state is an idle state, and the current operating information can be obtained according to the current operating state. In the actual operation process, if the current operating state is idle, the current operating position information and operating speed can be determined, and the current operating position information and operating speed can be used as the current operating information; if it is determined that the current operating state is not idle, the response of the task instruction can be ended, and the acquisition operation of the current operating information is not performed. In one embodiment, a position positioning module and a state monitoring module can be installed in the robot, and the position positioning module can obtain and notify its own position in the cluster in real time, using the Global Positioning System (GPS) or other positioning technology. The state monitoring module can monitor and notify its own working status, including whether it is idle, the current task, and the energy value.

[0035] S120. Determine a first task execution cost according to the task instruction and current operation information, send the first task execution cost to other robots in the robot cluster, and obtain a second task execution cost generated by other robots.

[0036] Among them, the first task execution cost can be understood as the cost information of the task corresponding to the task instruction executed by the current robot. Exemplarily, the first task execution cost may include but is not limited to the running path and the target running time. A robot cluster refers to a cluster composed of multiple robots. The robots in the robot cluster can realize data transmission through a communication module. The second task execution cost is understood as the cost information of the tasks corresponding to the task instructions executed by other robots in the robot cluster. Exemplarily, the second task execution cost may include but is not limited to the running path and the target running time. The number of second task execution costs can be at least 1.

[0037] In an embodiment, the target position information contained in the task instruction can be extracted, the running path can be determined according to the target position information and the current running position information, the running speed can be extracted, the ratio of the running path to the running speed can be determined as the target running time, and the target running time and the running path can be used as the first task execution cost. At the same time, other robots in the robot cluster can also determine the task execution cost according to the task instruction itself and the current running information as the second task execution cost. The first task execution cost can be sent to other robots in the robot cluster, and the second task execution cost generated by other robots can be received.

[0038] S130, determining a first candidate execution cost according to the first task execution cost and the second task execution cost, determining a first candidate robot according to the first candidate execution cost, and sending the first candidate robot to other robots in the robot cluster.

[0039] The first candidate execution cost can be understood as the optimal execution cost of the candidate determined by the current robot, and the number of the first candidate execution costs is 1. The first candidate robot refers to a robot determined according to the first candidate execution cost.

[0040] In an embodiment, the optimal execution cost of the first task execution cost and the second task execution cost can be determined as the first candidate execution cost, the robot corresponding to the first candidate execution cost is used as the first candidate robot, and the first candidate robot is sent to other robots in the robot cluster. In the actual operation process, the target running time and the running path of the first task execution cost and the second task execution cost are extracted respectively, the minimum value of each target running time is determined as the minimum running time, and the first task execution cost or the second task execution cost corresponding to the minimum running time is used as the first candidate execution cost. If there are multiple minimum running times, the running path in the first task execution cost and / or the second task execution cost corresponding to the minimum running time can be determined, the minimum running path in each running path can be determined, and the first task execution cost or the second task execution cost corresponding to the minimum running path can be determined as the first candidate execution cost.

[0041] S140, obtaining a second candidate robot determined by other robots based on the first task execution cost and the second task execution cost, and determining a target execution robot according to the first candidate robot and the second candidate robot, so that the target execution robot executes the task instruction.

[0042] The second candidate robot refers to a robot determined according to the second candidate execution cost. The second candidate execution cost can be understood as the optimal execution cost of the candidate determined by other robots, and the number of second candidate execution costs determined by each other robot is 1.

[0043] In an embodiment, a second candidate robot determined by other robots according to the first task execution cost and the second task execution cost can be received to determine whether the first candidate robot is the same as the second candidate robot. When the first candidate robot and the second candidate robot are the same, the first candidate robot is determined as the target execution robot. When the first candidate robot and the second candidate robot are not the same, the number of each candidate robot in the first candidate robot and the second candidate robot can be determined, and the candidate robot with the largest number is selected as the target execution robot.

[0044] An embodiment of the present invention obtains the current running state by responding to a task instruction, and obtains the current running information based on the current running state, determines the first task execution cost according to the task instruction and the current running information, sends the first task execution cost to other robots in the robot cluster, and obtains the second task execution cost generated by other robots, determines the first candidate execution cost according to the first task execution cost and the second task execution cost, determines the first candidate robot according to the first candidate execution cost, and sends the first candidate robot to other robots in the robot cluster, obtains the second candidate robot determined by other robots based on the first task execution cost and the second task execution cost, determines the target execution robot according to the first candidate robot and the second candidate robot, so that the target execution robot executes the task instruction, realizes dynamic evaluation of the resource status of each robot, selects the optimal executor, improves the overall resource utilization, and achieves efficient allocation and execution of tasks; at the same time, no central server is required, the risk of single point failure of the system is reduced, and the overall stability of the system is improved.

[0045] In one embodiment, before obtaining the current running status, the method further includes:

[0046] Determine the current energy value, and when the energy value is greater than or equal to the preset energy value, continue to execute to obtain the current running state;

[0047] When the energy value is less than the preset energy value, the response to the task instruction is terminated.

[0048] The energy value may be understood as the current energy state of the robot. For example, the energy value may include but is not limited to the power value. The preset energy value may be a preset energy threshold used to determine whether the robot meets the conditions for executing the task. For example, the preset energy value may include but is not limited to 20%, 25% and 30%.

[0049] In an embodiment, the current energy value can be extracted to determine the relationship between the energy value and the preset energy value. When it is determined that the energy value is greater than or equal to the preset energy value, the current operating status can be obtained by continuing to execute. When the energy value is less than the preset energy value, the response to the task instruction can be terminated to avoid wasting computing resources.

[0050] Embodiment 2

[0051] Figure 2 is a flow chart of a robot collaboration method provided according to Embodiment 2 of the present invention. This embodiment is further optimized and expanded based on the above embodiment and can be combined with various optional technical solutions in the above embodiment. Figure 2 As shown, the method includes:

[0052] S201. Obtain the task instructions broadcast in the robot cluster and determine the current operating status.

[0053] In an embodiment, when a task is generated in the system, the task instructions can be broadcast in the robot cluster, and the task instructions broadcast in the robot cluster can be received to determine whether the task is currently being executed and determine the current operating status.

[0054] S202: When it is determined that the current running state is idle, determine the current running position information and the running speed, and use the current running position information and the running speed as the current running information.

[0055] In an embodiment, when it is determined that the current running state is idle, the current running position information can be determined through GPS, and the current running speed can be extracted, and the current running position information and the running speed can be used as the current running information.

[0056] In one embodiment, after obtaining the task instruction broadcasted in the robot cluster and determining the current running state, the method further includes:

[0057] When it is determined that the current running state is not idle, the response to the task instruction is ended.

[0058] In an embodiment, when it is determined that the current operating state is non-idle, it can be considered that the robot is performing other tasks and the response to the current task instruction can be terminated.

[0059] S203: extract the target position information contained in the task instruction, and determine the operation path according to the target position information and the current operation position information in the current operation information.

[0060] The target location information may be understood as the location information for executing the task.

[0061] In an embodiment, the task instruction may be analyzed to determine the target location information contained in the task instruction, and the operation path may be determined according to the target location information and the current operation position plan.

[0062] S204: Determine the target running time according to the running path and the running speed in the current running information.

[0063] In an embodiment, a ratio of the running path to the running speed may be determined as the target running time.

[0064] S205: Taking the target running time and the running path as the first task execution cost, and obtaining the second task execution cost generated by the other robots.

[0065] S206 , respectively extracting the target running times from the first task execution cost and the second task execution cost, and determining the minimum running time among the target running times.

[0066] In an embodiment, the target runtimes from the first task execution cost and the second task execution cost may be extracted, and a minimum value among the target runtimes may be determined as the minimum runtime.

[0067] S207: When it is determined that the minimum running time is one, determine the first task execution cost or the second task execution cost corresponding to the minimum running time as the first candidate execution cost.

[0068] In an embodiment, when the minimum running time is determined to be one, a first task execution cost or a second task execution cost corresponding to the minimum running time may be determined, and the task execution cost is used as the first candidate execution cost.

[0069] S208. When it is determined that the minimum running time is at least two, extract the running path from the first task execution cost and / or the second task execution cost corresponding to the minimum running time, determine the minimum running path among the running paths, and determine the first task execution cost or the second task execution cost corresponding to the minimum running path as the first candidate execution cost.

[0070] In an embodiment, when the minimum running time is determined to be multiple, the first task execution cost and / or the second task execution cost corresponding to the minimum running time can be determined, the running path among the first task execution cost and the second task execution cost can be determined, the shortest running path can be determined as the minimum running path, and the first task execution cost or the second task execution cost corresponding to the minimum running path can be used as the first candidate execution cost.

[0071] S209: Determine the robot with the first candidate execution cost as the first candidate robot, and send the first candidate robot to other robots in the robot cluster.

[0072] In an embodiment, the robot corresponding to the first candidate execution cost may be used as the first candidate robot.

[0073] S210: Send the first candidate robot to other robots in the robot cluster.

[0074] S211. Receive the second candidate robot determined by other robots, and determine whether the first candidate robot is the same as the second candidate robot.

[0075] S212: If the first candidate robot and the second candidate robot are the same, determine the first candidate robot as the target execution robot.

[0076] In an embodiment, when the first candidate robot and the second candidate robot are the same, that is, the candidate robots calculated by all robots are the same, the first candidate robot may be used as the target execution robot.

[0077] S213: If the first candidate robot and the second candidate robot are different, determine the number of each candidate robot in the first candidate robot and the second candidate robot.

[0078] In an embodiment, when the first candidate robot and the second candidate robot are not the same, it can be considered that there is a robot calculation error, and the number of each candidate robot in the first candidate robot and the second candidate robot can be determined. In other words, the number of identical candidate robots can be determined.

[0079] S214. The candidate robot corresponding to the maximum number is selected as the target execution robot.

[0080] In an embodiment, the candidate robots with the largest number may be determined as the target execution robots, so that the target execution robots execute the task instructions.

[0081] In an embodiment of the present invention, the current running state is determined by acquiring task instructions broadcast in a robot cluster. When it is determined that the current running state is idle, the current running position information and the running speed are determined, and the current running position information and the running speed are used as the current running information to avoid the robot that is executing the task from performing elections; the target position information contained in the task instruction is extracted, the running path is determined according to the target position information and the current running position information in the current running information, the target running time is determined according to the running path and the running speed in the current running information, the target running time and the running path are used as the first task execution cost, and the second task execution cost generated by the other robots is obtained to realize the exchange of the robot cluster task execution cost; the minimum running time of each target running time is determined by respectively extracting the target running time from the first task execution cost and the second task execution cost; when the minimum running time is determined to be one, the first task execution cost or the second task execution cost corresponding to the minimum running time is determined as the first candidate execution cost; when the minimum running time is determined to be at least two, the first task execution cost and / or the second task execution cost corresponding to the minimum running time are extracted. or the running path in the second task execution cost, determine the minimum running path in each running path, determine the first task execution cost or the second task execution cost corresponding to the minimum running path as the first candidate execution cost, determine the robot with the first candidate execution cost as the first candidate robot, send the first candidate robot to other robots in the robot cluster, receive the second candidate robot determined by other robots, determine whether the first candidate robot is the same as the second candidate robot, if the first candidate robot and the second candidate robot are the same, determine the first candidate robot as the target execution robot, if the first candidate robot and the second candidate robot are not the same, determine the number of each candidate robot in the first candidate robot and the second candidate robot, and take the candidate robot corresponding to the maximum number as the target execution robot, to realize decentralized task allocation, avoid the dependence of task allocation on the central control unit, and improve the flexibility and response speed of the system; at the same time, the entire task scheduling and execution process is completed within the robot cluster, without relying on an external server or a central control system, reducing the complexity and maintenance cost of the system, and improving the reliability and fault resistance of the system.

[0082] Embodiment 3

[0083] Figure 3This is a schematic diagram of the architecture of a robot collaborative system provided according to the third embodiment of the present invention. The system is composed of a robot cluster, an external task source, a communication module and a system task management module. The external task source (such as a central control system or a user interface) points to the system task management module through an arrow, indicating the input of task instructions. The system task management module is connected to the communication module through a bidirectional arrow, indicating the broadcast and reception of tasks. The robot cluster consists of multiple robots. Figure 3 Take three robots as an example, robot A, robot B and robot C. The cluster communication modules of each robot are connected by bidirectional arrows, indicating wireless communication links, forming a decentralized communication network.

[0084] Among them, the external task source is used to generate task instructions; the task management module is used to manage task instructions; the cluster communication module is used for the communication connection between the task management module and the robot cluster. Each robot includes the following main modules:

[0085] Cluster communication module: responsible for wireless communication with other robots in the cluster, using decentralized communication protocols (such as Ad-hoc network, Mesh network, etc.) to achieve real-time data transmission.

[0086] Positioning module: obtains and announces its own position in the cluster in real time, using GPS or other positioning technologies.

[0087] Status monitoring module: monitors and notifies its own working status, including whether it is idle, current task status, energy value, etc.

[0088] Task management module: receives external task instructions and is responsible for task broadcasting and execution.

[0089] Scheduling and election module: After receiving the task, it collects the current status information of each robot in the cluster, calculates the cost, and selects the best executor (determines the target execution robot) through a decentralized election algorithm.

[0090] Execution module: Execute specific tasks according to the election results and update the status information after the task is completed.

[0091] In one embodiment, the robot collaboration process based on the robot collaboration system is as follows:

[0092] Step 1: Each robot notifies its position and working status through the cluster communication module regularly or when the status changes, ensuring that all robots in the cluster have real-time understanding of each other's status. This process is achieved through decentralized wireless communication without the need for central control.

[0093] Step 2: When the system receives a new task instruction, the system task management module broadcasts the task instruction to all robots through the communication module. Due to the use of cluster communication, the task information can be quickly transmitted to each member robot.

[0094] Step 3: After each robot receives the task instruction, the state monitoring module evaluates whether it is idle. If it is idle, the task management module calculates the cost of executing the task (such as target running time, energy consumption, etc.) and reports the idle state and cost information to the cluster.

[0095] Step 4: The scheduling and election module collects the report information of all robots and selects the best executor based on the preset decentralized election algorithm (such as minimum cost first, shortest distance first, etc.). This process is completed by the robots in the cluster in collaboration without relying on the central server.

[0096] In one embodiment, a decentralized election algorithm can be used to ensure that the robots in the cluster can collaborate to complete the election of the best executor without the need for a central server. The specific algorithm steps are: each robot broadcasts its idle state and overhead information to other robots in the cluster, and all robots receive the report information from other robots in the cluster and exchange local information. The most suitable executor (target execution robot) is selected according to preset conditions (such as minimum overhead, shortest distance, etc.). Through a distributed consensus mechanism, it is ensured that all robots in the cluster reach a consensus on the selected executor. The selected executor receives the task instruction and starts to execute the task, and at the same time notifies the cluster of its execution status.

[0097] Step 5: The selected robot receives the task instruction and executes the task. During the execution, the robot updates its working status through the cluster communication module and notifies the cluster after the task is completed.

[0098] Step 6: After the task is completed, the executing robot updates its status to "idle" or a new working status, and other robots in the cluster continue to monitor its status and prepare to receive new tasks.

[0099] The implementation of the present invention, through the clustered robot architecture, the system has a high degree of flexibility and scalability, and can dynamically adjust the cluster size according to task requirements. At the same time, the robots in the cluster autonomously perform status assessment and executor election, reducing human intervention and improving the system response speed; moreover, the system completely relies on the decentralized communication and decision-making mechanism within the cluster, reducing the dependence on the central server and improving the stability and fault resistance of the system.

[0100] Embodiment 4

[0101] Figure 4Schematic diagram of a robot cooperative device according to the fourth embodiment of the present invention. Figure 4 As shown, the device includes: an information acquisition module 41, a cost determination module 42, a robot determination module 43 and an instruction execution module 44.

[0102] The information acquisition module 41 is used to obtain the current operation status in response to the task instruction, and obtain the current operation information based on the current operation status;

[0103] a cost determination module 42, configured to determine a first task execution cost according to the task instruction and current operation information, send the first task execution cost to other robots in the robot cluster, and obtain a second task execution cost generated by other robots;

[0104] A robot determination module 43, configured to determine a first candidate execution cost according to the first task execution cost and the second task execution cost, determine a first candidate robot according to the first candidate execution cost, and send the first candidate robot to other robots in the robot cluster;

[0105] The instruction execution module 44 is used to obtain a second candidate robot determined by other robots based on the first task execution cost and the second task execution cost, and determine a target execution robot according to the first candidate robot and the second candidate robot, so that the target execution robot executes the task instruction.

[0106] The technical solution of the embodiment of the invention is that the information acquisition module responds to the task instruction, obtains the current running state, and obtains the current running information based on the current running state; the cost determination module determines the first task execution cost according to the task instruction and the current running information, sends the first task execution cost to other robots in the robot cluster, and obtains the second task execution cost generated by other robots; the robot determination module determines the first candidate execution cost according to the first task execution cost and the second task execution cost, determines the first candidate robot according to the first candidate execution cost, and sends the first candidate robot to other robots in the robot cluster; the instruction execution module obtains the second candidate robot determined by other robots based on the first task execution cost and the second task execution cost, determines the target execution robot according to the first candidate robot and the second candidate robot, so that the target execution robot executes the task instruction, realizes dynamic evaluation of the resource status of each robot, selects the optimal executor, improves the overall resource utilization, and achieves efficient allocation and execution of tasks; at the same time, no central server is required, the risk of single point failure of the system is reduced, and the overall stability of the system is improved.

[0107] In one embodiment, the information acquisition module 41 includes:

[0108] A state determination unit, used to obtain task instructions broadcast in the robot cluster and determine the current operating state;

[0109] The information determination unit is used to determine the current running position information and the running speed when it is determined that the current running state is idle, and use the current running position information and the running speed as the current running information.

[0110] In one embodiment, the cost determination module 42 includes:

[0111] A path determination unit, used for extracting target position information contained in the task instruction, and determining the operation path according to the target position information and the current operation position information in the current operation information;

[0112] A time determination unit, used to determine a target running time according to a running path and a running speed in current running information;

[0113] The cost determination unit is used to use the target running time and the running path as the first task execution cost.

[0114] In one embodiment, the robot determination module 43 includes:

[0115] A book-sword extraction unit is used to extract the target running time from the first task execution cost and the second task execution cost respectively, and determine the minimum running time among the target running times;

[0116] A first cost determination unit, configured to determine, when the minimum running time is determined to be one, a first task execution cost or a second task execution cost corresponding to the minimum running time as a first candidate execution cost;

[0117] A second cost determination unit is used for, when it is determined that the minimum running time is at least two, extracting the running paths in the first task execution cost and / or the second task execution cost corresponding to the minimum running time, determining the minimum running path among the running paths, and determining the first task execution cost or the second task execution cost corresponding to the minimum running path as the first candidate execution cost;

[0118] The data transmission unit is used to determine the robot with the first candidate execution cost as the first candidate robot, and send the first candidate robot to other robots in the robot cluster.

[0119] In one embodiment, the instruction execution module 44 includes:

[0120] A data comparison unit, configured to receive a second candidate robot determined by other robots, and determine whether the first candidate robot is the same as the second candidate robot;

[0121] a first target determination unit, configured to determine the first candidate robot as a target execution robot if the first candidate robot and the second candidate robot are the same;

[0122] a quantity determination unit, configured to determine the quantity of each of the first candidate robot and the second candidate robot if the first candidate robot and the second candidate robot are different;

[0123] The second target determination unit is used to select the candidate robot corresponding to the maximum number as the target execution robot.

[0124] In one embodiment, the robot collaborative device further includes:

[0125] An energy determination module is used to determine the current energy value, and when the energy value is greater than or equal to the preset energy value, continue to execute to obtain the current running state;

[0126] The response end module is used to end the response to the task instruction when the energy value is less than the preset energy value.

[0127] In one embodiment, the robot collaborative device further includes:

[0128] The response stop module is used to end the response to the task instruction when it is determined that the current running state is not idle.

[0129] The robot collaboration device provided in the embodiment of the present invention can execute the robot collaboration method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.

[0130] Embodiment 5

[0131] Figure 5 1 is a schematic diagram of the structure of a robot that implements a robot collaboration method of an embodiment of the present invention. The robot may include electronic devices, which are intended to represent various forms of digital computers, such as laptop computers, desktop computers, workbenches, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The robot may also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or required herein.

[0132] like Figure 5As shown, the robot 10 includes at least one processor 11, and a memory connected to the at least one processor 11, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., wherein the memory stores a computer program that can be executed by at least one processor, and the processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program loaded from the storage unit 18 to the random access memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the robot 10 can also be stored. The processor 11, the ROM 12, and the RAM 13 are connected to each other through a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.

[0133] A number of components in the robot 10 are connected to the I / O interface 15, including: an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a disk, an optical disk, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the robot 10 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0134] The processor 11 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 11 executes the various methods and processes described above, such as the robot collaboration method.

[0135] In some embodiments, the robot collaboration method may be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or installed on the robot 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of the robot collaboration method described above may be performed. Alternatively, in other embodiments, the processor 11 may be configured to execute the robot collaboration method in any other appropriate manner (e.g., by means of firmware).

[0136] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0137] Computer programs for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that when the computer program is executed by the processor, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer program may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.

[0138] In the context of the present invention, a computer-readable storage medium may be a tangible medium that may contain or store a computer program for use by or in combination with an instruction execution system, device or equipment. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or equipment, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0139] To provide interaction with a user, the systems and techniques described herein may be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).

[0140] The systems and techniques described herein may be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.

[0141] A computing system may include a client and a server. The client and the server are generally far away from each other and usually interact through a communication network. The relationship between the client and the server is generated by computer programs running on corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or a cloud host, which is a host product in a cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services. It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in the present invention can be executed in parallel, sequentially, or in different orders, as long as the desired results of the technical solution of the present invention can be achieved, and this document is not limited here.

[0142] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims

1. A robot collaboration method, characterized in that: Applied to any robot in a robot cluster, the method comprises: In response to the task instruction, obtaining a current operation state, and obtaining current operation information based on the current operation state; Determine a first task execution cost according to the task instruction and the current operation information, send the first task execution cost to other robots in the robot cluster, and obtain a second task execution cost generated by the other robots; Determine a first candidate execution cost according to the first task execution cost and the second task execution cost, determine a first candidate robot according to the first candidate execution cost, and send the first candidate robot to other robots in the robot cluster; Obtain a second candidate robot determined by the other robots based on the first task execution cost and the second task execution cost, and determine a target execution robot according to the first candidate robot and the second candidate robot, so that the target execution robot executes the task instruction.

2. The method according to claim 1, characterized in that: The step of obtaining the current operation state in response to the task instruction and obtaining the current operation information based on the current operation state includes: Obtain the task instructions broadcast in the robot cluster and determine the current operating status; When it is determined that the current running state is idle, the current running position information and the running speed are determined, and the current running position information and the running speed are used as the current running information.

3. The method according to claim 1, characterized in that: The determining the first task execution cost according to the task instruction and the current operation information includes: Extracting the target position information contained in the task instruction, and determining the operation path according to the target position information and the current operation position information in the current operation information; Determine the target running time according to the running path and the running speed in the current running information; The target running time and the running path are used as the first task execution cost.

4. The method according to claim 1, characterized in that The determining a first candidate execution cost according to the first task execution cost and the second task execution cost, determining a first candidate robot according to the first candidate execution cost, and sending the first candidate robot to other robots in the robot cluster includes: Respectively extracting the target running time from the first task execution cost and the second task execution cost, and determining the minimum running time among the target running times; When it is determined that the minimum running time is one, determining the first task execution cost or the second task execution cost corresponding to the minimum running time as the first candidate execution cost; When it is determined that the minimum running time is at least two, extracting the running paths in the first task execution cost and / or the second task execution cost corresponding to the minimum running time, determining the minimum running path among the running paths, and determining the first task execution cost or the second task execution cost corresponding to the minimum running path as the first candidate execution cost; The robot described in the first candidate execution cost is determined as a first candidate robot, and the first candidate robot is sent to other robots in the robot cluster.

5. The method according to claim 1, characterized in that: The obtaining a second candidate robot determined by the other robots based on the first task execution cost and the second task execution cost, and determining a target execution robot according to the first candidate robot and the second candidate robot, comprises: receiving a second candidate robot determined by the other robot, and determining whether the first candidate robot is the same as the second candidate robot; If the first candidate robot and the second candidate robot are the same, determining the first candidate robot as the target execution robot; If the first candidate robot and the second candidate robot are not the same, determining the number of each of the first candidate robot and the second candidate robot; The candidate robot corresponding to the maximum value of the number is used as the target execution robot.

6. The method according to claim 1, characterized in that Before obtaining the current running status, the method further includes: Determine a current energy value, and when the energy value is greater than or equal to a preset energy value, continue to execute to obtain the current running state; When the energy value is less than a preset energy value, the response to the task instruction is terminated.

7. The method according to claim 2, characterized in that: After obtaining the task instructions broadcasted in the robot cluster and determining the current running state, the method further includes: When it is determined that the current running state is non-idle, the response to the task instruction is terminated.

8. A robot collaborative device, characterized in that: Applied to any robot in a robot cluster, the device comprises: An information acquisition module, used to acquire a current operation state in response to a task instruction, and acquire current operation information based on the current operation state; a cost determination module, configured to determine a first task execution cost according to the task instruction and the current operation information, send the first task execution cost to other robots in the robot cluster, and obtain a second task execution cost generated by the other robots; a robot determination module, configured to determine a first candidate execution cost according to the first task execution cost and the second task execution cost, determine a first candidate robot according to the first candidate execution cost, and send the first candidate robot to other robots in the robot cluster; An instruction execution module is used to obtain a second candidate robot determined by the other robots based on the first task execution cost and the second task execution cost, and determine a target execution robot according to the first candidate robot and the second candidate robot, so that the target execution robot executes the task instruction.

9. A robot, characterized in that: The robot comprises: at least one processor; and a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute a robot collaboration method according to any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement a robot collaboration method according to any one of claims 1 to 7 when executed.

Citation Information

Cited By

  • Intelligent control method and system for robot cluster response

    CN120523111A

  • Photovoltaic station inspection method and system based on unmanned aerial vehicle cluster collaboration

    CN121349108A