Aircraft motion estimation method, device and equipment and storage medium

By applying error state Kalman filter and optical flow tracking technology on the aircraft, combining point cloud and inertial data for motion estimation, the problem of insufficient accuracy of the high-altitude SLAM method is solved, and high-precision motion estimation is achieved in the environment without satellite navigation signals.

CN119594980AActive Publication Date: 2025-03-11GUANGDONG INST OF ARTIFICIAL INTELLIGENCE & ADVANCED COMPUTING

Patent Information

Application Number
CN202411767823.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-04
Publication Date
2025-03-11
Estimated Expiration
2044-12-04

AI Technical Summary

Technical Problem

When the aircraft is flying at a high altitude, the SLAM method based on lidar and vision cannot achieve accurate motion estimation, especially in scenarios without satellite navigation signals.

Method used

The method based on error state Kalman filter (ESKF) is used to combine the current point cloud data and inertial data to perform motion estimation, and the second motion estimation result is obtained through optical flow tracking, and the weight is determined based on the constraint intensity in the point cloud data, and the two estimation results are fused to obtain the target motion estimation result.

Benefits of technology

It improves the accuracy of motion estimation of the aircraft in high altitude and satellite navigation signal environments, ensuring stable flight of the aircraft under complex circumstances.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119594980A_ABST
    Figure CN119594980A_ABST
Patent Text Reader

Abstract

The invention discloses a motion estimation method, device and equipment of an aircraft and a storage medium, and relates to the technical field of computers. The method comprises the following steps: analyzing and processing current point cloud data acquired by an aircraft and current inertial data of the aircraft based on an error state Kalman filter ESKF, and performing motion estimation on the aircraft to obtain a first motion estimation result of the aircraft; performing optical flow tracking on current image data acquired by the aircraft to obtain a second motion estimation result of the aircraft; determining a first weight of a first motion estimation result according to each point in the current point cloud data and constraint strength of a nearest neighbor plane corresponding to each point, and determining a second weight of a second motion estimation result according to the first weight; and fusing the first motion estimation result and the second motion estimation result based on the first weight and the second weight to obtain a more accurate target motion estimation result of the aircraft, thereby realizing accurate motion estimation of the aircraft.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present invention relate to the field of computer technology, and in particular to a method, device, equipment and storage medium for estimating the motion of an aircraft. Background Art

[0002] During flight, aircraft require navigation equipment to provide accurate location information. Traditional navigation equipment is satellite navigation equipment. However, there is a risk of satellite navigation signal loss, and aircraft cannot fly normally in areas where the signal is interfered.

[0003] With the development of sensor technology, the simultaneous localization and mapping (SLAM) method based on lidar and vision can provide accurate location information for aircraft in outdoor scenarios without satellite navigation signals.

[0004] However, when the aircraft flies at a high altitude, the SLAM method based on lidar and vision cannot achieve accurate motion estimation. Summary of the invention

[0005] The present invention provides a method, device, equipment and storage medium for estimating the motion of an aircraft, so as to improve the accuracy of estimating the motion of the aircraft.

[0006] In a first aspect, an embodiment of the present invention provides a method for estimating motion of an aircraft, comprising:

[0007] Based on an Error State Kalman Filter (ESKF), current point cloud data acquired by the aircraft and current inertial data of the aircraft are analyzed and processed to estimate the motion of the aircraft, thereby obtaining a first motion estimation result of the aircraft, wherein the observation equation in the ESKF is determined by the distance between each point in the current point cloud data and the nearest neighbor plane of each point in the local point cloud map;

[0008] Obtaining a second motion estimation result of the aircraft by performing optical flow tracking on current image data acquired by the aircraft, wherein data constraints of the optical flow tracking are determined by inertial data and image data;

[0009] Determine a first weight of the first motion estimation result according to the constraint strength between each point in the current point cloud data and the nearest neighbor plane corresponding to each point, and determine a second weight of the second motion estimation result according to the first weight;

[0010] A target motion estimation result is determined based on the first motion estimation result and the first weight and the second motion estimation result and the second weight.

[0011] The technical solution of an embodiment of the present invention provides a method for estimating the motion of an aircraft, comprising: analyzing and processing current point cloud data acquired by the aircraft and current inertial data of the aircraft based on an error state Kalman filter (ESKF), performing motion estimation on the aircraft, and obtaining a first motion estimation result of the aircraft, wherein the observation equation in the ESKF is determined by the distance between each point in the current point cloud data and the nearest neighbor plane of each point in the local point cloud map; obtaining a second motion estimation result of the aircraft by performing optical flow tracking on the current image data acquired by the aircraft, wherein the data constraints of the optical flow tracking are determined by the inertial data and the image data; determining a first weight of the first motion estimation result according to the constraint strength between each point in the current point cloud data and the nearest neighbor plane corresponding to each point, and determining a second weight of the second motion estimation result according to the first weight; and determining a target motion estimation result based on the first motion estimation result and the first weight and the second motion estimation result and the second weight. The above technical scheme can firstly perform motion estimation through the current point cloud data obtained by the aircraft and the current inertial data of the aircraft to obtain a first motion estimation result of the aircraft. Secondly, motion estimation can be performed through the current image data obtained by the aircraft and the current inertial data of the aircraft to obtain a second motion estimation result of the aircraft. Then, the confidence of the first motion estimation result can be determined based on the constraint strength between each point in the current point cloud data and the nearest neighbor plane corresponding to each point. This result can also be called an evaluation index of the first motion estimation result. The evaluation index of the first motion estimation result is determined by performing degradation detection on the first motion estimation result. This result is used as the first weight of the first motion estimation result. The second weight of the second motion estimation result is determined according to the first weight of the first motion estimation result. Then, the first motion estimation result and the second motion estimation result can be fused according to the first motion estimation result and the first weight as well as the second motion estimation result and the second weight to obtain the target motion estimation result of the aircraft, thereby achieving accurate motion estimation of the aircraft.

[0012] Further, based on the error state Kalman filter ESKF, the current point cloud data acquired by the aircraft and the current inertial data of the aircraft are analyzed and processed, and the motion of the aircraft is estimated to obtain a first motion estimation result of the aircraft, including:

[0013] The current point cloud data and the current inertial data are input into the ESKF, so that the ESKF determines the observation value according to the current point cloud data and the observation equation while analyzing the current inertial data and the previous motion estimation result, and obtains the first motion estimation result when it is determined that the observation value is the minimum.

[0014] Further, determining the observation value according to the current point cloud data and the observation equation includes:

[0015] Determine the nearest neighbor point of each point in the current point cloud data in the local point cloud map, wherein the local point cloud map stores a plurality of voxels and points in each voxel based on a hash table, and establishes an index of a subdivided spatial unit in the voxel based on a pseudo-Hilbert space filling curve;

