Multi-robot distributed autonomous cooperative control method and system of urban renewal intelligent construction management platform in a disconnected environment
Patent Information
- Application Number
- CN202611546757.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-10-08
- Publication Date
- 2026-11-03
AI Technical Summary
Existing distributed multi-robot collaborative control methods suffer from insufficient global state reconstruction accuracy, missing task execution dependencies, and failure of small-scale cluster fault detection in offline environments. This is especially true in urban renewal operations, leading to deviations in reconstruction results, decision-making errors, and reduced system reliability.
Construct a task causal dependency graph, detect network partitions and perform forward reachability judgment, maintain local views, identify spatiotemporal overlapping regions, calculate view credibility, and verify sensor fault detection through physical self-consistency constraints to achieve global state reconstruction and task dependency management.
It improves the accuracy of global state reconstruction, enhances the correctness of task execution and the ability to detect small-scale cluster faults, and ensures the safety and reliability of urban renewal operations.
Smart Images

Figure CN123029983A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of multi-robot collaborative control technology, specifically to a method and system for distributed autonomous collaborative control of multiple robots in an offline environment of an intelligent construction management platform for urban renewal. Background Technology
[0002] Existing distributed multi-robot collaborative control methods have the following technical defects in offline environments.
[0003] First, the accuracy of global state reconstruction is insufficient. Existing methods, when fusing the local states reported by each robot after communication is restored, employ simple averaging or distance-based weighted averaging, failing to distinguish the differences in how local states were obtained: some states are based on direct robot observations (high reliability), while others are extrapolated from historical information before the network outage (reliability decays over time). Simple averaging assigns equal weight to direct observations and extrapolated data, leading to systematic biases in the extrapolated data that contaminate the reconstruction results. For example, in the scenario of detecting underground parking lots in old residential areas, a robot's estimate of the task completion progress of another robot in a different area is extrapolated (based on historical progress and estimated workload before the network outage). Even though the task has actually been completed, the extrapolated value shows a significant deviation. If simply averaged with the direct observation value, the reconstruction result deviates severely from the true state. Furthermore, existing methods do not consider the spatiotemporal overlap between the local views of different robots—multiple robots have jointly observed the same target at certain spatiotemporal locations. The consistency of these overlapping observations should be used as a basis for evaluating view reliability, but existing methods completely ignore this information, resulting in an inability to effectively calibrate structural biases in the local views. More seriously, existing methods do not detect sensor faults, and abnormal observation data from faulty sensors are treated the same as normal data, further reducing reconstruction accuracy.
[0004] Second, task execution dependency management is lacking. Existing distributed task scheduling methods assume that tasks are independent or that dependencies can be confirmed in real time by a central coordinator, failing to consider the problem of dependency chain breakage caused by network outages and partitioning. In urban renewal operations, there are causal dependencies between tasks (e.g., detecting structural cracks first, then calculating load-bearing capacity based on crack data, and finally marking reinforcement points). When a network outage occurs, a task's predecessor may be executed in another partition, and the robot in the current partition cannot know the latest status of the predecessor task. Existing methods do not perform predecessor dependency checks, and the robot directly uses outdated data cached before the network outage to execute the task, leading to incorrect decisions. For example, a robot needs to calculate the load-bearing capacity based on crack detection results, but the crack detection task is being executed in another partition. The robot is using null values or outdated crack data obtained before the network outage, resulting in a completely incorrect load-bearing capacity assessment, which in turn leads to the omission of load-bearing components that need reinforcement when marking reinforcement points. Such incorrect decisions based on outdated data will have a chain reaction in multi-task dependency chains, seriously affecting the quality of work and even causing structural safety hazards. Existing methods lack explicit modeling of task dependencies and forward reachability judgment mechanisms, and cannot automatically identify which tasks can be executed safely and which tasks must wait for prerequisites to be met during network outages, resulting in a high task execution error rate.
[0005] Third, fault detection fails in small-scale clusters. Existing Byzantine fault tolerance methods are based on majority voting mechanisms, requiring the number of honest nodes to be strictly greater than the number of faulty nodes; classical theory is... That is, tolerance Each fault requires at least In urban renewal scenarios with network outages, the number of robots is limited. After network outage partitioning, each partition may contain only a small number of robots, failing to meet the node quantity requirement for majority voting. A more serious problem is that for a specific observation target, not all robots can observe it (limited by spatial location and sensor coverage), further reducing the number of robots effectively participating in the vote. For example, a load-bearing column might only be observed by two robots, one of which has a faulty sensor. The two robots' observations are inconsistent but cannot form a majority, rendering the majority voting mechanism completely ineffective and making it impossible to determine which robot's observation is correct. In such small-scale or sparsely observed scenarios, existing methods cannot detect faults through majority voting, nor can they identify anomalies through other mechanisms (such as sensor self-checks and data consistency checks). This leads to erroneous data from faulty sensors directly participating in state fusion, severely reducing system reliability. Furthermore, even if existing methods detect anomalies in robot data, they can only employ simple discarding strategies (completely ignoring the robot's data) or retention strategies (fully trusting the robot's data), lacking a refined processing mechanism for differentiated weighting based on the degree of fault. Summary of the Invention
[0006] To address the aforementioned technical challenges, a distributed autonomous collaborative control method for multiple robots in an offline environment is provided for an intelligent construction management platform for urban renewal. This method specifically includes the following steps:
[0007] S1. Constructing the task causal dependency graph and initializing the local view: Constructing the task causal dependency graph ,in For the set of urban renewal tasks, there are directed edges. Indicates task Dependency Task The output data; each task node has additional attributes including the required input data type, output data type, and the set of robots that can perform the task; for each robot Initialize the local view ,in The set of tasks visible to the robot. For the set of other visible robot states, This is the set of observation data for the robot. For partial view timestamps;
[0008] S2. Detect network partitions and perform forward reachability checks: When the robot detects a communication interruption with the mothership or other robots exceeding a preset duration threshold... When a network partition occurs, the time of occurrence is recorded. For the current partition Tasks to be executed Calculate its forward reachability:
[0009] ;
[0010] in For the task The current state, Indicates task Can be partitioned The robot inside performs the task; if Then the task It can be executed within this partition; if Then the task Entering conditional suspension state, a suspension record is generated, which includes the task identifier, the set of missing prerequisite tasks, the suspension time, and the timeout limit;
[0011] S3. Maintaining a Local View During Network Partitioning: During network partitioning, the robot... Continuously update its partial view For the directly observable task and robot states within this partition, updates are based on real-time sensor data. and For unobservable states outside the partition, extrapolation is performed based on historical information prior to the partition, and for each state variable... Mark its acquisition method identifier ,when For direct observation ,when When extrapolated ;
[0012] S4. Identify spatiotemporal overlap areas and calculate view reliability after communication is restored: When network communication is detected to have been restored, each robot reports a partial view of the network outage period to the mothership. For any two robots and Calculate the spatiotemporal overlap region between their local views. This spatiotemporal overlap region is defined as the set of spatiotemporal regions jointly observed by the two views during the partitioning period, specifically the set of spatiotemporal point pairs satisfying the following conditions: time... At the moment of partitioning Between the smaller of the two view timestamps, and spatial location Simultaneously in the robot and robots At any moment Within the sensor coverage area; in the spatiotemporal overlapping region, computational robots and robots Observational differences: For each spatiotemporal point within the overlapping region, calculate the Euclidean distance between the two observation data. If this distance exceeds a preset sensor noise threshold... If the observations are inconsistent, they are recorded as inconsistent observations; based on the consistency of observations in spatiotemporally overlapping regions, the computational robot... View credibility :
[0013] ;
[0014] in For robots and The spatiotemporal overlapping region For robots The union of the spatiotemporal overlap regions with all other robots. For robots and At the point of spacetime Observational differences For indicator functions, The time decay coefficient, The current moment;
[0015] S5. Reconstructing the global state based on spatiotemporal overlapping regions: For each global state variable... Extract the estimated value of this variable from the partial views of all robots. Calculate the reconstructed value of the state variable. : ;
[0016] in For robots The credibility of the view. For robots For state variables The observation weights, when the state variable In the robot Within the direct observation range, i.e. hour, When the state variable It's a robot. Extrapolation yields... hour, ,in For robots to state variables Distance of the location in space The spatial decay coefficient; the reconstructed global state Distribute the update to all robots and update the local view of each robot.
[0017] In step S2, for tasks that have entered a conditional suspension state... During the period of network outage, the following suspended task check process will be executed periodically:
[0018] Check if any new robots have been added to this partition. If so, retrieve the task completion status information from the newly added robot and determine if any of the missing prerequisite tasks have been completed by the new robot. If all the missing prerequisite tasks have been completed, then... Resume execution from the conditionally suspended state; if the current time exceeds the timeout limit recorded in the suspension log. Then, according to the task Priority-based demotion strategy: When a task's priority is higher than a preset threshold, the task is executed using preset default input data. The task is marked as being in a downgraded execution state; when the task priority is not higher than a preset threshold, a task failure reporting record is generated and reported to the mothership after communication is restored.
[0019] In step S4, the identification of the spatiotemporal overlapping region specifically includes:
[0020] For robots and robots Extract the two within the time period The trajectory data within the time period includes the location coordinates and sensor coverage parameters at each moment; for each discrete moment within this time period... Computational robots and robots Sensor coverage area and The sensor coverage area is determined by the robot's position, sensor type, sensor orientation, and effective sensing distance; the spatial intersection of the two coverage areas is calculated. If the intersection is not empty, then the spacetime point pair will be... Add a spatiotemporal overlap region, where The spatial location within the intersection region; the observed differences The calculation specifically involves: extracting the robot. At any moment Position Observational data and robots At any moment Position Observational data Calculate the Euclidean distance between the two. As observed differences.
[0021] In step S5, the global state variable includes at least one of the following:
[0022] The data includes the position coordinates of each robot, the battery status of each robot, the percentage of completion progress for each task, the robot identifier for each task, and environmental monitoring data within the urban renewal work area. For task completion progress state variables, a monotonicity constraint is added during reconstruction: if different robots have inconsistent estimates of the completion progress for the same task, the maximum value among all estimates is selected as the reconstructed value, because task completion progress has a unidirectional monotonic growth characteristic. For robot position coordinate state variables, a motion continuity constraint is added during reconstruction: if the reconstructed position sequence... There are positional changes between adjacent time points. Greater than the product of the robot's maximum moving speed and the time interval If the position sequence violates the motion continuity constraint, the position estimate of the robot will be interpolated and smoothed.
[0023] Following step S5, there is also an observational data verification step based on physical self-consistency constraints:
[0024] Construct a set of physically consistent constraints, which includes geometric constraints, heat conduction constraints, and motion continuity constraints, wherein: the geometric constraints are: for two robots and The same static object observed at the same time, the robot In position The angle at which the object was observed was ,robot In position The angle at which the object was observed was The two should satisfy the perspective geometric relationship, and their deviation should not exceed the geometric constraint tolerance threshold. The heat conduction constraint is: for spatial distances smaller than the effective heat conduction range... The temperature difference between the two temperature measurement points should not exceed the maximum temperature difference predicted based on the heat conduction model, and the deviation should not exceed the thermodynamic constraint tolerance threshold. The motion continuity constraint is as follows: the change in position of the same robot at adjacent moments should not exceed the product of the robot's maximum moving speed and the time interval, and the deviation should not exceed the kinematic constraint tolerance threshold. For each robot Each observation data Examine all physical constraints involved in the observation data and calculate the constraint violation degree of the observation data:
[0025] ;
[0026] in For observation data The set of constraints involved For observation data Constraints The deviation amount To constrain The tolerance threshold To constrain Normalized scale; computational robots The overall constraint violation rate is the sum of the violation rates of all its observed data; when the robot When the overall constraint violation exceeds the preset anomaly detection threshold, the observation data of the robot during the network outage is downweighted: in the global state reconstruction of step S5, the view confidence of the robot is reduced. Multiply by the penalty factor Among them, the penalty factor It decreases as the overall constraint violation rate increases.
[0027] The anomaly detection threshold is determined as follows:
[0028] Calculate the total set of constraint violations for all robots. Calculate the mean of the set. and standard deviation Set the anomaly detection threshold to ,in This is a preset standard deviation factor, with a value ranging from 1.5 to 3;
[0029] For robots with an overall constraint violation rate exceeding the anomaly detection threshold, further analysis is conducted on the distribution of constraint violation types: the percentage of violations of geometric constraints, thermal conduction constraints, and motion continuity constraints is statistically analyzed. If the proportion of simultaneous violations of two or more types of constraints exceeds 50%, the robot is deemed to have a systemic fault, and its penalty factor is adjusted accordingly. Set to 0.1; if only a single type of constraint is violated, it is judged as a partial sensor fault, and its penalty factor is set accordingly. Set it to 0.5.
[0030] And a multi-robot distributed autonomous collaborative control system for an urban renewal intelligent construction management platform in a network-off environment, including: a task dependency graph construction module, used to construct a task causal dependency graph, which contains a set of urban renewal operation tasks and the dependencies between tasks, with each task node having the required input data type, output data type, and a set of robots that can perform the task; and a local view initialization and maintenance module, used to initialize and maintain a local view for each robot, which contains the set of tasks visible to the robot, the set of other robot states visible to the robot, the set of observation data, the local view timestamp, and the identification of the acquisition method for each state variable;
[0031] The network partition detection and forward reachability judgment module is used to detect communication interruptions between the robot and the mothership or other robots, determine the occurrence of network partitions, and perform forward reachability analysis on the tasks to be executed in the current partition. It determines whether the prerequisites of the tasks have been completed or can be completed in this partition, and suspends and records the tasks whose forward reachability is not met. The spatiotemporal overlap region identification module is used to calculate the spatiotemporal overlap region between the local views of different robots after communication is restored. The spatiotemporal overlap region is defined as the set of spatiotemporal regions that different robots have jointly observed during the network partitioning period. The view credibility calculation module is used to calculate the local view credibility of each robot based on the observation consistency and observation timeliness within the spatiotemporal overlap region.
[0032] The global state reconstruction module is used to extract estimated values of each global state variable from the local views of all robots, and to reconstruct the global state by weighted fusion based on view confidence and observation weights. The observation weights are distinguished according to whether the state variables are directly observed or extrapolated.
[0033] The local view serves as the core intermediate state and is transmitted between multiple modules. The network partition detection and forward reachability judgment module determines the executability of the task based on the local view. The local view initialization and maintenance module continuously updates the local view during network outages. The spatiotemporal overlapping region identification module calculates the overlapping region based on multiple local views. The view credibility calculation module generates credibility based on the local view and the overlapping region. The global state reconstruction module reconstructs the global state based on the local view, credibility, and observation weights.
[0034] The calculation method for the view credibility is as follows: for the robot Within the spatiotemporal overlap region between the robot and all other robots, the proportion of spatiotemporal points with consistent observations is statistically analyzed, and a time decay weight is applied to each spatiotemporal point. The time decay weight decreases exponentially as the difference between the current time and the observation time increases. The observation weight is determined as follows: when the state variable is directly observed, the weight is 1; when the state variable is extrapolated, the weight decreases exponentially as the spatial distance from the robot to the location of the state variable increases.
[0035] The system also includes: a physical self-consistency constraint verification module, which is used to construct a set of physical self-consistency constraints, including geometric constraints, heat conduction constraints, and motion continuity constraints, calculate the constraint violation degree for the observation data of each robot, identify robots with systematic faults based on the overall constraint violation degree, and apply a penalty factor to the view credibility of the faulty robot during global state reconstruction;
[0036] The state transfer relationship between the physical self-consistency constraint verification module and the global state reconstruction module is as follows: the physical self-consistency constraint verification module receives the observation data of each robot, outputs the overall constraint violation degree and penalty factor of each robot, and the global state reconstruction module receives the penalty factor, multiplies the original view confidence by the penalty factor, and then performs weighted fusion.
[0037] The network partition detection and forward reachability determination module also includes:
[0038] The suspended task management submodule is used to maintain a queue of conditionally suspended tasks, periodically check whether the prerequisites of suspended tasks have been met or have timed out, restore tasks with met prerequisites to an executable state, and execute a degradation strategy or generate a failure report record for timed-out tasks based on their priority. The degradation strategy includes: when the task priority is higher than a preset threshold, executing the task using preset default input data and marking it as a degraded execution state; when the task priority is not higher than the preset threshold, not executing the task and generating a task failure report record.
[0039] The global state reconstruction module applies different constraints when reconstructing different types of state variables:
[0040] For state variables related to task completion progress, a monotonicity constraint is applied, and the maximum value among all robot estimates of task completion progress is selected as the reconstructed value. For state variables related to robot position coordinates, a motion continuity constraint is applied, and it is checked whether the position change between adjacent moments in the reconstructed position sequence exceeds the product of the maximum moving speed and the time interval. Position sequences that violate the motion continuity constraint are smoothed by interpolation. For state variables related to environmental detection data, a weighted fusion is performed directly according to view confidence and observation weight.
[0041] The physical self-consistency constraint verification module also includes:
[0042] The constraint violation type analysis submodule is used to count the proportion of times each robot violates geometric constraints, thermal conduction constraints, and motion continuity constraints. Based on the distribution characteristics of the violation types, the root cause of the failure is determined: when the proportion of robot violating two or more types of constraints simultaneously exceeds 50%, it is judged as a systemic failure, and the penalty factor is set to 0.1; when the robot only violates a single type of constraint, it is judged as a local sensor failure, and the penalty factor is set to 0.5; when the overall constraint violation rate of the robot does not exceed the anomaly detection threshold, no penalty is applied, and the penalty factor remains at 1.
[0043] Compared with the prior art, the present invention has the following advantages:
[0044] (1) Significantly improved global state reconstruction accuracy. This invention identifies spatiotemporal overlap regions between local views of different robots as anchor points, calculates view credibility based on observation consistency within the overlap regions, applies differentiated weights to directly observed data and extrapolated data, and applies a penalty factor to robots with sensor faults, thereby achieving accurate calibration of structurally biased local estimates. This method overcomes the shortcomings of existing simple averaging or weighted averaging methods, which do not distinguish between observation acquisition methods, do not consider spatiotemporal correlation, and ignore the impact of sensor faults. In multi-robot scenarios with sensor faults, the average error and maximum error of global state reconstruction in this invention are significantly lower than those of existing simple averaging methods, providing a high-precision global state basis for subsequent task decisions.
[0045] (2) Significantly improved task execution accuracy. This invention constructs a task causal dependency graph and performs forward reachability checks during network outage partitioning. Tasks whose prerequisite dependencies are not met are suspended and recorded instead of being executed directly, avoiding decision-making errors caused by using outdated data. The suspended task management submodule periodically checks whether prerequisite dependencies are met or have timed out, and executes degradation strategies or failure reports based on task priority, achieving automated management of task dependencies. This method overcomes the shortcomings of existing technologies that ignore task causal dependencies and directly use cached data from before network outages to execute tasks. The task execution error rate of this invention in different network partitioning scenarios is far lower than existing methods, ensuring the accuracy of structural safety assessments and reinforcement plan planning in urban renewal operations and avoiding safety hazards caused by erroneous decisions.
[0046] (3) Breakthrough in small-scale cluster fault detection capability. This invention constructs a set of physically self-consistent constraints (including geometric constraints, thermal conduction constraints, and motion continuity constraints) and utilizes the unforgeability of physical laws to detect sensor faults, overcoming the strict requirement of the number of nodes in the classic majority voting method. Even in small-scale partitions, as long as the observed data violates the physical constraints, a fault can be determined. Constraint violation type analysis further distinguishes between systemic faults and local sensor faults, providing a basis for weight reduction processing. This method overcomes the fundamental limitation of existing majority voting methods failing in small-scale clusters and being unable to effectively detect sensor faults. The fault detection accuracy of the method in small-scale robot clusters is significantly higher than that of existing majority voting methods, greatly improving the robustness and data reliability of multi-robot systems in offline environments.
[0047] (4) Applicability and scalability of the technical solution. This invention designs a special mechanism for the unique constraints of urban renewal network outage scenarios, while maintaining adaptability to different scenarios. The task dependency graph supports any directed acyclic graph structure, and the forward reachability judgment algorithm has low time complexity, making it suitable for large-scale task sets; the identification of spatiotemporal overlapping areas adopts spatial index optimization, supporting a large amount of trajectory data accumulated during long-term network outages; the physical constraint set adopts an scalable design, allowing users to add new constraint types according to specific application areas. This technical solution is not only applicable to the detection of underground parking lots in old residential areas, but can also be extended to multi-robot collaborative operation scenarios in network outage or weak network environments such as tunnel inspection, mine exploration, and post-disaster emergency rescue. Attached Figure Description
[0048] Figure 1 A flowchart of a multi-robot distributed autonomous collaborative control method for an intelligent construction management platform for urban renewal in a network-disconnected environment;
[0049] Figure 2Architecture diagram of a multi-robot distributed autonomous collaborative control system for an intelligent construction management platform for urban renewal in a network-disconnected environment. Detailed Implementation
[0050] The present invention will be further described below with reference to the accompanying drawings and embodiments.
[0051] It should be noted that the following detailed descriptions are exemplary and intended to provide further explanation of this application. Unless otherwise specified, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains.
[0052] It should be noted that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the exemplary embodiments according to this application. As used herein, the singular form is intended to include the plural form as well, unless the context clearly indicates otherwise. Furthermore, it should be understood that when the terms "comprising" and / or "including" are used in this specification, they indicate the presence of features, steps, operations, devices, components, and / or combinations thereof.
[0053] Example 1
[0054] This invention uses a typical urban renewal scenario for illustration. The scenario involves the planning and reinforcement of the structural safety of an underground parking garage in an old residential community built in the 1980s. The parking garage is a two-level underground structure, with the first underground level (B1) covering approximately 2400 square meters and the second underground level (B2) covering approximately 1800 square meters, both with a floor height of 2.8 meters. The parking garage has been in use for over 40 years, experiencing multiple instances of groundwater leakage and micro-vibrations caused by nearby subway construction, resulting in cracks in some load-bearing columns and beams. A comprehensive structural safety inspection and reinforcement plan are necessary. Due to the parking garage still being in use and the complex underground environment, including numerous vehicles, equipment pipelines, and lighting blind spots, manual inspection is inefficient and poses safety risks. Therefore, a multi-robot collaborative operation method was adopted.
[0055] The operational plan deployed three ground inspection robots, numbered R1, R2, and R3. Each robot was equipped with a laser scanner, thermal imager, high-resolution crack detection camera, inertial measurement unit, and LoRa wireless communication module. The mothership control system was located at the entrance of the ground parking lot, communicating with the cloud server via a 5G network and maintaining connection with the underground robots via a Mesh self-organizing network. However, in actual operation, it was found that when the robots descended from level B1 to deeper into level B2, due to the shielding effect of the concrete floor slab and the fact that some areas of level B2 were more than 15 meters away from the ground entrance (including vertical depth and horizontal distance), both the 5G signal and the Mesh network signal were completely interrupted, and the robots entered a network-disconnected environment. At this time, the robots could only communicate locally via LoRa, and the communication range was limited by the walls inside the parking lot, with the actual effective communication distance being approximately 30 to 50 meters.
[0056] The task plan is structured as a three-stage dependency chain. The first stage is structural crack detection, including Task A1 (crack scanning of load-bearing columns on the west side of floor B2, covering 12 columns), Task A2 (crack scanning of main beams on the west side of floor B2, covering 8 main beams), Task A3 (crack scanning of load-bearing columns on the east side of floor B2, covering 10 columns), Task A4 (crack scanning of main beams on the east side of floor B2, covering 6 main beams), and Task A5 (supplementary scanning of key nodes on floor B1, covering 4 floor-beam-column connection nodes). The second stage is load-bearing capacity assessment, including Task B1 (calculating the load-bearing capacity attenuation coefficient of the west side structure based on crack data from A1 and A2) and Task B2 (calculating the load-bearing capacity attenuation coefficient of the east side structure based on crack data from A3 and A4). The third stage is reinforcement point location identification, Task C, which depends on the outputs of B1 and B2 and requires a comprehensive assessment of the load-bearing capacity distribution of the entire floor B2 to determine the locations of columns and beams requiring reinforcement. The dependencies between these tasks constitute a task causal dependency graph. , where the set of nodes Directed edge set Each task node has the following attributes: Task A1's input is empty (initial task), and its output is the point cloud data of the crack in the west-side load-bearing column (including crack location coordinates, crack width, and crack length). The set of executable robots is... (Because A1 is located in the western region, R3 is responsible for the eastern region); the input of task B1 is the output data of A1 and A2, and the output is the load-bearing capacity attenuation coefficient. The set of executable robots is... .
[0057] Before the operation began, the three robots maintained a 5G connection with the mothership at the ground entrance, and the mothership issued a task dependency map to each robot. The initial task allocation scheme is as follows: R1 and R2 are responsible for tasks A1 and A2 in the western area, R3 is responsible for tasks A3 and A4 in the eastern area, and tasks A5, B1, B2, and C are not yet assigned. At this point, each robot initializes its local view. Taking robot R1 as an example, its local view is initialized as follows: ,in The set of tasks visible to R1 (initially all tasks are visible). Other robot states visible to R1 The set of observation data (initially empty). For the partial view timestamp (assuming the job start time is...) (seconds). Partial views of R2 and R3 and The initialization method is the same. Furthermore, for each state variable... Initialize the acquisition method identifier Taking R1 as an example, R1 identifies its own status (location, battery level, current task) as follows: (Direct observation) The initial labels for the states of R2 and R3 are: and (Acquired from the mothership via the 5G network, considered direct observation), the initial identifier for the mission status is... (Global mission status obtained from the mothership).
[0058] After the operation begins, three robots enter from the ground entrance, with their coordinates set at the origin (0,0,0), where the z-axis is positive downwards. They descend along the ramp to level B1 (depth z=3.5m), and then descend through the vehicular passage in the middle of level B1 to level B2 (depth z=6.8m). At 10:00, R1 and R2 arrive at the western area of level B2 and begin executing mission A1. R1's position is (-25, -8, 6.8) (unit: meters, with the ground entrance as the origin, x-axis to the west is negative, y-axis to the south is negative), and R2's position is (-32, -12, 6.8). R3 follows slightly later. The system arrives at the eastern area of B2 level at position (28, -15, 6.8) and begins executing mission A3. At this time, R1 detects that the 5G signal strength with the mothership has dropped below -110dBm (the communication interruption threshold is -105dBm). After 3 seconds, the communication interruption is confirmed, and the moment of the partition is recorded. Seconds. R1 broadcasts a "network partition announcement" to the local LoRa network. R2 and R3 also confirm the main link interruption upon receiving the announcement. Due to the presence of a 300mm thick concrete shear wall (containing steel mesh) between the west and east sides of layer B2, the LoRa signal is severely attenuated. R1 and R2 can communicate with each other (at a distance of approximately 10 meters, signal strength -75dBm), but cannot communicate with R3 (the straight-line distance between R3 and R1 is approximately 54 meters, and the signal is blocked by the shear wall, with a signal strength below the reception threshold of -120dBm). Therefore, the network partition consists of two independent partitions: partition 1 Includes R1 and R2, partitions Includes only R3.
[0059] After a network partition occurs, each robot immediately performs a forward reachability check. Taking R3 as an example, R3 is currently responsible for task A3. The forward reachability check for this task is: checking the set of all preceding tasks for task A3 (by querying the task dependency graph). (The middle pointer points to the directed edge of A3), and it is found that A3 has no preceding task (i.e., there is no edge). ),therefore Task A3 can be partitioned R3 continues executing task A3, using a laser scanner and crack detection camera to scan the 10 load-bearing columns on the east side. Simultaneously, R3 checks the next task in the task queue, A4, and finds that A4 also has no preceding tasks. A4 can also be executed. However, when R3 examines task B2 (whose prerequisites are A3 and A4), it calculates forward reachability:
[0060] ;
[0061] At this time, A3 is being executed (status is in_progress), but (R3 is capable of executing A3), A4 has not yet started but (R3 is capable of executing A4), therefore Task B2 is in partition Within reach. R3 further examines task C, whose prerequisites are B1 and B2. B2 is in the partition. B1 is reachable, but B1's prerequisites are A1 and A2. A1 and A2 are handled by R1 and R2, and are located in the partition. Inside. R3 queries the set of executable robots for task A1 and finds it to be... None of them are in the partition Inside, therefore Similarly... At this point, the states of A1 and A2 are not yet complete (the state is in_progress or pending), therefore:
[0062] ;
[0063] Task B1 in partition Since it is not accessible internally, the forward reachability of task C is:
[0064] ;
[0065] Task C in partition Unreachable. R3 generates a pending record: This indicates that task C is suspended due to the absence of its predecessor task B1, with a suspension period of 210 seconds and a timeout limit set to 1200 seconds (20 minutes, based on task priority and estimated network outage duration). Similarly, partitions... After completing tasks A1 and A2, R1 and R2 in the process will also check the forward reachability of tasks B2 and C, and find that B2 depends on A3 and A4 (located in partition). B2 in partition The interior is inaccessible, and consequently, C is also inaccessible.
[0066] During the period of network outage and partitioning, each robot continuously updates its local view. Taking R1 as an example, in Instant During the 667-second period, R1 executes task A1 and maintains communication with R2 via LoRa. R1 updates the directly observable state within its partition in real time: R1's own position changes continuously as the task progresses (moving from (-25, -8, 6.8) to (-18, -5, 6.8), a distance of approximately 9 meters), its battery level decreases from 95% to 82%, and the completion progress of task A1 increases from 0% to 100%. The method of acquiring these state variables remains unchanged. (Direct observation). R1 receives status broadcasts from R2 via LoRa (R2 broadcasts a status update every 10 seconds), learning R2's location, battery level, and task progress. These status variables are also identified by... (Acquired via direct LoRa communication, considered as direct observation). However, for partitions... R3 and R1 in the middle cannot receive their status via LoRa; they can only receive it based on the status before the partition occurs. Extrapolate from historical information (seconds). The last known state of R3 recorded by R1 is: position (28, -15, 6.8), battery 98%, task A3 has just started, progress is 0%. R1 extrapolates based on the estimated workload of task A3 (inspecting 10 load-bearing columns, estimated time 600 seconds) and the average moving speed of R3 (0.8 m / s): at the current moment R3 should have executed task A3 for approximately 667 seconds, with an outward propagation of [value missing]. (Take the minimum value to prevent exceeding 100%), the extrapolated position is the estimated position of R3 moving along the predetermined path within the eastern region (based on the detection point of task A3), and the extrapolated charge is... (Based on historical power consumption rate of R3).
[0067] The state variables obtained from these extrapolations are labeled as R1 partial view Updated to: Includes all tasks and their status (A1 and A2 are completed, A3 and A4 are extrapolated to be in progress or completed, B1, B2, and C have not started). Includes the directly observed state of R2 and the extrapolated state of R3. Includes crack point cloud data collected by R1 during execution of A1 (a total of 23 cracks were detected, with a maximum crack width of 2.8 mm, located on the surface of the column (-20, -6, 6.8)). Second.
[0068] During the network outage, partition A sensor malfunction occurred. During task A2 (scanning cracks in the west main beam), the thermal imager of robot R2 experienced an internal temperature rise due to prolonged operation, causing calibration parameters to drift and resulting in systematic deviations in the temperature measurement results. Specifically, in At 10:00, R2 moved to position (-28, -10, 6.8), and the surface temperature of the load-bearing column C7 near this position was measured using a thermal imager, with a reading of 32.5°C. Previously... At a certain time, R1 passed through the location (-25, -8, 6.8) (approximately 3.6 meters from column C7) and measured the surface temperature of column C7 using its own thermal imager, reading 18.2°C. The time interval between the two measurements was 40 seconds, the spatial distance was 3.6 meters, and the temperature difference reached 14.3°C. This temperature difference far exceeds the normal range: according to the heat conduction model, in an underground parking environment (ambient temperature approximately 16°C, no direct heat source), the surface temperature difference of concrete components at adjacent locations should not exceed 2°C (considering factors such as local ventilation and humidity differences).
[0069] The observation data from R2 clearly violated the thermal conduction constraint. Furthermore, during subsequent scans, R2 measured a temperature of 35.1°C on another load-bearing column C9 (position (-30, -14, 6.8)), which is also abnormally high. R1 and R2 stored their observation data locally during the network outage, but physical constraint verification has not yet been performed (this verification requires cross-referencing observation data from multiple robots during the network outage). Only R1 and R2 are present, and their spatiotemporal observations of the same target differ significantly, making real-time anomaly detection impossible. Fault observation data for R2 is recorded in its partial view. Observational data set The data includes temperature measurement records for column C7. Temperature records of column C9 .
[0070] exist At the specified time, after completing missions A1 and A2, R1 and R2 decided to move to the vicinity of the entrance to level B2 (near the vehicular passageway of level B1) to attempt to restore communication with the mothership. R1 and R2 then returned along their original route. The system arrives at the location (-10, -3, 6.8) within seconds, approximately 8 meters from the entrance to layer B2. At this point, R1 detects that the 5G signal strength has recovered to -102dBm, exceeding the communication interruption threshold of -105dBm. After 5 seconds, the main link is confirmed to have recovered, and the communication recovery time is recorded. Seconds. R1 reports a "Network Restoration Notice" to the mothership and sends a partial view of the network outage period. Report to the mothership. R2 also restores communication and reports. After completing tasks A3 and A4 in the eastern area, R3 also moved to the vicinity of the entrance to level B2. Communication was restored and reported within seconds. The mothership collected partial views of the three robots. Then, the global state reconstruction process is initiated.
[0071] The first step in global state reconstruction is to identify the spatiotemporal overlap between different local views. The mothership extracts data from the three robots during the network outage (…). The trajectory data (from the moment each entity resumes communication) is recorded. R1's trajectory contains 125 sampling points (sampling frequency 2Hz), with each sampling point recording the time... Location coordinates Sensor orientation (yaw angle) The effective sensing distance of R1's laser scanner is 80 meters, but in an underground parking environment, due to obstructions from walls and pillars, the actual coverage area depends on line-of-sight accessibility. To simplify calculations, it is assumed that the sensor coverage area of R1 at each sampling point is centered on R1 with a radius of... The radius of the circular area is 1 meter (this radius is based on the effective detection range of the laser scanner in a dense obstacle environment and takes into account column occlusion). The sensor coverage area of R1 is represented as:
[0072] ;
[0073] Here it is assumed that the coverage area is within the B2 layer plane. (meters), ignoring differences in vertical coverage. Sensor coverage areas of R2 and R3. and The definitions are similar.
[0074] For robots R1 and R2, calculate their spatiotemporal overlap region. Both R1 and R2 were located in the western region of layer B2 during the network outage, and their time ranges overlapped. The timeframe is 850 seconds (since the communication recovery times of R1 and R2 are close, this is taken as a common upper bound). Within this timeframe, the intersection of the sensor coverage areas of both R1 and R2 is calculated at each sampling time. Taking seconds as an example, R1 is located at (-25, -8, 6.8), and R2 is located at (-32, -12, 6.8), with a distance of approximately 8.5 meters between them. The area covered by R1 is a disk with a radius of 15 meters centered at (-25, -8), and the area covered by R2 is a disk with a radius of 15 meters centered at (-32, -12). The intersection area of the two disks can be calculated using a geometric formula (the formula for the intersection area of two circles involves the distance between their centers). meters and radius (meters), with a non-empty intersection. Within the intersection region, select representative spatial locations. (Near the midpoint of the line connecting the two centers), the spacetime point join in For time periods This process is repeated for all sampling moments within a second, eventually yielding... It contains approximately 320 spatiotemporal points (one sampled every 2 seconds on average; at times the two robots are too far apart to overlap, so the overlapping areas are not included).
[0075] For robots R1 and R3, during the network outage, they were located in the western and eastern regions respectively, more than 50 meters apart and obscured by shear walls. However, before the network outage occurred ( (seconds), all three robots were located in the entrance area of level B2 (coordinates approximately (-5, -2, 6.8) to (5, -2, 6.8)), and there was a brief period of shared observation. Specifically, in Instant During the specified time interval, R1, R2, and R3 successively arrived at the entrance to level B2. The sensor coverage areas of all three robots included the load-bearing column C1 (location (0, -2, 6.8)) near the entrance. This period falls before the partitioning occurs; however, when calculating the spatiotemporal overlap region, the common observation period before the partitioning occurs is also considered (because observations during this period can be used to calibrate the sensor consistency of the three robots). Spatiotemporal overlap region It contains approximately 15 spatiotemporal points, distributed in the entrance area. and Similarly, it also contains about 15 spatiotemporal points.
[0076] After calculating the spatiotemporal overlap region, the mothership performs calculations for each spatiotemporal point. Extract observation data from the two robots and calculate the observation differences. With R1 and R2 at spacetime points (Taking observations close to cylinder C7 as an example.) R1 in The surface temperature of column C7 was measured at 18.2°C using a thermal imager; R2 was at... Measuring the same cylinder at 12:00, the thermal imager reading was 32.5°C. With a time difference of 40 seconds and similar spatial locations (both on the C7 surface of cylinders), the observed difference was... This difference far exceeds the preset sensor noise threshold. (The thermal imager's thermal sensitivity is 0.05°C; considering environmental factors and measurement angle differences, the threshold is set to 1.5°C), therefore, it is determined to be an inconsistent observation, and the indicator function... .right This calculation was repeated for all spatiotemporal points, and the number of consistent and inconsistent observations for R1 and R2 were counted. The results showed that among the 320 spatiotemporal points, the observational differences among 300 points were less than [a certain value]. (Consistent observations) The observational differences among the 20 spatiotemporal points are greater than (Inconsistent observations). All 20 inconsistent observations are related to thermal imager temperature data from R2 (R2 in...). Instant (Temperature readings during the second period are systematically high).
[0077] Based on the observation consistency in the spatiotemporal overlap region, the view reliability of each robot is calculated. Taking R1 as an example, the spatiotemporal overlap region between R1 and R2... Contains 320 spatiotemporal points, with spatiotemporal overlap with R3. Contains 15 spatiotemporal points, totaling A spacetime point. For each spacetime point Calculate the time decay weight ,in Seconds (the moment R3 resumes communication, as the current moment of global state reconstruction). (Time decay factor, unit is) (Based on spacetime points) For example, the time decay weight is The view confidence level of R1 is calculated as follows:
[0078] ;
[0079] Substitute the values: The average time for 300 consistent observation points is approximately Seconds (midpoint of the time interval [183, 850]), with a time decay weight of approximately Contribution The 20 inconsistent observations are not included (indicator function is 0). The average time of the 15 consistent observation points is approximately seconds, with a time decay weight of approximately Contribution .therefore Similarly, calculate the view confidence level of R2. The contribution of the overlapping region between R2 and R1 is: 300 out of 320 spatiotemporal points are consistent (the same as calculated for R1), contributing approximately 0.564; however, in the overlapping region between R2 and R3, due to a malfunction in the thermal imager of R2, some observations are inconsistent with R3. Assume... Of the 15 spatiotemporal points, 3 are inconsistent and 12 are consistent, contributing [to a certain percentage]. ,therefore R3's view credibility The overlapping areas of R3 with R1 and R2 are all near the entrance, and the sensor of R3 is not faulty; the observations are basically consistent with those of R1 and R2. Numerically, the reliability of the three robots is similar, but R2 is slightly lower than R1 and R3, reflecting the observation bias caused by the malfunction of their thermal imagers.
[0080] After calculating the view confidence level, the mothership performs an observation data verification step based on physical consistency constraints. This step further detects sensor faults in R2 and quantifies the degree of fault. The mothership constructs a set of physical consistency constraints, including geometric constraints, thermal conduction constraints, and motion continuity constraints. The constraint violation degree is calculated for each observation data point from R2. (The last sentence appears to be incomplete and possibly refers to a different process.) Temperature measurement record of column C7 in seconds For example, this observation involves thermal conduction constraints: finding temperature records from other robots near R2 at similar spatiotemporal locations. R1 is... The temperature measurement record of column C7 in seconds is as follows The spatial distance between the two records is meters, less than the effective range of heat conduction The time difference is 40 seconds. In an underground parking lot environment (without rapid heat source changes), the temperature should not change drastically within 40 seconds. Based on the heat conduction model, the predicted maximum temperature difference between the two temperature measurement points is [value missing]. (Estimated based on concrete thermal diffusivity and environmental conditions). The actual temperature difference is... The deviation is Exceeding the thermodynamic constraint tolerance threshold Normalized scale (Based on the typical variation range of concrete surface temperature), the constraint violation contribution of this observation is:
[0081] ;
[0082] Other temperature measurement records from R2 (such as the temperature measurement of column C9) also exhibit similar violations. Furthermore, some crack detection records from R2 involve geometric constraint verification: both R1 and R2 scanned a load-bearing column C5 on the west side, and R1 detected crack L1 located at coordinates on the column surface. R2 detected the same crack located at The difference between the two is approximately 0.54 meters. Considering the difference in the observation angles of the two robots, this difference is within the tolerance range of the geometric constraints (geometric constraint tolerance threshold). (meters), no constraint violation. Motion continuity constraint check of R2: R2 in... Seconds in ,exist Seconds in The change in position is meters, time interval seconds, movement speed is meters per second, far less than the robot's maximum moving speed. The speed is meters per second, which does not violate the motion continuity constraint.
[0083] Calculate the overall constraint violation degree by combining all observation data of R2. R2 recorded a total of 85 observations during the network outage, of which 12 involved violations of thermal conduction constraints (all temperature measurements), with an average violation degree of approximately 2.2 per observation, totaling approximately [missing information]. The remaining 73 observations had no constraint violations, with a violation degree of 0. Therefore... The observed data for R1 and R3 showed no significant constraint violations. (Only minor deviations caused by a small amount of measurement noise) Calculate the total set of constraint violations for all robots. mean Standard deviation The anomaly detection threshold is set to... (Pick The overall constraint violation rate of R2, 26.4, is below the threshold of 33.67, but close to it, placing it within a suspicious range. Further analysis of the constraint violation type distribution of R2 reveals that all 12 violation records are related to heat conduction constraints, violating only a single type of constraint. This is determined to be a local sensor fault (thermal imager fault), and its penalty factor is set to... Since R1 and R3 did not exceed the threshold, the penalty factor remained unchanged. .
[0084] During global state reconstruction, estimates for each global state variable are extracted from the three local views and then weighted and fused. Taking the completion progress of task A3 as an example, the local view of R1... The estimate for A3 is 100% (based on extrapolation), and the acquisition method is identified. (Extrapolation); Partial view of R2 The estimate for A3 is 100% (also based on extrapolation). ; R3 partial view The estimate for A3 is 100% (direct observation). The distance from R3 to the execution area of task A3 (R3 is within the execution region), the distance from R1 to the execution region of A3 Meters (straight-line distance from west to east), distance from R2 to the A3 execution area. Meters. Observation weight calculation: (Direct observation) (Extrapolation, spatial attenuation coefficient) rice ), After considering the penalty factor, the view confidence of R2 is adjusted to... The reconstructed progress value for task A3 is:
[0085] ;
[0086] Since the direct observation weight of R3 is much greater than the extrapolation weight of R1 and R2, the reconstructed value is mainly determined by R3, resulting in 100% consistency with the observations in R3. This demonstrates the differentiated processing of direct observation and extrapolation data in the method of this invention.
[0087] For the surface temperature of cylinder C7 (both R1 and R2 were observed, but the values are inconsistent), the reconstruction process is as follows. The observed value for R1 is 18.2°C (direct observation). , R2 was observed at 32.5°C (direct observation). , The column was not observed in R3. After considering the penalty factor, the reconstructed temperature of cylinder C7 is:
[0088] ;
[0089] The reconstructed value of 22.9°C falls between the observations of R1 and R2, but is closer to the observation of R1 (because the confidence level of R2 is reduced by the penalty factor). In fact, subsequent manual verification revealed that the true surface temperature of column C7 was approximately 18°C (close to the observation of R1). The method of this invention successfully mitigated the impact of the faulty sensor through physical constraint verification and confidence level reduction.
[0090] For robot position coordinates and other state variables, motion continuity constraints are added during reconstruction. Taking the position sequence of R3 as an example, the estimate of R3's position in the local views of R1 and R2 is an extrapolated value (based on R3's position in...). The last known position and predicted trajectory (seconds), the position estimate in the local view of R3 itself is a direct observation. The reconstructed R3 position sequence is: Examine the positional changes between adjacent time points: Seconds and Seconds, position change is Meters, time interval 10 seconds, imply a movement speed of 0.78 meters / second, less than The speed is m / s, satisfying the motion continuity constraint. The position sequence at all times does not violate the constraint, so no interpolation smoothing is required.
[0091] After the global state reconstruction is complete, the mothership will display the reconstructed global state. The task is distributed to the three robots, updating their local views. At this point, R1 and R2 learn that tasks A3 and A4 are complete (confirming previous extrapolation estimates), and R3 learns that tasks A1 and A2 are complete. The three robots reassess task feasibility based on the updated global state. Task B1's prerequisites A1 and A2 are complete, and Task B2's prerequisites A3 and A4 are complete; both are executable. Task C's prerequisites B1 and B2 are not yet complete and must wait for B1 and B2 to finish. Finally, R1 executes Task B1 (calculating the bearing capacity attenuation coefficient on the west side based on crack data from A1 and A2, with a result of 0.82), R3 executes Task B2 (calculating the bearing capacity attenuation coefficient on the east side based on crack data from A3 and A4, with a result of 0.78), and then R2 executes Task C (combining the outputs of B1 and B2, identifying 18 load-bearing columns and beams requiring reinforcement), completing the entire workflow.
[0092] Example 2
[0093] To further verify the necessity and effectiveness of the technical solution of this invention, the following comparative experiment was designed. The comparative experiment was based on the same detection scenario of underground parking lots in old residential areas, using the same three robots (R1, R2, R3) and the same task dependency graph. However, the comparative method and the method of this invention were used respectively in the three stages of global state reconstruction, task executability judgment, and fault detection, and the performance differences between the two were compared.
[0094] Comparative Experiment 1 compares global state reconstruction methods. This experiment compares the "simple averaging method" with the "weighted fusion method based on spatiotemporal overlapping region anchoring," the latter being the method of this invention, and examines the difference in global state reconstruction accuracy. The simple averaging method is defined as: for each global state variable... Extract estimates from partial views of all robots. The reconstructed value is the arithmetic mean. This method does not consider factors such as view credibility, observation weight, or spatiotemporal overlap. As shown in the foregoing embodiments, the method of this invention is based on view credibility. and observation weights Perform weighted fusion.
[0095] Experimental Setup: During the network outage, robots R1, R2, and R3 observed 15 key measurement points on floor B2 (including surface temperature of load-bearing columns, coordinates of crack locations, and floor slab settlement). The ground truth value for each measurement point was obtained manually using a high-precision instrument after the operation was completed. Due to the partitioning of the three robots, different observation methods were used for different measurement points: some measurement points were directly observed by only one robot, while others were observed by two or three robots simultaneously (located in spatiotemporal overlap areas). In addition, a malfunction in the thermal imager of R2 resulted in a systematic overestimation of its temperature measurements (averaging approximately 12°C higher). The experiment reconstructed the state variables of the 15 measurement points using both the simple averaging method and the method of this invention, calculated the reconstruction error for each measurement point, and statistically analyzed the mean absolute error (MAE) and maximum error.
[0096] The experimental results are as follows: For the surface temperature of load-bearing column C7 (true value 18.0°C, observed value 18.2°C at R1, observed value 32.5°C at R2, and unobserved value at R3), the reconstructed value using the simple averaging method is... (Averaging only for observed R1 and R2), error 7.35°C; the reconstructed value of the method of this invention is 22.9°C (calculated as described above), error 4.9°C. For the location coordinates of crack L3 (true value) R1 observation R2 observation R3 extrapolation The reconstruction value of the simple averaging method is The Euclidean distance error from the true value is rice;
[0097] The method of this invention considers R3 as an extrapolation (with lower observation weights) and the observations of R1 and R2 as being located in a spatiotemporally overlapping region, so the reconstructed value is more biased towards the average of R1 and R2. The error is 0.05 meters. For the completion progress of task A3, both the simple averaging method and the method of this invention reconstruct the value as 100%, with an error of 0. However, for the completion time of task A4 (the actual value...) Seconds, R1 extrapolation seconds, R2 extrapolation seconds, R3 direct observation (seconds), the reconstructed value of the simple averaging method is The reconstructed value of the method of this invention is 869 seconds, with an error of 17 seconds; the reconstructed value of the method of this invention is 1 second.
[0098] The reconstruction error of 15 measurement points was statistically analyzed, and the mean absolute error (MAE) using the simple averaging method was calculated. (Units vary depending on the type of measurement point; temperature is in °C, location is in meters, and time is in seconds, calculated after normalization). The maximum error is 7.35°C; the mean absolute error of the method of this invention is MAE. The maximum error was 4.9°C. The relative error decreased to The results demonstrate that the method of this invention significantly improves the accuracy of global state reconstruction by distinguishing between direct observation and extrapolated data, anchoring view credibility using spatiotemporal overlap regions, and reducing the weight of faulty sensors. Particularly in the presence of sensor faults (such as R2's thermal imager), simple averaging methods fail to identify anomalous data, leading to severely deviated reconstructed values from the true values; while the method of this invention effectively suppresses the impact of anomalous data by verifying fault identification through physical constraints and reducing their weight.
[0099] Comparative Experiment 2 compares methods for determining task executability. This experiment compares "direct execution without forward reachability determination" with "forward reachability determination and conditional suspension mechanism based on task causal dependency graph," the latter being the method of this invention, highlighting the difference in task execution correctness. The comparative method without forward reachability determination is defined as follows: during a network outage partition, the robot directly executes the task according to a preset task allocation scheme without checking whether the prerequisite dependencies are met. If the input data that the task depends on is unavailable (because the prerequisite task has not yet been completed or is located in another partition), the robot uses locally cached historical data to execute the task. As shown in the aforementioned embodiments, the method of this invention performs forward reachability determination before executing the task and generates a conditional suspension record for unreachable tasks.
[0100] The experiment simulated 10 network outage scenarios, with differences in network partitioning, task dependencies, and outage duration for each scenario. The task execution error rate was recorded for each scenario, defined as the ratio of "the number of tasks executed using outdated or incorrect input data" to "the total number of tasks." Specific judgment criteria: If a task... Prerequisites The task was completed by another partition during the network outage, while the robot in this partition used the code from before the outage. Execute historical output (not the latest output) If the task fails, it is considered an execution error; Prerequisites The task was not completed during the internet outage, but the robot in this partition used it. Execute the default output or empty output This is also considered an execution error. The comparison method and the method of this invention are run in the same scenario, and the task execution error rate is statistically analyzed.
[0101] The experimental results are as follows. In scenario 1 (same as the previous embodiment: R1 and R2 are partitions),... R3 is a partition Tasks A1 and A2 in Completed, tasks A3 and A4 are in In the completed section, the comparison method's execution process is as follows: R3 in After completing tasks A3 and A4, R3 checks the task queue and finds task C pending execution. R3 executes task C directly (without performing a forward reachability check), but task C depends on the outputs of tasks B1 and B2. Task B1 depends on A1 and A2 (located in partitions). The A1 and A2 output data cached locally by R3 are the initial state before the network outage (A1 and A2 have not yet started, and the output is empty). R3 uses the empty output as the input of B1, calculates the incorrect bearing capacity attenuation coefficient on the west side, and then executes task C based on the incorrect B1 output and the correct B2 output (calculated by R3 itself). The marked reinforcement points only cover the eastern area (the western side is misjudged as not needing reinforcement), causing a serious error.
[0102] In this scenario, the total number of tasks is 8 (A1-A5, B1, B2, C), and the number of tasks that failed to execute is 2 (B1 and C). The task execution error rate is... The operation process of the method of the present invention is as described in the aforementioned embodiment: When R3 checks task C, it finds that the forward reachability is not satisfied (B1 is unreachable), so it suspends task C and waits for communication to be restored before obtaining the latest outputs of A1 and A2 and then executing it. The task execution error rate is 0.
[0103] In scenario 2 (4 robots R1-R4, network divided into two partitions with 2 robots each, more complex task dependency chains), the task execution error rate of the comparative method was 40% (4 out of 10 tasks used outdated data), while the method of this invention had 0%. In scenario 3 (network outage duration extended to 30 minutes, task dependencies involving three levels of nesting), the task execution error rate of the comparative method was 35%, while the method of this invention had 0%. In scenario 4 (a robot failed and restarted during network outage, losing some task states), the task execution error rate of the comparative method was 50%, while the method of this invention had 5% (a very small number of tasks failed to obtain the previous task states after the failed robot restarted, resulting in a degradation strategy). The average task execution error rate for the 10 scenarios was 32.8% for the comparative method and 0.5% for the method of this invention. The relative error rate was reduced to... .
[0104] Further analysis reveals the severity of the consequences of task execution errors. In the comparative methods, incorrectly executed tasks may lead to safety hazards: for example, in scenario 1, task C incorrectly identifies reinforcement points, omitting the load-bearing column on the west side that needs reinforcement, potentially causing structural safety accidents in actual engineering. In scenario 5 (involving floor slab demolition tasks, dependent on the completion of load-bearing column reinforcement), the comparative methods fail to determine whether the prerequisite task (reinforcement) has been completed before directly executing the demolition task, resulting in structural instability risks. The method of this invention, through a conditional suspension mechanism, ensures that tasks are executed only when prerequisite dependencies are met, avoiding the aforementioned safety hazards. Furthermore, the comparative methods require manual checks after communication is restored to determine which tasks use outdated data and need to be re-executed, increasing labor costs; while the conditional suspension mechanism of the method of this invention automatically manages task dependencies, automatically resuming suspended tasks after communication is restored, without manual intervention.
[0105] Comparative Experiment 3 compares fault detection methods. This experiment compares the fault detection performance of the "Byzantine fault-tolerant method based on majority voting" and the "Byzantine fault detection method based on physical self-consistency constraints" in a small-scale robot swarm. The majority voting method is defined as follows: for each observation, collect all robots' observations of the same target; if the difference between a robot's observation and the majority of robots' observations exceeds a threshold, then that robot is considered faulty. Classical Byzantine fault-tolerant theory requires... ( For the total number of robots, (This refers to the number of faulty robots), meaning at least four robots are needed to tolerate one fault. In the three-robot scenario of this experiment, the majority voting method theoretically cannot tolerate one fault (because...). However, for comparison, a majority voting approach is still attempted: when two of the three robots have consistent observations and one robot's observation deviates, the deviating robot is determined to be faulty; when all three observations are inconsistent, a fault cannot be determined. As shown in the aforementioned embodiments, the method of this invention verifies fault detection through physical self-consistency constraints.
[0106] The experiment was designed to randomly select one robot from 10 network outage scenarios and inject sensor faults (including thermal imager temperature drift, laser scanner ranging offset, IMU angle drift, etc.). Fault types included systematic biases (e.g., R2 thermal imager temperature is 12°C higher) and increased random noise (e.g., laser scanner ranging standard deviation increases from 15mm to 50mm). The fault detection accuracy and false alarm rate were recorded for each scenario.
[0107] The experimental results are as follows. In scenario 1 (where the R2 thermal imager system is systematically over-regulated, as described in the previous embodiment), the majority voting method operates as follows: For the temperature observation of cylinder C7 (R1 observed 18.2°C, R2 observed 32.5°C, R3 did not observe), only two robots made observations, and these observations were inconsistent, failing to form a majority and thus preventing fault determination. For the temperature observation of cylinder C9 (R1 did not observe, R2 observed 35.1°C, R3 observed 17.5°C), similarly, only two robots made observations, and these observations were inconsistent, preventing fault determination. Throughout the entire scenario, the majority voting method failed to identify the fault in R2, resulting in a fault detection accuracy of 0%. The method of this invention operates as described in the previous embodiment: Through thermal conduction constraint verification, it was found that the temperature observation system of R2 systematically violated the constraints, determining that R2 has a sensor fault, with a fault detection accuracy of 100%.
[0108] In scenario 2, the majority voting method compares the distance measurements of a load-bearing column by R1, R2, and R3 (R1 measures 15.8 meters, R2 measures 15.0 meters, and R3 measures 14.9 meters). The measurements of R2 and R3 are close (difference of 0.1 meters), forming a majority and determining that R1's measurement deviates, thus identifying a fault in R1 with a fault detection accuracy of 100%. However, the majority voting method cannot quantify the degree of fault (it can only determine "faulty" or "no fault"). The method of this invention, by calculating the overall constraint violation degree of R1, involves geometric constraints: the column spacing measured by R1 is inconsistent with the spacing measured by R2 and R3, violating geometric consistency. This not only identifies the fault but also quantifies its degree, providing a basis for subsequent weighting.
[0109] In scenario 3, specifically, the IMU angle drift of R3 caused a systematic rotation of approximately 5° in the coordinate system of the crack location it scanned. The majority voting method compared the position observations of crack L5 by the three robots and found that R3's observations deviated from those of R1 and R2, while the observations of R1 and R2 were close. Therefore, R3 was determined to be faulty, achieving a fault detection accuracy of 100%. The method of this invention, through geometric constraint verification, found that multiple crack location observations of R3 violated geometric consistency constraints, thus determining R3 to be faulty, achieving a fault detection accuracy of 100%.
[0110] In scenario 4 (no faults, all sensors are working normally), the majority voting method did not identify any robot faults, with a false alarm rate of 0. The method of this invention calculates that the overall constraint violation rates of the three robots are all within the normal range (below the mean), thus not identifying any robot faults, with a false alarm rate of 0.
[0111] In scenario 5, specifically, the random noise of the laser scanner in R2 increases, and the standard deviation of the distance measurement increases from 15mm to 50mm. The majority voting method compares the distance measurements of a certain column by the three robots (R1 measures 15.0 meters, R2 measures 15.3 meters, and R3 measures 14.9 meters). While R2's measurement has some deviation, it is not significantly off (the average of R1 and R3 is 14.95 meters, R2 deviates by 0.35 meters), and there is no clear majority among the three measurements, making it difficult for the majority voting method to determine the fault (depending on the threshold setting: if the threshold is 0.5 meters, R2 is considered normal; if the threshold is 0.2 meters, R2 is considered faulty). Assuming the threshold is set to 0.5 meters, the majority voting method fails to detect the fault in R2, resulting in a fault detection accuracy of 0%. The method of this invention calculates the overall constraint violation degree of R2: multiple measurements of R2 have large fluctuations, resulting in poor geometric consistency between measurements. For example, two measurements of the same column at different angles have a distance difference of 0.6 meters, which violates the geometric constraint. When the cumulative violation degree exceeds the threshold, the R2 sensor noise is determined to be abnormal, and the fault detection accuracy is 100%.
[0112] The fault detection performance was analyzed across 10 scenarios. The majority voting method achieved an average fault detection accuracy of 40% and an average false alarm rate of 0. The method of this invention achieved an average fault detection accuracy of 90% and an average false alarm rate of 5%. The fault detection accuracy of the method of this invention is 125% higher than that of the majority voting method, at the cost of introducing a 5% false alarm rate.
[0113] This paper delves into the root cause of the failure of majority voting in small-scale clusters. Majority voting relies on the premise that "the number of honest robots is strictly greater than the number of faulty robots." In a group of 3 robots, if 1 fails, the number of honest robots is 2, and the number of faulty robots is 1, satisfying the condition... Theoretically, it can be detected. However, in real-world scenarios, for a specific target, due to limitations in spatial location and sensor coverage, not all three robots can often observe it. For example, in scenario 1, column C7 is only observed by R1 and R2, while R3 does not observe it. In this case, the number of robots effectively participating in the vote is only 2, of which 1 is faulty (R2), and the number of honest robots is 1, which does not meet the requirement. In such cases, majority voting becomes ineffective. This situation, where "the number of effective observation robots is less than the total number of robots," is extremely common in urban renewal scenarios where the network is down (because network partitioning prevents robots in different partitions from jointly observing the same target). However, the method of this invention does not rely on majority voting. Instead, it utilizes the unforgeability of physical laws: even if only two robots observe a target, if their observations violate physical constraints, it can be determined that at least one robot is faulty. Furthermore, by combining this with the constraint violations of that robot in other observations, the specific faulty robot can be located.
[0114] Based on the three sets of comparative experiments, the method of this invention significantly outperforms the comparative methods in three dimensions: global state reconstruction accuracy, task execution correctness, and fault detection performance. The mean absolute error of global state reconstruction is reduced by 56.8%, the task execution error rate is reduced by 98.5%, and the fault detection accuracy is improved by 125%. The fundamental reason for these performance improvements is that the method of this invention designs a special mechanism (anchoring of spatiotemporally overlapping regions, forward reachability judgment, and physical self-consistency constraint verification) for the specific constraints of urban renewal network outage scenarios (local view bias caused by network partitioning, execution order constraints caused by task dependencies, and majority voting failure caused by small-scale clusters). In contrast, the general distributed algorithm used by the comparative methods (simple averaging, direct execution without dependency judgment, and majority voting) does not consider these specific constraints and performs poorly in this scenario.
[0115] Example 3
[0116] To further illustrate the system implementation details of this invention, the system architecture and engineering implementation schemes of each module are given below. This invention adopts a distributed system architecture, comprising two parts: a mothership control system and a robot-side collaborative control system. The mothership control system is deployed at the entrance of the ground parking lot, with hardware configured as an industrial-grade edge computing server running the Ubuntu 20.04 LTS operating system, and the software framework built based on the ROS2 Foxy version. The robot-side collaborative control system is deployed in the onboard computing unit of each robot, also running Ubuntu 20.04 LTS and ROS2 Foxy. The mothership and robots communicate via a main link through a 5G network and a Mesh self-organizing network, while robots communicate locally via LoRa modules. The system software adopts a modular design, with each functional module encapsulated as an independent ROS2 node, and inter-process communication is achieved through the DDS (Data Distribution Service) middleware.
[0117] The core modules of the robot include a task dependency graph construction module, a local view initialization and maintenance module, and a network partition detection and forward reachability determination module. The task dependency graph construction module receives the task dependency graph from the mothership before the operation begins. It uses an adjacency list data structure for storage: a node array Stores metadata for each task (task ID, input / output data types, set of executable robots, current state), and an edge array. It is a two-dimensional dynamic array. Storage pointing to task An index of all predecessor tasks. This data structure supports... Time complexity query task's pre-dependency set (direct access) ),as well as The time complexity is achieved through graph traversal (such as forward reachability analysis). The task dependency graph is stored in the robot's persistent storage, encoded in JSON format, and supports recovery after power failure.
[0118] The partial view initialization and maintenance module manages the robot's partial views. This module uses a versioned storage mechanism: each state variable Associate a version number and timestamp The version number increments as the state variable is updated. The internal data structure design of the partial view is as follows: Task Set A hash table is used for storage, with the task ID (a string, such as "A1" or "B2") as the key and the task status record structure as the value, containing the following fields: current task status (enumeration type: pending, in_progress, completed, suspended), completion percentage (floating-point number, range 0 to 100), executing robot ID (string), last update timestamp, and retrieval method identifier. , is a Boolean value.
[0119] Robot state set Also using a hash table, the key is the robot ID, and the value is a robot status record structure containing the field: three-dimensional position coordinates (three double-precision floating-point numbers). ), attitude angle, battery percentage, current task ID (string), last heartbeat timestamp, and acquisition method identifier. Observation data set It uses a time-series database for storage (embedded time-series database InfluxDB), supporting efficient time-range queries and spatial index queries. Each observation record includes the field: observation time. Observation location Observation type, observation value, sensor ID (identifying which sensor was used for data collection), data quality flag (floating-point number, ranging from 0 to 1, indicating data reliability). Local view timestamp. A hybrid scheme of monotonically increasing logical clock and physical clock is adopted: the logical clock is used for causal ordering of events, and the physical clock is used for calculation of spatiotemporal overlapping regions.
[0120] The local view maintenance module continuously updates the local view during network outages. For directly observable state variables within this partition, the module extracts state updates from sensor data streams and LoRa communication messages, and calls the hash table update interface (…). (Time complexity), set the acquisition method identifier to For unobservable state variables outside the partition, the module executes an extrapolation algorithm: for robot position state, linear extrapolation or Kalman filtering extrapolation based on the last known position, historical movement speed, and the predetermined trajectory of the current task is performed; for task completion progress, linear extrapolation is performed based on the estimated workload and time consumed, with an upper limit truncation of 100%; for robot battery power, linear decay extrapolation is performed based on the historical power consumption rate. The extrapolation algorithm is executed every 10 seconds, and the extrapolated state variables are labeled as follows. An "Extrapolation Confidence" field (a floating-point number that decays with the extrapolation duration, initially 1.0, decreasing by 10% per minute, with a minimum of 0.1) is appended to the state record. The extrapolation confidence is used for weight calculations during subsequent global state reconstruction. The storage overhead of the local view is approximately: [data missing - likely related to hash table storage]. (N is the number of robots). The time-series database part depends on the amount of observation data. In this example, with 3 robots, 8 tasks, and a network outage duration of 667 seconds, the local view storage space of a single robot is approximately 15MB.
[0121] The network partition detection and forward reachability assessment module comprises two sub-functions. The network partition detection sub-function periodically monitors the communication quality with the mothership and other robots: for the mothership's main link, it sends heartbeat packets every second and checks the 5G signal strength; if the signal strength is below -105dBm for more than 3 seconds, the main link is considered interrupted. For LoRa communication between robots, it broadcasts beacon frames every 10 seconds and receives beacons from neighboring robots; if a neighbor fails to receive a beacon three times consecutively, that neighbor is considered offline. When a network partition occurs, the module records the time of occurrence. (Stored in global variables), and broadcasts a "network partition announcement" message to the local LoRa network (message format: including announcement type, sender ID, partition occurrence time, and current reachable neighbor list). Neighboring robots update their own partition status upon receiving the announcement. The forward reachability determination sub-function is triggered each time the task status changes (e.g., a task is completed, a new task is added to the queue), using a breadth-first search (BFS) algorithm to traverse the task dependency graph: for tasks to be executed... ,from Begin traversing the dependency graph in reverse (along the direction of the directed edges) and check all prerequisite tasks. (satisfy The state of ). If The status is completed, and the record satisfies the condition; if The status is not completed but The set of executable robots intersects with the set of robots in the current partition, and the record satisfies (because) It can be executed within this partition); otherwise, the record is not satisfied. If all prerequisite tasks are satisfied, then... ;otherwise Generate conditional suspension records and add them to the suspension task queue. The time complexity of the BFS algorithm is O(n log n). ,in For the number of tasks, The execution time is less than 1 millisecond in typical scenarios, depending on the number of dependent edges. Conditional suspension records are stored in a priority queue (sorted by timeout limit). The suspension task management submodule checks every 5 seconds whether the task at the head of the queue has timed out or whether the prerequisites have been met. If they are met, the task is resumed. If it has timed out, a degradation strategy is executed according to the task priority (calling a predefined degradation function) or a failure reporting record is generated (serialized into JSON format, cached in the local file system, and uploaded to the mothership after communication is restored).
[0122] The core modules on the mothership side include a spatiotemporal overlap region identification module, a view credibility calculation module, a global state reconstruction module, and a physical self-consistency constraint verification module. The spatiotemporal overlap region identification module receives local views from each robot after communication is restored. The trajectory data is extracted and the spatiotemporal overlap region is calculated. The trajectory data is stored in time series format, with each sampling point being a quintuple. (Time, location coordinates, yaw angle). To accelerate the calculation of the intersection of the coverage area, the module uses a quadtree spatial index: the B2 layer plane ( (meters) are divided into In a two-dimensional space of meters, construct a quadtree (tree depth is 5 levels, leaf node side length is about 3.125 meters), each leaf node stores the trajectory sampling point index in that area.
[0123] For robots and First, calculate the spatial bounding box of the two trajectories. If the bounding boxes do not intersect, it is determined that there is no overlapping region. Otherwise, traverse the quadtree leaf nodes within the intersection region of the two bounding boxes and extract the leaf nodes. and For each pair of sampling points, the intersection of the sensor coverage areas of the two sampling points is calculated. The sensor coverage area is modeled as a disk (radius). (meters), the intersection of the two disks is calculated using analytical geometry: center distance ,like Then there is no intersection, if Then the intersection is not empty, and the representative point of the intersection region is the midpoint of the line connecting the centers of the two circles. Spacetime point Add to the set of spatiotemporal overlapping regions (The collection uses a dynamic array for storage and supports...) Append operations). Quadtree indexes reduce the time complexity of space queries from brute-force traversal. Reduced to ,in and The number of trajectory sampling points for the two robots. This represents the number of sampling points within the intersection region. In this embodiment, R1 and R2 each have 125 sampling points. The quadtree index reduces the execution time for identifying the spatiotemporal overlap region from approximately 15.6 milliseconds to approximately 2.3 milliseconds. The view confidence calculation module calculates the view confidence of each robot based on the observation consistency within the spatiotemporal overlap region. The module first queries the time-series database for spatiotemporal overlap regions. Observational data within: for each spatiotemporal point Query robot and At any moment ,Location Nearby observation records were used to extract observational values and calculate observational differences. .
[0124] The method for calculating observational differences depends on the type of observation: temperature observations use absolute difference. Position observation uses Euclidean distance. Angle observation uses the minimum angle difference Observational differences and preset thresholds In comparison, if Then it is determined to be a consistent observation, indicator function Otherwise, it is 0. To improve computational efficiency, the module adopts a streaming computation method: instead of storing the observation differences of all spatiotemporal points, it traverses the set of spatiotemporally overlapping regions and accumulates the product of the number of consistent observations and the time decay weight. View credibility formula The calculation is completed through a single traversal, with a time complexity of O(n log n). ,in For the number of robots, This represents the average number of spatiotemporal overlap points per pair of robots. In this embodiment, , The computation time is approximately 5 milliseconds. The view confidence results are stored in a one-dimensional array. In this process, the subsequent global state reconstruction module directly accesses this array.
[0125] The global state reconstruction module refactors each global state variable. Perform weighted fusion. The module maintains a state variable registry (hash table), where the keys are the state variable names (e.g., "robot_R3_position", "task_A3_progress"), and the values are the state variable metadata (type, constraints, monotonicity identifier). For each state variable... The module is from all local views Extract the estimated value of this variable. and acquisition method identifier Calculate observation weights :like (Direct observation) ,like (Extrapolation) ,in For robots to state variables Distance in spatial location (for non-spatial state variables such as task progress, distance is defined as the distance from the robot to the center of the task execution area). rice This is the spatial attenuation coefficient.
[0126] Weighted fusion formula The time complexity is O(n log n) for a single loop calculation. For special types of state variables, the module imposes additional constraints: if the monotonicity flag in the state variable's metadata is true (such as task completion progress), the reconstructed value is the maximum of all estimated values. The weighted fusion result is overlaid; if the state variable type is a robot position coordinate sequence, the motion continuity constraint is checked after reconstruction (the position change at adjacent times does not exceed...). If a violation occurs, a cubic spline interpolation algorithm is invoked to smooth the position sequence. The total time complexity of global state reconstruction is O(n log n). ,in This refers to the number of state variables. In this embodiment, the state variables include the positions, battery levels, and current tasks of the three robots, the status and progress of eight tasks, and several observation data points, totaling [number missing]. The reconstruction time is approximately 8 milliseconds.
[0127] The physical self-consistency constraint verification module cross-validates the observation data from each robot, detecting sensor malfunctions or abnormal data. The module predefines a set of physical constraints, each constraint being a function object containing the constraint type, applicable condition judgment function, constraint verification function, and tolerance threshold. Normalization scale The implementation of geometric constraints involves traversing all observation pairs. (From different robots) and If both observe the same static object, extract the observation angle. and Robot position and The theoretical angle ratio for calculating perspective geometric relationships. Ratio to actual distance deviation ,like This records a constraint violation. The implementation of the heat conduction constraint involves iterating through all temperature observation data pairs. Calculate spatial distance and time difference ,like (Effective heat conduction range 5 meters) and Seconds, predicting the maximum temperature difference based on a heat conduction model. Actual temperature difference ,deviation ,like Then, a constraint violation is recorded. The implementation of the motion continuity constraint involves traversing the position sequence of each robot. Calculate the change in position between adjacent time points. and time interval Implicit movement speed ,like Then the deviation Records of constraint violations.
[0128] The constraint violation degree is calculated using a cumulative summation method for each robot. Each observation data Iterate through all the constraints involved in the observation. (The constraint application condition judgment function returns true), calculate the violation contribution of a single constraint. Accumulated to the overall constraint violation rate The time complexity of constraint verification is O(n log n). ,in For the number of robots, The average number of observations per robot. The average number of constraints involved per observation (typically 1 to 3).
[0129] In this embodiment, N=3, K≈85 (R1 has 80 entries, R2 has 85 entries, and R3 has 90 entries). A total of approximately 383 constraint verification operations were performed, with an execution time of approximately 6 milliseconds. After calculating the overall constraint violation rate for all robots, the module calculated the average. and standard deviation Determine the anomaly detection threshold ( For robots that exceed the threshold, further analysis is conducted on the distribution of constraint violation types, and the number of geometric constraint violations is counted. Number of violations of thermal conduction constraints Number of violations of motion continuity constraints Calculate the proportion of multiple types of violations If the proportion exceeds 50%, it is judged as a systemic failure (penalty factor). Otherwise, it is judged as a partial sensor fault (penalty factor). The penalty factor is stored in a one-dimensional array. In the middle, the global state reconstruction module reads this array and sets the view credibility. Multiply Then, a weighted fusion process is performed.
[0130] The inter-module state transfer and communication mechanism is designed as follows. (Partial view) As a core intermediate state, it is passed between multiple modules on the robot side via shared memory: the local view maintenance module will... The data is stored in a shared memory segment within the process. Other modules (such as the forward reachability assessment module) access this shared memory segment through pointers, avoiding data copying overhead. When the network partition detection module detects a partition, it publishes a "partition event" message via ROS2. The forward reachability assessment module subscribes to this message and triggers a recalculation of task reachability.
[0131] The robot periodically broadcasts local view summaries to its neighbors within the partition via LoRa. Neighboring robots update their local state estimates of their neighbors upon receiving the summaries. After communication is restored, the robot uploads the complete local view to the mothership via a 5G link, using Protocol Buffers serialization format. Modules on the mothership request and respond through the ROS2 service interface: the spatiotemporal overlap region identification module requests local view data, the view credibility calculation module requests spatiotemporal overlap region results, and the global state reconstruction module requests view credibility and physical constraint verification results. The dependencies between modules are represented by a directed acyclic graph (DAG), and the execution order strictly follows the DAG topology to ensure data dependency correctness. The mothership employs a pipelined parallel strategy: when the... Once the spatiotemporal overlapping region of the robot is identified, the view credibility calculation is immediately initiated, and multi-core parallelism is used to improve throughput.
[0132] The system fault tolerance mechanism comprises three layers. The first layer is robot-side local fault tolerance: the local view employs a double-buffering mechanism, with one buffer for writing and another for reading, avoiding read / write conflicts; the task dependency graph and suspended task queue are periodically snapshotted to persistent storage, allowing the robot to restore its state from the snapshot after a restart; observation data uses a write-ahead log (WAL) mechanism, first writing to a log file and then committing to the time-series database to prevent data loss. The second layer is mothership-side fault tolerance: the mothership adopts a primary / backup dual-machine hot backup architecture, with the backup machine taking over within 5 seconds in case of primary failure; the global state is stored in a distributed key-value store, shared by both primary and backup machines. The third layer is system-level fault tolerance: if a robot malfunctions during a network outage, other robots, upon detecting prolonged inactivity, mark it as failed, remove its state from the local view, and no longer consider its capabilities in subsequent forward reachability checks. After communication is restored, the mothership reports the missing local view of the robot, triggering an anomaly handling process (notifying operators to intervene or activating a backup robot to take over the task). With fault-tolerant mechanisms in place, the system can withstand abnormal scenarios such as single robot failure, mothership primary / backup switching, and brief network fluctuations, ensuring continuous operation.
Claims
1. A method for distributed autonomous collaborative control of multiple robots in an offline environment of an intelligent construction management platform for urban renewal, characterized in that, Includes the following steps: S1. Constructing the task causal dependency graph and initializing the local view: Constructing the task causal dependency graph ,in For the set of urban renewal tasks, there are directed edges. Indicates task Dependency Task The output data; each task node has additional attributes including the required input data type, output data type, and the set of robots that can perform the task; for each robot Initialize the local view ,in The set of tasks visible to the robot. For the set of other visible robot states, This is the set of observation data for the robot. For partial view timestamps; S2. Detect network partitions and perform forward reachability checks: When the robot detects a communication interruption with the mothership or other robots exceeding a preset duration threshold... When a network partition occurs, the time of occurrence is recorded. For the current partition Tasks to be executed Calculate its forward reachability: ; in For the task The current state, Indicates task Can be partitioned The robot inside performs the task; if Then the task It can be executed within this partition; if Then the task Entering conditional suspension state, a suspension record is generated, which includes the task identifier, the set of missing prerequisite tasks, the suspension time, and the timeout limit; S3. Maintaining a Local View During Network Partitioning: During network partitioning, the robot... Continuously update its partial view For the directly observable task and robot states within this partition, updates are based on real-time sensor data. and For unobservable states outside the partition, extrapolation is performed based on historical information prior to the partition, and for each state variable... Mark its acquisition method identifier ,when When observed directly ,when When extrapolated ; S4. Identify spatiotemporal overlap areas and calculate view reliability after communication is restored: When network communication is detected to have been restored, each robot reports a partial view of the network outage period to the mothership. For any two robots and Calculate the spatiotemporal overlap region between their local views. This spatiotemporal overlap region is defined as the set of spatiotemporal regions jointly observed by the two views during the partitioning period, specifically the set of spatiotemporal point pairs satisfying the following conditions: time... At the moment of partitioning Between the smaller of the two view timestamps, and spatial location Simultaneously in the robot and robots At any moment Within the sensor coverage area; in the spatiotemporal overlapping region, computational robots and robots Observational differences: For each spatiotemporal point within the overlapping region, calculate the Euclidean distance between the two observation data. If this distance exceeds a preset sensor noise threshold... If the observations are inconsistent, they are recorded as inconsistent observations; based on the consistency of observations in spatiotemporally overlapping regions, the computational robot... View credibility : ; in For robots and The spatiotemporal overlapping region For robots The union of the spatiotemporal overlap regions with all other robots. For robots and At the point of spacetime Observational differences For indicator functions, The time decay coefficient, The current moment; S5. Reconstructing the global state based on spatiotemporal overlapping regions: For each global state variable... Extract the estimated value of this variable from the partial views of all robots. Calculate the reconstructed value of the state variable. : ; in For robots The credibility of the view. For robots For state variables The observation weights, when the state variable In the robot Within the direct observation range, i.e. hour, ; When state variables It's a robot. Extrapolation yields... hour, ,in For robots to state variables Distance of the location in space The spatial decay coefficient; the reconstructed global state Distribute the update to all robots and update the local view of each robot.
2. The method for distributed autonomous collaborative control of multiple robots in a network-disconnected environment of the urban renewal intelligent construction management platform according to claim 1, characterized in that, In step S2, for tasks that enter the conditional suspension state During the period of network outage, the following suspended task check process will be executed periodically: Check if any new robots have been added to this partition. If so, retrieve the task completion status information from the newly added robot and determine if any of the missing prerequisite tasks have been completed by the new robot. If all the missing prerequisite tasks have been completed, then... Resume execution from the conditionally suspended state; if the current time exceeds the timeout limit recorded in the suspension log. Then, according to the task Priority-based demotion strategy: When a task's priority is higher than a preset threshold, the task is executed using preset default input data. The task is marked as being in a downgraded execution state; when the task priority is not higher than a preset threshold, a task failure reporting record is generated and reported to the mothership after communication is restored.
3. The method for distributed autonomous collaborative control of multiple robots in a network-disconnected environment of the urban renewal intelligent construction management platform according to claim 1, characterized in that, In step S4, the identification of the spatiotemporal overlapping region specifically includes: For robots and robots Extract the two within the time period The trajectory data within the time period includes the location coordinates and sensor coverage parameters at each moment; for each discrete moment within this time period... Computational robots and robots Sensor coverage area and The sensor coverage area is determined by the robot's position, sensor type, sensor orientation, and effective sensing distance; the spatial intersection of the two coverage areas is calculated. If the intersection is not empty, then the spacetime point pair will be... Add a spatiotemporal overlap region, where The spatial location within the intersection region; the observed differences The calculation specifically involves: extracting the robot. At any moment Position Observational data and robots At any moment Position Observational data Calculate the Euclidean distance between the two. As observed differences.
4. The method for distributed autonomous collaborative control of multiple robots in a network-disconnected environment of the urban renewal intelligent construction management platform according to claim 1, characterized in that, In step S5, the global state variable includes at least one of the following: The data includes the position coordinates of each robot, the battery status of each robot, the percentage of completion progress for each task, the robot identifier for each task, and environmental monitoring data within the urban renewal work area. For task completion progress state variables, a monotonicity constraint is added during reconstruction: if different robots have inconsistent estimates of the completion progress for the same task, the maximum value among all estimates is selected as the reconstructed value, because task completion progress has a unidirectional monotonic growth characteristic. For robot position coordinate state variables, a motion continuity constraint is added during reconstruction: if the reconstructed position sequence... There are positional changes between adjacent time points. Greater than the product of the robot's maximum moving speed and the time interval If the position sequence violates the motion continuity constraint, the position estimate of the robot will be interpolated and smoothed.
5. The method for distributed autonomous collaborative control of multiple robots in a network-disconnected environment of the urban renewal intelligent construction management platform according to claim 1, characterized in that, Following step S5, an observational data verification step based on physical self-consistency constraints is also included: Construct a set of physically consistent constraints, which includes geometric constraints, heat conduction constraints, and motion continuity constraints, wherein: the geometric constraints are: for two robots and The same static object observed at the same time, the robot In position The angle at which the object was observed was ,robot In position The angle at which the object was observed was The two should satisfy the perspective geometric relationship, and their deviation should not exceed the geometric constraint tolerance threshold. The heat conduction constraint is: for spatial distances smaller than the effective heat conduction range... The temperature difference between the two temperature measurement points should not exceed the maximum temperature difference predicted based on the heat conduction model, and the deviation should not exceed the thermodynamic constraint tolerance threshold. The motion continuity constraint is as follows: the change in position of the same robot at adjacent moments should not exceed the product of the robot's maximum moving speed and the time interval, and the deviation should not exceed the kinematic constraint tolerance threshold. For each robot Each observation data Examine all physical constraints involved in the observation data and calculate the constraint violation degree of the observation data: ; in For observation data The set of constraints involved For observation data Constraints The deviation amount To constrain The tolerance threshold To constrain Normalized scale; computational robots The overall constraint violation rate is the sum of the violation rates of all its observed data; when the robot When the overall constraint violation exceeds the preset anomaly detection threshold, the observation data of the robot during the network outage is downweighted: in the global state reconstruction of step S5, the view confidence of the robot is reduced. Multiply by the penalty factor Among them, the penalty factor It decreases as the overall constraint violation rate increases.
6. The method for distributed autonomous collaborative control of multiple robots in a network-off environment of the urban renewal intelligent construction management platform according to claim 5, characterized in that, The anomaly detection threshold is determined as follows: Calculate the total set of constraint violations for all robots. Calculate the mean of the set. and standard deviation ; Set the anomaly detection threshold to ,in This is a preset standard deviation factor, with a value ranging from 1.5 to 3; For robots with an overall constraint violation rate exceeding the anomaly detection threshold, further analysis is conducted on the distribution of constraint violation types: the percentage of violations of geometric constraints, thermal conduction constraints, and motion continuity constraints is statistically analyzed. If the proportion of simultaneous violations of two or more types of constraints exceeds 50%, the robot is deemed to have a systemic fault, and its penalty factor is adjusted accordingly. Set to 0.1; if only a single type of constraint is violated, it is judged as a partial sensor fault, and its penalty factor is set accordingly. Set it to 0.
5.
7. A multi-robot distributed autonomous collaborative control system for an urban renewal intelligent construction management platform under offline conditions, characterized in that: include: The task dependency graph construction module is used to construct a task causal dependency graph, which contains a set of urban renewal tasks and the dependencies between tasks. Each task node is attached with the required input data type, output data type, and a set of robots that can perform the task. The local view initialization and maintenance module is used to initialize and maintain a local view for each robot. The local view contains the set of tasks visible to the robot, the set of other robot states visible to the robot, the set of observation data, the local view timestamp, and the identification of the acquisition method for each state variable. The network partition detection and forward reachability judgment module is used to detect communication interruptions between the robot and the mothership or other robots, determine the occurrence of network partitions, and perform forward reachability analysis on the tasks to be executed in the current partition. It determines whether the prerequisites of the tasks have been completed or can be completed in this partition, and suspends and records the task generation conditions for tasks that do not meet the forward reachability requirements. The spatiotemporal overlap region identification module is used to calculate the spatiotemporal overlap region between the local views of different robots after communication is restored. The spatiotemporal overlap region is defined as the set of spatiotemporal regions that different robots have jointly observed during the network partitioning period. The view credibility calculation module is used to calculate the local view credibility of each robot based on the observation consistency and observation timeliness within the spatiotemporal overlapping area. The global state reconstruction module is used to extract estimated values of each global state variable from the local views of all robots, and to reconstruct the global state by weighted fusion based on view confidence and observation weights. The observation weights are distinguished according to whether the state variables are directly observed or extrapolated. The local view serves as the core intermediate state and is transmitted between multiple modules. The network partition detection and forward reachability judgment module determines the executability of the task based on the local view. The local view initialization and maintenance module continuously updates the local view during network outages. The spatiotemporal overlapping region identification module calculates the overlapping region based on multiple local views. The view credibility calculation module generates credibility based on the local view and the overlapping region. The global state reconstruction module reconstructs the global state based on the local view, credibility, and observation weights. The calculation method for the view credibility is as follows: for the robot Within the spatiotemporal overlap region between the robot and all other robots, the proportion of spatiotemporal points with consistent observations is statistically analyzed, and a time decay weight is applied to each spatiotemporal point. The time decay weight decreases exponentially as the difference between the current time and the observation time increases. The observation weight is determined as follows: when the state variable is directly observed, the weight is 1; when the state variable is extrapolated, the weight decreases exponentially as the spatial distance from the robot to the location of the state variable increases.
8. The multi-robot distributed autonomous collaborative control system for the urban renewal intelligent construction management platform under offline environment as described in claim 7, characterized in that, Also includes: The physical self-consistency constraint verification module is used to construct a set of physical self-consistency constraints, which includes geometric constraints, heat conduction constraints, and motion continuity constraints. It calculates the constraint violation degree for the observation data of each robot, identifies robots with systematic faults based on the overall constraint violation degree, and applies a penalty factor to the view credibility of faulty robots during global state reconstruction. The state transfer relationship between the physical self-consistency constraint verification module and the global state reconstruction module is as follows: the physical self-consistency constraint verification module receives the observation data of each robot, outputs the overall constraint violation degree and penalty factor of each robot, and the global state reconstruction module receives the penalty factor, multiplies the original view confidence by the penalty factor, and then performs weighted fusion.
9. The multi-robot distributed autonomous collaborative control system for the urban renewal intelligent construction management platform under offline environment as described in claim 7, characterized in that, The network partition detection and forward reachability determination module also includes: The suspended task management submodule is used to maintain a queue of conditionally suspended tasks, periodically check whether the prerequisites of suspended tasks have been met or have timed out, restore tasks with met prerequisites to an executable state, and execute a degradation strategy or generate a failure report record for timed-out tasks based on their priority. The degradation strategy includes: when the task priority is higher than a preset threshold, executing the task using preset default input data and marking it as a degraded execution state; when the task priority is not higher than the preset threshold, not executing the task and generating a task failure report record. The global state reconstruction module applies different constraints when reconstructing different types of state variables: For state variables related to task completion progress, a monotonicity constraint is applied, and the maximum value among all robot estimates of task completion progress is selected as the reconstructed value. For state variables related to robot position coordinates, a motion continuity constraint is applied, and it is checked whether the position change between adjacent moments in the reconstructed position sequence exceeds the product of the maximum moving speed and the time interval. Position sequences that violate the motion continuity constraint are smoothed by interpolation. For state variables related to environmental detection data, a weighted fusion is performed directly according to view confidence and observation weight.
10. The multi-robot distributed autonomous collaborative control system for the urban renewal intelligent construction management platform under offline environment as described in claim 8, characterized in that, The physical self-consistency constraint verification module also includes: The constraint violation type analysis submodule is used to count the proportion of times each robot violates geometric constraints, thermal conduction constraints, and motion continuity constraints. Based on the distribution characteristics of the violation types, the root cause of the failure is determined: when the proportion of robot violating two or more types of constraints simultaneously exceeds 50%, it is judged as a systemic failure, and the penalty factor is set to 0.1; when the robot only violates a single type of constraint, it is judged as a local sensor failure, and the penalty factor is set to 0.5; when the overall constraint violation rate of the robot does not exceed the anomaly detection threshold, no penalty is applied, and the penalty factor remains at 1.
