Positioning method, device, computer equipment and storage medium for inspection drone

By generating point cloud registration of real-time local maps and three-dimensional global maps and correcting the laser inertial odometry error, high-precision repeated positioning of the UAV in complex environments is achieved, the cumulative error problem of the laser inertial odometry is solved, and the positioning accuracy and update frequency are improved.

CN118999559BActive Publication Date: 2025-09-30SHANGHAI INVESTIGATION DESIGN & RES INST CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411041027.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-07-31
Publication Date
2025-09-30
Estimated Expiration
2044-07-31

AI Technical Summary

Technical Problem

Existing drone positioning solutions have difficulty achieving high-precision and long-term repeated positioning when switching between indoor and outdoor scenes. The position errors of the laser inertial odometry are easily accumulated, resulting in insufficient positioning accuracy and update frequency.

Method used

LiDAR scanning is used to generate a real-time local map of the inspection area and a three-dimensional point cloud global map. The first pose transformation matrix is ​​obtained through point cloud registration, the accumulated error of the laser inertial odometry is corrected, and the odometry information is updated to the three-dimensional point cloud global map. The extended Kalman filter is combined to perform real-time positioning of the UAV.

Benefits of technology

It achieves high-precision repeated positioning of the UAV within the range of the three-dimensional point cloud global map, solves the problem of cumulative position errors of the laser inertial odometry, and improves positioning accuracy and update frequency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118999559B_ABST
    Figure CN118999559B_ABST
Patent Text Reader

Abstract

The present invention relates to the field of drone inspection technology, and discloses a positioning method, device, computer equipment, and storage medium for an inspection drone. The method comprises: obtaining a real-time drone local map based on a preset laser radar coordinate system in the area to be inspected; mapping the point cloud data of the area to be inspected based on a mapping algorithm to generate a three-dimensional point cloud global map; performing point cloud registration on the real-time drone local map and the three-dimensional point cloud global map to obtain a first pose transformation matrix; updating the drone's odometer information to the three-dimensional point cloud global map based on the first pose transformation matrix to obtain the drone's real-time odometer posture; inputting the real-time odometer posture into a preset drone flight control coordinate system to obtain the drone's real-time posture, and positioning the drone. The present invention corrects the accumulated error of the laser inertial odometer based on the first pose transformation matrix, so that the drone has the ability to repeatedly locate with high precision within the range of the three-dimensional point cloud global map.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of drone inspection technology, and in particular to a positioning method, device, computer equipment and storage medium for an inspection drone. Background Art

[0002] Due to the environmental complexity and safety considerations of the inspection area, the current positioning solutions used for inspection drones are mainly based on the fusion of global satellites and inertial measurement units (IMUs), and are based on carrier phase differential technology to achieve centimeter-level positioning accuracy for drones in open, unobstructed environments. Satellite-based positioning solutions are significantly affected by the environment. Environmental obstructions can affect the transmission of satellite positioning signals. For example, positioning signals can be lost in scenes such as dense vegetation, inside buildings, and in basements, ultimately leading to loss of positioning information. Positioning accuracy is often maintained at the sub-meter level with an update frequency of 1 Hz. This results in low positioning accuracy and update frequency, making it difficult to apply to drone positioning scenarios that transition between indoor and outdoor environments and have complex environments.

[0003] Currently, drone positioning solutions include those based on monocular and binocular cameras, depth cameras, and lidar. These are susceptible to ambient light, and based on optical imaging and binocular parallax, they have a short range of perception and low positioning accuracy, making them difficult to achieve high-precision positioning in large scenes. Lidar-based drone positioning solutions, thanks to their excellent range and accuracy, combined with the precise pose estimation of an IMU, can output a centimeter-level accurate laser inertial odometry within a certain timeframe. However, due to the IMU's zero bias characteristics and laser frame registration errors, the laser inertial odometry's pose errors accumulate, making it difficult to achieve high-precision and repeatable positioning over long periods of time. Therefore, none of these positioning solutions can solve the high-precision positioning challenges faced by inspection drones, particularly those faced with switching between indoor and outdoor scenes, task repetitiveness, and the environmental complexity of the inspection area. Summary of the Invention

[0004] In view of this, the present invention provides a positioning method, device, computer equipment and storage medium for an inspection drone to solve the problem of continuous accumulation of posture errors of the laser inertial odometer, making it difficult to achieve long-term real-time positioning and repeated positioning.

[0005] In a first aspect, the present invention provides a positioning method for an inspection drone, the method comprising:

[0006] Obtain a real-time drone local map of the area to be inspected based on the preset lidar coordinate system;

[0007] Map the point cloud data of the inspection area based on the mapping algorithm to generate a three-dimensional point cloud global map;

[0008] Perform point cloud registration on the real-time UAV local map and the 3D point cloud global map to obtain the first pose transformation matrix of the UAV local map relative to the 3D point cloud global map;

[0009] Based on the first pose transformation matrix, the odometry information in the real-time UAV local map is updated to the 3D point cloud global map to obtain the real-time odometry pose of the UAV in the 3D point cloud global map.

[0010] Input the real-time odometer pose into the preset UAV flight control coordinate system to obtain the real-time pose of the UAV under the 3D point cloud global map;

[0011] The UAV is positioned based on its real-time pose under the 3D point cloud global map.

[0012] The positioning method of the inspection drone provided by the present invention obtains a real-time drone local map in the area to be inspected based on a preset laser radar coordinate system, and builds an integrated map of the area to be inspected to generate a high-precision three-dimensional point cloud global map. Based on this map, the real-time drone local map and the three-dimensional point cloud global map are point cloud aligned to obtain the first position transformation matrix of the drone local map relative to the three-dimensional point cloud global map. Based on the first position transformation matrix, the accumulated error of the laser inertial odometer is corrected, so that the drone has the ability of high-precision repeated positioning within the range of the three-dimensional point cloud global map, which solves the problem that the posture error of the laser inertial odometer continuously accumulates and it is difficult to achieve long-term real-time positioning and repeated positioning.

[0013] In an optional embodiment, obtaining a real-time drone local map of the area to be inspected based on a preset laser radar coordinate system includes:

[0014] Use LiDAR to scan the initial position of the UAV in the inspection area to obtain the current odometer information of the UAV;

[0015] The current odometer information initial point is used as the origin of the preset lidar coordinate system to generate a real-time drone local map.

[0016] The positioning method for an inspection drone provided by the present invention uses a laser radar to scan the initial position of the drone in the area to be inspected to obtain the current odometer information of the drone; the initial point of the current odometer information is used as the origin of a preset laser radar coordinate system to generate a real-time drone local map, which describes the position and posture state of the drone in the preset laser radar coordinate system, achieves the purpose of generating a real-time drone local map, and provides conditions for point cloud alignment between the local map and the global map.

[0017] In an optional embodiment, mapping the point cloud data of the inspection area based on a mapping algorithm to generate a three-dimensional point cloud global map includes:

[0018] Use laser radar scanning to obtain point cloud data of the area to be inspected;