[0016] Determine the nearest neighbor plane of each point in the current point cloud data in the local point cloud map according to the nearest neighbor point of each point in the current point cloud data in the local point cloud map;

[0017] Substitute each point in the current point cloud data and the nearest neighbor plane corresponding to each point into the observation equation to obtain the observation value.

[0018] Furthermore, by performing optical flow tracking on the current image data acquired by the aircraft, a second motion estimation result of the aircraft is obtained, including:

[0019] Determine a weight map and a feature map of the current image data, and extract feature points according to the weight map;

[0020] Performing optical flow tracking on the feature map based on the feature points to obtain a current tracking result;

[0021] The current tracking result and the previous tracking result are fused based on the factor graph to obtain the second motion estimation result.

[0022] Further, determining a first weight of the first motion estimation result according to the constraint strength between each point in the current point cloud data and the nearest neighbor plane corresponding to each point includes:

[0023] Determine the constraint strength of the nearest neighbor planes corresponding to each point in the current point cloud data according to the vector angle between a first vector formed by the nearest neighbor planes corresponding to each point in the current point cloud data and a second vector formed by the direction of travel of the aircraft;

[0024] An evaluation index for determining the first motion estimation result is obtained by normalizing the sum of the strengths obtained by accumulating the constraint strengths of each point in the current point cloud data and the nearest neighbor plane corresponding to each point, and the evaluation index is determined as the first weight.

[0025] Further, determining a target motion estimation result based on the first motion estimation result and the first weight and the second motion estimation result and the second weight includes:

[0026] When it is determined that there is no time error between the first motion estimation result and the second motion estimation result, fusing the first motion estimation result and the second motion estimation result based on the first weight and the second weight to obtain the target motion estimation result;

[0027] In a case where it is determined that there is a time error between the first motion estimation result and the second motion estimation result, the first motion estimation result is determined as the target motion estimation result.

[0028] Further, fusing the first motion estimation result and the second motion estimation result based on the first weight and the second weight to obtain the target motion estimation result includes:

[0029] Using the position estimation result and the posture estimation result in the first motion estimation result as points of a pose graph, and the position change and the posture change in the second motion estimation result as edges of the pose graph, to construct a pose graph, wherein the edge weight is determined according to the first weight and the second weight;

[0030] The target motion estimation result is determined based on the pose graph.

[0031] In a second aspect, an embodiment of the present invention further provides a motion estimation device for an aircraft, comprising:

[0032] A first estimation module is used to analyze and process the current point cloud data acquired by the aircraft and the current inertial data of the aircraft based on an error state Kalman filter (ESKF), perform motion estimation on the aircraft, and obtain a first motion estimation result of the aircraft, wherein the observation equation in the ESKF is determined by the distance between each point in the current point cloud data and the nearest neighbor plane of each point in the local point cloud map;

[0033] A second estimation module, configured to obtain a second motion estimation result of the aircraft by performing optical flow tracking on current image data acquired by the aircraft, wherein data constraints of the optical flow tracking are determined by inertial data and image data;

[0034] a determination module, configured to determine a first weight of the first motion estimation result according to the constraint strength between each point in the current point cloud data and the nearest neighbor plane corresponding to each point, and determine a second weight of the second motion estimation result according to the first weight;

[0035] An execution module is used to determine a target motion estimation result based on the first motion estimation result and the first weight and the second motion estimation result and the second weight.

[0036] In a third aspect, an embodiment of the present invention further provides an electronic device, the electronic device comprising:

[0037] at least one processor; and a memory communicatively coupled to the at least one processor;

[0038] The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the method for estimating the motion of an aircraft as described in any one of the first aspects.

[0039] In a fourth aspect, an embodiment of the present invention further provides a storage medium comprising computer executable instructions, wherein the computer executable instructions, when executed by a computer processor, are used to execute a method for estimating the motion of an aircraft as described in any one of the first aspects.

[0040] In a fifth aspect, the present application provides a computer program product, which includes computer instructions. When the computer instructions are executed on a computer, the computer executes the method for estimating the motion of an aircraft as provided in the first aspect.

[0041] It should be noted that the above-mentioned computer instructions may be stored in whole or in part on a computer-readable storage medium. The computer-readable storage medium may be packaged together with the processor of the aircraft motion estimation device, or may be packaged separately from the processor of the aircraft motion estimation device, and this application does not limit this.

[0042] The description of the second, third, fourth and fifth aspects in this application can refer to the detailed description of the first aspect; and the beneficial effects of the description of the second, third, fourth and fifth aspects can refer to the beneficial effect analysis of the first aspect, which will not be repeated here.

[0043] In this application, the name of the above-mentioned aircraft motion estimation device does not limit the device or functional module itself. In actual implementation, these devices or functional modules may appear with other names. As long as the functions of each device or functional module are similar to those of this application, they belong to the scope of the claims of this application and their equivalent technologies.

[0044] These and other aspects of the present application will become more apparent from the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0045] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0046] Figure 1 A flow chart of a method for estimating the motion of an aircraft provided by an embodiment of the present invention;

[0047] Figure 2 A flowchart of another method for estimating the motion of an aircraft provided by an embodiment of the present invention;

[0048] Figure 3 A schematic diagram of the structure of a motion estimation device for an aircraft provided by an embodiment of the present invention;

[0049] Figure 4 A schematic diagram of the structure of an electronic device provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0050] The present invention will be further described in detail below in conjunction with the accompanying drawings and embodiments. It is to be understood that the specific embodiments described herein are only used to explain the present invention, rather than to limit the present invention. It should also be noted that, for ease of description, only parts related to the present invention, rather than all structures, are shown in the accompanying drawings.

[0051] The term "and / or" in this article is merely a description of the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone.

[0052] The terms "first" and "second" and the like in the specification and drawings of this application are used to distinguish different objects, or to distinguish different processing of the same object, rather than to describe a specific order of objects.

[0053] In addition, the terms "including" and "having" and any variations thereof mentioned in the description of the present application are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not limited to the listed steps or units, but may optionally include other steps or units that are not listed, or may optionally include other steps or units that are inherent to these processes, methods, products or devices.

[0054] It should be mentioned before discussing exemplary embodiments in more detail that some exemplary embodiments are described as processes or methods depicted as flow charts. Although the flow charts describe various operations (or steps) as sequential processes, many operations therein can be implemented in parallel, concurrently or simultaneously. In addition, the order of various operations can be rearranged. The process can be terminated when its operation is completed, but can also have additional steps not included in the accompanying drawings. The process can correspond to methods, functions, procedures, subroutines, subprograms, etc. In addition, the embodiments in the present invention and the features in the embodiments can be combined with each other without conflict.

