A seamless positioning method for quadrotor unmanned aerial vehicle based on multi-source fusion

By using a GNSS receiver to determine the indoor and outdoor environment, and combining VIO and GNSS/VIO fusion positioning methods with sliding window extrinsic calibration, the problem of discontinuous positioning of UAVs when switching between indoor and outdoor environments is solved, achieving high-precision seamless positioning and enhancing the UAV's adaptability in complex environments.

CN120779443BActive Publication Date: 2026-08-04BEIJING INST OF TECH
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BEIJING INST OF TECH
Filing Date
2025-06-23
Publication Date
2026-08-04

AI Technical Summary

Technical Problem

Existing GNSS/VIO fusion positioning systems cannot be accurately initialized when switching between indoor and outdoor environments, and positioning is discontinuous when satellite signals are lost or reacquired, resulting in insufficient adaptability of UAVs in complex environments.

Method used

The indoor and outdoor environments are determined by the position accuracy factor of the GNSS receiver. The indoor positioning method of VIO and the loosely coupled outdoor positioning method of GNSS/VIO are adopted. An external parameter calibration method based on sliding window and time difference is designed. The position fusion is combined with the federated Kalman filter to achieve seamless indoor and outdoor positioning.

Benefits of technology

It improves the smoothness and adaptability of UAV positioning in indoor and outdoor environments, ensures high-precision real-time seamless positioning, and reduces initialization errors during system startup.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120779443B_ABST
    Figure CN120779443B_ABST
Patent Text Reader

Abstract

The application discloses a kind of seamless positioning methods of quadrotor unmanned aerial vehicle based on multi-source fusion, belong to unmanned aerial vehicle positioning technical field.The application according to the position accuracy factor of GNSS divides positioning area into indoor area and outdoor area, uses VIO positioning mode in indoor;In outdoor, it uses the GNSS / VIO loose coupling positioning mode based on federal Kalman filter, first, in the sliding window, the idea of time series difference is used to calibrate the external parameter of GNSS subsystem and VIO subsystem online, realize real-time spatial alignment, then use federal Kalman filter to fuse positioning information.Simultaneously, the smooth switching scheme of positioning system is designed, so that when the positioning area changes, the system can accurately identify and smoothly transition.The application is proposed, enhances the high-precision positioning ability of quadrotor unmanned aerial vehicle in complex environment, provides strong three-dimensional perception solution for the vertical application of unmanned aerial vehicle in low-altitude economy.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of UAV positioning technology, specifically relating to a seamless positioning method for quadrotor UAVs based on multi-source fusion. Background Technology

[0002] The booming development of the low-altitude economy has placed higher demands on the intelligence level of equipment. Quadrotor drones, with their vertical takeoff and landing, low-altitude flight, and rapid response capabilities, have become the most flexible transportation tool in the low-altitude economy, covering scenarios that are difficult for traditional aircraft to access. High-precision positioning, as a key foundational capability for autonomous drone operations, provides accurate environmental information, helping them achieve autonomous navigation, target identification, and mission execution in dynamic and complex environments. However, with the expansion of application scope, the mission scenarios for drones are becoming increasingly complex, gradually shifting from solely indoor or outdoor environments to encompassing complex indoor and outdoor environments. Therefore, ensuring high-reliability, high-precision, real-time seamless indoor and outdoor positioning is of practical significance for the expansion of drones in the low-altitude economy.

[0003] Currently, multi-sensor fusion positioning technology is a popular research area of ​​interest for many scholars. For GNSS / VIO fusion positioning, the system initialization process requires establishing an accurate conversion relationship between local VIO frames and global GNSS frames. However, this conversion varies each time the system starts, making offline calibration impossible. Furthermore, satellite signals may be suddenly lost or gradually reacquired when moving between indoor and outdoor environments. Current research has not provided reliable solutions to these problems. Therefore, it is urgent to overcome the challenges of accurate initialization and smooth, seamless positioning in GNSS / VIO fusion positioning systems, enhance the adaptability of UAVs in complex environments, and provide a versatile three-dimensional perception solution for the application of UAVs in the low-altitude economy. Summary of the Invention

