A multi-robot autonomous collaboration method and system

CN120773049BActive Publication Date: 2026-09-08TSINGHUA UNIVERSITY
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511149711.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-08-18
Publication Date
2026-09-08
Estimated Expiration
2045-08-18

AI Technical Summary

Technical Problem

[0008]为此,本发明提出一种面向复杂动态环境、支持团队自主重组和高效任务协作的多机器人自主协作方法及系统,针对现有多机器人系统在动态环境下协作能力有限、团队重组效率低、主动适应性不足以及通信负担重等问题,本发明能够基于团队状态和环境变化自主感知、动态调整团队成员结构,实现高效协作与任务分配,可有效提升多机器人系统在异构任务和复杂环境下的协同适应能力、任务完成效率和整体系统鲁棒性,推动多机器人系统在实际场景中的广泛应用与智能化发展

Benefits of technology

[0052] (1) The present invention adopts a capability assessment mechanism based on team status and environmental perception, which realizes the autonomous optimization and adjustment of the work team structure, and greatly improves the adaptability and task completion efficiency of multi-robot systems in complex dynamic environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120773049B_ABST
    Figure CN120773049B_ABST
Patent Text Reader

Abstract

The application provides a kind of multi-robot autonomous cooperation method, comprising: building communication network and configuring the robot pool containing multiple robots, the robot pool selects at least one robot as member to form current working team according to the task target issued by user;Make the member in current working team perceive task environment information and monitor task situation in real time, synchronize local environment task state chart between each member through communication network, to update respective local environment task state chart;Each member updates local environment task state chart based on autonomous communication and multi-round negotiation mechanism to evaluate the ability of current working team, to determine whether to carry out team reorganization and / or task decomposition and distribution, thereby updating current working team and task decomposition and distribution scheme, each member executes the subtask allocated based on the updated scheme.The application improves the collaborative adaptation capability, task completion efficiency and overall system robustness of multi-robot team in dynamic complex environment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of multi-agent collaboration technology, specifically to a method and system for autonomous collaboration among multiple robots. Background Technology

[0002] With the rapid development of robotics technology and its widespread application in industrial automation, disaster relief, and services, multi-robot systems (MRS) have gradually become an important research direction in intelligent robotics. Compared with traditional single-function robots, flexible intelligent robots can complete more complex tasks in dynamic environments. However, in the process of multi-robot collaboration, as the number of robots and the complexity of tasks increase, the organization and scheduling of the system, resource allocation, and collaboration mechanisms face many challenges.

[0003] Most existing multi-robot systems employ centralized or hierarchical organizational architectures. While these architectures can achieve a certain degree of task allocation and resource coordination, they suffer from slow response times and limited overall dynamism and adaptability when facing environmental changes or dynamic task adjustments. Especially in dynamic or uncertain environments, robots require extensive information exchange and negotiation, significantly increasing system communication pressure and leading to issues such as information congestion and scheduling bottlenecks, thus impacting overall system efficiency and robustness. Furthermore, centralized scheduling models rely heavily on central nodes or managers, posing risks of single points of failure and poor scalability.

[0004] Currently, some distributed multi-robot collaborative systems attempt to reduce system communication volume and improve task scheduling flexibility through mechanisms such as local self-organization, autonomous evaluation, and bulletin boards. For example, robots can proactively acquire task information when idle and participate in competition and task decomposition based on their own capabilities, reducing redundant communication and resource waste. Although these methods have made some progress in reducing communication volume and improving resource utilization, most solutions still have the following technical problems: First, they lack efficient dynamic reorganization mechanisms for complex heterogeneous teams, making it difficult to flexibly adjust the team structure according to actual task needs, resulting in insufficient or redundant resource allocation in some scenarios; second, current systems mostly adapt to member changes passively (such as failure exits, external assignments, etc.), making it difficult to anticipate and proactively respond to potential challenges in a timely manner, and failing to achieve forward-looking adaptation based on team status and environmental awareness; third, during task execution, communication and collaboration protocols often rely on pre-set scripts or limited rules, making it difficult to meet the complex and ever-changing collaboration needs among multiple robots in open environments, thus restricting the improvement of the overall intelligence and robustness of the team.

[0005] Furthermore, regarding information sharing and task division in multi-robot collaboration, some studies have established communication platforms between robots using cloud servers or local area networks to achieve data synchronization, file transfer, and status broadcasting. However, relying on external servers not only incurs additional system maintenance and operation costs but also faces problems such as poor communication stability, network congestion, and security risks. For example, network bandwidth bottlenecks or signal interference can significantly affect task collaboration efficiency, and data transmission may also suffer from security risks such as leakage, packet loss, or tampering.

[0006] In summary, existing methods for collaboration and scheduling of multi-robot systems still face pressing technical challenges in the following areas: (1) how to achieve efficient dynamic team reorganization and resource allocation in heterogeneous multi-robot teams to enhance the system's ability to adapt to complex environmental changes; (2) how to overcome the limitations of passive and delayed responses and construct an intelligent mechanism based on team autonomous perception and proactive collaboration to improve task completion efficiency and team robustness; and (3) how to reduce the communication burden between multi-robot systems while ensuring efficient and secure communication, thereby enhancing the collaborative capabilities of information processing and decision-making. Effective solutions to these problems are key to promoting the widespread application and intelligent upgrading of multi-robot systems. Summary of the Invention

[0007] The present invention aims to solve at least one of the technical problems existing in the prior art.

[0008] To address these issues, this invention proposes a multi-robot autonomous collaboration method and system for complex dynamic environments, supporting autonomous team reorganization and efficient task collaboration. It addresses the limitations of existing multi-robot systems in dynamic environments, such as limited collaboration capabilities, low team reorganization efficiency, insufficient proactive adaptability, and heavy communication burden. This invention enables autonomous perception and dynamic adjustment of team member structure based on team status and environmental changes, achieving efficient collaboration and task allocation. It effectively enhances the collaborative adaptability, task completion efficiency, and overall system robustness of multi-robot systems in heterogeneous tasks and complex environments, promoting the widespread application and intelligent development of multi-robot systems in real-world scenarios.

[0009] To achieve the above objectives, the present invention adopts the following technical solution:

[0010] The first aspect of this invention provides a method for autonomous collaboration among multiple robots, comprising:

[0011] Step S100: Build a communication network and configure a robot pool containing multiple robots. All robots share each other's basic configuration information. The robot pool selects at least one robot as a member to form the current work team based on the task objectives issued by the user.

[0012] Step S200: After the current work team enters the task environment, its members perceive the task environment information and monitor the task status in real time, obtain their respective local environment task status diagrams, and synchronize the local environment task status diagrams among the members through the communication network to update their respective local environment task status diagrams.

[0013] Step S300: Each member assesses the current working team's capabilities based on autonomous communication and multi-round negotiation mechanisms in response to the updated local environment task status diagram. Based on the assessment results, they determine whether to reorganize the team and / or decompose and allocate tasks, thereby updating the current working team and task decomposition and allocation plan. Each member then executes the assigned sub-tasks based on the updated plan.

[0014] In some embodiments, the robot pool is configured outside the task environment, and the robots in the robot pool are either heterogeneous or homogeneous robots; each robot communicates with the robot pool and other members of the current work team through its own wireless communication module, supporting point-to-point communication and broadcasting mechanisms.

[0015] In some embodiments, the robot pool is equipped with an AI model that selects members to build an initial current work team based on task understanding and capability matching, in response to clear or vague task objectives issued by the user.

[0016] In some embodiments, the task environment information perceived by the member includes structural information of the task execution space, object information related to the task objective, potential obstacles and operational constraints, and information on dynamic changes;

[0017] The real-time monitoring of task status by members includes the current execution stage of the assigned task, the current execution status of the member, the completion marker of the task objective, whether the preset timeout threshold has been triggered, failure events that occur during task collaboration, and whether there are any intermediate states that require adjustment of task strategies or reorganization of the team.

[0018] In some embodiments, each member uses a local clock to periodically upload a local environment task status graph, while simultaneously receiving and integrating information from other members, thereby updating their respective local environment task status graphs.

[0019] In some embodiments, the updated local environment task state graph is a multimodal, hierarchical semantic task state graph, and the update process includes:

[0020] Step S210, Node Extraction: Based on the task objective and information synchronized by other members, extract the following four types of semantic nodes:

[0021] T-node: Represents the subtask to be completed and its location;

[0022] A-node: Represents members who have joined the team, their current location, ability tags, and status information;

[0023] E-node: Represents the binding relationship between the currently executing subtask and its executor;

[0024] U-node: Represents an area or task point that has not yet been explored or for which information is insufficient, used to indicate areas that need to be perceived later;

[0025] Step S220, Layer Division: Divide the local environment task state graph into three semantic layers:

[0026] Task layer: Includes all task nodes that are pending completion or currently being executed;

[0027] Spatial layer: includes environmental spatial structure nodes, as well as the spatial dependency relationships between tasks and the environment;

[0028] Agent layer: includes team member nodes and their perception, execution, and communication states;

[0029] Step S230, Edge Connection:

[0030] In the task layer, directed edges are established based on the dependency order between tasks;

[0031] In the spatial layer, undirected edges are established based on spatial adjacency relationships;

[0032] In the proxy layer, member nodes are connected to the task nodes they are responsible for through edges, representing the current task allocation status;

[0033] For nodes with unassigned tasks or regions to be explored, virtual edges are used to connect them to A-nodes or U-nodes to indicate scheduling requirements;

[0034] Step S240, Graph Fusion and Update: After each member has constructed the environment task state graph, they synchronize the state changes through the communication network and perform graph merging and deduplication operations to obtain an updated local environment task state graph.

[0035] In some embodiments, step S300 includes:

[0036] Step S310: Each member of the current work team, based on the updated local environment task status diagram and their own capabilities, comprehensively considers the matching degree between the task requirement dimension and the robot capability dimension to obtain the self-assessment information of each member. When the self-assessment information of a member indicates that the member has the intention to communicate, then proceed to step S320; otherwise, the member will continue to execute the currently assigned sub-task.

[0037] Step S320: Members with communication intentions send their self-evaluation information to other relevant members through the communication network, entering an autonomous communication and multi-round negotiation process. In this process, members communicating with each other will compare their fit, execution efficiency, and task load information to achieve one or a combination of the following negotiation objectives:

[0038] When the current work team has a capacity bottleneck, the team is reorganized, new members with matching capabilities are recruited from the robot pool, and the current task status is updated;

[0039] When there is redundant member resources in the current work team, mark the member as releasable, return the marked member to the robot pool, and update the current task status;

[0040] When the current task status changes, each member divides the subsequent task objectives based on their updated local environment task status diagram and reassigns them to the corresponding members.

[0041] In some embodiments, the member generates the communication intent when it detects any one or a combination of the following: new observations of the task environment, updates to task-related information, updates to the status of task execution, and predictions of the effectiveness of task execution.

[0042] In some embodiments, the autonomous communication and multi-round negotiation mechanism includes:

[0043] Step S321: Initialize the members with communication intentions into a queue to be spoken;

[0044] Step S322: Determine if there are any members in the queue to be spoken. If not, exit the current round of negotiation and each member continues to execute the currently assigned sub-task until one or more members generate a communication intention, and enter the next round of negotiation; if there are, proceed to step S323.

[0045] Step S323: The first member in the queue to be spoken is dequeued as the current speaker. The current speaker creates communication content according to its communication intent and selects a receiver to send the communication content to. The current speaker and the receiver update their respective local communication message records. When the receiver is not in the current speaking queue, the receiver is added to the tail of the queue to be spoken, and then proceed to step S324.

[0046] Step S324: If the communication intent of the first member in the waiting queue disappears, remove him / her from the waiting queue and return to step S322; if he / she does not disappear, return to step S323.

[0047] A second aspect of the present invention provides a multi-robot autonomous collaborative system, comprising:

[0048] A robot pool contains multiple robots. The robot pool is configured to select at least one robot from the multiple robots as a member to form an initial current work team based on the task objectives issued by the user. All robots in the robot pool share each other's basic configuration information.

[0049] A communication network, configured in the task environment, is used to enable communication between members within the current work team and between the current work team and the robot pool;

[0050] The current work team is configured to evaluate its capabilities based on the updated local environment task state diagram generated during the task execution of each member and on an autonomous communication and multi-round negotiation mechanism, thereby forming a new current work team and task decomposition and allocation scheme. The robot pool responds to the new current work team scheme and forms a new current work team in the task environment. The updated local environment task state diagram is obtained by each member of the current work team merging their own local environment task state diagram with the local environment task state diagram synchronized with other members through the communication network.