[0055] It should be noted that, in the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific way.

[0056] In the description of the present application, unless otherwise specified, “plurality” means two or more.

[0057] When the aircraft flies at a high altitude, the existing SLAM methods based on LiDAR and vision are at risk of failure. LiDAR SLAM relies on the registration effect of point cloud data. The point cloud data obtained by the LiDAR at high altitude will be approximately planar in shape, and the similarity of each frame of point cloud data is very large, lacking the geometric information required for registration. Visual SLAM relies on the association of feature points between consecutive frames of image data, and is difficult to operate in conditions where the texture of deserts and jungles is not rich. When flying at high altitudes, the distance between the reference object and the aircraft is large. When the baseline length is limited, it is difficult for binocular vision to accurately calculate the depth information, and thus accurate motion estimation cannot be achieved.

[0058] Therefore, the present application proposes a method for estimating the motion of an aircraft, which can achieve accurate positioning of the aircraft at a high altitude outdoors and without satellite navigation signals, and ensure stable flight of the aircraft in a variety of complex situations.

[0059] The following will describe in detail the method for estimating the motion of an aircraft proposed in this application in conjunction with diagrams and embodiments.

[0060] Figure 1 This is a flow chart of a method for estimating the motion of an aircraft provided in an embodiment of the present invention. This embodiment is applicable to situations where it is necessary to estimate the motion of an aircraft. The method can be executed by a motion estimation device for an aircraft, such as Figure 1 As shown, the specific steps include:

[0061] Step 110: Analyze and process the current point cloud data acquired by the aircraft and the current inertial data of the aircraft based on the error state Kalman filter ESKF, perform motion estimation on the aircraft, and obtain a first motion estimation result of the aircraft.

[0062] Aircraft are usually equipped with laser radar and inertial odometer. The laser radar is used to obtain point cloud data of the area where the aircraft is flying, and the inertial odometer is used to obtain inertial data of the aircraft.

[0063] Specifically, during the flight, the aircraft can obtain point cloud data in real time based on the laser radar and inertial data in real time based on the inertial odometer. Since ESKF can better handle the problem of attitude change, the current point cloud data and the current inertial data can be input into ESKF, and ESKF determines the first motion estimation result by analyzing the current point cloud data, the current inertial data and the previous motion estimation result. Moreover, ESKF can obtain the first motion estimation result of the aircraft when the observation value is the minimum, and the determination of the first motion estimation result of the aircraft is more accurate.

[0064] In the embodiment of the present invention, the motion estimation of the aircraft is implemented through point cloud data and inertial data to obtain a first motion estimation result of the aircraft.

[0065] Step 120: Obtain a second motion estimation result of the aircraft by performing optical flow tracking on the current image data acquired by the aircraft.

[0066] The aircraft is also equipped with an image acquisition device, which is used to acquire image data of the area where the aircraft is flying. The image acquisition device of the aircraft can cover the field of view of the laser radar.

[0067] The current image data may be understood as image data that maintains temporal consistency with the current point cloud data.

[0068] Specifically, replacing the grayscale invariance of the traditional optical flow method with the consistency of convolutional features based on the image can enhance the stability and reliability of visual feature tracking. Therefore, optical flow tracking can be performed based on the feature points of the image. Specifically, the current point cloud data and the current image data are time-aligned and strictly correspond in time. In addition, the laser radar carried by the aircraft is a solid-state laser radar with a single-view non-repetitive scanning. Therefore, after the current point cloud data is projected onto the current image data, the coverage of the point cloud data in the current image data gradually increases over time, and the position information of a large number of pixels in the current image data in three-dimensional space can be obtained. After determining the weight map and feature map based on the current image data, the feature points can be determined based on the weight map, and optical flow tracking can be performed based on the feature points in the feature map to obtain the current tracking result, thereby achieving the second motion estimation result of the aircraft.

[0069] In the embodiment of the present invention, the motion estimation of the aircraft is implemented through image data and inertial data to obtain a second motion estimation result of the aircraft.

[0070] Step 130: determine a first weight of the first motion estimation result according to the constraint strength between each point in the current point cloud data and the nearest neighbor plane corresponding to each point, and determine a second weight of the second motion estimation result according to the first weight.

[0071] When the aircraft is flying in an open and flat outdoor environment and the lidar is facing the ground, the shapes of each frame of point cloud data acquired by the lidar are very similar and approximate to a plane. There is a lack of effective point-surface constraints in the horizontal direction and heading angle. Therefore, the confidence of the first motion estimation result determined based on the point cloud data and inertial data can be determined according to the strength of each set of point-surface constraints.

[0072] Specifically, first, the strength of each set of point-surface constraints can be determined, where the points are the points in the current point cloud data, and the surfaces are the nearest neighbor planes of the points in the current point cloud data in the local point cloud map. Specifically, the constraint strength of the nearest neighbor planes corresponding to the points in the current point cloud data can be determined according to the vector angle between the first vector formed by the nearest neighbor planes corresponding to the points in the current point cloud data and the second vector formed by the direction of travel of the aircraft. Secondly, the confidence of the first motion estimation result can be determined according to the constraint strength of the nearest neighbor planes corresponding to the points in the current point cloud data. This result can also be called the evaluation index of the first motion estimation result. The evaluation index of the first motion estimation result is determined by the degradation detection of the first motion estimation result. Then, the evaluation result can be determined as the first weight. Since the target motion estimation result is determined according to the first motion estimation result and the second motion estimation result, the sum of the second weights of the first motion estimation result and the second motion estimation result is 100%. Therefore, after determining the first weight of the first motion estimation result, the second weight of the second motion estimation result can be determined.

[0073] In the embodiment of the present invention, the first weight of the first motion estimation result is determined by performing degradation detection on the first motion estimation result, and the second weight of the second motion estimation result is determined.

[0074] Step 140: Determine a target motion estimation result based on the first motion estimation result and the first weight and the second motion estimation result and the second weight.

[0075] Specifically, the first motion estimation result and the second motion estimation result can be fused based on the first weight of the first motion estimation result and the second weight of the second motion estimation result to obtain a target motion estimation result, and the first weight of the first motion estimation result indicates the confidence of the first motion estimation result. The target motion estimation result obtained by fusing the first motion estimation result and the second motion estimation result based on the first weight of the first motion estimation result and the second weight of the second motion estimation result has higher accuracy.

[0076] In the embodiment of the present invention, the target motion estimation result is determined according to the first motion estimation result and the first weight and the second motion estimation result and the second weight, so as to achieve accurate motion estimation of the aircraft.