[0004] The purpose of this invention is to overcome the shortcomings of existing technologies and provide a seamless positioning method for quadrotor UAVs based on multi-source fusion. This method can accurately divide the positioning area according to the magnitude of the GNSS position accuracy factor and use the corresponding positioning means. For outdoor positioning, an online extrinsic parameter calibration method based on the sliding window and temporal difference concepts is designed, and the convergence of the extrinsic parameters is determined. GNSS historical information from outdoor positioning is used to maintain the accuracy of indoor positioning. This ensures smooth and seamless positioning of the UAV in both indoor and outdoor environments.

[0005] To achieve the objectives of this invention, the technical solution adopted is as follows:

[0006] A seamless positioning method for quadrotor UAVs based on multi-source fusion includes indoor positioning and outdoor positioning. The position accuracy factor of the GNSS receiver is used to determine whether the quadrotor UAV to be positioned is indoors or outdoors. When indoors, VIO is used for positioning, and when outdoors, a loosely coupled GNSS / VIO method is used for positioning.

[0007] The indoor positioning method is as follows:

[0008] S11, move the quadcopter drone to be located outdoors, obtain the initial position P0 of the quadcopter drone to be located through a GNSS receiver, capture environmental images in real time through the binocular camera on the quadcopter drone to be located, obtain the acceleration and angular velocity information of the quadcopter drone to be located in real time through the IMU on the quadcopter drone to be located, and represent the acceleration and angular velocity information as IMU information; obtain the longitude, latitude and altitude information of the quadcopter drone to be located in real time through the GNSS receiver on the quadcopter drone to be located.

[0009] S12, based on the environmental image information and IMU information obtained in real time in step S11, obtain the position P11 of the quadcopter UAV to be located in the VIO world coordinate system in real time;

[0010] S13, convert the longitude, latitude and altitude information obtained in real time in step S11 into position P12 in the ENU coordinate system with the initial position P0 obtained in step S11 as the origin;

[0011] S14, calculate the rotation matrix and translation vector from the VIO world coordinate system to the ENU coordinate system using the position P11 obtained in step S12 and the position P12 obtained in step S13. The rotation matrix and translation vector are represented by extrinsic parameters.

[0012] S15, move the quadcopter drone to be located back indoors, take environmental images using the binocular camera on the quadcopter drone, and obtain the acceleration and angular velocity information of the quadcopter drone to be located using the IMU on the quadcopter drone. The acceleration and angular velocity information is represented by IMU information.

[0013] S16. Based on the environmental image information and IMU information obtained in step S15, obtain the position P13 of the quadcopter drone to be located in the VIO world coordinate system. Then, transform the position P13 of the quadcopter drone to be located in the VIO world coordinate system to the position P14 in the ENU coordinate system using the extrinsic parameters obtained in step S14, thus completing the indoor positioning.

[0014] The outdoor positioning steps are as follows:

[0015] S21: Obtain the initial position P0 of the quadcopter UAV to be located through a GNSS receiver; capture environmental images in real time through the binocular camera on the quadcopter UAV; obtain the acceleration and angular velocity information of the quadcopter UAV to be located in real time through the IMU on the quadcopter UAV, and represent the acceleration and angular velocity information as IMU information; obtain the longitude, latitude and altitude information of the quadcopter UAV to be located in real time through the GNSS receiver on the quadcopter UAV.

[0016] S22, based on the environmental image information and IMU information obtained in real time in step S21, obtain the position P21 of the quadcopter UAV to be located in the VIO world coordinate system;

[0017] S23, convert the longitude, latitude and altitude information obtained in step S21 into position P22 in the ENU coordinate system with the initial position P0 obtained in step S21 as the origin;

[0018] S24, calculate the rotation matrix and translation vector from the VIO world coordinate system to the ENU coordinate system using the position P21 obtained in step S22 and the position P22 obtained in step S23. The rotation matrix and translation vector are represented by extrinsic parameters.

[0019] S25, transform the position P21 of the quadcopter UAV to be located in the VIO world coordinate system obtained in step S22 into the ENU coordinate system using the extrinsic parameters obtained in S24, to obtain the position P23;

[0020] S26, The position P22 obtained in step S23 is fused with the position P23 obtained in step S25 using a federated Kalman filter to obtain the position of the quadcopter UAV to be located.

[0021] To improve the convergence of the external parameters, the quadcopter drone should be subjected to motion excitation in all directions when placed outdoors.

