Positioning method, positioning device and storage medium of vehicle

By converting the point cloud map of the vehicle's operating area into a raster map, determining the initial position and calculating the probability value of the hypothetical position, and using ICP matching technology, the problem of long vehicle positioning time is solved, achieving real-time, efficient, and accurate positioning.

CN115546298BActive Publication Date: 2025-10-24MULTIWAY ROBOTICS (SHENZHEN) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211163061.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-09-23
Publication Date
2025-10-24
Estimated Expiration
2042-09-23

AI Technical Summary

Technical Problem

In existing technologies, vehicle positioning requires the vehicle to be moved to a fixed location to determine its position, resulting in long positioning time and low positioning efficiency.

Method used

The point cloud map of the vehicle's current operating area is converted into a raster map. An initial position is specified, and a hypothetical position is determined by the point-scattering results within the scattered point range. The probability value is calculated based on the distance between the hypothetical position and obstacles. Finally, the actual position of the vehicle in the point cloud map is determined by ICP matching.

Benefits of technology

This enables real-time vehicle positioning, improving positioning efficiency and accuracy, and reducing the risk of positioning failure due to damage to fixed points.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115546298B_ABST
    Figure CN115546298B_ABST
Patent Text Reader

Abstract

The application discloses a positioning method and device of a vehicle and a storage medium. The method comprises the following steps: converting a point cloud map corresponding to a current running area of a vehicle into a grid map, and determining an initial position of the vehicle in the grid map; determining a point scattering range based on the initial position, and determining a corresponding virtual position of the vehicle based on a point scattering result in the point scattering range; determining a probability value of the virtual position being an actual position according to a distance between the virtual position and an obstacle; and determining an actual position of the vehicle in the point cloud map according to the probability value. The method solves the problem of long positioning time of the vehicle, and improves the positioning efficiency of the vehicle.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the positioning field, in particular to a vehicle positioning method, a positioning device and a storage medium. BACKGROUND

[0002] With the rapid development of the logistics industry, amr (Autonomous Mobile Robots) is used more and more frequently in industrial applications, and vehicle positioning is crucial in this process. At present, a plurality of fixed points will be set in the running environment of the vehicle, and the vehicle can only determine its own position by moving to the fixed point and recognizing the fixed point to realize positioning. In the process of realizing the present application, the inventor found that at least the following problems exist in the prior art: the vehicle needs to move to the fixed point to position each time, and the positioning time is relatively long. SUMMARY

[0003] The embodiments of the present application provide a vehicle positioning method, a positioning device and a storage medium, which aims to improve the vehicle positioning efficiency.

[0004] The embodiments of the present application provide a vehicle positioning method, which comprises:

[0005] Converting a point cloud map corresponding to a current running area of a vehicle into a grid map, and determining an initial position of the vehicle in the grid map;

[0006] Determining a point scattering range based on the initial position, and determining a virtual position corresponding to the vehicle based on a point scattering result in the point scattering range;

[0007] Determining a probability value that the virtual position is an actual position according to a distance between the virtual position and an obstacle;

[0008] Determining an actual position of the vehicle in the point cloud map according to the probability value.

[0009] Optionally, the step of determining the probability value that the virtual position is the actual position according to the distance between the virtual position and the obstacle comprises:

[0010] Judging whether the virtual position is located in a grid of the grid map;

[0011] If yes, determining a probability value of an occupied grid as the probability value that the virtual position is the actual position;

[0012] If no, obtaining an occupied grid closest to the virtual position, and determining the probability value that the virtual position is the actual position according to a distance between the virtual position and the occupied grid.

[0013] Optionally, the step of determining the actual position of the vehicle in the point cloud map according to the probability value comprises:

[0014] determining a distance difference value between each of the hypothetical positions according to the probability value;

[0015] classifying each of the hypothetical positions based on the distance difference value and a preset distance value to obtain clusters, each class representing a cluster;

[0016] determining a first point set according to the number of hypothetical positions in each of the clusters and the coordinates of each of the hypothetical positions;

