Robot task execution method and related equipment

By negotiating task allocation among robots in a distributed robotic system, the problems of insufficient robustness and scalability in centralized systems are solved, and efficient and reliable multi-robot collaborative task execution is achieved.

CN120697035APending Publication Date: 2025-09-26AGIBOT INNOVATION (SHANGHAI) TECHNOLOGY CO LTD

Patent Information

Application Number
CN202511101770.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-08-06
Publication Date
2025-09-26

AI Technical Summary

Technical Problem

Centralized robotic systems rely on central nodes, are not robust, and are prone to system paralysis due to single point failures. They also have communication bottlenecks and insufficient scalability.

Method used

By adopting a distributed robot system, robots negotiate task allocation by issuing task collaboration requests, eliminating dependence on central nodes and realizing multi-robot collaborative task execution.

Benefits of technology

It improves the robustness of the robot system, solves the problem of system paralysis caused by single point failure, and improves task coordination efficiency and the scalability and fault tolerance of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120697035A_ABST
    Figure CN120697035A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a robot task execution method and related equipment, and the robot task execution method is applied to any robot used for generating a robot task in a distributed robot system, and is called as a first robot. In addition to the first robot, the distributed robot system further comprises at least one second robot. The method comprises the following steps: issuing a task cooperation request in a distributed robot system based on a robot task; communicating with a second robot responding to the task cooperation request to determine task allocation information corresponding to the robot task; wherein the task allocation information represents a main task to be executed by the first robot and an auxiliary task capable of being executed by the second robot; the robot tasks comprise a main task and an auxiliary task; and executing the main task, and communicating with a second robot for executing the auxiliary task to determine that both the main task and the auxiliary task are successfully executed. According to the embodiment of the invention, the robustness of the robot system can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of robotics, and in particular to a method for executing robotic tasks and related equipment. Background Art

[0002] With the continuous development of robotics technology, the types of robots have become more diverse. Different types of robots are suitable for performing different tasks. Appropriate robots can be selected for different task scenarios to improve the efficiency and quality of task completion.

[0003] A centralized robotic system consists of a central node and multiple types of robots. When tackling complex tasks, the central node coordinates task allocation based on the status and perception information reported by each robot, driving the corresponding robot to perform its specialized tasks, thereby enabling multiple robots to collaboratively complete complex tasks.

[0004] However, centralized robotic systems rely on the task scheduling capabilities of central nodes and are not robust. Summary of the Invention

[0005] In view of this, multiple embodiments of the present application are dedicated to providing a robot task execution method and related equipment, which can improve the robustness of the robot system.

[0006] One embodiment of the present application provides a robot task execution method, which is applied to a first robot in a distributed robot system; the first robot is any robot in the distributed robot system used to generate a robot task; in addition to the first robot, the distributed robot system also includes at least one second robot; the robot task execution method includes: issuing a task collaboration request in the distributed robot system based on the robot task; communicating with the second robot that responds to the task collaboration request to determine task allocation information corresponding to the robot task; wherein the task allocation information represents the main task to be executed by the first robot and the auxiliary task that the second robot can assist in executing; the robot task includes the main task and the auxiliary task; executing the main task, and communicating with the second robot used to execute the auxiliary task to determine the execution status of the main task and the auxiliary task; when the execution subjects of the main task and the auxiliary task are both tasks completed, confirming the completion of the robot task.

[0007] Optionally, the step of communicating with the second robot that responds to the task collaboration request to determine task assignment information corresponding to the robot task includes: receiving executable task information sent by the second robot that responds to the task collaboration request; wherein, the executable task information is generated by the second robot based on the task collaboration request and the robot status of the second robot; and generating task assignment information in combination with the robot status of the first robot and the executable task information.

[0008] Optionally, before the step of generating task assignment information in combination with the robot status of the first robot and the executable task information, the robot task execution method also includes: in the case where there are multiple second robots, based on the matching degree between the executable task information sent by each second robot and the task collaboration request, selecting at least one executable task information from each executable task information; and, the step of generating task assignment information in combination with the robot status of the first robot and the executable task information includes: generating task assignment information in combination with the robot status of the first robot and the at least one selected executable task information.

[0009] Optionally, the distributed robot system also includes a third robot for assisting in executing the robot task; the third robot has a task status table, and the task status table is used to record the task status of the robot task; the robot task execution method also includes: in the case of receiving a task status issued by the second robot for indicating a failure in task execution, or in the case of not receiving the task status issued by the second robot within a specified time, receiving a response message sent by the third robot for assisting in executing the task; communicating with the third robot based on the response message to determine the target task allocation information corresponding to the robot task; wherein the target task allocation information represents the task to be executed by the first robot The target main task to be performed and the target auxiliary task that the third robot can assist in performing; the robot task includes the target main task and the target auxiliary task; the target main task is executed, and the third robot used to execute the target auxiliary task is communicated with to determine the execution status of the target main task and the target auxiliary task; when the execution subjects of the target main task and the target auxiliary task are both completed, the completion of the robot task is confirmed; wherein, the response information is generated by the third robot based on the updated task status table; the updated task status table includes a task status for characterizing the failure of task execution, or a task status for indicating that the task status issued by the second robot has not been received within the specified time.

[0010] Optionally, the robot task execution method further includes: sharing the perceived environmental information with each robot, so that the second robot responds to the task collaboration request based on the task collaboration request.

[0011] One embodiment of the present application provides a robot task execution method applied to a distributed robot system, wherein the distributed robot system includes a first robot and a second robot; the first robot is any robot in the distributed robot system for generating a robot task; the second robot is any robot in the distributed robot system other than the first robot; the robot task execution method includes: the first robot issues a task collaboration request in the distributed robot system based on the robot task; the second robot receives the task collaboration request and responds to the task collaboration request; the first robot communicates with the second robot that responds to the task collaboration request to determine the task distribution corresponding to the robot task task allocation information; wherein, the task allocation information represents the main task to be performed by the first robot and the auxiliary task that the second robot can assist in performing; the robot task includes the main task and the auxiliary task; the first robot performs the main task and communicates with the second robot for performing the auxiliary task to determine the execution status of the main task and the auxiliary task; when the execution status of the main task and the auxiliary task are both task completion, the robot task is confirmed to be completed; the second robot performs the auxiliary task and communicates with the first robot for performing the main task to determine the execution status of the main task and the auxiliary task; when the execution status of the main task and the auxiliary task are both task completion, the robot task is confirmed to be completed.

[0012] Optionally, both the first robot and the second robot have a value learning model and a task status table; the task status table is used to record the task status of the robot task; the value learning model is used to generate the task value according to the corresponding task status table; the task value corresponding to the second robot is used as the basis for responding to the task collaboration request; the task value corresponding to the first robot is used as the basis for responding to the collaboration request issued by any robot in the distributed robot system.

[0013] Optionally, each of the value learning models has the same shared knowledge layer and different task-specific layers; the shared knowledge layer is used to perform one or more of identifying objects, planning movements, and perceiving the environment; and the task-specific layer is used to perform tasks of the task type corresponding to the corresponding robot.

[0014] Optionally, the distributed robot system also includes a central server; the robot task execution method also includes: the central server fuses the local training results uploaded by the first robot and the second robot respectively, and sends the fusion results to the first robot and the second robot as parameters of the shared knowledge layer; the local training results are shareable parameters obtained by the first robot and / or the second robot after training the corresponding value learning model based on local data.