[0022] The method for determining whether the quadcopter drone to be located is indoors or outdoors using the position accuracy factor of a GNSS receiver is as follows:

[0023] If the position accuracy factor of the GNSS receiver is greater than the position accuracy factor threshold for T consecutive times, it is determined that the quadcopter drone to be located is indoors, and T is not less than 10; otherwise, it is determined that the quadcopter drone to be located is outdoors. The accuracy factor threshold is a set value. The larger the accuracy factor, the lower the accuracy of GNSS positioning.

[0024] In step S13, the method for converting the longitude information λ, latitude information φ, and altitude information h obtained in step S11 into the position P12 in the ENU coordinate system is as follows:

[0025] Let the initial positions be: longitude (λ0), latitude (φ0), and altitude (h0);

[0026] E=(λ-λ0)×cosφ0×R e

[0027] N=(φ-φ0)×R n

[0028] U = h - h0

[0029] Among them, R e R is the average radius of the Earth. n It is the radius of curvature of the meridian at the reference latitude, which can be approximated as the average radius of the Earth;

[0030] In step S14, the method for calculating the extrinsic parameters from the VIO world coordinate system to the ENU coordinate system using positions P11 and P12 is as follows:

[0031] Time alignment is achieved by linearly interpolating the VIO timestamp using the lower-frequency GNSS timestamp as a reference.

[0032] Construct a sliding window, establish a coordinate-aligned least squares model within the sliding window, and solve the least squares model to obtain the initial extrinsic parameters;

[0033] The solution of extrinsic parameters is optimized by using an improved temporal difference method, which is then transformed into the following state estimation problem:

[0034]

[0035] Where α is the learning rate, x n+1 These are the current initial extrinsic parameters. and These are the estimated external parameters at the current time and the estimated external parameters at the previous time, respectively.

[0036] The least squares model is as follows:

[0037]

[0038] Among them, {R EV ,T EV} represents external parameters;

[0039] The method for transforming position P13 to position P14 in the ENU coordinate system using external parameters in S16 is as follows:

[0040] First, determine whether the extrinsic parameters have converged. If they have converged successfully, record the convergence value R of the extrinsic parameters. in and T in ;

[0041] P14 = Rin P13+T in

[0042] If convergence fails, R is obtained by removing outliers from historical extrinsic parameters and then calculating the average value. ave and T ave ;

[0043]

[0044]

[0045] Among them, t s The timing for moving the quadcopter drone to be located back indoors, t k Δt is the current time, and P10 is the time for the quadcopter drone to be located to linearly transition from outdoors to indoors.

[0046] In step S26, the sampling federated Kalman filter fuses positions P22 and P23 as follows:

[0047] The federated Kalman filter consists of two sub-filters and a main filter; the two sub-filters are sub-filter a and sub-filter b.

[0048] Sub-filter a is used to filter noise at position P22;

[0049] Sub-filter b is used to filter noise at position P23;

[0050] The noise-filtered positions P22 and P23 are fused using a main filter;

[0051] Distribute the global optimization information of the main filter to the sub-filters;

[0052] The two sub-filters have the same mathematical model, and the state-space equations of the sub-filters are as follows:

[0053]

[0054] in, Let k be the state vector at time k. Z is the state vector at time k-1. k Let A be the observation vector, H be the state transition matrix, and W be the observation matrix. k and v k All are Gaussian white noise, w k This is called process noise, v k This is called measurement noise;

[0055]

[0056] in, The position in the ENU coordinate system Velocity in the ENU coordinate system;

[0057] The observation vector of sub-filter a is:

[0058]

[0059] Among them, V 22 The velocity at position P22;

[0060] The observation vector of sub-filter b is:

[0061]

[0062] Among them, V 23 The velocity at position P23;

[0063] The state transition matrix A is:

[0064]

[0065] Where δt is the time interval between the outputs of sub-filter a and sub-filter b; I is the identity matrix;

[0066] Observation matrix H = [I 6×6 ]

[0067] The formula for fusion in the main filter is:

[0068]

[0069] in, Let be the error covariance matrix of sub-filter a at time k. Let be the error covariance matrix of sub-filter b at time k. Let be the state estimate of sub-filter a at time k. Let b be the state estimate of subfilter b at time k; Let k be the fusion result at time k.