[0077] The motion estimation method of an aircraft provided in an embodiment of the present invention includes: analyzing and processing current point cloud data acquired by the aircraft and current inertial data of the aircraft based on an error state Kalman filter (ESKF), performing motion estimation on the aircraft, and obtaining a first motion estimation result of the aircraft, wherein the observation equation in the ESKF is determined by the distance between each point in the current point cloud data and the nearest neighbor plane of each point in the local point cloud map; obtaining a second motion estimation result of the aircraft by performing optical flow tracking on current image data acquired by the aircraft, wherein the data constraints of the optical flow tracking are determined by inertial data and image data; determining a first weight of the first motion estimation result according to the constraint strength between each point in the current point cloud data and the nearest neighbor plane corresponding to each point, and determining a second weight of the second motion estimation result according to the first weight; and determining a target motion estimation result based on the first motion estimation result and the first weight and the second motion estimation result and the second weight. The above technical scheme can firstly perform motion estimation through the current point cloud data obtained by the aircraft and the current inertial data of the aircraft to obtain a first motion estimation result of the aircraft. Secondly, motion estimation can be performed through the current image data obtained by the aircraft and the current inertial data of the aircraft to obtain a second motion estimation result of the aircraft. Then, the confidence of the first motion estimation result can be determined based on the constraint strength between each point in the current point cloud data and the nearest neighbor plane corresponding to each point. This result can also be called an evaluation index of the first motion estimation result. The evaluation index of the first motion estimation result is determined by performing degradation detection on the first motion estimation result. This result is used as the first weight of the first motion estimation result. The second weight of the second motion estimation result is determined according to the first weight of the first motion estimation result. Then, the first motion estimation result and the second motion estimation result can be fused according to the first motion estimation result and the first weight as well as the second motion estimation result and the second weight to obtain the target motion estimation result of the aircraft, thereby achieving accurate motion estimation of the aircraft.

[0078] Figure 2 This is a flow chart of another method for estimating the motion of an aircraft provided by an embodiment of the present invention. This embodiment is specific based on the above embodiment. Figure 2 As shown, in this embodiment, the method may further include:

[0079] Step 210: Analyze and process the current point cloud data acquired by the aircraft and the current inertial data of the aircraft based on the error state Kalman filter ESKF, perform motion estimation on the aircraft, and obtain a first motion estimation result of the aircraft.

[0080] The point cloud data is obtained by the aircraft based on the laser radar scanning the area where the aircraft is flying. The scanning period is related to the performance of the laser radar itself. For example, the scanning period can be 0.1 seconds. Due to the movement of the aircraft itself, the point cloud data obtained during the scanning period is not consistent with the real environment. Therefore, the obtained point cloud data can be corrected to the same time based on the inertial data during the scanning period to obtain the current point cloud data.

[0081] Specifically, first, the point cloud data acquired by the aircraft can be corrected based on the inertial data of the aircraft. Specifically, the point cloud data currently acquired by the aircraft can be corrected based on the inertial data of the aircraft during the scanning period from the current moment to the current moment. The positions of all points in the currently acquired point cloud data are corrected to the same moment to obtain the current point cloud data, so that the shape of the current point cloud data is consistent with the shape of the object in the real environment.

[0082] In one implementation, step 210 may specifically include:

[0083] The current point cloud data and the current inertial data are input into the ESKF, so that the ESKF determines the observation value according to the current point cloud data and the observation equation while analyzing the current inertial data and the previous motion estimation result, and obtains the first motion estimation result when it is determined that the observation value is the minimum.

[0084] The observation equation in the ESKF is determined by the distance between each point in the current point cloud data and the nearest neighbor plane of each point in the local point cloud map.

[0085] Specifically, the current point cloud data and the current inertial data can be input into ESKF, and ESKF can define the state vector as x = [A, B, C] T , where A represents position data, B represents velocity data, and C represents attitude data. The state equation can be defined as x k+1 =f(x k ,v k ,w k ), where x k+1represents the state at time k+1, x k represents the state at time k, v k represents the inertia data at time k, w k Represents process noise, and the error state can be defined as in, Represents the predicted state, and the observation equation can be defined as z k =h(x k ,u k ), where u k represents the observation noise, and the observation equation is determined by the distance between each point in the current point cloud data and the nearest neighbor plane of each point in the local point cloud map.

[0086] Further, determining the observation value according to the current point cloud data and the observation equation includes:

[0087] Determine the nearest neighbor point of each point in the current point cloud data in the local point cloud map, wherein the local point cloud map stores multiple voxels and points in each voxel based on a hash table, and establishes an index of the subdivided spatial unit in the voxel based on a pseudo-Hilbert space filling curve; determine the nearest neighbor plane of each point in the current point cloud data in the local point cloud map according to the nearest neighbor point of each point in the current point cloud data in the local point cloud map; substitute each point in the current point cloud data and the nearest neighbor plane corresponding to each point into the observation equation to obtain the observation value.

[0088] Motion estimation based on point cloud data relies on the registration of the current point cloud data and the nearest neighbor points in the local point cloud map. The local point cloud map in this application adopts an incremental voxel-based data management method, that is, a sparse voxel map can be maintained, and a hash table can be used to uniformly construct voxels and points within the voxels. The voxel coordinates of each point are used as key values ​​to generate a unique index for each point. The index of all subdivided spatial units within the voxel can also be established based on the pseudo-Hilbert space filling curve, so as to quickly find the nearest neighbor points of each point in the local point map.

[0089] Specifically, first, the nearest neighbor points corresponding to each point in the current point cloud data can be determined in the local point cloud map. The nearest neighbor points here can be understood as the points in the local point cloud map that are closest to each point in the current point cloud data. Specifically, the voxel closest to each point can be determined first, and then the point closest to each point can be determined among the voxels closest to each point to determine the nearest neighbor points of each point in the local point cloud map. Secondly, the nearest neighbor planes of each point in the local point cloud map can be determined based on the nearest neighbor points of each point in the local point cloud map. Specifically, a group of nearest neighbor points can be determined based on the nearest neighbor points of each point in the local point cloud map, and then plane fitting is performed based on this group of nearest neighbor points to determine the nearest neighbor planes of each point in the local point cloud map. Then, each point and the nearest neighbor planes corresponding to each point can be substituted into the observation equation to obtain the observation values.

[0090] While analyzing the current inertial data and the previous motion estimation result, ESKF brings the current point cloud data into the observation equation to determine the observation value, and obtains the first motion estimation result of the aircraft when the observation value is minimum.

[0091] In the embodiment of the present invention, the motion estimation of the aircraft is implemented through point cloud data and inertial data to obtain a first motion estimation result of the aircraft.

[0092] Step 220: Obtain a second motion estimation result of the aircraft by performing optical flow tracking on the current image data acquired by the aircraft.

[0093] Among them, the data constraints of optical flow tracking are determined by inertial data and image data.

[0094] In one implementation, step 220 may specifically include:

[0095] Determine a weight map and a feature map of the current image data, extract feature points according to the weight map; perform optical flow tracking on the feature map based on the feature points to obtain a current tracking result; fuse the current tracking result with the historical tracking result based on a factor map, and obtain the second motion estimation result when the data constraint is minimum.

[0096] Specifically, first, the current image data can be processed based on a neural network to determine the weight map and feature map corresponding to the current image data. The weight map can be used for feature point extraction, and the feature map can be used for multi-layer pyramid optical flow tracking. Secondly, the feature points can be determined based on the weight map, which can be determined by projecting the current point cloud data onto the weight map and then jointly evaluating and determining based on depth and weight. Then, optical flow tracking can be performed based on the feature points in the feature map to obtain the current tracking result.

[0097] In order to improve the tracking effect, the second motion estimation result of the aircraft can be determined by fusing the current tracking result and the historical tracking result. Specifically, the tracking results corresponding to multiple frames of continuous image data can be processed based on the factor graph optimization method, and the data constraints for fusing the tracking results corresponding to adjacent frames of image data are determined by the inertial data and the image data, and can be specifically determined by the pre-integration residual of the inertial data and the reprojection error of the image data.

[0098] The tracking results corresponding to multiple frames of continuous image data are processed based on the factor graph optimization method, the reprojection error is determined by the image data, the inertial data pre-integration residual is determined by the inertial data, and the optimal estimate is determined by minimizing the reprojection error and the inertial data pre-integration residual, so as to determine the second motion estimation result of the aircraft.

[0099] It should be noted that the collection and triggering of point cloud data and image data are both run on edge computing. When the laser radar completes the scanning of the current point cloud data, the pin on the edge computing platform generates a rising edge trigger signal, which is connected to the trigger signal interface of the image acquisition device. Therefore, the image acquisition instruction can be sent to the image acquisition device based on the trigger signal interface of the image acquisition device. The image acquisition device can acquire the current image data based on the image acquisition instruction, thereby achieving strict correspondence between the current point cloud data and the current image data in time and space.

[0100] In the embodiment of the present invention, the motion estimation of the aircraft is implemented through image data and inertial data to obtain a second motion estimation result of the aircraft.

[0101] Step 230: Determine a first weight of the first motion estimation result according to the constraint strength between each point in the current point cloud data and the nearest neighbor plane corresponding to each point.

[0102] In one implementation, step 230 may specifically include:

[0103] The constraint strength of the nearest neighbor planes corresponding to each point in the current point cloud data is determined based on the vector angle between the first vector formed by the nearest neighbor planes corresponding to each point in the current point cloud data and the second vector formed by the direction of travel of the aircraft; the strength and value obtained by accumulating the constraint strengths of the nearest neighbor planes corresponding to each point in the current point cloud data are normalized to obtain an evaluation index for determining the first motion estimation result, and the evaluation index is determined as the first weight.

[0104] Specifically, first, the first vector formed by the corresponding nearest neighbor planes of each point in the current point cloud data can be determined, and secondly, the second vector formed by the direction of travel of the aircraft can be determined. Then, the constraint strength of the nearest neighbor planes corresponding to each point in the current point cloud data can be determined according to the vector angle determined by the first vector formed by the corresponding nearest neighbor planes of each point in the current point cloud data and the second vector formed by the direction of travel of the aircraft. The constraint strengths of the nearest neighbor planes corresponding to each point in the current point cloud data are accumulated, and the accumulated results are normalized to obtain the confidence of the first motion estimation result, which is the first weight of the first motion estimation result.

[0105] In the embodiment of the present invention, the first weight of the first motion estimation result is determined according to the constraint strength between each point in the current point cloud data and the nearest neighbor plane corresponding to each point.

[0106] Step 240: Determine a second weight of the second motion estimation result according to the first weight.

[0107] Specifically, a difference between 100% and the first weight may be determined, and the difference may be determined as the second weight of the second motion estimation result.

[0108] In the embodiment of the present invention, the second weight of the second motion estimation result is determined.

[0109] Step 250: Determine a target motion estimation result based on the first motion estimation result and the first weight and the second motion estimation result and the second weight.

[0110] In one implementation, step 250 may specifically include:

[0111] When it is determined that there is no time error between the first motion estimation result and the second motion estimation result, the first motion estimation result and the second motion estimation result are fused based on the first weight and the second weight to obtain the target motion estimation result; when it is determined that there is a time error between the first motion estimation result and the second motion estimation result, the first motion estimation result is determined as the target motion estimation result.

[0112] The determination of the first motion estimation result and the determination of the second motion estimation result are performed simultaneously, and after the first motion estimation result is determined, the motion estimation result fusion algorithm will be triggered. When it is determined that there is no time error between the first motion estimation result and the second motion estimation result, the motion estimation result fusion algorithm fuses the first motion estimation result and the second motion estimation result based on the first weight and the second weight to obtain the target motion estimation result. When it is determined that there is a time error between the first motion estimation result and the second motion estimation result, there is no need for a fusion step, and the first motion estimation result is directly determined as the target motion estimation result.

[0113] Further, fusing the first motion estimation result and the second motion estimation result based on the first weight and the second weight to obtain the target motion estimation result includes:

[0114] The position estimation result and the posture estimation result in the first motion estimation result are used as points of a pose graph, and the position change and the posture change in the second motion estimation result are used as edges of the pose graph to construct a pose graph, wherein the edge weight is determined based on the first weight and the second weight; and the target motion estimation result is determined based on the pose graph.

[0115] Specifically, the first motion estimation result and the second motion estimation result can be fused based on the pose graph optimization method. Specifically, the position estimation result and the attitude estimation result in the first motion estimation result can be used as the points of the pose graph, and the position change and the attitude change in the second motion estimation result can be used as the edges of the pose graph to construct a pose graph. The edge weight is determined based on the first weight and the second weight. Then, motion estimation can be performed based on the pose graph to obtain the target motion estimation result of the aircraft.

[0116] In practical applications, the target motion estimation results can also be used to update the local point cloud map.

[0117] In the embodiment of the present invention, the target motion estimation result is obtained by fusing the first motion estimation result and the second motion estimation result of the aircraft, thereby achieving accurate motion estimation of the aircraft.

