A method, apparatus, device and storage medium for estimating motion of an aircraft
By processing point cloud and inertial data using Error State Kalman Filter (ESKF) and optical flow tracking technology, combined with weighted fusion, the problem of inaccurate motion estimation for high-altitude aircraft was solved, enabling accurate positioning and stable flight in environments without satellite navigation signals.
Patent Information
- Application Number
- CN202411767823.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-04
- Publication Date
- 2026-01-06
- Estimated Expiration
- 2044-12-04
AI Technical Summary
Existing SLAM methods based on lidar and vision cannot achieve accurate motion estimation when aircraft are flying at high altitudes, especially in outdoor environments without satellite navigation signals, where the lack of effective geometric information and feature point associations leads to inaccurate positioning.
Error State Kalman Filter (ESKF) is used to process the point cloud data and inertial data of the aircraft. Combined with optical flow tracking technology, the estimation accuracy is improved by weighting and fusing the first and second motion estimation results.
In outdoor environments without satellite navigation signals, accurate positioning and stable flight of the aircraft were achieved, improving the accuracy of motion estimation.
Smart Images

Figure CN119594980B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and in particular to a method, apparatus, device and storage medium for estimating the motion of an aircraft. Background Technology
[0002] Aircraft require accurate position information from navigation equipment during flight, and traditional navigation equipment is satellite navigation. However, satellite navigation signals are subject to loss, and aircraft cannot fly normally in areas where signals are interfered with.
[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 is flying at a high altitude, SLAM methods based on lidar and vision cannot achieve accurate motion estimation. Summary of the Invention
[0005] This invention provides a method, apparatus, device, and storage medium for estimating the motion of an aircraft, thereby improving the accuracy of aircraft motion estimation.
[0006] In a first aspect, embodiments of the present invention provide a motion estimation method for an aircraft, comprising:
[0007] Based on the Error State Kalman Filter (ESKF) analysis and processing of the current point cloud data and the current inertial data of the aircraft, motion estimation of the aircraft is performed to obtain the first motion estimation result of the aircraft. In the ESKF, 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.
[0008] By performing optical flow tracking on the current image data acquired by the aircraft, a second motion estimation result of the aircraft is obtained, wherein the data constraints for optical flow tracking are determined by inertial data and image data;
[0009] The first weight of the first motion estimation result is determined based on the constraint strength between each point and its corresponding nearest neighbor plane in the current point cloud data, and the second weight of the second motion estimation result is determined based on the first weight.
[0010] The target motion estimation result is determined based on the first motion estimation result and the first weight, as well as the second motion estimation result and the second weight.
[0011] The technical solution of this invention provides a motion estimation method for an aircraft, comprising: analyzing and processing current point cloud data and current inertial data acquired by the aircraft based on an Error State Kalman Filter (ESKF) to perform motion estimation on the aircraft, obtaining a first motion estimation result, 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; performing optical flow tracking on the current image data acquired by the aircraft to obtain a second motion estimation result, 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 based on 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 based on 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 firstly uses the current point cloud data and current inertial data acquired by the aircraft to perform motion estimation, obtaining a first motion estimation result for the aircraft. Secondly, it uses the current image data and current inertial data acquired by the aircraft to perform motion estimation, obtaining a second motion estimation result for the aircraft. Then, it determines the confidence level of the first motion estimation result based on the constraint strength between each point in the current point cloud data and its corresponding nearest neighbor plane. 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 degradation detection of the first motion estimation result, and 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 based on the first weight of the first motion estimation result. Finally, the first motion estimation result and the second motion estimation result are fused based on the first motion estimation result, the first weight, the second motion estimation result, and the second weight to obtain the target motion estimation result of the aircraft, thus achieving accurate motion estimation for the aircraft.
[0012] Furthermore, based on the Error State Kalman Filter (ESKF) analysis and processing of the current point cloud data acquired by the aircraft and the current inertial data of the aircraft, motion estimation is performed on the aircraft to obtain the 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 can determine the observation value based on the current point cloud data and the observation equation while analyzing the current inertial data and the previous motion estimation result, and obtain the first motion estimation result when the observation value is minimized.
[0014] Further, determining the observed values based on the current point cloud data and the observation equation includes:
[0015] The nearest neighbor of each point in the current point cloud data is determined in the local point cloud map. The local point cloud map stores multiple voxels and points within each voxel based on a hash table, and establishes an index of the subdivided spatial units within the voxel based on a pseudo Hilbert space-filling curve.
[0016] Based on the nearest neighbor of each point in the current point cloud data in the local point cloud map, determine the nearest neighbor plane 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 its corresponding nearest neighbor plane into the observation equation to obtain the observed value.
[0018] Furthermore, by performing optical flow tracking on the current image data acquired by the aircraft, a second motion estimation result for the aircraft is obtained, including:
[0019] Determine the weight map and feature map of the current image data, and extract feature points based on the weight map;
[0020] Optical flow tracking is performed on the feature map based on the feature points to obtain the current tracking result;
[0021] The second motion estimation result is obtained by fusing the current tracking result and the previous tracking result based on the factor graph.
[0022] Further, the first weight of the first motion estimation result is determined based on the constraint strength between each point in the current point cloud data and its corresponding nearest neighbor plane, including:
[0023] The constraint strength of each point in the current point cloud data and its corresponding nearest neighbor plane is determined based on the vector angle between the first vector formed by each point and its corresponding nearest neighbor plane and the second vector formed by the direction of travel of the aircraft.
[0024] By normalizing the sum of the constraint strengths of each point and its corresponding nearest neighbor plane in the current point cloud data, an evaluation index for determining the first motion estimation result is obtained, and the evaluation index is determined as the first weight.
[0025] Further, determining the 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] If 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;
[0027] If 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, based on the first weight and the second weight, the first motion estimation result and the second motion estimation result are fused to obtain the target motion estimation result, including:
[0029] The position estimation result and attitude estimation result in the first motion estimation result are used as points in the pose graph, and the position change and attitude change in the second motion estimation result are used as edges in the pose graph to construct the pose graph. The edge weights are determined based on the first weight and the second weight.
[0030] The target motion estimation result is determined based on the pose graph.
[0031] Secondly, embodiments of the present invention also provide a motion estimation device for an aircraft, comprising:
[0032] The first estimation module is used to analyze and process the current point cloud data and the current inertial data of the aircraft based on the Error State Kalman Filter (ESKF) to perform motion estimation on the aircraft and obtain the first motion estimation result of the aircraft. 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] The second estimation module is used to obtain 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 optical flow tracking are determined by inertial data and image data;
[0034] The determination module is used to determine a first weight of the first motion estimation result based on the constraint strength between each point in the current point cloud data and the nearest neighbor plane corresponding to each point, and to determine a second weight of the second motion estimation result based on 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, as well as the second motion estimation result and the second weight.
[0036] Thirdly, embodiments of the present invention also provide an electronic device, the electronic device comprising:
[0037] At least one processor; and a memory communicatively connected to said at least one processor;
[0038] The memory stores a computer program that can be executed by the at least one processor, which enables the at least one processor to perform a motion estimation method for an aircraft as described in any of the first aspects.
[0039] Fourthly, embodiments of the present invention also provide a storage medium containing computer-executable instructions, characterized in that the computer-executable instructions, when executed by a computer processor, are used to perform a motion estimation method for an aircraft as described in any of the first aspects.
[0040] Fifthly, this application provides a computer program product including computer instructions that, when executed on a computer, cause the computer to perform the motion estimation method for an aircraft as provided in the first aspect.
[0041] It should be noted that the aforementioned computer instructions may be stored, in whole or in part, on a computer-readable storage medium. This computer-readable storage medium may be packaged together with the processor of the aircraft's motion estimation device, or it may be packaged separately from the processor of the aircraft's motion estimation device; this application does not impose any limitations on this.
[0042] The descriptions of the second, third, fourth, and fifth aspects in this application can be referenced to the detailed description of the first aspect; and the beneficial effects of the descriptions of the second, third, fourth, and fifth aspects can be referenced to the analysis of the beneficial effects of the first aspect, which will not be repeated here.
[0043] In this application, the name of the motion estimation device for the aforementioned aircraft does not limit the device or functional module itself. In actual implementation, these devices or functional modules may appear under other names. As long as the function of each device or functional module is similar to that of this application, it falls within the scope of the claims of this application and its equivalents.
[0044] These or other aspects of this application will become more readily apparent in the following description. Attached Figure Description
[0045] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0046] Figure 1 A flowchart of a motion estimation method for an aircraft provided in an embodiment of the present invention;
[0047] Figure 2 A flowchart of another motion estimation method for an aircraft provided in an embodiment of the present invention;
[0048] Figure 3 This is a schematic diagram of the structure of a motion estimation device for an aircraft provided in an embodiment of the present invention;
[0049] Figure 4 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present invention. Detailed Implementation
[0050] The present invention will now be described in further detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and not intended to limit it. Furthermore, it should be noted that, for ease of description, the accompanying drawings show only the parts relevant to the present invention, and not all of the structures.
[0051] In this article, the term "and / or" is merely a description of the relationship between related objects, indicating that there can be three relationships. For example, A and / or B can represent three situations: A exists alone, A and B exist simultaneously, and B exists alone.
[0052] The terms "first" and "second," etc., used in the specification and drawings of this application are used to distinguish different objects or to distinguish different treatments of the same object, rather than to describe a specific order of objects.
[0053] Furthermore, the terms "comprising" and "having," and any variations thereof, used in the description of this application are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the steps or units listed, but may optionally include other steps or units not listed, or may optionally include other steps or units inherent to such process, method, product, or apparatus.
[0054] Before discussing the exemplary embodiments in more detail, it should be noted that some exemplary embodiments are described as processes or methods depicted as flowcharts. Although the flowcharts describe the operations (or steps) as sequential processes, many of these operations can be performed in parallel, concurrently, or simultaneously. Furthermore, the order of the operations can be rearranged. The process can be terminated when its operation is completed, but may also have additional steps not included in the figures. The process can correspond to a method, function, procedure, subroutine, subroutine, etc. Moreover, embodiments and features in the embodiments of the present invention can be combined with each other without conflict.
[0055] It should be noted that in the embodiments of this application, the words "exemplary" or "for example" are used to indicate examples, illustrations, or explanations. Any embodiment or design scheme described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design schemes. Specifically, the use of the words "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.
[0056] In the description of this application, unless otherwise stated, "a plurality of" means two or more.
[0057] When the aircraft flies at high altitudes, existing SLAM methods based on lidar and vision are at risk of failure. LiDAR SLAM relies on the registration effect of point cloud data. At high altitudes, the point cloud data acquired by lidar is approximately planar, with a high degree of similarity between each frame, lacking the geometric information required for registration. Visual SLAM relies on the correlation of feature points between consecutive frames of image data, making it difficult to operate in environments with limited texture, such as deserts or jungles. At high altitudes, the distance between reference objects and the aircraft is large, and with limited baseline length, binocular vision struggles to accurately calculate depth information, thus failing to achieve accurate motion estimation.
[0058] Therefore, this application proposes a motion estimation method for aircraft to achieve accurate positioning of aircraft at high outdoor altitudes and in the absence of satellite navigation signals, thereby ensuring stable flight of aircraft under various complex conditions.
[0059] The motion estimation method for aircraft proposed in this application will be described in detail below with reference to illustrations and embodiments.
[0060] Figure 1 This is a flowchart illustrating a motion estimation method for an aircraft according to an embodiment of the present invention. This embodiment is applicable to situations requiring motion estimation of an aircraft. The method can be executed by a motion estimation device for the aircraft, such as... Figure 1 As shown, the specific steps include the following:
[0061] Step 110: Based on the Error State Kalman Filter (ESKF) analysis and processing of the current point cloud data and the current inertial data of the aircraft, perform motion estimation on the aircraft to obtain the first motion estimation result of the aircraft.
[0062] Aircraft are typically equipped with lidar and inertial odometry. LiDAR is used to acquire point cloud data of the area the aircraft is flying over, while inertial odometry is used to acquire inertial data of the aircraft.
[0063] Specifically, during flight, the aircraft can acquire point cloud data in real time using lidar and inertial data in real time using inertial odometry. Since ESKF can better handle attitude change issues, the current point cloud data and current inertial data can be input into ESKF. ESKF determines the first motion estimation result by analyzing the current point cloud data, current inertial data, and the previous motion estimation result. Furthermore, ESKF can obtain the first motion estimation result of the aircraft when the observed value is at its minimum, resulting in a more accurate determination of the aircraft's first motion estimation result.
[0064] In this embodiment of the invention, the motion estimation of the aircraft is achieved through point cloud data and inertial data, and the first motion estimation result of the aircraft is obtained.
[0065] Step 120: By performing optical flow tracking on the current image data acquired by the aircraft, a second motion estimation result of the aircraft is obtained.
[0066] The aircraft is also equipped with an image acquisition device, which is used to acquire image data of the area the aircraft is flying over. The image acquisition device can cover the field of view of the lidar.
[0067] The current image data can be understood as image data that maintains temporal consistency with the current point cloud data.
[0068] Specifically, replacing the gray-level invariance of traditional optical flow methods with image convolutional feature consistency can enhance the stability and reliability of visual feature tracking. Therefore, optical flow tracking can be performed based on image feature points. Specifically, the current point cloud data and the current image data are time-aligned and strictly correspond in time. Furthermore, the LiDAR on the aircraft is a single-view, non-repetitive scanning solid-state LiDAR. Therefore, after projecting the current point cloud data onto the current image data, the coverage area of the point cloud data within the current image data gradually increases over time, allowing the acquisition of the positional information of a large number of pixels in the current image data in three-dimensional space. After determining the weight map and feature map based on the current image data, feature points can be determined based on the weight map. Optical flow tracking based on these feature points in the feature map yields the current tracking result, thus determining the second motion estimation result of the aircraft.
[0069] In this embodiment of the invention, the motion estimation of the aircraft is achieved through image data and inertial data, resulting in a second motion estimation result of the aircraft.
[0070] Step 130: Determine the first weight of the first motion estimation result based on the constraint strength between each point and its corresponding nearest neighbor plane in the current point cloud data, and determine the second weight of the second motion estimation result based on the first weight.
[0071] When the aircraft is flying in an open and flat outdoor environment, and the lidar is facing the ground, the shape of each frame of point cloud data acquired by the lidar is very similar and approximates a plane. There is a lack of effective point-to-surface constraints in the horizontal direction and heading angle. Therefore, the confidence level of the first motion estimation result determined based on point cloud data and inertial data can be determined according to the strength of each set of point-to-surface constraints.
[0072] Specifically, firstly, the strength of each point-plane constraint can be determined. Here, "point" refers to each point in the current point cloud data, and "plane" refers to the nearest neighbor plane of each point in the current point cloud data in the local point cloud map. Specifically, the constraint strength between each point and its corresponding nearest neighbor plane can be determined by the angle between the first vector formed by the first vector and the second vector formed by the aircraft's direction of travel. Secondly, the confidence level of the first motion estimation result can be determined based on the constraint strength between each point and its corresponding nearest neighbor plane. This result can also be called the evaluation index of the first motion estimation result, which is determined by degradation detection of the first motion estimation result. Furthermore, this evaluation result can be determined as the first weight. Since the target motion estimation result is determined based on the first and second motion estimation results, the sum of the second weights of the first and second motion estimation results 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 this embodiment of the invention, a first weight of the first motion estimation result is determined by degradation detection of the first motion estimation result, and a second weight of the second motion estimation result is determined.
[0074] Step 140: Determine the target motion estimation result based on the first motion estimation result and the first weight, as well as 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 the target motion estimation result. The first weight of the first motion estimation result indicates the confidence level 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 this embodiment of the invention, the target motion estimation result is determined based on the first motion estimation result and the first weight, as well as the second motion estimation result and the second weight, thereby achieving accurate motion estimation for the aircraft.
[0077] The motion estimation method for an aircraft provided in this embodiment of the invention includes: analyzing and processing current point cloud data and current inertial data acquired by the aircraft based on Error State Kalman Filter (ESKF) to perform motion estimation on the aircraft, obtaining a first motion estimation result, 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; performing optical flow tracking on the current image data acquired by the aircraft to obtain a second motion estimation result, 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 based on 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 based on 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 firstly uses the current point cloud data and current inertial data acquired by the aircraft to perform motion estimation, obtaining a first motion estimation result for the aircraft. Secondly, it uses the current image data and current inertial data acquired by the aircraft to perform motion estimation, obtaining a second motion estimation result for the aircraft. Then, it determines the confidence level of the first motion estimation result based on the constraint strength between each point in the current point cloud data and its corresponding nearest neighbor plane. 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 degradation detection of the first motion estimation result, and 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 based on the first weight of the first motion estimation result. Finally, the first motion estimation result and the second motion estimation result are fused based on the first motion estimation result, the first weight, the second motion estimation result, and the second weight to obtain the target motion estimation result of the aircraft, thus achieving accurate motion estimation for the aircraft.
[0078] Figure 2 This is a flowchart illustrating another motion estimation method for an aircraft provided in an embodiment of the present invention. This embodiment is a specific modification based on the above embodiments. Figure 2 As shown, in this embodiment, the method may further include:
[0079] Step 210: Based on the Error State Kalman Filter (ESKF) analysis and processing of the current point cloud data and the current inertial data of the aircraft, perform motion estimation on the aircraft to obtain the first motion estimation result of the aircraft.
[0080] Point cloud data is obtained by the aircraft based on the LiDAR scanning of the area the aircraft is flying. The scanning period is related to the performance of the LiDAR itself. For example, the scanning period can be 0.1 seconds. Due to the movement of the aircraft itself, the point cloud data obtained within the scanning period is not consistent with the real environment. Therefore, the point cloud data obtained can be corrected to the same moment based on the inertial data within the scanning period to obtain the current point cloud data.
[0081] Specifically, the point cloud data acquired by the aircraft can be corrected based on the aircraft's inertial data. 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 previous moment, so that the position of all points in the currently acquired point cloud data is corrected to the same moment, thus obtaining the current point cloud data, making the shape of the current point cloud data consistent with the shape of objects in the real environment.
[0082] In one embodiment, 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 can determine the observation value based on the current point cloud data and the observation equation while analyzing the current inertial data and the previous motion estimation result, and obtain the first motion estimation result when the observation value is minimized.
[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 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+1Let x represent the state at time k+1. k v represents the state at time k. k w represents the inertial data at time k. k To represent process noise, the error state can be defined as follows: in, To represent the predicted state, the observation equation can be defined as z. k =h(x k ,u k ), where u k This represents 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 observed values based on the current point cloud data and the observation equation includes:
[0087] The nearest neighbor of each point in the current point cloud data in the local point cloud map is determined. The local point cloud map stores multiple voxels and points within each voxel based on a hash table, and establishes an index for the subdivided spatial units within each voxel based on a pseudo-Hilbert space-filling curve. Based on the nearest neighbor of each point in the current point cloud data in the local point cloud map, the nearest neighbor plane of each point in the current point cloud data in the local point cloud map is determined. The points in the current point cloud data and their corresponding nearest neighbor planes are substituted into the observation equation to obtain the observed values.
[0088] Motion estimation based on point cloud data depends on the registration of the current point cloud data and the nearest neighbor points in the local point cloud map. In this application, the local point cloud map adopts an incremental voxel-based data management method, which can maintain a sparse voxel map, use a hash table to uniformly construct voxels and points within voxels, use the voxel coordinates of each point as key values to generate a unique index for each point, and also establish an index for all subdivided spatial units within a voxel based on a pseudo-Hilbert space filling curve, so as to quickly find the nearest neighbor points of each point in the local point map.
[0089] Specifically, firstly, the nearest neighbor points corresponding to each point in the current point cloud data can be determined in the local point cloud map. Here, the nearest neighbor point can be understood as the point in the local point cloud map that is closest to each point in the current point cloud data. Specifically, the nearest voxel to each point can be determined first, and then the nearest point to each point can be determined from the nearest voxel to each point, thus determining the nearest neighbor point of each point in the local point cloud map. Secondly, based on the nearest neighbor points of each point in the local point cloud map, the nearest neighbor plane of each point in the local point cloud map can be determined. Specifically, a set 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 can be performed based on this set of nearest neighbor points to determine the nearest neighbor plane of each point in the local point cloud map. Then, each point and its corresponding nearest neighbor plane can be substituted into the observation equation to obtain the observation value.
[0090] ESKF analyzes the current inertial data and the previous motion estimation result while inputting the current point cloud data into the observation equation to determine the observation value. When the observation value is the minimum, the first motion estimation result of the aircraft is obtained.
[0091] In this embodiment of the invention, the motion estimation of the aircraft is achieved through point cloud data and inertial data, and the first motion estimation result of the aircraft is obtained.
[0092] Step 220: By performing optical flow tracking on the current image data acquired by the aircraft, the second motion estimation result of the aircraft is obtained.
[0093] The data constraints for optical flow tracing are determined by inertial data and image data.
[0094] In one implementation, step 220 may specifically include:
[0095] The weight map and feature map of the current image data are determined, and feature points are extracted based on the weight map; optical flow tracking is performed on the feature map based on the feature points to obtain the current tracking result; the current tracking result and historical tracking results are fused based on the factor map, and the second motion estimation result is obtained when the data constraints are minimized.
[0096] Specifically, firstly, the current image data can be processed using a neural network to determine the corresponding weight map and feature map. 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, feature points can be determined based on the weight map, specifically by projecting the current point cloud data onto the weight map and then evaluating it based on both depth and weight. Finally, optical flow tracking can be performed based on the feature points in the feature map to obtain the current tracking result.
[0097] To improve tracking performance, a second motion estimation result for the aircraft can be determined by fusing current and historical tracking results. Specifically, a factor graph optimization method can be used to process the tracking results corresponding to multiple consecutive image data frames. Furthermore, the data constraints for fusing the tracking results corresponding to adjacent image data frames are determined by inertial data and image data, specifically by the pre-integration residual of the inertial data and the reprojection error of the image data.
[0098] The method based on factor graph optimization processes the tracking results corresponding to multiple consecutive frames of image data. It determines the reprojection error through image data, determines the inertial data pre-integration residual through inertial data, and determines the optimal estimate by minimizing the reprojection error and the inertial data pre-integration residual, thereby determining the second motion estimation result of the aircraft.
[0099] It should be noted that the acquisition and triggering of point cloud data and image data both run on edge computing. When the LiDAR completes the scanning of the current point cloud data, a rising edge trigger signal is generated on the pin of the edge computing platform. This pin is connected to the trigger signal interface of the image acquisition device. Therefore, an image acquisition command 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 command, realizing a strict temporal and spatial correspondence between the current point cloud data and the current image data.
[0100] In this embodiment of the invention, the motion estimation of the aircraft is achieved through image data and inertial data, resulting in a second motion estimation result of the aircraft.
[0101] Step 230: Determine the first weight of the first motion estimation result based on 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 each point in the current point cloud data and its corresponding nearest neighbor plane is determined based on the vector angle between the first vector formed by each point and its corresponding nearest neighbor plane and the second vector formed by the direction of travel of the aircraft. The sum of the constraints obtained by accumulating the constraint strengths of each point and its corresponding nearest neighbor plane in the current point cloud data is 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, firstly, a first vector can be determined by each point in the current point cloud data and its corresponding nearest neighbor plane. Secondly, a second vector can be determined by the direction of the aircraft's flight. Then, the constraint strength between each point in the current point cloud data and its corresponding nearest neighbor plane can be determined based on the angle between the first vector and the second vector. The constraint strengths between each point in the current point cloud data and its corresponding nearest neighbor plane are accumulated, and the accumulated result is normalized to obtain the confidence level of the first motion estimation result. This result is the first weight of the first motion estimation result.
[0105] In this embodiment of the invention, the first weight of the first motion estimation result is determined based on 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 the second weight of the second motion estimation result based on the first weight.
[0107] Specifically, the difference between 100% and the first weight can be determined, and this difference can be used as the second weight of the second motion estimation result.
[0108] In this embodiment of the invention, a second weight is implemented to determine the second motion estimation result.
[0109] Step 250: Determine the target motion estimation result based on the first motion estimation result and the first weight, as well as the second motion estimation result and the second weight.
[0110] In one implementation, step 250 may specifically include:
[0111] If 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; if 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 second motion estimation result are performed simultaneously. After the first motion estimation result is determined, the motion estimation result fusion algorithm is triggered. If the motion estimation result fusion algorithm determines that there is no time error between the first motion estimation result and the second motion estimation result, it 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. If the first motion estimation result and the second motion estimation result have a time error, no fusion step is required, and the first motion estimation result is directly determined as the target motion estimation result.
[0113] Further, based on the first weight and the second weight, the first motion estimation result and the second motion estimation result are fused to obtain the target motion estimation result, including:
[0114] The position estimation result and attitude estimation result in the first motion estimation result are used as points in the pose graph, and the position change and attitude change in the second motion estimation result are used as edges in the pose graph to construct the pose graph, wherein the edge weights are determined based on the first weight and the second weight; 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 attitude estimation result in the first motion estimation result can be used as the points of the pose graph, and the position change and attitude change in the second motion estimation result can be used as the edges of the pose graph to construct the pose graph. The edge weights are determined according to 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 local point cloud maps.
[0117] In this embodiment of the 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 for the aircraft.
[0118] The motion estimation method for an aircraft provided in this embodiment of the invention includes: analyzing and processing current point cloud data and current inertial data acquired by the aircraft based on Error State Kalman Filter (ESKF) to perform motion estimation on the aircraft, obtaining a first motion estimation result; performing optical flow tracking on current image data acquired by the aircraft to obtain a second motion estimation result; determining a first weight of the first motion estimation result based on the constraint strength between each point in the current point cloud data and its corresponding nearest neighbor plane; determining a second weight of the second motion estimation result based on the first weight; and determining a target motion estimation result based on the first motion estimation result and the first weight, as well as the second motion estimation result and the second weight. The above technical solution firstly uses the current point cloud data and current inertial data acquired by the aircraft to perform motion estimation, obtaining a first motion estimation result. Secondly, it uses the current image data and current inertial data acquired by the aircraft to perform motion estimation, obtaining a second motion estimation result. Then, it determines the confidence level of the first motion estimation result based on the constraint strength between each point in the current point cloud data and its corresponding nearest neighbor plane. 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 degradation detection of the first motion estimation result, and 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 based on the first weight of the first motion estimation result. Then, the first motion estimation result and the second motion estimation result are fused based on the first motion estimation result, the first weight, the second motion estimation result, and the second weight to obtain the target motion estimation result. This achieves accurate motion estimation for the aircraft, and further enables accurate positioning of the aircraft at high outdoor altitudes and in the absence of satellite navigation signals, ensuring stable flight of the aircraft under various complex conditions.
[0119] Figure 3 This is a schematic diagram of a motion estimation device for an aircraft provided in an embodiment of the present invention. This device is applicable to situations requiring motion estimation of an aircraft, improving the accuracy of motion estimation. The device can be implemented through software and / or hardware and is generally integrated into electronic devices, such as computer equipment.
[0120] like Figure 3 As shown, the device includes:
[0121] The first estimation module 310 is used to analyze and process the current point cloud data and the current inertial data of the aircraft based on the error state Kalman filter (ESKF) to perform motion estimation on the aircraft and obtain the first motion estimation result of the aircraft. 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] The second estimation module 320 is used to obtain 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 optical flow tracking are determined by inertial data and image data;
[0123] The determining module 330 is used to determine the first weight of the first motion estimation result based on the constraint strength between each point and the nearest neighbor plane corresponding to each point in the current point cloud data, and to determine the second weight of the second motion estimation result based on the first weight.
[0124] The execution module 340 is used to determine the target motion estimation result based on the first motion estimation result and the first weight, as well as the second motion estimation result and the second weight.
[0125] The motion estimation device for an aircraft provided in this embodiment analyzes and processes the current point cloud data and the current inertial data acquired by the aircraft based on the Error State Kalman Filter (ESKF) to perform motion estimation on the aircraft, obtaining a first motion estimation result. The observation equation in the ESKF is determined by the distance between each point in the current point cloud data and its nearest neighbor plane in the local point cloud map. A second motion estimation result is obtained by performing optical flow tracking on the current image data acquired by the aircraft, where the data constraints for optical flow tracking are determined by the inertial data and the image data. A first weight of the first motion estimation result is determined based on the constraint strength between each point in the current point cloud data and its corresponding nearest neighbor plane. A second weight of the second motion estimation result is determined based on the first weight. Finally, a target motion estimation result is determined based on the first motion estimation result and the first weight, as well as the second motion estimation result and the second weight. The above technical solution firstly uses the current point cloud data and current inertial data acquired by the aircraft to perform motion estimation, obtaining a first motion estimation result for the aircraft. Secondly, it uses the current image data and current inertial data acquired by the aircraft to perform motion estimation, obtaining a second motion estimation result for the aircraft. Then, it determines the confidence level of the first motion estimation result based on the constraint strength between each point in the current point cloud data and its corresponding nearest neighbor plane. 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 degradation detection of the first motion estimation result, and 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 based on the first weight of the first motion estimation result. Finally, the first motion estimation result and the second motion estimation result are fused based on the first motion estimation result, the first weight, the second motion estimation result, and the second weight to obtain the target motion estimation result of the aircraft, thus achieving accurate motion estimation for the aircraft.
[0126] Based on the above embodiments, the first estimation module 310 is specifically used for:
[0127] The current point cloud data and the current inertial data are input into the ESKF so that the ESKF can determine the observation value based on the current point cloud data and the observation equation while analyzing the current inertial data and the previous motion estimation result, and obtain the first motion estimation result when the observation value is minimized.
[0128] In one implementation, determining the observation value based on the current point cloud data and the observation equation includes:
[0129] The nearest neighbor of each point in the current point cloud data in the local point cloud map is determined. The local point cloud map stores multiple voxels and points within each voxel based on a hash table, and establishes an index for the subdivided spatial units within each voxel based on a pseudo-Hilbert space-filling curve. Based on the nearest neighbor of each point in the current point cloud data in the local point cloud map, the nearest neighbor plane of each point in the current point cloud data in the local point cloud map is determined. The points in the current point cloud data and their corresponding nearest neighbor planes are substituted into the observation equation to obtain the observed values.
[0130] Based on the above embodiments, the second estimation module 320 is specifically used for:
[0131] The weight map and feature map of the current image data are determined, and feature points are extracted based on the weight map; optical flow tracking is performed on the feature map based on the feature points to obtain the current tracking result; the current tracking result and historical tracking results are fused based on the factor map, and the second motion estimation result is obtained when the data constraints are minimized.
[0132] Based on the above embodiments, module 330 is specifically used for:
[0133] The constraint strength of each point in the current point cloud data and its corresponding nearest neighbor plane is determined based on the vector angle between the first vector formed by each point and its corresponding nearest neighbor plane and the second vector formed by the direction of travel of the aircraft. The sum of the constraints obtained by accumulating the constraint strengths of each point and its corresponding nearest neighbor plane in the current point cloud data is 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 embodiments, the execution module 340 is specifically used for:
[0135] If 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; if 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, the target motion estimation result is obtained by fusing the first motion estimation result and the second motion estimation result based on the first weight and the second weight, including:
[0137] The position estimation result and attitude estimation result in the first motion estimation result are used as points in the pose graph, and the position change and attitude change in the second motion estimation result are used as edges in the pose graph to construct the pose graph, wherein the edge weights are determined based on the first weight and the second weight; the target motion estimation result is determined based on the pose graph.
[0138] The motion estimation device for aircraft provided in the embodiments of the present invention can execute the motion estimation method for aircraft provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects for executing the motion estimation method for aircraft.
[0139] It is worth noting that in the embodiments of the motion estimation device for the above-mentioned aircraft, the various units and modules included are only divided according to functional logic, but are not limited to the above division, as long as the corresponding functions can be realized; in addition, the specific names of each functional unit are only for easy distinction between each other and are not used to limit the scope of protection of the present invention.
[0140] Figure 4 This is a schematic diagram of the structure of an electronic device provided in 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 merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of the present invention.
[0141] like Figure 4 As shown, electronic device 4 is represented in the form of a general-purpose computing electronic device. The components of electronic device 4 may include, but are not limited to: one or more processors or processing units 16, system memory 28, and bus 18 connecting different system components (including system memory 28 and processing unit 16).
[0142] Bus 18 represents one or more of several bus architectures, including a memory bus or memory controller, a peripheral bus, a graphics acceleration port, a processor, or a local bus using any of the various bus architectures. For example, these architectures include, but are not limited to, the Industry Standard Architecture (ISA) bus, the Micro Channel Architecture (MAC) bus, the Enhanced ISA bus, the Video Electronics Standards Association (VESA) local bus, and the Peripheral Component Interconnect (PCI) bus.
[0143] Electronic device 4 typically includes a variety of computer system readable media. These media can be any available media that can be accessed by electronic device 4, including volatile and non-volatile media, removable and non-removable media.
[0144] 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. Electronic device 4 may further include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, storage system 34 may be used to read and write non-removable, non-volatile magnetic media (… Figure 4 Not shown; usually referred to as a "hard drive"). Although Figure 4 Not shown, 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, DVD-ROM, or other optical media) may be provided. In these cases, each drive may be connected to bus 18 via one or more data media interfaces. System memory 28 may include at least one program product having a set (e.g., at least one) of program modules configured to perform the functions of the 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 include, but are not limited to, an operating system, one or more application programs, other program modules, and program data. Each or some combination of these examples may include an implementation of a network environment. Program modules 42 typically perform the functions and / or methods described in the embodiments of the present invention.
[0146] Electronic device 4 can also communicate with one or more external devices 14 (e.g., keyboard, pointing device, display 24, etc.), and with one or more devices that enable a user to interact with electronic device 4, and / or with any device that enables electronic device 4 to communicate with one or more other computing devices (e.g., network card, modem, etc.). This communication can be performed through input / output (I / O) interface 22. Furthermore, electronic device 4 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) through network adapter 20. Figure 4 As shown, network adapter 20 communicates with other modules of electronic device 4 via bus 18. It should be understood that, although... Figure 4 Not shown, it can be combined with electronic device 4 to use other hardware and / or software modules, 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] Processing unit 16 executes various functional applications and page displays by running programs stored in system memory 28, such as implementing the motion estimation method for an aircraft provided in this embodiment of the invention, which includes:
[0148] Based on the Error State Kalman Filter (ESKF) analysis and processing of the current point cloud data and the current inertial data of the aircraft, motion estimation is performed on the aircraft to obtain the first motion estimation result of the aircraft. 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] By performing optical flow tracking on the current image data acquired by the aircraft, a second motion estimation result of the aircraft is obtained, wherein the data constraints for optical flow tracking are determined by inertial data and image data;
[0150] The first weight of the first motion estimation result is determined based on the constraint strength between each point and its corresponding nearest neighbor plane in the current point cloud data, and the second weight of the second motion estimation result is determined based on the first weight.
[0151] The target motion estimation result is determined based on the first motion estimation result and the first weight, as well as the second motion estimation result and the second weight.
[0152] Of course, those skilled in the art will understand that the processor can also implement the technical solution of the motion estimation method for aircraft provided in any embodiment of the present invention.
[0153] This invention provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements, for example, the motion estimation method for an aircraft provided in this invention, the method comprising:
[0154] Based on the Error State Kalman Filter (ESKF) analysis and processing of the current point cloud data and the current inertial data of the aircraft, motion estimation is performed on the aircraft to obtain the first motion estimation result of the aircraft. 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] By performing optical flow tracking on the current image data acquired by the aircraft, a second motion estimation result of the aircraft is obtained, wherein the data constraints for optical flow tracking are determined by inertial data and image data;
[0156] The first weight of the first motion estimation result is determined based on the constraint strength between each point and its corresponding nearest neighbor plane in the current point cloud data, and the second weight of the second motion estimation result is determined based on the first weight.
[0157] The target motion estimation result is determined based on the first motion estimation result and the first weight, as well as the second motion estimation result and the second weight.
[0158] The computer storage medium of this invention can be any combination of one or more computer-readable media. A computer-readable medium can be a computer-readable signal medium or a computer-readable storage medium. For example, a computer-readable storage medium can be, but is not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples (a non-exhaustive list) of computer-readable storage media include: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this document, a computer-readable storage medium can be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.
[0159] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, capable of sending, propagating, or transmitting programs for use by or in connection with an instruction execution system, apparatus, or device.
[0160] Program code contained on a computer-readable medium may be transmitted using any suitable medium, including but not limited to: wireless, wire, optical fiber, RF, etc., or any suitable combination thereof.
[0161] Computer program code for performing the operations of this invention can be written in one or more programming languages or a combination thereof. Programming languages include object-oriented programming languages such as Java, Smalltalk, and C++, as well as conventional procedural programming languages—such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0162] Those skilled in the art will understand that the modules or steps of the present invention described above can be implemented using general-purpose computing devices. They can be centralized on a single computing device or distributed across a network of multiple computing devices. Optionally, they can be implemented using computer-executable program code, thereby allowing them to be stored in a storage device for execution by a computing device, or they can be fabricated as separate integrated circuit modules, or multiple modules or steps can be fabricated as a single integrated circuit module. Thus, the present invention is not limited to any particular combination of hardware and software.
[0163] Furthermore, the acquisition, storage, use, and processing of data in the technical solution of this invention all comply with the relevant provisions of national laws and regulations.
[0164] Note that the above description is merely a preferred embodiment of the present invention and the technical principles employed. Those skilled in the art will understand that the present invention is not limited to the specific embodiments described herein, and various obvious changes, readjustments, and substitutions can be made without departing from the scope of protection of the present invention. Therefore, although the present invention has been described in detail through the above embodiments, the present invention is not limited to the above embodiments, and may include many other equivalent embodiments without departing from the concept of the present invention, the scope of which is determined by the scope of the appended claims.
Claims
1. A method of motion estimation for an aircraft, characterized in that, The method comprises the following steps: analyzing and processing current point cloud data obtained by an aircraft and current inertial data of the aircraft based on an error state Kalman filter (ESKF) to perform motion estimation on the aircraft and obtain a first motion estimation result of the aircraft, wherein an observation equation in the ESKF is determined by distances between each point in the current point cloud data and a nearest neighbor plane of each point in a local point cloud map; performing optical flow tracking on current image data obtained by the aircraft to obtain a second motion estimation result of the aircraft, wherein data constraints of optical flow tracking are determined by inertial data and image data; determining constraint strengths of the nearest neighbor planes of each point in the current point cloud data corresponding to each point according to a vector angle between a first vector formed by the nearest neighbor planes of each point in the current point cloud data corresponding to each point and a second vector formed by a travel direction of the aircraft; performing normalization processing on a strength sum value obtained by accumulating the constraint strengths of the nearest neighbor planes of each point in the current point cloud data corresponding to each point to obtain an evaluation index for determining the first motion estimation result, and determining the evaluation index as a first weight, and determining a second weight of the second motion estimation result according to the first weight; determining a target motion estimation result based on the first motion estimation result, the first weight, the second motion estimation result and the second weight.
2. The method of motion estimation of an aircraft according to claim 1, characterized in that, analyzing and processing current point cloud data obtained by an aircraft and current inertial data of the aircraft based on an error state Kalman filter (ESKF) to perform motion estimation on the aircraft and obtain a first motion estimation result of the aircraft, comprising: inputting the current point cloud data and the current inertial data into the ESKF to enable the ESKF to determine an observation value according to the current point cloud data and the observation equation while analyzing the current inertial data and a previous motion estimation result, and obtain the first motion estimation result when the observation value is determined to be the smallest.
3. The method of motion estimation 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, comprising: determining nearest neighbor points 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 subdivided space units in each voxel based on a pseudo Hilbert space-filling curve; determining nearest neighbor planes of each point in the current point cloud data in the local point cloud map according to the nearest neighbor points of each point in the current point cloud data in the local point cloud map; substituting 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 of motion estimation of an aircraft according to claim 1, characterized in that, performing optical flow tracking on current image data obtained by the aircraft to obtain a second motion estimation result of the aircraft, comprising: determining a weight map and a feature map of the current image data, and extracting 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; fusing the current tracking result and a historical tracking result based on a factor graph to obtain the second motion estimation result when the data constraints are the smallest.
5. The method of motion estimation 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, comprising: in a case where it is determined that the first motion estimation result and the second motion estimation result do not have time error, 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 the first motion estimation result and the second motion estimation result have time error, determining the first motion estimation result as the target motion estimation result.
6. The method of motion estimation of an aircraft according to claim 5, characterized in that, 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, comprising: constructing a pose graph by taking position estimation result and attitude estimation result in the first motion estimation result as a point of the pose graph and taking position change and attitude change in the second motion estimation result as an edge of the pose graph, wherein an edge weight is determined according to the first weight and the second weight; determining the target motion estimation result based on the pose graph.
7. A motion estimation device for an aircraft, characterized in that comprising: a first estimation module configured to perform motion estimation on an aircraft based on error state Kalman filter (ESKF) analysis processing of current point cloud data obtained by the aircraft and current inertial data of the aircraft, to obtain a first motion estimation result of the aircraft, wherein an observation equation in the ESKF is determined by distances between each point in the current point cloud data and a nearest neighbor plane corresponding to each point in a 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 obtained by the aircraft, wherein data constraints of optical flow tracking are determined by inertial data and image data; a determination module configured to determine constraint strength of a nearest neighbor plane corresponding to each point in the current point cloud data according to a vector included angle between a first vector formed by the nearest neighbor plane corresponding to each point in the current point cloud data and a second vector formed by a traveling direction of the aircraft, to obtain an evaluation index for determining the first motion estimation result by normalizing a strength sum value obtained by accumulating constraint strength of the nearest neighbor plane corresponding to each point in the current point cloud data, and to determine the evaluation index as a first weight and determine a second weight of the second motion estimation result according to the first weight; an execution module 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.
8. An electronic device, comprising: The electronic device comprises: at least one processor; and a memory connected with the at least one processor in communication; wherein 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 to enable the at least one processor to execute the motion estimation method of the aircraft according to any one of claims 1-6.
9. A storage medium containing computer-executable instructions, wherein: The computer executable instructions, when executed by the computer processor, are for performing a method of motion estimation for an aircraft as claimed in any one of claims 1-6.
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