[0070] The allocation principle for the fused global information to the sub-filters is as follows:

[0071]

[0072] in, Let be the error covariance matrix of sub-filter a (k+1). Let be the error covariance matrix of sub-filter b at time k+1. Let a be the state estimate of sub-filter a (k+1). This is the state estimate of sub-filter b at time k+1. and The information allocation coefficients for sub-filter a and sub-filter b are respectively, satisfying the following principle:

[0073]

[0074] Define the performance metrics for sub-filters a and b. and They are respectively:

[0075]

[0076] The allocation coefficient is calculated as follows:

[0077]

[0078] It can be seen that when a certain sub-filter has a high accuracy, the corresponding performance index shows a small value, and the information allocation self-statement is also smaller. This also means that the error covariance matrix of the sub-filter is smaller in the next moment, and its estimation result occupies a higher weight in the main filter.

[0079] Beneficial effects

[0080] This invention addresses the limitations of single-sensor positioning in complex indoor and outdoor environments, and leverages the complementary characteristics of vision, inertial, and GNSS sensors to design a seamless indoor and outdoor positioning solution. By designing a switching scheme, the smoothness of the transition between indoor and outdoor environments is increased. A quadcopter UAV hardware platform is also built, and the performance of the solution is verified through publicly available datasets and real-world flight tests. Attached Figure Description

[0081] Figure 1 The image shows the test results of the GNSS / VIO outdoor fusion positioning scheme on the KITTI_00 dataset.

[0082] Figure 2 (a) A test trajectory diagram of simulated indoor and outdoor positioning on a handheld dataset;

[0083] Figure 2 (b) is a test error diagram of simulated indoor and outdoor positioning on a handheld dataset. Detailed Implementation

[0084] The present invention will be further described below with reference to the accompanying drawings and embodiments.

[0085] Example 1

[0086] Figure 1The image shows the test results of the outdoor positioning solution on the KITTI dataset 00 sequence. The gray dashed line represents the ground truth trajectory, and the colored solid line represents the trajectory estimated by the algorithm. The color of the solid line changes from cool to warm, indicating that the error between the trajectory estimate and the ground truth gradually increases. The KITTI dataset was collected by a vehicle-mounted platform on urban and rural roads. This platform was equipped with multiple sensors: two 1.4-megapixel Point Flea2 global shutter grayscale cameras and two color cameras; an OXTS RT3003 inertial navigation system, including a GNSS receiver and IMU; and a 64-line Velodyne HDL-64E lidar. The KITTI dataset sequences varied in complexity, and the degree of GNSS signal obstruction also varied across datasets. The 00 sequence had higher scene complexity, including straight lines, turns, and roundabouts, posing a greater challenge during the testing phase. Therefore, the 00 sequence from the KITTI dataset was selected for testing. The testing process was as follows:

[0087] (1) First, read the GNSS position accuracy factor in the dataset. If the accuracy factor is less than the set threshold 10 times in a row, it is determined to be an outdoor scene.

[0088] (2) Read the first longitude, latitude, and altitude values ​​from the dataset: 48.9827°, 8.39045°, and 116.396m, respectively. This is the origin P0. Then continue to read the real-time longitude, latitude, and altitude values ​​and convert them to coordinates P22 in the ENU coordinate system.

[0089] (3) The position of the quadcopter UAV in the VIO world coordinate system is calculated using image information, angular velocity information, and acceleration information obtained from the dataset. Method P21 is as follows:

[0090] Step 1: Data Preprocessing: For stereo images, the Shi-Tomasi corner detection algorithm is used to extract feature points, and LK sparse pyramid optical flow is performed for feature tracking. For IMU information, pre-integration is performed.

[0091] Step 2, Initialization: This mainly involves performing pure vision initial pose calculation and gyroscope bias correction. Pure vision pose calculation mainly includes two steps: PnP and triangulation. After correcting the gyroscope bias, the pre-integration is re-propagated.

[0092] Step 3, Sliding Window Optimization: Establish a sliding window of size 10. At time i, the system state variables to be optimized within the sliding window are defined as follows:

[0093]

[0094]