[0015] Optionally, any robot in the distributed robot system is used to perform incremental training for the value learning model based on local data while locking the parameters of the shared knowledge layer, so as to call the incrementally trained value learning model to generate task value.

[0016] One embodiment of the present application also provides a robot task execution method, which is applied to a second robot in a distributed robot system; the distributed robot system also includes a first robot; the first robot is any robot in the distributed robot system used to generate a robot task; the second robot is used to assist in executing the robot task; the robot task execution method includes: receiving a task collaboration request issued by the first robot in the distributed robot system based on the robot task, and responding to the task collaboration request; communicating with the first robot to determine task allocation information corresponding to the robot task; wherein the task allocation information represents the main task to be executed by the first robot and the auxiliary task that the second robot can assist in executing; the robot task includes the main task and the auxiliary task; executing the auxiliary task, and communicating with the first robot used to execute the main task to determine the execution status of the main task and the auxiliary task; when the execution status of the main task and the auxiliary task are both task completion, confirming the completion of the robot task.

[0017] One embodiment of the present application further provides a robot task execution device, which is applied to a first robot in a distributed robot system; the first robot is any robot in the distributed robot system used to generate a robot task; in addition to the first robot, the distributed robot system also includes at least one second robot. The robot task execution device includes: a request issuance module for issuing a task collaboration request in the distributed robot system based on the robot task; a task negotiation module for communicating with the second robot that responds to the task collaboration request to determine task allocation information corresponding to the robot task; wherein the task allocation information represents a main task to be performed by the first robot and an auxiliary task that the second robot can assist in performing; the robot task includes the main task and the auxiliary task; a task execution module for executing the main task and communicating with the second robot used to execute the auxiliary task to determine the execution status of the main task and the auxiliary task; and when the execution subjects of the main task and the auxiliary task are both task completed, the robot task is confirmed to be completed.

[0018] One embodiment of the present application further provides a robot task execution device, the robot task execution device being applied to a second robot in a distributed robot system; the distributed robot system further comprising a first robot; the first robot being any robot in the distributed robot system used to generate a robot task; and the second robot being used to assist in executing the robot task. The robot task execution device comprises: a request response module for receiving a task collaboration request issued by the first robot in the distributed robot system based on the robot task and responding to the task collaboration request; a task negotiation module for communicating with the first robot to determine task allocation information corresponding to the robot task; wherein the task allocation information represents a main task to be executed by the first robot and an auxiliary task that the second robot can assist in executing; the robot task comprising the main task and the auxiliary task; a task execution module for executing the auxiliary task and communicating with the first robot used to execute the main task to determine the execution status of the main task and the auxiliary task; and confirming the completion of the robot task when the execution status of both the main task and the auxiliary task are task completion.

[0019] One embodiment of the present application further provides a computer device, comprising a memory and a processor, wherein the memory stores at least one computer program, and the processor loads and executes the at least one computer program to implement the aforementioned method.

[0020] One embodiment of the present application further provides a computer-readable storage medium, wherein the computer-readable storage medium stores at least one computer program, and when the at least one computer program is executed by a processor, the method as described above can be implemented.

[0021] One embodiment of the present application further provides a computer program product, which is used to implement the aforementioned method.

[0022] In various embodiments provided herein, the robotic task execution method is applied to robots in a distributed robotic system, a decentralized robotic system that eliminates reliance on a central node. This method supports robots issuing collaborative task requests to identify potential collaborating robots and then negotiate task allocations accordingly, thereby enabling multiple robots to collaboratively execute tasks. This improves the robustness of the robotic system and addresses the issue of system failures caused by single points of failure. BRIEF DESCRIPTION OF THE DRAWINGS

[0023] Figure 1 A system architecture diagram of an application of a robot task execution method provided in one embodiment of the present application.

[0024] Figure 2 A flowchart of a robot task execution method provided in one embodiment of the present application.

[0025] Figure 3 A flowchart of a robot task execution method provided in accordance with another embodiment of the present application.

[0026] Figure 4 A flowchart of a robot task execution method applied to a distributed robot system provided in one embodiment of the present application.

[0027] Figure 5 A structural diagram of a robot task execution device provided for one embodiment of the present application.

[0028] Figure 6 A structural diagram of a robot task execution device provided in another embodiment of the present application.

[0029] Figure 7 A schematic diagram of a computer device provided for one embodiment of the present application. DETAILED DESCRIPTION

[0030] The following will clearly and completely describe the information to be retrieved in the embodiments of the present application in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments.

[0031] In the description of the embodiments of the present application, it should be understood that the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, features defined as "first" and "second" may explicitly or implicitly include one or more of the features. In the description of the embodiments of the present application, the meaning of "plurality" is two or more, unless otherwise clearly and specifically defined.

[0032] A robot is an automated device with perception, decision-making, and execution capabilities, capable of performing specific tasks either actively or under control. With the continuous development of robotics technology, robots are now subdivided into handling robots for warehousing and logistics tasks, inspection robots for patrol and inspection tasks, cleaning robots for floor cleaning tasks, and grasping robots for grasping and sorting tasks.

[0033] Generally speaking, different types of robots have higher execution efficiency in their respective adaptive tasks, making it difficult to achieve the same performance across different types of tasks. In some complex scenarios, such as industrial manufacturing and post-disaster rescue, a single robot or a single type of robot may struggle to complete a specific task. Therefore, related technologies have proposed centralized robotic systems composed of multiple robots, including a central node deployed on a server or master robot.

[0034] When there are tasks generated based on autonomous detection or instruction-driven tasks, the central node can collect the status and environmental perception data of each robot, and perform task planning and scheduling based on this data. Each robot receives the assigned task, executes the task, and transmits back the execution status.

[0035] While centralized robotic systems offer advantages such as a clear structure and ease of management and maintenance, they also suffer from low robustness. A central node failure can easily paralyze the entire system. Furthermore, because each robot must transmit sensory information and task status to the central node, centralized robotic systems face communication bottlenecks, which can further impact task execution efficiency. Furthermore, centralized robotic systems lack scalability. Adding new robots requires a series of operations, including central registration, capability assessment, and model adaptation, making expansion difficult. Even after adding new robots, maintenance of the centralized robotic system becomes even more difficult.

[0036] Therefore, it is necessary to provide a robot task execution method that can be applied to robots in a distributed robotic system. Distributed robotic systems are decentralized robotic systems that eliminate dependence on central nodes. This method supports robots issuing task collaboration requests to identify robots that can collaborate, and then negotiate task allocation results based on these requests, thereby achieving the effect of multiple robots collaboratively executing tasks. This improves the robustness of the robotic system and addresses the problem of system paralysis caused by single points of failure. Furthermore, since tasks do not need to be scheduled through a central node, task collaboration efficiency can be improved. Furthermore, since robot tasks do not rely on central nodes, the scalability, fault tolerance, and dynamic adaptability of the distributed robotic system can be improved.