[0019] Map the point cloud data based on the mapping algorithm to generate a three-dimensional point cloud global map.

[0020] The positioning method for an inspection drone provided by the present invention uses a laser radar to scan and obtain point cloud data of the area to be inspected; the point cloud data is mapped based on a mapping algorithm to generate a three-dimensional point cloud global map, thereby achieving the purpose of generating a high-precision three-dimensional point cloud global map through integrated mapping of the point cloud data of the inspection area.

[0021] In an optional embodiment, performing point cloud registration on the real-time UAV local map and the three-dimensional point cloud global map to obtain the first pose transformation matrix of the UAV local map relative to the three-dimensional point cloud global map includes:

[0022] Perform coarse registration between the real-time UAV local map and the 3D point cloud global map to obtain the initial pose transformation matrix;

[0023] The initial posture transformation matrix is ​​iteratively calculated. When the iteration termination condition is met, the optimal rotation matrix and optimal translation matrix corresponding to the initial posture transformation matrix are obtained.

[0024] The first pose transformation matrix is ​​calculated based on the optimal rotation matrix and the optimal translation matrix.

[0025] The positioning method for an inspection drone provided by the present invention performs a rough alignment on a real-time drone local map and a three-dimensional point cloud global map to obtain an initial pose transformation matrix; performs iterative calculation on the initial pose transformation matrix, and when an iterative termination condition is met, obtains an optimal rotation matrix and an optimal translation matrix corresponding to the initial pose transformation matrix; calculates a first pose transformation matrix based on the optimal rotation matrix and the optimal translation matrix, and uses iterative calculation to perform point cloud alignment between the real-time drone local map and the three-dimensional point cloud global map through the three-dimensional point cloud global map, and outputs the first pose transformation matrix relative to the three-dimensional point cloud global map in real time, which provides conditions for subsequent updating of the accumulated error of the laser odometer.

[0026] In an optional embodiment, the real-time UAV local map and the three-dimensional point cloud global map are roughly aligned to obtain the initial pose transformation matrix, which includes:

[0027] Calculate the point cloud overlap area between the real-time UAV local map and the 3D point cloud global map;

[0028] It is determined whether the overlapping area of ​​the point cloud meets the preset threshold. When the preset threshold is met, a manual estimation coarse registration method is used to obtain the initial pose transformation matrix of the real-time UAV local map relative to the 3D point cloud global map.

[0029] The positioning method for an inspection drone provided by the present invention calculates the point cloud overlapping area between a real-time drone local map and a three-dimensional point cloud global map; determines whether the point cloud overlapping area meets a preset threshold, and when the preset threshold is met, uses a manual estimation coarse alignment method to obtain an initial pose transformation matrix of the real-time drone local map relative to the three-dimensional point cloud global map, providing a relatively accurate initial pose transformation matrix for the three-dimensional point cloud global map, providing a good transformation initial value for iterative calculation, and improving the calculation accuracy of the first pose transformation matrix.

[0030] In an optional embodiment, inputting the odometer pose into a preset UAV flight control coordinate system to obtain the real-time pose of the UAV under the three-dimensional point cloud global map includes:

[0031] Input the odometer pose into the preset UAV flight control coordinate system to obtain the second pose transformation matrix;

[0032] The real-time pose of the UAV under the 3D point cloud global map is obtained based on the second pose transformation matrix and the odometry pose.

[0033] The positioning method for an inspection drone provided by the present invention inputs the odometer posture into a preset drone flight control coordinate system to obtain a second posture transformation matrix; based on the second posture transformation matrix and the odometer posture, the real-time posture of the drone under the three-dimensional point cloud global map is obtained, achieving the purpose of real-time updating of the odometer information, and enabling the drone to have the ability of high-precision repeated positioning within the range of the three-dimensional point cloud global map.

[0034] In an optional embodiment, the positioning method of the inspection drone further includes:

[0035] The real-time pose of the UAV under the 3D point cloud global map is input as the observation quantity into the extended Kalman filter to predict and update the UAV pose.

[0036] The positioning method for inspection drones provided by the present invention inputs the real-time posture of the drone under the three-dimensional point cloud global map as the observation quantity into the extended Kalman filter, predicts and updates the drone's posture, and obtains more accurate odometer information through the prediction and update of the drone, thereby improving the accuracy of drone positioning.

[0037] In a second aspect, the present invention provides a positioning device for an inspection drone, the device comprising:

[0038] The acquisition module is used to obtain a real-time UAV local map in the area to be inspected based on a preset lidar coordinate system;

[0039] A generation module is used to map the point cloud data of the inspection area based on a mapping algorithm to generate a three-dimensional point cloud global map;

[0040] Point cloud registration module, used to perform point cloud registration between the real-time UAV local map and the 3D point cloud global map, and obtain the first pose transformation matrix of the UAV local map relative to the 3D point cloud global map;

[0041] An update module is used to update the odometry information in the real-time UAV local map to the 3D point cloud global map based on the first pose transformation matrix, thereby obtaining the real-time odometry pose of the UAV in the 3D point cloud global map.

[0042] The conversion module is used to input the real-time odometer pose into the preset UAV flight control coordinate system to obtain the real-time pose of the UAV under the 3D point cloud global map;

[0043] The positioning module is used to locate the drone based on its real-time posture under the 3D point cloud global map.

[0044] In a third aspect, the present invention provides a computer device comprising: a memory and a processor, the memory and the processor being communicatively connected to each other, the memory storing computer instructions, and the processor executing the computer instructions to execute the positioning method for the inspection drone of the first aspect or any corresponding embodiment thereof.

[0045] In a fourth aspect, the present invention provides a computer-readable storage medium having computer instructions stored thereon, the computer instructions being used to enable a computer to execute the positioning method for an inspection drone according to the first aspect or any corresponding embodiment thereof. BRIEF DESCRIPTION OF THE DRAWINGS

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

[0047] Figure 1 1 is a flow chart of a positioning method for an inspection drone according to an embodiment of the present invention;

[0048] Figure 2 is a flow chart of another positioning method for an inspection drone according to an embodiment of the present invention;

[0049] Figure 3 1 is a flow chart of another method for positioning an inspection drone according to an embodiment of the present invention;

[0050] Figure 4 1 is a flow chart of another method for positioning an inspection drone according to an embodiment of the present invention;

[0051] Figure 5 is a simplified structural diagram of a drone according to an embodiment of the present invention;

[0052] Figure 6 is a side view of the structure of a drone according to an embodiment of the present invention;

[0053] Figure 7 Schematic diagram of a UAV flight control coordinate system, a local map coordinate system, and a global map coordinate system according to an embodiment of the present invention;

[0054] Figure 8 is a schematic diagram of the conversion relationship between the UAV flight control coordinate system, the local map coordinate system, and the global map coordinate system according to an embodiment of the present invention;

[0055] Figure 9 This is a structural block diagram of a positioning device for an inspection drone according to an embodiment of the present invention;