[0118] The motion estimation method of an aircraft provided in an embodiment of the present invention includes: analyzing and processing current point cloud data acquired by the aircraft and current inertial data of the aircraft based on an error state Kalman filter (ESKF), performing motion estimation on the aircraft, and obtaining a first motion estimation result of the aircraft; obtaining a second motion estimation result of the aircraft by performing optical flow tracking on current image data acquired by the aircraft; determining a first weight of the first motion estimation result according to the constraint strength between each point in the current point cloud data and the nearest neighbor plane corresponding to each point; determining a second weight of the second motion estimation result according to the first weight; and determining a target motion estimation result based on the first motion estimation result and the first weight and the second motion estimation result and the second weight. The above technical solution can firstly perform motion estimation through the current point cloud data obtained by the aircraft and the current inertial data of the aircraft to obtain a first motion estimation result. Secondly, motion estimation can be performed through the current image data obtained by the aircraft and the current inertial data of the aircraft to obtain a second motion estimation result of the aircraft. Then, the confidence of the first motion estimation result can be determined according to the constraint strength between each point in the current point cloud data and the nearest neighbor plane corresponding to each point. This result can also be called an evaluation index of the first motion estimation result. The evaluation index of the first motion estimation result is determined by performing degradation detection on the first motion estimation result. This result is used as the first weight of the first motion estimation result. The second weight of the second motion estimation result is determined according to the first weight of the first motion estimation result. Then, the first motion estimation result and the second motion estimation result can be fused according to the first motion estimation result and the first weight as well as the second motion estimation result and the second weight to obtain a target motion estimation result, thereby realizing accurate motion estimation of the aircraft, further realizing accurate positioning of the aircraft at a large outdoor altitude without satellite navigation signals, and ensuring stable flight of the aircraft in a variety of complex situations.

[0119] Figure 3 The present invention provides a schematic diagram of the structure of a device for estimating the motion of an aircraft, which can be applied to situations where the motion of an aircraft needs to be estimated, and improves the accuracy of the motion estimation of the aircraft. The device can be implemented by software and / or hardware, and is generally integrated in an electronic device, such as a computer device.

[0120] like Figure 3 As shown, the device comprises:

[0121] A first estimation module 310 is used to analyze and process the current point cloud data acquired by the aircraft and the current inertial data of the aircraft based on an error state Kalman filter ESKF, perform motion estimation on the aircraft, and obtain a first motion estimation result of the aircraft, wherein the observation equation in the ESKF is determined by the distance between each point in the current point cloud data and the nearest neighbor plane of each point in the local point cloud map;

[0122] A second estimation module 320, configured to obtain a second motion estimation result of the aircraft by performing optical flow tracking on current image data acquired by the aircraft, wherein data constraints of the optical flow tracking are determined by inertial data and image data;

[0123] A determination module 330, configured to determine a first weight of the first motion estimation result according to the constraint strength between each point in the current point cloud data and the nearest neighbor plane corresponding to each point, and determine a second weight of the second motion estimation result according to the first weight;

[0124] The execution module 340 is configured to determine a target motion estimation result based on the first motion estimation result and the first weight and the second motion estimation result and the second weight.

[0125] The motion estimation device of the aircraft provided in this embodiment analyzes and processes the current point cloud data acquired by the aircraft and the current inertial data of the aircraft based on the error state Kalman filter ESKF, performs motion estimation on the aircraft, and obtains a first motion estimation result of the aircraft, wherein the observation equation in the ESKF is determined by the distance between each point in the current point cloud data and the nearest neighbor plane of each point in the local point cloud map; obtains a second motion estimation result of the aircraft by performing optical flow tracking on the current image data acquired by the aircraft, wherein the data constraints of the optical flow tracking are determined by the inertial data and the image data; determines a first weight of the first motion estimation result according to the constraint strength between each point in the current point cloud data and the nearest neighbor plane corresponding to each point, and determines a second weight of the second motion estimation result according to the first weight; determines a target motion estimation result based on the first motion estimation result and the first weight, and the second motion estimation result and the second weight. The above technical scheme can firstly perform motion estimation through the current point cloud data obtained by the aircraft and the current inertial data of the aircraft to obtain a first motion estimation result of the aircraft. Secondly, motion estimation can be performed through the current image data obtained by the aircraft and the current inertial data of the aircraft to obtain a second motion estimation result of the aircraft. Then, the confidence of the first motion estimation result can be determined based on the constraint strength between each point in the current point cloud data and the nearest neighbor plane corresponding to each point. This result can also be called an evaluation index of the first motion estimation result. The evaluation index of the first motion estimation result is determined by performing degradation detection on the first motion estimation result. This result is used as the first weight of the first motion estimation result. The second weight of the second motion estimation result is determined according to the first weight of the first motion estimation result. Then, the first motion estimation result and the second motion estimation result can be fused according to the first motion estimation result and the first weight as well as the second motion estimation result and the second weight to obtain the target motion estimation result of the aircraft, thereby achieving accurate motion estimation of the aircraft.

[0126] Based on the above embodiment, the first estimation module 310 is specifically configured to:

[0127] The current point cloud data and the current inertial data are input into the ESKF, so that the ESKF determines the observation value according to the current point cloud data and the observation equation while analyzing the current inertial data and the previous motion estimation result, and obtains the first motion estimation result when it is determined that the observation value is the minimum.

[0128] In one implementation, determining an observation value according to the current point cloud data and the observation equation includes:

[0129] Determine the nearest neighbor point of each point in the current point cloud data in the local point cloud map, wherein the local point cloud map stores multiple voxels and points in each voxel based on a hash table, and establishes an index of the subdivided spatial unit in the voxel based on a pseudo-Hilbert space filling curve; determine the nearest neighbor plane of each point in the current point cloud data in the local point cloud map according to the nearest neighbor point of each point in the current point cloud data in the local point cloud map; substitute each point in the current point cloud data and the nearest neighbor plane corresponding to each point into the observation equation to obtain the observation value.

[0130] Based on the above embodiment, the second estimation module 320 is specifically configured to:

[0131] Determine a weight map and a feature map of the current image data, extract feature points according to the weight map; perform optical flow tracking on the feature map based on the feature points to obtain a current tracking result; fuse the current tracking result with the historical tracking result based on a factor map, and obtain the second motion estimation result when the data constraint is minimum.

[0132] Based on the above embodiment, the determination module 330 is specifically used for:

[0133] The constraint strength of the nearest neighbor planes corresponding to each point in the current point cloud data is determined based on the vector angle between the first vector formed by the nearest neighbor planes corresponding to each point in the current point cloud data and the second vector formed by the direction of travel of the aircraft; the strength and value obtained by accumulating the constraint strengths of the nearest neighbor planes corresponding to each point in the current point cloud data are normalized to obtain an evaluation index for determining the first motion estimation result, and the evaluation index is determined as the first weight.

[0134] Based on the above embodiment, the execution module 340 is specifically used to:

[0135] When it is determined that there is no time error between the first motion estimation result and the second motion estimation result, the first motion estimation result and the second motion estimation result are fused based on the first weight and the second weight to obtain the target motion estimation result; when it is determined that there is a time error between the first motion estimation result and the second motion estimation result, the first motion estimation result is determined as the target motion estimation result.

