A robot positioning method and system
Through lidar, point cloud data is acquired and processed, feature map database is generated, and the robot is accurately positioned in harsh environments is achieved using invariant feature matching technology, solving the positioning difficulties in GPS-free signals and unstructured road environments, and improving the Positioning accuracy.
Patent Information
- Application Number
- CN202411449286.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-17
- Publication Date
- 2024-12-17
- Estimated Expiration
- 2044-10-17
AI Technical Summary
In no satellite signals or harsh environments, the robot cannot match the map through traditional satellite positioning or sensors, resulting in the inability to complete accurate positioning, especially in mountainous roads and unstructured road environments.
The point cloud data of the target scene is obtained through lidar, and the feature map database is generated after processing. The data during positioning is matched with the feature map database to determine the robot's location. Specific steps include data acquisition, processing, matching and query, and determining the robot's position using descriptors and similarity calculations of invariant features.
The precise positioning of the robot in harsh environments is achieved, the problem of positioning failure caused by external environments is solved, and the positioning accuracy of the robot under conditions such as no GPS signal or snow accumulation is improved.
Smart Images

Figure CN118962720B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of robot technology, and in particular to a robot positioning method and system. Background Art
[0002] The environmental perception system is a very important component of the robot, and positioning is the basis of the environmental perception system. Commonly used positioning technologies include satellite positioning, inertial navigation, dead reckoning, map matching, and sensor positioning. In recent years, with the expansion of application scenarios, harsh environments such as no satellite signals and no light have posed new challenges to the robot's perception system.
[0003] In the prior art, the accuracy of satellite positioning is greatly reduced due to weak or no GPS signals on mountain roads due to tree obstruction or other reasons. In addition, unstructured roads have fewer environmental features that can be used for positioning. In addition, the snowy environment will cause the information expressed by the three-dimensional point cloud data obtained by sensors such as lidar and depth cameras to be unable to be matched with the original map, making it impossible to complete accurate positioning. Summary of the invention
[0004] To solve the above problems, the present invention provides a robot positioning method in a first aspect, comprising:
[0005] Data collection: using LiDAR to obtain point cloud data of the target scene;
[0006] Data processing: processing the collected data;
[0007] Preset feature map database. Before positioning, collect data of target scene in advance, process the data and generate feature map database.
[0008] Data matching, matching the data collected during positioning with the feature map database;
[0009] Query positioning: According to the query results, determine the sampling points when generating the target descriptor and perform robot positioning.
[0010] In some embodiments, the data processing includes:
[0011] Obtain invariant feature distribution information in point cloud data;
[0012] Based on the invariant feature distribution information, a distribution set of the invariant features in the same coordinate system is obtained;
[0013] Determine the descriptor of the invariant features based on the distribution set of the invariant features in the same coordinate system;
[0014] Perform invariant feature detection on the descriptor of the invariant feature to determine the distribution information of the invariant feature in the descriptor;
[0015] According to the distribution information of the invariant features in the descriptor, the distribution quantity of the invariant features in the descriptor is determined.
[0016] In some embodiments, obtaining a distribution set of invariant features in the same coordinate system based on the invariant feature distribution information includes:
[0017] Construct a reference coordinate system;
[0018] determining coordinates of the first invariant feature in the reference coordinate system;
[0019] Using a coordinate transformation method, the coordinates of the second invariant feature are determined in the reference coordinate system;
[0020] determining a distance between the first invariant feature and the second invariant feature based on the coordinates of the first invariant feature and the coordinates of the second invariant feature;
[0021] According to the distance between the first invariant feature and the second invariant feature and a preset distance threshold, it is determined whether the first invariant feature and the second invariant feature are the same invariant feature.
[0022] In some embodiments, determining whether the first invariant feature and the second invariant feature are the same invariant feature comprises:
[0023] If the distance between the first invariant feature and the second invariant feature is less than a preset distance threshold, the first invariant feature and the second invariant feature are the same invariant feature, and the coordinate information of the second invariant feature is removed from the reference coordinate system;
[0024] If the distance between the first invariant feature and the second invariant feature is greater than a preset distance threshold, the first invariant feature and the second invariant feature are not the same invariant feature, and the coordinate information of the second invariant feature is maintained in the reference coordinate system.
[0025] In some embodiments, the preset feature map database includes:
[0026] Expand the distribution quantity of the invariant features in the descriptor into the quantity distribution of the invariant features in the one-dimensional descriptor;
[0027] According to the quantity distribution of the invariant features in the one-dimensional descriptor, a feature map database is obtained.
[0028] In some embodiments, the data matching includes:
[0029] Expand the quantity distribution of invariant features in the descriptor into the quantity distribution of invariant features in the one-dimensional descriptor;
[0030] The quantitative distribution of the invariant features in the one-dimensional descriptor is matched with the feature map database to determine the target descriptor.
[0031] In some embodiments, determining the target descriptor comprises:
[0032] Assume the size of the one-dimensional descriptor is ; The number of invariant features in the one-dimensional descriptor is distributed as follows: ;
[0033] Assume that the distribution of the number of invariant features matching the descriptor in the feature map database is ;
[0034] Then the similarity calculation function is: ;
[0035] in, is the similarity, ;
[0036] Determine the maximum similarity between the one-dimensional descriptor and the matching descriptor;
[0037] in, ;
[0038] is the maximum similarity, They are and Similarity results of
[0039] If the maximum similarity is greater than a preset similarity threshold, the matching descriptor is determined to be the target descriptor.
[0040] In some embodiments, the query positioning includes:
[0041] Determine the sampling point when generating the target descriptor according to the target descriptor in the feature map database;
[0042] The current position of the robot is determined based on the sampling points that generate the target descriptor.
[0043] In some embodiments, determining the current position of the robot according to the sampling points of the generated target descriptor includes:
[0044] Filter the sampling points with the highest occurrence frequency from the sampling points used to generate the target descriptor;
[0045] The location reliability is calculated based on the number of occurrences of the sampling point with the highest frequency;
[0046] The calculation method of the positioning reliability is as follows:
[0047] ;
[0048] in, For positioning reliability;
[0049] If the positioning confidence is greater than the preset confidence threshold, the sampling point with the highest frequency is determined as the positioning position of the robot, otherwise the positioning fails.
[0050] A second aspect of the present invention provides a robot positioning system, which is used to execute the robot positioning method described in any one of the above solutions, comprising:
[0051] The acquisition module is used to collect point cloud data of the target scene;
[0052] A processing module, used for processing the collected data;
[0053] A preset module, used to preset a feature map database according to processed data;
[0054] A matching module, used to match the processed data with the feature map database;
[0055] The query module is used to determine the robot's position based on the matching results.
[0056] By adopting the above technical solution, the present invention mainly has the following technical effects:
[0057] By collecting data and matching it with the preset feature map database after processing, the sampling points with the highest frequency are determined, and the position of the robot is determined using the positioning confidence. This solves the technical problem that the robot cannot accurately locate itself due to the external environment, and achieves the technical effect of accurately positioning the robot. BRIEF DESCRIPTION OF THE DRAWINGS
[0058] Figure 1 is an exemplary flow chart of a robot positioning method of the present invention;
[0059] Figure 2 is a schematic diagram of a descriptor in a robot positioning method of the present invention;
[0060] Figure 3 It is a schematic diagram of the position distribution of invariant features in a descriptor in a robot positioning method of the present invention;
[0061] Figure 4 It is a schematic diagram of a feature map database in a robot positioning method of the present invention;
[0062] Figure 5 The figure is a schematic structural diagram of a robot positioning system of the present invention. DETAILED DESCRIPTION
[0063] In order to more clearly illustrate the technical solutions of the embodiments of this specification, the following is a brief introduction to the drawings required for the description of the embodiments. Obviously, the drawings described below are only some examples or embodiments of this specification. For ordinary technicians in this field, this specification can also be applied to other similar scenarios based on these drawings without creative work. Unless it is obvious from the language environment or otherwise explained, the same reference numerals in the figures represent the same structure or operation.
[0064] It should be understood that the "system", "device", "unit" and / or "module" used herein are a method for distinguishing different components, elements, parts, portions or assemblies at different levels. However, if other words can achieve the same purpose, the words can be replaced by other expressions.
[0065] As shown in this specification, unless the context clearly indicates an exception, the words "a", "an", "a kind" and / or "the" do not refer to the singular, but also include the plural. Generally speaking, the terms "include" and "comprise" only indicate the inclusion of the steps and elements that have been clearly identified, and these steps and elements do not constitute an exclusive list. The method or device may also include other steps or elements.
[0066] Flowcharts are used in this specification to illustrate the operations performed by the system according to the embodiments of this specification. It should be understood that the preceding or following operations are not necessarily performed precisely in order. Instead, the steps may be processed in reverse order or simultaneously. At the same time, other operations may also be added to these processes, or one or more operations may be removed from these processes.
[0067] Example 1: Please refer to Figure 1 The first aspect of the present invention provides a robot positioning method, comprising the following steps:
[0068] S1, data collection;
[0069] In some embodiments, a laser radar can be used to acquire point cloud data of a target scene. For example, a laser radar system can emit a laser pulse to a target scene through a laser transmitter. When the laser pulse encounters a target object, part of the light will be reflected back and then captured by a receiver of the laser radar. The time from when the laser pulse is emitted to when it is received is measured and combined with the speed of light to calculate the distance from the laser radar to the target point. At the same time, the orientation of each point is determined based on the scanning angle and rotation information of the laser radar. Finally, the position information (distance, angle) of each measurement point is converted into three-dimensional coordinates (X, Y, Z) to form point cloud data.
[0070] S2, data processing;
[0071] In some embodiments, the collected data may be processed to obtain the data required for the robot positioning process.
[0072] In some embodiments, the data processing includes:
[0073] S201, obtaining invariant feature distribution information in point cloud data;
[0074] In some embodiments, when the robot moves forward, the trunk features of the trees on both sides of the road will not change with the presence or absence of snow. Therefore, the trunks of the trees on both sides of the road can be selected as invariant features, and the BEV target detection and clustering algorithm can be used to perform trunk detection on the point cloud data obtained by the lidar frame by frame, thereby obtaining the position distribution information of the trunks within the scanning range of the current frame.
[0075] S202, based on the invariant feature distribution information, obtaining a distribution set of the invariant features in the same coordinate system;
[0076] In some embodiments, after acquiring the position distribution of the tree trunks frame by frame, the position distribution of the tree trunks can be expressed in the same coordinate system by means of coordinate transformation, thereby obtaining a distribution set of invariant features in the same coordinate system.
[0077] In some embodiments, considering that when the coordinate information of the trunk position is transformed into the same coordinate system, due to factors such as errors, the coordinate information of the same trunk may be different after the coordinate information of the trunk position is transformed into the reference coordinate system.
[0078] To solve the above problem, based on the invariant feature distribution information, the distribution set of the invariant features in the same coordinate system is obtained, including:
[0079] Construct a reference coordinate system;
[0080] determining coordinates of the first invariant feature in the reference coordinate system;
[0081] Using a coordinate transformation method, the coordinates of the second invariant feature are determined in the reference coordinate system;
[0082] determining a distance between the first invariant feature and the second invariant feature based on the coordinates of the first invariant feature and the coordinates of the second invariant feature;
[0083] Determining whether the first invariant feature and the second invariant feature are the same invariant feature according to the distance between the first invariant feature and the second invariant feature and a preset distance threshold;
[0084] The determining whether the first invariant feature and the second invariant feature are the same invariant feature comprises:
[0085] If the distance between the first invariant feature and the second invariant feature is less than a preset distance threshold, the first invariant feature and the second invariant feature are the same invariant feature, and the coordinate information of the second invariant feature is removed from the reference coordinate system;
[0086] If the distance between the first invariant feature and the second invariant feature is greater than a preset distance threshold, the first invariant feature and the second invariant feature are not the same invariant feature, and the coordinate information of the second invariant feature is maintained in the reference coordinate system.
[0087] In some embodiments, the feature points obtained after target detection of the same tree at different sampling points often do not overlap after the unified coordinate system, but are distributed in a surface area of δ (δ≈0). Setting an allowable error when unifying the coordinate system can effectively solve the problem that the feature points often do not overlap after the unified coordinate system.
[0088] S203, determining a descriptor of the invariant feature based on a distribution set of the invariant features in the same coordinate system;
[0089] In some embodiments, the descriptor is a feature vector that describes invariant features around a target invariant feature, wherein the feature vector includes distribution information.
[0090] S204, performing invariant feature detection on the descriptor of the invariant feature to determine distribution information of the invariant feature in the descriptor;
[0091] In some embodiments, the descriptor of the invariant feature is a Scan Context descriptor, and the number of input rings and sectors are respectively , , the maximum description radius of the descriptor is , the distance resolution of the descriptor is , the angular resolution is .
[0092] In some embodiments, the calculation process of the Scan Context descriptor mainly includes the following steps:
[0093] Point cloud division: The point cloud is evenly divided into different bins (similar to a grid) according to the azimuth and radius in the coordinate system. These bins are divided into multiple sectors in the azimuth direction and multiple rings in the radius direction. The intersection of each sector and ring is a bin;
[0094] Feature assignment: Each bin is assigned a value as an identifier, usually the highest height value of all points in the bin (i.e. the maximum value of the z-axis coordinate), or 0 if there is no point;
[0095] Generate Scan Context Matrix: Expand each ring to get a two-dimensional image, where each pixel represents a bin and its value is the eigenvalue of the bin;
[0096] For example, , so that the invariant features are obtained in line 6 Distribution of positions in a 16-column grid.
[0097] For more information about Scan Context descriptors, see Figure 2 and Figure 3 As shown, Figure 2 An example of descriptor partitioning is shown in , where the horizontal and vertical axes represent the relative spatial layout and directional information of the features.
[0098] S205, determining the distribution quantity of the invariant features in the descriptor according to the distribution information of the invariant features in the descriptor;
[0099] For example, after obtaining the invariant features in line 6 After the position distribution in the 16-column grid, you can In the 16-column grid, a number is used in each grid to express the number of invariant features that fall into the grid.
[0100] S3, preset feature map database;
[0101] In some embodiments, before the robot performs positioning work, data of the target scene may be collected in advance and processed to generate a feature map database;
[0102] The preset feature map database includes:
[0103] S301, expanding the distribution quantity of the invariant features in the descriptor into the quantity distribution of the invariant features in the one-dimensional descriptor;
[0104] For example, the invariant features are placed in 6 columns The distribution of numbers in the 16-row grid is expanded to the invariant features in 1 row Distribution of quantities in a 96-column grid.
[0105] Step 302: obtaining a feature map database according to the quantity distribution of the invariant features in the one-dimensional descriptor;
[0106] In some embodiments, the feature map database is a collection of the number distribution of multiple invariant features in a one-dimensional descriptor. For example, 10 6-column descriptors are 16 lines of descriptors are merged into 10 lines Distribution of the number of invariant features for the 96 columns.
[0107] For more information about the feature map database, see Figure 4 shown.
[0108] S4, data matching;
[0109] In some embodiments, the robot is positioned by matching the data collected during the positioning process with a feature map database.
[0110] In some embodiments, the data matching includes:
[0111] S401, expanding the quantity distribution of the invariant features in the descriptor into the quantity distribution of the invariant features in the one-dimensional descriptor;
[0112] S402, matching the quantity distribution of the invariant features in the one-dimensional descriptor with the feature map database to determine the target descriptor;
[0113] Determining the target descriptor comprises:
[0114] Assume the size of the one-dimensional descriptor is , the number of invariant features in the one-dimensional descriptor is distributed as ;
[0115] Assume that the distribution of the number of invariant features matching the descriptor in the feature map database is ;
[0116] Then the similarity calculation function is: ;
[0117] in, is the similarity, ;
[0118] The reason is that, due to and They are all quite sparse. Experiments have shown that using the information of zero elements for similarity calculation has very poor results, so similarity calculation can only use the information of non-zero elements.
[0119] Furthermore, considering that the descriptors generated by collecting data at different angles at the same location will be different, the "rotation invariance" property of the Scan Context descriptor needs to be used during matching. During matching, the descriptor needs to be translated in the sector direction, and then the similarity between the translated descriptor and the target descriptor is calculated. and Two descriptors will produce Similarity results.
[0120] In some embodiments, the calculating the matching target descriptor according to the similarity further comprises:
[0121] Determine the maximum similarity between the one-dimensional descriptor and the matching descriptor;
[0122] in, ;
[0123] is the maximum similarity, They are and Similarity results of
[0124] If the maximum similarity is greater than a preset similarity threshold, the matching descriptor is determined to be the target descriptor.
[0125] S5, query positioning;
[0126] The preset feature map database is queried according to the target descriptor, the sampling points when generating the target descriptor are determined according to the query results, and the robot is positioned.
[0127] In some embodiments, the query positioning includes:
[0128] Step 501, determining a sampling point when generating a target descriptor according to the target descriptor in the feature map database;
[0129] Furthermore, after matching with the feature map database and determining the target descriptor, the sampling points for generating the target descriptor may be determined based on the target descriptor. However, the number of target descriptors is usually multiple, so the number of sampling points for generating the target descriptor may be one or more.
[0130] Step 502, determining the current position of the robot according to the sampling points of the generated target descriptor;
[0131] In some embodiments, determining the current position of the robot according to the sampling points of the generated target descriptor includes:
[0132] Filter the sampling points with the highest occurrence frequency from the sampling points used to generate the target descriptor;
[0133] The location reliability is calculated based on the number of occurrences of the sampling point with the highest frequency;
[0134] The calculation method of the positioning reliability is as follows:
[0135] ;
[0136] in, For positioning reliability;
[0137] If the positioning confidence is greater than the preset confidence threshold, the sampling point with the highest frequency is determined as the positioning position of the robot, otherwise the positioning fails.
[0138] The reason is that each descriptor in the feature map database corresponds to a tree. However, when the data is used to generate the map, the data is redundant and each tree may be sampled by multiple sampling points.
[0139] Example 2: Please refer to Figure 5 In a second aspect, the present invention provides a robot positioning system for executing a robot positioning method described in the first embodiment.
[0140] In some embodiments, the robot positioning system may include a collection module 101, a processing module 201, a preset module 301, a matching module 401, and a query module 501;
[0141] In some embodiments, the acquisition module 101 is used to acquire point cloud data of the target scene;
[0142] In some embodiments, the processing module 201 is used to process the collected data;
[0143] In some embodiments, the preset module 301 is used to preset the feature map database according to the processed data;
[0144] In some embodiments, the matching module 401 is used to match the processed data with the feature map database;
[0145] In some embodiments, the query module 501 is used to determine the location of the robot based on the matching results.
[0146] The basic concepts have been described above. Obviously, for those skilled in the art, the above detailed disclosure is only for example and does not constitute a limitation of this specification. Although not explicitly stated here, those skilled in the art may make various modifications, improvements and corrections to this specification. Such modifications, improvements and corrections are suggested in this specification, so such modifications, improvements and corrections still belong to the spirit and scope of the exemplary embodiments of this specification.
[0147] At the same time, this specification uses specific words to describe the embodiments of this specification. For example, "one embodiment", "an embodiment", and / or "some embodiments" refer to a certain feature, structure or characteristic related to at least one embodiment of this specification. Therefore, it should be emphasized and noted that "one embodiment" or "an embodiment" or "an alternative embodiment" mentioned twice or more in different positions in this specification does not necessarily refer to the same embodiment. In addition, certain features, structures or characteristics in one or more embodiments of this specification can be appropriately combined.
[0148] Finally, it should be understood that the embodiments described in this specification are only used to illustrate the principles of the embodiments of this specification. Other variations may also fall within the scope of this specification. Therefore, as an example and not a limitation, alternative configurations of the embodiments of this specification may be considered consistent with the teachings of this specification. Accordingly, the embodiments of this specification are not limited to the embodiments explicitly introduced and described in this specification.
Claims
1. A robot positioning method, It is characterized in that include: Data collection: using LiDAR to obtain point cloud data of the target scene; Data processing: processing the collected data; Preset feature map database. Before positioning, collect data of target scene in advance, process the data and generate feature map database. Data matching, matching the data collected during positioning with the feature map database; Query positioning: According to the query results, determine the sampling points when generating the target descriptor and perform robot positioning; The data processing includes: Obtain invariant feature distribution information in point cloud data; Based on the invariant feature distribution information, a distribution set of the invariant features in the same coordinate system is obtained; Determine the descriptor of the invariant features based on the distribution set of the invariant features in the same coordinate system; Perform invariant feature detection on the descriptor of the invariant feature to determine the distribution information of the invariant feature in the descriptor; According to the distribution information of the invariant features in the descriptor, the distribution quantity of the invariant features in the descriptor is determined; The data matching includes: Expand the quantity distribution of invariant features in the descriptor into the quantity distribution of invariant features in the one-dimensional descriptor; Match the quantity distribution of the invariant features in the one-dimensional descriptor with the feature map database to determine the target descriptor; Determining the target descriptor comprises: Assume the size of the one-dimensional descriptor is , the number of invariant features in the one-dimensional descriptor is distributed as ; Assume that the distribution of the number of invariant features matching the descriptor in the feature map database is , Then the similarity calculation function is: , in, is the similarity, ; Determine the maximum similarity between the one-dimensional descriptor and the matching descriptor; in, , is the maximum similarity, They are and Similarity results of If the maximum similarity is greater than a preset similarity threshold, the matching descriptor is determined to be the target descriptor; The query positioning includes: Determine the sampling point when generating the target descriptor according to the target descriptor in the feature map database; Determine the current position of the robot based on the sampling points of the generated target descriptor; Determining the current position of the robot according to the sampling points of the generated target descriptor comprises: Filter the sampling points with the highest occurrence frequency from the sampling points used to generate the target descriptor; The location reliability is calculated based on the number of occurrences of the sampling point with the highest frequency; The calculation method of the positioning reliability is as follows: , in, For positioning reliability; If the positioning confidence is greater than the preset confidence threshold, the sampling point with the highest frequency is determined as the positioning position of the robot, otherwise the positioning fails.
2. A robot positioning method according to claim 1, It is characterized in that The obtaining of a distribution set of invariant features in the same coordinate system based on the invariant feature distribution information includes: Construct a reference coordinate system; determining coordinates of the first invariant feature in the reference coordinate system; Using a coordinate transformation method, the coordinates of the second invariant feature are determined in the reference coordinate system; determining a distance between the first invariant feature and the second invariant feature based on the coordinates of the first invariant feature and the coordinates of the second invariant feature; According to the distance between the first invariant feature and the second invariant feature and a preset distance threshold, it is determined whether the first invariant feature and the second invariant feature are the same invariant feature.
3. A robot positioning method according to claim 2, It is characterized in that The determining whether the first invariant feature and the second invariant feature are the same invariant feature comprises: If the distance between the first invariant feature and the second invariant feature is less than a preset distance threshold, the first invariant feature and the second invariant feature are the same invariant feature, and the coordinate information of the second invariant feature is removed from the reference coordinate system; If the distance between the first invariant feature and the second invariant feature is greater than a preset distance threshold, the first invariant feature and the second invariant feature are not the same invariant feature, and the coordinate information of the second invariant feature is maintained in the reference coordinate system.
4. A robot positioning method according to claim 3, It is characterized in that The preset feature map database includes: Expand the distribution quantity of the invariant features in the descriptor into the quantity distribution of the invariant features in the one-dimensional descriptor; According to the quantity distribution of the invariant features in the one-dimensional descriptor, a feature map database is obtained.
5. A robot positioning system, It is characterized in that A robot positioning method for executing any one of claims 1 to 4, comprising: The acquisition module is used to collect point cloud data of the target scene; A processing module, used for processing the collected data; A preset module, used to preset a feature map database according to processed data; A matching module, used to match the processed data with the feature map database; The query module is used to determine the robot's position based on the matching results.
Citation Information
Patent Citations
Simultaneous localization and mapping method and device based on rodent model
CN108680177A
Data processing method and device
CN111724438A
Point cloud descriptor construction method and device and closed-loop detection method and device
CN112596063A
Robot positioning method, device and equipment and storage medium
CN116934851A
Global retrieval positioning method for aerial image of unmanned aerial vehicle in denial environment
CN117876723A