[0056] Figure 10 Schematic diagram of the hardware structure of a computer device according to an embodiment of the present invention. DETAILED DESCRIPTION

[0057] To make the purpose, technical solutions, and advantages of the embodiments of the present invention more clear, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without making creative efforts shall fall within the scope of protection of the present invention.

[0058] According to an embodiment of the present invention, an embodiment of a positioning method for an inspection drone is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.

[0059] In this embodiment, a positioning method for an inspection drone is provided, which can be used for a server. Figure 1 FIG. 1 is a flow chart of a positioning method for an inspection drone according to an embodiment of the present invention. Figure 1 As shown, the process includes the following steps:

[0060] Step S101: Obtain a real-time UAV local map of the area to be inspected based on a preset laser radar coordinate system.

[0061] Specifically, the UAV schematic and side view are as follows: Figure 5 and Figure 6 As shown, Figure 6 In the figure, 1 is the laser radar, 2 is the UAV flight control, and 3 is the UAV onboard computer. First, construct three coordinate systems, such as Figure 7 As shown in the figure, the drone flight control coordinate system body (X``-Y``-Z``), the local map coordinate system local_map (X``-Y`-Z`, also known as the lidar coordinate system), and the global map coordinate system global_map (XYZ). Among them, the drone flight control coordinate system body refers to the coordinate system of the onboard flight control IMU (Inertial Measurement Unit) as the center of the drone flight control coordinate system, the local map coordinate system local_map refers to the coordinate system of the lidar built-in IMU as the local map coordinate system, and the global map coordinate system global_map refers to the coordinate system of the input target point cloud map as the global map coordinate system.

[0062] In this embodiment, the preset LiDAR coordinate system refers to the local map coordinate system (local_map) of the LiDAR's built-in Inertial Measurement Unit (IMU). Using the preset LiDAR coordinate system as a reference, the initial position of the drone within the inspection area can be obtained, thereby determining the real-time local map of the drone.

[0063] Step S102 : Mapping the point cloud data of the inspection area based on a mapping algorithm to generate a three-dimensional point cloud global map.

[0064] Specifically, mapping algorithms are algorithms that use data from sensors like lidar, cameras, and inertial measurement units to build maps and perform positioning through steps like feature point extraction, matching, and optimization. Mapping algorithms are used to construct a map of the point cloud data of the inspection area, generating a global 3D point cloud map.

[0065] Step S103: perform point cloud registration on the real-time UAV local map and the three-dimensional point cloud global map to obtain the first position transformation matrix of the UAV local map relative to the three-dimensional point cloud global map.

[0066] Specifically, point cloud registration refers to the process of aligning and matching two point clouds acquired in different coordinate systems. This involves estimating the spatial transformation relationship between the two point clouds so that they can accurately correspond in space. Point cloud registration is performed on the point cloud in the real-time drone's local map and the point cloud in the 3D point cloud global map to determine the pose relationship of the drone's local map relative to the 3D point cloud global map. This pose relationship is represented by the first pose transformation matrix.

[0067] Step S104: Based on the first pose transformation matrix, the odometer information in the real-time UAV local map is updated to the three-dimensional point cloud global map to obtain the real-time odometer pose of the UAV in the three-dimensional point cloud global map.

[0068] Specifically, odometry information includes the position and direction of the drone's trajectory, representing the drone's pose. Based on the first pose transformation matrix, the odometry information in the real-time drone local map is updated to the 3D point cloud global map. This results in the drone's real-time odometry pose in the 3D point cloud global map, which is then output as the drone's odometry information in the 3D point cloud global map.

[0069] In step S105 , the real-time odometer position and posture are input into a preset UAV flight control coordinate system to obtain the real-time position and posture of the UAV under the three-dimensional point cloud global map.

[0070] Specifically, the real-time odometer posture is input into the preset UAV flight control coordinate system, that is, the real-time odometer posture of the UAV in the three-dimensional point cloud global map is converted into the real-time posture of the UAV flight control coordinate system. The obtained real-time posture of the UAV under the three-dimensional point cloud global map can reflect the current true posture of the UAV under the three-dimensional point cloud global map.

[0071] Step S106: Positioning the UAV based on the real-time posture of the UAV in the three-dimensional point cloud global map.

[0072] Specifically, when the real-time position of the UAV under the three-dimensional point cloud global map is obtained, the UAV in the inspection area can be positioned in real time.

[0073] The positioning method of the inspection drone provided in this embodiment obtains a real-time drone local map based on a preset laser radar coordinate system in the area to be inspected, and builds an integrated map of the area to be inspected to generate a high-precision three-dimensional point cloud global map. Based on this map, the real-time drone local map and the three-dimensional point cloud global map are point cloud aligned to obtain the first position transformation matrix of the drone local map relative to the three-dimensional point cloud global map. Based on the first position transformation matrix, the accumulated error of the laser inertial odometry is corrected, so that the drone has the ability to repeatedly position itself with high precision within the range of the three-dimensional point cloud global map, thereby solving the problem that the position error of the laser inertial odometry continuously accumulates, making it difficult to achieve long-term real-time positioning and repeated positioning.

[0074] In this embodiment, a positioning method for an inspection drone is provided, which can be used for a server. Figure 2 FIG. 1 is a flow chart of a positioning method for an inspection drone according to an embodiment of the present invention. Figure 2 As shown, the process includes the following steps:

[0075] Step S201: Obtain a real-time UAV local map of the area to be inspected based on a preset laser radar coordinate system.

[0076] Specifically, the above step S201 includes:

[0077] Step S2011: Use a laser radar to scan the initial position of the drone in the area to be inspected to obtain the current odometer information of the drone.

[0078] Specifically, the initial position of the UAV in the inspection area is provided by the Lidar Inertial Odometry. The initial position data of the UAV is the UAV three-axis position and the UAV attitude quaternion (Px, Py, Pz, q x ,q y ,q z ,w). Among them, Px, Py, and Pz are the positions of the drone on the x-axis, y-axis, and z-axis respectively, and q x ,q y ,q z , w are the UAV attitude quaternions (a quaternion is a numerical system of extended complex numbers consisting of one real part and three imaginary parts). The laser inertial odometry primarily integrates a lidar and an inertial measurement unit (IMU). It senses the surrounding environment and changes in the UAV's posture in real time, and is derived through the corresponding algorithm analysis. The corresponding algorithm can be referenced in related technologies and will not be detailed here. For example, after IMU and lidar data preprocessing, initial alignment, state estimation, and filter optimization, the initial attitude variables of the UAV are output.

[0079] Start the laser inertial odometry in the area to be inspected, and use the lidar in the laser inertial odometry to scan the initial position of the drone in the area to be inspected. The drone outputs the current odometry information of the drone based on the lidar coordinate system (local_map, i.e., the local map coordinate system). The initial point of the odometry information is P0 = (0, 0, 0, 0, 0, 1).

[0080] Step S2012: Generate a real-time UAV local map using the current odometer information initial point as the origin of the preset lidar coordinate system.