[0051] Compared with the prior art, the present invention has the following significant features and beneficial effects:

[0052] (1) The present invention adopts a capability assessment mechanism based on team status and environmental perception, which realizes the autonomous optimization and adjustment of the work team structure, and greatly improves the adaptability and task completion efficiency of multi-robot systems in complex dynamic environments.

[0053] (2) This invention achieves efficient division of labor and optimal resource allocation through autonomous task decomposition and allocation and member capability modeling, effectively avoiding capability redundancy and resource shortage.

[0054] (3) By adopting a distributed autonomous communication and multi-round negotiation mechanism, members can actively initiate collaboration requests according to their needs, which improves the flexibility and robustness of multi-robot collaboration and breaks through the limitations of traditional methods such as communication congestion and slow response.

[0055] (4) By dynamically learning and optimizing the team capability model through negotiation results, the system's collaborative capabilities have been continuously improved and adaptively optimized.

[0056] (5) This invention supports flexible access to heterogeneous robot platforms, expanding the application space of multi-robot systems in different scenarios and tasks.

[0057] In summary, this invention enables multi-robot teams to autonomously perceive, proactively collaborate, and efficiently complete tasks in complex and dynamic environments. It overcomes the shortcomings of existing technologies in terms of team flexibility, autonomy, collaborative efficiency, and system robustness, and significantly enhances the collaborative intelligence and application value of the system. Attached Figure Description

[0058] Figure 1 This is a schematic diagram of the overall process of a multi-robot autonomous collaboration method provided in the first aspect of the present invention.

[0059] Figure 2 This is a schematic diagram of the autonomous communication and multi-round negotiation mechanism used in a multi-robot autonomous collaboration method provided in the first aspect of the present invention.

[0060] Figure 3 This is a schematic diagram of the structural framework of a multi-robot autonomous collaborative system provided in a second aspect embodiment of the present invention. Detailed Implementation

[0061] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are for illustrative purposes only and are not intended to limit the scope of this application. The following solutions are merely illustrative of the inventive concept, and specific solutions are not limited thereto. Furthermore, for ease of description, the accompanying drawings show only the parts relevant to the present invention, not the entire process.

[0062] Conversely, this application covers any alternatives, modifications, equivalent methods, and schemes made within the spirit and scope of this application as defined by the claims. Furthermore, to provide the public with a better understanding of this application, certain specific details are described in detail below. However, this application can be fully understood by those skilled in the art even without these detailed descriptions.

[0063] See Figure 1 The first aspect of this invention provides a method for autonomous collaboration among multiple robots, comprising the following steps:

[0064] Step S100: Build a communication network and configure a robot pool containing multiple robots. All robots share each other's basic configuration information. The robot pool selects at least one robot as a member to form the current work team according to the task objectives issued by the user. At least one robot in the current work team has perception capabilities.

[0065] Step S200: After the current work team enters the task environment, its members perceive the task environment information and monitor the task status in real time, obtain their respective local environment task status diagrams, and synchronize the local environment task status diagrams among the members through the communication network to update their respective local environment task status diagrams.

[0066] Step S300: Each member assesses the current working team's capabilities based on autonomous communication and multi-round negotiation mechanisms in response to the updated local environment task status diagram. Based on the assessment results, they determine whether to reorganize the team and / or decompose and allocate tasks, thereby updating the current working team and task decomposition and allocation plan. Each member then executes the corresponding tasks based on the updated plan.

[0067] Step S400: Repeat steps S200 to S300 until the task is completed.

[0068] In some embodiments, in step S100, the robot pool is configured outside the task environment, and the robots in the robot pool are either heterogeneous or homogeneous robots. Heterogeneous robots refer to robots with different performance parameters, including different structural parameters, model parameters, motion parameters, or sensor parameters; conversely, homogeneous robots are robots with completely identical performance parameters. The robots in the robot pool can be either intelligent robots with reasoning capabilities or ordinary robots that are rule-based and lack reasoning capabilities. The basic configuration information of the robots includes their performance parameters.

[0069] In one specific embodiment of this application, the robot pool contains the following four types of robots before task execution:

[0070] Mobile operational robots with AI, navigation, and operation capabilities (such as AlienGo, a quadruped robot launched by Unitree Robotics);

[0071] Precision operation robots with a wide range of robotic arm operation capabilities (such as Stretch, a robot designed specifically for warehousing and logistics by Boston Dynamics);

[0072] Cleaning robots specifically designed for cleaning tasks (such as the Cleaner robotic vacuum cleaner);

[0073] Transport robots with basic navigation and reasoning capabilities (such as compact reconfigurable automated robots, CARs).

[0074] Each robot maintains data interaction connections with the robot pool and other robots in the current work team through its own wireless communication module, supporting point-to-point communication and broadcasting mechanisms.

[0075] In addition, the robot pool is equipped with a wireless communication module and an AI model. The wireless communication module communicates with the communication network to respond to team reorganization plans, enabling the waking up or powering on and dispatching of robots currently in the pool, or recalling and powering off or putting into hibernation members of the current work team. The AI ​​model uses a large language model, and based on its task understanding and capability matching mechanism, it can perform intelligent reasoning and prediction even when the task objective is unclear. Furthermore, because members within the current work team interact with each other based on autonomous communication and multi-round negotiation mechanisms, the task objective received by the method of this invention does not need to be a clearly defined objective. It allows for user-issued instructions lacking task details. This allows the robot team to complete the task by continuously exploring the task environment, adjusting team composition and task assignment when details are lacking. If the user-issued task objective is clear, ideally, the AI ​​model can directly arrange the most reasonable initial work team configuration and division of labor. For example, "Please help me clean three rooms," without the user providing more task details, such as cleanliness level or room size. Based on this task objective, the AI ​​model in the robot pool can select three suitable robots as members of the initial work team.

[0076] In some embodiments, the communication network is built within the task environment via a wireless local area network (WLAN) to enable real-time information interaction and synchronization among members of the current work team. A dedicated Wi-Fi network is created by the robot pool. After connecting, team members communicate via ROS2's DDS or MQTT protocols, supporting multicast discovery, topic publishing and subscription, and enabling real-time synchronization of task status, perception data, and negotiation information. For example, in the "cleaning a two-bedroom apartment" task, AlienGo, Stretch, and Cleaner connect to the same LAN to collaboratively complete map building, area cleaning, and object grabbing tasks, maintaining low-latency communication and efficient collaboration throughout the process via the LAN. The specific process is as follows:

[0077] Network initialization: Once the robot pool determines the initial work team, the robot pool will uniformly assign a unique task identifier (Task ID) and communication channel to the team;

[0078] Local Area Network Setup: By deploying communication modules within the robot pool, a task-specific Wi-Fi network is created based on the Wireless Local Area Network (WLAN) protocol (such as IEEE 802.11) (either router mode or hotspot direct connection mode can be used);

[0079] Member joining: After receiving the task joining instruction, the awakened or dispatched robot accesses the communication network through the specified Wi-FiSSID and pre-shared key;

[0080] Identity registration and heartbeat maintenance: After successfully connecting, each robot needs to register its identity information, capability model and current status with the communication network, and maintain its online status through a periodic heartbeat mechanism;

[0081] Communication method: Team members use lightweight communication middleware such as ROS2 DDS (DataDistribution Service) or MQTT for data interaction, supporting topic publish / subscribe and service request / reply modes to ensure low-latency and highly reliable transmission of task status, perception data, control commands and negotiation messages;

[0082] Network fault tolerance: If a member loses contact or communication is interrupted, the communication anomaly detection mechanism will be triggered, and network resources will be reallocated or the team will be reorganized as needed.

[0083] In some embodiments, in step S200, members of the current work team are enabled to perceive task environment information and monitor task status in real time, thereby forming their respective multimodal local environment task state diagrams.

[0084] The task environment information includes, but is not limited to: structural information of the task execution space, such as the number, size, and layout of rooms; object information related to the task objective, such as the type and location of cleaning items and the spatial state of the target object; potential obstacles and operational constraints, such as slippery floors and crowded spaces; and dynamically changing information, such as the current location and status feedback of other members. Each robot acquires environmental perception data within its local field of view through its onboard sensors (e.g., depth camera, RGB camera, LiDAR, IMU, etc.) and encodes it into a structured state vector or task feature map. Specifically: it uses its onboard sensors to collect raw perception data and employs existing visual recognition and spatial mapping methods (e.g., YOLOv5, MaskR-CNN, ORB-SLAM, or PointNet++) to model the position, type, confidence level, and spatial layout of objects in the environment. The model output is encoded into a structured state vector (e.g., target ID, position coordinates, category label, confidence level) or a task feature map (e.g., nodes represent task objectives, edges represent spatial or operational dependencies) for subsequent task planning and team collaboration. The above-mentioned perception and encoding methods are all commonly used methods disclosed in this field, and those skilled in the art can directly call existing models and tools to implement the above functions.

[0085] Task status includes, but is not limited to: the current execution stage of the assigned task (subtask) (e.g., not started, in progress, completed), the current execution status of each member (e.g., busy, idle, abnormal), the completion mark of the task objective, whether the preset timeout threshold has been triggered, failure events that occur during task collaboration (e.g., object falling, path blocking), and whether there are any intermediate states that require adjustment of task strategy or reorganization of the team.

[0086] In some embodiments, in step S200, team members first acquire their own status, task execution progress, and environmental information in real time through onboard sensors, thereby constructing a local environmental task status map. They then periodically broadcast or synchronize their respective local environmental task status maps via a communication network to ensure all members have a consistent understanding of the current task status and provide data support for subsequent capability assessment and collaborative decision-making. To achieve effective and real-time communication, an asynchronous synchronization mechanism is adopted: each member uses their local clock to periodically upload their local environmental task status map, while simultaneously receiving and integrating information from other members, thereby updating their own local environmental task status map. Specifically, each member parses and integrates the local environmental task status map received through the communication network, combining it with their original local environmental task status map to construct a multimodal, hierarchical semantic task status map. This task status map is a spatial-semantic coupled structured graph used to uniformly represent the current task environment, target distribution, and member status, serving as input for subsequent capability assessment and collaborative planning. The specific update process includes the following steps:

[0087] Step S210, Node Extraction: Based on the task objective and information synchronized by other members, extract the following four types of semantic nodes:

[0088] T-Nodes (TaskNodes): Represent subtasks to be completed and their locations, such as "clean room A" or "move object B";

[0089] A-Nodes: Represent members who have joined the team, their current location, capability tags, and status information;

[0090] E-nodes (ExecutingNodes): Represent the binding relationship between the currently executing subtask and the executor;

[0091] U-Nodes (Unexplored Nodes): These represent areas or task points that have not yet been explored or for which information is insufficient, serving as a hint for areas that need to be explored later.

[0092] Step S220, Layer Division: Divide the local environment task state graph into three semantic layers:

[0093] Goal Layer: Includes all task nodes that are yet to be completed or are currently being executed;

[0094] Spatial Layer: Includes environmental spatial structural nodes such as rooms and corridors, as well as the spatial dependencies between tasks and the environment;

[0095] Agent Layer: Includes the nodes of team members and their perception, execution, and communication states;

[0096] Step S230, Edge Connection:

[0097] In the task layer, directed edges are established based on the dependency order between tasks (e.g., "clean first, then move").

[0098] In the spatial layer, undirected edges are established based on spatial adjacency relationships (such as "there is a passage between room A and room B");

[0099] In the agent layer, the robot node is connected to the task node it is responsible for through an edge, which represents the current task allocation status;

[0100] For nodes with unassigned tasks or regions to be explored, virtual edges are used to connect them to A-nodes or U-nodes to indicate scheduling requirements.

[0101] Step S240, Graph Fusion and Update: After each member has constructed their local environment task state graph, they synchronize the state changes through the communication network and perform graph merging (that is, merging their own local environment task state graph with the local environment task state graphs of other members obtained through the communication network) and deduplication operations to obtain an updated local environment task state graph. This updated local environment task state graph provides data support for subsequent capability assessment and collaboration.

[0102] The above-described update method is based on a task graph modeling and multi-robot state fusion framework (such as Semantic Graphs and Task Allocation Graphs) known in the art. It combines task semantics and spatial constraints, and has a clear structure, is scalable, and easy to reproduce. Those skilled in the art can implement the graph update of the embodiments of the present invention according to the above process.

