Positioning method, positioning device, vehicle, and computer-readable storage medium
Through the matching of point clouds and maps and the deletion of interference points, combined with pyramid matching and least squares optimization, the problems of poor RTK signals and dynamic object interference are solved, and the stable and accurate initial positioning of the autonomous driving positioning system is achieved.
Patent Information
- Application Number
- CN202111223000.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-10-20
- Publication Date
- 2025-08-08
- Estimated Expiration
- 2041-10-20
AI Technical Summary
The existing autonomous driving positioning system has inaccurate initialization position in scenarios with poor RTK signal, and dynamic object interference in point cloud affects positioning stability and accuracy.
By collecting the matching of the point cloud and the map, deleting data points whose distance is greater than the preset distance, using pyramid matching and least squares method optimization to achieve coarse and fine matching, ensuring that the distance between each data point in the point cloud and the target position point is less than the preset distance, and confirming the initialization position.
It realizes stable and accurate initialization of position positioning in the case of poor RTK signal and dynamic object interference, and improves the accuracy and robustness of the positioning system.
Smart Images

Figure CN114200462B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of autonomous driving positioning technology, and in particular to a positioning method, positioning device, vehicle, and computer-readable storage medium. Background Art
[0002] For autonomous driving positioning systems, an accurate initialization position is crucial, directly affecting the stability of the subsequent positioning system and the possibility of positioning drift. Current autonomous driving positioning systems typically use the position received directly from RTK (Real Time Kinematic, also known as carrier phase differential technology) for initialization. This method is relatively simple, but it also has significant problems. In areas with poor RTK signals, such as enclosed areas like tunnels, the initialization position provided by RTK can be highly inaccurate, directly affecting the initialization of positioning.
[0003] Furthermore, in actual autonomous driving scenarios, it's common for the scanned point cloud to contain dynamic objects, such as vehicles and pedestrians. The presence of dynamic objects can affect the matching between the point cloud and the map. The current approach is to remove the point cloud of dynamic objects during point cloud acquisition. However, if the point cloud recognition accuracy for dynamic objects is insufficient, this approach can also result in the removal of some point clouds of non-dynamic objects, impacting positioning stability and accuracy. Summary of the Invention
[0004] The present application provides a positioning method, a positioning device, a vehicle, and a computer-readable storage medium.
[0005] The present application provides a positioning method, the method comprising:
[0006] Collect the point cloud of the area where the positioning device is located at the current moment;
[0007] Matching the point cloud with a map to determine a target location point in the map that matches the point cloud;
[0008] Determine whether the distance between each data point in the point cloud and its corresponding target location point is less than a preset distance;
[0009] If not, deleting the data points in the point cloud whose distance to the corresponding target position point is greater than or equal to the preset distance;
[0010] The point cloud after deleting the data points is matched with the map until the distance between each data point in the point cloud after deleting the data points and the corresponding target position point is less than the preset distance, and the initialization position of the positioning device is confirmed based on the corresponding target position point.
[0011] The positioning method further includes:
[0012] When the distance between each data point in the point cloud and its corresponding target position point is less than the preset distance, the initialization position of the positioning device is confirmed according to the target position point corresponding to the point cloud.
[0013] The deleting of all or part of the data points in the point cloud whose distance to the corresponding target position point is greater than or equal to the preset distance includes:
[0014] A preset proportion of data points in the point cloud whose distance to the corresponding target position point is greater than or equal to the preset distance are deleted.
[0015] The positioning method further includes:
[0016] Sort all data points in the point cloud whose distance to the corresponding target position point is greater than or equal to the preset distance according to the distance;
[0017] Delete a preset proportion of data points from all the data points according to the distance from largest to smallest.
[0018] The step of matching the point cloud with a map to determine a target location point in the map that matches the point cloud includes:
[0019] Determine the search step size;
[0020] According to the search step, searching the map for an area that meets a preset matching requirement with the point cloud as a target area;
[0021] determining a set of map points of the target area in the map;
[0022] For each data point in the point cloud, searching for the nearest map point in the map point set and establishing a corresponding relationship;
[0023] Based on the corresponding relationship, a target location point that matches the point cloud is determined in the map point set.
[0024] The step of searching, according to the search step, for an area in the map that meets a preset matching requirement with the point cloud as a target area includes:
[0025] Reducing the search step size to update the search step size;
[0026] Based on the updated search step size, the target area and the neighboring areas of the target area are searched for an area that meets a preset matching requirement with the point cloud, so as to update the target area.
[0027] The step of searching, based on the updated search step size, for an area in the target area and an adjacent area of the target area that meets a preset matching requirement with the point cloud to update the target area includes:
[0028] Determining whether the updated search step size is a preset minimum step size;
[0029] If so, the target area corresponding to the current search step is confirmed as the final target area.
[0030] The step of determining the search step size includes:
[0031] Determine the pyramid level and the minimum step size;
[0032] An initial search step size is determined according to the pyramid level and the minimum step size.
[0033] The step of searching, according to the search step, for an area in the map that meets a preset matching requirement with the point cloud as a target area includes:
[0034] Based on the search step, dividing the map into a plurality of search areas;
[0035] Determining the number of matching points in each of the search areas that match the point cloud;
[0036] A degree of matching between the search area and the point cloud is determined based on a ratio of the number of matching points to the total number of points in the search area.
[0037] Wherein, determining the target location point that matches the point cloud in the map point set based on the corresponding relationship includes:
[0038] Calculating each of the corresponding relationships using the least squares method to correct the target position point;
[0039] A corrected target location point is determined in the map point set.
[0040] The step of searching for the nearest map point in the map point set for each data point in the point cloud and establishing a corresponding relationship includes:
[0041] Establishing a binary tree based on a set of map points within a preset range centered at the target location point in the map;
[0042] For each data point in the point cloud, search the binary tree for the nearest map point and establish a corresponding relationship
[0043] The present application also provides a positioning device, which includes a processor and a memory, wherein program data is stored in the memory, and the processor is configured to execute the program data to implement the positioning method as described above.
[0044] The present application also provides a vehicle, which includes the positioning device as described above.
[0045] The present application also provides a computer-readable storage medium, which is used to store program data. When the program data is executed by a processor, it is used to implement the above-mentioned positioning method.
[0046] The beneficial effects of the present application are as follows: the positioning device collects the point cloud of the area where the positioning device is located at the current moment; the point cloud is matched with the map to determine the target position point that matches the point cloud in the map; it is determined whether the distance between each data point in the point cloud and its corresponding target position point is less than the preset distance; if not, the data points in the point cloud whose distance between them and their corresponding target position points is greater than or equal to the preset distance are deleted; the point cloud after the data points are deleted is matched with the map until the distance between each data point in the point cloud after the data points are deleted and the corresponding target position point is less than the preset distance, and the initialization position of the positioning device is confirmed according to the target position point corresponding to the point cloud after the data points are deleted. In the above manner, the positioning method of the present application can effectively remove interference points in the point cloud, thereby achieving stable and accurate initialization position positioning at the current moment. BRIEF DESCRIPTION OF THE DRAWINGS
[0047] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for describing the embodiments. 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 inventive efforts. Among them:
[0048] Figure 1 This is a flow chart of an embodiment of a positioning method provided by the present application;
[0049] Figure 2 yes Figure 1 A schematic flow chart of the sub-steps of step S12 in the positioning method;
[0050] Figure 3 yes Figure 2 A schematic flow chart of the sub-steps of step S122 in the positioning method;
[0051] Figure 4 This is a flowchart of another embodiment of the positioning method provided by the present application;
[0052] Figure 5This is a structural diagram of an embodiment of a positioning device provided by the present application;
[0053] Figure 6 is a structural diagram of another embodiment of the positioning device provided by the present application;
[0054] Figure 7 It is a structural schematic diagram of an embodiment of a vehicle provided by this application;
[0055] Figure 8 It is a structural diagram of an embodiment of a computer-readable storage medium provided by this application. DETAILED DESCRIPTION
[0056] The following will be combined with the drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0057] In view of the above-mentioned RTK itself being limited by scene issues, resulting in very poor received positions, point cloud ICP (Iterative Closest Point) matching, or the image being affected by lighting, which makes it impossible to provide accurate initialization positions, which will have a great impact on autonomous driving positioning equipment. This application proposes a method for providing stable and accurate positioning initialization based on lidar point cloud and map in a coarse-to-fine manner.
[0058] See also Figure 1 , Figure 1 This is a flowchart of an embodiment of the positioning method provided by this application.
[0059] The positioning method of the present application is applied to a positioning device, wherein the positioning device of the present application can be a server or a system comprising a server and a terminal device. Accordingly, the various components of the positioning device, such as the various units, subunits, modules, and submodules, can be entirely disposed in the server or separately disposed in the server and the terminal device.
[0060] Furthermore, the server described above may be hardware or software. When the server is hardware, it may be implemented as a distributed server cluster consisting of multiple servers, or as a single server. When the server is software, it may be implemented as multiple software programs or software modules, such as software or software modules used to provide distributed servers, or as a single software program or software module, without specific limitation herein. In some possible implementations, the positioning method of the embodiments of the present application may be implemented by a processor invoking computer-readable instructions stored in a memory.
[0061] Specifically, if Figure 1 As shown, the positioning method of the embodiment of the present application specifically includes the following steps:
[0062] Step S11: Collecting the point cloud of the area where the positioning device is located at the current moment.
[0063] In the embodiment of the present application, the positioning device obtains the point cloud at the current moment through the laser radar, and obtains the map through information collection technology such as GPS. It should be noted that the map described in the embodiment of the present application Figure 1 It is generally a three-dimensional map that reflects the three-dimensional information of the target location and environment.
[0064] Step S12: Matching the point cloud with the map to determine a target location point in the map that matches the point cloud.
[0065] In the embodiments of the present application, the positioning device matches the point cloud with the map within a set tolerance search range to determine a target location point in the map that matches the point cloud. The target location point is the location point that has the highest degree of match with the point cloud according to matching rules, including the matching rules embodied in the coarse matching and fine matching processes below. Each data point in the point cloud is determined to have a matching target location point.
[0066] Specifically, the process for setting a tolerance search range is as follows: The positioning device obtains the position and 3D coordinates received by the RTK system installed on the autonomous vehicle. It then sets a tolerance value and a tolerance range for RTK accuracy. For example, the tolerance value can be set to 20 meters. With this setup, the positioning device can set a ±20m tolerance search range in each of the x, y, and z directions of the RTK position, which is much larger than the RTK accuracy tolerance range.
[0067] Among them, the preset distance algorithms for calculating the distance between points in the point cloud and the map in this application include but are not limited to the following distance algorithms: chamfer distance algorithm, Geometrist.Distance algorithm, etc.
[0068] A 3D point cloud map is a superposition of laser scans acquired at different locations and times. Because laser scans capture snapshots of the surrounding environment, they often contain moving objects, which may be observed indirectly. Dynamic objects in a point cloud map can degrade map quality and affect positioning accuracy, making it important to remove dynamic objects from the 3D point cloud map. The positioning device of an embodiment of the present application can sense dynamic objects in a 3D point cloud map and then remove dynamic points of the dynamic objects in the point cloud based on the sensed results.
[0069] Specifically, the positioning device of an embodiment of the present application can construct an occupancy grid map, in which voxels represent the occupancy state of a spatial volume over an extended period of time. After generating the occupancy grid map, we use it as a filter to remove dynamic target points from the LiDAR scan before adding them to the map. Furthermore, we use object detection and a novel voxel traversal method to accelerate the process of building the occupancy grid map. Once the occupancy grid map is constructed, dynamic object removal can be performed in real time.
[0070] Step S13: Determine whether the distance between each data point in the point cloud and the corresponding target position point is less than a preset distance.
[0071] In the embodiment of the present application, since the point cloud obtained in step S11 may contain interfering data points of dynamic objects, some erroneous matching point pairs may be generated during the matching process in step 12. Therefore, the positioning device needs to determine whether there are interfering data points of dynamic objects in the matching point pairs by calculating the distance between the matching point pairs. If it is determined that the distance between any data point in the point cloud and its corresponding target position point is greater than or equal to the preset distance, it means that there are interfering data points of dynamic objects in the matching point pairs at this moment, and these interfering data points need to be excluded, and the process proceeds to step S14.
[0072] If the distances between all data points in the point cloud and their corresponding target position points are less than the preset distance, it means that there are no interfering data points of dynamic objects in the matching point pair at this moment, and the accurate initialization position can be output.
[0073] It should be noted that the preset distance in the embodiment of the present application is a distance value set by the staff based on experience, and there is no restriction on the specific value here.
[0074] Step S14: deleting data points in the point cloud whose distance to the corresponding target position point is greater than or equal to a preset distance.
[0075] In an embodiment of the present application, after the positioning device matches the target position in the map through step S12, and the distance between any data point in the point cloud and the matching point of the target position is greater than or equal to the preset distance, it means that there are still some interfering data points of dynamic objects in the point cloud, resulting in some erroneous matching point pairs in the matching process between the point cloud and the map. Therefore, the positioning device needs to delete these erroneous matching point pairs.
[0076] On the one hand, the positioning device can delete all data points whose distance from the target location point is greater than or equal to a preset distance; on the other hand, the positioning device can also delete some data points whose distance from the target location point is greater than or equal to a preset distance according to a preset ratio, thereby improving the fault tolerance of the positioning method.
[0077] Specifically, if the positioning device determines that the distance between a number of points in the point cloud and the matching point of the target location is greater than or equal to a first preset threshold, it deletes from the point cloud a certain percentage k of points whose distance is greater than the first preset distance. On the one hand, the positioning device can randomly delete the points whose distance is greater than the certain percentage k of the first preset distance; on the other hand, the positioning device can also sort the points whose distance is greater than the first preset distance from largest to smallest according to distance, and delete the certain percentage k of points that are ranked first.
[0078] Step S15: Match the point cloud after deleting the data points with the map until the distance between each data point in the point cloud after deleting the data points and the corresponding target position point is less than the preset distance, and confirm the initialization position of the positioning device according to the target position point corresponding to the point cloud after deleting the data points.
[0079] After deleting the data point, the positioning device re-executes the point cloud and map matching process in step S12. This process continues iteratively until the distance between each point in the point cloud and the matching point at the target location is less than a first preset threshold. Initial positioning is then performed based on the target location, providing an accurate initial position for the autonomous vehicle in motion.
[0080] Furthermore, the positioning device of the embodiment of the present application can also use a pyramid matching method to match the point cloud with the target position in the map. For the specific matching process of the target position, please continue to refer to Figure 2 , Figure 2 yes Figure 1 A schematic flow chart of the sub-steps of step S12 in the positioning method.
[0081] Specifically, if Figure 2 As shown, step S12 of the positioning method in the embodiment of the present application specifically includes the following sub-steps:
[0082] Step S121: Determine the search step size.
[0083] In the embodiment of the present application, the positioning device determines the pyramid levels and the step size corresponding to each pyramid level. To ensure that the search results are within a reasonable range, it is necessary to ensure that the maximum step size in the pyramid level is within the tolerance search range. Specifically, the step size and tolerance search range of the embodiment of the present application should meet the following conditions:
[0084] min_step*2^n<range
[0085] Where min_step is the minimum search step, n is the pyramid level, and range is the tolerance search range. Therefore, the maximum search step can be expressed as: max_step = min_step * 2^n.
[0086] Step S122: Based on the search step, search the map for an area that meets the preset matching requirements with the point cloud as the target area.
[0087] In this embodiment of the present application, after determining the search step size, the positioning device first calculates the target area corresponding to the optimal match score at the maximum pyramid level and the maximum step size max_step. The target area is the map area with the highest match score with the point cloud among the multiple search areas divided by the map.
[0088] Taking the maximum pyramid level and the maximum step length as an example, the search for the target area in this embodiment of the application is detailed in the following. Figure 3 , Figure 3 yes Figure 2 A flowchart of the sub-steps of step S122 in the positioning method.
[0089] Specifically, if Figure 3 As shown, step S122 of the positioning method in the embodiment of the present application specifically includes the following sub-steps:
[0090] Step S1221: Divide the map into multiple search areas based on the search step size.
[0091] In an embodiment of the present application, the positioning device divides the map into multiple search areas based on the maximum search step size.
[0092] Step S1222: Determine the number of matching points in each search area that match the point cloud.
[0093] In this embodiment of the present application, the positioning device traverses multiple search areas on the map based on the point cloud, searching for matching points between the point cloud and each search area. If the positioning device successfully finds a matching point within the search area based on the point cloud, the matching score is incremented by 1. If the positioning device cannot find a matching point within the search area based on the point cloud, the matching score remains unchanged.
[0094] After the positioning device has traversed all the search areas in the map, it obtains the final matching score, which corresponds to the number of matching points between the map and the point cloud.
[0095] Step S1223: Determine the degree of matching between the search area and the point cloud based on the ratio of the number of matching points to the total number of points in the search area.
[0096] In the embodiment of the present application, the positioning device uses the ratio of the number of matching points to the total number of points in the search area, that is, the total matching score is divided by the total number of points in the search area to obtain the final score of the search area, that is, the matching degree. The formula for calculating the matching degree is as follows:
[0097] score=total score / points number
[0098] Among them, score is the matching degree, total score is the number of matching points, and points number is the total number of points in the search area.
[0099] It should be noted that the search method for other step sizes is basically the same as the search method for the maximum step size, and will not be described in detail here.
[0100] Step S123: Reduce the search step size to update the search step size.
[0101] In an embodiment of the present application, the positioning device calculates the matching degrees of all search areas corresponding to the maximum pyramid level according to the maximum step size, and selects the search area with the largest matching degree as the target area for the next pyramid level search, that is, the optimal position.
[0102] The positioning device reduces the maximum step size to half of the original one and obtains the next step size corresponding to the next pyramid level.
[0103] Step S124: Based on the search step, search the target area and the neighboring areas of the target area in the map for an area that meets the preset matching requirements with the point cloud, so as to update the target area.
[0104] In the embodiment of the present application, the positioning device searches the target area and its adjacent areas using a next-level step size to obtain the target area of the pyramid level, so as to update the target area of the maximum pyramid level.
[0105] The range of the neighboring area can be set to twice the step size of the next layer, that is, 2×current_step. Adding the neighboring area as the search area can optimize the search efficiency and improve the search accuracy.
[0106] The positioning device repeatedly performs steps S121 to S124 until the target area search of all pyramid levels is completed. When the positioning device iteratively searches the last level of the pyramid, the search area with the highest matching degree among the search areas in the last level is the optimal initialization position.
[0107] In an embodiment of the present application, the positioning device collects a point cloud of the area where the positioning device is located at the current moment; matches the point cloud with a map to determine a target location point in the map that matches the point cloud; determines whether the distance between each data point in the point cloud and its corresponding target location point is less than a preset distance; if not, deletes all or part of the data points in the point cloud whose distance between the target location point and the data point is greater than or equal to the preset distance; matches the point cloud after deleting the data points with the map until the distance between each data point in the point cloud after deleting the data points and its corresponding target location point is less than the preset distance, and confirms the initialization position of the positioning device based on the target location point corresponding to the data point. In the above manner, the positioning method of the present application can effectively remove interference points in the point cloud, thereby achieving stable and accurate initialization position positioning at the current moment.
[0108] The positioning method of the above embodiment achieves a coarse match for the precise initialization position. The embodiment of the present application can further achieve a fine match for the initialization position based on the coarse matching result of the positioning method of the above embodiment to further improve the accuracy of the initialization position.
[0109] Please refer to the following for details: Figure 4 , Figure 4 This is a flow chart of another embodiment of the positioning method provided by the present application.
[0110] Specifically, if Figure 4 As shown, the positioning method of the embodiment of the present application specifically includes the following steps:
[0111] Step S21: Determine a map point set based on the target location in the map.
[0112] Step S22: For each point in the point cloud, search for the nearest map point in the map point set and establish a corresponding relationship.
[0113] Affected by the minimum step accuracy, the initialization position obtained by the coarse matching result of the positioning method in the above embodiment is not accurate enough. The positioning device in the embodiment of the present application adopts a fine alignment method to further refine the initialization position.
[0114] Specifically, the positioning device establishes a kd-tree at the optimal initialization position obtained by the positioning method of the above embodiment. For each point in the point cloud, the kd-tree is searched for the nearest map point and a corresponding relationship is established. The corresponding relationship can be a mapping relationship that reflects a one-to-one correspondence between a data point in the point cloud and the nearest map point in the map.
[0115] Step S23: using the least square method to calculate each corresponding relationship to correct the target position.
[0116] In the embodiments of the present application, the positioning device uses LM (Levenberg-Marquardt) least squares optimization to solve the matching relationship and calculate the cost function between the point cloud and the map. The lower the cost function, the better the corresponding matching result. Therefore, the positioning device can determine the optimal target location among the map points based on the cost value of the cost function.
[0117] Specifically, the cost function between point cloud and map matching is:
[0118]
[0119] Among them, R is the rotation matrix, T is the translation, P i is a point in the point cloud, Q i is the matching point on the map and the point cloud.
[0120] Step S24: Positioning the current moment according to the corrected target position.
[0121] In an embodiment of the present application, the positioning device uses the optimal target position determined in step S23 as the positioning initialization position of the autonomous driving vehicle.
[0122] Furthermore, the positioning device can also calculate the optimal target position of several continuously acquired frames of lidar point cloud computing and construct an initialization position interpolator; then, the initialization position interpolator is used to interpolate the system time at the next startup moment to provide a more accurate initialization position for the moving autonomous driving vehicle, solving the problem of poor RTK signal in some closed areas.
[0123] Those skilled in the art will understand that in the above-mentioned method of the specific implementation method, the writing order of each step does not mean a strict execution order and does not constitute any limitation on the implementation process. The specific execution order of each step should be determined by its function and possible internal logic.
[0124] In order to implement the positioning method of the above embodiment, this application also proposes a positioning device, please refer to Figure 5 , Figure 5It is a structural diagram of an embodiment of a positioning device provided by this application.
[0125] like Figure 5 As shown, the positioning device 500 provided in this application includes a point cloud acquisition module 51 , a point cloud matching module 52 , a distance acquisition module 53 , a point cloud deletion module 54 and a position positioning module 55 .
[0126] The point cloud acquisition module 51 is used to collect the point cloud of the area where the positioning device is located at the current moment.
[0127] The point cloud matching module 52 is configured to match the point cloud with a map to determine a target location point in the map that matches the point cloud.
[0128] The distance acquisition module 53 is used to determine whether the distance between each data point in the point cloud and the corresponding target position point is less than a preset distance.
[0129] The point cloud deletion module 54 is configured to delete all or part of the data points in the point cloud whose distance to the corresponding target position point is greater than or equal to a preset distance when the distance between the point cloud point and the corresponding target position point is greater than or equal to the preset distance.
[0130] The position positioning module 55 is used to match the point cloud after the data points are deleted with the map until the distance between each data point in the point cloud after the data points are deleted and its corresponding target position point is less than the preset distance, and confirm the initialization position of the positioning device according to the target position point corresponding to the point cloud after the data points are deleted.
[0131] In order to implement the positioning method of the above embodiment, this application also proposes another positioning device, please refer to Figure 6 , Figure 6 It is a structural diagram of another embodiment of the positioning device provided by this application.
[0132] The positioning device 600 of the embodiment of the present application includes a memory 61 and a processor 62 , wherein the memory 61 and the processor 62 are coupled.
[0133] The memory 61 is used to store program data, and the processor 62 is used to execute the program data to implement the positioning method described in the above embodiment.
[0134] In this embodiment, the processor 62 may also be referred to as a CPU (Central Processing Unit). The processor 62 may be an integrated circuit chip having signal processing capabilities. The processor 62 may also be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. A general-purpose processor may be a microprocessor, or the processor 62 may be any conventional processor.
[0135] Furthermore, the positioning device 600 of the embodiment of the present application also includes a laser radar 63, wherein the laser radar 63 is connected to the processor 62, and is used to collect point cloud data and transmit the point cloud data to the processor 62.
[0136] To implement the positioning method of the above embodiment, this application also provides a vehicle 700, please refer to Figure 7 , Figure 7 It is a structural schematic diagram of an embodiment of a vehicle provided by this application.
[0137] The vehicle 700 of the embodiment of the present application includes a positioning device 71, and the positioning method described in the above embodiment is implemented by the positioning device 71. The specific structure of the positioning device 71 is the same as that of the positioning device 600 described in the above embodiment, and will not be repeated here.
[0138] To implement the positioning method of the above embodiment, the present application also provides a computer-readable storage medium, such as Figure 8 As shown, the computer-readable storage medium 800 is used to store program data 81. When the program data 81 is executed by the processor, it is used to implement the positioning method described in the above embodiment.
[0139] The present application also provides a computer program product, wherein the computer program product includes a computer program, and the computer program is operable to enable a computer to execute the positioning method as described in the embodiment of the present application. The computer program product can be a software installation package.
[0140] The positioning method described in the above embodiment of the present application, when implemented in the form of a software functional unit and sold or used as an independent product, can be stored in a device, such as a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) or a processor to execute all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0141] The above description is only an implementation method of the present application and does not limit the patent scope of the present application. Any equivalent structure or equivalent process transformation made using the contents of the description and drawings of this application, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present application.
Claims
1. A positioning method, characterized in that: The positioning method includes: Collect the point cloud of the area where the positioning device is located at the current moment; Determine the search step size; According to the search step, searching the map for an area that meets a preset matching requirement with the point cloud as a target area; determining a set of map points of the target area in the map; For each data point in the point cloud, searching for the nearest map point in the map point set and establishing a corresponding relationship; Based on the corresponding relationship, determining a target location point that matches the point cloud in the map point set; Determine whether the distance between each data point in the point cloud and the corresponding target location point is less than a preset distance; If not, deleting the data points in the point cloud whose distance to the corresponding target position point is greater than or equal to the preset distance; Matching the point cloud after the data points are deleted with the map until the distance between each data point in the point cloud after the data points are deleted and the corresponding target location point is less than the preset distance, and confirming the initialization position of the positioning device according to the target location point corresponding to the point cloud after the data points are deleted; The step of searching, according to the search step, for an area in the map that meets a preset matching requirement with the point cloud as a target area includes: Reducing the search step size to update the search step size; Based on the updated search step size, the target area and the neighboring areas of the target area are searched for an area that meets a preset matching requirement with the point cloud, so as to update the target area.
2. The positioning method according to claim 1, wherein: The positioning method further includes: When the distance between each data point in the point cloud and the corresponding target position point is less than the preset distance, the initialization position of the positioning device is confirmed according to the target position point corresponding to the point cloud.
3. The positioning method according to claim 1, wherein: The deleting of data points in the point cloud whose distance from the corresponding target position point is greater than or equal to the preset distance includes: A preset proportion of data points in the point cloud whose distance to the corresponding target position point is greater than or equal to the preset distance are deleted.
4. The positioning method according to claim 3, characterized in that: The positioning method further includes: Sort the data points in the point cloud whose distance to the corresponding target position point is greater than or equal to the preset distance according to the distance; According to the distance from large to small, a preset proportion of data points with a distance greater than the preset distance are deleted.
5. The positioning method according to claim 1, wherein: The step of searching, based on the updated search step, for an area in the target area and an adjacent area of the target area that meets a preset matching requirement with the point cloud to update the target area includes: Determining whether the updated search step size is a preset minimum step size; If so, the target area corresponding to the current search step is confirmed as the final target area.
6. The positioning method according to claim 1, characterized in that: Determining the search step size includes: Determine the pyramid level and the minimum step size; An initial search step size is determined according to the pyramid level and the minimum step size.
7. The positioning method according to claim 1, characterized in that: The step of searching, in the map, for an area that meets a preset matching requirement with the point cloud as a target area according to the search step size includes: Based on the search step, dividing the map into a plurality of search areas; Determining the number of matching points in each of the search areas that match the point cloud; A degree of matching between the search area and the point cloud is determined based on a ratio of the number of matching points to the total number of points in the search area.
8. The positioning method according to claim 1, wherein: Determining a target location point that matches the point cloud in the map point set based on the corresponding relationship includes: Calculating each of the corresponding relationships using the least squares method to correct the target position point; A corrected target location point is determined in the map point set.
9. The positioning method according to claim 1 or 8, characterized in that: For each data point in the point cloud, searching for the nearest map point in the map point set and establishing a corresponding relationship includes: Establishing a binary tree based on a set of map points within a preset range centered at the target location point in the map; For each data point in the point cloud, the nearest map point is searched in the binary tree and a corresponding relationship is established.
10. A positioning device, characterized in that: The positioning device includes a processor and a memory, wherein program data is stored in the memory, and the processor is configured to execute the program data to implement the positioning method according to any one of claims 1 to 9.
11. A vehicle, characterized in that: The vehicle comprises the positioning device according to claim 10.
12. A computer-readable storage medium, characterized in that The computer-readable storage medium is used to store program data, and when the program data is executed by a processor, it is used to implement the positioning method according to any one of claims 1 to 9.
Citation Information
Patent Citations
Target positioning method and device, mobile robot and readable storage medium
CN111612841A
Positioning method and device, electronic equipment and storage medium
CN113447032A
Positioning method, positioning system, vehicle and computer readable storage medium
CN114509774A