[0017] performing ICP matching between the first point set and the point cloud map to obtain the actual position of the vehicle in the point cloud map.

[0018] Optionally, the step of determining a first point set according to the number of hypothetical positions in each of the clusters and the coordinates of each of the hypothetical positions comprises:

[0019] sorting the clusters according to the number of hypothetical positions in each of the clusters, and selecting at least two target clusters from the sorted clusters;

[0020] determining the centroid coordinates of each of the target clusters according to the number of hypothetical positions in each of the target clusters and the coordinates of each of the hypothetical positions;

[0021] generating the first point set according to the centroid coordinates.

[0022] Optionally, the step of performing ICP matching between the first point set and the point cloud map to obtain the actual position of the vehicle in the point cloud map comprises:

[0023] matching each of the hypothetical positions in the first point set with a corresponding map point cloud in the point cloud map;

[0024] determining the actual position of the vehicle in the point cloud map according to the matching result.

[0025] Optionally, the step of matching each of the hypothetical positions in the first point set with a corresponding map point cloud in the point cloud map comprises:

[0026] matching the map point cloud closest to each of the hypothetical positions in the first point set from the point cloud map, and generating a second point set according to each of the map point clouds;

[0027] determining a third point set according to the centroid coordinates corresponding to the first point set, and determining a fourth point set according to the centroid coordinates corresponding to the second point set;

[0028] generate a covariance matrix according to the third point set and the fourth point set, and determine a rotation matrix and a translation matrix according to the covariance matrix;

[0029] transform the first point set based on the rotation matrix and the translation matrix to obtain a fifth point set;

[0030] determine an iterative judgment value according to the imaginary position in the fifth point set and the map point cloud in the second point set;

[0031] The step of determining the actual position of the vehicle in the point cloud map according to the matching result comprises:

[0032] When the iterative judgment value is less than a preset value, stop iteration and determine the actual position of the vehicle in the point cloud map.

[0033] Optionally, the step of transforming the point cloud map corresponding to the current running area of the vehicle into a grid map comprises:

[0034] performing Gaussian blur processing on the point cloud map corresponding to the current running area of the vehicle;

[0035] performing rasterization processing on the point cloud map after Gaussian blur processing to obtain the grid map.

[0036] In addition, to achieve the above object, the present application further provides a positioning device of a vehicle, which comprises a memory, a processor and a positioning program of a vehicle stored in the memory and executable on the processor, and the positioning program of the vehicle, when executed by the processor, implements the steps of the positioning method of the vehicle.

[0037] In addition, to achieve the above object, the present application further provides a computer readable storage medium, which stores a positioning program of a vehicle, and the positioning program of the vehicle, when executed by a processor, implements the steps of the positioning method of the vehicle.

[0038] The technical scheme of the vehicle positioning method, the positioning device and the storage medium provided in the embodiment of the application is as follows: a point cloud map corresponding to a current running area of a vehicle is converted into a grid map, an initial position of the vehicle in the grid map is specified, a point scattering range is determined according to the initial position, a corresponding virtual position of the vehicle is determined according to a point scattering result in the point scattering range, a probability value of each virtual position being an actual position is determined according to a distance between each virtual position and an obstacle, and then an actual position of the vehicle in the point cloud map is determined according to the probability value. The technical scheme solves the problem of long vehicle positioning time. Since an initial value position can be given according to the approximate position of the vehicle in the map, point scattering calculation is performed around the initial value, a local optimal value is given according to the calculated probability value for ICP matching, and then the actual position of the vehicle is determined according to the actual matching rate of the point cloud and the map, so that the vehicle can determine its own position in real time, and the vehicle positioning efficiency is improved. BRIEF DESCRIPTION OF DRAWINGS

[0039] Figure 1 A structural schematic diagram of a vehicle positioning device related to the embodiment of the application is shown in the figure.

[0040] Figure 2 A flowchart of a first embodiment of the vehicle positioning method of the application is shown in the figure.

[0041] The implementation, functional features and advantages of the application will be further described with reference to the embodiments and the accompanying drawings. DETAILED DESCRIPTION