[0103] In one specific embodiment of this application, the members of the current work team use a communication network to ensure that perceived information is effectively integrated among multiple members and that cognitive consistency is achieved. For example, in the task of cleaning a room:

[0104] AlienGo can identify the boundaries of room areas and the location of doorways;

[0105] Cleaner can identify the spatial distribution of water stains and dirt on the ground;

[0106] Stretch detects the position of objects at higher elevations;

[0107] Each member will publish information about the status of targets, obstacles, passages, and areas within their field of vision through the communication network;

[0108] Each member will process the received communication information and construct a multimodal local environment task state diagram.

[0109] In some embodiments, step S300 includes:

[0110] Step S310: Each member of the current work team will obtain self-evaluation information based on the updated local environment task status diagram, combined with their own capabilities (such as structural parameters, operating range, grasping type, navigation efficiency, etc.), and comprehensively consider the matching degree between the task requirement dimension and the robot capability dimension. When the member's self-evaluation information indicates that the member has the intention to communicate (i.e. needs to negotiate with one or more other members in the current work team), then proceed to step S320; otherwise, the member will continue to execute the currently assigned sub-task.

[0111] Step S320: Members with communication intentions send their self-assessment information to other relevant team members through the communication network, initiating a self-directed communication and multi-round negotiation process. In this process, communicating members compare information such as fit, execution efficiency, and task load to achieve one or a combination of negotiation goals:

[0112] If the current work team has capability bottlenecks, such as insufficient operational capabilities (e.g., no member has sufficient arm span or degrees of freedom to grasp objects at height; no member has the ability to coordinate or stably grasp large items with both arms; unable to complete tasks requiring delicate operations such as unscrewing bottle caps and plugging in power supplies; unable to perform actions requiring large torques such as opening and pushing doors; unable to complete tasks that grasp multiple objects simultaneously), lack of operational capabilities, limited navigation capabilities, or lack of perception capabilities, resulting in the inability to continue the task, then after multiple rounds of consultation, the consultation goal is to reorganize the team, recruit new members with matching capabilities from the robot pool (such as Stretch), and update the current task status;

[0113] If there is redundancy in the current work team members, such as a member who currently has no task assigned or is expected to have no task assigned, the negotiation goal is to mark the member as available for release, issue a "return" instruction to the robot pool, return the marked member to the robot pool, and update the current task status.

[0114] If the current task status changes, such as completing the cleaning of part of the room, the members of the current work team will discuss and break down the task again, divide the subsequent task objectives based on the updated local environment task status diagram, and redistribute them to the remaining team members.

[0115] During the negotiation process, tasks can be reassigned to members of the current work team and the negotiation process can be automatically terminated to ensure that the current work team can resume execution in a timely manner after reaching a consensus.

[0116] For example, during a room cleaning task, when team members identified that some areas of the floor were slippery and AlienGo was unable to effectively perform the cleaning task, and Cleaner had already left the current work team, the current work team, through autonomous communication and multiple rounds of consultation, recognized that there was a capacity gap in the current work team, and the current members took the initiative to initiate a request to recruit Cleaner again.

[0117] Further, see Figure 2 The autonomous communication and multi-round negotiation mechanism provided in this embodiment of the invention includes the following steps:

[0118] Step S321: Initialize the members with communication intentions into a waiting queue (e.g., the current work team contains members A, B, C, and D, and the initial waiting queue contains members A, B, and C), construct the communication preparation stage, and determine the initial set of members to participate in communication; wherein, when a member detects any one or a combination of the following situations, a communication intention is generated: new observation of the task environment, update of task-related information, update of the execution status of the task, prediction of the execution effect, etc. For example, in a room cleaning task, the robot may generate a communication intention to seek communication or help from other members because it discovers new stains, successfully completes the exploration of an area, or fails to grasp the items to be cleaned.

[0119] Step S322: Determine if there are any members in the queue to speak. If not, exit the current round of negotiation and each member continues to execute the currently assigned sub-task until one or more members generate a communication intention, and enter the next round of negotiation; if there are, proceed to step S323.

[0120] Step S323: The first member in the queue to be spoken (i.e., member A) is dequeued to become the current speaker. The current speaker creates communication content according to its communication intention and selects a receiver (e.g., member A selects members C and D as receivers) to send the communication content to them. The current speaker and the receiver update their respective local communication message records. When the receiver is not in the current speaking queue (e.g., member D is not in the queue to be spoken at this time), the receiver (i.e., member D) is added to the tail of the queue to be spoken (at this time, the queue to be spoken contains members B, C, and D) so that it may initiate communication later. Proceed to step S324.

[0121] Step S324: If the communication intent of the first member in the waiting queue disappears, remove him / her from the waiting queue (for example, when member C becomes the first member in the waiting queue, since member C has already received the communication content sent by member A, and the communication content contains content that can resolve member C's communication intent, member C's communication intent disappears, and member C is removed from the waiting queue), and return to step S322; if it does not disappear, return to step S323.

[0122] Further, in step S322, if there are members in the queue to be spoken, the first member of the queue is taken as the current speaker. The current speaker generates structured communication content based on the updated local environment task state graph and collaboration requirements, and determines the recipient range based on the message type: if it is a task request message (such as a collaboration request or capability supplementation), one or a few target members are selected as recipients; if it is a capability inquiry or information broadcast message, all or some members of the team are selected as recipients, using a broadcast mechanism. The current speaker can invoke its own deployed large language model to assist in determining the target recipients of the current message based on its own needs, the team capability model, and the updated local environment task graph structure. This determination can be based on the following information: the capability requirements of the target task, the current status of team members, spatial relationships, and historical task allocation records. If the current speaker has not deployed its own large language model, the same recipient selection logic can be achieved through task feature matching and capability filtering rules to ensure that the member negotiation process has a clear and executable communication path.

[0123] In some embodiments, during step S400, the current work team continuously repeats steps S200 to S300 at a fixed cycle or in an event-triggered manner until the task is completed. Each round of the perception-monitoring-negotiation-evaluation-re-perception process constitutes a complete collaboration cycle, and the team's status maintains continuity and adaptability between cycles.