[0037] See also Figure 1 In multiple implementations provided in this application, a robot task execution method is implemented based on a distributed robot system. The distributed robot system includes multiple robots with perception, decision-making, and execution capabilities. Each robot is deployed with an independent value learning agent (VLA) to evaluate the task value based on information such as task status, perception information, and robot status, thereby determining the task execution order, performing task collaboration responses, and initiating task collaboration requests.

[0038] In this embodiment, any robot in the distributed robot system can be any of the following types of robots: a handling robot that can autonomously navigate and avoid obstacles, a grasping robot equipped with a robotic arm, an inspection robot for status detection, fault identification, and data collection, a cleaning robot for floor sweeping or scrubbing, and a communication relay robot equipped with an enhanced communication module to assist in forwarding task data in areas with weak signals.

[0039] In some implementations, each robot possesses the same capabilities. Each robot has the ability to generate robot tasks, issue task collaboration requests, respond to task collaboration requests initiated by other robots, negotiate task allocations, and collaborate on task execution. This allows for decentralized robot collaborative task execution.

[0040] In some implementations, each robot possesses different capabilities. Some robots in a distributed robotic system may be capable of generating robot tasks, issuing task collaboration requests, and negotiating task allocation. Other robots may be capable of responding to task collaboration requests initiated by other robots, negotiating task allocation, and collaboratively executing tasks. This division of labor among robots simplifies their control logic, thereby reducing the maintenance complexity of each robot.

[0041] In some embodiments, each robot issues a task collaboration request, exchanges collaboration data, and synchronizes task status through a designated communication method. The designated communication method includes, but is not limited to, at least one of the following: local area network communication based on the Robot Operating System (ROS) for high efficiency and low latency requirements, message queuing telemetry transport protocol (MQTT) protocol communication for lightweight and cross-platform message publishing, Wi-Fi mesh network communication (Wi-Fi Mesh Networking, Wi-Fi Mesh) networking communication for multi-robot self-organizing network connection, 5G / 4G cellular communication for long-distance or cross-regional multi-robot collaboration, and local Bluetooth communication for short-distance multi-robot collaboration. The designated communication method adopted depends on the application scenario of the distributed robot system, and this embodiment does not limit this.

[0042] In some examples, a distributed robotic system includes an inspection robot, a grasping robot, a handling robot, a cleaning robot, and a relay robot. When the inspection robot determines the location of a target object (e.g., an obstacle) based on visual information, it generates a target object grasping task and issues a task assistance request corresponding to the target object grasping task via a specified communication method. An idle grasping robot responds to the task assistance request if it determines based on its own capability assessment that it has task assistance capabilities. Furthermore, an idle handling robot responds to the task assistance request if it determines based on its own capability assessment that it has task assistance capabilities. The grasping robot and the handling robot can communicate with the inspection robot for the purpose of task negotiation to determine task allocation information for the target object grasping task. The task allocation information includes a primary task to be performed by the inspection robot (e.g., inspecting the ground quality after clearing obstacles), an auxiliary task to be performed by the grasping robot (e.g., grasping obstacles and placing them in a designated area), and an auxiliary task to be performed by the handling robot (e.g., moving obstacles from a designated area to an area to be cleared). The grasping robot, handling robot and inspection robot can perform their respective corresponding tasks and publish task statuses to represent the progress of task execution, so as to ensure that the task statuses corresponding to the main task and each auxiliary task represent the completion of the task, thereby achieving the purpose of multi-robot collaborative task execution.

[0043] See also Figure 2One embodiment of the present application provides a robot task execution method. The robot task execution method is applied to a first robot in a distributed robot system; the first robot is any robot in the distributed robot system used to generate a robot task; in addition to the first robot, the distributed robot system also includes at least one second robot. The robot task execution method may include the following steps.

[0044] Step S110: issuing a task collaboration request in the distributed robot system based on the robot task.

[0045] Step S120: Communicate with the second robot that responds to the task collaboration request to determine task allocation information corresponding to the robot task; wherein the task allocation information represents the main task to be performed by the first robot and the auxiliary task that the second robot can assist in performing; the robot task includes the main task and the auxiliary task.

[0046] Step S130: Execute the main task and communicate with the second robot used to execute the auxiliary task to determine the execution status of the main task and the auxiliary task; when the execution subjects of the main task and the auxiliary task are both completed, confirm that the robot task is completed.

[0047] In this embodiment, in order to eliminate the task scheduling dependence on the central node, a robot task execution method is implemented in a distributed robot system. The distributed robot system is a decentralized collaborative system composed of multiple robots, and any robot in the distributed robot system can execute the robot task execution method.

[0048] In this embodiment, the robots in the distributed robot system can be of one or more types. The number of robots of each type and the total number of robots included in the distributed robot system depend on the specific application scenario, which is not limited in this embodiment.

[0049] In this embodiment, the distributed robot system can be applied to a variety of scenarios with complex environments, dynamic tasks, high collaboration requirements, or high requirements for the robustness of the robot system, including but not limited to: warehousing and logistics scenarios that require multiple robots to collaborate to perform tasks such as object grasping, moving, and path scheduling, indoor environment cleaning scenarios that require multiple robots to collaborate to perform tasks such as floor cleaning, window wiping, and garbage collection, and patrol scenarios that require collaboration among patrol robots, aerial drones, and monitoring mobile robots.

[0050] In this embodiment, any robot in the distributed robot system can serve as the first robot. When there is a robot task, the robot that generates the robot task is the first robot, and the other robots in the distributed robot system except the first robot are the second robots.

[0051] In this embodiment, the first robot may generate a robot task, where the robot task is used to define one or more information such as an operation target, a task location, required resources, and completion conditions.

[0052] In some embodiments, the first robot generates a robot task in such a manner that the first robot automatically generates a robot task, such as a patrol task or a grasping task, based on data detected by sensors, a policy model, or an event monitoring mechanism, without an external command. Specifically, taking the example of the first robot generating a robot task based on data detected by sensors, the first robot can determine a target object (such as garbage) or an abnormal event (such as a person falling to the ground) based on a sensor module (such as a camera) and an image recognition module (such as an image recognition program), and generate a grasping task as a robot task accordingly. When the execution of the robot task requires the assistance of other robots (such as requiring other robots to collaborate in helping a person who has fallen to the ground), a corresponding task assistance request is issued to collaborate with other robots to execute the robot task.

[0053] Alternatively, the first robot generates a robot task by: upon receiving a task instruction from an external system (e.g., a cloud platform, a user interface, another robot, etc.), the first robot generates a robot task, such as a human-computer interaction task. Specifically, taking the example of the first robot generating a robot task based on a task instruction sent from a user interface, upon detecting user voice (e.g., "Dancing the Thousand-Handed Guanyin Dance"), the first robot generates a dancing task as a robot task. When the execution of the robot task requires the assistance of other robots (e.g., requiring the collaboration of other robots to complete the Thousand-Handed Guanyin Dance), the first robot issues a corresponding task assistance request to collaborate with other robots to execute the robot task.

[0054] In this embodiment, after generating a robot task, the first robot can also determine the action sequence corresponding to the robot task, such as grasping, carrying, inspection, cleaning, and navigation. Furthermore, it can determine attribute information such as the resource requirements and time requirements for each action in the action sequence. Furthermore, based on the action sequence, attribute information, and the first robot's own status (e.g., execution capability, energy consumption, time window, etc.), the robot's ability to independently complete the task and its assistability can be evaluated. This can reduce waste of communication resources and robot resources.