[0081] Specifically, the initial point P0 = (0, 0, 0, 0, 0, 1) of the current odometer information of the drone is used as the origin of the lidar coordinate system, and a real-time drone local map is output. The real-time drone local map is a local map composed of point cloud data PointCloud2 with the data type of "x, y, z, intensity", and is a local map based on the odometer. l (local_map), the output frequency of the real-time drone local map is usually 10Hz.

[0082] Step S202 : Mapping the point cloud data of the inspection area based on a mapping algorithm to generate a three-dimensional point cloud global map.

[0083] Specifically, the above step S202 includes:

[0084] Step S2021: Use laser radar scanning to obtain point cloud data of the area to be inspected.

[0085] Specifically, a laser radar is used to perform point cloud scanning on the area to be inspected at a scanning frequency of 10 Hz to 100 Hz and the point cloud data is saved.

[0086] Step S2022: Map the point cloud data based on a mapping algorithm to generate a three-dimensional point cloud global map.

[0087] Specifically, the laser SLAM (Simulataneous Localization and Mapping, referred to as SLAM) mapping algorithm is used to map the point cloud data of the inspection area to generate an accurate three-dimensional point cloud global map P g (global_map), the mapping algorithm can be constructed in real time or in an offline post-processing mode. After the mapping is completed, it is output in the form of a Robot Operating System (ROS) topic, that is, a 3D point cloud global map P g(global_map) Outputs map data in PointCloud2 format, typically using the "x, y, z, intensity" data type.

[0088] Step S203: perform point cloud registration on the real-time UAV local map and the 3D point cloud global map to obtain the first pose transformation matrix of the UAV local map relative to the 3D point cloud global map. Figure 1 Step S103 of the illustrated embodiment will not be described in detail here.

[0089] Step S204: Update the odometry information in the real-time UAV local map to the 3D point cloud global map based on the first pose transformation matrix to obtain the real-time odometry pose of the UAV in the 3D point cloud global map. Figure 1 Step S104 of the illustrated embodiment will not be described in detail here.

[0090] Step S205: Input the real-time odometer position into the preset UAV flight control coordinate system to obtain the real-time position of the UAV under the 3D point cloud global map. Figure 1 Step S105 of the illustrated embodiment will not be described in detail here.

[0091] Step S206: Position the UAV based on its real-time position and posture under the 3D point cloud global map. Figure 1 Step S106 of the illustrated embodiment will not be described in detail here.

[0092] The positioning method for inspection drones provided in this embodiment uses a laser radar to scan the initial position of the drone in the area to be inspected to obtain the drone's current odometer information. Using the initial point of the current odometer information as the origin of a preset laser radar coordinate system, a real-time drone local map is generated, describing the drone's position in the preset laser radar coordinate system. This achieves the purpose of generating a real-time drone local map and provides conditions for point cloud registration between the local map and the global map. Laser radar scanning is used to obtain point cloud data of the area to be inspected. Based on a mapping algorithm, the point cloud data is mapped to generate a three-dimensional point cloud global map, achieving the purpose of generating a high-precision three-dimensional point cloud global map through integrated mapping of the point cloud data of the inspection area.

[0093] In this embodiment, a positioning method for an inspection drone is provided, which can be used for a server. Figure 3 FIG. 1 is a flow chart of a positioning method for an inspection drone according to an embodiment of the present invention. Figure 3 As shown, the process includes the following steps:

[0094] Step S301: Obtain a real-time UAV local map of the area to be inspected based on a preset laser radar coordinate system. Figure 2 Step S201 of the illustrated embodiment will not be described in detail here.

[0095] Step S302: Map the point cloud data of the inspection area based on the mapping algorithm to generate a 3D point cloud global map. Figure 2 Step S202 of the illustrated embodiment will not be described in detail here.

[0096] Step S303: perform point cloud registration on the real-time UAV local map and the 3D point cloud global map to obtain the first pose transformation matrix of the UAV local map relative to the 3D point cloud global map.

[0097] Specifically, the above step S303 includes:

[0098] Step S3031: perform coarse registration on the real-time UAV local map and the 3D point cloud global map to obtain an initial pose transformation matrix.

[0099] In some optional implementations, step S3031 includes:

[0100] Step a1: Calculate the point cloud overlap area between the real-time UAV local map and the 3D point cloud global map.

[0101] Specifically, the point cloud data of the real-time UAV local map and the point cloud data of the 3D point cloud global map are counted, and the total number of point cloud data is calculated as the target point count. The correspondence between the point cloud data of the real-time UAV local map and the point cloud data of the 3D point cloud global map is determined. The fitness of the point cloud overlap area can be obtained by dividing the number of corresponding point cloud data by the total number of point clouds. The calculation formula for the fitness of the point cloud overlap area and the point cloud correspondence is as follows:

[0102] Fitness = number of point cloud data correspondences / number of target points

[0103]

[0104] Among them, l i ={l1,l2,...,l n} represents the point cloud P in the real-time UAV local map l (local_map), g i ={g1,g2,...,g n} represents the point cloud P in the 3D point cloud global map g (global map );N L is the total number of points in the local map point cloud L, i is the index variable, i=1: indicates that the initial value of the index is 1; R represents the rotation matrix, and t represents the translation matrix.

[0105] In step a2, it is determined whether the overlapping area of ​​the point cloud meets the preset threshold. If the preset threshold is met, a manual estimation coarse registration method is used to obtain the initial pose transformation matrix of the real-time UAV local map relative to the 3D point cloud global map.

[0106] Specifically, when the mapping algorithm is started, the origin of the LiDAR's built-in IMU coordinate system is located at the origin of the coordinate system of the 3D point cloud global map (global_map). When positioning the drone, the drone's position in the real environment is consistent with the origin of the 3D point cloud global map coordinate system. Its role is to provide a relatively accurate initial pose transformation matrix for local map matching. Where R0 represents the initial rotation matrix and t0 represents the initial translation matrix.

[0107] Manual estimation can be provided by using the ROS (Robot Operating System) visualization interface RVIZ (Robot Visualization tool, a platform for three-dimensional visualization of robot systems) to provide a rough manual estimate. The data type of the initial pose transformation matrix is ​​the three-axis position of the drone (p x ,p y ,p z ) and Euler angles (roll, pitch, and yaw). In this embodiment, the initial pose of the real-time drone's local map within the 3D point cloud global map is manually estimated. Initialization is successful when the pose estimation accuracy meets a preset threshold.

[0108] During the initialization process, the pose estimation accuracy is quantified by the fitness value of the point cloud overlap area. The preset threshold is set to 0.95. When fitness>=0.95, it means that the pose initialization is successful, and the initial pose transformation matrix is ​​obtained. Translation matrix t0 = [p x0 p y0 p z0 ], the rotation matrix R0 is obtained by the Euler angle-rotation matrix transformation formula, which is as follows:

[0109]

[0110] Among them, α, β, and γ correspond to the roll angle (yaw), pitch angle (pitch), and yaw angle (roll) in Euler angles respectively.