[0124] It is understood that the multi-robot active collaboration method provided in this embodiment of the invention can automatically and comprehensively evaluate the team members' capabilities, task requirements, and changes in the task environment based on the synchronized team and environment information of each member. When insufficient team capabilities or redundant member resources are detected, the method can proactively decide whether to recruit new members from the robot pool or release redundant members based on task requirements and differences in member capabilities, thereby achieving dynamic optimization of the current work team structure. After the team members are adjusted, the overall task is automatically decomposed and reasonably allocated to each member based on the task objectives and member capability characteristics. When there are task changes or new tasks, the task allocation can also be adjusted in real time to maintain the optimal collaborative state of the team. Members autonomously perform operations according to the assigned tasks, and the member status, task progress, and environmental changes are continuously monitored. If the task cannot be completed on time or a failure occurs, the current work team automatically restarts the capability assessment, thereby achieving dynamic closed-loop management of task execution.

[0125] It is particularly important to note that existing multi-robot collaboration methods mainly rely on centralized scheduling or static polling task allocation mechanisms. Interactions between robots often employ sequential polling or fixed-power processes. When facing dynamic tasks and teams with heterogeneous capabilities, these methods are prone to negotiation deadlocks (e.g., multiple members waiting for responses while none actively advance) or frequent deviations from the core task due to a lack of contextual understanding, resulting in low negotiation efficiency and even collaboration failure. In contrast, the multi-robot autonomous collaboration method provided in this invention allows members within the current work team to exchange information and provide progress feedback during task execution through autonomous communication and multi-round negotiation mechanisms, offering the following significant advantages:

[0126] 1. Avoid deadlock and blind waiting: Each member can speak proactively based on the task status and their own needs. Through the queue mechanism and negotiation round control, structured and controllable multi-round interactions can be achieved, significantly reducing negotiation stagnation.

[0127] 2. Always focus communication on the core task: Combine the updated local environment task status diagram with the large model to help generate communication content, ensuring that the negotiation topics are closely related to the current decomposed tasks, and avoiding topic drift and ineffective discussions;

[0128] 3. Enhance the flexibility and adaptability of multi-robot systems: No central control node is required, and dynamic addition and removal of members are supported to adapt to the needs of real-time task changes in complex environments;

[0129] 4. Enhance the intelligence and efficiency of collaboration: Support advanced collaboration features such as semantic expression, capability matching, and task decomposition, enabling the negotiation process to be context-aware and goal-oriented.

[0130] Therefore, the communication and negotiation mechanism proposed in this invention effectively overcomes the problems of frequent deadlocks, divergent discussions, and rigid scheduling in existing solutions, and improves the stability, efficiency, and intelligent collaboration capabilities of multi-robot systems in complex collaborative tasks.

[0131] Furthermore, this invention can also support the access of robots of different types and capabilities, enabling collaborative operations on heterogeneous platforms and further expanding the application scope of multi-robot collaboration.

[0132] The following is a specific embodiment of the multi-robot autonomous cooperation method of the present invention:

[0133] In one specific embodiment of the present invention, the user issues a vague task objective to the multi-robot system: "Please help me tidy up this room." According to step S100, a robot pool containing multiple functional robots is first configured, including: Robot-A (e.g., AlienGo) with navigation and pushing capabilities, Robot-B (e.g., Stretch) with fine grasping capabilities, Robot-C (e.g., Cleaner) with cleaning capabilities, and Robot-Car (Transporter) with basic navigation and transportation capabilities. The communication module and deployed AI model within the robot pool analyze the task objective, identifying it as a "room tidying" task, and inferring that it may include sub-tasks such as "cleaning the floor," "moving obstacles," and "organizing the desktop." Since the user does not provide environmental details, the AI ​​model estimates the task space as a "two-bedroom, one-living room" structure, and accordingly selects Robot-A, Robot-C, and Robot-Car from the robot pool to form the current working team.

[0134] According to step S200, each member of the current working team activates their ontology perception module to perceive the local task environment. Robot-A perceives a desktop and low obstacles in the left area; Robot-C perceives that the ground in the upper right area is obscured by a stack of bottles; Robot-Car perceives that the path is clear but lacks fine-grained recognition capabilities. Each member broadcasts the local perception results through a communication network established via a wireless local area network, and by fusing the data from each member, they construct an updated local environment task state map.

[0135] In step S300, each member performs capability assessments and communication negotiations based on the updated local environment task status map. Robot-C first assesses that its cleaning area is obstructed by stacked bottles, making the task impossible to perform. Therefore, it proactively requests assistance from other members via broadcast through the communication network. After receiving the information, Robot-A assesses that while it can move the bottles, there is a risk of them tipping over due to limited space, and explicitly replies that it cannot safely complete the task. Robot-Car replies that it lacks the ability to grasp the bottles. After several rounds of negotiation, Robot-A, considering the task status and past experience, proactively suggests that the current team lacks high-degree-of-freedom operational capabilities and recommends recruiting Robot-B from the robot pool to assist. After the team reaches an agreement, Robot-B is activated from the robot pool via the communication network to join the current work team. After joining the current work team, Robot-B activates its grasping module, successfully grasping the stacked bottles sequentially and classifying them for placement in a safe area. Robot-C detects that the cleaning area has been restored and continues to complete the cleaning task. Robot-A handles obstacles in the left-side area, while Robot-Car assists in transporting lightweight items.

[0136] In step S400, during the task, team members continuously synchronize perception, update tasks, and negotiate capabilities through the communication network, autonomous communication, and multi-round negotiation mechanisms. They update task allocation and progress status in real time based on their respective local environment task status diagrams. Finally, the task is considered complete when all task nodes are marked as finished. The task log and collaboration status diagram are archived to each robot's memory module, and each member is recalled to the robot pool and switched to standby or hibernation mode.

[0137] This embodiment demonstrates the complete closed-loop execution process of the method of the present invention in a real-world task, showcasing its advantages in handling tasks involving ambiguous targets, dynamic scenarios, and collaborative tasks with members possessing heterogeneous capabilities. The method supports members initiating negotiation, identifying capability bottlenecks, and reorganizing the team. It also exhibits good semantic focus and collaborative stability, effectively avoiding communication deadlock and information redundancy, and realizing a highly adaptable and interpretable multi-robot proactive collaboration mechanism.

[0138] See Figure 3 A second aspect of the present invention provides a multi-robot autonomous collaborative system, comprising:

[0139] A robot pool contains multiple robots. The robot pool is configured to select at least one robot from the multiple robots as a member to form the initial current work team based on the task objectives issued by the user. At least one robot in the current work team has perception capabilities. All robots in the robot pool share each other's basic configuration information.