[0055] In some embodiments, the first robot evaluates the robot task in the following way: the first robot analyzes the task parameters of the robot task (such as execution time, energy consumption, etc.) and compares them with its own status (such as remaining power, load capacity, etc.). If the comparison result indicates that the robot task cannot be completed independently, it is determined that the robot task requires assistance.

[0056] Alternatively, the first robot encodes the robot task into a feature vector, and inputs the feature vector and the feature vector representing the robot's capabilities into a neural network model, so that the neural network model generates a task adaptation score. If the task adaptation score is lower than a preset score, it is determined that the robot task requires assistance.

[0057] Alternatively, the first robot retrieves historical task execution results whose similarity to the robot task is higher than a preset similarity, and determines that the robot task requires assistance when the failure rate of the historical task execution results is higher than a preset failure rate.

[0058] Alternatively, the first robot calls a pre-trained value assessment model to calculate a first value score for independently executing the robot task and a second value score for collaboratively executing the robot task. If the first value score is lower than the second value score, it is determined that the robot task requires assistance.

[0059] In this embodiment, if the robot task is determined to require no assistance, the first robot independently performs the robot task and requires assistance. If the robot task is determined to require assistance, the first robot issues a task collaboration request in the distributed robot system based on the robot task. The task collaboration request may include, but is not limited to, task description information, location information, time constraint information, and task value assessment results.

[0060] In some embodiments, a first robot may publish a task collaboration request based on a robot task in a distributed robot system by publishing the task collaboration request to a designated communication topic, so that other robots in the distributed robot system, as subscribers, receive the task collaboration request. Alternatively, the first robot may publish the task collaboration request in JSON format via Wi-Fi and the MQTT protocol, so that other robots in the distributed robot system receive the task collaboration request.

[0061] In this embodiment, all robots except the first robot in the distributed robot system can receive the task assistance request. For robots other than the first robot, a response decision can be made based on the independently deployed VLA model and the locally maintained task status table, and the decision result indicates whether to respond to the task assistance request or not. Among them, the VLA model is used to evaluate the value or priority of the task for the robot. The output of the VLA model is a quantitative score, which can characterize the matching degree of the task with at least one factor such as the robot's capability, location or energy consumption. Among them, the task status table is used to record the task status information that the robot is executing or preparing to execute and copies of the task status of other robots, including but not limited to task ID, start time, expected duration, and dependent resources.

[0062] In this embodiment, there may be one or more robots responding to the task assistance request.

[0063] In this embodiment, the second robot can respond to the task collaboration request by parsing the task collaboration request to determine the task description information, and based on the task description information and the robot status of the second robot (such as energy consumption, position, load, etc.), calling the VLA model to generate the task value, and responding to the task collaboration request when the task value is higher than the preset value (such as 0.7) to reduce invalid collaboration.

[0064] Alternatively, when the second robot receives a task collaboration request, it queries the task status table maintained locally by the second robot. When the inspection result indicates that the task time of the robot task does not overlap with the time of other tasks, and / or the resource dependency of the robot task is different from the resource dependency of other tasks, the second robot calls the VLA model based on the task collaboration request to generate a task value. When the task value is higher than the preset value, the second robot responds to the task collaboration request to improve effective collaboration and reduce execution anomalies caused by task conflicts.

[0065] Alternatively, the second robot parses the task collaboration request to determine the task label of the robot task (e.g., urgent, high value), and when it is determined based on the task status table that the current task is interruptible, predicts the collaboration success rate and the task value of the robot task based on the task label and the status of the current task, and responds to the task collaboration request to achieve effective collaboration when the fusion result of the collaboration success rate and the task value of the robot task is greater than the task value of the current task.

[0066] In this embodiment, the second robot responding to the task collaboration request can communicate with the first robot to negotiate task allocation information. Task allocation information is a data structure used to describe the division of task roles and task content among multiple robots. Robot tasks can be divided into task allocation information of any granularity based on actual needs. For example, task allocation information may include primary tasks (e.g., grasping, navigation, etc.) and auxiliary tasks (e.g., handling, clearing, etc.).

[0067] In this embodiment, communication between the second robot and the first robot involves exchanging information such as task descriptions, capability declarations, and task allocation decisions via wired or wireless communication to enable efficient collaborative execution of robot tasks. The number of communication rounds between the second robot and the first robot may depend on the complexity of the robot task, the complexity of the environment, and the communication rules, and is not limited in this embodiment. Communication between the second robot and the first robot can be point-to-point or broadcast.

[0068] In some embodiments, the task collaboration request issued by the first robot includes a task description (e.g., location, type, resource requirements, estimated duration, and urgency), and the response result of the second robot to the task collaboration request includes the task value, the current status indicating whether it is idle, the location, and the load situation, and a description of the executable task portion. After receiving the response result, the first robot sends task assignment information including main task information, auxiliary task information, auxiliary task description, expected execution window, and synchronization protocol to at least one second robot. After receiving feedback from the second robot regarding the task assignment information, the first robot executes the main task and the second robot executes the auxiliary task. In addition, optionally, if there are multiple second robots, there are auxiliary tasks corresponding to different second robots, and each second robot is used to execute its corresponding auxiliary task.

[0069] In this embodiment, the primary and secondary tasks represent the division of robot tasks. There is no distinction between primary and secondary tasks in terms of priority or complexity. This means that a primary task may be executed before a secondary task or may be more complex than a secondary task, and vice versa. The primary task corresponds to the first robot, and the secondary task corresponds to the second robot.

[0070] In this embodiment, the first robot can periodically publish the task status of the main task while executing the main task, and the second robot can periodically publish the task status of the auxiliary task while executing the auxiliary task. When the task status of the auxiliary task and the task status of the main task both indicate completion, it means that the robot task has been completed.

[0071] In summary, in this embodiment, the robot task execution method is applied to robots in a distributed robot system. A distributed robot system is a decentralized robot system that eliminates reliance on a central node. It supports robots issuing task collaboration requests to identify robots that can collaborate and then negotiate task allocation results accordingly, thereby achieving the effect of multiple robots collaboratively executing tasks. This improves the robustness of the robot system and addresses the problem of system paralysis caused by single points of failure. Furthermore, since tasks do not need to be scheduled through a central node, the efficiency of task collaboration can be improved. Furthermore, since the robot tasks are no longer dependent on a central node, the scalability, fault tolerance, and dynamic adaptability of the distributed robot system can be improved.

[0072] In some implementations, the first robot may share the perceived environmental information with each robot, so that the second robot responds to the task collaboration request based on the task collaboration request.

[0073] In this embodiment, in order to improve the efficiency of task collaboration, multiple robots can share perception data to facilitate the robots to generate more accurate response information based on it.

[0074] In this embodiment, environmental information represents data such as the spatial map, target object location, obstacle distribution, and current task context acquired by the first robot using sensors (e.g., RGB-D cameras, lidar, inertial measurement units, etc.). Environmental information may include, but is not limited to, point clouds, image segmentation results, semantic maps, and current object status.

[0075] In this embodiment, the first robot can publish this environmental information to all other robots in the distributed robotic system, allowing each robot to determine whether to respond to the task assistance request based on its own state and capabilities. While the first robot is performing its primary task, it can also publish environmental information, allowing other robots to obtain more comprehensive spatial information.