[0136] In one implementation, fusing the first motion estimation result and the second motion estimation result based on the first weight and the second weight to obtain the target motion estimation result includes:

[0137] The position estimation result and the posture estimation result in the first motion estimation result are used as points of a pose graph, and the position change and the posture change in the second motion estimation result are used as edges of the pose graph to construct a pose graph, wherein the edge weight is determined based on the first weight and the second weight; and the target motion estimation result is determined based on the pose graph.

[0138] The aircraft motion estimation device provided in the embodiment of the present invention can execute the aircraft motion estimation method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects for executing the aircraft motion estimation method.

[0139] It is worth noting that in the embodiment of the above-mentioned aircraft motion estimation device, the various units and modules included are only divided according to functional logic, but are not limited to the above-mentioned division, as long as the corresponding functions can be achieved; in addition, the specific names of the functional units are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of the present invention.

[0140] Figure 4 A schematic diagram of the structure of an electronic device provided by an embodiment of the present invention. Figure 4 A block diagram of an exemplary electronic device 4 suitable for implementing embodiments of the present invention is shown. Figure 4 The electronic device 4 shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention.

[0141] like Figure 4 As shown, the electronic device 4 is in the form of a general purpose computing electronic device. The components of the electronic device 4 may include, but are not limited to: one or more processors or processing units 16, a system memory 28, and a bus 18 connecting different system components (including the system memory 28 and the processing unit 16).

[0142] Bus 18 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processor or a local bus using any of a variety of bus architectures. By way of example, these architectures include, but are not limited to, an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MAC) bus, an Enhanced ISA bus, a Video Electronics Standards Association (VESA) local bus, and a Peripheral Component Interconnect (PCI) bus.

[0143] The electronic device 4 typically includes a variety of computer system readable media. These media can be any available media that can be accessed by the electronic device 4, including volatile and non-volatile media, removable and non-removable media.

[0144] The system memory 28 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) 30 and / or cache memory 32. The electronic device 4 may further include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, the storage system 34 may be used to read and write non-removable, non-volatile magnetic media ( Figure 4 not shown, usually called a "hard drive"). Although Figure 4 Not shown in the figure, a disk drive for reading and writing to a removable non-volatile disk (e.g., a "floppy disk"), and an optical disk drive for reading and writing to a removable non-volatile optical disk (e.g., a CD-ROM, a DVD-ROM, or other optical media) may be provided. In these cases, each drive may be connected to the bus 18 via one or more data medium interfaces. The system memory 28 may include at least one program product having a set (e.g., at least one) of program modules that are configured to perform the functions of the various embodiments of the present invention.

[0145] A program / utility 40 having a set (at least one) of program modules 42 may be stored, for example, in system memory 28, such program modules 42 including, but not limited to, an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment. Program modules 42 generally perform the functions and / or methods of the embodiments described herein.

[0146] The electronic device 4 may also communicate with one or more external devices 14 (e.g., keyboards, pointing devices, displays 24, etc.), one or more devices that enable a user to interact with the electronic device 4, and / or any device that enables the electronic device 4 to communicate with one or more other computing devices (e.g., network cards, modems, etc.). Such communication may be performed via an input / output (I / O) interface 22. Furthermore, the electronic device 4 may also communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) via a network adapter 20. Figure 4 As shown, the network adapter 20 communicates with other modules of the electronic device 4 via the bus 18. It should be understood that although Figure 4 Not shown, other hardware and / or software modules may be used in conjunction with the electronic device 4, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0147] The processing unit 16 executes various functional applications and page displays by running the program stored in the system memory 28, for example, implementing the motion estimation method of the aircraft provided in the embodiment of the present invention, the method comprising:

[0148] Based on the error state Kalman filter ESKF, the current point cloud data acquired by the aircraft and the current inertial data of the aircraft are analyzed and processed to estimate the motion of the aircraft, and obtain a first motion estimation result of the aircraft, wherein the observation equation in the ESKF is determined by the distance between each point in the current point cloud data and the nearest neighbor plane of each point in the local point cloud map;

[0149] Obtaining a second motion estimation result of the aircraft by performing optical flow tracking on current image data acquired by the aircraft, wherein data constraints of the optical flow tracking are determined by inertial data and image data;

[0150] Determine a first weight of the first motion estimation result according to the constraint strength between each point in the current point cloud data and the nearest neighbor plane corresponding to each point, and determine a second weight of the second motion estimation result according to the first weight;

[0151] A target motion estimation result is determined based on the first motion estimation result and the first weight and the second motion estimation result and the second weight.

[0152] Of course, those skilled in the art can understand that the processor can also implement the technical solution of the method for estimating the motion of the aircraft provided in any embodiment of the present invention.

[0153] An embodiment of the present invention provides a computer-readable storage medium having a computer program stored thereon. When the program is executed by a processor, a method for estimating the motion of an aircraft provided by an embodiment of the present invention is implemented. The method includes:

[0154] Based on the error state Kalman filter ESKF, the current point cloud data acquired by the aircraft and the current inertial data of the aircraft are analyzed and processed to estimate the motion of the aircraft, and obtain a first motion estimation result of the aircraft, wherein the observation equation in the ESKF is determined by the distance between each point in the current point cloud data and the nearest neighbor plane of each point in the local point cloud map;

[0155] Obtaining a second motion estimation result of the aircraft by performing optical flow tracking on current image data acquired by the aircraft, wherein data constraints of the optical flow tracking are determined by inertial data and image data;

[0156] Determine a first weight of the first motion estimation result according to the constraint strength between each point in the current point cloud data and the nearest neighbor plane corresponding to each point, and determine a second weight of the second motion estimation result according to the first weight;

[0157] A target motion estimation result is determined based on the first motion estimation result and the first weight and the second motion estimation result and the second weight.

[0158] The computer storage medium of the embodiment of the present invention can adopt any combination of one or more computer-readable media. The computer-readable medium can be a computer-readable signal medium or a computer-readable storage medium. The computer-readable storage medium can be, for example, but not limited to: an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples (non-exhaustive list) of computer-readable storage media include: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In this document, a computer-readable storage medium can be any tangible medium containing or storing a program, which can be used by an instruction execution system, device or device or used in combination with it.

[0159] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, which carry computer-readable program code. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than a computer-readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.

[0160] The program code embodied on the computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.

[0161] Computer program code for performing the operations of the present invention may be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, C++, and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0162] It should be understood by those skilled in the art that the modules or steps of the present invention described above can be implemented by a general-purpose computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, optionally, they can be implemented by a program code executable by a computer device, so that they can be stored in a storage device and executed by the computing device, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present invention is not limited to any specific combination of hardware and software.