[0111] Through the above Euler angle-rotation matrix transformation formula, the position relationship of the real-time drone local map (lobal_map) relative to the three-dimensional point cloud global map (global_map) is converted into the initial transformation matrix

[0112] The positioning method for the inspection drone provided in this embodiment calculates the point cloud overlapping area between the real-time drone local map and the three-dimensional point cloud global map; determines whether the point cloud overlapping area meets a preset threshold, and when the preset threshold is met, uses a manual estimation coarse alignment method to obtain the initial pose transformation matrix of the real-time drone local map relative to the three-dimensional point cloud global map, providing a relatively accurate initial pose transformation matrix for the three-dimensional point cloud global map, providing a good transformation initial value for iterative calculation, and improving the calculation accuracy of the first pose transformation matrix.

[0113] Step S3032, iteratively calculate the initial posture transformation matrix, and when the iteration termination condition is met, obtain the optimal rotation matrix and the optimal translation matrix corresponding to the initial posture transformation matrix.

[0114] Specifically, after the coarse registration is completed, the point cloud registration algorithm (Iterative Closest Point, ICP) is used to perform global map matching of the 3D point cloud to obtain a relatively accurate transformation matrix T1(R1, t1). T1(R1, t1) is iteratively calculated to obtain the optimal rotation matrix R k and the optimal translation matrix t k .

[0115] Optimal rotation matrix R k and the optimal translation matrix t k The solution process is as follows:

[0116] First, calculate the centroid of the two point clouds of the real-time drone local map and the 3D point cloud global map:

[0117]

[0118] Among them, μ l is the point cloud centroid of the real-time UAV local map, μ g is the point cloud centroid of the 3D point cloud global map, N l 、N g are the total number of point clouds of the real-time UAV local map and the 3D point cloud global map, respectively. i 、g i They are point cloud data of real-time UAV local map and 3D point cloud global map respectively.

[0119] Original point cloud minus the centroid:

[0120]

[0121] in, Represents the local map point cloud after removing the centroid, Represents the global map point cloud after removing the centroid.

[0122] Transform formula (1) and convert it into a form without the centroid:

[0123]

[0124] Let μ l -Rμ g -t=0:

[0125]

[0126] Since the rotation matrix R is an orthogonal matrix, that is, R T R=0, remove irrelevant terms and simplify to get:

[0127]

[0128] Minimizing E(R,t) is equivalent to:

[0129]

[0130] Expressed as the trace of a matrix:

[0131]

[0132] Perform SVD decomposition (Singular Value Decomposition) on H:

[0133] H=UΔV T (17);

[0134] Set the variable X:

[0135] X=VU T (18);

[0136] XH=VU T UΔV T =VΔV T (19);

[0137] R=X=VU T (20);

[0138] t=μ l -Rμ g (twenty one);

[0139] Formula (20) and formula (21) are iterated and the optimal rotation matrix R is obtained after each iteration. k and the optimal translation matrix t k, and then apply this transformation to the current source point cloud to continue solving the optimal rotation matrix R and the optimal translation matrix t, and continue iterating until the iteration termination conditions "fitness>=0.95" and "maximum number of iterations 20" are met.

[0140] Step S3033: Calculate the first pose transformation matrix based on the optimal rotation matrix and the optimal translation matrix.

[0141] Specifically, the optimal rotation matrix R k and the optimal translation matrix t k Combine to get the first pose transformation matrix

[0142] The positioning method for the inspection drone provided in this embodiment performs a rough alignment between the real-time drone local map and the three-dimensional point cloud global map to obtain an initial pose transformation matrix; the initial pose transformation matrix is ​​iteratively calculated, and when the iteration termination condition is met, the optimal rotation matrix and the optimal translation matrix corresponding to the initial pose transformation matrix are obtained; the first pose transformation matrix is ​​calculated based on the optimal rotation matrix and the optimal translation matrix, and the point cloud alignment of the real-time drone local map and the three-dimensional point cloud global map is performed using iterative calculation through the three-dimensional point cloud global map, and the first pose transformation matrix relative to the three-dimensional point cloud global map is output in real time, which provides conditions for the subsequent update of the accumulated error of the laser odometry.

[0143] Step S304: Based on the first pose transformation matrix, the odometer information in the real-time UAV local map is updated to the three-dimensional point cloud global map to obtain the real-time odometer pose of the UAV in the three-dimensional point cloud global map.

[0144] Specifically, if Figure 8 As shown, first update the coordinate system of the real-time drone local map to the coordinate system of the 3D point cloud global map. The formula is as follows:

[0145]

[0146] Secondly, the odometer information in the coordinate system of the real-time drone local map is updated to the coordinate system of the 3D point cloud global map. The formula is as follows:

[0147]

[0148] Among them: global The real-time odometer position of the UAV in the 3D point cloud global map, is the first pose transformation matrix, F local_map Real-time drone local map, O local It is the odometry information in the real-time UAV local map.

[0149] Finally, the real-time odometer position of the UAV in the 3D point cloud global map is obtained.

[0150] In step S305 , the real-time odometer position and posture are input into a preset UAV flight control coordinate system to obtain the real-time position and posture of the UAV under the three-dimensional point cloud global map.

[0151] Specifically, the above step S305 includes:

[0152] Step S3051: Input the odometer posture into the preset UAV flight control coordinate system to obtain a second posture transformation matrix.

[0153] Specifically, when the first pose transformation matrix of the lidar in the global map coordinate system is obtained It is also necessary to further optimize the pose conversion to the UAV flight control coordinate system (body), that is, to obtain the second pose transformation matrix T body_to_local .

[0154] Step S3052: Obtain the real-time pose of the UAV under the three-dimensional point cloud global map based on the second pose transformation matrix and the odometer pose.

[0155] Specifically, the UAV flight control is deployed at the center of the UAV body. Its posture and position can more realistically reflect the UAV's current real posture under the 3D point cloud global map. When the lidar and UAV flight control are installed in the hardware, based on the second posture transformation matrix T body_to_local The real-time pose of the UAV under the 3D point cloud global map is obtained using the following formula:

[0156] O body =T body_to_local *O global (twenty four);

[0157]

[0158] Among them, O body It is the real-time pose of the UAV under the global 3D point cloud map.

[0159] The positioning method for the inspection drone provided in this embodiment inputs the odometer posture into a preset drone flight control coordinate system to obtain a second posture transformation matrix; based on the second posture transformation matrix and the odometer posture, the real-time posture of the drone under the three-dimensional point cloud global map is obtained, achieving the purpose of real-time updating of the odometer information, and enabling the drone to have high-precision repeated positioning capabilities within the range of the three-dimensional point cloud global map.

[0160] Step S306: Position the UAV based on its real-time position and orientation under the 3D point cloud global map. Figure 2 Step S206 of the illustrated embodiment will not be described in detail here.

[0161] In step S307, the real-time posture of the UAV under the 3D point cloud global map is input as an observation into the extended Kalman filter to predict and update the posture of the UAV.