[0042] In order to improve the vehicle positioning efficiency, the application provides a vehicle positioning method. The vehicle positioning method converts a point cloud map corresponding to a current running area of a vehicle into a grid map, specifies an initial position of the vehicle in the grid map, determines a point scattering range according to the initial position, determines a corresponding virtual position of the vehicle according to a point scattering result in the point scattering range, determines a probability value of each virtual position being an actual position according to a distance between each virtual position and an obstacle, and then determines an actual position of the vehicle in the point cloud map according to the probability value. Since an initial value position can be given according to the approximate position of the vehicle in the map, point scattering calculation is performed around the initial value, a local optimal value is given according to the calculated probability value for ICP matching, and then the actual position of the vehicle is determined according to the actual matching rate of the point cloud and the map, so that the vehicle can determine its own position in real time, and the vehicle positioning efficiency is improved.

[0043] To better understand the above technical solutions, exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although exemplary embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments described herein. Instead, these embodiments are provided to enable a more thorough understanding of the present disclosure and to fully convey the scope of the present disclosure to those skilled in the art.

[0044] like Figure 1 As shown, Figure 1 This is a schematic diagram of the structure of the hardware operating environment of the vehicle positioning device involved in the embodiment of the present invention.

[0045] like Figure 1 As shown, the positioning device of the vehicle may include: a processor 1001, such as a CPU, a memory 1005, a user interface 1003, a network interface 1004, and a communication bus 1002. Among them, the communication bus 1002 is used to realize the connection and communication between these components. The user interface 1003 may include a display screen (Display), an input unit such as a keyboard (Keyboard), and the user interface 1003 may optionally include a standard wired interface and a wireless interface. The network interface 1004 may optionally include a standard wired interface and a wireless interface (such as a WI-FI interface). The memory 1005 may be a high-speed RAM memory or a stable memory (non-volatile memory), such as a disk memory. The memory 1005 may optionally be a storage device independent of the aforementioned processor 1001.

[0046] Those skilled in the art will understand that Figure 1 The structure of the vehicle positioning device shown in the figure does not constitute a limitation on the vehicle positioning device, and may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently.

[0047] like Figure 1 As shown, the memory 1005 as a storage medium may include an operating system, a network communication module, a user interface module, and a vehicle positioning program. The operating system is a program that manages and controls the hardware and software resources of the vehicle positioning device, the vehicle positioning program, and the operation of other software or programs.

[0048] exist Figure 1 In the vehicle positioning device shown, the user interface 1003 is mainly used to connect to the terminal and communicate data with the terminal; the network interface 1004 is mainly used for the background server and communicates data with the background server; the processor 1001 can be used to call the vehicle positioning program stored in the memory 1005.

[0049] In the embodiment, the positioning device of the vehicle comprises a memory 1005, a processor 1001, and a positioning program of the vehicle stored in the memory and executable on the processor, wherein:

[0050] When the processor 1001 invokes the positioning program of the vehicle stored in the memory 1005, the following operations are performed:

[0051] The point cloud map corresponding to the current running area of the vehicle is converted into a grid map, and an initial position of the vehicle in the grid map is determined;

[0052] A scattering range is determined based on the initial position, and a hypothetical position corresponding to the vehicle is determined based on a scattering result in the scattering range;

[0053] According to the distance between the hypothetical position and the obstacle, a probability value of the hypothetical position being the actual position is determined;

[0054] According to the probability value, the actual position of the vehicle in the point cloud map is determined.

[0055] When the processor 1001 invokes the positioning program of the vehicle stored in the memory 1005, the following operations are also performed:

[0056] It is judged whether the hypothetical position is located in a grid of the grid map;

[0057] If yes, a probability value of an occupied grid is determined as the probability value of the hypothetical position being the actual position;

[0058] If no, the nearest occupied grid to the hypothetical position is obtained, and the probability value of the hypothetical position being the actual position is determined according to the distance between the hypothetical position and the occupied grid.

