Multi-source information fusion based on edible mushroom house autonomous inspection unmanned aerial vehicle system
By using multi-source information fusion technology, point cloud filtering, pose estimation, and voxel modeling, the pose of the UAV was optimized, which solved the problem of inaccurate positioning in the autonomous inspection of edible mushroom houses and achieved high-precision automatic inspection and accurate data archiving.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- CHONGQING ACAD OF AGRI SCI
- Filing Date
- 2026-03-10
- Publication Date
- 2026-06-05
AI Technical Summary
Existing autonomous inspection drone systems for edible mushroom houses struggle to accurately locate and capture images in dimly lit and confined spaces, resulting in incomplete inspection path coverage and redundant image data, which affects data backtracking efficiency and disease location accuracy.
Employing multi-source information fusion technology, and combining point cloud filtering, pose estimation, voxel modeling, and inspection planning modules with lidar, inertial measurement sensors, and radar ranging, a three-dimensional voxel grid is constructed to optimize the UAV's pose, generate maneuver inspection commands, and automatically adjust the flight attitude to ensure accurate coverage.
It achieves high-precision automatic inspection in complex environments, eliminates positioning drift, ensures accurate archiving of image data, and improves the retrieval accuracy of inspection data.
Smart Images

Figure REF-OBJ-1773106397510-000002 
Figure REF-OBJ-1773106397510-000003 
Figure REF-OBJ-1773106397510-000004
Abstract
Description
Technical Field
[0001] This invention relates to the field of drone inspection technology, and in particular to an autonomous drone system for inspecting edible mushroom houses based on multi-source information fusion. Background Technology
[0002] The field of drone inspection technology encompasses comprehensive application technologies that utilize unmanned aerial vehicles equipped with various sensors to monitor, collect data, and troubleshoot specific targets or environments. The core of this field involves flight platform design, flight control logic architecture, airborne mission payload integration, and ground station command and dispatch systems. The overall system achieves coverage and information acquisition of target areas such as power lines, agricultural plant protection, security monitoring, and environmental detection through preset routes or autonomous path planning combined with real-time positioning and map building. Among these, the traditional autonomous inspection drone system for edible mushroom houses refers to a system for environmental monitoring and growth status inspection in indoor edible mushroom growth workshops with no satellite positioning signals and complex electromagnetic environments. It typically relies on operators using handheld radio remote controls to control the power output and attitude adjustment of a multi-rotor aircraft in real time. Optical flow sensors, combined with ultrasonic ranging modules, assist in altitude holding and hovering under sufficient lighting conditions. During operation, the pilot visually judges the relative position between the aircraft and the cultivation racks, monitors the screen through simulated image transmission signals, and manually triggers the gimbal camera shutter to photograph the mushroom bags. After the flight, the onboard memory card is removed, and the image data is imported into a computer for manual classification and inspection.
[0003] Existing technologies rely on manual visual judgment of the relative position of the aircraft and the cultivation rack and manual triggering of shooting. Operators find it difficult to accurately grasp the flight attitude and shooting timing in dim and narrow spaces. Relying solely on optical flow and ultrasonic sensors is prone to positioning drift and unstable hovering in environments with weak texture or electromagnetic interference, resulting in incomplete coverage of the inspection path or overlapping and redundant images. Massive image data is stored only based on time series and lacks a logical mapping relationship with the physical space grid. Subsequent manual classification and inspection processes are prone to position confusion and mis-archiving, which seriously affects the efficiency of inspection data backtracking and the accuracy of disease location. Summary of the Invention
[0004] To address the technical problems existing in the prior art, this invention provides an autonomous unmanned aerial vehicle (UAV) system for inspecting edible mushroom cultivation rooms based on multi-source information fusion. The technical solution is as follows: On the one hand, an autonomous inspection drone system for edible mushroom houses based on multi-source information fusion was provided. This system includes: The point cloud filtering module acquires the original scanning points of the mushroom house and extracts the three-dimensional coordinates and reflection intensity. It calculates the spatial curvature and reflection intensity gradient of the scanning points and removes scanning points that exceed the preset curvature threshold and gradient threshold. It generates a rigid point cloud and transmits it to the pose estimation module. The pose estimation module performs state estimation on the rigid point cloud, constructs a prediction vector by combining the UAV's angular velocity and linear acceleration, calculates the Kalman gain on the rigid point cloud and the prediction vector and corrects the prediction vector, generates the UAV pose and transmits it to the voxel modeling module. The voxel modeling module acquires radar ranging, constructs a voxel mesh based on the UAV pose, extracts the occupancy probability of all voxels and updates it recursively, calculates and aggregates the Shannon entropy of the occupancy probability of all voxels, generates a voxel disorder set and passes it to the inspection planning module. The inspection planning module obtains a preset candidate coordinate set, calculates the Euclidean distance analysis cost from the current coordinates of the UAV to the candidate coordinate set, extracts the entropy value of the voxel disorder set corresponding to the candidate coordinate set and accumulates the analysis gain, analyzes the inspection score based on the gain and cost value and filters the coordinates, and generates a mobile inspection command. The coverage optimization module parses the mobile inspection command to obtain the pixel coordinates of the virtual image, constructs an external parameter set for the UAV pose and performs back projection analysis of the ray equation, analyzes the coverage area by combining the intersection coordinates of the preset shelf plane equation, calculates the overlap ratio between the coverage area and the shelf grid area, extracts the coordinate deviations that do not reach the preset ratio threshold and performs pose adjustment, and generates the mobile inspection optimization command.
[0005] As a further embodiment of the present invention, the rigid point set includes a structural boundary point set, a stable surface point set, and a strong reflection feature point set; the UAV pose includes three-dimensional position parameters, attitude angle parameters, and attitude covariance parameters; the voxel disorder set includes high-entropy voxel identifiers, low-entropy voxel identifiers, and boundary uncertain voxel identifiers; the maneuver inspection command includes target waypoint coordinates, heading angle setpoint, and speed level parameters; and the maneuver inspection optimization command includes corrected displacement parameters, corrected attitude parameters, and coverage enhancement identifier parameters.
[0006] As a further aspect of the present invention, the point cloud filtering module includes: The point cloud analysis submodule acquires the original scanning points of the mushroom house using a drone equipped with a lidar and extracts the three-dimensional coordinates and reflection intensity. It then encodes the three-dimensional coordinates and reflection intensity with time stamps according to the laser emission time sequence and combines them with the corresponding three-dimensional coordinates and reflection intensity to generate a set of scanning point data structures. The curvature calculation submodule calculates the rate of change of the normal vector of the fitted surface between a single point and its neighboring points as the spatial curvature of the scanning point based on the scan point data structure set. At the same time, it extracts the reflection intensity between a single point and its neighboring points, performs difference calculation and analyzes the reflection intensity difference to generate a joint spatial curvature group. The rigid filtering submodule, based on the spatial curvature joint group, extracts the magnitude of the difference vector of each scanning point and compares it with a preset curvature threshold, and extracts the difference of reflection intensity and compares it with a preset reflection gradient threshold, and removes scanning points that exceed the preset curvature threshold and gradient threshold to generate a rigid point cloud.
[0007] As a further aspect of the present invention, the pose estimation module includes: The inertial prediction submodule acquires angular velocity and linear acceleration, performs state estimation on the rigid point set, calculates the attitude increment vector by integrating the angular velocity based on the current sampling interval, subtracts the gravity component from the linear acceleration and calculates the velocity increment vector, and concatenates the attitude and velocity increment vectors to generate a state prediction vector. The residual construction submodule constructs an observation equation based on the state prediction vector and the rigid point cloud set. It substitutes the point cloud coordinates into the state extrapolation array to analyze and calculate the coordinate sequence corresponding to the pose. It calculates the difference with the current coordinate sequence and stacks them into an error column vector. It performs partial derivative with the pose in the observation equation to obtain the observation residual vector. The gain correction submodule constructs a covariance multidimensional array based on the observed residual vector and the partial derivative numerical set, calculates the product of the transposed data of the partial derivative numerical set and the covariance multidimensional array and inverses it to analyze the Kalman gain parameters, and calculates the correction component vector with the observed residual vector and corrects the prediction vector to generate the UAV pose.
[0008] As a further aspect of the present invention, the voxel modeling module includes: The range measurement submodule acquires radar ranging and performs spatial discretization in conjunction with UAV pose. Based on pose parameters, it performs coordinate transformation on the ranging ray, divides the spatial range into grids according to a preset voxel size threshold, maps the ranging termination position to the corresponding voxel index and records the ranging length, and generates a voxel ranging mapping sequence. The occupancy recursive submodule, based on the voxel ranging mapping sequence, performs probabilistic recursive updates on the voxel occupancy state according to the relationship between the ranging length corresponding to multiple voxels and the ray path, and performs numerical corrections on the hit voxels and the traversed voxels, maintains the probability value range constraint and updates voxels one by one, and generates a voxel occupancy probability field. The entropy aggregation submodule calls the voxel occupancy probability field, calculates the voxel-level uncertainty measure by performing Shannon entropy calculation on the occupancy probability value of each voxel, and performs aggregation operation on the entropy values according to the voxel grid topology relationship to generate a voxel disorder set.
[0009] As a further aspect of the present invention, the voxel size threshold is obtained by multiplying the lidar angular resolution value and the ranging boundary value to obtain the point cloud spacing value, extracting the target entity structure boundary size value, calculating the ratio of the point cloud spacing value to the boundary size value, retrieving the discrete scaling factor from a preset mapping table based on the ratio, and multiplying the point cloud spacing value and the discrete scaling factor to determine the value.
[0010] As a further aspect of the present invention, the inspection planning module includes: The candidate set receiving submodule obtains a preset candidate coordinate set, reads the multi-coordinate 3D position and number, collects the current coordinate 3D components of the UAV, establishes the component difference between the current and candidate coordinates for each candidate coordinate, squares and sums the multi-component differences and extracts the sum of squares to obtain the candidate coordinate distance vector. The cost evaluation submodule extracts the corresponding candidate coordinate identifiers item by item according to the candidate coordinate distance vector, obtains the voxel disorder set within the view frustum coverage area corresponding to multiple candidate coordinates, reads the corresponding voxel entropy values and accumulates and analyzes the total entropy value array, and maps it with the candidate coordinate identifiers to establish a candidate benefit sequence. The scoring and ranking submodule calculates the difference group by multiplying the candidate benefit sequence and the candidate coordinate distance vector by a preset normalized weight coefficient, and then subtracts them one by one. The difference group is used as the inspection scoring set and sorted in descending order. The candidate coordinate identifier corresponding to the first position in the ranking is extracted to obtain the mobile inspection instruction.
[0011] As a further aspect of the present invention, the coverage optimization module includes: The pixel parsing submodule parses the mobile inspection command to obtain the pixel coordinates of the virtual image, reads the horizontal and vertical coordinates of the pixel and the image resolution identifier, constructs a two-dimensional coordinate sequence from the horizontal and vertical coordinates and converts the scale, expands the two-dimensional coordinate sequence into a three-dimensional vector group and performs translation algebra operations to generate a homogeneous coordinate group. The intersection calculation submodule constructs an external parameter set based on the UAV pose, extracts rotation and translation vectors to form a pose transformation parameter set, calls the homogeneous coordinate set to perform multiplication back projection analysis of the ray direction vector set, and performs algebraic elimination with the preset shelf plane equation to generate a shelf intersection set. The pose correction submodule extracts the vertex sequence of the covering polygons based on the set of intersection points of the shelf and establishes the shelf mesh. It analyzes the overlapping area of the polygons and mesh blocks, calculates the polygon mesh coverage ratio based on the mesh area, and adjusts the pose of coordinates that do not reach the preset ratio threshold to obtain the mobile inspection optimization command.
[0012] As a further aspect of the present invention, the proportional threshold is obtained by calculating the ratio of the sensor size to the camera focal length to generate the field of view parameter, extracting the shelf coordinates and the translation vector value to perform a difference operation to obtain the shooting distance, multiplying the shooting distance by half the tangent of the field of view parameter and taking twice to obtain the coverage width value, calling the reference overlap rate to perform a product operation on the coverage width value, and dividing it by the grid side length value to perform a division logic operation, thereby completing the normalization determination of the proportional threshold.
[0013] The beneficial effects of the technical solutions provided by the embodiments of the present invention include at least the following: By constructing a joint screening mechanism of reflection intensity gradient and geometric curvature, the physical properties of the metal edge of the shelf and the environmental background are separated and assigned pose optimization weights. This eliminates interference from soft films and forcibly locks the rigid skeleton to maintain stable positioning in complex environments. The three-dimensional voxel information entropy gradient drives the active selection decision of the viewpoint, guiding the aircraft to retake pictures of blurred areas and automatically avoid occlusions. High-precision reconstruction is completed with the fewest shutter counts. The overlap ratio between the image and the physical grid is calculated based on the effective projection section of the view frustum. A spatial index logic with primary and secondary hierarchical weights is established to ensure that the inspection data is accurately archived to the corresponding physical location and improve the accuracy of information retrieval. Attached Figure Description
[0014] 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.
[0015] Figure 1 This is a schematic diagram of the system of the present invention; Figure 2 This is a schematic diagram of the system framework of the present invention; Figure 3 This is a flowchart of the point cloud filtering module in this invention; Figure 4 This is a flowchart of the pose estimation module in this invention; Figure 5 This is a flowchart of the voxel modeling module in this invention; Figure 6 This is a flowchart of the inspection planning module in this invention; Figure 7 This is a flowchart of the coverage optimization module in this invention. Detailed Implementation
[0016] The technical solution of the present invention will now be described with reference to the accompanying drawings.
[0017] To make the technical problems, technical solutions and advantages of the present invention clearer, a detailed description will be given below in conjunction with the accompanying drawings and specific embodiments.
[0018] This invention provides an autonomous inspection drone system for edible mushroom houses based on multi-source information fusion, such as... Figure 1-2 The diagram shown illustrates an autonomous inspection drone system for edible mushroom houses based on multi-source information fusion. The system includes: The point cloud filtering module acquires the original scanning points of the mushroom house and extracts the three-dimensional coordinates and reflection intensity. It calculates the spatial curvature and reflection intensity gradient of the scanning points and removes scanning points that exceed the preset curvature threshold and gradient threshold. It generates a rigid point cloud and transmits it to the pose estimation module. The pose estimation module performs state estimation on the rigid point cloud, constructs a prediction vector by combining the UAV's angular velocity and linear acceleration, calculates the Kalman gain on the rigid point cloud and the prediction vector and corrects the prediction vector, generates the UAV pose and passes it to the voxel modeling module. The voxel modeling module acquires radar ranging, constructs a voxel mesh by combining the UAV pose, extracts the occupancy probability of all voxels and updates it recursively, calculates and aggregates the Shannon entropy of the occupancy probability of all voxels, generates a voxel disorder set and passes it to the inspection planning module. The inspection planning module obtains a preset candidate coordinate set, calculates the Euclidean distance between the current coordinates of the UAV and the candidate coordinate set to analyze the cost value, extracts the entropy value of the voxel disorder set corresponding to the candidate coordinate set and accumulates the analysis gain, analyzes the inspection score based on the gain and cost value and filters the coordinates, and generates a mobile inspection command. The coverage optimization module parses the mobile inspection command to obtain the pixel coordinates of the virtual image, constructs an external parameter set for the UAV pose and performs back projection analysis of the ray equation, analyzes the coverage area by combining the intersection coordinates of the preset shelf plane equation, calculates the overlap ratio between the coverage area and the shelf grid area, extracts the coordinate deviations that do not reach the preset ratio threshold and performs pose adjustment, and generates the mobile inspection optimization command.
[0019] The rigid point set includes the structural boundary point set, the stable surface point set, and the strong reflection feature point set; the UAV pose includes three-dimensional position parameters, attitude angle parameters, and attitude covariance parameters; the voxel disorder set includes high-entropy voxel labels, low-entropy voxel labels, and boundary uncertain voxel labels; the maneuver inspection command includes target waypoint coordinates, heading angle setpoint, and speed level parameters; and the maneuver inspection optimization command includes corrected displacement parameters, corrected attitude parameters, and coverage enhancement label parameters.
[0020] Specifically, such as Figure 2 , 3 As shown, the point cloud filtering module includes: The point cloud analysis submodule acquires the original scanning points of the mushroom house using a drone equipped with a lidar and extracts the three-dimensional coordinates and reflection intensity. It then encodes the three-dimensional coordinates and reflection intensity with time stamps according to the laser emission time sequence and combines them with the corresponding three-dimensional coordinates and reflection intensity to generate a set of scanning point data structures. The system receives raw scan point data from the lidar sensor mounted on the drone, which scans the internal environment of the mushroom house. The preprocessing unit performs null value removal, deleting invalid points with blank attribute fields, and performs voxel filtering, setting the voxel grid size parameter to 0.05 meters to filter out isolated noise points with fewer than three nodes within the grid. The coordinate and intensity extraction unit separates the spatial three-dimensional coordinate data and reflection intensity values from the preprocessed raw scan point data. The time encoding unit assigns a time stamp code to each scan point according to the chronological order of laser pulse emission. The calculation logic for the time stamp code is to extract the receiving timestamp of the current scan point and the reference emission timestamp of the first scan point, and then calculate the time offset by subtracting the receiving timestamp of the current scan point from the reference emission timestamp of the first scan point. For example, if the reference emission timestamp of the first scan point is 1500 milliseconds and the receiving timestamp of the current scan point is 1512 milliseconds, the time encoding unit substitutes 1512 milliseconds and 1500 milliseconds into the difference operation to obtain a time offset of 12 milliseconds. The data combination unit concatenates a 12-millisecond time offset with spatial three-dimensional coordinate data and reflection intensity values. For example, if the current scan point has an x-coordinate of 1.2 meters, a y-coordinate of 2.5 meters, a z-coordinate of 3.0 meters, and a reflection intensity value of 120, the data combination unit packages the 12-millisecond time offset with the aforementioned coordinate data and the reflection intensity value of 120 to construct structured information for a single scan point. The calculation is performed iteratively on all original scan points, outputting a scan point data structure set.
[0021] The curvature calculation submodule calculates the rate of change of the normal vector of the fitted surface between a single point and its neighboring points as the spatial curvature of the scanning point based on the data structure set of the scanning points. At the same time, it extracts the reflection intensity between a single point and its neighboring points, performs difference calculation and analyzes the reflection intensity difference, and generates a joint set of spatial curvature. The system reads the output scan point data structure set. The neighborhood search unit uses a multi-dimensional spatial partitioning tree algorithm to find the nearest neighbor scan point for each target scan point, setting the number of neighbor scan points to 5. The coordinate difference calculation unit extracts the spatial three-dimensional coordinate data of the target scan point and its neighbor scan points and performs difference vector magnitude calculation. The calculation logic is to subtract the coordinate values of the target scan point from the coordinate values of each dimension of the neighbor scan points to obtain the coordinate difference. Then, the coordinate differences of all dimensions are squared and summed, and the square root of the sum is taken to obtain the spatial distance value as the difference vector magnitude, which is the spatial curvature of the scan point. Substituting the aforementioned parameters, the target scan point has an x-coordinate of 1.2 meters, a y-coordinate of 2.5 meters, and a vertical coordinate of 3.0 meters. The neighbor scan points have an x-coordinate of 1.2 meters, a y-coordinate of 2.5 meters, and a vertical coordinate of 3.1 meters. Substituting these values, the vertical coordinate difference is 0.1 meters, and the x-coordinate and y-coordinate differences are both 0 meters. After square summation and square root calculation, the spatial curvature of the scan point is 0.1 meters. The intensity difference calculation unit extracts the reflection intensity values of the target scanning point and adjacent scanning points and performs a difference calculation. The calculation logic is to subtract the reflection intensity values of the adjacent scanning points from the reflection intensity value of the target scanning point and take the absolute value to obtain the reflection intensity difference. Substituting the aforementioned parameters, the reflection intensity value of the target scanning point is 120, and the reflection intensity value of the adjacent scanning point is 110. Substituting both into the calculation, the reflection intensity difference is obtained as 10. The feature fusion unit packages the spatial curvature of the 0.1-meter scanning point with the reflection intensity difference of 10 to generate a spatial curvature joint group.
[0022] The rigid filtering submodule, based on the spatial curvature joint group, extracts the difference vector magnitude of each scan point and compares it with the preset curvature threshold, and extracts the reflection intensity difference and compares it with the preset reflection gradient threshold. Scan points that exceed the preset curvature threshold and gradient threshold are removed, and a rigid point cloud is generated. The receiver receives a spatial curvature joint group and extracts the differential vector magnitude and reflection intensity difference corresponding to each scan point. The threshold configuration unit is responsible for configuring the preset curvature threshold and preset reflection gradient threshold. The preset curvature threshold setting logic is to extract the differential vector magnitude of the structural edges in the historical rigid building support scan data, calculate the overall average value, add a tolerance scaling factor of 0.05 to this average value, and perform a multiplication gain operation to obtain the preset curvature threshold. The preset reflection gradient threshold setting logic is to collect unobstructed reflection intensity samples of the same material, calculate the difference between the maximum and minimum sample values, and multiply this difference by a scaling factor of 0.8 to obtain the preset reflection gradient threshold. For example, if the historical average differential vector magnitude is 0.08 meters, multiplying it by a gain factor of 1.05, 0.08 * 1.05 = 0.084, the calculated preset curvature threshold is 0.084 meters. If the sample value difference is 15, multiplying it by a scaling factor of 0.8, 15 * 0.8 = 12, the calculated preset reflection gradient threshold is 12. Table 1 lists the threshold configurations for the test environment.
[0023] Table 1. Rigid Threshold Setting Parameters Table 1 lists multiple sets of environmental parameters. The comparison and elimination unit extracts the magnitude of the differential vector at the current scan point at 0.1 meters and compares it with a preset curvature threshold of 0.084 meters. It also extracts the reflection intensity difference at 10 and compares it with a preset reflection gradient threshold of 12. The judgment logic is that if the magnitude of the differential vector is greater than the preset curvature threshold or the reflection intensity difference is greater than the preset reflection gradient threshold, the point is determined to be a non-rigid point undergoing flexible deformation and is eliminated. Substituting the aforementioned values, the magnitude of the differential vector at 0.1 meters is greater than the preset curvature threshold of 0.084 meters, so the comparison and elimination unit directly eliminates the scan point. The remaining scan points that were not eliminated are then aggregated to generate a rigid point cluster.
[0024] Specifically, such as Figure 2 , 4 As shown, the pose estimation module includes: The inertial prediction submodule acquires angular velocity and linear acceleration, performs state estimation on the rigid point set, calculates the attitude increment vector by integrating the angular velocity based on the current sampling interval, subtracts the gravity component from the linear acceleration and calculates the velocity increment vector, and concatenates the attitude and velocity increment vectors to generate a state prediction vector. Angular velocity and linear acceleration are acquired by using the UAV's built-in high-frequency inertial measurement sensor to obtain measured data of three-axis angular velocity and three-axis linear acceleration during flight, with a hardware sampling interval parameter set to 0.01 seconds. The angular velocity extraction unit extracts the horizontal axis angular velocity (0.05 radians per second), the vertical axis angular velocity (0.02 radians per second), and the vertical axis angular velocity (0.01 radians per second) from the measured data. During the state estimation of the rigid point cloud, the attitude calculation unit multiplies the horizontal axis angular velocity, vertical axis angular velocity, and vertical axis angular velocity with the 0.01-second hardware sampling interval parameter, deriving the horizontal axis attitude increment of 0.0005 radians, the vertical axis attitude increment of 0.0002 radians, and the vertical axis attitude increment of 0.0001 radians. The vector recombination unit combines the above three-dimensional attitude increments in axial order to construct an attitude increment vector. The acceleration extraction unit reads the horizontal axis acceleration of 0.1 m / s², the vertical axis acceleration of 0.05 m / s², and the vertical axis acceleration of 9.9 m / s² from the measured data. The gravity compensation unit extracts the pre-set local gravity acceleration reference value of 9.8 m / s², and performs a difference calculation between the vertical axis acceleration of 9.9 m / s² and the gravity acceleration reference value of 9.8 m / s² to obtain the effective vertical axis acceleration of 0.1 m / s². The velocity integration unit multiplies the horizontal axis acceleration of 0.1 m / s², the vertical axis acceleration of 0.05 m / s², and the effective vertical axis acceleration of 0.1 m / s² with the hardware sampling interval parameter of 0.01 seconds to obtain the horizontal axis velocity increment of 0.001 m / s, the vertical axis velocity increment of 0.0005 m / s, and the vertical axis velocity increment of 0.001 m / s. The data stacking unit serializes and combines the above-mentioned velocity increments of each axis to generate a velocity increment vector. The state stitching unit places the attitude increment vector in the high-order bits and the velocity increment vector in the low-order bits, performs a memory-level array stitching operation, and outputs the state prediction vector.
[0025] The residual construction submodule constructs the observation equation based on the state prediction vector and the rigid point cloud set. It substitutes the point cloud coordinates into the state extrapolation array to analyze and calculate the coordinate sequence corresponding to the pose. It calculates the difference with the current coordinate sequence and stacks them into an error column vector. It performs partial derivative with the pose in the observation equation to obtain the observation residual vector. The observation equation is constructed based on the state prediction vector and the rigid point cloud, obtaining the previously generated state prediction vector and the rigid point cloud of the current scanning cycle. The equation construction unit uses the dimension of the state prediction vector as a benchmark to extract the spatial distribution characteristics of each scanning point in the rigid point cloud to construct a nonlinear observation equation. The coordinate substitution unit extracts the basic three-dimensional coordinates of the target scanning point from the rigid point cloud, setting the basic horizontal coordinate to 1.2 meters, the basic vertical coordinate to 2.5 meters, and the basic vertical coordinate to 3.0 meters. The calculation unit extracts the horizontal axis velocity increment of 0.001 meters per second, the vertical axis velocity increment of 0.0005 meters per second, and the vertical axis velocity increment of 0.001 meters per second from the aforementioned state prediction vector, and multiplies them by the set prediction duration parameter of 1 second, respectively, to obtain the calculated horizontal axis displacement of 0.001 meters, the calculated vertical axis displacement of 0.0005 meters, and the calculated vertical axis displacement of 0.001 meters. The basic three-dimensional coordinates are imported into the state extrapolation array, and a linear superposition algebraic operation is performed between the state extrapolation array and the aforementioned displacement calculations to derive the extrapolated coordinate sequence. The calculation results are assigned as extrapolated x-coordinate 1.201 meters, extrapolated y-coordinate 2.5005 meters, and extrapolated y-coordinate 3.001 meters. The observation comparison unit reads the current observation coordinate sequence returned in real time by the lidar, obtaining the observed x-coordinate 1.205 meters, observed y-coordinate 2.5025 meters, and observed y-coordinate 3.003 meters. The difference calculation unit subtracts the corresponding dimension value of the extrapolated coordinate sequence from the values of each dimension of the observed coordinate sequence. For example, x-coordinate 1.205 - 1.201 = 0.004 meters, resulting in an x-coordinate error of 0.004 meters. Similarly, the y-coordinate error and y-coordinate error are calculated to be 0.002 meters. The error recombination unit stacks the x-coordinate error, y-coordinate error, and y-coordinate error in a row-to-column manner to generate an error column vector. The partial derivative calculation unit uses the finite difference derivative rule to perform first-order derivative calculations on the spatial pose variables in the nonlinear observation equation to obtain a set of partial derivative values. The residual generation unit performs a matrix multiplication operation on the set of partial derivative values and the error column vector to derive the observation residual vector. Setting the current abscissa partial derivative value to 2, and substituting it into the aforementioned abscissa error of 0.004 meters for multiplication, the first element of the observation residual vector is obtained as 0.008.
[0026] The gain correction submodule constructs a covariance multidimensional array based on the observation residual vector and the partial derivative numerical set, calculates the product of the transposed partial derivative numerical set and the covariance multidimensional array and inverses it to analyze the Kalman gain parameters, and calculates the correction component vector with the observation residual vector and corrects the prediction vector to generate the UAV pose. A covariance multidimensional array is constructed based on the observed residual vector and the partial derivative numerical set. The covariance initialization unit obtains the preset observation noise environment coefficient, sets it to 0.05, and reads the partial derivative numerical set and the observed residual vector output by the aforementioned residual construction unit. The covariance construction unit performs a weighted summation operation on the partial derivative numerical set and the observation noise environment coefficient to generate a covariance multidimensional array in diagonal matrix form. The matrix transpose unit performs a row and column swap operation on the partial derivative numerical set and outputs the transposed data of the partial derivative numerical set. The matrix multiplication unit calculates the product of the transposed data of the partial derivative numerical set and the covariance multidimensional array, and analyzes the Kalman gain parameters by inverting it. It then performs a standard matrix multiplication operation on the transposed data of the partial derivative numerical set and the covariance multidimensional array to obtain the intermediate covariance product matrix. The inverse matrix operation unit uses the Gaussian elimination inversion rule to invert the intermediate covariance product matrix to generate the inverse matrix. The gain calculation unit multiplies the inverse matrix with the initial error covariance matrix again, extracting the main diagonal elements of the resulting matrix as the Kalman gain parameter. Based on the actual calculation, the calculated Kalman gain parameter value is set to 0.6. The correction vector calculation unit extracts the first term (0.008) from the aforementioned observation residual vector, performs a scalar multiplication operation between the 0.6 Kalman gain parameter and the first term (0.008), and calculates the first term correction value of the correction component vector as 0.0048. The pose update unit corrects the prediction vector, extracts the 0.0005 radian horizontal axis attitude increment from the aforementioned state prediction vector, adds the 0.0005 radian horizontal axis attitude increment to the 0.0048 first term correction value, and obtains a new 0.0053 radian horizontal axis pose component, which is then combined to generate a high-precision UAV pose.
[0027] Specifically, such as Figure 2 , 5 As shown, the voxel modeling module includes: The range measurement submodule acquires radar ranging and performs spatial discretization in conjunction with UAV pose. Based on pose parameters, it performs coordinate transformation on the ranging ray, divides the spatial range into grids according to a preset voxel size threshold, maps the ranging termination position to the corresponding voxel index and records the ranging length, and generates a voxel ranging mapping sequence. The system receives real-time reflected echo signal data from the airborne radar sensor and extracts the ranging length value as 5.5 meters. It reads real-time attitude and positioning data from the UAV's internal flight control inertial navigation chip, obtaining the world coordinate system x-coordinate value as 10.0 meters, world coordinate system y-coordinate value as 20.0 meters, and world coordinate system vertical coordinate value as 15.0 meters for the current UAV center point. The coordinate transformation component performs spatial translation and rotation superposition operations on the radar ranging ray based on the aforementioned attitude data. It adds the relative lateral offset of 0.0 meters to the aforementioned world coordinate system x-coordinate of 10.0 meters, the relative longitudinal offset of 5.5 meters to the aforementioned world coordinate system y-coordinate of 20.0 meters, and the relative vertical offset of 0.0 meters to the aforementioned world coordinate system vertical coordinate of 15.0 meters, thus deriving the world x-coordinate of the ranging termination position as 10.0 meters, the world y-coordinate as 25.5 meters, and the world vertical coordinate as 15.0 meters. The mesh generation unit extracts the voxel size threshold set in the underlying configuration file, which is set to 0.2 meters based on the scan resolution. The spatial discretization unit performs a division operation on the world coordinate values of the aforementioned ranging termination position with the 0.2-meter voxel size threshold and rounds down to the nearest integer to calculate the discrete 3D voxel index values. Dividing the world x-coordinate of 10.0 meters by 0.2 meters yields a x-axis mesh index of 50, dividing the world y-coordinate of 25.5 meters by 0.2 meters yields a y-axis mesh index of 127, and dividing the world y-coordinate of 15.0 meters by 0.2 meters yields a y-axis mesh index of 75. The mapping and recording unit binds the aforementioned ranging termination position to the 3D voxel index coordinates formed by the combination of x-axis mesh index 50, y-axis mesh index 127, and y-axis mesh index 75, and simultaneously stores the aforementioned 5.5-meter ranging length value. The sequence assembly unit performs a low-level array concatenation operation on the 3D voxel indices of multiple consecutive sampling periods and the corresponding ranging lengths, packaging them to generate a voxel ranging mapping sequence. Table 2 lists the data related to voxel indexing operations.
[0028] Table 2 Spatial Discretization Calculation Table Table 2 details the specific numerical relationships between the coordinates of each dimension and the discrete index. The advantage of this operational logic is that it eliminates the spatial misalignment caused by floating-point rounding through direct division and integer algebraic operations.
[0029] The occupancy recursion submodule, based on the voxel ranging mapping sequence, updates the voxel occupancy state probabilistically according to the relationship between the ranging length corresponding to multiple voxels and the ray path, and performs numerical correction on the hit voxels and the traversed voxels, maintains the probability value range constraint and updates voxel by voxel, and generates a voxel occupancy probability field. The generated voxel ranging mapping sequence is extracted, and the endpoint voxel with 3D coordinates of x-axis index 50, y-axis index 127, and y-axis index 75, along with a ranging length of 5.5 meters, is parsed. The path traversal unit, based on the 5.5-meter ranging length and the straight-line ray path from the launch point to the ranging termination position, calls the straight-line rasterization component to filter all intermediate voxels traversed by the ray. The classification and labeling unit marks the endpoint voxel as the hit voxel and marks the series of intermediate voxels along the ray path from y-axis index 120 to y-axis index 126 as traversing voxels. The state update unit extracts the hit occupancy probability increment coefficient of 0.3 and the traversal idle probability decrement coefficient of 0.2, set based on the statistical average of the actual reflected signal, and simultaneously reads the historical occupancy probabilities of both the hit and traversing voxels from memory, both of which are 0.5. For the hit voxel, the value correction component performs an addition operation between the historical occupancy probability of 0.5 and the occupancy probability increment coefficient of 0.3 to obtain an updated hit occupancy probability value of 0.8. For a voxel crossing, the numerical correction component subtracts the historical occupancy probability of 0.5 from the idle probability reduction factor of 0.2 to obtain an updated crossing occupancy probability of 0.3. The interval constraint unit performs numerical truncation logic, extracting the preset upper probability constraint value of 0.9 and the lower probability constraint value of 0.1, and compares the hit occupancy probability of 0.8 and the crossing occupancy probability of 0.3 with the upper and lower constraint values respectively. Neither 0.8 nor 0.3 exceeds the interval boundary, so the interval constraint unit directly maintains the original calculated value and writes it to the cache voxel by voxel. The aggregation component globally arranges all updated probability values in the space to generate a voxel occupancy probability field. The advantage of this operation logic is that by distinguishing between hit and crossing states and performing differential addition and subtraction operations, the clarity of obstacle boundaries is enhanced.
[0030] The entropy aggregation submodule calls the voxel occupancy probability field, calculates the voxel-level uncertainty measure by performing Shannon entropy calculation on the voxel occupancy probability value of each voxel, and performs aggregation operation on the entropy value according to the voxel grid topology relationship to generate a voxel disorder set. The generated voxel occupancy probability field is read, and the updated hit occupancy probability value of 0.8 at the hit voxel is substituted. The uncertainty calculation component performs Shannon entropy calculation on each voxel occupancy probability value. The operation logic is as follows: first, the updated hit occupancy probability value of 0.8 is extracted, its base-2 logarithm is calculated, and the negative is taken to obtain the occupancy state information value of 0.32. Then, a mutual exclusion deduction is performed, subtracting the updated hit occupancy probability value of 0.8 from the constant 1 to calculate the idle state probability value of 0.2, calculating the base-2 logarithm of the idle state probability value of 0.2, and taking the negative, to obtain the idle state information value of 2.32. The weighted summation unit multiplies the occupancy probability of 0.8 with the occupancy state information value of 0.32 to obtain an occupancy distribution entropy of 0.256, and multiplies the idle probability of 0.2 with the idle state information value of 2.32 to obtain an idle distribution entropy of 0.464. Then, 0.256 and 0.464 are summed to derive a voxel-level uncertainty value of 0.72 for Shannon entropy calculation. The topology extraction unit obtains the neighborhood mesh structure consisting of 26 neighboring voxels around the current central voxel. The aggregation operation component reads the Shannon entropy value of 0.72 for the central voxel and sets the average Shannon entropy value of the neighborhood obtained through field sampling to 0.5. The weight allocation unit extracts the center weight coefficient of 0.7 and the neighborhood weight coefficient of 0.3 set in the configuration file. Multiplying 0.72 by the center weight coefficient of 0.7 yields 0.72 * 0.7 = 0.504. Multiplying 0.5 by the neighborhood weight coefficient of 0.3 yields 0.5 * 0.3 = 0.150. Adding 0.504 and 0.150 together, the aggregation operation yields an aggregated topological entropy value of 0.654. The data encapsulation unit structurally integrates the aggregated topological entropy values of all global grid nodes, generating a voxel disorder set. The advantage of this operation logic is that it accurately quantifies the detection blind zone characteristics through logarithmic product superposition and adjacency weight mixing.
[0031] Specifically, such as Figure 2 , 6 As shown, the inspection planning module includes: The candidate set receiving submodule obtains a preset candidate coordinate set, reads the multi-coordinate 3D position and number, collects the current coordinate 3D components of the UAV, establishes the component difference between the current and candidate coordinates for each candidate coordinate, squares and sums the multi-component differences and extracts the sum of squares to obtain the candidate coordinate distance vector. The system retrieves a pre-defined global cruise path database and reads pre-generated multi-coordinate 3D position data and corresponding candidate coordinate identifiers. The coordinate extraction unit extracts the first candidate coordinate with identifier number 101 from the global cruise path database and simultaneously reads the values of its 3D components, obtaining a candidate x-coordinate of 12.5 meters, a candidate y-coordinate of 20.2 meters, and a candidate y-coordinate of 15.0 meters. The current pose acquisition component continuously acquires the UAV's current 3D position data at a sampling frequency of 10 Hz using a high-precision real-time dynamic differential positioning receiver mounted inside the UAV. The data parsing unit extracts the current coordinate 3D components from the latest frame of the positioning data message, obtaining a current x-coordinate of 10.5 meters, a current y-coordinate of 20.2 meters, and a current y-coordinate of 15.0 meters. The difference calculation unit establishes a data mapping relationship between the current coordinate 3D components and the candidate coordinate 3D components, performing a subtraction operation for each spatial dimension. For the horizontal axis, the difference calculation unit subtracts the current horizontal coordinate value of 10.5 meters from the candidate horizontal coordinate value of 12.5 meters, resulting in a horizontal axis component difference of 2.0 meters. For the vertical axis, the difference calculation unit subtracts the current vertical coordinate value of 20.2 meters from the candidate vertical coordinate value of 20.2 meters, resulting in a vertical axis component difference of 0.0 meters. For the vertical axis, the difference calculation unit subtracts the current vertical coordinate value of 15.0 meters from the candidate vertical coordinate value of 15.0 meters, resulting in a vertical axis component difference of 0.0 meters. The squaring component reads the component differences for each dimension and performs a square algebraic operation on each. Multiplying the 2.0-meter horizontal axis component difference by 2.0 meters yields a horizontal axis square value of 4.0 square meters; similarly, the vertical axis square value and the vertical axis square value are both 0.0 square meters. The accumulation unit performs a continuous summation operation on the squared values of the horizontal axis (4.0 square meters), the vertical axis (0.0 square meters), and the vertical cross axis (0.0 square meters), deriving a sum of squares of 4.0 square meters. The vector generation unit uses this sum of squares of 4.0 square meters as the spatial displacement cost corresponding to candidate coordinate identifier number 101, and combines it with the calculation results of multiple other candidate coordinates to assemble an array, packaging it to generate a candidate coordinate distance vector. Table 3 lists the relevant data for the difference calculation of candidate coordinates.
[0032] Table 3 Calculation Table of Candidate Coordinate Difference Table 3 details the spatial differences and final sum of squares corresponding to different candidate coordinate identifiers. The comparison unit extracts the configured maneuver range safety threshold of 5.0 square meters, compares the calculated sum of squares of 4.0 square meters with the 5.0 square meter maneuver range safety threshold, and since 4.0 square meters falls within the safety threshold range, the status labeling unit marks it as a valid distance parameter. The advantage of this calculation logic is that it quantifies the absolute maneuver overhead of the UAV in three-dimensional space through direct sum of squares accumulation.
[0033] The cost assessment submodule extracts the corresponding candidate coordinate identifiers item by item based on the candidate coordinate distance vector, obtains the voxel disorder set within the view frustum coverage area corresponding to multiple candidate coordinates, reads the corresponding voxel entropy values and accumulates and analyzes the total entropy value array, and maps it with the candidate coordinate identifiers to establish a candidate benefit sequence. The generated candidate coordinate distance vector is read, and the identifier parsing unit scans the vector array item by item to extract the candidate coordinate identifier number 101, which is ranked first. The frustum retrieval component calls the camera calibration parameter file to read the sensor field of view parameters, which are 60 degrees horizontal field of view, 45 degrees vertical field of view, and a maximum detection depth of 5.0 meters. The spatial projection unit uses the aforementioned candidate abscissa of 12.5 meters, candidate ordinate of 20.2 meters, and candidate ordinate of 15.0 meters as the projection starting point, and constructs a virtual frustum bounding box in three-dimensional space in combination with the sensor field of view parameters. The mesh intersection component performs a geometric intersection test between the virtual frustum bounding box and the global voxel mesh to filter out all discrete voxel units that fall completely within the coverage area of the frustum. For each filtered discrete voxel unit, the data reading unit retrieves the aforementioned pre-generated voxel disorder set from memory. For the coverage area of candidate coordinate identifier 101, the data reading unit sequentially extracts the entropy values of three core voxel grids, obtaining voxel entropy values of 5.2 for the first grid, 4.3 for the second, and 6.054 for the third. The cumulative analysis component imports the extracted voxel entropy values into a high-precision floating-point accumulator and performs continuous addition operations, adding 4.3 to 5.2 to obtain an intermediate sum of 9.5, and then adding 6.054 to 9.5 to derive a total sum of 15.554. This value is the single element in the total entropy value array corresponding to candidate coordinate identifier 101. Similarly, for candidate coordinate identifier 102 in Table 3, the cumulative analysis component extracts the voxel entropy values of the grids within its view frustum coverage area according to the same logic and performs accumulation, obtaining a total sum of 12.0. The sequence mapping component establishes a key-value pair mapping relationship between the sum of 15.554 and candidate coordinate identifier number 101, and between the sum of 12.0 and candidate coordinate identifier number 102. The data assembly unit pushes all key-value pair data structures sequentially into the memory stack to generate a candidate gain sequence. The threshold comparison unit extracts a preset information gain benchmark value of 10.0 and compares the sum of 15.554 with the information gain benchmark value of 10.0. Since 15.554 is greater than the benchmark value, it verifies that the candidate region has high exploration value. The advantage of this operation logic is that it accurately quantifies the information richness of the local space through view frustum geometric projection and entropy accumulation.
[0034] The scoring and ranking submodule calculates the difference group by multiplying the candidate benefit sequence and the candidate coordinate distance vector by a preset normalized weight coefficient, and then subtracts them one by one. The difference group is used as the inspection scoring set and sorted in descending order. The candidate coordinate identifier corresponding to the first ranked position is extracted to obtain the mobile inspection instruction. The system receives candidate revenue sequences and candidate coordinate distance vectors. The data alignment unit uses the candidate coordinate identifier as the primary key to match the sum of squares in the candidate revenue sequences with the sum of squares in the candidate coordinate distance vectors. The difference calculation unit performs a cross-dimensional subtraction operation on each matched data set. The operation logic is to extract the sum of squares in the candidate revenue sequence and subtract the sum of squares in the corresponding candidate coordinate distance vector. Substituting the above calculation results, for candidate coordinate identifier 101, the difference calculation unit reads the sum of squares of 15.554 and the sum of squares of 4.0 square meters, subtracts 4.0 from 15.554, and calculates 11.550, resulting in a net revenue difference of 11.554. For candidate coordinate identifier 102, the difference calculation unit reads the sum of squares of 12.0 and the sum of squares of 9.0 square meters, subtracts 9.0 from 12.0, and calculates 3, resulting in a net revenue difference of 3.0. The array loading unit encapsulates the net profit difference values of each candidate coordinate, such as 11.554 and 3.0, into a contiguous memory address segment to generate an inspection score set. The descending sorting component uses quicksort logic to swap the positions of all net profit difference values within the inspection score set. The comparison unit extracts 11.554 and compares it with 3.0. Since 11.554 is greater than 3.0, the pointer movement unit moves the data block containing 11.554 to the head address of the array and moves the data block containing 3.0 to the tail address of the array, completing the descending sort of all data values. The head extraction unit directly reads the storage content corresponding to the first address of the array after the descending sort, obtains the net profit difference value of the first position as 11.554, and reverse-parses out the candidate coordinate identifier number 101 mapped to this value. The command generation unit writes the 12.5-meter candidate abscissa, 20.2-meter candidate ordinate, and 15.0-meter candidate ordinate corresponding to candidate coordinate identifier number 101 into the data payload area of the standard flight control protocol, adds a maneuver execution function code, and packages it to generate a maneuver inspection command. The action threshold comparison unit extracts the set command issuance blocking threshold of 5.0, compares the net benefit difference value of 11.554 at the top of the ranking with 5.0, and finds that 11.554 is much greater than 5.0, thus meeting the command issuance condition. The communication transmission component then pushes the maneuver inspection command to the UAV flight control bus. The advantage of this calculation logic is that it simplifies the spatial optimization decision-making link through direct difference calculation of benefit and cost and extreme value extraction.
[0035] Specifically, such as Figure 2 , 7 As shown, the coverage optimization module includes: The pixel parsing submodule parses the mobile inspection command to obtain the pixel coordinates of the virtual image, reads the horizontal and vertical coordinates of the pixel and the image resolution identifier, constructs a two-dimensional coordinate sequence from the horizontal and vertical coordinates and converts the scale, expands the two-dimensional coordinate sequence into a three-dimensional vector group and performs translation algebra operations to generate a homogeneous coordinate group. The system receives mobile inspection command data packets transmitted via the communication bus, parses the command data packet header to obtain the register address associated with the virtual image pixel coordinates. The coordinate extraction unit accesses this register address, reads the pixel horizontal coordinate value of 800 pixels and the pixel vertical coordinate value of 600 pixels stored in the image sensor calibration firmware, extracts the image resolution identifier from the device hardware configuration file, and obtains the global resolution parameters of 1920 pixels horizontally and 1080 pixels vertically. The sequence construction component allocates a contiguous high-speed cache memory space, assigns the 800-pixel horizontal coordinate value to the first dimension index address of the array, and assigns the 600-pixel vertical coordinate value to the second dimension index address of the array, constructing a two-dimensional coordinate sequence through contiguous memory block addressing. The scale mapping unit calls the absolute distance data of 15.5 meters between the current UAV and the surface of the target being detected, measured by the airborne millimeter-wave radar rangefinder, extracts the hardware focal length parameter of 35.0 mm, and calculates the pixel physical size reference value of 0.02 mm per pixel at the current depth through linear interpolation. The multiplier reads the coordinate values from the sequence building component and performs algebraic multiplication on each element of the two-dimensional coordinate sequence with a physical size reference value of 0.02 mm per pixel. The horizontal multiplication logic device multiplies the horizontal coordinate values of 800 pixels by the physical size reference value of 0.02 mm per pixel, calculating a physical horizontal scalar of 16.0 mm. The vertical multiplication logic device multiplies the vertical coordinate values of 600 pixels by the physical size reference value of 0.02 mm per pixel, calculating a physical vertical scalar of 12.0 mm. The three-dimensional extension component establishes a new generation data structure containing three double-precision floating-point elements. It forces the calculated physical horizontal scalar of 16.0 mm into the first horizontal axis component of the three-dimensional data structure, writes the physical vertical scalar of 12.0 mm into the second vertical axis component, and writes the set fixed projection depth constant of 1.0 mm into the third depth axis component, thus expanding the aforementioned two-dimensional coordinate sequence to generate a three-dimensional vector group. The offset compensation unit reads the lens physical deformation fine-tuning parameters fed back by the thermal expansion sensor and extracts the hardware-calibrated lateral translation compensation of 2.5 mm and longitudinal translation compensation of 1.8 mm. The algebraic subtractor extracts the horizontal and vertical components within the 3D vector group and performs subtraction analysis. The lateral subtraction circuit subtracts the 2.5 mm lateral translation compensation from the 16.0 mm lateral component, calculating a homogeneous lateral component of 13.5 mm. The longitudinal subtraction circuit subtracts the 1.8 mm longitudinal translation compensation from the 12.0 mm vertical component, calculating a homogeneous vertical component of 10.2 mm. The data reconstruction unit encapsulates and backs up the 13.5 mm homogeneous lateral component, the 10.2 mm homogeneous vertical component, and the unchanged 1.0 mm depth axis component, and appends a homogeneous coordinate checksum to generate a complete homogeneous coordinate group.
[0036] The intersection calculation submodule constructs an external parameter set based on the UAV's pose, extracts rotation and translation vectors to form a pose transformation parameter set, calls the homogeneous coordinate set to perform multiplication back projection analysis of the ray direction vector set, and performs algebraic elimination with the preset shelf plane equation to generate a shelf intersection set. The system receives high-frequency telemetry data streams from the airborne inertial navigation microcontroller unit. Based on the UAV's attitude information, it extracts the global coordinates of the absolute spatial position: 10.5 meters for the horizontal axis, 20.2 meters for the vertical axis, and 15.0 meters for the vertical axis. These three coordinate values are loaded into a register to construct an external parameter set. The matrix separation unit decomposes the attitude rotation vector describing the changes in the aircraft's spatial angles from the external parameter set, obtaining the roll angle rotation parameter 0.5, the pitch angle rotation parameter 0.8, and the yaw angle rotation parameter 1.2. Simultaneously, it extracts the aforementioned absolute spatial position parameters of 10.5 meters, 20.2 meters, and 15.0 meters to construct a three-dimensional translation vector. The parameter assembly component writes the values of the rotation vector and the values of the three-dimensional translation vector into the 4th-order matrix operation module in a row-major storage format to construct an attitude transformation parameter set containing the attitude mapping relationship. The orientation resolution unit establishes a communication link to extract the element data of each element within the homogeneous coordinate group generated by the aforementioned pixel resolution submodule. It reads the homogeneous horizontal component (13.5 mm), the homogeneous vertical component (10.2 mm), and the depth component (1.0 mm). The back-projection calculation component performs rigorous matrix multiplication back-projection analysis on the high-dimensional rotation matrix components within the pose transformation parameter group and each component of the homogeneous coordinate group. It derives and calculates the ray direction vector set from the camera coordinate system to the world coordinate system, obtaining the separated horizontal direction vector (0.6), the vertical direction vector (0.4), and the negative vertical direction vector (0.8). The plane reading component connects to the building structure information modeling database, extracts the algebraic coefficients of the preset shelf plane equations within the target working area, reads the horizontal axis parameter of the plane normal (0.0), the vertical axis parameter of the plane normal (0.0), and the vertical axis parameter of the plane normal (1.0), and extracts the vertical distance constant (8.0 meters) from the origin position to the shelf plane. The algebraic elimination unit substitutes the values of each term in the previously calculated ray direction vector set into the preset shelf plane equation to perform algebraic elimination calculations. The vertical elimination logic adds the UAV's 15.0-meter vertical axis global coordinates to the unknown spatial scale parameter multiplied by a vertical direction vector of -0.8. The algebraic sum of these two values is completely equivalent to an 8.0-meter vertical distance constant. The solution unit performs a linear algebraic root-finding operation to obtain a spatial scale parameter of 8.75. The intersection point derivation component multiplies the 8.75 spatial scale parameter by a 0.6 horizontal direction vector for the horizontal dimension, then superimposes it with the 10.5-meter horizontal axis global coordinates to obtain the intersection point's horizontal coordinate value of 15.75 meters. For the vertical dimension, it multiplies the 8.75 spatial scale parameter by a 0.4 vertical direction vector, then superimposes it with the 20.2-meter vertical axis global coordinates to obtain the intersection point's vertical coordinate value of 23.7 meters. The coordinate merging unit extracts the x-coordinate of the intersection point at 15.75 meters, the y-coordinate of the intersection point at 23.7 meters, and the vertical coordinate of the intersection point at 8.0 meters. These values are then compressed and packaged to generate a shelf intersection set. Table 4 lists the core data in the ray-plane intersection model.
[0037] Table 4. Calculation parameters for spatial intersection of rays Table 4 lists the directional components in the ray projection calculation and the final obtained three-dimensional intersection coordinates.
[0038] The pose correction submodule extracts the vertex sequence of the covering polygon based on the intersection set of the shelf and establishes the shelf mesh. It analyzes the overlapping area of the polygon and the mesh block, calculates the polygon mesh coverage ratio based on the mesh area, and adjusts the pose of coordinates that do not reach the preset ratio threshold to obtain the mobile inspection optimization command. The 3D coordinates within the intersection set of the shelving are analyzed, and the 3D coordinates of four consecutive adjacent intersection points are extracted as boundaries to establish a vertex sequence for the covering polygon. The mesh construction component divides the target plane into shelving meshes based on a 0.5-meter spatial division granularity. The overlap analysis component performs integral calculations on the overlapping areas of the polygons and mesh blocks to analyze the overlap area, and calculates the polygon mesh coverage ratio using the mesh area constant. The specific calculation uses the following formula: ; in the formula Represents the polygonal grid coverage ratio; this parameter reflects the sensor's envelope of the grid. (Summarization sign) Indicator variables Accumulate from 1 to the total amount Perform a loop to sum the square roots. The Euclidean norm 2 of the 2D vertex data is calculated by combining the squares of the distances of each internal term, and the ratio parameters are derived through division operations among the parameters. The parameter reading unit reads the total number of blocks in the shelf mesh. There are 2, sequence index subscripts. The natural numbers 1 and 2 are extracted sequentially. The integrator calculates the overlapping area for the first grid block. The overlapping area is calculated for the second grid block, which is 15.5 square meters. The area is 12.0 square meters. The compensation loading unit reads the mesh error compensation coefficient from the calibration file. The value is 0.8, and the error parsing component reads the vertex coordinate reference offset distance of the first grid block. The reference offset distance of the vertex coordinates of the second grid block is 2.5 meters. The value is 1.5 meters. The reference reading component obtains the set grid area of the first grid block. Given a grid area of 20.0 square meters, obtain the set grid area for the second grid block. The area is 15.0 square meters; extract the basic grid area compensation amount. The area is 5.0 square meters. The calculation component will obtain the value and substitute it into the formula to perform the derivation: Simplify to get Continue the calculation to obtain The final solution is: The comparison component extracts a preset ratio threshold of 0.8; 0.6075 does not reach this threshold, verifying a blind spot in the viewing angle. The position compensation component extracts the difference of 0.1925, multiplies it by an adjustment step of 10.0 degrees, derives a 1.925-degree yaw correction compensation angle, and loads the flight control message to obtain the maneuver inspection optimization command. The advantage of this formula is that it calculates and filters edge pixel distortion errors through absolute value and distance attenuation terms. This result shows that 0.6075 does not cover key mesh nodes, triggering the pose adjustment hardware unit to correct yaw and supplement missing data.
[0039] The above are merely specific embodiments of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.
Claims
1. An autonomous inspection drone system for edible mushroom houses based on multi-source information fusion, characterized in that, The system includes: The point cloud filtering module acquires the original scanning points of the mushroom house and extracts the three-dimensional coordinates and reflection intensity. It calculates the spatial curvature and reflection intensity gradient of the scanning points and removes scanning points that exceed the preset curvature threshold and gradient threshold. It generates a rigid point cloud and transmits it to the pose estimation module. The pose estimation module performs state estimation on the rigid point cloud, constructs a prediction vector by combining the UAV's angular velocity and linear acceleration, calculates the Kalman gain on the rigid point cloud and the prediction vector and corrects the prediction vector, generates the UAV pose and transmits it to the voxel modeling module. The voxel modeling module acquires radar ranging, constructs a voxel mesh based on the UAV pose, extracts the occupancy probability of all voxels and updates it recursively, calculates and aggregates the Shannon entropy of the occupancy probability of all voxels, generates a voxel disorder set and passes it to the inspection planning module. The inspection planning module obtains a preset candidate coordinate set, calculates the Euclidean distance analysis cost from the current coordinates of the UAV to the candidate coordinate set, extracts the entropy value of the voxel disorder set corresponding to the candidate coordinate set and accumulates the analysis gain, analyzes the inspection score based on the gain and cost value, filters the coordinates, and generates a mobile inspection command.
2. The autonomous inspection drone system for edible mushroom houses based on multi-source information fusion according to claim 1, characterized in that, The rigid point set includes a structural boundary point set, a stable surface point set, and a strong reflection feature point set. The UAV pose includes three-dimensional position parameters, attitude angle parameters, and attitude covariance parameters. The voxel disorder set includes high-entropy voxel identifiers, low-entropy voxel identifiers, and boundary uncertain voxel identifiers. The maneuver inspection command includes target waypoint coordinates, heading angle setpoint, and speed level parameters.
3. The autonomous inspection drone system for edible mushroom houses based on multi-source information fusion according to claim 1, characterized in that, The point cloud filtering module includes: The point cloud analysis submodule acquires the original scanning points of the mushroom house using a drone equipped with a lidar and extracts the three-dimensional coordinates and reflection intensity. It then encodes the three-dimensional coordinates and reflection intensity with time stamps according to the laser emission time sequence and combines them with the corresponding three-dimensional coordinates and reflection intensity to generate a set of scanning point data structures. The curvature calculation submodule calculates the rate of change of the normal vector of the fitted surface between a single point and its neighboring points as the spatial curvature of the scanning point based on the scan point data structure set. At the same time, it extracts the reflection intensity between a single point and its neighboring points, performs difference calculation and analyzes the reflection intensity difference to generate a joint spatial curvature group. The rigid filtering submodule, based on the spatial curvature joint group, extracts the magnitude of the difference vector of each scanning point and compares it with a preset curvature threshold, and extracts the difference of reflection intensity and compares it with a preset reflection gradient threshold, and removes scanning points that exceed the preset curvature threshold and gradient threshold to generate a rigid point cloud.
4. The autonomous inspection drone system for edible mushroom houses based on multi-source information fusion according to claim 1, characterized in that, The pose estimation module includes: The inertial prediction submodule acquires angular velocity and linear acceleration, performs state estimation on the rigid point set, calculates the attitude increment vector by integrating the angular velocity based on the current sampling interval, subtracts the gravity component from the linear acceleration and calculates the velocity increment vector, and concatenates the attitude and velocity increment vectors to generate a state prediction vector. The residual construction submodule constructs an observation equation based on the state prediction vector and the rigid point cloud set. It substitutes the point cloud coordinates into the state extrapolation array to analyze and calculate the coordinate sequence corresponding to the pose. It calculates the difference with the current coordinate sequence and stacks them into an error column vector. It performs partial derivative with the pose in the observation equation to obtain the observation residual vector. The gain correction submodule constructs a covariance multidimensional array based on the observed residual vector and the partial derivative numerical set, calculates the product of the transposed data of the partial derivative numerical set and the covariance multidimensional array and inverses it to analyze the Kalman gain parameters, and calculates the correction component vector with the observed residual vector and corrects the prediction vector to generate the UAV pose.
5. The autonomous inspection drone system for edible mushroom houses based on multi-source information fusion according to claim 1, characterized in that, The voxel modeling module includes: The range measurement submodule acquires radar ranging and performs spatial discretization in conjunction with UAV pose. Based on pose parameters, it performs coordinate transformation on the ranging ray, divides the spatial range into grids according to a preset voxel size threshold, maps the ranging termination position to the corresponding voxel index and records the ranging length, and generates a voxel ranging mapping sequence. The occupancy recursive submodule, based on the voxel ranging mapping sequence, performs probabilistic recursive updates on the voxel occupancy state according to the relationship between the ranging length corresponding to multiple voxels and the ray path, and performs numerical corrections on the hit voxels and the traversed voxels, maintains the probability value range constraint and updates voxels one by one, and generates a voxel occupancy probability field. The entropy aggregation submodule calls the voxel occupancy probability field, calculates the voxel-level uncertainty measure by performing Shannon entropy calculation on the occupancy probability value of each voxel, and performs aggregation operation on the entropy values according to the voxel grid topology relationship to generate a voxel disorder set.
6. The autonomous inspection drone system for edible mushroom houses based on multi-source information fusion according to claim 5, characterized in that, The voxel size threshold is determined by obtaining the lidar angular resolution value and the ranging boundary value, multiplying the two to obtain the point cloud spacing value, extracting the target entity structure boundary size value, calculating the ratio of the point cloud spacing value to the boundary size value, retrieving the discrete scaling factor from a preset mapping table based on the ratio, and multiplying the point cloud spacing value and the discrete scaling factor.
7. The autonomous inspection drone system for edible mushroom houses based on multi-source information fusion according to claim 1, characterized in that, The inspection planning module includes: The candidate set receiving submodule obtains a preset candidate coordinate set, reads the multi-coordinate 3D position and number, collects the current coordinate 3D components of the UAV, establishes the component difference between the current and candidate coordinates for each candidate coordinate, sums the squares of the multi-component differences and extracts the square root of the sum of squares to obtain the candidate coordinate distance vector. The cost evaluation submodule extracts the corresponding candidate coordinate identifiers item by item according to the candidate coordinate distance vector, obtains the voxel disorder set within the view frustum coverage area corresponding to multiple candidate coordinates, reads the corresponding voxel entropy values and accumulates and analyzes the total entropy value array, and maps it with the candidate coordinate identifiers to establish a candidate benefit sequence. The scoring and ranking submodule calculates the difference group by multiplying the candidate benefit sequence and the candidate coordinate distance vector by a preset normalized weight coefficient, and then subtracts them one by one. The difference group is used as the inspection scoring set and sorted in descending order. The candidate coordinate identifier corresponding to the first position in the ranking is extracted to obtain the mobile inspection instruction.
8. The autonomous inspection drone system for edible mushroom houses based on multi-source information fusion according to claim 1, characterized in that, The system also includes: The coverage optimization module parses the mobile inspection command to obtain the pixel coordinates of the virtual image, constructs an external parameter set for the UAV pose and back-projects and analyzes the ray equation, analyzes the coverage area by combining the intersection coordinates of the preset shelf plane equation, calculates the overlap ratio between the coverage area and the shelf grid area, extracts the coordinate deviations that do not reach the preset ratio threshold and adjusts the pose, and generates the mobile inspection optimization command. The optimized mobile inspection command includes the corrected displacement parameters, the corrected attitude parameters, and the coverage enhancement marker parameters.
9. The autonomous inspection drone system for edible mushroom houses based on multi-source information fusion according to claim 1, characterized in that, The coverage optimization module includes: The pixel parsing submodule parses the mobile inspection command to obtain the pixel coordinates of the virtual image, reads the horizontal and vertical coordinates of the pixel and the image resolution identifier, constructs a two-dimensional coordinate sequence from the horizontal and vertical coordinates and converts the scale, expands the two-dimensional coordinate sequence into a three-dimensional vector group and performs translation algebra operations to generate a homogeneous coordinate group. The intersection calculation submodule constructs an external parameter set based on the UAV pose, extracts rotation and translation vectors to form a pose transformation parameter set, calls the homogeneous coordinate set to perform multiplication back projection analysis of the ray direction vector set, and performs algebraic elimination with the preset shelf plane equation to generate a shelf intersection set. The pose correction submodule extracts the vertex sequence of the covering polygon based on the intersection set of the shelf, establishes the shelf mesh, calculates the overlapping area of the polygon and the mesh block by integration, calculates the coverage ratio by combining the mesh area, extracts the coordinate deviation for those that do not reach the preset ratio threshold and adjusts the pose to obtain the mobile inspection optimization command.
10. The autonomous inspection drone system for edible mushroom houses based on multi-source information fusion according to claim 1, characterized in that, The proportional threshold is calculated by taking the ratio of the sensor size to the camera focal length to generate the field of view parameter. The difference between the shelf coordinates and the translation vector is calculated to obtain the shooting distance. The shooting distance is multiplied by the tangent of half of the field of view parameter and then doubled to obtain the coverage width value. The coverage width value is multiplied by the reference overlap rate and then divided by the grid side length value to complete the normalization determination of the proportional threshold.