[0076] In some embodiments, the first robot identifies the target object and generates corresponding structured semantic information (e.g., object label, location information, confidence level), and publishes the image of the target object and the structured semantic information as environmental information so that other robots can determine whether to respond to the first robot's task assistance request based on their own capabilities and status.

[0077] In some embodiments, the first robot constructs a grid map, extracts local areas related to the auxiliary task in the grid map, and publishes them to the second robot so that the second robot can perform path planning or obstacle avoidance based on the extracted local areas.

[0078] In some embodiments, the first robot can receive executable task information sent by the second robot in response to the task collaboration request; wherein, the executable task information is generated by the second robot based on the task collaboration request and the robot status of the second robot; and task allocation information is generated in combination with the robot status of the first robot and the executable task information.

[0079] In this embodiment, in order to achieve multi-robot collaboration with higher efficiency and less resource consumption, communication between multiple robots can be performed to determine appropriate task allocation information to collaboratively execute robot tasks in an efficient and energy-saving manner.

[0080] In this embodiment, executable task information is feedback generated by the second robot based on the task collaboration request and its own robot status. It represents the second robot's executable range for the robot task. Robot status may include, but is not limited to, location coordinates, battery level, occupied resources, task queue, module health, sensing range, and payload capacity. Task assignment information is a task role configuration generated by the first robot based on its own robot status and the second robot's response. It is used to guide the execution of the robot task.

[0081] In this embodiment, the way in which the second robot sends executable task information can be: the second robot can analyze the resources required for the robot task (such as two-arm grasping, 20N force output), compare the resources required for the task with the capabilities of the second robot, and obtain a comparison result (such as executable transportation, unexecutable grasping), and then encapsulate the comparison result into a structured response message and send / broadcast it to the first robot.

[0082] Alternatively, the second robot can read the location required to perform the robot task from the task assistance request, calculate the arrival capability and arrival time based on the real-time map and the locally maintained task status table to generate a calculation result (e.g., reaching the required location within 8 seconds and being able to perform the transport), and encapsulate the calculation result and send / broadcast it to the first robot.

[0083] Alternatively, the second robot can invoke the VLA model to generate a task value based on the task description information in the task assistance request and the locally maintained task status table. The second robot can then encapsulate the task value and send / broadcast it to the first robot. The second robot can determine the task value based on the call to the VLA model and, combined with the task values ​​of the responses from all parties, determine the optimal collaboration solution (e.g., collaborating with robots C and F to perform the robot task with the highest efficiency and the least resource consumption).

[0084] In this embodiment, the robot state of the first robot can represent the capabilities and operating status of the first robot, such as one or more information such as remaining battery power, current task load, sensor status, physical position, and occupied time window. The executable task information can represent one or more information such as the type of task executable by the second robot, estimated completion time, available resources, path constraints, and task success probability. Therefore, the robot state of the first robot and the executable task information can be combined to generate task allocation information that can be used to efficiently and energy-efficiently coordinate the execution of robot tasks.

[0085] In some embodiments, in combination with the robot status and executable task information of the first robot, the method for generating task assignment information can be: splitting the robot task into multiple subtasks (such as grasping, carrying, and cleaning), constructing a priority scoring function for each subtask, and then based on the robot status and executable task information of the first robot, comparing the scores of the first robot and the second robot in each subtask, and matching the subtasks with robots with higher scores, thereby obtaining task assignment information.

[0086] Alternatively, a task execution constraint matrix is ​​constructed that can represent information such as capability constraint information, time window overlap, and resource mutual exclusion information, and task allocation information that meets the task allocation objectives is generated based on the task allocation objectives (such as the shortest total execution time, the maximum total value, etc.) and the capabilities of the first robot and the executable task information corresponding to the second robot.

[0087] In this embodiment, the division of labor among robots can be determined to match their capabilities and status, which can reduce resource waste, lower the probability of resource conflict problems, and improve collaborative efficiency.

[0088] In some embodiments, before the step of generating task assignment information in combination with the robot state of the first robot and the executable task information, the first robot may, when there are multiple second robots, select at least one executable task information from each executable task information based on the degree of matching between the executable task information sent by each second robot and the task collaboration request; and the first robot may generate task assignment information in combination with the robot state of the first robot and the at least one selected executable task information.

[0089] In this embodiment, to achieve further efficient collaboration, when multiple second robots respond to a task assistance request, one or more executable task information can be selected based on the degree of match between the executable task information sent by each second robot and the task, and task assignment information can be generated based on the selected executable task information. The task assignment information includes the main task to be performed by the first robot and the auxiliary tasks to be assisted by each second robot. The auxiliary tasks corresponding to the second robots may differ.

[0090] In some embodiments, the first robot can calculate the matching degree between each executable task information and the robot task based on information such as the robot capability, the probability of successful collaborative execution, and the physical world distance represented by each executable task information, and generate task assignment information based on one or more executable task information whose matching degree meets the expectations. This can quickly screen the executable task information and improve the efficiency of generating task assignment information.

[0091] Alternatively, the second robots publish their intentions and expected task performance, reach a consensus on role collaboration based on task value and resource distribution, and determine the executable task information corresponding to each robot and send it to the first robot. The first robot selects one or more executable task information and generates task allocation information based on it, which can reduce the decision-making burden of the first robot.

[0092] In this embodiment, the task allocation space can be limited by screening the executable task information, which can reduce the complexity of task allocation, and can also reduce the problems of resource conflicts and repeated task allocation, thereby improving the task execution efficiency.

[0093] In some embodiments, the distributed robot system further includes a third robot for assisting in executing the robot task; the third robot includes a task status table for recording the task status of the robot task; the first robot may receive a response message sent by the third robot for assisting in executing the robot task upon receiving a task status issued by the second robot indicating a task execution failure, or upon not receiving the task status issued by the second robot within a specified time; the first robot communicates with the third robot based on the response message to determine target task assignment information corresponding to the robot task; wherein the target task assignment information indicates a target main task to be executed by the first robot and a target auxiliary task that the third robot can assist in executing; the robot task includes the target main task and the target auxiliary task; the first robot executes the target main task and communicates with the third robot for executing the target auxiliary task to determine the execution status of the target main task and the target auxiliary task; and when the execution subjects of the target main task and the target auxiliary task are both task completed, the robot task is confirmed to be completed; wherein the response message is generated by the third robot based on an updated task status table; the updated task status table includes a task status indicating a task execution failure, or a task status indicating that the task status issued by the second robot was not received within the specified time.

[0094] In this embodiment, to ensure successful execution of a robot task, a third robot can collaborate with the second robot to execute the task in the event that the second robot fails. The third robot is used to take over the failed portion of the task if the original task execution chain fails or is interrupted. The third robot can be any other robot in the distributed robotic system, excluding the first and second robots.

[0095] In this embodiment, each robot in the distributed robotic system can have a task status table. The task status table is used to record the task status (e.g., success, failure, unresponsiveness, etc.) of each task in the distributed robotic system, the expected execution time of each task, the task allocation information of each task, and the task ID. The task status table is dynamically updated based on the information published by each robot.