[0059] When the processor 1001 invokes the positioning program of the vehicle stored in the memory 1005, the following operations are also performed:

[0060] According to the probability value, a distance difference value between each of the hypothetical positions is determined;

[0061] Each of the hypothetical positions is classified based on the distance difference value and a preset distance value, and a cluster is obtained, each category representing a cluster;

[0062] A first point set is determined according to the number of hypothetical positions in each of the clusters and the coordinates of each of the hypothetical positions;

[0063] ICP matching is performed between the first point set and the point cloud map, and the actual position of the vehicle in the point cloud map is obtained.

[0064] When the processor 1001 invokes the positioning program of the vehicle stored in the memory 1005, the following operations are further performed:

[0065] The clusters are sorted according to the number of hypothetical positions in each cluster, and at least two target clusters are selected from the sorted clusters;

[0066] The centroid coordinates of each target cluster are obtained according to the number of hypothetical positions in each target cluster and the coordinates of each hypothetical position;

[0067] The first point set is generated according to the centroid coordinates.

[0068] When the processor 1001 invokes the positioning program of the vehicle stored in the memory 1005, the following operations are further performed:

[0069] Each hypothetical position in the first point set is matched with the corresponding map point cloud in the point cloud map;

[0070] The actual position of the vehicle in the point cloud map is determined according to the matching result.

[0071] When the processor 1001 invokes the positioning program of the vehicle stored in the memory 1005, the following operations are further performed:

[0072] The map point clouds closest to each hypothetical position in the first point set are matched from the point cloud map, and a second point set is generated according to each map point cloud;

[0073] A third point set is determined according to the centroid coordinates corresponding to the first point set, and a fourth point set is determined according to the centroid coordinates corresponding to the second point set;

[0074] A covariance matrix is generated according to the third point set and the fourth point set, and a rotation matrix and a translation matrix are determined according to the covariance matrix;

[0075] The first point set is converted based on the rotation matrix and the translation matrix to obtain a fifth point set;

[0076] An iterative judgment value is determined according to the hypothetical positions in the fifth point set and the map point clouds in the second point set;

[0077] The step of determining the actual position of the vehicle in the point cloud map according to the matching result comprises:

[0078] When the iterative judgment value is less than a preset value, the iteration is stopped and the actual position of the vehicle in the point cloud map is determined.

[0079] When the processor 1001 invokes the positioning program of the vehicle stored in the memory 1005, the following operations are further performed:

[0080] performing Gaussian blur processing on the point cloud map corresponding to the current running area of the vehicle;

[0081] performing rasterization processing on the point cloud map after the Gaussian blur processing to obtain the grid map.

[0082] As shown in the first embodiment of the present application, the positioning method of the vehicle of the present application comprises the following steps: Figure 2

[0083] In step S110, the point cloud map corresponding to the current running area of the vehicle is converted into a grid map, and the initial position of the vehicle in the grid map is determined.

[0084] In the present embodiment, with the rapid development of the logistics industry, autonomous mobile robots are increasingly developed. Autonomous mobile robots can be used to transport goods. The autonomous mobile robot is a movable vehicle. At present, during the movement of the vehicle, a two-dimensional code is usually set in the vehicle movement area, and the vehicle needs to run to the two-dimensional code position for two-dimensional code recognition, thereby positioning the vehicle. In this process, since the vehicle needs to move to the corresponding two-dimensional code position each time to be positioned, the positioning time is long and the positioning efficiency is low. At the same time, during the vehicle positioning process, if the two-dimensional code is damaged, the problem of being unable to position or reducing the positioning accuracy may occur. Therefore, in order to solve the above problems, the present application proposes a positioning method of a vehicle, which can determine the approximate position of the vehicle based on the pre-built point cloud map, and then accurately position through the ICP matching algorithm, so that the vehicle can determine its own position in real time, not only improving the positioning efficiency, but also improving the positioning accuracy.

