A method and device for robot cluster cooperative collision avoidance for power system inspection
Patent Information
- Application Number
- CN202511305962.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-12
- Publication Date
- 2026-09-22
- Estimated Expiration
- 2045-09-12
AI Technical Summary
然而,机器人集群协同作业的物理环境与任务逻辑复杂(涉及多类型机器人、交叉路径与动态任务),仅依靠固定的优先级规则进行避撞裁决,当遭遇局部交通拥堵或动态任务交织的复杂情况时,可能存在这样的风险:低优先级机器人因持续被阻塞而无法及时释放通道,进而阻碍高优先级机器人的移动;同时,低优先级机器人又因须等待高优先级机器人通行而无法启动
通过让集群内的机器人实时广播各自状态,为动态决策提供了必要的信息基础;根据任务的预设优先级、碰撞的紧迫程度以及历史机动频率这三个维度动态计算协商优先级。其中,紧迫程度的引入能够临时提高处于关键位置或危险状态的低优先级机器人的通行权,从而主动打破相互等待的僵局;而历史机动频率的引入则作为一种调节机制,对在拥堵区域中频繁机动的机器人进行优先级抑制,以鼓励更稳定的全局路径规划,避免局部混乱演变成连锁拥堵。通过预设的裁决与验证规则对基于该动态优先级的决策结果进行最终分配,确保了方案的安全性。通过这种动态、多维度的协商优先级计算与裁决机制,有效解决了固定优先级引发的拥堵风险,显著提升了整个机器人集群的通行效率。
Smart Images