[0096] In this embodiment, each robot in the distributed robotic system can activate a listening mode. Upon receiving a task status from a second robot indicating a task failure, or failing to receive a task status from a second robot within the specified time corresponding to an auxiliary task, each robot in the distributed robotic system can, if capable of performing the auxiliary task, issue active assistance information containing information such as its capabilities and status. This allows the first robot to generate new task assignment information, namely, target task assignment information, based on the active assistance information. The target primary task and target auxiliary task contained in the target task assignment information are generated based on information such as the capabilities and status of the first and third robots, and can be used to achieve efficient collaboration.

[0097] In this embodiment, the primary and secondary tasks are assigned to designated times, which can be the same or different. Optionally, the designated times for the tasks are positively correlated with one or more factors, such as the complexity of the task and the matching degree between the task and the robot.

[0098] In some embodiments, upon receiving a task status issued by a first robot indicating a task failure, or upon not receiving a task status issued by the first robot within a specified time period corresponding to a primary task, the second robot may issue an active assistance message to a second robot, so that the second robot selects a third robot with the highest matching degree from among multiple third robots based on the matching degree between each active assistance message and the primary task. The third robot is configured to execute the primary task and issue a task status related to the primary task.

[0099] See also Figure 3 One embodiment of the present application provides a robot task execution method. The robot task execution method is applied to a second robot in a distributed robot system; the distributed robot system also includes a first robot; the first robot is any robot in the distributed robot system used to generate a robot task; the second robot is used to assist in executing the robot task. The robot task execution method may include the following steps.

[0100] Step S210: receiving a task collaboration request issued by the first robot in the distributed robot system based on the robot task, and responding to the task collaboration request.

[0101] Step S220: Communicate with the first robot to determine task allocation information corresponding to the robot task; wherein the task allocation information represents the main task to be performed by the first robot and the auxiliary task that the second robot can assist in performing; the robot task includes the main task and the auxiliary task.

[0102] Step S230: Execute the auxiliary task and communicate with the first robot used to execute the main task to determine the execution status of the main task and the auxiliary task; when the execution status of the main task and the auxiliary task are both completed, confirm that the robot task is completed.

[0103] In this embodiment, the specific functions and effects achieved by the robot task execution method can be explained in comparison with other embodiments of the present application and will not be repeated here.

[0104] See also Figure 4 . One embodiment of the present application provides a robot task execution method applied to a distributed robot system. The robot task execution method is applied to a first robot in the distributed robot system; the first robot is any robot in the distributed robot system used to generate a robot task; in addition to the first robot, the distributed robot system also includes at least one second robot. The robot task execution method may include the following steps.

[0105] Step S310: The first robot issues a task collaboration request in the distributed robot system based on the robot task.

[0106] Step S320: The second robot receives the task collaboration request and responds to the task collaboration request.

[0107] Step S330: The first robot communicates with the second robot that responded to the task collaboration request to determine task assignment information corresponding to the robot task. The task assignment information identifies a primary task to be performed by the first robot and an auxiliary task that the second robot can assist in performing. The robot task includes the primary task and the auxiliary task.

[0108] Step S340: The first robot executes the primary task and communicates with the second robot executing the auxiliary task to determine the execution status of the primary task and the auxiliary task. When the execution status of both the primary task and the auxiliary task is completed, the robot task is confirmed to be completed.

[0109] Step S350: The second robot performs the auxiliary task and communicates with the first robot performing the primary task to determine the execution status of the primary task and the auxiliary task. When the execution status of both the primary task and the auxiliary task is completed, the robot task is confirmed to be completed.

[0110] In this embodiment, the specific functions and effects achieved by the robot task execution method applied to the distributed robot system can be explained by referring to other embodiments of the present application and will not be repeated here.

[0111] In some embodiments, the first robot and the second robot both have a value learning model and a task status table; the task status table is used to record the task status of the robot task; the value learning model is used to generate a task value based on the corresponding task status table; the task value corresponding to the second robot is used as a basis for responding to the task collaboration request; the task value corresponding to the first robot is used as a basis for responding to a collaboration request issued by any robot in the distributed robot system.

[0112] In this embodiment, to enable each robot to more efficiently respond to task assistance requests, each robot in the distributed robot system independently deploys a value-based learning model (VLA model). Upon receiving a task assistance request, each robot uses the local VLA model to calculate the task value and use this as the basis for responding to the task assistance request. The VLA model is a locally executed model used to evaluate task value.

[0113] In this embodiment, the task value is a quantitative result of the value score of the robot task for the robot's execution efficiency, resource utilization, and benefits.

[0114] In this implementation, each robot can use the value learning model to generate a task value for each task in the task state table based on information such as the task objective, priority, and remaining time. Alternatively, each robot can encode the task state table into a state vector and input this state vector into the policy network in the VLA model to obtain the task value. This can improve the efficiency of multi-robot collaboration.

[0115] In some embodiments, each of the value learning models has the same shared knowledge layer and different task-specific layers; the shared knowledge layer is used to perform one or more of identifying objects, planning movements, and perceiving the environment; and the task-specific layer is used to perform tasks of the task type corresponding to the corresponding robot.

[0116] In this embodiment, the value learning model includes a shared knowledge layer and a task-specific layer. For any robot in a distributed robot system, the same parameters of the shared knowledge layer can be used. Specifically, the parameters of the shared knowledge layer can be synchronized through federated learning or knowledge transfer to avoid repeated training of the shared knowledge layer. The task-specific layers corresponding to different robots are different. The parameters of the task-specific layer depend on the type of robot and / or the type of task adapted thereto, that is, the parameters of the task-specific layer are robot-private parameters and can be optimized for specific tasks. Each robot implements incremental training of an independently deployed VLA model based on local data. Optionally, the incremental training can be lightweight, optimizing only the parameters of the task-specific layer and maintaining the parameters of the shared knowledge layer, which can improve training efficiency while improving training results.

[0117] In this embodiment, the shared knowledge layer may include at least an environment understanding module, a general capability encoder, and a task state table encoder. The environment understanding module can perform visual perception, map construction, and navigation state estimation, while the general capability encoder can perform load calculation, power mapping, and capability vector representation. The task state table encoder can extract task state features, such as task ID, performer ID, and time window.

[0118] In this embodiment, the task-specific layer may include at least a policy evaluation network, a capability-task matcher, and a task value output unit. The policy evaluation network may include a multilayer perceptron or a deep reinforcement learning network; the capability-task matcher may determine compatibility between the robot type and the robot task; and the task value output unit may output a task value used as a basis for assisting in task execution.

[0119] In this embodiment, for any robot, when receiving a task collaboration request, the robot state (e.g., energy consumption, task queue, coordinate position), the contents of the task state table (e.g., task goal, execution status, assigned role), and the information in the task collaboration request (e.g., task content, task location, time requirement, etc.) can be input into the VLA model. This allows the VLA model to extract common features of the input through the shared knowledge layer and perform decision reasoning based on the common features through the task-specific layer, thereby outputting the task value. Optionally, the output can be the task value of a single task, or the task values ​​corresponding to multiple tasks.

[0120] In some embodiments, the distributed robot system also includes a central server; the robot task execution method also includes: the central server fuses the local training results uploaded by the first robot and the second robot respectively, and sends the fusion results to the first robot and the second robot as parameters of the shared knowledge layer; the local training results are shareable parameters obtained by the first robot and / or the second robot after training the corresponding value learning model based on local data.