[0085] In the present embodiment, the point cloud map corresponding to the current running area of the vehicle is generated by pre-riding the vehicle in the running area and scanning the point cloud data by laser radar, and the point cloud map is bound with the running area, so that the point cloud map can be directly called in subsequent use. After obtaining the point cloud map, in order to enable the vehicle to be quickly positioned, an initial position can be specified for the vehicle, which is a rough position of the vehicle in the current running area. Alternatively, the point cloud map corresponding to the current running area of the vehicle can be rasterized to obtain a grid map, and the initial position of the vehicle on the grid map is determined. The resolution of each grid in the grid map can be divided according to the actual situation. In addition to determining the initial position of the vehicle in the grid map, the position of the vehicle in the grid map, i.e. the position and attitude, can also be determined. Rasterizing the point cloud map, for each grid, the state is either occupied, or free, or unknown.

[0086] ​Optionally, the point cloud map corresponding to the current running area of the vehicle is converted into a grid map, which can be Gaussian blurred, and then the Gaussian blurred point cloud map is rasterized to obtain the grid map. Optionally, the point cloud map can also be filtered or edge processed to make the final grid map more accurate.

[0087] In step S120, a point scattering range is determined based on the initial position, and a virtual position corresponding to the vehicle is determined based on a point scattering result in the point scattering range.

[0088] In this embodiment, after determining the initial position of the vehicle in the grid map, the point scattering range and the number of points are determined based on the initial position, and then the points are scattered. The purpose of the point scattering is to determine the approximate position of the vehicle. In the point scattering range, each point represents a virtual position of the vehicle.

[0089] In step S130, a probability value of the virtual position being the actual position is determined based on a distance between the virtual position and the obstacle.

[0090] In this embodiment, after the point scattering, i.e., after determining the plurality of virtual positions, the probability value of the virtual position being the actual position is determined based on the distance between the virtual position and the obstacle.

[0091] Optionally, the probability value of the virtual position being the actual position is determined based on the distance between the virtual position and the obstacle, which includes the following steps:

[0092] In step S131, it is determined whether the virtual position is located in a grid of the grid map.

[0093] If yes, in step S133, a probability value of occupying the grid is determined as the probability value of the virtual position being the actual position.

[0094] In the embodiment, the greater the probability value of a grid is, the greater the possibility that the grid is occupied is. After being washed by a large number of frame laser radar data, each grid stores a value, at this time, a threshold value can be set by itself to compare with the value to make the final state judgment of the grid. Alternatively, a normal distribution can be used, when the distance to the obstacle is close, a large occupation value is given, and when the distance to the obstacle is far, a large idle value is given. The occupation and the idle are used to represent different states of the grid, and the probability value can be used to represent that the grid is currently in an idle or occupied state. For example, assuming that the resolution of each grid in the grid map is 5*5, if the hypothetical position is located in the grid, the probability value of the occupied grid can be set to 1, that is, the probability value of the occupied grid can be determined as the probability value that the hypothetical position is the actual position. Wherein, the grid in which the hypothetical position is located in the grid map is determined as the occupied grid.

[0095] If not, in step S133, the closest occupied grid to the hypothetical position is obtained, and the probability value that the hypothetical position is the actual position is determined according to the distance between the hypothetical position and the occupied grid.

[0096] In the embodiment, assuming that the hypothetical position is not located in the grid, in order to determine the actual position of the hypothetical position, the probability value that the hypothetical position which is not located in the grid is the actual position also needs to be determined. At this time, the closest occupied grid to the hypothetical position which is not located in the grid can be obtained, and the probability value that the hypothetical position is the actual position is determined according to the distance between the hypothetical position which is not located in the grid and the occupied grid. Wherein, the probability formula can be used to calculate the probability value that the hypothetical position is the actual position. Alternatively, the normal distribution / exponential distribution / logarithmic distribution / power function form can be used, and the formula and the selected parameters are calculated according to the actual experience.

[0097] In step S140, the actual position of the vehicle in the point cloud map is determined according to the probability value.

[0098] In the embodiment, after the probability value of each hypothetical position is determined, the local optimal value can be further determined according to the probability value, and the local optimal value is matched with the point cloud map by ICP, so as to determine the actual position in the point cloud map.