[0163] In addition, the acquisition, storage, use, and processing of data in the technical solution of the present invention are in compliance with the relevant provisions of national laws and regulations.

[0164] Note that the above are only preferred embodiments of the present invention and the technical principles used. Those skilled in the art will understand that the present invention is not limited to the specific embodiments herein, and that various obvious changes, readjustments and substitutions can be made by those skilled in the art without departing from the scope of protection of the present invention. Therefore, although the present invention has been described in more detail through the above embodiments, the present invention is not limited to the above embodiments, and may include more other equivalent embodiments without departing from the concept of the present invention, and the scope of the present invention is determined by the scope of the appended claims.

Claims

1. A method for estimating the motion of an aircraft, characterized in that: include: Based on the error state Kalman filter ESKF, the current point cloud data acquired by the aircraft and the current inertial data of the aircraft are analyzed and processed to estimate the motion of the aircraft, and obtain a first motion estimation result of the aircraft, wherein the observation equation in the ESKF is determined by the distance between each point in the current point cloud data and the nearest neighbor plane of each point in the local point cloud map; Obtaining a second motion estimation result of the aircraft by performing optical flow tracking on current image data acquired by the aircraft, wherein data constraints of the optical flow tracking are determined by inertial data and image data; Determine a first weight of the first motion estimation result according to the constraint strength between each point in the current point cloud data and the nearest neighbor plane corresponding to each point, and determine a second weight of the second motion estimation result according to the first weight; A target motion estimation result is determined based on the first motion estimation result and the first weight and the second motion estimation result and the second weight.

2. The method for estimating the motion of an aircraft according to claim 1, characterized in that: Based on the error state Kalman filter ESKF, current point cloud data acquired by the aircraft and current inertial data of the aircraft are analyzed and processed, and motion estimation of the aircraft is performed to obtain a first motion estimation result of the aircraft, including: The current point cloud data and the current inertial data are input into the ESKF, so that the ESKF determines the observation value according to the current point cloud data and the observation equation while analyzing the current inertial data and the previous motion estimation result, and obtains the first motion estimation result when it is determined that the observation value is the minimum.

3. The method for estimating the motion of an aircraft according to claim 1, characterized in that: Determining an observation value according to the current point cloud data and the observation equation includes: Determine the nearest neighbor point of each point in the current point cloud data in the local point cloud map, wherein the local point cloud map stores a plurality of voxels and points in each voxel based on a hash table, and establishes an index of a subdivided spatial unit in the voxel based on a pseudo-Hilbert space filling curve; Determine the nearest neighbor plane of each point in the current point cloud data in the local point cloud map according to the nearest neighbor point of each point in the current point cloud data in the local point cloud map; Substitute each point in the current point cloud data and the nearest neighbor plane corresponding to each point into the observation equation to obtain the observation value.

4. The method for estimating the motion of an aircraft according to claim 1, characterized in that: By performing optical flow tracking on the current image data acquired by the aircraft, a second motion estimation result of the aircraft is obtained, including: Determine a weight map and a feature map of the current image data, and extract feature points according to the weight map; Performing optical flow tracking on the feature map based on the feature points to obtain a current tracking result; The current tracking result and the historical tracking result are fused based on the factor graph, and the second motion estimation result is obtained when the data constraint is minimum.

5. The method for estimating the motion of an aircraft according to claim 1, characterized in that: Determining a first weight of the first motion estimation result according to the constraint strength between each point in the current point cloud data and the nearest neighbor plane corresponding to each point includes: Determine the constraint strength of the nearest neighbor planes corresponding to each point in the current point cloud data according to the vector angle between a first vector formed by the nearest neighbor planes corresponding to each point in the current point cloud data and a second vector formed by the direction of travel of the aircraft; An evaluation index for determining the first motion estimation result is obtained by normalizing the sum of the strengths obtained by accumulating the constraint strengths of each point in the current point cloud data and the nearest neighbor plane corresponding to each point, and the evaluation index is determined as the first weight.

6. The method for estimating the motion of an aircraft according to claim 1, characterized in that: Determining a target motion estimation result based on the first motion estimation result and the first weight and the second motion estimation result and the second weight includes: When it is determined that there is no time error between the first motion estimation result and the second motion estimation result, fusing the first motion estimation result and the second motion estimation result based on the first weight and the second weight to obtain the target motion estimation result; In a case where it is determined that there is a time error between the first motion estimation result and the second motion estimation result, the first motion estimation result is determined as the target motion estimation result.

7. The method for estimating the motion of an aircraft according to claim 6, characterized in that: The first motion estimation result and the second motion estimation result are fused based on the first weight and the second weight to obtain the target motion estimation result, including: Using the position estimation result and the posture estimation result in the first motion estimation result as points of a pose graph, and the position change and the posture change in the second motion estimation result as edges of the pose graph, to construct a pose graph, wherein the edge weight is determined according to the first weight and the second weight; The target motion estimation result is determined based on the pose graph.

8. A motion estimation device for an aircraft, characterized in that: include: A first estimation module is used to analyze and process the current point cloud data acquired by the aircraft and the current inertial data of the aircraft based on an error state Kalman filter (ESKF), perform motion estimation on the aircraft, and obtain a first motion estimation result of the aircraft, wherein the observation equation in the ESKF is determined by the distance between each point in the current point cloud data and the nearest neighbor plane of each point in the local point cloud map; A second estimation module, configured to obtain a second motion estimation result of the aircraft by performing optical flow tracking on current image data acquired by the aircraft, wherein data constraints of the optical flow tracking are determined by inertial data and image data; a determination module, configured to determine a first weight of the first motion estimation result according to the constraint strength between each point in the current point cloud data and the nearest neighbor plane corresponding to each point, and determine a second weight of the second motion estimation result according to the first weight; An execution module is used to determine a target motion estimation result based on the first motion estimation result and the first weight and the second motion estimation result and the second weight.

9. An electronic device, characterized in that: The electronic device comprises: at least one processor; and a memory communicatively coupled to the at least one processor; The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the method for estimating the motion of an aircraft as described in any one of claims 1-7.

10. A storage medium containing computer executable instructions, characterized in that: When the computer executable instructions are executed by a computer processor, they are used to perform the method for estimating the motion of an aircraft as claimed in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Multi-sensor fused point cloud map construction method and device, equipment and medium

    CN117232499A

  • Method for generating texture information point cloud map based on panoramic camera and laser radar fusion

    CN117237789A

  • Multi-source information fusion train positioning method, device and equipment

    CN117782072A

  • High-precision positioning method based on multi-sensor fusion SLAM

    CN118746293A

  • Determining position and orientation for aerial vehicle in GNSS-denied situations

    US10151588B1

Cited By

  • Pose optimization method, readable storage medium and navigation equipment

    CN120947660A