[0121] In this embodiment, the central server in the distributed robotic system can be used to collect local training results from each robot and centrally distribute the results to the computing nodes that integrate the local training results. This server can be deployed in a local edge computing cluster or cloud platform, and possesses high-performance computing and parameter fusion capabilities. Local training results refer to the model parameters or gradients obtained after the robot trains the VLA model based on local data. Optionally, the local training results can be encrypted or unencrypted data.

[0122] In this embodiment, local data refers to data acquired or generated by the robot using existing sensors, processors, and memory. Each robot can use its autonomously collected local data (e.g., experience data, perception data, feedback signals, etc.) to train its independently deployed VLA model. After training, the shared knowledge layer parameters (e.g., convolutional layer weights, encoder parameters, etc.) or gradients in the model are uploaded to the central server. This allows the central server to fuse the training results of each robot without accessing the local data of each robot, and synchronize the fusion results to each robot so that each robot can share the same shared knowledge layer parameters.

[0123] In some implementations, after executing a primary or auxiliary task, a robot can record perception data and strategy generation results, using these data as samples to train the shared knowledge layer and obtain shared knowledge layer parameters. The robot periodically transmits these shared knowledge layer parameters to a central server via the MQTT / ROS protocol. The central server aggregates these shared knowledge layer parameters uploaded by multiple robots, generating a fusion result of the shared knowledge layer parameters. This fusion result is then distributed to each robot for synchronization. This reduces the risk of local data leakage for each robot and improves the cross-scenario generalization capabilities of each robot's VLA model.

[0124] In some embodiments, when a new robot is added to the distributed robot system, the central server can directly send the parameters of the shared knowledge layer to the new robot. The new robot can apply the parameters of the shared knowledge layer to the locally deployed VLA model and locally optimize the parameters of the task-specific layer to improve its training efficiency.

[0125] In some embodiments, any robot in the distributed robot system is used to perform incremental training for the value learning model based on local data while locking the parameters of the shared knowledge layer, so as to call the incrementally trained value learning model to generate task value.

[0126] In this embodiment, in order to improve the training efficiency of each robot, each robot can be supported to perform incremental training with a locked shared knowledge layer to achieve lightweight model updates, that is, only the parameters of the VLA model outside the shared knowledge layer are updated.

[0127] In this embodiment, incremental training is to update at least part of the parameters of the VLA model using newly added task data and / or perception data based on the existing VLA model parameters, which can improve training efficiency compared to updating the global model parameters.

[0128] In this embodiment, the first robot can perform incremental training for the value learning model based on local data in the following manner: the first robot can adjust the parameters of the task-specific layer based on the task data generated by the task executed in unit time using supervised learning or reinforcement learning algorithms.

[0129] See also Figure 5 . The embodiment of the present application also provides a robot task execution device. The robot task execution device is applied to the first robot in the distributed robot system; the first robot is any robot used to generate robot tasks in the distributed robot system; in addition to the first robot, the distributed robot system also includes at least one second robot. The robot task execution device includes: a request publishing module for issuing a task collaboration request in the distributed robot system based on the robot task; a task negotiation module for communicating with the second robot that responds to the task collaboration request to determine the task allocation information corresponding to the robot task; wherein the task allocation information represents the main task to be performed by the first robot and the auxiliary task that the second robot can assist in performing; the robot task includes the main task and the auxiliary task; a task execution module for executing the main task and communicating with the second robot used to execute the auxiliary task to determine the execution status of the main task and the auxiliary task; when the execution subjects of the main task and the auxiliary task are both task completed, the completion of the robot task is confirmed.

[0130] In this embodiment, the specific functions and effects achieved by the robot task execution device can be explained by referring to other embodiments of the present application and will not be repeated here.

[0131] See also Figure 6. The embodiment of the present application also provides a robot task execution device. The robot task execution device is applied to the second robot in the distributed robot system; the distributed robot system also includes a first robot; the first robot is any robot in the distributed robot system for generating a robot task; the second robot is used to assist in executing the robot task. The robot task execution device includes: a request response module, which is used to receive a task collaboration request issued by the first robot in the distributed robot system based on the robot task, and respond to the task collaboration request; a task negotiation module, which is used to communicate with the first robot to determine the task allocation information corresponding to the robot task; wherein the task allocation information represents the main task to be executed by the first robot and the auxiliary task that the second robot can assist in executing; the robot task includes the main task and the auxiliary task; a task execution module, which is used to execute the auxiliary task and communicate with the first robot used to execute the main task to determine the execution status of the main task and the auxiliary task; when the execution status of the main task and the auxiliary task are both task completion, the completion of the robot task is confirmed.

[0132] In this embodiment, the specific functions and effects achieved by the robot task execution device can be explained by referring to other embodiments of the present application and will not be repeated here.

[0133] See also Figure 7 The present application also provides a computer device, comprising a memory and a processor, wherein the memory stores at least one computer program, and the processor loads and executes the at least one computer program to implement the aforementioned method.

[0134] The embodiment of the present application further provides a computer-readable storage medium having a computer program stored thereon. When the computer program is executed by a processor, the processor implements the method as described above.

[0135] The embodiments of the present application further provide a computer program product comprising instructions, which implements the aforementioned method when executed by a processor.

[0136] It should be understood that the specific examples herein are only intended to help those skilled in the art better understand the embodiments of the present application, rather than to limit the scope of the present invention.

[0137] It can be understood that in the various implementation methods of this application, the size of the serial number of each process does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the implementation method of this application.

[0138] It can be understood that the various embodiments described in this application can be implemented individually or in combination, and the embodiments of this application are not limited to this.

[0139] Unless otherwise indicated, all technical and scientific terms used in the embodiments of the present application have the same meaning as those commonly understood by those skilled in the art in the technical field of the present application. The terms used in this application are only for the purpose of describing specific embodiments and are not intended to limit the scope of this application. The term "and / or" used in this application includes any and all combinations of one or more related listed items. The singular forms "a", "above", and "the" used in the embodiments of the present application and the appended claims are also intended to include plural forms, unless the context clearly indicates otherwise.

[0140] It is understood that the processor in the embodiments of the present application can be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above-mentioned method embodiment can be completed by hardware integrated logic circuits in the processor or software instructions. The above-mentioned processor can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The various methods, steps, and logic block diagrams disclosed in the embodiments of the present application can be implemented or executed. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in the embodiments of the present application can be directly implemented and executed by a hardware decoding processor, or by a combination of hardware and software modules in the decoding processor. The software module can be located in a storage medium mature in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, etc. The storage medium is located in the memory, and the processor reads the information in the memory and, in conjunction with its hardware, completes the steps of the above-mentioned method.

[0141] It will be understood that the memory in the embodiments of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (programmable ROM, PROM), an erasable programmable read-only memory (erasable PROM, EPROM), an electrically erasable programmable read-only memory (EEPROM) or flash memory. The volatile memory may be a random access memory (RAM). It should be noted that the memory of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.

[0142] Those skilled in the art will appreciate that the units and algorithmic steps of each example described in conjunction with the embodiments disclosed herein can be implemented using electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the information to be retrieved. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0143] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the above-described systems, devices and units can refer to the corresponding processes in the aforementioned method implementation methods and will not be repeated here.