[0099] Alternatively, the actual position of the vehicle in the point cloud map is determined according to the probability value, and the method comprises the following steps:

[0100] In step S141, the distance difference value between each hypothetical position is determined according to the probability value;

[0101] In step S142, each hypothetical position is classified based on the distance difference value and a preset distance value, and a cluster is obtained, and each category represents a cluster;

[0102] In the embodiment, after determining the probability value of each hypothetical position being the actual position, clustering can be performed, the cluster with the most clusters is selected, the centroid coordinates are calculated, and the IC P model is transmitted as the matching initial value. According to the number of point cloud clusters calculated in the previous step, a proper number of point clouds are selected for ICP calculation to improve the calculation accuracy. Among them, the clustering can be determined according to the distance difference between each hypothetical position and the preset distance value. Optionally, a preset distance threshold can be set, and when the distance difference between each hypothetical position is less than the preset distance value, it can be classified into a class, thereby realizing the classification of each hypothetical position.

[0103] In step S143, the first point set is determined according to the number of hypothetical positions in each cluster and the coordinates of each hypothetical position.

[0104] In the embodiment, after obtaining different clusters, the coordinates of each hypothetical position in different clusters are added and then divided by the number of hypothetical positions, thereby determining the centroid coordinates corresponding to each cluster, and then determining the first point set according to the centroid coordinates.

[0105] Optionally, each cluster can be sorted according to the number of hypothetical positions in each cluster, and at least two target clusters are selected from the sorted clusters, the centroid coordinates of each target cluster are obtained according to the number of hypothetical positions in each target cluster and the coordinates of each hypothetical position, and the first point set is generated according to the centroid coordinates. For example, a number threshold is selected, and then the clusters are arranged from more to less according to the number of hypothetical positions they contain, and the clusters containing the most hypothetical positions are selected until the number of hypothetical positions reaches the number threshold.

[0106] In step S144, the ICP matching is performed between the first point set and the point cloud map to obtain the actual position of the vehicle in the point cloud map.

[0107] In the embodiment, after determining the first point set, the ICP matching can be performed between the first point set and the point cloud map, thereby obtaining the actual position of the vehicle in the point cloud map.

[0108] Optionally, each hypothetical position in the first point set can be matched with the corresponding map point cloud in the point cloud map, and then the actual position of the vehicle in the point cloud map is determined according to the matching result.

[0109] Optionally, map point clouds closest to each of the virtual positions in the first point set are matched from the point cloud map, and a second point set is generated according to each of the map point clouds; a third point set is determined according to the centroid coordinates corresponding to the first point set, and a fourth point set is determined according to the centroid coordinates corresponding to the second point set; a covariance matrix is generated according to the third point set and the fourth point set, and a rotation matrix and a translation matrix are determined according to the covariance matrix; the first point set is converted based on the rotation matrix and the translation matrix to obtain a fifth point set; an iterative judgment value is determined according to the virtual positions in the fifth point set and the map point clouds in the second point set; the step of determining the actual position of the vehicle in the point cloud map according to the matching result comprises: when the iterative judgment value is less than a preset value, stopping iteration and determining the actual position of the vehicle in the point cloud map.