[0095] Where n represents the number of keyframes in the sliding window, and m is the number of feature points in the sliding window. x0, x1, x n This represents the state information of the IMU at times k=0, k=1, and k=n. The state information of the IMU at time k is denoted as x. k x k Includes the position of the IMU in the VIO world coordinate system at time k. speed attitude and accelerometer zero bias b a and gyroscope zero bias b g λ0, λ1, λ m This represents the inverse depth of the corresponding feature point. Subsequently, a least-squares objective function for backend optimization is established and iteratively solved using the Levenberg-Marquardt (LM) algorithm to obtain the position P21 in the VIO world coordinate system.

[0096] (4) Construct a sliding window for extrinsic parameter calculation with a size of 20. Within the sliding window, construct a least-squares model for extrinsic parameter calculation using P21 and P22:

[0097]

[0098] Among them, {R EV ,T EV Let} represent the extrinsic parameters. The initial extrinsic parameters are solved using singular value decomposition, and then optimized using a modified time-difference method. The optimized extrinsic parameter values ​​are denoted as the estimated extrinsic parameters. The specific method is as follows:

[0099] First, the estimated external parameters at initial time k and time k+1 are calculated by averaging:

[0100]

[0101] Where x k Let k be the initial extrinsic parameters at time k. Let x be the estimated value of the extrinsic parameters at time k. k+1 The initial extrinsic parameters at time k+1 x1 represents the estimated extrinsic parameters at time k+1, and x2 represents the first and second initial extrinsic parameter values ​​after the start of localization, respectively.

[0102] To improve the real-time performance of state estimation, the two equations above are simplified together to obtain:

[0103]

[0104] That is, the current estimated value is corrected by the error between the current measured value and the previous estimated value. However, as time increases, the coefficient before the error becomes smaller, meaning the weight of the correction value becomes smaller, which reduces the accuracy of subsequent estimates. Therefore, a constant α is used to replace 1 / (n+1), i.e.:

[0105]

[0106] Where α is the learning rate, set to 0.4.

[0107] (5) Using the calculated extrinsic parameters, the position P21 of the quadcopter UAV to be located in the VIO world coordinate system is transformed to the ENU coordinate system to obtain the position P23.

[0108] (6) A federated Kalman filter is used to fuse P22 and P23.

[0109] The final fusion trajectory is as follows Figure 1 The solid line in the figure shows the absolute trajectory error. The EVO tool was used to evaluate the absolute trajectory error. Compared with the true value, the maximum error was 2.893507m and the root mean square error was 1.743103m.

[0110] Verification showed that the root mean square error of the fusion positioning algorithm was less than 0.3%D (where D is the distance traveled).

[0111] Example 2

[0112] Using a self-built drone, environmental datasets were collected handheld in an outdoor parking lot. To simulate the situation of moving between indoors and outdoors, the GNSS accuracy factor was artificially increased to simulate entering indoors. This method can test whether the positioning system can achieve smooth and seamless positioning in complex indoor and outdoor scenarios. Figure 2 (a) A test trajectory diagram on a handheld dataset simulating indoor and outdoor positioning. Figure 2 (b) is a test error curve of indoor and outdoor shuttle positioning on a handheld dataset. The indoor entry was simulated by artificially increasing the GNSS accuracy factor within 45s-100s.

[0113] First, the quadcopter drone is in an outdoor environment. It obtains the initial longitude, latitude and altitude information through a GNSS receiver: 39.9635°, 116.305° and 46.4224m respectively. Then, P21 and P22 are obtained by following the outdoor positioning steps S21 to S23.

[0114] The rotation matrix and translation vector from the VIO world coordinate system to the ENU coordinate system are calculated in real time within a sliding window using P21 and P22. The extrinsic parameters converge at t = 28s, and the convergence value is:

[0115]

[0116] T in =[0.31201, 0.951531, 0.13323]

[0117] At t=45s, the accuracy factor obtained by the GNSS receiver begins to exceed the critical value. At t=46s, the accuracy factor exceeds the critical value 10 times consecutively, indicating that the current positioning area has begun to enter the indoor area.

[0118] After entering the indoor area, the current position P13 of the quadcopter UAV in the VIO world coordinate system is calculated using the VIO positioning method. Then, P13 is transmitted via R... in and T in Transforming to the ENU coordinate system, we obtain position P14, which is:

[0119] P14 = R in P13+T in

[0120] At t=100, the accuracy factor obtained by the GNSS receiver begins to fall below the critical value. At t=101s, the accuracy factor falls below the critical value 10 times consecutively, indicating that the current positioning area has entered the outdoor area. The outdoor positioning method is continued to obtain the position of the quadcopter UAV in the ENU coordinate system in the outdoor scene.

[0121] The above are merely preferred embodiments of the present invention and are not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.

Claims

1. A seamless positioning method for a quadcopter UAV based on multi-source fusion, characterized in that: The positioning method includes indoor positioning and outdoor positioning. The position accuracy factor of the GNSS receiver is used to determine whether the quadcopter UAV to be positioned is indoors or outdoors. When indoors, VIO is used for positioning, and when outdoors, a loosely coupled GNSS / VIO method is used for positioning. The indoor positioning method is as follows: S11, move the quadcopter drone to be located outdoors, obtain the initial position P0 of the quadcopter drone to be located through a GNSS receiver, capture environmental images in real time through the binocular camera on the quadcopter drone to be located, obtain the acceleration and angular velocity information of the quadcopter drone to be located in real time through the IMU on the quadcopter drone to be located, and represent the acceleration and angular velocity information as IMU information; obtain the longitude, latitude and altitude information of the quadcopter drone to be located in real time through the GNSS receiver on the quadcopter drone to be located. S12, based on the environmental image information and IMU information obtained in real time in step S11, obtain the position P11 of the quadcopter UAV to be located in the VIO world coordinate system in real time; S13, convert the longitude, latitude and altitude information obtained in real time in step S11 into position P12 in the ENU coordinate system with the initial position P0 obtained in step S11 as the origin; S14, calculate the rotation matrix and translation vector from the VIO world coordinate system to the ENU coordinate system using the position P11 obtained in step S12 and the position P12 obtained in step S13. The rotation matrix and translation vector are represented by extrinsic parameters. S15, move the quadcopter drone to be located back indoors, take environmental images using the binocular camera on the quadcopter drone, and obtain the acceleration and angular velocity information of the quadcopter drone to be located using the IMU on the quadcopter drone. The acceleration and angular velocity information is represented by IMU information. S16. Based on the environmental image information and IMU information obtained in step S15, obtain the position P13 of the quadcopter drone to be located in the VIO world coordinate system. Transform the position P13 of the quadcopter drone to be located in the VIO world coordinate system to the position P14 in the ENU coordinate system using the extrinsic parameters obtained in step S14, thus completing the indoor positioning. In step S14, the method for calculating the extrinsic parameters from the VIO world coordinate system to the ENU coordinate system using positions P11 and P12 is as follows: Time alignment is achieved by linearly interpolating the VIO timestamp using the lower-frequency GNSS timestamp as a reference. Construct a sliding window, establish a coordinate-aligned least squares model within the sliding window, and solve the least squares model to obtain the initial extrinsic parameters; The solution of extrinsic parameters is optimized by using an improved temporal difference method, which is then transformed into the following state estimation problem: wherein, is a learning rate, is a current initial extrinsic parameter, and is a current extrinsic parameter estimate and a previous extrinsic parameter estimate, respectively.

2. The seamless positioning method for a quadcopter UAV based on multi-source fusion according to claim 1, characterized in that: The outdoor positioning steps are as follows: S21: Obtain the initial position P0 of the quadcopter UAV to be located through a GNSS receiver; capture environmental images in real time through the binocular camera on the quadcopter UAV; obtain the acceleration and angular velocity information of the quadcopter UAV to be located in real time through the IMU on the quadcopter UAV, and represent the acceleration and angular velocity information as IMU information; obtain the longitude, latitude and altitude information of the quadcopter UAV to be located in real time through the GNSS receiver on the quadcopter UAV. S22, based on the environmental image information and IMU information obtained in real time in step S21, obtain the position P21 of the quadcopter UAV to be located in the VIO world coordinate system; S23, convert the longitude, latitude and altitude information obtained in step S21 into position P22 in the ENU coordinate system with the initial position P0 obtained in step S21 as the origin; S24, calculate the rotation matrix and translation vector from the VIO world coordinate system to the ENU coordinate system using the position P21 obtained in step S22 and the position P22 obtained in step S23. The rotation matrix and translation vector are represented by extrinsic parameters. S25, transform the position P21 of the quadcopter UAV to be located in the VIO world coordinate system obtained in step S22 into the ENU coordinate system using the extrinsic parameters obtained in S24, to obtain the position P23; S26, The position P22 obtained in step S23 is fused with the position P23 obtained in step S25 using a federated Kalman filter to obtain the position of the quadcopter UAV to be located.

