Method for reducing ambiguity when representing and registering point clouds using a laser scanner
Patent Information
- Application Number
- CN202110429634.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-04-22
- Filing Date
- 2021-04-21
- Publication Date
- 2026-10-30
- Estimated Expiration
- 2041-04-21
AI Technical Summary
这种可能性在NDT方案中可能无法充分出现
Smart Images

Figure CN113538541B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a method for reducing ambiguity in the representation and registration of point clouds. Background Technology
[0002] In modern factories or Industry 4.0, autonomous working machines are increasingly being used in internal logistics or production environments. These machines can operate independently based on sensor data.
[0003] For example, a laser scanner can be used to acquire sensor data for the independent operation of such an autonomous machine, based on sensor data. Such a laser scanner can scan one or more layers of the autonomous machine's environment and measure the distance to the object during the propagation time of the emitted laser beam. This information can be converted into a point cloud via the known spatial orientation of the laser beam.
[0004] For example, the point cloud is detected from different viewpoints and / or from different locations during the (mapping) process, and then transformed to a common coordinate system with a defined offset and aligned with each other. In this way, the environment can be fully detected. The determination of this offset is referred to herein as registration. Registration can be performed within the scope of generating environmental map data. However, registration can also be performed to determine the location of the laser scanner used to determine the sensor data based on the acquired sensor data (in a way that the sensor data is registered based on map data). This process is called localization.
[0005] The task of the registration is, on the one hand, to efficiently represent point clouds detected as sensor data by a laser scanner (regarding storage requirements and modeling accuracy), and on the other hand, to enable efficient registration (regarding computational cost and accuracy) between two (arbitrary but overlapping) point clouds with respect to the selected representation.
[0006] The known registration scheme is the Normal Distribution Transform (NDT), which defines a representation of the point cloud and a method for registering it, including uncertainty estimation and a quality metric (fraction). In this method, the space containing the points in the point cloud is subdivided into multiple cells. A normal distribution is calculated for the points in the corresponding cells, and then the normal distribution is further processed. The representation using the NDT scheme can be implemented computationally very efficiently, providing accurate registration results and implicitly determining the fraction parameter and the estimation of uncertainty. Therefore, the NDT scheme has many useful properties for use in pose graph frameworks and is thus used by many laser positioning systems (LLS).
[0007] However, besides the advantages mentioned above, the NDT scheme also has some weaknesses, particularly in representing point clouds within cells if the point cloud cannot be adequately modeled using only a normal distribution. In practice, it has been found that, under certain circumstances, the normal distribution is not suitable for sufficiently accurate modeling of the points used for registration within the corresponding cells.
[0008] Another weakness of the NDT scheme lies in its inability to distinguish between physically plausible and impossible registrations. This possibility may not be fully realized in the NDT scheme. The background to these limitations of the NDT scheme is that each point of the laser scanner is generated by reflections on the object, and these reflections, or the point itself, cannot be observed from the opposite side of the object. In practice, this problem, for example, leads to the accidental placement of the inner wall onto the outer wall during the drawing process when using classic NDT, thus resulting in maps containing errors. Summary of the Invention
[0009] Based on this, a particularly advantageous method is described here for using laser scanners in positioning systems to reduce ambiguity in the representation and registration of point clouds.
[0010] This document describes a method for reducing ambiguity in the representation and registration of point clouds, wherein the point clouds are generated by at least one laser scanner or extracted from a navigation map, and wherein a first point cloud and a second point cloud are received as input variables, respectively. The method includes at least the following steps: a) Determine the surface normals at points in the first point cloud and points in the second point cloud. b) Determine the representation of the first point cloud, including the following sub-steps: i) Subdivide the first point cloud into units. ii) Group the points of the corresponding cells based on the surface normals at the points in the first point cloud. iii) Determine the normal distribution of the points in the corresponding group for each unit, and c) Register the second point cloud with the first point cloud based on the representation.
[0011] The described method can be used in autonomous working machines for internal logistics or production environments to analyze input data acquired by a laser scanner. This is particularly advantageous for laser-based mapping strokes of autonomous working machines, thereby minimizing misidentification of inner and outer walls and corners without sacrificing positioning efficiency.
[0012] The core of the described method is the introduction of additional variables in the form of surface normals into the Normal Distribution Transform (NDT) scheme. This is specifically described through steps a) and sub-step ii). This is an extension of the conventional NDT method, resulting in a more accurate representation of the point cloud (especially within cells) and a more physically plausible registration of the point cloud. Because the NDT method is performed here with consideration of surface normals, the described method is called the ONDT method (Surface Normal Distribution Transform). Therefore, when a point cloud is represented using the ONDT method, it is called an ONDT representation.
[0013] For localization, a navigation map of the environment and a localization system including at least one laser scanner are required. Here, the at least one laser scanner emits a laser beam that scans the environment point-by-point and is reflected by objects. Parts of the reflected beam are captured again by the at least one laser scanner and detected as a point cloud. The environment is thus represented by the detected point cloud. Furthermore, the localization system attempts to determine the most probable location by continuously comparing the detected point cloud (i.e., the environment) with the navigation map. Typically, the navigation map is also generated by the localization system during the mapping process.
[0014] Point clouds are typically detected from different viewpoints and / or different locations within the environment to be mapped, where, although the entire environment is not typically detected, these locations will at least partially overlap. To fully detect the environment, the localization system performs pairwise registration between different point clouds using the overlapping regions, thereby constructing a network of paired connected point clouds.
[0015] Pair registration here specifically means selecting two point clouds that typically have at least partial overlapping regions, and transforming them to a common coordinate system and aligning them with each other through translational and / or rotational offsets. In this context, registration means estimating their translational and / or rotational offsets. It is also conceivable to perform multiple pair registrations simultaneously and in parallel at the execution level of a computing machine.
[0016] In pairwise registration, one point cloud can be selected as a reference point cloud, and the other point cloud is registered with the reference point cloud. Here, the reference point cloud is called the first point cloud, and the other point cloud is called the second point cloud.
[0017] The first and second point clouds can be detected by the at least one laser scanner, thereby allowing complete detection of the environment through registration of the two point clouds. Alternatively, the first point cloud can be extracted from a navigation map, and the second point cloud can be detected by at least one laser scanner. Therefore, location is determined by registering the two point clouds.
[0018] To perform the ONDT method described herein, specifically in step a), surface normals are determined at points in both the first and second point clouds. A surface normal here specifically means a normal vector perpendicular to (typically curved) but approximately flat within a small environment around the point and pointing in the direction of the sensor origin. That is, the surface normal at that point points in the direction in which the laser scanner emits a beam to form that point. Thus, the surface normal at that point can be determined explicitly, for example, according to the scanning process of the at least one laser scanner. One surface normal can be determined for each point. Additionally, it is conceivable to smooth the normal vectors at multiple points. This approach can be easily extended to the 3D case.
[0019] After determining the surface normal, the first point cloud is represented by ONDT in step b). For the ONDT method, the region of the first or second point cloud is subdivided into cells Z in substep i). j (Generally, any partitioning of this space is possible, including adaptive partitioning that determines the best possible partitioning based on the point cloud.) These cells can overlap, but are not mandatory. Cell Z j The size is highly dependent on the application and typically varies between 10cm and 5m in diameter.
[0020] Here, a notation method is defined for different variables, such that the first letter Z corresponds to the variable size, while the other letters (i, j, k, o, n, etc.) correspond to indices. Here, the other letters used as indices are natural numbers. Thus, for example, Z... j Let p represent the j-th unit. ij This represents the i-th point in the j-th unit.
[0021] Furthermore, in sub-step ii), each unit Z is... j point p in ij Grouped according to their surface normals, where each group Z jo The surface normals at points within the area are aligned in the same direction with an allowable deviation of, for example, 10°. This is an additional new step compared to the conventional NDT method, which allows these points to be physically represented more reasonably by means of the surface normals. This is particularly advantageous for the identification / detection of the inner and outer walls, as well as the inner and outer angles of the represented environment.
[0022] In substep iii), a normal distribution is determined for the points in the corresponding group within each cell. This differs from the conventional NDT method. The conventional NDT method determines the normal distribution for all points within a cell, resulting in at most one normal distribution per cell. Consequently, the point clouds of the inner and outer walls, as well as the inner and outer corners, within the cell are not adequately represented.
[0023] Here, the ONDT method is used to further subdivide these points into multiple groups within the element based on their different surface normals, thereby generating multiple normal distributions within the element. The normal distribution visually shows the regions where a point occurs with a high probability; more precisely, the closer a point is to the center of that region, the higher its probability. With the ONDT method, these regions can represent the point cloud with greater finer detail and accuracy than with the NDT method. Therefore, by using multiple normal distributions within a single element, the actual point cloud can be represented significantly more accurately. This is particularly applicable to situations that frequently occur in practice, such as interior and exterior corners, and interior and exterior walls within an element.
[0024] Finally, registration is performed in step c), where the first or second point cloud is transformed into an ONDT representation according to a transformation function. The task of registration is essentially the transformation function, or in other words, finding translational and / or rotational offsets that allow the two point clouds to be transformed into a common coordinate system and aligned with each other. Furthermore, the determined piecewise normal distribution is used, on the one hand, to determine the transformation function, and on the other hand, to analyze how well the second point cloud is registered with the first point cloud (score).
[0025] As mentioned above, ambiguity in representing and registering point clouds can be reduced by leveraging the additional information from surface normals. The information of the surface normals can be reconstructed very simply and robustly from the point cloud of a laser scanner, since the corresponding neighboring points are known due to the scanning process. This can be used for 2D or 3D point clouds. In particular, the additional information of the surface normals can be easily and well integrated into existing NDT schemes while retaining many advantages, such as computationally efficient registration, including the estimation of fractions and uncertainties, and efficient storage.
[0026] In a preferred embodiment, in step a), the surface normals at each point of the first point cloud and each point of the second point cloud are determined, wherein the surface normals of a point are determined such that the surface normal of the point is perpendicular to the tangential vector of the point, the tangential vector originating from the point and aligned with the successor point of the point.
[0027] Based on the known scanning process, a successor point is determined for each point, thus forming a tangential vector between the two points. A vector perpendicular to this tangential vector, pointing towards the sensor origin, corresponds to the normal vector representing the surface normal direction. In the case of skips, the predecessor point can also be selected if it is closer to the reference point than the successor point. Optionally, the normal vector can be smoothed over multiple points. This scheme can be easily extended to the 3D case.
[0028] In another preferred embodiment, in sub-step ii), the points of the corresponding units are grouped such that the orientation space is uniformly subdivided into sub-orientation spaces in different anchoring directions, and these points are assigned to different sub-orientation spaces based on their surface normals.
[0029] A particular advantage is that the corresponding points are divided into at least one sub-orientation space based on the angular distance between their surface normal and the anchoring direction.
[0030] Instead of estimating the normal distribution of all points within a cell using the NDT method, this method is based on the surface normals (normal vectors) of these points. ij These points are divided into different sub-orientation spaces Z jo In the middle. If in unit Z j If there are no points in the sub-orientation space Z that have their own surface normals, then these sub-orientation spaces Z jo Some values in the text can also be empty.
[0031] In its simplest case, the orientation space associated with the anchoring direction can be described using four directions, which are further subdivided into four sub-orientation spaces in the four directions "N" (North), "O" (East), "S" (South), and "W" (West). For example, if the surface normal at a point within a cell is partially aligned with the North and partially with the South, then two sets of points are generated within that cell. One set of points has its surface normal aligned with the North, while the other set has its surface normal aligned with the South.
[0032] From this, we can conceive of defining a fixed number m of hard anchoring directions o1, ..., o m Then, the orientation space is subdivided into m sub-orientation spaces as uniformly as possible along different anchoring directions. Each sub-orientation space thus has its own anchoring direction. For example, in 2D mode, the anchoring direction can be defined in m different directions with angles of 0*360 / m°, 1*360 / m°, ..., (m-1)*360 / m°. In 3D mode, this becomes significantly more difficult due to the spherical orientation space and is only reasonable for specific values of m. One possibility is to use the corner points or face centers of a tetrahedron, cube, octahedron, icosahedron, or dodecahedron Platonic solid. If the number of corner points / face centers m is insufficient, an approximate solution with a higher value of m can be determined by further subdividing the mentioned solid (such as the Earth Dome). If the anchoring direction is known, then point p... ij and its surface normal n ij Assigned to the following group Z jo In this group, the anchoring direction is o m With n ij The interior angle between them is the smallest. Here, the weight w ijo equals 1 (w) ijo =1).
[0033] If the surface normal n ij Point p located between multiple adjacent anchoring directions ij In this case, one might think of using different weights to assign weights to point p. ij Assigned to different groups (i.e., w) ijo ≠1). This process differs from the method described above only in the final step. The direction of the next anchor point is considered only based on the next neighbor to be considered, and point p... ij The interior angles are weighted and assigned to all their respective groups Z based on their distance or size. jo In 2D mode, linear interpolation can be achieved, for example: if two adjacent anchoring directions o m-1 and o m The angular distance between them is d, and the surface normal in the middle is n. ij With o m-1 The interior angle between them is equal to , and with o m The interior angle between them is equal to ,and + =d, then the corresponding location p ij In the group The weight in is equal to In the group The weight in is equal to .
[0034] Another approach is to group the points of the corresponding units using clustering methods. Here, an adaptive number of adaptive anchoring directions is used. In the most flexible case, the number m of dominant directions for each unit is determined by the clustering method, thus determining its anchoring directions o1, ..., o2. m The assignment is used as described above by means of the nearest neighbor or by means of different weights.
[0035] In another preferred embodiment, in sub-step iii), point p of the corresponding group in each unit ijo Determine the average value q jo The covariance matrix C jo .
[0036] Here, all p ijo average value q jo The following can be calculated: Here, q jo The value q corresponds to the average value p of the points contained in the o-th group within the j-th unit. ijo Corresponding to the i-th point in the o-th group of the j-th unit, w ijoThe weight corresponds to the i-th point in the o-th group of the j-th unit, while n o Corresponding to all weights w ijo The sum of .
[0037] As mentioned above, the weight w ijo Depending on the grouping method, and in the simplest case corresponding to w ijo =1.
[0038] In addition, it can be based on the previously determined average value q jo For all p ijo The covariance matrix C is calculated as follows. jo : Here, C jo The covariance matrix C corresponds to the points contained in the o-th group of the j-th cell, where c corresponds to the application-specific scaling factor (e.g., 1-2), and T corresponds to the transpose operator.
[0039] Therefore, at least three points are required to obtain a convincing covariance matrix. If a group does not contain at least three points, the group is defined as empty.
[0040] In another preferred embodiment, in step c), an evaluation function is determined for each normal distribution determined in sub-step (iii), the evaluation function providing the quality of registration.
[0041] Here we can apply this to all transformed points t. ijo The following is a calculation of the evaluation function for registration quality after transformation T(P2) of the second point cloud or ONDT representation (first point cloud): Here, score(T(P2)) corresponds to the weight w of the i-th point in the j-th unit, which has the variable T(P2). ij The evaluation function.
[0042] The variable T(P2) means the transformation function T(.) of the second point cloud P2. For example, if the second point cloud is transformed (i.e. registered) to the first point cloud according to the transformation function, the score is calculated according to equation (3). This corresponds to the negative sum of the probabilities of points from the second point cloud being related to points in the first point cloud.
[0043] The registration process in the ONDT method aims to find a transformation T(.) between the second point cloud P2 and the ONDT representation of the first point cloud that maximizes the scores of all points in the second point cloud.
[0044] Advantageously, in step c), the transformation function is determined by means of numerical optimization methods.
[0045] Particularly advantageous is that the transformation function is determined in step c) by an iterative Newton method, comprising the following sub-steps: 1) Determine the starting point, 2) Determine which representation unit the corresponding point of the second point cloud belongs to. 3) Determine which representation group the corresponding point of the second point cloud belongs to. 4) Determine the score, gradient, and Hessian matrix of the points in the second point cloud for each representation group. 5) Check whether the termination criteria are met, and 6) Restart sub-step 2) to sub-step 5) until the termination criterion is met.
[0046] The actual registration is achieved using Newton's algorithm, by adjusting the transformations T0, ..., T1 step by step. n To minimize -score(T) n (P2)) is performed. Here we only discuss those points that have been modified in the described method. In sub-step 1), the algorithm requires an initial estimate of T0 because the algorithm only converges to the next possible minimum.
[0047] In sub-step 2), the transformation T can be performed as described in the NDT method above. n To determine each point p in the second point cloud P2 used for registration 2i One or more units, and of course, depending on the chosen partition. In the simplest case, the following ONDT regions are used, where the transformed points t are... i =Tn(p 2i The distance between the unit and the center is minimized. Alternatively, this can also be achieved by adapting the weight w. ij Interpolation is performed between adjacent cells. The output is the set t of transformed points. ij Including the weights w of these points ij These weights are assigned to cell Z. j .
[0048] In sub-step 3), now for cell Z j Each point t within ij Determine the relevant normal distribution(s). To do this, point t... ij Surface normal n ij The existing anchoring directions (which can also be multiple) assigned to this unit are o1, ..., o m Here, the method is the same as in sub-step ii) of step b) in terms of grouping, and also uses the same weighting method as in sub-step ii) of step b). There is only one exception: if group Z... joIf there is no normal distribution in the set (because the number of points assigned within the set during construction is too small), then the weight w ijo =0. As output, for each group Z jo Gain point t ijo and its corresponding weight w ijo A set of.
[0049] In substep 4), in order to determine the score, gradient, and Hessian matrix instead of only for all units Z as in the NDT method... j point t ij Summation is performed on all elements Z in the ONDT method according to equations (3), (4), and (5). j All groups Z jo All points t ijo Summing and assigning the corresponding weights w in the formula ij Multiply by w ijo Like the NDT method, it continues to form only depending on a single point t. ijo gradient and Hessian variable J ijno and H ijno .
[0050] For Newton's minimization, step n requires considering the transformation T. n gradient J n and the Hessian matrix H n Both. Here, gradient J n and the Hessian matrix H n The calculation is as follows: The advantage here is that it is possible to J ijno and H ijno Each group is independently formed by Z. jo Calculate variable t at each point ijno =T n (p2 ijo ), and the cumulative variable being sought can be determined by weighted summation according to equations (4) and (5).
[0051] weight w ij w ijo This corresponds to the same weight as in the score, but depends on T. n In the simplest case, the weight w ij w ijo It can be assumed to be 1.
[0052] In substep 5), iterations T0, ..., T are performed using Newton's minimization. nUntil the termination criterion in sub-step 6), such as a fixed number of steps, T n-1 and T n The changes between them are below a threshold, etc. The final step involves the transformation T. n The registration parameters are what we are looking for, and score(T(P2)) corresponds to the registration quality, and is derived from the Hessian matrix H. n It can export T for pose graphs n Uncertainty.
[0053] Preferably, the control device for the positioning system is configured to perform the described method.
[0054] The method is further preferably further wherein a computer program is configured to perform all the steps of the method.
[0055] Furthermore, the method preferably involves a machine-readable storage medium on which a computer program is stored.
[0056] Preferably, the autonomous working machine can be located using the method described above. Attached Figure Description
[0057] The method is explained in more detail below with reference to the accompanying drawings, in which preferred embodiments are shown. Wherein: Figure 1 An exemplary mapping process using a laser scanner-based positioning system is illustrated. Figure 2 An exemplary representation of a point cloud using the NDT method is shown. Figure 3 Another exemplary representation of a point cloud using the NDT method is shown. Figure 4 An exemplary representation of a point cloud using the ONDT method is shown. Figure 5 An exemplary registration of point clouds using the NDT method is shown. Figure 6 An exemplary determination of the surface normal at a point in a point cloud is shown, and Figure 7 A typical sequence diagram for performing the described method is shown. Detailed Implementation
[0058] Figure 1An exemplary mapping process using a laser scanner-based positioning system is illustrated. First, four point clouds 1, 2, 3, and 4 from different locations in the environment to be mapped are provided to the positioning system, for example, via a mapping process. Typically, while the entire environment 6 is not detected at these locations, they at least partially overlap. The system performs pairwise registration between the different point clouds 1, 2, 3, and 4 using overlapping regions 8 (see the double arrows between each pair of point clouds), thereby constructing a network 5 consisting of paired point clouds 1, 2, 3, and 4.
[0059] In science, this modeling is called a pose graph, where nodes represent poses with annotated information (e.g., point clouds 1, 2, 3, 4), and edges represent logical relationships between points (e.g., offsets determined through registration, including their uncertainties). Using an optimizer for the pose graph (e.g., [G2O]), errors can be automatically minimized using redundant information within network 5 (and uncertainties in the relationships on the edges) (e.g., see cyclic point cloud (a) 1 <-> point cloud (b) 2 <-> point cloud (d) 4), and a consistent map can be computed corresponding to the entire environment 6.
[0060] Figure 2 An exemplary representation of point cloud (e) 7 using the NDT method is shown. For this purpose, point cloud (e) 7 is decomposed into a grid consisting of four uniform cells 9, 10, 11, and 12. In each cell 9, 10, 11, and 12, a normal distribution of the points contained therein is determined, forming NDT regions 13, 14, 15, and 16 in the corresponding cells 9, 10, 11, and 12. Points appear with a high probability in NDT regions 13, 14, 15, and 16; more specifically, the closer to the center of the NDT region, the higher the probability.
[0061] exist Figure 2 As shown, while NDT region (c) 15 fits well at points within element (c) 11, this is not the case for the other three elements 9, 10, and 12. In practice, the angular point arrangement in element (a) 9 or element (d) 12 typically corresponds to exterior or interior angles, while the two parallel line point arrangement in element (b) 10 typically corresponds to exterior and interior walls. However, the NDT regions 13, 14, and 16 are circular or elliptical and have a larger area compared to these points; therefore, NDT regions 13, 14, and 16 cannot adequately / accurately represent exterior / interior angles and exterior / interior walls.
[0062] Figure 3An exemplary representation of point cloud (f) 21 using the NDT method is shown. It can be seen that point cloud (f) 21 has NDT regions. Laser scanner 19 detects point cloud (g) 22 from the back side of object 20, or point cloud (h) 23 from the front side of object 20. Here, if laser scanner 19 scans object 20 from the opposite side in a mirror-symmetric pose, point cloud (g) 22 after transformation (T1) 17 and point cloud (h) 23 after transformation (T2) 18 can be registered with point cloud (f) 21 with similar good scores. The detection or registration of point cloud (g) 22 is physically impractical here. In practice, this problem, for example, leads to the inner wall being accidentally placed on top of the outer wall during rendering when using classic NDT, and therefore the map contains errors.
[0063] Figure 4 An exemplary representation of point cloud (e)7 using the ONDT method is shown. Here, point cloud (e)7 is as follows: Figure 2 As shown in the figure. However, unlike this, here four different surface normals 24, 25, 26, and 27 are additionally shown at points in point cloud (e) 7.
[0064] like Figure 2 As described above, the point cloud (e) 7 is decomposed into elements 9, 10, 11, and 12. However, unlike this, here the points in each element 9, 10, 11, and 12 are further grouped according to their surface normals 24, 25, 26, and 27, where the points in each group have the same surface normals 24, 25, 26, and 27. Instead... Figure 2 In this process, a normal distribution is determined for the points in each of units 9, 10, 11, and 12, and here a normal distribution is determined for the points in each group. As a result, two ONDT regions 28 are generated in units (a) 9, (b) 10, and (d) 12, respectively, instead of one NDT region.
[0065] and Figure 2 Compared to NDT regions 13, 14, and 16, the corresponding ONDT region 28 has a very narrow area, and the midpoint of this area appears with a high probability. Therefore, ONDT represents the scene more accurately than NDT.
[0066] Figure 5 An exemplary registration of a point cloud using the NDT method is shown. Registration is performed stepwise using Newton's method. For simplicity, in... Figure 5 The diagram shows point cloud (e) 7 being transformed into NDT regions 13, 14, 15, and 16 in two steps. Therefore, point cloud transformation step (a) 29 and point cloud transformation step (b) 30 are set.
[0067] Point cloud transformation step (a) 29 indicates that many points are still not in NDT regions (b) 14 and (d) 16, resulting in poor or low scores. Conversely, point cloud transformation step (b) 30 indicates that all points are in all NDT regions 13, 14, 15, and 16. This results in the highest score, and the registration is successfully completed.
[0068] Figure 6 An exemplary determination of surface normals 25, 27 at points in the point cloud is shown. For each point, its successor point is determined according to the scanning process, and a tangential vector 31 is formed between the two points. Surface normals 25, 27 are perpendicular to their respective tangential vectors 31 and aligned with the direction of the sensor origin. In the case of jump 32, the predecessor point can also be selected if it is closer to the reference point than the successor point (see the case of jump tangential vector 33).
[0069] Figure 7 A typical sequence diagram 34 for performing the described method is shown. Empty boxes 35, 36, 39, 40, 43, 44 and loop 45 are shown here to represent the steps of the normal NDT process, dashed boxes 37 and 41 are shown to represent additional new steps in the ONDT process, and dotted boxes 38 and 42 are shown to represent the different steps between the NDT method and the ONDT method.
[0070] First, in step (S1) 37, surface normals are determined for each point of the first point cloud 35 and the second point cloud 36. Then, in step (S2) 38, the first point cloud 35 is represented by means of the ONDT method.
[0071] For registration, in step (S3) 39, a starting point T0 for performing the iterative Newton's method is determined. Based on the progressive transformation of the second point cloud 36, in step (S4) 40, it is determined which cell in the ONDT representation the corresponding point of the second point cloud 36 belongs to. Further, in step (S5) 41, it is determined which group in the ONDT representation (i.e., the ONDT-region) the corresponding point of the second point cloud 36 belongs to. Then, in step (S6) 42, the score, gradient, and Hessian matrix are determined for the points of the second point cloud 36 in each group of the ONDT representation. In step (S7) 43, the termination criterion is checked against the values determined in step (S6) 42. If not, loop 45 from steps (vi) 40 to (vii) 43 is repeated until the termination criterion is met. The registration process is then successfully completed in step (S8) 44.
[0072] List of reference numerals 1. Point cloud (a) 2. Point cloud (b) 3. Point cloud (c) 4. Point cloud (d) 5. Network 6. The overall environment 7. Point cloud (e) 8. Overlapping areas Unit 9 (a) Unit 10 (b) Unit 11 (c) Unit 12 (d) 13 NDT area (a) 14 NDT Area (b) 15 NDT Area (c) 16 NDT area (d) 17 Transformation (T1) 18. Transformation (T2) 19 Laser Scanners 20 objects 21 Point Clouds (f) 22 point clouds (g) 23 Point Clouds (h) 24 Surface normal (a) 25 Surface normal (b) 26 Surface normal (c) 27 Surface normal (d) 28 ONDT area 29. Point cloud transformation steps (a) 30. Point cloud transformation steps (b) 31 Tangential Vector 32 Jump 33 Jump Tangential Vector 34 Sequence diagram 35 First point cloud 36 Second point cloud 37. Step (S1) 38 Steps (S2) Step 39 (S3) 40 steps (S4) Step 41 (S5) 42. Step (S6) Step 43 (S7) Step 44 (S8) 45 cycles
Claims
1. A method for reducing ambiguity in representing and registering point clouds (35, 36), wherein the point clouds (35, 36) are generated by at least one laser scanner (19) or extracted from a navigation map, and wherein a first point cloud (35) and a second point cloud (36) are respectively received as input variables, the method comprising at least the following steps: a) Determine the surface normals (24, 25, 26, 27) at points in the first point cloud (35) and the second point cloud (36). b) Determine the representation of the first point cloud (35), including the following sub-steps: i) Subdivide the first point cloud (35) into units (9, 10, 11, 12). ii) Based on the surface normals (24, 25, 26, 27) at the points of the first point cloud (35), the points of the corresponding units (9, 10, 11, 12) are subdivided into multiple groups. iii) Determine the normal distribution for the points in the corresponding group within each unit, such that multiple normal distributions are derived within a unit accordingly, and c) Register the second point cloud (36) with the first point cloud (35) based on the representation.
2. The method according to claim 1, wherein, In step a), the surface normals (24, 25, 26, 27) at each point of the first point cloud (35) and the second point cloud (36) are determined, wherein the surface normals (24, 25, 26, 27) of the point are determined such that the surface normals (24, 25, 26, 27) of the point are perpendicular to the tangential vector (31) of the point, which originates from the point and is aligned with the successor point of the point.
3. The method according to claim 1 or 2, wherein, In sub-step ii), the points of the corresponding units (9, 10, 11, 12) are grouped such that the orientation space is uniformly subdivided into sub-orientation spaces in different anchoring directions, and the points are assigned to different sub-orientation spaces based on their surface normals (24, 25, 26, 27).
4. The method according to claim 3, wherein in sub-step ii), the corresponding points are divided into at least one sub-orientation space based on the angular distance between their surface normals (24, 25, 26, 27) and the anchoring direction.
5. The method according to claim 1 or 2, wherein, In substep iii), determine the mean and covariance matrix for the points of the corresponding group.
6. The method according to claim 1 or 2, wherein, In step c), an evaluation function is determined for each normal distribution identified in sub-step (iii), which provides the quality of the registration.
7. The method according to claim 1 or 2, wherein, In step c), the transformation function is determined using numerical optimization methods.
8. The method according to claim 7, wherein, Step c) involves determining the transformation function using an iterative Newton method, which includes the following sub-steps: 1) Determine the starting point, 2) Determine which representation unit (9, 10, 11, 12) the corresponding point of the second point cloud (36) belongs to. 3) Determine which representation group the corresponding point of the second point cloud (36) belongs to. 4) Determine the scores, gradients, and Hessian matrices of the points in the second point cloud (36) of each representation group. 5) Check whether the termination criteria are met, and 6) Restart sub-step 2) to sub-step 5) until the termination criterion is met.
9. The method according to claim 8, wherein, Use the last known position as the starting point.
10. A control device for a positioning system, the control device being configured to perform the method according to any one of claims 1 to 9.
11. A computer program product comprising a computer program configured to perform all the steps of the method according to any one of claims 1 to 9.
12. A machine-readable storage medium having a computer program stored thereon, the computer program being configured to perform all the steps of the method according to any one of claims 1 to 9.
13. An autonomous working machine capable of positioning by means of any one of claims 1 to 9.