[0110] Specifically, each virtual position in the first point set searches for a corresponding nearest point in each map point cloud of the point cloud map, and the set formed by the nearest points is the second point set, that is, the data points in the first point set are searched for the nearest points in the point cloud map and saved in the second point set. After the first point set and the second point set are determined, the centroid coordinates of the first point set and the centroid coordinates of the second point set are calculated. The third point set is obtained by subtracting the centroid coordinates from all data points in the first point set, and the fourth point set is obtained by subtracting the centroid coordinates from all data points in the second point set. Then, after the third point set and the fourth point set are determined, the covariance matrix is calculated from the third point set and the fourth point set, and the maximum eigenvalue and the maximum eigenvector of a four-element matrix composed of the covariance matrix are solved. Since the maximum eigenvector is equivalent to the rotation quaternion when the residual score is the smallest, the quaternion is converted into a rotation matrix. After the rotation matrix is determined, the translation matrix can be determined according to the centroid coordinates of the first point set and the centroid coordinates of the second point set. After the translation matrix and the rotation matrix are determined, each virtual position in the first point set is changed based on the rotation matrix and the translation matrix to form a new point set, i.e., the fifth point set. The distance sum value of each virtual position in the fifth point set and the corresponding map point cloud in the second point set is calculated, and the iterative judgment value is obtained by dividing the number of virtual positions. After the iterative judgment value is obtained, when the iterative judgment value is less than a preset value, iteration is stopped, otherwise the step of matching the map point clouds closest to each of the virtual positions in the first point set from the point cloud map and generating the second point set according to each of the map point clouds is re-executed until the iteration is stopped when the iterative judgment value is less than the preset value.

[0111] The embodiment of the present application is based on the above technical solution, and the point cloud map corresponding to the current running area of the vehicle is converted into a grid map, and the initial position of the vehicle in the grid map is specified, then the scattering range is determined according to the initial position, and the corresponding virtual position of the vehicle is determined according to the scattering result in the scattering area, then the probability value of each virtual position being the actual position is determined according to the distance between each virtual position and the obstacle, and the actual position of the vehicle in the point cloud map is determined according to the probability value. Since the initial position can be given according to the approximate position of the vehicle in the map, the scattering calculation probability is performed around the initial value, the local optimal value is given according to the calculated probability value for ICP matching, and the actual position of the vehicle is determined according to the actual matching rate of the point cloud and the map, so that the vehicle can determine its own position in real time, and the vehicle positioning efficiency is improved.

[0112] The embodiment of the present application provides an embodiment of a positioning method of a vehicle, and it should be noted that although a logical sequence is shown in the flowchart, in some cases, the steps shown or described can be performed in an order different from that shown.

[0113] Based on the same inventive concept, the embodiment of the present application also provides a computer readable storage medium, which stores a positioning program of a vehicle, the positioning program of the vehicle is executed by a processor to realize each step of the positioning method of the vehicle as described above, and the same technical effect can be achieved, to avoid repetition, which will not be described here.

[0114] The storage medium provided by the embodiment of the present application is the storage medium used for implementing the method of the embodiment of the present application, so based on the method introduced in the embodiment of the present application, the specific structure and modification of the storage medium can be understood by those skilled in the art, so here will not be described. Any storage medium used by the method of the embodiment of the present application belongs to the scope of the present application.

[0115] Those skilled in the art should understand that the embodiments of the present application can be provided as a method, a system, or a computer program product. Therefore, the present application can be in the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application can be in the form of a computer program product implemented on one or more computer usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer usable program code.

[0116] The present application is described in reference to the accompanying drawings, which use the legend: 100 - method, 200 - device (system), 300 - computer program product. Figure 1 one or more processes and / or blocks Figure 1 means for performing the functions specified in the flow or multiple flows and / or blocks.

[0117] These computer program instructions can also be stored in a computer- readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instructions which implement the flow Figure 1 one or more processes and / or blocks Figure 1 means for performing the functions specified in the flow or multiple flows and / or blocks.

[0118] These computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the flow Figure 1 one or more processes and / or blocks Figure 1 means for performing the functions specified in the flow or multiple flows and / or blocks.

[0119] It should be noted that the use of any of the terms "first", "second" or the like does not connote any order, quantity, or importance, but rather are used to distinguish one element from another. It should also be noted that the terms "comprising", "including", "containing", and / or "having" are intended to be open-ended terms. Further, the singular forms "a", "an" and / or "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be understood by those within the art that, in general, terms used herein, and especially

[0120] Although the preferred embodiments of the application have been described, those skilled in the art will recognize that changes can be made to those embodiments without departing from the scope of the present application. Accordingly, the appended claims are intended to encompass all changes that fall within the scope of the present application.

[0121] Obviously, many modifications and variations of the present application are possible in light of the above teachings. It is, therefore, to be understood that within the scope of the appended claims and their equivalents, the application can be practiced otherwise than as specifically described.

