Method, device and equipment for detecting horizontal surface environment degradation and medium
By detecting degradation in the horizontal environment, using point cloud maps to calculate normal vectors and feature decomposition, determining the degradation direction and ignoring its data, the positioning error and loop closure matching error of the laser SLAM algorithm in the horizontal environment are solved, thus improving the positioning accuracy.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHENZHEN LAUNCH DIGITAL TECH
- Filing Date
- 2023-02-03
- Publication Date
- 2026-04-21
AI Technical Summary
Existing technologies lack effective methods to detect environmental degradation in the horizontal plane, resulting in large positioning errors and loop closure matching errors in laser SLAM algorithms in horizontal environments.
By acquiring an initial point cloud map within the target location range of the target robot, calculating the target normal vector of each point, performing angle point calculation and covariance matrix eigenvalue decomposition, using a preset threshold to determine the degradation direction, and ignoring data with degradation direction in the SLAM algorithm for map construction and localization.
Accurate detection of horizontal environmental degradation improves the positioning accuracy of the laser SLAM algorithm, avoids closed-loop optimization errors, and enhances the positioning weight of other sensors.
Smart Images

Figure CN116295518B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of laser positioning technology, and in particular to a method, apparatus, equipment and medium for detecting degradation of the horizontal plane environment. Background Technology
[0002] Laser-based SLAM (Simultaneous Localization and Mapping) technology is one of the key technologies in the field of autonomous localization and navigation for inspection robots. The robot uses laser sensors and SLAM algorithms to complete map building and localization. However, laser-based SLAM algorithms have certain requirements for the operating environment. Lasers are mainly used to detect the geometric features of the environment, and the SLAM algorithm uses these features for localization. When the environment has insufficient constraints, resulting in insufficient or unclear geometric features, the localization system will degrade, leading to localization errors; it can also easily lead to incorrect loop closure matching in closed-loop systems. Moreover, in mobile robot applications, degradation is particularly prone to occur in the horizontal plane, such as in corridor environments. However, current technologies do not yet have a good solution for detecting degradation in the horizontal plane. Summary of the Invention
[0003] Based on this, it is necessary to address the technical problem that existing technologies do not have a good solution for detecting degradation in the horizontal direction, and propose a method, device, equipment and medium for detecting degradation in the horizontal environment.
[0004] This application provides a method for detecting horizontal surface environmental degradation, the method comprising:
[0005] Obtain an initial point cloud map within a preset range of the target robot's target location;
[0006] Calculate the target normal vector of the plane containing each point based on the initial point cloud map;
[0007] Based on the target normal vectors, the angle point is calculated for each equally divided angle;
[0008] Based on each of the aforementioned angle points, the covariance matrix is calculated and the eigenvalues are decomposed sequentially to obtain the first eigenvalue and the second eigenvalue, wherein the first eigenvalue is less than the second eigenvalue.
[0009] Each degradation direction is determined based on a preset single feature value threshold, a preset feature value ratio threshold, the first feature value, and the second feature value.
[0010] Further, the step of calculating the target normal vector of the plane containing each point based on the initial point cloud map includes:
[0011] Obtain any point from the initial point cloud map as the target point;
[0012] Search the initial point cloud map for multiple neighboring points that are closest to the target point;
[0013] Calculate the local plane in the least squares sense for each of the adjacent points;
[0014] The principal component analysis method is used to calculate the normal vector of the local plane, thereby obtaining the target normal vector corresponding to the target point.
[0015] Further, the step of calculating the angle point for each equally bisected angle based on each of the target normal vectors includes:
[0016] Each target normal vector is projected onto a preset XY angle bisector plane to obtain a projection line corresponding to each target normal vector. The angle of each projection line relative to the 0° axis of the XY angle bisector plane is taken as the projection angle. The horizontal plane is divided into angle bisectors according to a preset number of divisions. The horizontal plane after angle bisector division is taken as the XY angle bisector plane. Each bisector obtained by angle bisector division is taken as a bisector angle. The angle of the center of the bisector angle is taken as the bisector angle.
[0017] Based on each of the projection angles, calculate the number of projection lines in each of the equally divided angles, and use this as the single-division angle projection quantity;
[0018] The angle point is calculated based on the single-angle projection and the angle of the same equally divided angle;
[0019] The angle point is represented as (Mn*cos(An),Mn*sin(An)), where Mn is the single-section angle projection, An is the section angle, cos() is the cosine function, and sin() is the sine function.
[0020] Further, the step of sequentially calculating the covariance matrix and performing eigenvalue decomposition based on each of the aforementioned angle points to obtain the first eigenvalue and the second eigenvalue includes:
[0021] Calculate the first covariance matrix based on each of the aforementioned angle points;
[0022] Perform eigenvalue decomposition on the first covariance matrix to obtain the first eigenvalue and the second eigenvalue;
[0023] The formula S for calculating the first covariance matrix is expressed as follows:
[0024]
[0025] B = [P1-M, P2-M, ... P] N -M]
[0026]
[0027] N is the number of angle points, P1 is the first angle point among all the angle points, P2 is the second angle point among all the angle points, and P... N All of them are the Nth angle point among the various angle points, B T This involves performing a transpose calculation on B.
[0028] Further, the step of determining each degradation direction based on a preset single feature value threshold, a preset feature value ratio threshold, the first feature value, and the second feature value includes:
[0029] If the first feature value is less than the single feature value threshold, then the direction corresponding to the first feature value is determined as the degradation direction;
[0030] If the second feature value is less than the single feature value threshold, then the direction corresponding to the second feature value is determined as the degradation direction;
[0031] Divide the first feature value by the second feature value to obtain the actual feature value ratio;
[0032] If the actual eigenvalue ratio is less than the eigenvalue ratio threshold, then the direction corresponding to the first eigenvalue is taken as the degradation direction;
[0033] Wherein, the feature value ratio threshold is greater than the average feature value of a normally positioned location, and the feature value ratio threshold is less than the average feature value of a location with significantly degraded environment and poor positioning.
[0034] Furthermore, after the step of determining each degradation direction based on a preset single feature value threshold, a preset feature value ratio threshold, the first feature value, and the second feature value, the method further includes:
[0035] The target robot obtains the scanning results from laser scanning at the target location;
[0036] If the degradation direction does not exist, then based on the SLAM algorithm, map construction and localization calculation are performed according to the scan results;
[0037] If a degradation direction exists, then any one of the degradation directions is taken as the replacement direction. The data in the scan result corresponding to the replacement direction is ignored, and the non-laser positioning data corresponding to the replacement direction is obtained as degradation replacement data. Based on the SLAM algorithm, map construction and positioning calculation are performed according to the scan result after all degradation directions are ignored and each degradation replacement data.
[0038] Furthermore, the step of performing map construction and localization calculation based on the SLAM algorithm, using the scan results after ignoring all degradation directions and each degradation replacement data, includes:
[0039] Based on the SLAM algorithm, map construction and localization calculations are performed using the scan results after ignoring all degradation directions and the various degradation replacement data. During the map construction and localization calculation process, no closed-loop optimization is performed.
[0040] This application also provides a detection device for horizontal surface environmental degradation, the device comprising:
[0041] The map acquisition module is used to acquire an initial point cloud map within a preset range of the target robot's target location;
[0042] The target normal vector determination module is used to calculate the target normal vector of the plane where each point is located based on the initial point cloud map.
[0043] Angle point calculation module is used to calculate the angle point for each equally divided angle based on the target normal vectors.
[0044] The eigenvalue calculation module is used to perform covariance matrix calculation and eigenvalue decomposition sequentially according to each of the angle points to obtain a first eigenvalue and a second eigenvalue, wherein the first eigenvalue is less than the second eigenvalue.
[0045] The degradation direction determination module is used to determine each degradation direction based on a preset single feature value threshold, a preset feature value ratio threshold, the first feature value, and the second feature value.
[0046] This application also provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and when the computer program is executed by the processor, the processor causes the processor to perform the following steps:
[0047] Obtain an initial point cloud map within a preset range of the target robot's target location;
[0048] Calculate the target normal vector of the plane containing each point based on the initial point cloud map;
[0049] Based on the target normal vectors, the angle point is calculated for each equally divided angle;
[0050] Based on each of the aforementioned angle points, the covariance matrix is calculated and the eigenvalues are decomposed sequentially to obtain the first eigenvalue and the second eigenvalue, wherein the first eigenvalue is less than the second eigenvalue.
[0051] Each degradation direction is determined based on a preset single feature value threshold, a preset feature value ratio threshold, the first feature value, and the second feature value.
[0052] This application also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, causes the processor to perform the following steps:
[0053] Obtain an initial point cloud map within a preset range of the target robot's target location;
[0054] Calculate the target normal vector of the plane containing each point based on the initial point cloud map;
[0055] Based on the target normal vectors, the angle point is calculated for each equally divided angle;
[0056] Based on each of the aforementioned angle points, the covariance matrix is calculated and the eigenvalues are decomposed sequentially to obtain the first eigenvalue and the second eigenvalue, wherein the first eigenvalue is less than the second eigenvalue.
[0057] Each degradation direction is determined based on a preset single feature value threshold, a preset feature value ratio threshold, the first feature value, and the second feature value.
[0058] The method for detecting degradation in the horizontal plane of this application calculates the target normal vector of the plane containing each point based on an initial point cloud map within a preset range of the target position of the target robot; calculates angle points for each equally divided angle based on the target normal vectors; performs covariance matrix calculation and eigenvalue decomposition sequentially based on each angle point to obtain a first eigenvalue and a second eigenvalue, wherein the first eigenvalue is less than the second eigenvalue; and determines each degradation direction based on a preset single eigenvalue threshold, a preset eigenvalue ratio threshold, the first eigenvalue, and the second eigenvalue. This accurately calculates the degradation direction in the horizontal plane, providing a foundation for improving the accuracy of laser-based SLAM algorithms. Attached Figure Description
[0059] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the 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.
[0060] in:
[0061] Figure 1 This is a flowchart of a method for detecting horizontal surface environmental degradation in one embodiment;
[0062] Figure 2 The diagram shows a plane that is equally divided by the X and Y angles;
[0063] Figure 3 This is a structural block diagram of a device for detecting horizontal environmental degradation in one embodiment;
[0064] Figure 4 This is a structural block diagram of a computer device in one embodiment. Detailed Implementation
[0065] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0066] like Figure 1 As shown, in one embodiment, a method for detecting horizontal plane environmental degradation is provided. This method can be applied to both terminals and servers; this embodiment uses terminal application as an example. The method for detecting horizontal plane environmental degradation specifically includes the following steps:
[0067] S1: Obtain the initial point cloud map within a preset range of the target robot's target position;
[0068] Specifically, the initial point cloud map can be obtained from the target robot's storage space or from the server.
[0069] The initial point cloud map is a point cloud map within a preset range around the target location of the target robot. For example, it is a local map accumulated by saving historical laser data over a period of time during SLAM; or a sub-map composed of point clouds at nearby distances within the local map during localization.
[0070] S2: Calculate the target normal vector of the plane containing each point based on the initial point cloud map;
[0071] Specifically, select some points within a certain range near the target point (that is, any point among the points corresponding to the initial point cloud map), perform principal component analysis (PCA) on these points, and take the eigenvector with the smallest eigenvalue obtained from the analysis (which represents the thinnest direction of the point cloud) as the normal vector, and use this normal vector as the target normal vector of the plane where the target point is located.
[0072] Since laser sensors can only collect point clouds of an object's surface, most of them can be represented as surfaces. While estimations may be inaccurate in corners and other areas, a small portion does not affect the calculation results and can be removed using methods selected from existing technologies.
[0073] S3: Calculate the angle point for each equally divided angle based on the target normal vectors described above;
[0074] Specifically, the horizontal plane (with X and Y directions) is first divided into equal angles. Then, each target normal vector is projected onto the horizontal plane after the angles are divided. Finally, coordinate points are generated by the angle of each division and the number of target normal vectors projected onto that division. These coordinate points are used as angle points. In other words, each division has one angle point.
[0075] S4: Perform covariance matrix calculation and eigenvalue decomposition sequentially based on each of the aforementioned angle points to obtain the first eigenvalue and the second eigenvalue, wherein the first eigenvalue is less than the second eigenvalue;
[0076] Specifically, the covariance matrix is calculated based on each angle point, and the calculated covariance matrix is subjected to eigenvalue decomposition. The minimum value of the two eigenvalues obtained by decomposition is taken as the first eigenvalue, and the maximum value of the two eigenvalues obtained by decomposition is taken as the second eigenvalue.
[0077] S5: Determine each degradation direction based on the preset single feature value threshold, the preset feature value ratio threshold, the first feature value, and the second feature value.
[0078] Specifically, if there is a feature value among the first feature value and the second feature value that is less than a preset single feature value threshold, then the direction corresponding to that feature value is taken as the degradation direction; if the ratio obtained by dividing the first feature value by the second feature value is less than a preset feature value ratio threshold, then the direction corresponding to the smaller feature value (that is, the first feature value) is taken as the degradation direction.
[0079] The range of values for the degradation direction includes the X direction and the Y direction.
[0080] It is understandable that steps S1 to S5 determine the strength of the constraint and whether there is degradation by judging the direction distribution and number of normal vectors. Among them, the direction constraint with more normal vectors is stronger because it can provide more geometric features.
[0081] This embodiment calculates the target normal vector of the plane containing each point based on an initial point cloud map within a preset range of the target robot's target position; calculates angle points for each equally divided angle based on the target normal vectors; performs covariance matrix calculation and eigenvalue decomposition sequentially based on each angle point to obtain a first eigenvalue and a second eigenvalue, wherein the first eigenvalue is less than the second eigenvalue; and determines each degradation direction based on a preset single eigenvalue threshold, a preset eigenvalue ratio threshold, the first eigenvalue, and the second eigenvalue. This accurately calculates the degradation direction in the horizontal plane, providing a foundation for improving the accuracy of laser-based SLAM algorithms.
[0082] In one embodiment, the step of calculating the target normal vector of the plane containing each point based on the initial point cloud map includes:
[0083] S21: Obtain any point from the initial point cloud map as the target point;
[0084] Specifically, any one point is selected from the points corresponding to the initial point cloud map as the target point.
[0085] S22: Search for multiple neighboring points that are closest to the target point from the initial point cloud map;
[0086] Specifically, multiple points that are nearest neighbors to the target point are searched from the points corresponding to the initial point cloud map, and each searched point is treated as a neighboring point.
[0087] S23: Calculate the local plane in the least squares sense for each of the adjacent points;
[0088] Specifically, when the sampling surface of the point cloud is smooth everywhere, the local neighborhood of any point can be well fitted by a plane. Therefore, for the target point, multiple nearest neighbor points are searched, and then the local planes of these points in the least squares sense are calculated.
[0089] S24: Using principal component analysis, the normal vector of the local plane is calculated to obtain the target normal vector corresponding to the target point.
[0090] Specifically, the normal vector of the plane fitted by multiple neighboring points can be considered as the normal vector of the target point. The normal vector of the plane can be obtained by principal component analysis. The plane fitted by multiple neighboring points passes through the centroids of the multiple neighboring points, and the normal vector M satisfies ||M||=1. Eigenvalue decomposition is performed on the covariance matrix (called the second covariance matrix) of the plane fitted by multiple neighboring points to obtain the eigenvalues of the second covariance matrix of the plane fitted by multiple neighboring points. The eigenvector corresponding to the minimum value among these eigenvalues is the normal vector of the plane fitted by multiple neighboring points.
[0091] It is understandable that by repeatedly executing steps S21 to S24, the target normal vector of the plane containing each point in the initial point cloud map can be determined.
[0092] This embodiment realizes the calculation of the normal vector of the plane formed by the nearest neighbor points based on the principal component analysis method, thereby providing a basis for the detection of horizontal surface environmental degradation based on the target normal vector.
[0093] In one embodiment, the step of calculating the angle point for each equally bisected angle based on each of the target normal vectors includes:
[0094] S31: Project each target normal vector onto a preset XY angle bisector plane to obtain a projection line corresponding to each target normal vector. Take the angle of each projection line relative to the 0° axis of the XY angle bisector plane as the projection angle.
[0095] The horizontal plane is divided into equal angles according to a preset number of divisions. The horizontal plane after the angle is divided into equal angles is used as the XY angle division plane. Each angle obtained by the angle division is used as an equal angle. The angle of the center of the equal angle is used as the angle division angle.
[0096] Specifically, each target normal vector is projected onto a preset XY angle bisector plane, and each line obtained by projection is taken as a projection line; the angle between the projection line and the 0° axis of the XY angle bisector plane is taken as the projection angle corresponding to the projection line.
[0097] It is understandable that the center of the circle on the plane that divides the XY angle is the projection point of the target position on the horizontal plane.
[0098] Figure 2 The diagram illustrates the XY angle dividing plane, with a preset number of divisions of 8. The dashed line connecting the centers of the circles in the XY angle dividing plane is the center line of the dividing angle, and the solid line connecting the centers of the circles in the XY angle dividing plane is the dividing line of the angle division. The 8 dividing angles are 0°, 45°, 90°, 135°, 180°, 225°, 270°, and 315°.
[0099] It is understandable that the preset number of divisions can be set to other values, which are not limited here.
[0100] S32: Calculate the number of projection lines in each of the equally divided angles based on the projection angles, and use it as the projection amount of a single divided angle;
[0101] Specifically, the projection angle determines which bisecting angle the projection line lies in. Therefore, based on each projection angle, the number of projection lines in each bisecting angle is calculated, and this number is taken as the projection quantity per bisecting angle. In other words, the projection quantity per bisecting angle is the number of projection lines in one bisecting angle.
[0102] S33: Calculate the angle point based on the single-angle projection and the angle of the same equally divided angle;
[0103] The angle point is represented as (Mn*cos(An),Mn*sin(An)), where Mn is the single-section angle projection, An is the section angle, cos() is the cosine function, and sin() is the sine function.
[0104] This embodiment divides the horizontal plane into equal angles as XY angle division planes. Finally, it generates angle points based on the number of target normal vectors projected into each division angle and the angle of the centerline of each division angle, providing a basis for detecting horizontal plane environmental degradation based on angle points.
[0105] In one embodiment, the steps of sequentially calculating the covariance matrix and performing eigenvalue decomposition based on each of the aforementioned angle points to obtain the first eigenvalue and the second eigenvalue include:
[0106] S41: Calculate the first covariance matrix based on each of the stated angle points;
[0107] Specifically, the mean of each angle point is first calculated, and the covariance matrix is calculated based on each angle point and each mean. The calculated covariance matrix is then used as the first covariance matrix.
[0108] S42: Perform eigenvalue decomposition on the first covariance matrix to obtain the first eigenvalue and the second eigenvalue;
[0109] The formula S for calculating the first covariance matrix is expressed as follows:
[0110]
[0111] B = [P1-M, P2-M, ... P] N -M]
[0112]
[0113] N is the number of angle points, P1 is the first angle point among all the angle points, P2 is the second angle point among all the angle points, and P... N All of them are the Nth angle point among the various angle points, B T This involves performing a transpose calculation on B.
[0114] The purpose of calculating the first covariance matrix is to find the distribution of the target normal vector, and the purpose of eigenvalue decomposition is to find the most significant orthogonal directions.
[0115] This embodiment demonstrates covariance matrix calculation and eigenvalue decomposition based on angle points, providing a foundation for detecting horizontal surface environmental degradation based on eigenvalues.
[0116] In one embodiment, the step of determining each degradation direction based on a preset single feature value threshold, a preset feature value ratio threshold, the first feature value, and the second feature value includes:
[0117] S51: If the first feature value is less than the single feature value threshold, then the direction corresponding to the first feature value is determined as the degradation direction;
[0118] S52: If the second feature value is less than the single feature value threshold, then the direction corresponding to the second feature value is determined as the degradation direction;
[0119] S53: Divide the first feature value by the second feature value to obtain the actual feature value ratio;
[0120] Specifically, the first eigenvalue is divided by the second eigenvalue, thereby achieving the division of the smallest eigenvalue by the largest eigenvalue.
[0121] S54: If the actual eigenvalue ratio is less than the eigenvalue ratio threshold, then the direction corresponding to the first eigenvalue is taken as the degradation direction;
[0122] Specifically, if the actual eigenvalue ratio is less than the eigenvalue ratio threshold, the direction corresponding to the smallest eigenvalue (i.e. the first eigenvalue) is taken as the degradation direction.
[0123] It is understandable that if there are duplicate values in the degradation direction determined in steps S51 to S54, they can be merged into one.
[0124] Wherein, the feature value ratio threshold is greater than the average feature value of a normally positioned location, and the feature value ratio threshold is less than the average feature value of a location with significantly degraded environment and poor positioning.
[0125] This embodiment provides a foundation for improving the accuracy of laser-based SLAM algorithms by comparing feature values, that is, using the value of the most significant direction to determine whether degradation has occurred.
[0126] In one embodiment, after determining each degradation direction based on a preset single feature value threshold, a preset feature value ratio threshold, the first feature value, and the second feature value, the method further includes:
[0127] S61: Obtain the scanning result of the target robot at the target location using laser scanning;
[0128] Specifically, the target robot performs a laser scan of the surrounding environment at the target location and uses the scanned data as the scan result.
[0129] S62: If the degradation direction does not exist, then based on the SLAM algorithm, map construction and localization calculation are performed according to the scan results;
[0130] Specifically, if the degradation direction does not exist, it means that the operating environment requirements of the laser-based SLAM algorithm are met. Therefore, map construction and localization calculations are performed directly based on the SLAM algorithm and the scanning results.
[0131] S63: If the degradation direction exists, then any one of the degradation directions is taken as the replacement direction. The data corresponding to the replacement direction in the scan result is ignored. The non-laser positioning data corresponding to the replacement direction is obtained as degradation replacement data. Based on the SLAM algorithm, map construction and positioning calculation are performed according to the scan result after all degradation directions are ignored and each degradation replacement data.
[0132] Specifically, if a degradation direction exists, it means that the operating environment requirements of the laser-based SLAM algorithm are not met. Therefore, any one of the degradation directions is taken as the replacement direction, and the data corresponding to the replacement direction in the scan results is ignored. Non-laser positioning data corresponding to the replacement direction is then obtained as degradation replacement data. Based on the SLAM algorithm, map construction and positioning calculations are performed using the scan results after ignoring all degradation directions and each degradation replacement data. This increases the weight of positioning data from other sensors to obtain relatively accurate results.
[0133] All degradation directions are ignored, that is, the following steps are repeated: any one of the degradation directions is taken as the replacement direction, the data in the scanning result corresponding to the replacement direction is ignored, and the non-laser positioning data corresponding to the replacement direction is obtained as the degradation replacement data.
[0134] In this embodiment, when the degradation direction exists, any one of the degradation directions is taken as the replacement direction. The data in the scan result corresponding to the replacement direction is ignored, and the non-laser positioning data corresponding to the replacement direction is obtained as degradation replacement data. Based on the SLAM algorithm, map construction and positioning calculation are performed based on the scan result after ignoring all degradation directions and each degradation replacement data, thereby improving the positioning weight of other sensors in the degradation direction and improving the accuracy of map construction and positioning calculation based on the SLAM algorithm.
[0135] In one embodiment, the steps of map construction and localization calculation based on the SLAM algorithm, using the scan results after ignoring all degradation directions and each degradation replacement data, include:
[0136] S631: Based on the SLAM algorithm, map construction and localization calculation are performed according to the scan results after ignoring all degradation directions and each degradation replacement data. During the map construction and localization calculation process, no closed-loop optimization is performed.
[0137] Specifically, the SLAM algorithm comprises two processes: map building and localization computation. The map building stage requires loop closure optimization (i.e., loop closure detection) to eliminate accumulated errors in the map. To avoid introducing erroneous constraints, loop closure detection must be performed in a non-degenerate environment. To address this issue, when the aforementioned degradation direction exists, loop closure optimization is not performed during the map building stage of the map building and localization computation process.
[0138] In this embodiment, closed-loop optimization is not performed during the map building stage of the map building and positioning calculation process, thus avoiding errors in closed-loop optimization.
[0139] like Figure 3 As shown, in one embodiment, this application also provides a detection device for horizontal surface environmental degradation, the device comprising:
[0140] The map acquisition module 801 is used to acquire an initial point cloud map within a preset range of the target robot's target location;
[0141] The target normal vector determination module 802 is used to calculate the target normal vector of the plane where each point is located based on the initial point cloud map.
[0142] Angle point calculation module 803 is used to calculate the angle point for each equally divided angle based on the target normal vectors.
[0143] The eigenvalue calculation module 804 is used to perform covariance matrix calculation and eigenvalue decomposition sequentially according to each of the angle points to obtain a first eigenvalue and a second eigenvalue, wherein the first eigenvalue is less than the second eigenvalue.
[0144] The degradation direction determination module 805 is used to determine each degradation direction based on a preset single feature value threshold, a preset feature value ratio threshold, the first feature value, and the second feature value.
[0145] This embodiment calculates the target normal vector of the plane containing each point based on an initial point cloud map within a preset range of the target robot's target position; calculates angle points for each equally divided angle based on the target normal vectors; performs covariance matrix calculation and eigenvalue decomposition sequentially based on each angle point to obtain a first eigenvalue and a second eigenvalue, wherein the first eigenvalue is less than the second eigenvalue; and determines each degradation direction based on a preset single eigenvalue threshold, a preset eigenvalue ratio threshold, the first eigenvalue, and the second eigenvalue. This accurately calculates the degradation direction in the horizontal plane, providing a foundation for improving the accuracy of laser-based SLAM algorithms.
[0146] Figure 4 An internal structural diagram of a computer device in one embodiment is shown. This computer device can specifically be a terminal or a server. Figure 4 As shown, the computer device includes a processor, memory, and network interface connected via a system bus. The memory includes a non-volatile storage medium and internal memory. The non-volatile storage medium stores an operating system and may also store a computer program. When executed by the processor, this computer program enables the processor to implement a method for detecting horizontal surface degradation. The internal memory may also store a computer program, which, when executed by the processor, enables the processor to implement the method for detecting horizontal surface degradation. Those skilled in the art will understand that… Figure 4 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0147] In one embodiment, a computer device is provided, including a memory and a processor, the memory storing a computer program that, when executed by the processor, causes the processor to perform the following steps:
[0148] Obtain an initial point cloud map within a preset range of the target robot's target location;
[0149] Calculate the target normal vector of the plane containing each point based on the initial point cloud map;
[0150] Based on the target normal vectors, the angle point is calculated for each equally divided angle;
[0151] Based on each of the aforementioned angle points, the covariance matrix is calculated and the eigenvalues are decomposed sequentially to obtain the first eigenvalue and the second eigenvalue, wherein the first eigenvalue is less than the second eigenvalue.
[0152] Each degradation direction is determined based on a preset single feature value threshold, a preset feature value ratio threshold, the first feature value, and the second feature value.
[0153] This embodiment calculates the target normal vector of the plane containing each point based on an initial point cloud map within a preset range of the target robot's target position; calculates angle points for each equally divided angle based on the target normal vectors; performs covariance matrix calculation and eigenvalue decomposition sequentially based on each angle point to obtain a first eigenvalue and a second eigenvalue, wherein the first eigenvalue is less than the second eigenvalue; and determines each degradation direction based on a preset single eigenvalue threshold, a preset eigenvalue ratio threshold, the first eigenvalue, and the second eigenvalue. This accurately calculates the degradation direction in the horizontal plane, providing a foundation for improving the accuracy of laser-based SLAM algorithms.
[0154] In one embodiment, a computer-readable storage medium is provided storing a computer program that, when executed by a processor, causes the processor to perform the following steps:
[0155] Obtain an initial point cloud map within a preset range of the target robot's target location;
[0156] Calculate the target normal vector of the plane containing each point based on the initial point cloud map;
[0157] Based on the target normal vectors, the angle point is calculated for each equally divided angle;
[0158] Based on each of the aforementioned angle points, the covariance matrix is calculated and the eigenvalues are decomposed sequentially to obtain the first eigenvalue and the second eigenvalue, wherein the first eigenvalue is less than the second eigenvalue.
[0159] Each degradation direction is determined based on a preset single feature value threshold, a preset feature value ratio threshold, the first feature value, and the second feature value.
[0160] This embodiment calculates the target normal vector of the plane containing each point based on an initial point cloud map within a preset range of the target robot's target position; calculates angle points for each equally divided angle based on the target normal vectors; performs covariance matrix calculation and eigenvalue decomposition sequentially based on each angle point to obtain a first eigenvalue and a second eigenvalue, wherein the first eigenvalue is less than the second eigenvalue; and determines each degradation direction based on a preset single eigenvalue threshold, a preset eigenvalue ratio threshold, the first eigenvalue, and the second eigenvalue. This accurately calculates the degradation direction in the horizontal plane, providing a foundation for improving the accuracy of laser-based SLAM algorithms.
[0161] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware. The program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments described above. Any references to memory, storage, databases, or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), and double data rate RAM.
[0162] SDRAM (DDR SDRAM), Enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), Rambus Direct RAM (RDRAM), Direct Memory Bus Dynamic RAM (DRDRAM), and Memory Bus Dynamic RAM (RDRAM), etc.
[0163] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0164] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this patent application should be determined by the appended claims.
Claims
1. A method for detecting degradation of a horizontal surface environment, the method comprising: Obtain an initial point cloud map within a preset range of the target robot's target location; Calculate the target normal vector of the plane containing each point based on the initial point cloud map; Based on the target normal vectors, the angle point is calculated for each equally divided angle; Based on each of the aforementioned angle points, the covariance matrix is calculated and the eigenvalues are decomposed sequentially to obtain the first eigenvalue and the second eigenvalue, wherein the first eigenvalue is less than the second eigenvalue. Each degradation direction is determined based on a preset single feature value threshold, a preset feature value ratio threshold, the first feature value, and the second feature value; The step of calculating the angle point for each equally divided angle based on each of the target normal vectors includes: Each target normal vector is projected onto a preset XY angle bisector plane to obtain a projection line corresponding to each target normal vector. The angle of each projection line relative to the 0° axis of the XY angle bisector plane is taken as the projection angle. The horizontal plane is divided into angle bisectors according to a preset number of divisions. The horizontal plane after angle bisector division is taken as the XY angle bisector plane. Each bisector obtained by angle bisector division is taken as a bisector angle. The angle of the center of the bisector angle is taken as the bisector angle. Based on each of the projection angles, calculate the number of projection lines in each of the equally divided angles, and use this as the single-division angle projection quantity; The angle point is calculated based on the single-angle projection and the angle of the same equally divided angle; Wherein, the angle point is expressed as (Mn*cos(An),Mn*sin(An)), Mn is the single-section angle projection, An is the section angle, cos() is the cosine function, and sin() is the sine function; The step of determining each degradation direction based on a preset single feature value threshold, a preset feature value ratio threshold, the first feature value, and the second feature value includes: If the first feature value is less than the single feature value threshold, then the direction corresponding to the first feature value is determined as the degradation direction; If the second feature value is less than the single feature value threshold, then the direction corresponding to the second feature value is determined as the degradation direction; Divide the first feature value by the second feature value to obtain the actual feature value ratio; If the actual eigenvalue ratio is less than the eigenvalue ratio threshold, then the direction corresponding to the first eigenvalue is taken as the degradation direction; Wherein, the feature value ratio threshold is greater than the average feature value of a normally positioned location, and the feature value ratio threshold is less than the average feature value of a location with significantly degraded environment and poor positioning.
2. The method for detecting horizontal surface environmental degradation according to claim 1, characterized in that, The step of calculating the target normal vector of the plane containing each point based on the initial point cloud map includes: Obtain any point from the initial point cloud map as the target point; Search the initial point cloud map for multiple neighboring points that are closest to the target point; Calculate the local plane in the least squares sense for each of the adjacent points; The principal component analysis method is used to calculate the normal vector of the local plane, thereby obtaining the target normal vector corresponding to the target point.
3. The method for detecting horizontal surface environmental degradation according to claim 1, characterized in that, The step of sequentially calculating the covariance matrix and performing eigenvalue decomposition based on each of the aforementioned angle points to obtain the first eigenvalue and the second eigenvalue includes: Calculate the first covariance matrix based on each of the aforementioned angle points; Perform eigenvalue decomposition on the first covariance matrix to obtain the first eigenvalue and the second eigenvalue; The formula S for calculating the first covariance matrix is expressed as follows: ; ; ; N is the number of the angle points. P1 is the first angle point among all the stated angle points, P2 is the second angle point among all the stated angle points, P... N All of them are the Nth angle point among the various angle points, B T This involves performing a transpose calculation on B.
4. The method for detecting horizontal surface environmental degradation according to claim 1, characterized in that, After the step of determining each degradation direction based on a preset single feature value threshold, a preset feature value ratio threshold, the first feature value, and the second feature value, the method further includes: The target robot obtains the scanning results from laser scanning at the target location; If the degradation direction does not exist, then based on the SLAM algorithm, map construction and localization calculation are performed according to the scan results; If a degradation direction exists, then any one of the degradation directions is taken as the replacement direction. The data in the scan result corresponding to the replacement direction is ignored, and the non-laser positioning data corresponding to the replacement direction is obtained as degradation replacement data. Based on the SLAM algorithm, map construction and positioning calculation are performed according to the scan result after all degradation directions are ignored and each degradation replacement data.
5. The method for detecting horizontal surface environmental degradation according to claim 4, characterized in that, The steps of map construction and localization calculation based on the SLAM algorithm, which involve ignoring the scan results after processing all degradation directions and each degradation replacement data, include: Based on the SLAM algorithm, map construction and localization calculations are performed using the scan results after ignoring all degradation directions and the various degradation replacement data. During the map construction and localization calculation process, no closed-loop optimization is performed.
6. A device for detecting horizontal surface environmental degradation, characterized in that, A method for detecting horizontal surface environmental degradation according to any one of claims 1 to 5, the apparatus comprising: The map acquisition module is used to acquire an initial point cloud map within a preset range of the target robot's target location; The target normal vector determination module is used to calculate the target normal vector of the plane where each point is located based on the initial point cloud map. Angle point calculation module is used to calculate the angle point for each equally divided angle based on the target normal vectors. The eigenvalue calculation module is used to perform covariance matrix calculation and eigenvalue decomposition sequentially according to each of the angle points to obtain a first eigenvalue and a second eigenvalue, wherein the first eigenvalue is less than the second eigenvalue. The degradation direction determination module is used to determine each degradation direction based on a preset single feature value threshold, a preset feature value ratio threshold, the first feature value, and the second feature value.
7. A computer-readable storage medium storing a computer program that, when executed by a processor, causes the processor to perform the steps of the method as claimed in any one of claims 1 to 5.
8. A computer device comprising a memory and a processor, the memory storing a computer program that, when executed by the processor, causes the processor to perform the steps of the method as claimed in any one of claims 1 to 5.
Citation Information
Patent Citations
Point cloud registration strategy in flatness measurement of laser contourgraph
CN113516695A
Method and device for judging point cloud degradation environment, terminal and storage medium
CN114782944A