[0140] A communication network, configured in the task environment, is used to enable communication between members within the current work team and between the current work team and the robot pool;

[0141] The current work team is configured to evaluate its capabilities based on the updated local environment task state diagram generated during the task execution of each member and on an autonomous communication and multi-round negotiation mechanism, thereby forming a new current work team and task decomposition and allocation scheme. The robot pool responds to the new current work team scheme and forms a new current work team in the task environment. The updated local environment task state diagram is obtained by each member of the current work team merging their own local environment task state diagram with the local environment task state diagram synchronized with other members through the communication network.

[0142] In some embodiments, each robot is equipped with a memory module, an autonomous communication module, a perception module, a hierarchical execution module, and a state evaluation module; the functions and specific implementation processes of each module are described below:

[0143] 1. Memory Module

[0144] Function Description: Used to continuously record and retrieve key historical information during task execution, such as global awareness maps, state transitions, communication history, and task feedback, providing a basis for subsequent action adjustments and long-term collaboration strategies.

[0145] Specific implementation: Construct a task memory cache indexed by timestamps, including graph-structured state memory and language interaction logs; the graph-structured state memory includes a global perception graph and a task state graph, the task state graph includes records of each round of task planning, path selection, negotiation response and execution feedback; provide read / write interfaces for the perception module, execution module and its own large model to call.

[0146] 2. Selective Communication Module

[0147] Function Description: Enables robots to autonomously determine the timing, content, and target recipient of communication during task execution, achieving efficient and low-redundancy information exchange.

[0148] Specifically, the autonomous communication module determines whether it needs to speak based on the current task status diagram, robot capabilities, and collaborative context; it uses a large model (such as the GPT series) to embed the status into encoded input prompts to generate structured communication content; and based on a context matching strategy, it selects recipients (single or multiple) from the current work team and completes the transmission.

[0149] 3. Perception Module

[0150] Function Description: Acquire environmental data from the local field of view of the subject, identify task-related objects and spatial information, and provide input for task mapping and status assessment.

[0151] Specific implementation: The perception module includes multiple source sensors such as RGB camera, depth camera, LiDAR and IMU; it uses target recognition and semantic segmentation algorithms (such as YOLOv5+SAM) to detect object type and location; it constructs local raster map and instance segmentation map and synchronizes them to the global perception map.

[0152] 4. Hierarchical Execution Module

[0153] Function Description: Enables mapping from high-level task objectives to low-level action control, supporting continuous execution and interrupted recovery of complex tasks.

[0154] Specific implementation: Tasks are represented by natural language input or structured instructions (such as "clean up the desktop"), and decomposed into sub-skill chains through LLM or FSM; mid-level skills call specific modules (such as grasp, navigate, push) to form an ordered execution plan; the bottom-level control interfaces with the ROS controller, grab action planner and mobile navigation module to realize physical actions; it supports the organization of plans using behavior tree structure and has failure recovery and dynamic replacement functions.

[0155] 5. State Evaluation Module

[0156] Function Description: Analyzes robot execution status, task completion rate, and environmental changes in real time to determine whether negotiation is triggered or if additional capabilities are needed.

[0157] Specific implementation: The sources include: task success marker, object state detection, time limit exceeded, and failure marker (such as graspfailure); based on the state graph node information and perception results, the current task progress is updated; if an anomaly or bottleneck is detected (such as insufficient capability or target loss), the state marker is synchronized to the communication module to initiate negotiation; it supports linkage with the memory module to realize behavior mode adjustment.

[0158] It should be noted that the foregoing explanation of the embodiments of the multi-robot autonomous collaboration method also applies to the multi-robot autonomous collaboration system of this embodiment, and will not be repeated here.

[0159] In summary, this embodiment fully demonstrates the entire process of the present invention in a real-world complex environment, from task setting, team initialization, collaborative execution to dynamic reorganization and system closed-loop control. Through the specific design and module implementation described above, those skilled in the art can directly reproduce the technical solution of the present invention and achieve efficient autonomous collaboration of heterogeneous multi-robot systems.

[0160] The embodiments and / or implementation methods described above are merely preferred embodiments and / or implementation methods for implementing the technology of the present invention, and are not intended to limit the implementation methods of the technology of the present invention in any way. Any person skilled in the art can make some modifications or alterations to other equivalent embodiments without departing from the scope of the technical means disclosed in the content of the present invention, but they should still be regarded as the technology or embodiments that are substantially the same as the present invention.

[0161] This document uses specific examples to illustrate the principles and implementation methods of this application. The descriptions of the above embodiments are only for the purpose of helping to understand the methods and core ideas of this application. The above descriptions are only preferred embodiments of this application. It should be noted that due to the limitations of written expression, while there are objectively infinite specific structures, those skilled in the art can make several improvements, modifications, or changes without departing from the principles of this application, and can also combine the above technical features in an appropriate manner. These improvements, modifications, changes, or combinations, or the direct application of the inventive concept and technical solution to other situations without modification, should all be considered within the scope of protection of this application.

Claims

1. A method for autonomous collaboration among multiple robots, characterized in that, include: Step S100: Build a communication network and configure a robot pool containing multiple robots. All robots share each other's basic configuration information. The robot pool selects at least one robot as a member to form the current work team based on the task objectives issued by the user. Step S200: After the current work team enters the task environment, its members perceive the task environment information and monitor the task status in real time, obtain their respective local environment task status diagrams, and synchronize the local environment task status diagrams among the members through the communication network to update their respective local environment task status diagrams. Step S300: Each member assesses the current team's capabilities based on autonomous communication and multi-round negotiation mechanisms in response to the updated local environment task status diagram. Based on the assessment results, they determine whether to reorganize the team and / or decompose and allocate tasks, thereby updating the current team and task decomposition and allocation plan. Each member then executes the assigned sub-tasks based on the updated plan. The autonomous communication and multi-round negotiation mechanism includes: Step S321: Initialize the members with communication intentions into a queue to be spoken; Step S322: Determine if there are any members in the queue to be spoken. If not, exit the current round of negotiation and each member continues to execute the currently assigned sub-task until one or more members generate a communication intention, and enter the next round of negotiation; if there are, proceed to step S323. Step S323: The first member in the queue to be spoken is dequeued as the current speaker. The current speaker creates communication content according to its communication intent and selects a receiver to send the communication content to. The current speaker and the receiver update their respective local communication message records. When the receiver is not in the current speaking queue, the receiver is added to the tail of the queue to be spoken, and then proceed to step S324. Step S324: If the communication intent of the first member in the waiting queue disappears, remove him / her from the waiting queue and return to step S322; if he / she does not disappear, return to step S323.