Claims

1. A positioning method of a vehicle, characterized by, The positioning method of the vehicle comprises: Converting a point cloud map corresponding to a current running area of the vehicle into a grid map, and determining an initial position of the vehicle in the grid map; Determining a point scattering range based on the initial position, and determining a corresponding virtual position of the vehicle based on a point scattering result in the point scattering range; Determining a probability value of the virtual position being an actual position according to a distance between the virtual position and an obstacle; Determining a distance difference value between each virtual position according to the probability value; Classifying each virtual position based on the distance difference value and a preset distance value to obtain clusters, each category representing a cluster; Determining a first point set according to a number of virtual positions in each cluster and coordinates of each virtual position; Performing ICP matching between the first point set and the point cloud map to obtain an actual position of the vehicle in the point cloud map.

2. The positioning method of a vehicle according to claim 1, wherein The step of determining the probability value of the virtual position being the actual position according to the distance between the virtual position and the obstacle comprises: Determining whether the virtual position is located in a grid of the grid map; If yes, determining a probability value of an occupied grid as the probability value of the virtual position being the actual position; If no, obtaining a nearest occupied grid to the virtual position, and determining the probability value of the virtual position being the actual position according to a distance between the virtual position and the occupied grid.

3. The positioning method of a vehicle according to claim 1, wherein The step of determining the first point set according to the number of virtual positions in each cluster and the coordinates of each virtual position comprises: Performing cluster sorting according to the number of virtual positions in each cluster, and selecting at least two target clusters from the sorted clusters; Obtaining a centroid coordinate of each target cluster according to the number of virtual positions in each target cluster and the coordinates of each virtual position; Generating the first point set according to the centroid coordinate.

4. The positioning method of a vehicle according to claim 1, wherein The step of performing ICP matching between the first point set and the point cloud map to obtain the actual position of the vehicle in the point cloud map comprises: Matching each virtual position in the first point set with a corresponding map point cloud in the point cloud map respectively; Determining the actual position of the vehicle in the point cloud map according to a matching result.

5. The positioning method of a vehicle according to claim 4, wherein The step of matching each virtual position in the first point set with a corresponding map point cloud in the point cloud map comprises: Matching a map point cloud closest to each virtual position in the first point set from the point cloud map, and generating a second point set according to each map point cloud; Determining a third point set according to a centroid coordinate corresponding to the first point set, and determining a fourth point set according to a centroid coordinate corresponding to the second point set; Generating a covariance matrix according to the third point set and the fourth point set, and determining a rotation matrix and a translation matrix according to the covariance matrix; Converting the first point set based on the rotation matrix and the translation matrix to obtain a fifth point set; Determining an iterative judgment value according to a virtual position in the fifth point set and a map point cloud in the second point set; The step of determining the actual position of the vehicle in the point cloud map according to the matching result comprises: When the iterative judgment value is less than a preset value, the iteration is stopped and the actual position of the vehicle in the point cloud map is determined.

6. The positioning method of a vehicle according to claim 1, wherein The converting the point cloud map corresponding to the current running area of the vehicle into a grid map comprises: performing Gaussian blur processing on the point cloud map corresponding to the current running area of the vehicle; performing grid processing on the point cloud map after the Gaussian blur processing to obtain the grid map.

7. A positioning device for a vehicle, characterized in that The positioning device of the vehicle comprises a memory, a processor, and a positioning program of the vehicle stored in the memory and executable on the processor, and the positioning program of the vehicle, when executed by the processor, implements the steps of the positioning method of the vehicle according to any one of claims 1-6.

8. A computer-readable storage medium, characterized in that, The computer readable storage medium stores a positioning program of the vehicle, and the positioning program of the vehicle, when executed by the processor, implements the steps of the positioning method of the vehicle according to any one of claims 1-6.

Citation Information

Patent Citations

  • Vehicle positioning method

    CN108225341A

  • Mobile robot repositioning method fusing ICP and likelihood domain model

    CN111060888A