3. The seamless positioning method for a quadcopter UAV based on multi-source fusion according to claim 1, characterized in that: The method for determining whether the quadcopter drone to be located is indoors or outdoors using the position accuracy factor of a GNSS receiver is as follows: If the position accuracy factor of the GNSS receiver is greater than the position accuracy factor threshold for T consecutive times, it is determined that the quadcopter drone to be located is indoors, and T is not less than 10; otherwise, it is determined that the quadcopter drone to be located is outdoors. The accuracy factor threshold is a set value; the larger the accuracy factor, the lower the accuracy of GNSS positioning.

4. The seamless positioning method for a quadcopter UAV based on multi-source fusion according to claim 1, characterized in that: In the step S13, the longitude information obtained in the step S11 , latitude information , and height information are converted into a position P12 in the ENU coordinate system by the following method. Let the initial position be: longitude ,latitude ,high ; in, It is the average radius of the Earth. It is the radius of curvature of the meridian at the reference latitude.

5. The seamless positioning method for a quadcopter UAV based on multi-source fusion according to claim 1, characterized in that: The least squares model is as follows: in, As an external reference, N Set the sliding window size to 20.

6. The seamless positioning method for a quadcopter UAV based on multi-source fusion according to claim 1, characterized in that: The method for transforming position P13 to position P14 in the ENU coordinate system using external parameters in S16 is as follows: First, determine if the extrinsic parameters have converged. If they have converged successfully, record the convergence value of the extrinsic parameters. and ; If convergence is not achieved, the average value is obtained by removing outliers from the historical extrinsic parameters. and ; in, The timing for moving the quadcopter drone to be located back indoors, For the current moment, The time required for a quadcopter drone to be positioned to linearly transition from outdoors to indoors; The quadcopter drone to be located was moved back to its indoor position at that moment.

7. The seamless positioning method for a quadcopter UAV based on multi-source fusion according to claim 2, characterized in that: In step S26, the sampling federated Kalman filter fuses positions P22 and P23 as follows: The federated Kalman filter consists of two sub-filters and a main filter; the two sub-filters are sub-filter a and sub-filter b. Sub-filter a is used to filter noise at position P22; Sub-filter b is used to filter noise at position P23; The noise-filtered positions P22 and P23 are fused using a main filter; Distribute the global optimization information of the main filter to the sub-filters.

8. The seamless positioning method for a quadcopter UAV based on multi-source fusion according to claim 7, characterized in that: The two sub-filters have the same mathematical model, and the state-space equations of the sub-filters are as follows: in, for k The state vector at time t, for k-1 The state vector at time t, For the observation vector, Here is the state transition matrix. For the observation matrix, and All are Gaussian white noise. This is called process noise. This is called measurement noise; in, The position in the ENU coordinate system Velocity in the ENU coordinate system; The observation vector of sub-filter a is: in, The velocity at position P22; The observation vector of sub-filter b is: in, The velocity at position P23; State transition matrix for: in, The time interval between the outputs of sub-filter a and sub-filter b; It is a 3×3 identity matrix; Observation matrix ; The formula for fusion in the main filter is: in, Let be the error covariance matrix of sub-filter a at time k. for k The error covariance matrix of the time-series filter b, for k The state estimate of sub-filter a at time step. for k The state estimate of sub-filter b at time step; for k It is the result of the fusion of moments; The allocation principle for the fused global information to the sub-filters is as follows: in, for k+1 The error covariance matrix of time-series filter a, for k+1 The error covariance matrix of the time-series filter b, for k+1 The state estimate of sub-filter a for k+1 The state estimate of sub-filter b at time step. and The information allocation coefficients for sub-filter a and sub-filter b are respectively, satisfying the following principle: Define the performance metrics for sub-filters a and b. and They are respectively: The allocation coefficient is calculated as follows: 。