2. The multi-robot autonomous cooperation method according to claim 1, characterized in that, The robot pool is configured outside the task environment, and the robots in the robot pool are either heterogeneous or homogeneous. Each robot communicates with the robot pool and other members of the current work team through its own wireless communication module, supporting point-to-point communication and broadcasting mechanisms.

3. The multi-robot autonomous cooperation method according to claim 1, characterized in that, The robot pool is equipped with an AI model. For clear or vague task objectives issued by the user, the AI ​​model selects members to build an initial current work team based on task understanding and ability matching.

4. The multi-robot autonomous cooperation method according to claim 1, characterized in that, The task environment information perceived by the members includes structural information of the task execution space, object information related to the task objective, potential obstacles and operational constraints, and information on dynamic changes; The real-time monitoring of task status by members includes the current execution stage of the assigned task, the current execution status of the member, the completion marker of the task objective, whether the preset timeout threshold has been triggered, failure events that occur during task collaboration, and whether there are any intermediate states that require adjustment of task strategies or reorganization of the team.

5. The multi-robot autonomous cooperation method according to claim 1, characterized in that, Each member uses a local clock as a driving force to periodically upload the local environment task status graph, while simultaneously receiving and integrating information from other members, thereby updating their respective local environment task status graph.

6. The multi-robot autonomous cooperation method according to claim 1, characterized in that, The updated local environment task state diagram is a multimodal, hierarchical semantic task state diagram, and the update process includes: Step S210, Node Extraction: Based on the task objective and information synchronized by other members, extract the following four types of semantic nodes: T-node: Represents the subtask to be completed and its location; A-node: Represents members who have joined the team, their current location, ability tags, and status information; E-node: Represents the binding relationship between the currently executing subtask and its executor; U-node: Represents an area or task point that has not yet been explored or for which information is insufficient, used to indicate areas that need to be perceived later; Step S220, Layer Division: Divide the local environment task state graph into three semantic layers: Task layer: Includes all task nodes that are pending completion or currently being executed; Spatial layer: includes environmental spatial structure nodes, as well as the spatial dependency relationship between tasks and the environment; Agent layer: includes team member nodes and their perception, execution, and communication states; Step S230, Edge Connection: In the task layer, directed edges are established based on the dependency order between tasks; In the spatial layer, undirected edges are established based on spatial adjacency relationships; In the proxy layer, member nodes are connected to the task nodes they are responsible for through edges, representing the current task allocation status; For nodes with unassigned tasks or regions to be explored, virtual edges are used to connect them to A-nodes or U-nodes to indicate scheduling requirements; Step S240, Graph Fusion and Update: After each member has constructed the environment task state graph, they synchronize the state changes through the communication network and perform graph merging and deduplication operations to obtain an updated local environment task state graph.

7. The multi-robot autonomous cooperation method according to claim 1, characterized in that, Step S300 includes: Step S310: Each member of the current work team, based on the updated local environment task status diagram and their own capabilities, comprehensively considers the matching degree between the task requirement dimension and the robot capability dimension to obtain the self-assessment information of each member. When the self-assessment information of a member indicates that the member has the intention to communicate, then proceed to step S320; otherwise, the member will continue to execute the currently assigned sub-task. Step S320: Members with communication intentions send their self-evaluation information to other relevant members through the communication network, entering an autonomous communication and multi-round negotiation process. In this process, members communicating with each other will compare their fit, execution efficiency, and task load information to achieve one or a combination of the following negotiation objectives: When the current work team has a capacity bottleneck, the team is reorganized, new members with matching capabilities are recruited from the robot pool, and the current task status is updated; When there is redundant member resources in the current work team, mark the member as releasable, return the marked member to the robot pool, and update the current task status; When the current task status changes, each member divides the subsequent task objectives based on their updated local environment task status diagram and reassigns them to the corresponding members.

8. The multi-robot autonomous cooperation method according to claim 7, characterized in that, The member generates the communication intent when it detects any one or a combination of the following: new observations of the task environment, updates to task-related information, updates to the status of task execution, and predictions of the effectiveness of task execution.

9. A multi-robot autonomous collaborative system, characterized in that, include: A robot pool contains multiple robots. The robot pool is configured to select at least one robot from the multiple robots as a member to form an initial current work team based on the task objectives issued by the user. All robots in the robot pool share each other's basic configuration information. A communication network, configured in the task environment, is used to enable communication between members within the current work team and between the current work team and the robot pool; The current work team is configured to evaluate its capabilities based on the updated local environment task state diagram formed during the task execution of each member and on an autonomous communication and multi-round negotiation mechanism, thereby forming a new current work team and task decomposition and allocation scheme. The robot pool responds to the new current work team scheme and forms a new current work team in the task environment. The updated local environment task state diagram is obtained by each member of the current work team merging their own local environment task state diagram with the local environment task state diagram synchronized with other members through the communication network. The autonomous communication and multi-round negotiation mechanism includes: Step S321: Initialize the members with communication intentions into a queue to be spoken; Step S322: Determine if there are any members in the queue to be spoken. If not, exit the current round of negotiation and each member continues to execute the currently assigned sub-task until one or more members generate a communication intention, and enter the next round of negotiation; if there are, proceed to step S323. Step S323: The first member in the queue to be spoken is dequeued as the current speaker. The current speaker creates communication content according to its communication intent and selects a receiver to send the communication content to. The current speaker and the receiver update their respective local communication message records. When the receiver is not in the current speaking queue, the receiver is added to the tail of the queue to be spoken, and then proceed to step S324. Step S324: If the communication intent of the first member in the waiting queue disappears, remove him / her from the waiting queue and return to step S322; if he / she does not disappear, return to step S323.

Citation Information

Patent Citations

  • Large model and knowledge graph linkage multi-robot collaborative assembly system and method

    CN119644933A

  • Method for adaptively role-selection in coordinated multi-robot search task and system thereof

    US12306643B1