[0162] Specifically, when the positioning information based on global map matching is updated to the UAV flight control coordinate system (body), the position information is added as an observation to the Extended Kalman Filter (EKF) to further estimate and update the UAV's posture. The relevant state quantities are as follows:

[0163] x 24x1 =[q, v, p, Δθ b , Δv b , m NED , m b , v wind ] T

[0164] Among them, x 24x1 is the state quantity, q is the rotation vector quaternion from the NED coordinate system (the world coordinate system of North, East, Down) to the drone coordinate system Body, v is the body velocity in the NED system; P is the body position in the 3D point cloud global map coordinate system (global_map); m NED is the magnetic field vector of the Earth in the NED coordinate system; v wind is the wind speed in the northeast direction;

[0165] After prediction and update by the extended Kalman filter EKF, more accurate odometer data is obtained. body .

[0166] The positioning method for the inspection drone provided in this embodiment inputs the real-time position and posture of the drone under the three-dimensional point cloud global map as the observation quantity into the extended Kalman filter, predicts and updates the drone's position and posture. After the prediction and update of the drone, more accurate odometer information is obtained, thereby improving the accuracy of drone positioning.

[0167] As one or more specific application embodiments of the present invention, Figure 4 The positioning method of the inspection drone of this embodiment is further described as follows:

[0168] The positioning method process of the inspection drone is as follows Figure 4 Shown, including:

[0169] 1. Build a coordinate system:

[0170] Identify three main coordinate systems, such as Figure 7As shown in the figure, it includes the drone flight control coordinate system body, the local map coordinate system local_map (also known as the lidar coordinate system), and the global map coordinate system global_map. Among them, the drone flight control coordinate system body refers to the coordinate system of the onboard flight control IMU (Inertial Measurement Unit) as the center of the drone flight control coordinate system, the local map coordinate system local_map refers to the coordinate system of the lidar built-in IMU as the local map coordinate system, and the global map coordinate system global_map refers to the coordinate system of the input target point cloud map as the global map coordinate system.

[0171] 2. Get the initial position of the drone:

[0172] The initial position of the drone is provided by the Lidar Iternal Odometry, and the data content is the drone's three-axis position and the drone's attitude quaternion (Px, Py, Pz, q x ,q y ,q z The laser inertial odometry system primarily integrates a lidar and an inertial measurement unit (IMU) to sense the surrounding environment and changes in the aircraft's posture in real time, which are then analyzed using a corresponding algorithm. The LIO node is activated within the inspection area. The drone outputs odometry information based on the lidar coordinate system (local_map), with the initial odometry point being P0 = (0, 0, 0, 0, 0, 1).

[0173] The initial point P0 = (0, 0, 0, 0, 0, 1) of the current odometer information of the drone is used as the origin of the lidar coordinate system, and the real-time drone local map is output. The real-time drone local map is the point cloud data PointCloud2 with the data type of "x, y, z, intensity" and is the local map P based on the odometer. l (local_map), the real-time drone local map output frequency is usually 10Hz. The real-time drone local map data will be used for point cloud registration with the 3D point cloud global map.

[0174] 3. Load the global map:

[0175] The laser radar scans the inspection area at a scanning frequency of 10Hz to 100Hz and saves the point cloud data. Based on the laser SLAM (Simulataneous Localization and Mapping, SLAM) mapping algorithm, the point cloud data of the inspection area is mapped to generate an accurate 3D point cloud global map P g(global_map), the mapping algorithm can be constructed in real time or in an offline post-processing mode. After the mapping is completed, it is output in the form of a Robot Operating System (ROS) topic, that is, a 3D point cloud global map P g (global_map) Outputs map data in PointCloud2 format, typically using the "x, y, z, intensity" data type.

[0176] 4. Pose initialization:

[0177] The initialized pose is the relatively accurate actual pose of the origin of the real-time drone's local map coordinate system (local_map) in the three-dimensional point cloud global map (global_map). In this embodiment, when the mapping algorithm is started, the origin of the coordinate system of the lidar's built-in IMU is the origin of the coordinate system of the three-dimensional point cloud global map (global_map). When positioning the drone, the drone's position in the real environment is as consistent as possible with the origin of the coordinate system of the global map. Its role is to provide a relatively accurate initial pose transformation matrix for local map matching.

[0178] Manual estimation can be provided by using the ROS (Robot Operating System) visualization interface RVIZ (Robot Visualization tool, a platform for three-dimensional visualization of robotic systems) to provide a rough manual estimate. The data type is the three-axis position of the drone (p x , p y , p z ) and Euler angles "roll, pitch, and yaw". In this embodiment, the initialization pose of the real-time drone local map in the three-dimensional point cloud global map is provided by manual estimation. When the pose estimation accuracy meets the preset threshold range, it means that the initialization is successful. The pose estimation accuracy is quantified by the fitness value of the point cloud overlap area. The preset threshold is set to 0.95. When fitness>=0.95, it means that the pose initialization is successful, and the initial pose transformation matrix is ​​obtained. Translation matrix t0 = [p x0 p y0 p z0 ], the rotation matrix R0 is obtained by the Euler angle-rotation matrix transformation formula (2).

[0179] The Euler angle-rotation matrix transformation formula is used to convert the position relationship of the real-time UAV local map (lobal_map) relative to the 3D point cloud global map (global_map) into the initial transformation matrix. Will Substitute E(R, t) into formula (1) to calculate it. When the value of E(R, t) is within the allowed range, it means that the initialization is successful and then enters the global map matching stage.

[0180] 5. Global map matching:

[0181] The core point of global map matching lies in point cloud registration, which is achieved by scanning the real-time point cloud data P at 10HZ-100HZ in the laser radar coordinate system. l (local_map) and accurate 3D point cloud global map point cloud data P g (global_map) is registered and the output is P l to P g After the coarse registration in step 4 is completed, the ICP point cloud registration algorithm (Iterative Closest Point algorithm) is used to perform global map matching of the 3D point cloud to obtain a relatively accurate transformation matrix T1(R1, t1). T1(R1, t1) is iteratively calculated until the iteration termination conditions "fitness>=0.95" and "maximum number of iterations 20" are met, and the optimal rotation matrix R is obtained. k and the optimal translation matrix t k .

[0182] 6. Update odometer:

[0183] First, update the coordinate system of the real-time drone local map to the coordinate system of the 3D point cloud global map. The formula is as follows:

[0184]

[0185] Secondly, the odometer information in the coordinate system of the real-time drone local map is updated to the coordinate system of the 3D point cloud global map. The formula is as follows:

[0186]

[0187] Among them: global The real-time odometer position of the UAV in the 3D point cloud global map, is the first pose transformation matrix, F local_map Real-time drone local map, O local It is the odometry information in the real-time UAV local map.

[0188] Finally, the real-time odometer position of the UAV in the 3D point cloud global map is obtained.

[0189] 7. Input UAV flight control:

[0190] When the first pose transformation matrix of the laser radar in the global map coordinate system is obtained It is also necessary to further optimize the pose conversion to the UAV flight control coordinate system (body), that is, to obtain the second pose transformation matrix T body_to_local The UAV flight control is deployed at the center of the UAV body. Its posture and position can more realistically reflect the UAV's current real posture under the 3D point cloud global map. When the LiDAR and UAV flight control are installed in the hardware, based on the second posture transformation matrix T body_to_local The real-time pose of the UAV under the 3D point cloud global map is obtained using the following formula:

[0191] O body =T body_to_local *O global (twenty four);

[0192]

[0193] Among them, O body It is the real-time pose of the UAV under the global 3D point cloud map.

[0194] The positioning method for the inspection drone provided in this embodiment generates a high-precision global point cloud map by mapping the inspection area in an integrated manner. Based on this map, the iterative closest point algorithm ICP (Iterative Closest Point) is used to align the point clouds of the local map and the global map, and the position of the laser inertial odometry relative to the global map is updated to achieve high-precision and repeated positioning of the drone within the global map.

[0195] This embodiment also provides a positioning device for an inspection drone, which is used to implement the above-mentioned embodiments and preferred embodiments. Details that have already been described will not be repeated. As used below, the term "module" may refer to a combination of software and / or hardware that implements a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, implementation using hardware, or a combination of software and hardware, is also possible and contemplated.

[0196] This embodiment provides a positioning device for an inspection drone, such as Figure 9 Shown, including:

[0197] The acquisition module 901 is used to obtain a real-time UAV local map in the area to be inspected based on a preset laser radar coordinate system.

[0198] The generation module 902 is used to map the point cloud data of the inspection area based on a mapping algorithm to generate a three-dimensional point cloud global map.

[0199] The point cloud registration module 903 is used to perform point cloud registration on the real-time UAV local map and the 3D point cloud global map to obtain the first pose transformation matrix of the UAV local map relative to the 3D point cloud global map;

[0200] The updating module 904 is used to update the odometer information in the real-time UAV local map to the three-dimensional point cloud global map based on the first pose transformation matrix, and obtain the real-time odometer pose of the UAV in the three-dimensional point cloud global map.

[0201] The conversion module 905 is used to input the real-time odometer posture into the preset UAV flight control coordinate system to obtain the real-time posture of the UAV under the three-dimensional point cloud global map.

[0202] The positioning module 906 is used to locate the UAV based on the real-time posture of the UAV in the three-dimensional point cloud global map.

[0203] In some optional implementations, the acquisition module 901 includes:

[0204] The first scanning unit is used to use a laser radar to scan the initial position of the UAV in the area to be inspected to obtain the current odometer information of the UAV.

[0205] The first generating unit is used to generate a real-time UAV local map using the initial point of the current odometer information as the origin of the preset lidar coordinate system.

[0206] In some optional implementations, the generating module 902 includes:

[0207] The second scanning unit is used to obtain point cloud data of the area to be inspected by using a laser radar scan.

[0208] The second generating unit is used to map the point cloud data based on a mapping algorithm to generate a three-dimensional point cloud global map.

[0209] In some optional implementations, the point cloud registration module 903 includes:

[0210] The registration unit is used to coarsely register the real-time UAV local map with the 3D point cloud global map to obtain the initial pose transformation matrix.

[0211] The iterative unit is used to iteratively calculate the initial posture transformation matrix. When the iteration termination condition is met, the optimal rotation matrix and the optimal translation matrix corresponding to the initial posture transformation matrix are obtained.

[0212] The calculation unit is used to calculate the first pose transformation matrix based on the optimal rotation matrix and the optimal translation matrix.

[0213] In some optional embodiments, the registration unit includes:

[0214] The computing subunit is used to calculate the point cloud overlap area between the real-time UAV local map and the three-dimensional point cloud global map.

[0215] The registration subunit is used to determine whether the overlapping area of ​​the point cloud meets the preset threshold. When the preset threshold is met, a manual estimation coarse registration method is used to obtain the initial pose transformation matrix of the real-time UAV local map relative to the 3D point cloud global map.

[0216] In some optional implementations, the conversion module 905 includes:

[0217] The input unit is used to input the odometer posture into the preset UAV flight control coordinate system to obtain the second posture transformation matrix.

[0218] The computing unit is used to obtain the real-time posture of the UAV under the three-dimensional point cloud global map based on the second posture transformation matrix and the odometry posture.

[0219] In some optional embodiments, the positioning device of the inspection drone further includes:

[0220] The prediction and update module is used to input the real-time posture of the UAV under the 3D point cloud global map as the observation quantity into the extended Kalman filter to predict and update the UAV posture.

[0221] The further functional description of each of the above modules and units is the same as that of the above corresponding embodiments and will not be repeated here.

[0222] The positioning device of the inspection drone in this embodiment is presented in the form of a functional unit, where the unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and memory that executes one or more software or fixed programs, and / or other devices that can provide the above functions.

[0223] The embodiment of the present invention also provides a computer device having the above Figure 9 The positioning device of the inspection drone shown.

[0224] See also Figure 10 , Figure 10 is a structural diagram of a computer device provided by an optional embodiment of the present invention, such as Figure 10As shown, the computer device includes: one or more processors 10, memory 20, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. Various components utilize different buses to communicate with each other and can be installed on a common mainboard or installed in other ways as needed. The processor can process the instructions executed in the computer device, including instructions stored in the memory or on the memory to display the graphical information of the GUI on an external input / output device (such as, a display device coupled to the interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Equally, multiple computer devices can be connected, and each device provides part of the necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Figure 10 A processor 10 is taken as an example.

[0225] The processor 10 may be a central processing unit, a network processor, or a combination thereof. The processor 10 may further include a hardware chip. The hardware chip may be an application-specific integrated circuit, a programmable logic device, or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable gate array, a general purpose array logic, or any combination thereof.

[0226] The memory 20 stores instructions that can be executed by at least one processor 10, so that the at least one processor 10 executes the method shown in the above embodiment.

[0227] The memory 20 may include a program storage area and a data storage area, wherein the program storage area may store an operating system and application programs required for at least one function; the data storage area may store data created based on the use of the computer device, etc. In addition, the memory 20 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some optional embodiments, the memory 20 may optionally include a memory remotely located relative to the processor 10, and these remote memories may be connected to the computer device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0228] The memory 20 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid-state drive; the memory 20 may also include a combination of the above types of memory.

[0229] The computer device further includes an input device 30 and an output device 40. The processor 10, the memory 20, the input device 30 and the output device 40 may be connected via a bus or other means. Figure 10 The bus connection is taken as an example.

[0230] The input device 30 can receive input digital or character information and generate key signal input related to user settings and function control of the computer device, such as a touch screen, a keypad, a mouse, a trackpad, a touch pad, an indicator stick, one or more mouse buttons, a trackball, a joystick, etc. The output device 40 can include a display device, an auxiliary lighting device (e.g., an LED), and a tactile feedback device (e.g., a vibration motor). The above-mentioned display device includes but is not limited to a liquid crystal display, a light emitting diode, a display, and a plasma display. In some optional embodiments, the display device can be a touch screen.

[0231] The embodiment of the present invention also provides a computer-readable storage medium. The above-mentioned method according to the embodiment of the present invention can be implemented in hardware, firmware, or implemented as a computer code that can be recorded in a storage medium, or implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and downloaded through a network and will be stored in a local storage medium, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid-state drive, etc.; further, the storage medium can also include a combination of the above-mentioned types of memory. It can be understood that a computer, a processor, a microprocessor controller or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor or hardware, the method shown in the above embodiment is implemented.

[0232] Although the embodiments of the present invention have been described with reference to the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present invention. Such modifications and variations are all within the scope defined by the appended claims.

Claims

1. A positioning method for an inspection drone, characterized in that: The method comprises: Obtain a real-time drone local map of the area to be inspected based on the preset lidar coordinate system; Map the point cloud data of the inspection area based on the mapping algorithm to generate a three-dimensional point cloud global map; Performing point cloud registration on the real-time UAV local map and the three-dimensional point cloud global map to obtain a first pose transformation matrix of the UAV local map relative to the three-dimensional point cloud global map; Based on the first pose transformation matrix, the odometry information in the real-time UAV local map is updated to the three-dimensional point cloud global map to obtain the real-time odometry pose of the UAV in the three-dimensional point cloud global map; Input the real-time odometer position into the preset UAV flight control coordinate system to obtain the real-time position of the UAV under the three-dimensional point cloud global map; Positioning the UAV based on the real-time pose of the UAV under the three-dimensional point cloud global map; Performing point cloud registration on the real-time UAV local map and the three-dimensional point cloud global map to obtain the first pose transformation matrix of the UAV local map relative to the three-dimensional point cloud global map includes: Performing coarse registration on the real-time UAV local map and the three-dimensional point cloud global map to obtain an initial pose transformation matrix; Iteratively calculating the initial posture transformation matrix, and when an iteration termination condition is met, obtaining an optimal rotation matrix and an optimal translation matrix corresponding to the initial posture transformation matrix; The first pose transformation matrix is ​​calculated based on the optimal rotation matrix and the optimal translation matrix; The real-time UAV local map is roughly aligned with the 3D point cloud global map to obtain the initial pose transformation matrix including: Calculate the point cloud overlap area between the real-time UAV local map and the 3D point cloud global map; the calculation formula for the point cloud overlap area and the point cloud correspondence relationship is as follows: Fitness = number of point cloud data correspondences / number of target points; Among them, l i ={l1,l2,...,l n } represents the point cloud P in the real-time UAV local map l (local_map), g i ={g1,g2,...,g n } represents the point cloud P in the 3D point cloud global map g (global map );N L is the total number of points in the local map point cloud L, i is the index variable, i=1: indicates that the initial value of the index is 1; R represents the rotation matrix, t represents the translation matrix; Determine whether the point cloud overlap area meets the preset threshold. When the preset threshold is met, use manual estimation and rough registration to obtain the initial pose transformation matrix of the real-time UAV local map relative to the three-dimensional point cloud global map; the initial pose transformation matrix is Where R0 represents the initial rotation matrix and t0 represents the initial translation matrix.

2. The method according to claim 1, characterized in that The method of obtaining a real-time UAV local map in the area to be inspected based on a preset laser radar coordinate system includes: Use LiDAR to scan the initial position of the UAV in the inspection area to obtain the current odometer information of the UAV; The current odometer information initial point is used as the origin of the preset lidar coordinate system to generate a real-time drone local map.

3. The method according to claim 1, characterized in that The method of mapping the point cloud data of the inspection area based on the mapping algorithm to generate a three-dimensional point cloud global map includes: Use laser radar scanning to obtain point cloud data of the area to be inspected; Map the point cloud data based on the mapping algorithm to generate a three-dimensional point cloud global map.

4. The method according to claim 1, wherein The odometer pose is input into the preset UAV flight control coordinate system to obtain the real-time pose of the UAV under the three-dimensional point cloud global map. Inputting the odometer pose into a preset UAV flight control coordinate system to obtain a second pose transformation matrix; The real-time pose of the UAV under the three-dimensional point cloud global map is obtained based on the second pose transformation matrix and the odometer pose.

5. The method according to claim 1, wherein The method further comprises: The real-time pose of the UAV under the three-dimensional point cloud global map is input as the observation quantity into the extended Kalman filter to predict and update the UAV pose.

6. A positioning device for an inspection drone, characterized in that: The device comprises: The acquisition module is used to obtain a real-time UAV local map in the area to be inspected based on a preset lidar coordinate system; A generation module is used to map the point cloud data of the inspection area based on a mapping algorithm to generate a three-dimensional point cloud global map; A point cloud registration module is used to perform point cloud registration on the real-time UAV local map and the three-dimensional point cloud global map to obtain a first pose transformation matrix of the UAV local map relative to the three-dimensional point cloud global map; An updating module, configured to update the odometry information in the real-time UAV local map to the three-dimensional point cloud global map based on the first pose transformation matrix, thereby obtaining the real-time odometry pose of the UAV in the three-dimensional point cloud global map; A conversion module is used to input the real-time odometer pose into a preset UAV flight control coordinate system to obtain the real-time pose of the UAV under the three-dimensional point cloud global map; A positioning module, configured to locate the UAV based on the UAV's real-time pose under the three-dimensional point cloud global map; The point cloud registration module includes: The registration unit is used to roughly register the real-time UAV local map with the 3D point cloud global map to obtain the initial pose transformation matrix; The iterative unit is used to iteratively calculate the initial posture transformation matrix. When the iteration termination condition is met, the optimal rotation matrix and the optimal translation matrix corresponding to the initial posture transformation matrix are obtained; A calculation unit, configured to calculate a first pose transformation matrix based on an optimal rotation matrix and an optimal translation matrix; The registration unit includes: The calculation subunit is used to calculate the point cloud overlap area between the real-time UAV local map and the 3D point cloud global map. The calculation formula of the point cloud overlap area and the point cloud correspondence relationship is as follows: Fitness = number of point cloud data correspondences / number of target points; Among them, l i ={l1,l2,...,l n } represents the point cloud P in the real-time UAV local map l (local_map), g i ={g1,g2,...,g n } represents the point cloud P in the 3D point cloud global map g (global map );N L is the total number of points in the local map point cloud L, i is the index variable, i=1: indicates that the initial value of the index is 1; R represents the rotation matrix, t represents the translation matrix; The registration subunit is used to determine whether the overlapping area of ​​the point cloud meets the preset threshold. When the preset threshold is met, a manual estimation rough registration method is used to obtain the initial pose transformation matrix of the real-time UAV local map relative to the 3D point cloud global map; the initial pose transformation matrix is Where R0 represents the initial rotation matrix and t0 represents the initial translation matrix.

7. A computer device, characterized in that: include: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the positioning method of the inspection drone according to any one of claims 1 to 5 by executing the computer instructions.

8. A computer-readable storage medium, characterized in that The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the positioning method for an inspection drone according to any one of claims 1 to 5.