[0144] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0145] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of this embodiment.

[0146] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0147] If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the information to be retrieved in this application, or the part that contributes to the prior art, or the part of the information to be retrieved can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the method described in each embodiment of this application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0148] The above description is merely a specific embodiment of the present application, but the scope of protection of the present invention is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this application should be included in the scope of protection of this application. Therefore, the scope of protection of the present invention should be based on the scope of protection of the claims.

Claims

1. A robot task execution method, characterized in that: The robot task execution method is applied to a first robot in a distributed robot system; the first robot is any robot in the distributed robot system used to generate a robot task; in addition to the first robot, the distributed robot system also includes at least one second robot; the robot task execution method includes: issuing a task collaboration request in the distributed robotic system based on the robotic task; communicating with the second robot that responds to the task collaboration request to determine task assignment information corresponding to the robot task; wherein the task assignment information represents a main task to be performed by the first robot and an auxiliary task that the second robot can assist in performing; and the robot task includes the main task and the auxiliary task; executing the main task and communicating with the second robot for executing the auxiliary task to determine the execution status of the main task and the auxiliary task; When the execution status of the main task and the auxiliary task are both task completion, it is confirmed that the robot task is completed.

2. The method according to claim 1, characterized in that The step of communicating with the second robot that responds to the task cooperation request to determine task allocation information corresponding to the robot task comprises: receiving executable task information sent by the second robot in response to the task collaboration request; wherein the executable task information is generated by the second robot based on the task collaboration request and the robot state of the second robot; Task allocation information is generated by combining the robot state of the first robot and the executable task information.

3. The method according to claim 2, characterized in that Before the step of generating task assignment information based on the robot state of the first robot and the executable task information, the robot task execution method further includes: In the case where there are multiple second robots, selecting at least one executable task information from each executable task information based on a matching degree between the executable task information sent by each second robot and the task cooperation request; Furthermore, the step of generating task allocation information in combination with the robot state of the first robot and the executable task information includes: Task allocation information is generated by combining the robot state of the first robot and the selected at least one executable task information.

4. The method according to claim 1, wherein The distributed robot system further includes a third robot for assisting in executing the robot task; the third robot is provided with a task status table, the task status table being used to record the task status of the robot task; The robot task execution method further includes: Upon receiving a task status issued by the second robot indicating a task failure, or upon failing to receive the task status issued by the second robot within a specified time, receiving a response message sent by the third robot for assisting in the execution of the task; Communicate with the third robot based on the response information to determine target task allocation information corresponding to the robot task; wherein the target task allocation information represents a target main task to be performed by the first robot and a target auxiliary task that the third robot can assist in performing; and the robot task includes the target main task and the target auxiliary task; Execute the target main task and communicate with the third robot for executing the target auxiliary task to determine the execution status of the target main task and the target auxiliary task; when the execution subjects of the target main task and the target auxiliary task are both completed, confirm the completion of the robot task; The response information is generated by the third robot based on the updated task status table; the updated task status table includes a task status indicating that the task execution has failed, or a task status indicating that the task issued by the second robot has not been received within a specified time.

5. The method according to any one of claims 1 to 4, characterized in that The robot task execution method further includes: The sensed environmental information is shared with each robot, so that the second robot responds to the task cooperation request based on the task cooperation request.

6. A robot task execution method applied to a distributed robot system, characterized in that: The distributed robot system includes a first robot and a second robot; the first robot is any robot in the distributed robot system for generating a robot task; the second robot is any robot in the distributed robot system except the first robot; The robot task execution method includes: The first robot issues a task collaboration request in the distributed robot system based on the robot task; The second robot receives the task collaboration request and responds to the task collaboration request; The first robot communicates with the second robot that responds to the task collaboration request to determine task assignment information corresponding to the robot task; wherein the task assignment information represents a main task to be performed by the first robot and an auxiliary task that the second robot can assist in performing; and the robot task includes the main task and the auxiliary task; The first robot executes the main task and communicates with the second robot for executing the auxiliary task to determine the execution status of the main task and the auxiliary task; when the execution status of the main task and the auxiliary task are both task completion, the robot task is confirmed to be completed; The second robot performs the auxiliary task and communicates with the first robot used to perform the main task to determine the execution status of the main task and the auxiliary task; when the execution status of the main task and the auxiliary task are both task completion, it is confirmed that the robot task is completed.

7. The method according to claim 6, characterized in that Both the first robot and the second robot are equipped with a value learning model and a task status table; the task status table is used to record the task status of the robot task; the value learning model is used to generate the task value according to the corresponding task status table; the task value corresponding to the second robot is used as the basis for responding to the task collaboration request; the task value corresponding to the first robot is used as the basis for responding to the collaboration request issued by any robot in the distributed robot system.

8. The method according to claim 6, characterized in that Each of the value learning models has the same shared knowledge layer and different task-specific layers; the shared knowledge layer is used to perform one or more of identifying objects, planning movements, and perceiving the environment; the task-specific layer is used to perform tasks of the corresponding task type corresponding to the corresponding robot.

9. The method according to claim 8, characterized in that The distributed robot system further includes a central server; and the robot task execution method further includes: The central server fuses the local training results uploaded by the first robot and the second robot respectively, and sends the fusion results to the first robot and the second robot as parameters of the shared knowledge layer; the local training results are shareable parameters obtained by the first robot and / or the second robot after training the corresponding value learning model based on local data.

10. The method according to claim 8, characterized in that Any robot in the distributed robot system is used to perform incremental training for the value learning model based on local data while locking the parameters of the shared knowledge layer, so as to call the incrementally trained value learning model to generate task value.

11. A robot task execution method, characterized in that: The robot task execution method is applied to a second robot in a distributed robot system; the distributed robot system further comprises a first robot; the first robot is any robot in the distributed robot system used to generate a robot task; the second robot is used to assist in executing the robot task; The robot task execution method includes: receiving a task collaboration request issued by the first robot in the distributed robot system based on the robot task, and responding to the task collaboration request; communicating with the first robot to determine task allocation information corresponding to the robot task; wherein the task allocation information represents a main task to be performed by the first robot and an auxiliary task that the second robot can assist in performing; and the robot task includes the main task and the auxiliary task; Execute the auxiliary task and communicate with the first robot used to execute the main task to determine the execution status of the main task and the auxiliary task; when the execution status of the main task and the auxiliary task are both completed, confirm that the robot task is completed.

12. A computer program product, characterized in that When the computer program product is executed by a processor, the robot task execution method according to any one of claims 1 to 11 is implemented.

Citation Information

Patent Citations

  • Robot coordination method, robot coordination device, robot, and computer program product

    CN107077651A

  • Distributed multi-robot intelligent control method and device based on swarm intelligence MAS

    CN112894811A

  • System and method for industrial robot

    CN114786886A

  • Robotic interfaces

    US20180196404A1

Cited By

  • Robot dynamic matching and cooperation method and system based on capability discovery

    CN121132696A

  • Robot, operation method and device thereof, storage medium and program product

    CN121199993A

  • Cluster inspection method, device and system based on dynamic trajectory prediction

    CN121232854A

  • Workshop collaborative carrying system

    CN121340314A