Unmanned aerial vehicle positioning method and system, and unmanned aerial vehicle
By using consensus-based adjudication and collaborative verification among UAV groups, the problem of unreliable positioning of UAVs in complex environments has been solved, achieving high-precision and high-reliability positioning and overcoming positioning failure when GNSS signals are disturbed.
Patent Information
- Application Number
- CN202511843751.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-09
- Publication Date
- 2026-02-17
- Estimated Expiration
- 2045-12-09
AI Technical Summary
UAVs are unreliable in positioning in complex environments, with low positioning accuracy. In particular, when GNSS signals are disturbed, they lack effective external verification and error correction mechanisms, posing safety risks.
A group consensus adjudication mechanism is introduced. Through collaborative verification between the requesting drone and the responding drone, and by utilizing consistency verification and positioning assistance information, the group consensus adjudication and factor graph optimization of the positioning results are carried out to determine high-precision positioning results.
It significantly improves the robustness and accuracy of UAV positioning in GNSS-disturbed environments, ensuring the reliability and accuracy of positioning results.
Smart Images

Figure CN121276568B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of unmanned aerial vehicle (UAV) technology, and in particular to a UAV positioning method, system, and UAV. Background Technology
[0002] The autonomous navigation and precision operation of unmanned aerial vehicles (UAVs) heavily rely on accurate position awareness. Currently, the Global Navigation Satellite System (GNSS) is the primary means for UAVs to obtain absolute position information. However, in complex environments such as urban canyons, dense forests, and indoor spaces, GNSS signals are susceptible to interference from obstruction, reflection, and multipath effects, leading to a significant decrease in positioning accuracy, frequent changes in results, and even complete positioning failure.
[0003] To compensate for the shortcomings of single GNSS positioning, related technologies typically employ inertial measurement units (IMUs) or visual simultaneous localization and mapping (V-SLAM) as auxiliary methods. However, IMUs have inherent cumulative drift errors, which cannot guarantee positioning accuracy after long-term operation; V-SLAM is sensitive to environmental features and changes in lighting, and is prone to tracking loss in environments with sparse textures or dynamic changes. These solutions, which rely on the UAV's own sensors, lack effective external verification and error correction mechanisms when faced with malfunctions or deviations in external positioning sources (such as GNSS), especially in multi-UAV collaborative operation scenarios. This makes it difficult to determine the authenticity and reliability of their own positioning results, posing significant safety risks. Summary of the Invention
[0004] One objective of this application is to provide a drone positioning method, system, and drone to solve the technical problems of unreliable positioning and low positioning accuracy of drones in complex environments.
[0005] In a first aspect, embodiments of this application provide a drone positioning method applied to a requesting drone, the requesting drone being communicatively connected to at least one responding drone, the method comprising:
[0006] In response to the positioning command, the system calculates the first positioning result based on the pre-stored reference ephemeris data, and at the same time collects environmental data to extract environmental feature information.
[0007] Send a collaborative verification request to the at least one responding drone, the collaborative verification request including the first positioning result and the environmental feature information;
[0008] The system receives verification response data returned by the responding drone. The verification response data includes at least consistency verification information and relative position information. The consistency verification information is used to indicate the consistency verification result of each responding drone on the first positioning result. The relative position information is used to indicate the relative position relationship of each responding drone relative to the requesting drone. When the consistency verification result fails, the verification response data also includes positioning assistance information.
[0009] A group consensus decision is executed based on the consistency verification results in each verification response data to determine whether the first positioning result meets the preset confidence conditions.
[0010] When the confidence condition is met, the first positioning result is used as the target positioning result of the requesting drone; when the confidence condition is not met, the second positioning result is determined as the target positioning result of the requesting drone based on the relative position information and the positioning assistance information.
[0011] In conjunction with the first aspect, in one possible implementation, the requesting drone pre-stores the reputation scores corresponding to each responding drone, and the step of performing a group consensus decision based on the consistency verification results in each verification response data includes:
[0012] Determine a target set, which is used to indicate all responding drones that return verification response data to the requesting drone;
[0013] Based on the consistency verification results in each verification response data, the target set is divided into a support set and a challenge set; wherein, the support set is used to indicate responding drones whose consistency verification results are passed, and the challenge set is used to indicate responding drones whose consistency verification results are failed.
[0014] Based on the reputation score corresponding to each responding drone, the total reputation score of each responding drone in the support set is determined, and the ratio of the total reputation score of each responding drone in the target set is obtained to obtain the weighted support rate.
[0015] If the weighted support rate is greater than the preset consensus threshold, then the first positioning result is determined to meet the confidence condition.
[0016] The value of the consensus threshold is positively correlated with the number of responding drones that return data and the current environmental complexity determined based on the environmental feature information.
[0017] In conjunction with the first aspect, in one possible implementation, the positioning assistance information includes the positioning information of the responding UAV itself and its positioning uncertainty; determining a second positioning result based on the relative position information and the positioning assistance information includes:
[0018] A factor graph optimization model is constructed, wherein the factor graph optimization model uses the self-positioning information of each responding UAV as the observation node, the relative positional relationship as the relative constraint edge, and the reciprocal of the positioning uncertainty of each responding UAV as the weight of the corresponding observation node.
[0019] Solve the factor graph optimization model to determine the optimal estimate of the system state that minimizes the weighted sum of the overall constraint residuals;
[0020] Based on the optimal system state estimate, the location state of the requesting drone is determined as the second positioning result.
[0021] In conjunction with the first aspect, in one possible implementation, the method further includes:
[0022] After the group consensus decision, the cooperative benefit or cooperative penalty of each responding drone is determined based on the result of each responding drone corresponding to the support set or the challenge set.
[0023] Update the reputation score of each responding drone based on the collaboration benefits or the collaboration penalties.
[0024] In conjunction with the first aspect, in one possible implementation, after determining the second positioning result, the method further includes:
[0025] Calculate the position deviation vector between the first positioning result and the second positioning result;
[0026] Determine the degree of correlation between the observation residuals or geometric distribution factors of each satellite and the position deviation vector when solving the first positioning result;
[0027] Based on the degree of correlation, the assessment information for the reliability of each satellite signal is determined, and the weight allocation strategy for different satellite signals in the reference ephemeris data is adjusted.
[0028] In a second aspect, embodiments of this application also propose a drone positioning method applied to a responding drone, wherein the responding drone is communicatively connected to a requesting drone, the method comprising:
[0029] Receive a collaborative verification request from the requesting drone, the collaborative verification request including the first positioning result and the environmental feature information;
[0030] Based on the environmental feature information, calculate the relative positional relationship with respect to the requesting drone;
[0031] Obtain the current location information of this device;
[0032] Based on the first positioning result, the self-positioning information, and the relative positional relationship, a consistency check is performed and a consistency check result is generated.
[0033] The requesting drone returns verification response data; wherein the verification response data at least includes the consistency verification result and the relative position relationship, and when the consistency verification result fails, the verification response data further includes positioning auxiliary information including its own positioning information and its positioning uncertainty.
[0034] In conjunction with the second aspect, in one possible implementation, calculating the relative positional relationship with respect to the requesting drone based on the environmental feature information includes:
[0035] Acquire environmental data surrounding the responding drone;
[0036] The received feature information is then matched with the environmental data surrounding the responding drone using multimodal feature matching.
[0037] Based on the successfully matched feature pairs, the relative attitude and position of the responding drone relative to the requesting drone are calculated as the relative positional relationship.
[0038] In conjunction with the second aspect, in one possible implementation, the step of performing a consistency check and generating a consistency check result based on the first positioning result of the requesting drone, the positioning information of the responding drone itself, and the relative positional relationship includes:
[0039] Based on the first positioning result of the requesting drone and the relative positional relationship, the estimated positioning result of the responding drone is determined;
[0040] Calculate the Mahalanobis distance between the estimated positioning result and the positioning information of the responding UAV itself;
[0041] If the Mahalanobis distance is less than a preset threshold, then the consistency verification result is determined to be valid.
[0042] If the Mahalanobis distance is not less than the preset threshold, then the consistency check result is determined to be invalid.
[0043] In a third aspect, embodiments of this application also propose an unmanned aerial vehicle (UAV) positioning system, comprising:
[0044] The request is for the drone to be configured to perform the drone positioning method as described in any of the first aspects;
[0045] The responding drone is configured to perform the drone positioning method as described in any of the second aspects.
[0046] In a fourth aspect, embodiments of this application also provide a drone, including a memory and a processor, the memory being connected to the processor, the processor being configured to execute one or more computer programs stored in the memory, the processor, when executing the one or more computer programs, causing the drone to implement the drone positioning method as described in either the first or second aspect.
[0047] The embodiments of this application can achieve the following technical effects:
[0048] This application embodiment introduces a group consensus adjudication mechanism, enabling the requesting UAV to actively identify its own potentially erroneous positioning results. When its own positioning result is determined to be unreliable, this application embodiment uses the response UAV information that has passed the consistency check for repositioning, avoiding the direct use of unreliable positioning information as the final result, and significantly improving the positioning robustness and accuracy in GNSS disturbed environments. Attached Figure Description
[0049] To more clearly illustrate the technical solutions of the embodiments of this application, the drawings used in the description of the embodiments of this application will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0050] Figure 1 A flowchart illustrating a drone positioning method provided in an embodiment of this application;
[0051] Figure 2 A flowchart illustrating yet another UAV positioning method provided in this application embodiment;
[0052] Figure 3 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0053] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application. All other embodiments obtained by those skilled in the art based on the embodiments in this application without inventive effort are within the scope of protection of this application.
[0054] It should be noted that, unless there is a conflict, the various features in the embodiments of this application can be combined with each other, all of which are within the protection scope of this application. Furthermore, although functional modules are divided in the system diagram and a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in a different order than the module division in the system or the order in the flowchart. Moreover, the terms "first," "second," and "third" used in this application do not limit the data or execution order, but only distinguish identical or similar items with essentially the same function and effect.
[0055] As mentioned above, existing UAV positioning technologies suffer from insufficient reliability, susceptibility to interference, and a lack of effective collaborative fault-tolerance mechanisms in complex environments. Therefore, this application uses UAVs with good GNSS signals as a benchmark to correct or replace the positions of UAVs with poor GNSS signals, achieving high-precision and high-reliability positioning of the entire cluster in complex environments (such as urban canyons or beneath forests).
[0056] In this embodiment, the requesting drone refers to the drone that initiates the collaborative verification request, which is typically a drone whose own GNSS positioning results are uncertain or of poor quality. Correspondingly, the responding drone refers to a nearby drone that can receive the collaborative verification request and provide the necessary information. The requesting and responding drones have the same hardware architecture, but their roles in the positioning process are determined by their current state and the quality of the data they possess. Ideally, the responding drone will have higher quality positioning results.
[0057] For example, the hardware configuration of the requesting drone and the responding drone in this application embodiment includes:
[0058] Positioning module: Consists of a GNSS receiver (such as one supporting RTK), an inertial measurement unit (IMU), etc.
[0059] Perception module: Consists of visual cameras (monocular, binocular, or fisheye), lidar, etc.
[0060] Processing unit: Used to run SLAM, data fusion, and decision-making algorithms;
[0061] Communication module: Consists of low-latency ad-hoc communication modules, such as Wi-Fi Mesh, 5G, or dedicated data radios, for inter-drone (V2V) communication.
[0062] Storage unit: Used to store reference ephemeris data, local environment maps, algorithm models, etc.
[0063] Figure 1 A flowchart illustrating a drone positioning method according to an embodiment of this application is shown, the method being applied to a requesting drone.
[0064] like Figure 1 As shown, the above-mentioned UAV positioning method includes steps S10-S50:
[0065] Step S10: In response to the positioning command, calculate the first positioning result based on the pre-stored reference ephemeris data, and at the same time collect environmental data to extract environmental feature information.
[0066] Step S20: Send a collaborative verification request to the at least one responding drone, the collaborative verification request including the first positioning result and the environmental feature information;
[0067] Step S30: Receive verification response data returned by the responding drone. The verification response data includes at least consistency verification information and relative position information. The consistency verification information is used to indicate the consistency verification result of each responding drone on the first positioning result. The relative position information is used to indicate the relative position relationship of each responding drone relative to the requesting drone. When the consistency verification result is unsuccessful, the verification response data also includes positioning assistance information.
[0068] Step S40: Perform a group consensus decision based on the consistency verification results in each verification response data to determine whether the first positioning result meets the preset confidence conditions.
[0069] Step S50: When the confidence condition is met, the first positioning result is used as the target positioning result of the requesting drone; when the confidence condition is not met, the second positioning result is determined as the target positioning result of the requesting drone based on the relative position information and the positioning assistance information.
[0070] This embodiment provides a drone positioning method, which is particularly suitable for drone swarms to achieve high-precision and high-reliability positioning in environments with poor or interfered GNSS (Global Navigation Satellite System) signals (such as urban canyons, woodlands, indoor-outdoor transition areas, etc.).
[0071] In a specific application scenario, a drone swarm (e.g., containing UAV-A, UAV-B, and UAV-C) is performing a collaborative task. UAV-A, having flown into an area with tall buildings, experiences a significant decrease or complete failure in its GNSS signal due to multipath effects and obstruction. In this case, UAV-A becomes the requesting drone. Meanwhile, the other drones in the swarm, UAV-B and UAV-C, are in open areas with good GNSS signals and reliable positioning results, acting as responding drones. All drones maintain stable data communication links through ad-hoc networks, Wi-Fi mesh, or 5G cellular networks.
[0072] When a UAV-A receives periodic positioning instructions from a ground station or internal flight controller, it first performs autonomous positioning and environmental awareness.
[0073] On one hand, the UAV-A's positioning module uses pre-downloaded or cached reference ephemeris data (A-GNSS data), which can significantly shorten the time to first positioning (TTFF). Subsequently, its GNSS receiver (such as a BeiDou / GPS / GLONASS multi-mode receiver) acquires satellite signals and calculates the first positioning result using standard point positioning (SPP) or pseudorange differential (if applicable) algorithms. This result is a four-dimensional or higher-dimensional state vector containing longitude, latitude, altitude, timestamp, and prediction error covariance. In the current environment of poor GNSS signal strength, the confidence level of the first positioning result is low, and the prediction error is relatively large.
[0074] On the other hand, the UAV-A activates its environmental perception module, which can include, but is not limited to, forward / downward / surround-view cameras, LiDAR, millimeter-wave radar, and other sensors. The UAV-A continuously collects surrounding environmental data (such as image frames and point cloud data) through these sensors and uses visual SLAM (Simultaneous Localization and Mapping) or LiDAR SLAM algorithms to construct a local environmental map centered on itself in real time. This map can be a sparse feature point map (such as a map generated by ORB-SLAM), a semi-dense, or a dense point cloud map.
[0075] After obtaining a highly uncertain initial positioning result and constructing a local environment map, UAV-A, in order to confirm or correct its own position, broadcasts or unicasts a collaborative verification request to all or designated responding UAVs (UAV-B, UAV-C) within its communication range via its communication module.
[0076] The request data packet includes:
[0077] The first positioning result is the absolute coordinates (e.g., Pos_A_GNSS) calculated by UAV-A based on GNSS signals, which may be inaccurate.
[0078] Environmental characteristic information, such as:
[0079] Visual features: can be descriptors of dozens of stable and discriminative ORB, SIFT or SURF feature points in the current viewpoint and their three-dimensional coordinates in the UAV-A body coordinate system; laser radar ID features: can be a set of three-dimensional point clouds of planes, line segments or corner point clusters with significant geometric structure.
[0080] Semantic features: If UAV-A has advanced perception capabilities, it can also be identified environmental semantic labels, such as traffic lights, building corners and their relative positions in the UAV-A local map.
[0081] When a UAV (such as UAV-B) receives a collaborative verification request, it performs a series of verification and calculation tasks, and then returns verification response data to UAV-A. UAV-A receives and parses this data.
[0082] Based on the UAV-B verification results, the content of the verification response data differs:
[0083] UAV-B first verifies the information sent by UAV-A based on its own positioning results (Pos_B_truth).
[0084] For example, UAV-B projects and matches the first localization result Pos_A_GNSS of UAV-A with its shared feature information. That is, it searches in UAV-B's global map or real-time sensing data to see if there are environmental features described by UAV-A near the Pos_A_GNSS location.
[0085] If UAV-B confirms that this part of the environmental features can indeed be observed near Pos_A_GNSS, or in other words, the global coordinates of this part of the environmental features are consistent with the position of Pos_A_GNSS, then the consistency check result is valid.
[0086] If UAV-B determines that there are no features near the Pos_A_GNSS location, or if the relative layout of the features is significantly inconsistent with the description of UAV-A, then the consistency check result is invalid.
[0087] Regardless of whether the consistency check is successful, UAV-B will use its sensors (such as cameras) to attempt to identify and track UAV-A, or calculate the relative position of UAV-A with respect to UAV-B by matching the common environmental features perceived by both, using epipolar geometry, PnP algorithm, or ICP (Iterative Closest Point) algorithm.
[0088] Positioning assistance information (provided only when consistency check fails): When UAV-B determines that the GNSS positioning result of UAV-A is unreliable, it provides information for UAV-A to reposition itself.
[0089] Specifically, the location assistance information can be one or a combination of the following forms:
[0090] High-precision environmental feature coordinates: UAV-B matches the features sent by UAV-A in UAV-B's own high-precision global map and returns the precise global coordinates of these features;
[0091] Local map tile: UAV-B returns map data of the area in its own high-precision map that is most relevant to the current location of UAV-A (e.g., a dense point cloud submap with geographic coordinates).
[0092] Differential correction data: UAV-B sends its own raw GNSS observation data (such as pseudorange, carrier phase, etc.) to UAV-A, enabling UAV-A to perform differential calculations similar to RTK.
[0093] Based on this, UAV-A may receive multiple verification response data from multiple responding UAVs (UAV-B, UAV-C, etc.). At this point, UAV-A's positioning decision module performs a group consensus decision.
[0094] The preset confidence condition can be a quantitative or logical rule, for example:
[0095] Voting mechanism: If N responses are received, and more than M of them (e.g., M>N / 2) have a valid consistency check result, then the first location result is determined to meet the confidence condition.
[0096] Weighted evaluation: The verification results of different responding UAVs are weighted and voted on based on their own positioning confidence (their GNSS HDOP value, number of satellites, etc.).
[0097] Single-vote veto: If any highly credible drone response returns "not true", the confidence condition is deemed not met.
[0098] Based on this, the target positioning result is determined according to the ruling.
[0099] If the confidence condition is met: the decision result indicates that although the GNSS signal quality of the UAV-A is poor, its calculated first positioning result is considered basically reliable by the group (the error may still be within the tolerance range). In this case, the UAV-A's positioning fusion engine will use this first positioning result as the target positioning result. To improve smoothness and short-term accuracy, this result is usually fused with the output of the IMU (Inertial Measurement Unit) using Kalman filtering.
[0100] If the confidence condition is not met: the decision indicates that the UAV-A's first positioning result is significantly biased and unreliable. In this case, the UAV-A must discard this result and instead calculate a completely new position based on the information provided by the responding UAV. The UAV-A will perform the following operations to determine the second positioning result:
[0101] Select one or more responding drones that did not return a valid response but provided high-quality auxiliary information (e.g., select UAV-B).
[0102] Obtain the precise global location Pos_B_truth of the UAV-B (this location can be provided by the UAV-B in the response).
[0103] Obtain the precise relative positional relationship T_BA between the two calculated by UAV-B.
[0104] Based on Pos_B_truth and T_BA, vector operations are performed to obtain a position estimate of the UAV-A based on relative measurements:
[0105] Pos_A_relative = Pos_B_truth + T_BA;
[0106] Simultaneously, the positioning assistance information provided by UAV-B is used to refine and correct Pos_A_relative. For example, if the assistance information is the global coordinates of the features, then UAV-A can solve an optimal transformation between its own local map and these global coordinates, thereby aligning its entire local map to the global coordinate system and obtaining its own precise global position.
[0107] If the auxiliary information is a high-precision map tile, the UAV-A can run a Scan-to-Map or Image-to-Map registration algorithm to align its real-time sensing data with the map tile and achieve relocation.
[0108] The result calculated and optimized through the above steps is the high-precision second positioning result, which is adopted as the target positioning result for the requesting UAV.
[0109] The UAV positioning method provided in this embodiment overcomes the problem of GNSS positioning failure for a single UAV in complex environments by requesting active queries from UAVs, coordinating verification from responding UAVs, and a decision-making mechanism based on group consensus. It combines individual perception within a UAV swarm; when an individual UAV encounters positioning difficulties, other members are used as environmental references to provide crucial information for repositioning, thereby significantly improving the positioning robustness of the entire UAV swarm in various challenging scenarios.
[0110] In a preferred embodiment, the requesting drone pre-stores the reputation scores corresponding to each responding drone, and the step of performing a group consensus decision based on the consistency verification result includes:
[0111] All returned verification response data are grouped, and drones that indicate that consistency is achieved are assigned to the support set, while drones that indicate that consistency is not achieved are assigned to the challenge set.
[0112] The weighted support rate is obtained by calculating the ratio of the total reputation score of the supporting centralized response drone to the total reputation score of all response drones participating in the verification.
[0113] When the weighted support rate exceeds a preset consensus threshold, the first positioning result is determined to meet a preset confidence condition. The consensus threshold is associated with the total number of responding drones participating in the verification and the complexity assessment of the current positioning environment.
[0114] In this embodiment, the flight control system or positioning decision module of the requested UAV-A maintains a database containing the reputation profiles of responding UAVs. This database stores a dynamically updated reputation score for each member of the cluster that may become a responding UAV (such as UAV-B, UAV-C, UAV-D, etc.).
[0115] The reputation score is a quantifiable value (e.g., ranging from 0 to 100) representing the reliability of the information provided by the responding drone in the cooperative positioning task. Its initial value can be set uniformly and then dynamically adjusted based on historical cooperative performance. For example:
[0116] If, after a cooperative positioning operation, auxiliary information from a responding UAV (such as a UAV-B) is adopted, and the final target positioning result closely matches the high-precision GNSS ground truth obtained afterward (e.g., after flying out of the interference zone), then the reputation score of the UAV-B is increased.
[0117] If the consistency check result returned by UAV-B is consistent with the final group decision result (for example, UAV-B considers it to be true, and the final decision also considers it to be true), its reputation score will increase; otherwise, its reputation score will decrease.
[0118] In addition, UAV-B can include its own positioning quality parameters (such as the number of satellites and HDOP value) with each response, and UAV-A can fine-tune the temporary reputation weight of UAV-B in this interaction in real time based on these parameters.
[0119] Based on the aforementioned reputation score mechanism, the specific execution process for group consensus adjudication is as follows:
[0120] For example, the requesting drone UAV-A sent a collaborative verification request to three surrounding responding drones, UAV-B, UAV-C, and UAV-D. UAV-A's pre-stored reputation scores are as follows:
[0121] Score(B)=90, Score(C)=95, Score(D)=70;
[0122] UAV-A receives and parses the verification response data from the three sources. Assumption:
[0123] The consistency check result returned by UAV-B is true;
[0124] The consistency check result returned by UAV-C is invalid.
[0125] The consistency check result returned by UAV-D is invalid.
[0126] Accordingly, UAV-A will respond to drones by grouping them:
[0127] Supported set: {UAV-B};
[0128] Question set: { UAV-C, UAV-D}.
[0129] UAV-A then calculates a weighted support rate, which reflects the credibility weight of opinions that consider the first positioning result credible across the entire population.
[0130] Calculate the total reputation score of the support set:
[0131] Total_Score_Support = Score(B) = 90;
[0132] Calculate the total reputation score of all participating drones:
[0133] Total_Score_All = Score(B) + Score(C) + Score(D) = 90 + 95 + 70 =255;
[0134] Calculate the weighted support rate:
[0135] Weighted_Support_Rate = Total_Score_Support / Total_Score_All = 90 / 255 ≈ 35.3%;
[0136] The results indicate that, despite the presence of a drone, the strength supporting the first location result only accounts for about one-third of the total from a reputation-weighted perspective. In this case, UAV-A does not compare the weighted support rate with a fixed threshold (such as 50%), but instead calculates a consensus threshold that is relevant to the current context.
[0137] This consensus threshold is related to the following two factors:
[0138] The total number of responding drones participating in the verification process requires stronger consensus when there are fewer participants to make a judgment, in order to avoid being misled by a minority. For example, a base threshold T_base (e.g., 60%) can be set. When N is small (e.g., N ≤ 3), the threshold is increased; when N is large, the threshold can be relaxed appropriately. For instance, the threshold T_N = T_base + f(N), where f(N) is a function of N; the smaller N is, the larger f(N) is. In this example, N = 3, so the threshold can be increased by 10%.
[0139] The current assessment of the complexity of the positioning environment, in areas with extremely complex environments and unreliable GNSS (such as indoors or deep in tunnels), should lead to greater skepticism towards a GNSS result obtained by chance (the first positioning result), thus requiring a higher consensus threshold for its adoption.
[0140] Finally, the calculated weighted support rate is compared with the dynamic consensus threshold. When the weighted support rate exceeds the preset consensus threshold, it is determined that the first positioning result meets the preset confidence condition.
[0141] This implementation introduces a consensus threshold, enabling the decision criteria of the positioning method to adaptively adjust to changes in the environment and group size. Higher consensus criteria are required during critical or challenging moments (few participants, poor environment), thereby significantly improving the reliability of the positioning.
[0142] In a preferred embodiment, the positioning assistance information includes the positioning information and positioning uncertainty of the responding UAV, and the step of determining the second positioning result based on the relative positional relationship and the positioning assistance information includes:
[0143] Construct a factor graph optimization model with the positioning information of each responding UAV as the observation node, the relative positional relationship as the constraint, and the positioning uncertainty as the weight; by solving the factor graph optimization model, determine the optimal state estimate that minimizes the weighted sum of the residuals of all constraints, and use the position component in the optimal state estimate as the second positioning result.
[0144] In this embodiment, the consensus decision of the requesting UAV-A is that the confidence condition is not met, and it has abandoned its first positioning result. At the same time, UAV-A receives verification response data from UAV-C and UAV-D in the challenge set, which includes their respective positioning assistance information and the calculated relative position relationship.
[0145] Based on this, all physical quantities that need to be estimated or optimized are defined as variable nodes in the factor graph optimization model.
[0146] For example, in this embodiment, the state variables to be optimized include: the six-DOF pose of the requesting drone and the six-DOF pose of each responding drone.
[0147] Factor nodes represent constraints imposed on one or more state variable nodes. Each factor node is associated with a cost function (the core of which is the residual function) and a weight. The weight is determined by the uncertainty of the corresponding information, which can be the inverse information matrix of the covariance matrix.
[0148] The goal is to find a set of optimal state variable estimates such that the sum of squares of the residuals generated by all factors in the model after being weighted by their corresponding information matrices (i.e., the total cost function) reaches its minimum.
[0149] For example, the solution process can employ iterative optimization algorithms, such as the Gauss-Newton method or the Levenberg-Marquardt method. The iterative process includes:
[0150] In each iteration, at the current state estimate, a first-order Taylor expansion is performed on all nonlinear residual functions, approximating the nonlinear problem as a locally linear problem. This process requires calculating the Jacobian matrix of each residual function with respect to the state variables it is connected to.
[0151] Based on the linearized result, a linear normal equation is constructed. By solving this equation, an optimal state increment is obtained. This increment indicates the direction and step size that the current state estimate needs to be adjusted in order to make the cost function decrease the fastest.
[0152] The calculated state increments are applied to the current state variable estimates to obtain a set of optimized estimates.
[0153] Repeat the linearization, solution, and update steps described above until a preset convergence criterion is met, such as the magnitude of the state increment being less than a minimum threshold, or the decrease in the total cost function becoming stable.
[0154] After convergence of the iterative optimization, the optimal state estimate that minimizes the weighted sum of the residuals of all constraints is obtained. This state estimate contains the optimal six-degree-of-freedom poses of all variable nodes in the model (i.e., the requesting drone and all responding drones).
[0155] Finally, the pose of the requesting UAV is extracted from the optimal state estimate, and its three-dimensional spatial position components are further extracted from the pose as the second localization result.
[0156] Furthermore, the method in the above embodiments also includes:
[0157] Identify a target drone, which is a responding drone that is assigned to the support set or the challenge set; determine the cooperation benefit or cooperation penalty of the target drone based on the result of the target drone being assigned to the support set or the challenge set; update the reputation score corresponding to the target drone based on the cooperation benefit or cooperation penalty.
[0158] In this implementation, if the target drone gains a benefit from cooperation, the system will perform an additive update, adding the benefit value to its current reputation score. If the target drone incurs a penalty for cooperation, the system will perform a subtractive update, deducting the penalty value (its absolute value) from its current reputation score.
[0159] The updated value will be stored as the target drone's new reputation score in the drone swarm's shared database or its own non-volatile memory. To ensure the validity of the score, its total value will also be limited to a fixed global range (e.g., a percentage system).
[0160] Furthermore, when the first positioning result is determined to not meet the preset confidence condition, the method further includes:
[0161] The first positioning result is compared with the second positioning result to determine the deviation vector; the correlation between the deviation vector and the satellite used in the calculation of the first positioning result is determined; the correlation is used as diagnostic information to adjust the weight allocation of each satellite signal in the reference ephemeris data.
[0162] For example, in a unified global coordinate reference system (e.g., a geocentric-geostatic coordinate system), the coordinate vector of the second positioning result is subtracted from the coordinate vector of the first positioning result, and the result is used as the deviation vector. The magnitude of this three-dimensional vector represents the absolute magnitude of the GNSS positioning error, while its direction indicates the distribution characteristics of the error in three-dimensional space.
[0163] Based on this, the deviation vector is projected onto the line-of-sight unit vector of each satellite. The projection yields a scalar value, the absolute magnitude of which represents the component of the positioning error in the specific satellite observation direction. The magnitude of this component is the correlation strength between the deviation vector and the satellite observation.
[0164] By comparing the absolute values of the projection components of all satellites, if the projection component of one or more satellites is significantly higher than that of the others (i.e., exceeds a preset statistical threshold), it can be determined that the pseudorange measurement error generated by these satellites is the main contributor to the deviation of the GNSS positioning result.
[0165] Based on this, the weight allocation scheme within the GNSS navigation solution engine was modified. In mainstream solution algorithms such as weighted least squares or Kalman filter, each satellite's observation value has a weight, representing its contribution to the final solution.
[0166] For each highly correlated satellite listed in the diagnostic information, its corresponding weight value in the weight matrix will be significantly reduced. The reduction can be set as a fixed penalty value or proportional to the correlation strength calculated in the above steps.
[0167] In extreme cases, where a satellite has extremely high correlation, indicating that its observation data is completely unreliable, its weight can be set directly to zero, meaning that the satellite will be completely removed from the list of available satellites in the next navigation calculation.
[0168] This implementation uses high-confidence group positioning results as a reference to reverse diagnose and quantify the errors introduced by specific satellites in its own GNSS signal, and dynamically adjusts the weight of the satellite signal, enabling the UAV to have online self-adaptation and anti-interference capabilities, thereby fundamentally improving the quality of autonomous positioning.
[0169] Furthermore, please refer to Figure 2 This application also proposes a drone positioning method for a responding drone, wherein the responding drone is communicatively connected to the requesting drone, and the method includes:
[0170] Step A10: Receive a collaborative verification request from the requesting drone, the request including the first positioning result of the requesting drone and feature information of its environmental data;
[0171] Step A20: Determine the relative positional relationship between the responding drone and the requesting drone based on the feature information;
[0172] Step A30: Obtain the positioning information of the responding drone itself;
[0173] Step A40: Based on the first positioning result of the requesting drone, the positioning information of the responding drone itself, and the relative positional relationship, perform a consistency check and generate a consistency check result.
[0174] Step A50: Return verification response data to the requesting drone. The verification response data includes the consistency verification result and the relative position relationship. When the consistency verification result is not valid, the verification response data also includes positioning assistance information to assist the requesting drone in recalculating its positioning.
[0175] The execution process for responding to drones can be referred to the workflow for requesting drones in the above embodiments, and will not be repeated here.
[0176] Determining the relative positional relationship between the responding drone and the requesting drone based on the feature information includes:
[0177] The environmental data surrounding the responding drone is acquired in real time through airborne sensors.
[0178] The received feature information is then matched with the environmental data surrounding the responding drone using multimodal feature matching.
[0179] Based on the successfully matched feature pairs, the relative attitude and position of the responding drone relative to the requesting drone are calculated as the relative positional relationship.
[0180] Further, based on the first positioning result of the requesting drone, the positioning information of the responding drone itself, and the relative positional relationship, a consistency check is performed, including:
[0181] Based on the first positioning result of the requesting drone and the relative position relationship, the estimated positioning result of the responding drone is determined; the Mahalanobis distance between the estimated positioning result and the positioning information of the responding drone itself is calculated; if the Mahalanobis distance is less than a preset threshold, the consistency verification result is determined to be valid; if the Mahalanobis distance is not less than the preset threshold, the consistency verification result is determined to be invalid.
[0182] This implementation uses Mahalanobis distance as the distance metric for correlation between data.
[0183] First, the estimated positioning result (pose vector) is subtracted from the UAV's own positioning information (its pose vector) to obtain the pose residual vector, which is used to quantify the difference between direct measurement and indirect estimation.
[0184] Invert the residual covariance matrix to obtain the information matrix. Multiply this information matrix by the transpose of the residual vector, and then multiply the result by the original residual vector. The resulting scalar value is the square of the Mahalanobis distance. Taking the square root of this scalar value gives the Mahalanobis distance. The physical meaning of this distance is: the difference between two poses is equivalent to the number of standard deviations of their joint uncertainty distribution.
[0185] The calculated Mahalanobis distance (or its square) is compared to a pre-defined threshold. This threshold is typically determined based on the confidence interval of the chi-square distribution. For example, a chi-square value corresponding to a 95% confidence level could be set as the threshold; that is, if two poses do indeed describe the same target and the error conforms to the stated covariance, there is a 95% probability that their Mahalanobis distance will be less than this threshold.
[0186] If the calculated Mahalanobis distance is less than a preset threshold, it indicates that the responding drone's own positioning information, its observation of the requesting drone, and the requesting drone's self-positioning information are statistically compatible and do not contain significant contradictions. Therefore, the consistency check result is deemed valid. The data from the responding drone is considered reliable and can be incorporated into subsequent factor graph optimization.
[0187] If the calculated Mahalanobis distance is not less than (i.e., greater than or equal to) a preset threshold, it indicates a statistically significant conflict among the three pieces of information, meaning at least one piece of data contains an unmodeled gross error. Based on this, the consistency check result is deemed invalid, and the data provided by the responding drone is marked as an outlier and rejected for subsequent optimization calculations to prevent contamination of the final positioning result.
[0188] This application also proposes a drone positioning system, including: a requesting drone configured to execute a drone positioning method applied to the requesting drone; and at least one responding drone configured to execute a drone positioning method applied to the responding drone.
[0189] Furthermore, this application also proposes a drone, including a memory and a processor, wherein the memory is connected to the processor, and the processor is used to execute one or more computer programs stored in the memory, wherein when the processor executes the one or more computer programs, the drone implements the drone positioning method as described in the above embodiments.
[0190] Further, see Figure 3 , Figure 3 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. This electronic device can serve as the processing unit of the drone described above. The electronic device 60 includes one or more processors 61 and a memory 62. The memory 62 is connected to one or more processors 61, for example, via a bus.
[0191] Processor 61 is configured to support the electronic device in performing the corresponding functions in the methods described in the above method embodiments. Processor 61 may be a central processing unit (CPU), a network processor (NP), a hardware chip, or any combination thereof. The aforementioned hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The aforementioned PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.
[0192] Memory 62 is used to store program code, etc. Memory 62 may include volatile memory (VM), such as random access memory (RAM); memory 62 may also include non-volatile memory (NVM), such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid-state drive (SSD); memory 62 may also include combinations of the above types of memory.
[0193] The memory 62 can be used to store non-volatile software programs, non-volatile computer-executable programs, and modules, such as the program instructions / modules corresponding to the UAV positioning method in the embodiments of this application. The processor 61 executes various functional applications and data processing of the UAV positioning method and UI interface generation system by running the non-volatile software programs, instructions, and modules stored in the memory 62, thereby realizing the functions of each module or unit of the UAV positioning method and UI interface generation system provided in the above method embodiments.
[0194] The memory 62 may include a program storage area and a data storage area, wherein the program storage area may store the operating system and applications required for at least one function. The data storage area may store data created based on the use of the UI interface generation system. In some embodiments, the memory 62 may optionally include memory remotely located relative to the processor 61, and this remote memory may be connected to the UI interface generation device via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.
[0195] One or more modules are stored in memory 62. When executed by one or more processors 61, they perform the UAV positioning method in any of the above method embodiments. For example, they perform the method steps described in the above method embodiments to realize the functions of the modules described in the above system embodiments.
[0196] This application also provides a computer-readable storage medium storing a computer program, which includes program instructions. When executed by a processor of an electronic device, the program instructions cause the processor to perform the UAV positioning method as described in the foregoing embodiments.
[0197] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, it can include the processes of the embodiments of the methods described above. The storage medium can be a magnetic disk, optical disk, read-only memory (ROM), or random access memory (RAM), etc.
[0198] The above-disclosed embodiments are merely preferred embodiments of this application and should not be construed as limiting the scope of this application. Therefore, any equivalent variations made in accordance with the claims of this application shall still fall within the scope of this application.
Claims
1. A method for positioning a drone, the method comprising: The application is applied to a request unmanned aerial vehicle, the request unmanned aerial vehicle is communicatively connected with at least one response unmanned aerial vehicle, and the method comprises the following steps: In response to the positioning instruction, a first positioning result is obtained based on pre-stored reference ephemeris data, and environmental data is collected to extract environmental feature information; A cooperative verification request is sent to the at least one response unmanned aerial vehicle, the cooperative verification request comprising the first positioning result and the environmental feature information; Verification response data returned by the response unmanned aerial vehicle is received, the verification response data comprising at least consistency verification information and relative position information, the consistency verification information being used for indicating a consistency verification result of each response unmanned aerial vehicle on the first positioning result, and the relative position information being used for indicating a relative position relationship of each response unmanned aerial vehicle relative to the request unmanned aerial vehicle, the verification response data further comprising positioning auxiliary information when the consistency verification result is not passed; Group consensus adjudication is performed according to the consistency verification result in each verification response data to determine whether the first positioning result meets a preset confidence condition; When the confidence condition is met, the first positioning result is taken as a target positioning result of the request unmanned aerial vehicle; when the confidence condition is not met, a second positioning result is determined as the target positioning result of the request unmanned aerial vehicle according to the relative position information and the positioning auxiliary information; The request unmanned aerial vehicle pre-stores credit points corresponding to each response unmanned aerial vehicle, and the group consensus adjudication according to the consistency verification result in each verification response data comprises the following steps: A target set is determined, the target set being used for indicating all response unmanned aerial vehicles that return verification response data to the request unmanned aerial vehicle; The target set is divided into a support set and a doubt set according to the consistency verification result in each verification response data; the support set is used for indicating response unmanned aerial vehicles with a passed consistency verification result, and the doubt set is used for indicating response unmanned aerial vehicles with a not-passed consistency verification result; According to the credit points corresponding to each response unmanned aerial vehicle, a ratio of a sum of credit points of each response unmanned aerial vehicle in the support set to a sum of credit points of each response unmanned aerial vehicle in the target set is obtained to obtain a weighted support rate; If the weighted support rate is greater than a preset consensus threshold, it is determined that the first positioning result meets the confidence condition; The value of the consensus threshold is positively correlated with the number of response unmanned aerial vehicles that return data and the current environmental complexity determined based on the environmental feature information.
2. The method of claim 1, wherein, The positioning auxiliary information comprises positioning information and a positioning uncertainty of the response unmanned aerial vehicle itself; the second positioning result is determined according to the relative position information and the positioning auxiliary information, and the method comprises the following steps: A factor graph optimization model is constructed, wherein the factor graph optimization model takes the positioning information of each response unmanned aerial vehicle itself as an observation node, takes the relative position relationship as a relative constraint edge, and takes the inverse of the positioning uncertainty of each response unmanned aerial vehicle as a weight of a corresponding observation node; The factor graph optimization model is solved to determine a system state optimal estimation value that minimizes a weighted sum of overall constraint residuals. According to the optimal estimation of the system state, a position state of the requesting UAV is determined as the second positioning result.
3. The method of claim 1, wherein, The method further includes: After the group consensus decision, according to the results of each responding UAV corresponding to the support set or the challenge set, a cooperation benefit or a cooperation penalty of each responding UAV is determined; According to the cooperation benefit or the cooperation penalty, the reputation score corresponding to each responding UAV is updated.
4. The method of claim 1, wherein, After the second positioning result is determined, the method further includes: A position deviation vector between the first positioning result and the second positioning result is calculated; A degree of association between the observation residual or the geometric distribution factor of each satellite when the first positioning result is calculated and the position deviation vector is determined; According to the degree of association, evaluation information of the reliability of each satellite signal is determined, and a weight allocation strategy of different satellite signals in the reference ephemeris data is adjusted.
5. A method for positioning a drone, the method comprising: The method is applied to a responding UAV in communication connection with a requesting UAV, and includes: A cooperative verification request from the requesting UAV is received, and the cooperative verification request includes a first positioning result and environmental feature information; According to the environmental feature information, a relative position relationship with respect to the requesting UAV is calculated; Current self-positioning information of the responding UAV is obtained; Based on the first positioning result, the self-positioning information, and the relative position relationship, a consistency verification is performed, and a consistency verification result is generated; A verification response data is returned to the requesting UAV, wherein the verification response data at least includes the consistency verification result and the relative position relationship, and when the consistency verification result is not passed, the verification response data further includes positioning auxiliary information including the self-positioning information and a positioning uncertainty thereof; The reputation score corresponding to each responding UAV is pre-stored in the requesting UAV, and the requesting UAV performs a group consensus decision according to the consistency verification result, specifically including: A target set is determined, and the target set is used to indicate all responding UAVs that return verification response data to the requesting UAV; According to the consistency verification result in each verification response data, the target set is divided into a support set and a challenge set; wherein the support set is used to indicate the responding UAVs whose consistency verification result is passed, and the challenge set is used to indicate the responding UAVs whose consistency verification result is not passed; According to the reputation score corresponding to each responding UAV, a ratio of a sum of the reputation scores of the responding UAVs in the support set to a sum of the reputation scores of the responding UAVs in the target set is obtained as a weighted support rate; If the weighted support rate is greater than a preset consensus threshold, it is determined that the first positioning result meets a preset confidence condition; The value of the consensus threshold is positively correlated with the number of responding UAVs that return data and the current environmental complexity determined based on the environmental feature information.
6. The method of claim 5, wherein, The calculation of the relative position relationship with respect to the requesting UAV according to the environmental feature information includes: Environmental data around the responding UAV is obtained; perform multi-modal feature matching on the received feature information and environmental data around the responding UAV; based on the successfully matched feature pairs, solve a relative pose and position of the responding UAV relative to the requesting UAV as the relative position relationship.
7. The method of claim 5, wherein, the consistency verification and generation of a consistency verification result based on the first positioning result, the self-positioning information, and the relative position relationship, including: determining a reckoning positioning result of the responding UAV according to the first positioning result of the requesting UAV and the relative position relationship; calculating a Mahalanobis distance between the reckoning positioning result and the self-positioning information of the responding UAV; if the Mahalanobis distance is less than a preset threshold, determining that the consistency verification result is established; if the Mahalanobis distance is not less than the preset threshold, determining that the consistency verification result is not established.
8. A drone positioning system, comprising: including: a requesting UAV configured to perform the UAV positioning method according to any one of claims 1 to 4; at least one responding UAV configured to perform the UAV positioning method according to any one of claims 5 to 7.
9. A drone, characterized in that, a memory connected to the processor, the processor being configured to execute one or more computer programs stored in the memory, and the processor, when executing the one or more computer programs, causing the UAV to implement the UAV positioning method according to any one of claims 1 to 4 or 5 to 7.
Citation Information
Patent Citations
Vehicle positioning method, device, equipment and medium
CN115096320A
Method for operating at least two communicating vehicles
DE102018206981A1