Figure CN121165716B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of swarm intelligence technology, and in particular to a method and apparatus for collaborative collision avoidance by a swarm of robots for power system inspection. Background Technology
[0002] With the intelligent development of power systems, the use of robot swarms for unmanned and automated inspections of facilities such as substations and transmission lines has become an important trend. The power inspection environment has its unique characteristics. On the one hand, inspection paths are usually fixed and the space is narrow, limiting the robot's range of movement; on the other hand, inspection tasks are time-sensitive and unpredictable, often requiring multiple robots to perform high-density, cross-functional collaborative operations around critical equipment. Against this backdrop, designing an efficient collaborative collision avoidance method is a key technology to ensure the safe and stable completion of inspection tasks by robot swarms.
[0003] Existing robot swarm collaborative collision avoidance schemes typically rely on fixed, task-type-based preset priorities for adjudication, determining right-of-way and avoidance actions by comparing priority values. However, the physical environment and task logic of robot swarm collaborative operations are complex (involving multiple robot types, intersecting paths, and dynamic tasks). Relying solely on fixed priority rules for collision avoidance adjudication may pose risks when encountering complex situations such as localized traffic congestion or intertwined dynamic tasks. These risks include: low-priority robots being continuously blocked and unable to release their passage in time, thus hindering the movement of high-priority robots; simultaneously, low-priority robots being unable to start because they must wait for high-priority robots to pass. This mutual waiting situation can trigger a chain reaction of congestion, ultimately reducing the overall efficiency of the robot swarm. Summary of the Invention
[0004] In view of this, this application provides a method and apparatus for collaborative collision avoidance of robot swarms for power system inspection, in order to solve the above problems.
[0005] Firstly, a collaborative collision avoidance method for robot swarms in power system inspection is provided. This method, applied to robot swarms, includes: Establish a motion characteristic model library for each robot in the robot cluster, and generate a maneuver library for each robot based on the motion characteristic model library. The maneuver library includes multiple collision avoidance maneuvers with preset computational costs. Based on the motion state and planned path of each robot, a status data packet is generated and broadcast within the robot cluster through a preset communication network. Based on state data packets, potential collisions between any two or more robots in the robot cluster are identified, and all robots with potential collisions are grouped into a temporary decision group. The conflicting robots are the robots in the robot cluster. Within the temporary decision-making group, intent proposals are determined from the maneuver library corresponding to each conflict robot. The intent proposals are collision avoidance maneuvers that can resolve potential collision conflicts and have the lowest computational cost. Based on the preset priority of each conflict robot's task, the urgency of potential collision conflicts, and the historical maneuver frequency of each conflict robot, a negotiation priority is calculated and generated. The historical maneuver frequency is the number of collision avoidance maneuvers performed per unit time. The system broadcasts intent proposals and negotiates priorities, compares the negotiation priorities, generates a set of candidate cooperative collision avoidance actions, performs simulation verification on the candidate cooperative collision avoidance action sets, and assigns cooperative collision avoidance actions to each conflicting robot based on the verified candidate cooperative collision avoidance action sets.
[0006] The above technical solution provides the necessary information foundation for dynamic decision-making by enabling robots in the cluster to broadcast their individual statuses in real time. It dynamically calculates negotiation priorities based on three dimensions: the preset priority of the task, the urgency of collisions, and historical maneuver frequency. The introduction of urgency temporarily increases the right-of-way for low-priority robots in critical positions or dangerous situations, proactively breaking the deadlock of mutual waiting. The introduction of historical maneuver frequency acts as a regulatory mechanism, suppressing the priority of robots that frequently maneuver in congested areas to encourage more stable global path planning and prevent local chaos from escalating into chain congestion. The final allocation of decisions based on this dynamic priority is ensured through preset adjudication and verification rules. This dynamic, multi-dimensional negotiation priority calculation and adjudication mechanism effectively solves the congestion risk caused by fixed priorities and significantly improves the overall traffic efficiency of the robot cluster.
[0007] Optionally, a motion characteristic model library is established for each robot in the robot cluster, and a motion library is generated for each robot based on the motion characteristic model library. Specifically, this includes: obtaining the motion parameters of each robot and establishing a motion characteristic model library based on the motion parameters; based on the motion parameters, converting the preset collision avoidance motion templates into specific motion actions that match the motion characteristics of each robot to obtain the motion library; estimating the increase in travel time, increase in energy consumption, and path deviation when executing each collision avoidance motion in the motion library, and normalizing the increase in travel time, increase in energy consumption, and path deviation; and weighting the normalized increase in travel time, normalized increase in energy consumption, and normalized path deviation according to preset weights to obtain the computational cost, and associating the computational cost with the collision avoidance motion.
[0008] The above technical solutions, through specific limitations on the generation method of the maneuver library and the quantification of computational costs, bring about significant technical improvements. By combining motion templates with the unique motion parameters of each robot, the generated maneuver library is highly personalized and feasible, ensuring that collision avoidance actions conform to the actual motion capabilities of each robot. By normalizing and weighting multi-dimensional indicators such as travel time, energy consumption, and path deviation, an objective, flexible, and configurable cost evaluation system is established, enabling the system to make optimal maneuver selections based on different task requirements (such as pursuing timeliness or energy saving), thereby improving the precision and intelligence of decision-making.
[0009] Optionally, a motion characteristic model library can be established based on motion parameters. Specifically, this includes: filling the motion parameters corresponding to each robot into a preset data structure template to generate parameter records. The data structure template contains multiple data fields, which are used to store the motion parameters of each robot; and summarizing the parameter records corresponding to each robot to generate a motion characteristic model library.
[0010] The above technical solution, by clearly defining the construction method of the motion characteristic model library, provides a standardized structure for the data management of the entire system. By using standardized data structure templates to record and summarize the motion parameters of each robot, the regularity, consistency, and scalability of the underlying data are ensured. This systematic data organization method not only improves the efficiency and reliability of data access but also provides a high-quality data foundation for subsequent calculations such as motion library generation and trajectory prediction, thereby enhancing the stability and maintainability of the entire collision avoidance system.
[0011] Optionally, based on the state data packet, potential collisions between any two or more robots in the robot cluster are identified, and all robots with potential collisions are grouped into a temporary decision group. Specifically, this includes: generating a sequence of future trajectory points for each robot within a preset time period based on the motion state and planned path in the state data packet, wherein the preset time period is divided into multiple discrete time steps; calculating the spatial distance between any two robots in the robot cluster based on the corresponding future trajectory point sequence at each discrete time step; if, at any discrete time step, the spatial distance is less than a preset safety threshold, then a potential collision is determined between the two robots corresponding to the spatial distance, and all robots with potential collisions are grouped into a temporary decision group.
[0012] The above technical solution specifically defines the identification process for potential collisions, realizing a proactive risk prediction mechanism. By discretizing future time periods and predicting and calculating the spatial distance between robots step by step, conflict identification is transformed from a passive, reactive response to an active, pre-emptive prediction. This method can detect collision risks in advance, gaining valuable time windows for subsequent negotiation and decision-making, allowing collision avoidance maneuvers to be executed more smoothly and calmly, avoiding violent maneuvers due to insufficient reaction time, thereby significantly improving the stability and safety of swarm flight.
[0013] Optionally, based on the motion state and planned path in the state data packet, a sequence of future trajectory points within a preset time period is generated for each robot. Specifically, this includes: using the current position, current velocity, and current acceleration of the target robot's corresponding motion state as initial conditions, where the target robot is any robot in the robot cluster; at each discrete time step, combining the initial conditions and the planned path, calculating the target robot's future trajectory points using a preset kinematic formula; and combining the future trajectory points calculated at each discrete time step in chronological order to obtain the sequence of future trajectory points of the target robot within the preset time period.
[0014] The above technical solutions further refine the method for generating future trajectory points, providing a solid physical foundation for trajectory prediction. By combining the robot's current complete motion state (position, velocity, acceleration) with preset kinematic formulas, the prediction of future trajectories becomes more accurate and conforms to physical laws, achieving higher fidelity compared to simple linear extrapolation. This high-precision trajectory prediction directly improves the accuracy of collision detection, effectively reducing false alarms (unnecessary avoidance) and missed alarms (dangerous collisions), making the entire system more efficient and reliable.
[0015] Optionally, a negotiation priority is calculated and generated based on the preset priority of each conflict robot's task, the urgency of potential collision conflicts, and the historical maneuver frequency of each conflict robot. Specifically, this includes: multiplying the preset priority value by a first preset weighting coefficient to obtain a first weighted value; determining the urgency based on the reciprocal of the estimated collision time between conflict robots, and multiplying the value corresponding to the urgency by a second preset weighting coefficient to obtain a second weighted value; determining the historical maneuver frequency by dividing the number of times each robot performed collision avoidance maneuvers within a past preset time window by the duration of the time window, and multiplying the value corresponding to the historical maneuver frequency by a third preset weighting coefficient to obtain a third weighted value; and adding the first weighted value and the second weighted value, and subtracting the third weighted value to obtain the negotiation priority.
[0016] The above technical solution defines the core intelligence of the entire collaborative decision-making process by clarifying the specific calculation method for negotiation priorities. A multi-dimensional, quantitative decision-making model integrating task importance, immediate danger, and historical behavior stability is established. This model integrates three variables for calculation: the preset priority representing task importance, the urgency representing immediate danger, and the historical maneuver frequency representing historical behavior stability. In this model, the historical maneuver frequency has a negative impact on the final priority value, thus ensuring that the final priority ranking depends not only on task importance and collision danger but also on the robot's historical operating state. This transforms conflict resolution from a simple physical avoidance into an intelligent game that integrates multiple factors, significantly improving the rationality of swarm behavior and overall task efficiency.
[0017] Optionally, the negotiation priorities are compared to generate a candidate set of cooperative collision avoidance actions. The candidate set of cooperative collision avoidance actions is then simulated and verified. Cooperative collision avoidance actions are assigned to each conflicting robot based on the verified candidate set of actions. Specifically, this includes: obtaining an initial priority ranking by comparing the negotiation priorities of each conflicting robot; if there are cases of identical negotiation priorities in the initial priority ranking, a final priority ranking is determined based on a preset identifier; based on the final priority ranking, the conflicting robot with the highest ranking is identified as the passing party, and all conflicting robots in the temporary decision group except the one with the highest ranking are identified as the yielding party; a set of candidate cooperative collision avoidance actions is generated, including actions assigned to the passing party to maintain its planned path and corresponding intent proposals assigned to each yielding party; the future trajectory of each conflicting robot after executing the corresponding actions in the candidate set of cooperative collision avoidance actions is simulated, and the existence of new potential collision conflicts between the yielding parties is detected based on the future trajectory; if the detection result indicates that no new potential collision conflicts exist, cooperative collision avoidance actions are assigned to each conflicting robot according to the candidate set of actions.
[0018] The above technical solution ensures the uniqueness and certainty of the decision through explicit tie-breaking rules; it introduces a candidate action set and verification simulation mechanism to construct a secure closed loop of proposal-verification. This mechanism ensures that the final allocation scheme is globally conflict-free, fundamentally solving the security risks of the traditional "highest priority first" strategy in multi-person conflict scenarios, and significantly improving the reliability of this method under complex conflict conditions.
[0019] Secondly, a collaborative collision avoidance system for robot swarms used in power system inspection is provided. The system includes a model generation module, a conflict recognition module, a priority generation module, and an action allocation module, wherein: The model generation module is configured to build a motion characteristic model library for each robot in the robot cluster, and generate a maneuver library for each robot based on the motion characteristic model library. The maneuver library includes multiple collision avoidance maneuvers with preset computational costs. The conflict identification module is configured to generate status data packets based on the motion state and planned path of each robot, and broadcast the status data packets within the robot cluster through a preset communication network. The conflict identification module is also configured to identify potential collisions between any two or more robots in the robot cluster based on state data packets, and to form a temporary decision group of all robots with potential collisions, wherein the conflicting robots are robots in the robot cluster. The priority generation module is configured to determine intent proposals from the maneuver library corresponding to each conflicting robot within the temporary decision group. The intent proposals are collision avoidance maneuvers that can resolve potential collision conflicts and have the lowest computational cost. The priority generation module is also configured to calculate and generate negotiation priorities based on the preset priority of each conflict robot's task, the urgency of potential collision conflicts, and the historical maneuver frequency of each conflict robot. The historical maneuver frequency is the number of times collision avoidance maneuvers are performed per unit time. The action allocation module is configured to broadcast intent proposals and negotiate priorities, compare the negotiated priorities, generate candidate cooperative collision avoidance action sets, perform simulation verification on the candidate cooperative collision avoidance action sets, and assign cooperative collision avoidance actions to each conflicting robot based on the verified candidate cooperative collision avoidance action sets.
[0020] A third aspect of this application provides an electronic device including a processor, a memory, a user interface, and a network interface, wherein the memory is used to store instructions, the user interface and the network interface are both used to communicate with other devices, and the processor is used to execute the instructions stored in the memory to cause the electronic device to perform the method as described in any of the foregoing.
[0021] A fourth aspect of this application provides a computer-readable storage medium storing instructions that, when executed, perform the method described in any of the preceding descriptions.
[0022] In summary, implementing one or more technical solutions provided in this application has at least the following technical effects or advantages: By enabling robots within the cluster to broadcast their individual states in real time, a necessary information foundation is provided for dynamic decision-making. Negotiation priorities are dynamically calculated based on three dimensions: the preset priority of the task, the urgency of collisions, and historical maneuver frequency. The introduction of urgency temporarily increases the right-of-way for low-priority robots in critical positions or dangerous situations, proactively breaking the deadlock of mutual waiting. The introduction of historical maneuver frequency acts as a regulatory mechanism, suppressing the priority of robots that frequently maneuver in congested areas, encouraging more stable global path planning and preventing local chaos from escalating into chain congestion. The final allocation of decisions based on this dynamic priority is ensured through preset adjudication and verification rules. This dynamic, multi-dimensional negotiation priority calculation and adjudication mechanism effectively solves the congestion risk caused by fixed priorities and significantly improves the overall traffic efficiency of the robot cluster. Attached Figure Description
[0023] Figure 1 This is an exemplary system architecture diagram of a robot swarm cooperative collision avoidance method or a robot swarm cooperative collision avoidance system for power system inspection, which applies the present application. Figure 2 This is a flowchart illustrating a robot swarm cooperative collision avoidance method for power system inspection in an embodiment of this application. Figure 3 This is a schematic diagram of a robot swarm cooperative collision avoidance system for power system inspection in an embodiment of this application; Figure 4 This is a schematic diagram of the structure of an electronic device disclosed in the application embodiment.
[0024] Explanation of reference numerals in the attached figures: 100, System architecture; 101, First terminal device; 102, Second terminal device; 103, Third terminal device; 104, Network; 105, Server; 301, Model generation module; 302, Conflict identification module; 303, Priority generation module; 304, Action allocation module; 401, Processor; 402, Communication bus; 403, User interface; 404, Network interface; 405, Memory. Detailed Implementation
[0025] To enable those skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of this specification will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments.
[0026] In the description of the embodiments of this application, the words "for example" or "for instance" are used to indicate examples, illustrations, or explanations. Any embodiment or design that is described as "for example" or "for instance" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design options. Rather, the use of the words "for example" or "for instance" is intended to present the relevant concepts in a specific manner.
[0027] In the description of the embodiments of this application, the term "multiple" means two or more. For example, multiple systems means two or more systems, and multiple screen terminals means two or more screen terminals. Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the indicated technical features. Thus, a feature defined with "first" or "second" may explicitly or implicitly include one or more of that feature. The terms "comprising," "including," "having," and variations thereof all mean "including but not limited to," unless otherwise specifically emphasized.
[0028] Figure 1 An exemplary system architecture diagram is shown, illustrating an embodiment of a robot swarm cooperative collision avoidance method or a robot swarm cooperative collision avoidance system for power system inspection, to which this application can be applied.
[0029] like Figure 1 As shown, the system architecture 100 may include a first terminal device 101, a second terminal device 102, a third terminal device 103, a network 104, and a server 105. The network 104 is used as a medium to provide communication links between the terminal devices 101, 102, 103, and the server 105. The network 104 may include various connection types, such as wired or wireless communication links or fiber optic cables, etc.
[0030] Users can use terminal devices 101, 102, and 103 to interact with server 105 via network 104 to receive or send messages, etc. Various communication client applications can be installed on terminal devices 101, 102, and 103, such as model training applications, video recognition applications, web browser applications, social platform software, etc.
[0031] Terminal devices 101, 102, and 103 can be either hardware or software. When terminal devices 101, 102, and 103 are hardware, they can be various electronic devices with displays, including but not limited to smartphones, tablets, e-book readers, MP3 (Moving Picture Experts Group Audio Layer III) players, MP4 (Moving Picture Experts Group Audio Layer IV) players, laptops, and desktop computers, etc. When terminal devices 101, 102, and 103 are software, they can be installed in the aforementioned electronic devices. They can be implemented as multiple software programs or software modules (e.g., multiple software programs or software modules used to provide distributed services) or as a single software program or software module. No specific limitations are imposed here.
[0032] When terminals 101, 102, and 103 are hardware devices, video capture devices can also be installed on them. These video capture devices can be various devices capable of capturing video, such as cameras, sensors, etc. Users can use the video capture devices on terminals 101, 102, and 103 to capture video.
[0033] Server 105 can be a server that provides various services, such as a backend server for processing data displayed on terminal devices 101, 102, and 103. The backend server can analyze and process the received data and can feed back the processing results (such as recognition results) to the terminal devices.
[0034] It should be noted that a server can be either hardware or software. When the server is hardware, it can be implemented as a distributed server cluster consisting of multiple servers, or as a single server. When the server is software, it can be implemented as multiple software programs or software modules (e.g., multiple software programs or software modules used to provide distributed services), or as a single software program or software module. No specific limitations are made here.
[0035] It should be understood that Figure 1 The number of terminal devices, networks, and servers shown is merely illustrative. Depending on implementation needs, any number of terminal devices, networks, and servers can be included. In particular, if the target data does not need to be obtained remotely, the above system architecture may exclude the network and include only terminal devices or servers.
[0036] Figure 2This is a flowchart illustrating a robot swarm cooperative collision avoidance method for power system inspection, as described in this application. This method can be implemented using a computer program, a microcontroller, or run on a robot swarm cooperative collision avoidance system for power system inspection. The computer program can be integrated into the application or run as a standalone utility application. The specific steps of the robot swarm cooperative collision avoidance method for power system inspection are described in detail below.
[0037] S201: Establish a motion characteristic model library for each robot in the robot cluster, and generate a maneuver library for each robot based on the motion characteristic model library. The maneuver library includes multiple collision avoidance maneuvers with preset computational costs.
[0038] For example, by filling each robot's motion parameters, including maximum speed and minimum turning radius, into a standardized data structure template to generate its own parameter records, and then summarizing all records, a motion characteristic model library is established to centrally describe the unique physical capabilities of each robot. Based on this model library, a general collision avoidance maneuver template is combined with each robot's unique motion parameters to transform it into a series of executable maneuvers specific to that robot, constituting its maneuver library. To quantitatively evaluate each action in the maneuver library, the system estimates the impact of each action on travel time, energy consumption, and path deviation. After normalizing these three dimensions, a weighted calculation is performed according to preset weights to obtain a comprehensive computational cost. This computational cost is then associated with the corresponding maneuver, so that each action in the maneuver library comes with a clear, quantified cost that can be directly invoked by the subsequent decision-making system.
[0039] In one possible implementation, a motion characteristic model library is established for each robot in the robot swarm, and a maneuver library is generated for each robot based on the motion characteristic model library. Specifically, this includes: acquiring the motion parameters of each robot and establishing the motion characteristic model library based on the motion parameters; based on the motion parameters, converting preset collision avoidance maneuver templates into specific maneuvers that match the motion characteristics of each robot, thus obtaining the maneuver library; estimating the increase in travel time, increase in energy consumption, and path deviation for each collision avoidance maneuver in the maneuver library during execution, and normalizing the increase in travel time, increase in energy consumption, and path deviation; and weighting the normalized increase in travel time, increase in energy consumption, and path deviation according to preset weights to obtain the computational cost, and then associating the computational cost with the collision avoidance maneuver.
[0040] In this application embodiment, computational cost refers to a comprehensive numerical indicator used to quantitatively evaluate the cost required for a robot to perform a specific collision avoidance maneuver. This indicator is not a single dimension, but rather integrates multiple key factors affecting task efficiency and energy consumption. The numerical value intuitively reflects the superiority or inferiority of different collision avoidance schemes. For example, a maneuver with a computational cost of 0.8 may mean that it will significantly increase the flight time, while another maneuver with a cost of 0.2 indicates that it has a smaller impact on the original plan.
[0041] Specifically, key motion parameters of each robot in the robot swarm are acquired. These parameters may include maximum speed, maximum acceleration, maximum turning angular velocity, and minimum turning radius. These parameters are used to build a structured motion characteristic model library to accurately describe the physical motion capabilities of each robot. Based on the unique motion parameters of each robot, preset, abstract collision avoidance maneuver templates are transformed into a series of specific, executable maneuvers, forming a maneuver library specific to that robot. A collision avoidance maneuver template can be a data structure or function with undetermined parameters. For example, a turning template can be defined as `Maneuver(type, direction, radius, speed)`, where `Maneuver` is the template name; `type` defines the basic category of the maneuver, indicating what macroscopic action the robot needs to perform; for example, the value of this parameter can be `turn`, `climb`, `descend`, or `decelerate`; `direction` defines the directionality of the maneuver, and this parameter takes effect when the action has a direction. For example, for turning actions, this parameter can be left or right; radius is used to define a key quantitative indicator for a specific type of maneuver. For example, for turning actions, this parameter represents the turning radius (in meters). When generating specific actions based on this template, the value of this parameter is limited by the robot's own minimum turning radius; speed is used to define the speed at which the maneuver is performed. For example, for turning actions, it represents the target flight or travel speed during the turn (in meters per second). Similarly, the value of this parameter is also constrained by the robot's motion capability model; for example, it cannot exceed its safe speed limit at a specific turning radius. For example, a general template for left avoidance might be transformed into a sharp turn for a highly maneuverable drone, while for a large ground robot, it might be transformed into a turning action with a larger radius and a gentler curve. To achieve quantitative comparison of actions in the maneuver library, a cost estimate needs to be made for each specific collision avoidance maneuver, i.e., to estimate the potential increase in flight time, the additional increase in energy consumption, and the deviation from the original planned path. Because these three indicators have different dimensions and numerical ranges, they are normalized, for example, by mapping their respective values to the range of 0 to 1, to eliminate the difference in dimensions and ensure the fairness of subsequent calculations. Based on the different emphases of the task on time, energy consumption, and path accuracy, preset weights are assigned to the three normalized indicators, and a single, standardized computational cost value is obtained through weighted calculation.By explicitly associating and storing this computational cost with the corresponding collision avoidance maneuver, the resulting maneuver library includes a quantified cost parameter for each maneuver. This parameter is a value derived from a comprehensive evaluation of the time required to execute the maneuver, energy consumption, and deviation from the planned path, and can be directly accessed by the decision-making system.
[0042] In one possible implementation, a motion characteristic model library is established based on motion parameters, specifically including: filling the motion parameters corresponding to each robot into a preset data structure template to generate parameter records. The data structure template contains multiple data fields, which are used to store the motion parameters of each robot; and summarizing the parameter records corresponding to each robot to generate a motion characteristic model library.
[0043] In this embodiment, the motion characteristic model library refers to a structured database used to centrally store and manage the key motion performance parameters of all robots within a robot cluster. This model library provides a unified and standardized interface for upper-layer applications to query the upper limits and characteristics of any robot's physical capabilities. For example, the control system can query this model library to learn that the maximum flight speed of UAV A is 20 m / s, while the minimum turning radius of inspection vehicle B is 0.5 meters, thus providing accurate data support for subsequently generating maneuvers that conform to the actual capabilities of each robot.
[0044] Specifically, to establish this motion characteristic model library, a standardized data structure template was designed. This template is a pre-defined, general format containing multiple blank data fields. These fields can include parameters such as maximum speed, maximum acceleration, minimum turning radius, and load, used to systematically record a robot's core performance indicators. For each robot in the cluster, its specific motion parameters are obtained, and these values are filled into the corresponding data fields of the data structure template. After filling, a structured parameter record specific to that robot is generated. By aggregating the parameter records of all robots in the cluster—that is, collecting and integrating these independent record files into a unified database or set—the final motion characteristic model library is generated. This model library constitutes a global view of robot capabilities, ensuring that all subsequent collaborative algorithms can be calculated based on consistent and accurate physical parameters.
[0045] S202: Based on the motion state and planned path of each robot, generate a status data packet and broadcast the status data packet within the robot cluster through a preset communication network.
[0046] In this embodiment, a state data packet refers to a structured digital information unit used to encapsulate and transmit key dynamic information and future action intentions of a single robot at a specific moment. This data packet is the basic carrier for realizing situational awareness of robot swarms. It formats the discrete physical state and planning information of the robots so that they can be efficiently transmitted in the network and parsed by other robots. For example, a state data packet of a UAV may specifically contain its current three-dimensional coordinates, velocity vector, acceleration, and the sequence of waypoints planned to be traversed in the next 30 seconds, thereby providing the receiver with complete data support for accurately analyzing the current position of the UAV, predicting its future trajectory, and understanding its real-time motion state.
[0047] For example, during collaborative robot operations, each robot in the swarm periodically performs information sharing operations. The robot's current real-time motion state is acquired, which may specifically include three-dimensional spatial coordinates, velocity vectors (magnitude and direction), and acceleration vectors. The robot's planned path information also needs to be acquired, typically represented as a series of ordered waypoints or a parameterized trajectory curve. The acquired motion state and planned path information are encapsulated according to a predefined format to generate a structured state data packet. For example, it can be encapsulated using industry-standard data serialization formats such as JSON (JavaScript Object Notation), XML (eXtensible Markup Language), or more efficient Protocol Buffers. In addition to the core data mentioned above, this data packet may also include auxiliary information such as robot ID, timestamp, and task priority to ensure information integrity and traceability. The generated state data packet is broadcast to all other members of the robot swarm via a pre-defined communication network, such as a wireless communication link built on Wi-Fi, 5G, or LoRa technology. This step ensures that each robot in the cluster can receive dynamic and intentional information from other robots in a timely manner, laying the foundation for global state perception for subsequent collision risk identification.
[0048] S203: Based on the state data packet, identify any two or more robots in the robot cluster that have potential collision conflicts, and form a temporary decision group for all robots with potential collision conflicts. The conflicting robots are the robots in the robot cluster.
[0049] For example, to identify potential collisions in a robot swarm, for each robot, its current position, velocity, and acceleration are used as initial conditions. Using a pre-defined kinematic formula, future trajectory points are iteratively calculated at each discrete time step within a pre-defined time period. These points are then combined sequentially into a precise sequence of future trajectory points. At each time step, the predicted spatial distance between any two robots in the swarm based on their trajectory sequences is calculated. If the predicted spatial distance at any given time is less than a pre-defined safety threshold, a potential collision is identified. All robots identified as having the same conflict will form a temporary decision group to initiate subsequent cooperative avoidance negotiations.
[0050] In one possible implementation, based on the state data packet, potential collisions between any two or more robots in the robot cluster are identified, and all robots with potential collisions are grouped into a temporary decision group. Specifically, this includes: generating a sequence of future trajectory points for each robot within a preset future time period based on the motion state and planned path in the state data packet, wherein the preset future time period is divided into multiple discrete time steps; calculating the spatial distance between any two robots in the robot cluster based on the future trajectory point sequence corresponding to each robot at each discrete time step; and determining that a potential collision exists between the two robots corresponding to the spatial distance at any discrete time step if the spatial distance is less than a preset safety threshold, and grouping all robots with potential collisions into a temporary decision group.
[0051] In this embodiment, a potential collision conflict refers to a risk state predicted based on the robot's current motion state and future planned path, indicating that at some future moment, the spatial distance between two or more robots will be less than a preset safety distance. It is a warning, not a fait accompli, used to indicate the triggering condition for immediately initiating a cooperative collision avoidance decision. For example, if the safety threshold is 5 meters, and the predicted trajectories of drones A and B show that they will be 4.8 meters apart in 3 seconds, then a potential collision conflict can be determined, even if they are currently far apart.
[0052] Specifically, after receiving the status data packets from each robot in the cluster, the future path of each robot is predicted. This prediction is performed within a preset future time period, such as 10 seconds in the future. To achieve accurate simulation, this time period is divided into multiple discrete time steps, such as 0.1 seconds per step. Through kinematic calculations, a corresponding three-dimensional spatial coordinate point is generated for each robot at each time step. These coordinate points, arranged in chronological order, constitute the robot's future trajectory point sequence. At each discrete time step, all robot pairs in the robot cluster are traversed, and the real-time spatial distance between any two robots is calculated based on their positions in the future trajectory point sequence at that moment. The calculated spatial distance is compared with a preset safety threshold, which is the minimum safe interval determined based on factors such as robot size, speed, and reaction time. If, at any time step, a pair of robots is found to have a spatial distance less than the safety threshold, a potential collision conflict is determined between the two robots. All robots identified as potentially colliding are identified and grouped together into a temporary decision group to execute the subsequent cooperative collision avoidance decision-making process.
[0053] In one possible implementation, based on the motion state and planned path in the state data packet, a sequence of future trajectory points within a preset time period is generated for each robot. Specifically, this includes: using the current position, current velocity, and current acceleration of the target robot's corresponding motion state as initial conditions, where the target robot is any robot in the robot cluster; at each discrete time step, combining the initial conditions and the planned path, and using a preset kinematic formula (e.g., the displacement formula p based on a uniformly accelerated linear motion model)... t+1 =p t +v t Δt+(1 / 2)a t (Δt) 2 , where p t+1 p represents the position at the next moment. t Indicates the current position, v t Let a represent the velocity at the current moment. t The current acceleration is represented by Δt, which represents the discrete time step. The future trajectory points of the target robot are calculated. The future trajectory points calculated at each discrete time step are combined in chronological order to obtain the sequence of future trajectory points of the target robot within a preset time period.
[0054] In this embodiment, a future trajectory point sequence refers to an ordered set of multiple three-dimensional coordinate points arranged in chronological order, used to digitally describe and predict the motion path of a single robot over a future period. This sequence serves as the data foundation for collision risk analysis, discretizing the robot's continuous motion trajectory into a series of computable and analyzable snapshots. For example, a future trajectory point sequence may contain 100 coordinate points, representing the predicted position of a robot every 0.1 seconds within the next 10 seconds. By analyzing this point sequence, other robots can clearly understand their upcoming flight path.
[0055] Specifically, the trajectory generation process is executed independently for each target robot in the robot swarm. The current real-time motion state (i.e., current position, current velocity, and current acceleration) contained in the status data packet reported by the target robot is used as the initial condition for the prediction calculation. Iterative calculations are performed within a future time period with pre-defined discrete time steps. At each discrete time step, combining the known initial conditions and the planned path obtained from the status data packet (e.g., the next target waypoint), the next future trajectory point of the target robot at the end of this time step is calculated using a preset kinematic formula (e.g., the discrete form of Newton's laws of motion). This calculated new trajectory point then becomes one of the input conditions for the calculation of the next time step, and this process is repeated until the entire preset future time period is covered. All future trajectory points calculated at all discrete time steps are combined strictly in chronological order to obtain a complete sequence of future trajectory points describing the target robot's motion trajectory within the preset future time period.
[0056] S204: Within the temporary decision-making group, determine the intent proposal from the maneuver library corresponding to each conflict robot. The intent proposal is a collision avoidance maneuver that can resolve potential collision conflicts and has the lowest computational cost.
[0057] In this embodiment, an intent proposal refers to the optimal collision avoidance scheme autonomously selected by a conflict robot within its own capabilities to resolve a potential collision conflict. This proposal is the specific result of the robot's trade-off between two core principles: ensuring safety (resolving the conflict) and ensuring efficiency (lowest computational cost). It represents the maneuver that the robot most desires to execute in this round of negotiation, the one with the least impact on itself. For example, if a robot has three maneuvers in its maneuver library that can successfully avoid a collision, with computational costs of 0.2, 0.5, and 0.8 respectively, then the maneuver with a cost of 0.2 will be determined as the robot's intent proposal because it represents the solution with the lowest cost.
[0058] Specifically, after a temporary decision-making group is identified through conflict identification, each conflict robot within that group independently executes its intent proposal. The robot's own maneuver library is traversed, and each collision avoidance maneuver is screened for validity. This is typically done by simulating the new trajectory after executing the maneuver and then re-performing collision detection. Only maneuvers that ensure the distance to all other conflicting parties remains greater than a safety threshold within a preset future timeframe are considered valid. Among all the selected valid collision avoidance maneuvers, their associated computational costs are compared, and the maneuver with the lowest computational cost is selected. This maneuver, possessing both conflict resolution and lowest cost attributes, is determined as the intent proposal submitted by that conflict robot in this round of negotiation.
[0059] S205: Based on the preset priority of each conflict robot's task, the urgency of potential collision conflicts, and the historical maneuver frequency of each conflict robot, calculate and generate a negotiation priority. The historical maneuver frequency is the number of times a collision avoidance maneuver is performed per unit time.
[0060] For example, to determine the passage priority of a conflict robot, a dynamic negotiation priority needs to be calculated. This priority is a comprehensive numerical score that integrates information from three dimensions: a preset priority representing the strategic importance of the task, the urgency quantified by the reciprocal of the estimated time-to-collision (TTC), and the historical maneuver frequency assessed by the number of maneuvers per unit time to evaluate recent behavioral stability. Specifically, the preset priority and urgency are multiplied by their respective weighting coefficients, summed, and then the historical maneuver frequency multiplied by its own weighting coefficient is subtracted. The final value is the negotiation priority. This method ensures that the decision on passage is based not only on the task and the danger but also on the robot's historical behavior, thereby achieving smarter and more stable collaborative decision-making.
[0061] In one possible implementation, a negotiation priority is calculated based on the preset priority of each conflict robot's task, the urgency of potential collision conflicts, and the historical maneuver frequency of each conflict robot. Specifically, this includes: multiplying the preset priority value by a first preset weighting coefficient to obtain a first weighted value; determining the urgency based on the reciprocal of the estimated collision time between conflict robots, and multiplying the value corresponding to the urgency by a second preset weighting coefficient to obtain a second weighted value; determining the historical maneuver frequency by calculating the number of times each robot performed collision avoidance maneuvers within a past preset time window and dividing by the duration of the time window, and multiplying the value corresponding to the historical maneuver frequency by a third preset weighting coefficient to obtain a third weighted value; and adding the first weighted value and the second weighted value and subtracting the third weighted value to obtain the negotiation priority.
[0062] In this embodiment, negotiation priority refers to a dynamically calculated comprehensive numerical score used to quantify and determine the passage priority of each conflicting robot when a potential collision occurs. This score is not static but integrates information from three dimensions in real time: a preset priority representing the strategic importance of the task, an urgency representing the current level of danger, and a historical maneuver frequency representing the stability of recent behavior. For example, a robot performing an urgent survey task (high preset priority) and about to collide (high urgency) will receive a high negotiation priority; while a robot performing a routine patrol task and frequently deviating from its path recently (high historical maneuver frequency) will have its negotiation priority significantly reduced, even if it faces the same level of urgency.
[0063] Specifically, once the conflict robots form a temporary decision-making group, the negotiation priority of each member is calculated for subsequent right-of-way decisions. The calculation process considers the task importance of each conflict robot, multiplying a preset priority value representing its task importance level by a first preset weighting coefficient to obtain a first weighted value. The urgency of potential collisions is assessed, precisely quantified by the reciprocal of the time-to-collision (TTC) between the conflict robots; a smaller TTC results in a larger reciprocal and a higher urgency. This urgency is then multiplied by a second preset weighting coefficient to obtain a second weighted value. Finally, the recent behavioral stability of each robot, i.e., its historical maneuver frequency, is assessed by counting the number of times the robot performed collision avoidance maneuvers within a preset time window, dividing by the duration of that window, and multiplying this frequency by a third preset weighting coefficient to obtain a third weighted value. These weighting coefficients can be configured according to the overall task strategy. For example, in scenarios requiring rapid task completion, the second preset weighting coefficient corresponding to the urgency can be increased; while in scenarios requiring energy conservation or maintaining formation stability, the third preset weighting coefficient corresponding to historical maneuver frequency can be increased to better suppress frequent maneuvering behavior. The final value obtained by adding the first weighted value representing task importance and the second weighted value representing the degree of danger, and subtracting the third weighted value representing behavioral instability, is the negotiation priority of the conflict robot.
[0064] It should be understood that the algebraic operations involved in the aforementioned calculations for each weighting value are based on the numerical values of each variable themselves. Specifically, for variables with physical units, such as urgency and historical maneuver frequency, which are measured in reciprocals of time, the numerical part is used when multiplying them by their respective weighting coefficients. This ensures that all the final weighted values are treated as dimensionless values. Therefore, the first, second, and third weighted values can be directly added and subtracted algebraically without involving the conversion or cancellation of physical units, ensuring that the final negotiated priority is a unified and directly comparable numerical score.
[0065] It should be noted that the first, second, and third preset weighting coefficients are configurable and can be adjusted according to different inspection tasks or environments. For example, in emergency repair tasks, the weights related to task priority and urgency can be appropriately increased; while in routine, long-endurance inspection tasks, the weights related to historical maneuver frequency can be appropriately increased to encourage more energy-efficient and stable flight attitudes.
[0066] S206: Broadcast intent proposals and negotiate priorities, compare the negotiation priorities, generate candidate cooperative collision avoidance action sets, simulate and verify the candidate cooperative collision avoidance action sets, and assign cooperative collision avoidance actions to each conflicting robot based on the verified candidate cooperative collision avoidance action sets.
[0067] For example, to assign cooperative collision avoidance actions to conflicting robots, a clear final priority ranking is determined by comparing the negotiation priorities of each robot and adjudicating the situation based on its unique preset identifier in the event of a tie. The robot with the highest ranking is then designated as the proceeding party, and the rest as the yielding parties. Based on this ranking, a temporary, unverified set of candidate cooperative collision avoidance actions is generated, where the proceeding party maintains its original path, and each yielding party adopts its lowest-cost intent proposal. This candidate action set must undergo safety verification before final confirmation: the system simulates all future trajectories after executing the candidate set and detects whether new potential collisions will arise between the yielding parties. Only when the detection results confirm that there is no risk of secondary collisions is the candidate cooperative collision avoidance action set finally confirmed as an executable cooperative collision avoidance action.
[0068] In one possible implementation, the negotiation priorities are compared to generate a candidate set of cooperative collision avoidance actions. The candidate set of actions is then simulated and verified. Cooperative collision avoidance actions are assigned to each conflicting robot based on the verified set of actions. Specifically, this includes: obtaining an initial priority ranking by comparing the negotiation priorities of each conflicting robot; if there are cases of identical negotiation priorities in the initial priority ranking, a final priority ranking is determined based on a preset identifier; based on the final priority ranking, the conflicting robot with the highest ranking is identified as the passing party, and all conflicting robots in the temporary decision group except the one with the highest ranking are identified as the yielding party; a set of candidate cooperative collision avoidance actions is generated, including actions assigned to the passing party to maintain its planned path and corresponding intent proposals assigned to each yielding party; the future trajectory of each conflicting robot after executing the corresponding actions in the candidate set of actions is simulated, and the future trajectory is used to detect whether there are any new potential collisions between the yielding parties; if the detection result indicates that there are no new potential collisions, cooperative collision avoidance actions are assigned to each conflicting robot according to the candidate set of actions.
[0069] In this embodiment, the candidate cooperative collision avoidance action set refers to a temporary, unverified set of instructions containing recommended actions from all conflicting robots within a temporary decision-making group. This set is a preliminary draft generated based on priority ranking, where the highest priority robot maintains its path, and other robots execute their respective lowest-cost avoidance actions. Its core characteristic is its non-finality; it must undergo a safety simulation verification process to ensure that secondary collisions do not occur between the actions of all avoidant robots. For example, in a conflict involving three robots A, B, and C, where A has the highest priority, the candidate cooperative collision avoidance action set might be: {A: Maintain path, B: Avoid to the left, C: Decelerate and wait}. This set will not be adopted as the final instruction until it has been simulated and verified and confirmed that the new paths of B and C will not conflict with each other.
[0070] Specifically, after calculating the negotiation priorities of each conflicting robot within the temporary decision-making group, an initial priority ranking is obtained by comparing these priority values. To ensure the uniqueness of the ranking, if there are cases of the same negotiation priority in the initial priority ranking, a secondary ranking is performed based on each robot's preset, unique identifier (such as device ID number) to determine the final priority ranking; if there are no cases of the same priority, the initial priority ranking is determined as the final priority ranking. Based on this clear final priority ranking, the conflicting robot with the highest ranking is determined as the proceeding party, while all other conflicting robots in the temporary decision-making group are determined as the yielding party. A set of candidate cooperative collision avoidance actions is generated, which specifically includes: assigning the action of "maintaining its planned path" to the proceeding party, and assigning each yielding party its intention proposal that was determined in the previous stage and has the lowest cost to itself. Before execution, this candidate cooperative collision avoidance action set undergoes a safety verification step: the system simulates the future trajectories of all conflicting robots simultaneously executing their respective actions within the candidate set. Based on these simulated future trajectories, collision detection is performed again, primarily to check for any new potential collisions between the avoidant robots. If the detection results indicate that no new potential collisions exist, the candidate cooperative collision avoidance action set is confirmed as a cooperative collision avoidance action set and assigned to each robot for execution.
[0071] The following example, involving three conflicting robots, illustrates the calculation and adjudication process for negotiation priorities. Assume robots A, B, and C form a temporary decision-making group, with uniformly set weight coefficients: First preset weight coefficient = 1.0, Second preset weight coefficient = 50, Third preset weight coefficient = 100. Robot A is performing a high-priority emergency repair task (preset priority = 90), with a very imminent collision (TTC = 2 seconds), and has recently exhibited stable navigation (only 1 maneuver in the past 60 seconds), thus its negotiation priority is calculated to be 113.3. Robot B is performing a routine inspection task (preset priority = 50), with a relatively imminent collision (TTC = 3 seconds), and has recently performed a few maneuvers (2 maneuvers in the past 60 seconds), thus its negotiation priority is calculated to be 63.4. Robot C is performing a low-priority data supplementation task (preset priority = 20), with a less imminent collision (TTC = 8 seconds), but due to being in a congested area, it has recently performed frequent maneuvers (8 maneuvers in the past 30 seconds), thus its negotiation priority is calculated to be -0.45. After the calculation is completed, the three robots are finally ranked according to their negotiation priorities (113.3>63.4>-0.45). Robot A, which has the highest priority, is determined to be the one that can pass and should maintain its original planned path. Robots B and C are determined to be the ones that need to avoid collisions and need to enter the subsequent process to determine their respective cooperative collision avoidance actions.
[0072] In another possible implementation, the above verification steps are supplemented. If the detection result indicates the existence of new potential collision conflicts, it proves that the initially generated candidate solutions are not globally safe. At this point, an iterative conflict resolution process is initiated. This process first identifies the avoidance parties that have newly generated conflicts, forming secondary conflict groups. Then, it performs cyclical adjustments within a preset maximum number of adjustments (e.g., 3 times). In each cycle, the avoidance party with the lowest current priority in the secondary conflict group is required to search for and select a new effective maneuver from its maneuver library, in ascending order of computational cost, that can simultaneously avoid the original passing party and other avoidance parties, to form a new set of candidate cooperative collision avoidance maneuvers. Each newly generated candidate set is then immediately subjected to another verification simulation. During this loop, if a simulation verification result is conflict-free, the iteration process terminates successfully, and the current candidate set is confirmed as a cooperative collision avoidance action. If the loop continues until the maximum number of adjustments is reached, or the lowest-ranked avoidant has traversed all its maneuver library actions and still cannot find an effective solution, the iteration process also terminates, and the final safety strategy is initiated. For example, a preset default safety maneuver is uniformly assigned to the avoidant in all secondary conflict groups, such as the "hovering" of a drone or the "emergency braking" of a ground robot, to ensure that the conflict is finally resolved.
[0073] Figure 3 This is a schematic diagram of a robot swarm cooperative collision avoidance system for power system inspection, as described in an embodiment of this application. This system can be implemented as all or part of a larger system through software, hardware, or a combination of both. Figure 3 As shown, the system includes: a model generation module 301, a conflict recognition module 302, a priority generation module 303, and an action allocation module 304, wherein: The model generation module 301 is configured to establish a motion characteristic model library for each robot in the robot cluster, and generate a maneuver library for each robot based on the motion characteristic model library. The maneuver library includes multiple collision avoidance maneuvers with preset computational costs. The conflict identification module 302 is configured to generate a status data packet based on the motion state and planned path of each robot, and broadcast the status data packet within the robot cluster through a preset communication network. The conflict identification module 302 is also configured to identify potential collisions between any two or more robots in the robot cluster based on state data packets, and to form a temporary decision group of all robots with potential collisions, wherein the conflicting robots are robots in the robot cluster. Priority generation module 303 is configured to determine intent proposals from the maneuver library corresponding to each conflicting robot within the temporary decision group. The intent proposals are collision avoidance maneuvers that can resolve potential collision conflicts and have the lowest computational cost. The priority generation module 303 is also configured to calculate and generate a negotiation priority based on the preset priority of each conflict robot's task, the urgency of potential collision conflicts, and the historical maneuver frequency of each conflict robot. The historical maneuver frequency is the number of times collision avoidance maneuvers are performed per unit time. The action allocation module 304 is configured to broadcast intent proposals and negotiate priorities, compare the negotiated priorities, generate a candidate cooperative collision avoidance action set, perform simulation verification on the candidate cooperative collision avoidance action set, and assign cooperative collision avoidance actions to each conflicting robot based on the verified candidate cooperative collision avoidance action set.
[0074] Based on the above embodiments, as an optional embodiment, the model generation module 301 is further used to acquire the motion parameters of each robot and establish a motion characteristic model library based on the motion parameters; based on the motion parameters, the preset collision avoidance maneuver templates are converted into specific maneuvers that match the motion characteristics of each robot to obtain a maneuver library; the increase in travel time, increase in energy consumption, and path deviation of each collision avoidance maneuver in the maneuver library are estimated during execution, and the increase in travel time, increase in energy consumption, and path deviation are normalized; according to preset weights, the normalized increase in travel time, normalized increase in energy consumption, and normalized path deviation are weighted and calculated to obtain the computational cost, and the computational cost is associated with the collision avoidance maneuver.
[0075] Based on the above embodiments, as an optional embodiment, the model generation module 301 is further used to fill the motion parameters corresponding to each robot into a preset data structure template to generate parameter records. The data structure template contains multiple data fields, which are used to store the motion parameters of each robot. The parameter records corresponding to each robot are summarized to generate a motion characteristic model library.
[0076] Based on the above embodiments, as an optional embodiment, the conflict identification module 302 is further configured to generate a sequence of future trajectory points for each robot within a future preset time period according to the motion state and planned path in the state data packet, wherein the future preset time period is divided into multiple discrete time steps; at each discrete time step, the spatial distance between any two robots in the robot cluster is calculated based on the future trajectory point sequence corresponding to each robot; if at any discrete time step, there is a spatial distance less than a preset safety threshold, then it is determined that there is a potential collision conflict between the two robots corresponding to the spatial distance, and all the conflicting robots with potential collision conflicts are formed into a temporary decision group.
[0077] Based on the above embodiments, as an optional embodiment, the conflict identification module 302 is further used to take the current position, current velocity, and current acceleration of the target robot in its motion state as initial conditions, and the target robot is any robot in the robot cluster; at each discrete time step, combined with the initial conditions and the planned path, the future trajectory points of the target robot are calculated by a preset kinematic formula; the future trajectory points calculated at each discrete time step are combined in chronological order to obtain a sequence of future trajectory points of the target robot in a preset time period in the future.
[0078] Based on the above embodiments, as an optional embodiment, the priority generation module 303 is further configured to multiply the value of the preset priority by a first preset weighting coefficient to obtain a first weighted value; determine the urgency level based on the reciprocal of the estimated collision time between the conflicting robots, and multiply the value corresponding to the urgency level by a second preset weighting coefficient to obtain a second weighted value; determine the historical maneuver frequency by calculating the number of times each robot performed collision avoidance maneuvers within a past preset time window and dividing it by the duration of the time window, and multiply the value corresponding to the historical maneuver frequency by a third preset weighting coefficient to obtain a third weighted value; add the first weighted value and the second weighted value, and subtract the third weighted value to obtain the negotiation priority.
[0079] Based on the above embodiments, as an optional embodiment, the action allocation module 304 is further configured to obtain an initial priority ranking by comparing the negotiation priorities of each conflicting robot; if there are cases where the negotiation priorities are the same in the initial priority ranking, then the final priority ranking is determined according to a preset identifier; based on the final priority ranking, the conflicting robot with the highest ranking is determined as the passing party, and the conflicting robots in the temporary decision group other than the conflicting robot with the highest ranking are determined as the avoiding party; a set of candidate cooperative collision avoidance action sets is generated, the candidate cooperative collision avoidance action set includes actions allocated to the passing party to maintain the planned path of the passing party and intention proposals allocated to each avoiding party; the future trajectory of each conflicting robot after executing the corresponding actions in the candidate cooperative collision avoidance action set is simulated, and the future trajectory is used to detect whether there are new potential collision conflicts between each avoiding party; if the detection result is that there are no new potential collision conflicts, then cooperative collision avoidance actions are allocated to each conflicting robot according to the candidate cooperative collision avoidance action set.
[0080] It should be noted that the system provided in the above embodiments is only illustrated by the division of the above functional modules. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. In addition, the system and method embodiments provided in the above embodiments belong to the same concept, and the specific implementation process can be found in the method embodiments, which will not be repeated here.
[0081] This embodiment also discloses an electronic device, as shown in the reference. Figure 4 The electronic device may include: at least one processor 401, at least one communication bus 402, user interface 403, network interface 404, and at least one memory 405.
[0082] The communication bus 402 is used to enable communication between these components.
[0083] The user interface 403 may include a display screen and a camera. Optionally, the user interface 403 may also include a standard wired interface and a wireless interface.
[0084] The network interface 404 may optionally include a standard wired interface or a wireless interface (such as a Wi-Fi interface).
[0085] The processor 401 may include one or more processing cores. The processor 401 connects to various parts of the server using various interfaces and lines, and performs various server functions and processes data by running or executing instructions, programs, code sets, or instruction sets stored in memory 405, and by calling data stored in memory 405. Optionally, the processor 401 may be implemented using at least one hardware form of Digital Signal Processing (DSP), Field-Programmable Gate Array (FPGA), or Programmable Logic Array (PLA). The processor 401 may integrate one or a combination of several of the following: Central Processing Unit (CPU), Graphics Processing Unit (GPU), and modem. The CPU primarily handles the operating system, user interface, and applications; the GPU is responsible for rendering and drawing the content required for display; and the modem handles wireless communication. It is understood that the modem may also be implemented as a separate chip without being integrated into the processor 401.
[0086] The memory 405 may include random access memory (RAM) or read-only memory. Optionally, the memory 405 may include a non-transitory computer-readable storage medium. The memory 405 may be used to store instructions, programs, code, code sets, or instruction sets. The memory 405 may include a program storage area and a data storage area, wherein the program storage area may store instructions for implementing an operating system, instructions for at least one function (such as touch function, sound playback function, image playback function, etc.), instructions for implementing the above-described method embodiments, etc.; the data storage area may store data involved in the above-described method embodiments, etc. Optionally, the memory 405 may also be at least one storage device located remotely from the aforementioned processor 401. Figure 4 As shown, the memory 405, which serves as a computer storage medium, may include an operating system, a network communication module, a user interface module, and an application program for a robot swarm cooperative collision avoidance method for power system inspection.
[0087] exist Figure 4 In the electronic device shown, the user interface 403 is mainly used to provide an input interface for the user and to obtain the user input data; while the processor 401 can be used to call an application stored in the memory 405 for a robot swarm cooperative collision avoidance method for power system inspection. When executed by one or more processors 401, the electronic device performs one or more methods as described in the above embodiments.
[0088] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to this application.
[0089] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions in other embodiments.
[0090] In the several embodiments provided in this application, it should be understood that the disclosed apparatus can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the shown or discussed mutual couplings or direct couplings or communication connections may be through some service interfaces; indirect couplings or communication connections between apparatuses or units may be electrical or other forms.
[0091] The units described as separate components may or may not be physically separate. 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 can be selected to achieve the purpose of this embodiment according to actual needs.
[0092] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0093] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage device (CMD). Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a memory 405 and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned memory 405 includes various media capable of storing program code, such as a USB flash drive, external hard drive, magnetic disk, or optical disk.
[0094] The foregoing description is merely an exemplary embodiment of this disclosure and should not be construed as limiting the scope of this disclosure. Any equivalent changes and modifications made in accordance with the teachings of this disclosure shall still fall within the scope of this disclosure. Those skilled in the art will readily conceive of other embodiments of this disclosure upon considering the disclosure in this specification. This application is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not described in this disclosure. The specification and embodiments are considered exemplary only, and the scope of this application is defined by the claims.
Claims
1. A collaborative collision avoidance method for robot swarms used in power system inspection, characterized in that, Applied to robot swarms, the method includes: A motion characteristic model library is established for each robot in the robot cluster, and a maneuver library is generated for each robot based on the motion characteristic model library. The maneuver library includes multiple collision avoidance maneuvers with preset computational costs. Based on the motion state and planned path of each robot, a status data packet is generated and broadcast within the robot cluster through a preset communication network. Based on the status data packet, potential collisions between any two or more robots in the robot cluster are identified, and all the robots with potential collisions are formed into a temporary decision group, wherein the conflicting robots are robots in the robot cluster. Within the temporary decision-making group, an intent proposal is determined from the maneuver library corresponding to each of the conflict robots. The intent proposal is a collision avoidance maneuver that can resolve the potential collision conflict and has the lowest computational cost. Based on the preset priority of each conflict robot's task, the urgency of the potential collision conflict, and the historical maneuver frequency of each conflict robot, a negotiation priority is calculated and generated, where the historical maneuver frequency is the number of times a collision avoidance maneuver is performed per unit time. The intent proposal and the negotiation priority are broadcast, the negotiation priority is compared, a candidate cooperative collision avoidance action set is generated, the candidate cooperative collision avoidance action set is simulated and verified, and cooperative collision avoidance actions are assigned to each of the conflicting robots according to the verified candidate cooperative collision avoidance action set, wherein, The process of comparing the negotiation priorities to generate a candidate cooperative collision avoidance action set, simulating and verifying the candidate cooperative collision avoidance action set, and assigning cooperative collision avoidance actions to each of the conflicting robots based on the verified candidate cooperative collision avoidance action set specifically includes: An initial priority ranking is obtained by comparing the negotiation priorities of each conflicting robot. If there are cases where the negotiated priorities are the same in the initial priority sorting, the final priority sorting is determined according to the preset identifier; Based on the final priority ranking, the conflict robot with the highest ranking is determined as the one that can pass, and the conflict robots in the temporary decision group other than the conflict robot with the highest ranking are determined as the ones that should give way. Generate the candidate cooperative collision avoidance action set, which includes actions assigned to the traveling party to maintain the traveling party's planned path and the intention proposals assigned to each of the avoiding parties. Simulate the future trajectory of each of the conflicting robots after executing the corresponding actions in the candidate cooperative collision avoidance action set, and detect whether there are new potential collision conflicts between each of the avoidance parties based on the future trajectory; If the detection result indicates that there are no new potential collisions, then cooperative collision avoidance actions are assigned to each of the conflicting robots according to the candidate cooperative collision avoidance action set.
2. The method according to claim 1, characterized in that, The step of establishing a motion characteristic model library for each robot in the robot cluster, and generating a motion library for each robot based on the motion characteristic model library, specifically includes: Obtain the motion parameters of each robot, and establish the motion characteristic model library based on the motion parameters; Based on the motion parameters, the preset collision avoidance maneuver templates are converted into specific maneuver actions that match the motion characteristics of each robot, thus obtaining the maneuver library; The increase in flight time, increase in energy consumption, and path deviation of each collision avoidance maneuver in the maneuver pool are estimated during execution, and the increase in flight time, increase in energy consumption, and path deviation are normalized. Based on preset weights, the normalized increase in flight time, the normalized increase in energy consumption, and the normalized path deviation are weighted and calculated to obtain the calculation cost, and the calculation cost is associated with the collision avoidance maneuver.
3. The method according to claim 2, characterized in that, The establishment of the motion characteristic model library based on the motion parameters specifically includes: The motion parameters corresponding to each robot are filled into a preset data structure template to generate parameter records. The data structure template contains multiple data fields, which are used to store the motion parameters of each robot. The parameter records corresponding to each robot are summarized to generate the motion characteristic model library.
4. The method according to claim 1, characterized in that, Based on the status data packet, the step of identifying any two or more robots in the robot cluster that have potential collision conflicts, and forming a temporary decision group with all the robots that have potential collision conflicts, specifically includes: Based on the motion state and the planned path in the state data packet, a sequence of future trajectory points within a future preset time period is generated for each robot, wherein the future preset time period is divided into multiple discrete time steps; At each discrete time step, the spatial distance between any two robots in the robot cluster is calculated based on the sequence of future trajectory points corresponding to each robot. If, at any discrete time step, there exists a spatial distance less than a preset safety threshold, then it is determined that there is a potential collision conflict between the two robots corresponding to the spatial distance, and all the robots with the potential collision conflict are formed into the temporary decision group.
5. The method according to claim 4, characterized in that, The step of generating a sequence of future trajectory points for each robot within a preset time period based on the motion state and the planned path in the state data packet specifically includes: The current position, current velocity, and current acceleration of the target robot in the motion state are used as initial conditions, and the target robot is any one of the robots in the robot cluster. At each discrete time step, the future trajectory points of the target robot are calculated using a preset kinematic formula, taking into account the initial conditions and the planned path. The future trajectory points calculated at each discrete time step are combined in chronological order to obtain the sequence of future trajectory points of the target robot within a preset time period in the future.
6. The method according to claim 1, characterized in that, The step of calculating and generating a negotiation priority based on the preset priority of each conflict robot's task, the urgency of the potential collision conflict, and the historical maneuver frequency of each conflict robot specifically includes: The first weighted value is obtained by multiplying the value of the preset priority by the first preset weight coefficient. The urgency level is determined by the reciprocal of the estimated collision time between the conflicting robots, and the value corresponding to the urgency level is multiplied by the second preset weighting coefficient to obtain the second weighted value; The historical maneuver frequency is determined by calculating the number of times each robot performed collision avoidance maneuvers within a preset time window and dividing it by the duration of the time window. The value corresponding to the historical maneuver frequency is then multiplied by a third preset weighting coefficient to obtain a third weighted value. The negotiation priority is obtained by adding the first weighted value and the second weighted value and subtracting the third weighted value.
7. A robot swarm cooperative collision avoidance system for power system inspection, characterized in that, The system includes a model generation module, a conflict identification module, a priority generation module, and an action allocation module, among which: The model generation module is configured to establish a motion characteristic model library for each robot in the robot cluster, and generate a maneuver library for each robot based on the motion characteristic model library. The maneuver library includes multiple collision avoidance maneuvers with preset computational costs. The conflict identification module is configured to generate a status data packet based on the motion state and planned path of each robot, and broadcast the status data packet within the robot cluster through a preset communication network. The conflict identification module is further configured to identify, based on the status data packet, any two or more robots in the robot cluster that have potential collision conflicts, and to form a temporary decision group for all the robots with potential collision conflicts, wherein the conflicting robots are robots in the robot cluster. The priority generation module is configured to determine an intent proposal from the maneuver library corresponding to each of the conflicting robots within the temporary decision group. The intent proposal is a collision avoidance maneuver that can resolve the potential collision conflict and has the lowest computational cost. The priority generation module is further configured to calculate and generate a negotiation priority based on the preset priority of the task of each of the conflict robots, the urgency of the potential collision conflict, and the historical maneuver frequency of each of the conflict robots, wherein the historical maneuver frequency is the number of times a collision avoidance maneuver is performed per unit time. The action allocation module is configured to broadcast the intent proposal and the negotiation priority, compare the negotiation priority, generate a candidate cooperative collision avoidance action set, perform simulation verification on the candidate cooperative collision avoidance action set, and allocate cooperative collision avoidance actions to each of the conflicting robots based on the verified candidate cooperative collision avoidance action set. The process of comparing the negotiation priorities to generate a candidate cooperative collision avoidance action set, simulating and verifying the candidate cooperative collision avoidance action set, and assigning cooperative collision avoidance actions to each of the conflicting robots based on the verified candidate cooperative collision avoidance action set specifically includes: An initial priority ranking is obtained by comparing the negotiation priorities of each conflicting robot. If there are cases where the negotiated priorities are the same in the initial priority sorting, the final priority sorting is determined according to the preset identifier; Based on the final priority ranking, the conflict robot with the highest ranking is determined as the one that can pass, and the conflict robots in the temporary decision group other than the conflict robot with the highest ranking are determined as the ones that should give way. Generate the candidate cooperative collision avoidance action set, which includes actions assigned to the traveling party to maintain the traveling party's planned path and the intention proposals assigned to each of the avoiding parties. Simulate the future trajectory of each of the conflicting robots after executing the corresponding actions in the candidate cooperative collision avoidance action set, and detect whether there are new potential collision conflicts between each of the avoidance parties based on the future trajectory; If the detection result indicates that there are no new potential collisions, then cooperative collision avoidance actions are assigned to each of the conflicting robots according to the candidate cooperative collision avoidance action set.
8. An electronic device, characterized in that, The device includes a processor, a memory, a user interface, and a network interface. The memory is used to store instructions. The user interface and the network interface are both used to communicate with other devices. The processor is used to execute the instructions stored in the memory to cause the electronic device to perform the method as described in any one of claims 1-6.
9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores instructions that, when executed, perform the method as described in any one of claims 1-6.
Citation Information
Patent Citations
Multi-index dynamic priority unmanned aerial vehicle cooperative path planning method
CN116893688A
ROS2-based traffic control and scheduling method of distributed AGV system
CN119252033A