This application claims priority to European Patent Application No. EP 19213741.2 filed on Dec. 5, 2019.
The present disclosure relates to methods and systems for determining an initial ego-pose for initialization of self-localization, for example of a vehicle.
Self-localization is the most important part of many autonomous driving applications. There are various methods to solve the ego-localization problem such as using the Global Navigation Satellite Systems (GNSS), dead reckoning, or simultaneous localization and mapping (SLAM) methods.
The self-localization problem may be classified into two main groups of local self-localization and global self-localization.
If the initial ego-pose is unknown, then a global self-localization may be performed. Assuming a known initial ego-pose results in a local self-localization. For example, if GNSS signals are not available, the initial pose must be determined using other means.
Accordingly, there is a need to provide efficient and reliable methods for determining the initial pose of a vehicle, even when GNSS signals are not available.
In one aspect, the present disclosure is directed at a computer implemented method for determining an initial ego-pose for initialization of self-localization including: providing a plurality of particles in a map; grouping the particles in a plurality of clusters; performing particle filtering individually for each of the clusters; and determining an initial ego-pose based on the particle filtering.
In other words, cluster parallel filtering may be performed to keep all clusters tracked and processed as separate filters in parallel until the filter convergence (which is recognized by monitoring the filter parameters). This may avoid filter divergence, and may obviate the need for particle injection.
According to another aspect, the particle filtering is performed individually for each of the clusters in parallel. Performing the particle filtering in parallel may be understood as using at least some computational resources at the same time for particle filtering of two or more of the clusters.
According to another aspect, the plurality of particles are provided based on a random distribution over the map and/or based on an estimate of the ego-pose.
If no information is available for the ego-pose, then a random distribution over the map may be provided. Otherwise, a distribution which is more focused on the estimate of the ego-pose may be used.
According to another aspect, performing the particle filtering comprises: sample distribution, prediction, updating, and re-sampling. By predicting the particles, a location of each of the particles in a next time step may be determined. By updating, the samples are weighted considering the map and sensor observation. By re-sampling, the locations of the particles may be represented by a suitable set of samples (in other words: particles) for the subsequent time step.
According to another aspect, the particles are grouped into the plurality of clusters based on a numbers of particles in a potential cluster. For example, clustering may be carried out repeatedly (or iteratively), until the number of particles in the potential clusters fulfils a pre-determined criterion, for example, until the number of particles in each of the clusters is above a pre-determined threshold (in other words: until each cluster includes at least a pre-determined number of particles).
According to another aspect, the particles are grouped into the plurality of clusters based on a numbers of potential clusters. For example, clustering may be carried out repeatedly (or iteratively), until the number of clusters fulfils a pre-determined criterion, for example, until the number of clusters is below a pre-determined threshold.
According to another aspect, the computer implemented method further comprises the following step carried out by the computer hardware components: exhausting a cluster if it is outside a region of interest. For example, if the cluster is outside the map, then it may be exhausted (in other words: the cluster and the particles of the cluster may be deleted or removed from consideration).
According to another aspect, the computer implemented method further comprises the following step carried out by the computer hardware components: exhausting a particle of a cluster if the particle is outside a region of interest. For example, if particles of the cluster are outside the map, then these particles may be exhausted (in other words: deleted or removed from consideration).
According to another aspect, the computer implemented method further comprises the following steps carried out by the computer hardware components: receiving electromagnetic radiation emitted from at least one emitter of a sensor system of a vehicle and reflected in a vicinity of the vehicle towards the sensor system. For example, the sensor system may include a radar sensor and/or a LiDAR sensor and/or an infrared sensor.
According to another aspect, the particle filtering is performed based on the received electromagnetic radiation and based on the map. Illustratively, by performing the weighting (updating) process according to a comparison of the information, for example distance and/or angle information, obtained based on the electromagnetic radiation, with the information on static objects represented in the map, estimates of the location may be obtained.
According to another aspect, the initial ego-position is determined based on at least one of a pre-determined number threshold for the number of clusters or a pre-determined size threshold for the respective spatial sizes of the clusters. For example, if only one cluster remains, then this cluster may be considered to represent the initial ego-position.
According to another aspect, the initial ego-position is determined based on entropy based monitoring based on a binary grid.
In another aspect, the present disclosure is directed at a computer system, said computer system comprising a plurality of computer hardware components configured to carry out several or all steps of the computer implemented method described herein. The computer system can be part of a vehicle.
The computer system may comprise a plurality of computer hardware components (for example a processing unit, at least one memory unit and at least one non-transitory data storage). It will be understood that further computer hardware components may be provided and used for carrying out steps of the computer implemented method in the computer system. The non-transitory data storage and/or the memory unit may comprise a computer program for instructing the computer to perform several or all steps or aspects of the computer implemented method described herein, for example using the processing unit and the at least one memory unit.
In another aspect, the present disclosure is directed at vehicle equipped with a sensor system adapted to receive electromagnetic radiation emitted from at least one emitter of a sensor system and reflected in a vicinity of the vehicle towards the sensor system, and a computer system, for example a computer system as described above, for determining an initial ego-pose for initialization of self-localization of the vehicle.
In another aspect, the present disclosure is directed at a non-transitory computer readable medium comprising instructions for carrying out several or all steps or aspects of the computer implemented method described herein. The computer readable medium may be configured as: an optical medium, such as a compact disc (CD) or a digital versatile disk (DVD); a magnetic medium, such as a hard disk drive (HDD); a solid state drive (SSD); a read only memory (ROM), such as a flash memory; or the like. Furthermore, the computer readable medium may be configured as a data storage that is accessible via a data connection, such as an internet connection. The computer readable medium may, for example, be an online data repository or a cloud storage.
The present disclosure is also directed at a computer program for instructing a computer to perform several or all steps or aspects of the computer implemented method described herein.
Exemplary embodiments and functions of the present disclosure are described herein in conjunction with the following drawings, showing schematically:
According to various embodiments, a map may be used for finding the initial pose of the vehicle, i.e., where the vehicle starts to move. For example, the map may be an OpenStreetMap and/or occupancy grid map. The map may include information on static objects, such as walls, pillars, tress, houses or guard rails. Information indicated by the map may be provided on a discrete grid (so that the map may also be referred to as a grid). Particle filtering may be used for finding the initial pose of the vehicle. A map may be input into the particle filter and then the filter may be initialized. The initialization process may be the distribution of the samples (in other words: particles) in the entire region, where the initial ego-pose is unknown. While theoretically the region could be the whole world, usually some coarse information about the initial ego-pose is available, such as “The vehicle is in a parking garage” or “The vehicle is in this area of the city”.
Based on this initial coarse information, samples may be distributed within the map of the area and particle filtering may be performed. Particle filtering may have the following steps: filter initialization (in other words: sample distribution), prediction, updating (in other words: weighting), and re-sampling, like will be described in more detail below.
After initialization, the movement of each particle may be predicted based on the vehicle movement information (for example yaw rate and velocity) and a vehicle model. Based on the updated sample poses, each sample may be weighted based on a comparison between the sensor observation (for example radar, camera, or LiDAR) and the map. Due to this weighting, some samples may get a higher weight than the other samples. The domination of the particles with a higher weight to the other samples may lead to a problem, called “degeneracy”. To avoid this problem, re-sampling may be performed which focuses the samples to the regions where the sample weights are higher, since the vehicle is more likely to be located in these regions. After some sample times, the particles are more concentrated in one region and the initial ego-pose is considered as found. The size of the recognized area can be defined by the user, for example the user can define an area of 5 m2 for the initialization success. If all particles are concentrated in an area smaller or equal to that value, the filtering process for the initialization may be considered done.
However, some factors may lead to filtering problems or even filter divergence, which means that the filter converges to a wrong initial pose. Some common problems, which may be faced during the filtering process are impoverishment (which refers to a fast and high concentration of the particles in a small region), degeneracy (which refers to a situation where the weights of many samples are close to zero, so that there is a large difference between sample weights), or filter divergence (which refers to a complete divergence of the filter, so that initialization fails).
The source of particle divergence may be sparse and noisy measurements, for example in a case of using radars, when the observations are sparse.
For avoiding the particle filter divergence, strategies such as particle injection based on different sensor system may be used, for example based on radars, LiDAR, camera or a combination of these sensors. If the divergence is recognized, new particles are injected into the filter in the entire initialization area. However, this particle injection into the filter in the entire initialization area is considered a filter reset, which should be avoided.
According to various embodiments, clustering of particles may be applied, which may overcome the divergence problem of the particle filtering in case of noisy and sparse measurements or inaccurate map. A binary grid may be provided over the entire region with a pre-determined resolution. A binary clustering may be performed for all particles in each sample time. Clusters which have a number of samples over a pre-determined threshold may be considered. The number of clusters may also have a threshold and if the number of clusters reaches the threshold, then the clusters may be tracked in parallel which is explained in more detail below. All clusters may represent the map regions where the probability of the ego-pose is high according to the measurements until the clustering time.
The particles of the map 102 may be clustered with a binary grid (for example with a resolution of 10 cm in x direction and 10 cm in y direction). The three clusters 106, 108, 110 may be generated after the clustering process. Each cluster is considered and processed as a separate particle filter. Only particles in the clusters are considered, and particles which are not included in any cluster are not taken into consideration for particle filtering.
Each cluster may be continuously monitored by the effective sample size and entropy. If the effective sample size and entropy of one cluster meet certain conditions, considering all clusters, then the particle filter is initialized and other clusters are eliminated.
According to various embodiments, based on the clusters, a cluster parallel filtering (for parallel processing of all clusters) may be provided. Each cluster may be processed separately, after the clusters reach a certain number equal or smaller than a threshold.
Each of the different clusters of the left map 202 may be processed within the tracked trajectory independently. The cluster particles may be tracked using the motion parameters and the vehicle model. The cluster size and the number of particles may be changed, depending on the re-sampling method. The clusters after processing within some sample times are illustrated in the right map 204.
According to various embodiments, all of the filtering processes (prediction, update, re-sampling) may be performed for each cluster independently from the other clusters. Clusters which move outside of the valid region may not be considered anymore and may be extinguished. The valid clusters (in valid area in which the belief is searched) may be monitored by their effective sample size and entropy in each sample time. The filter may be converged if the conditions
ESS(Ci)>k1SS(Ci)
ESS(Ci)>k2ESS(Cj)
are fulfilled for the cluster i, wherein SS may be the sample size, ESS may be the effective sample size, k1 and k2 may be thresholds, 1<i, j<Nclusters, and Nclusters may be the number of clusters.
With the cluster parallel filtering method according to various embodiments, a divergence may be avoided in a computational efficient way. No sample are added to the filter, but the strategy may be solely to keep the samples which represent the region with high probability for the belief of the ego-pose. As described above, the clusters may not be processed as one particle filter, but each cluster may be processed separately (and, for example, in parallel). In such a way, no additional computation time may be added to the filtering process, and a filter reset may not be necessary.
The bottom portion of
The symmetrical form of the parking lot and accordingly the ambiguity of the observations in opposite side of the map presents a major challenge for the particle filtering. The symmetry leads to survival of the clusters within the re-sampling process which is also observable in
According to various embodiments, the particle filtering may be performed individually for each of the clusters in parallel.
According to various embodiments, the plurality of particles may be provided based on at least one of a random distribution over the map, or an estimate of the ego-pose.
According to various embodiments, performing the particle filtering may include: sample distribution, prediction, updating, and re-sampling.
According to various embodiments, the particles may be grouped into the plurality of clusters based on at least one of a numbers of particles in a potential cluster, or a numbers of potential clusters.
According to various embodiments, a cluster may be exhausted if it is outside a region of interest. According to various embodiments, a particle of a cluster may be exhausted if the particle is outside a region of interest.
According to various embodiments, electromagnetic radiation emitted from at least one emitter of a sensor system of a vehicle and reflected in a vicinity of the vehicle towards the sensor system may be received.
According to various embodiments, the particle filtering may be performed based on the received electromagnetic radiation and based on the map.
According to various embodiments, the initial ego-position may be determined based on at least one of a pre-determined number threshold for the number of clusters or a pre-determined size threshold for the respective spatial sizes of the clusters.
According to various embodiments, the initial ego-position may be determined based on entropy based monitoring based on a binary grid.
Each of the steps 502, 504, 506, 508 and the further steps described above may be performed by computer hardware components.
It will be understood that the individual (or parallel) filtering according to various embodiments is not to be confused with parallel filtering implementation in the literature, wherein the particle filter is parallelized in the software to use the complete capacity of the processor or to map the particle filter on a graphic processing unit (GPU), and which is an implementation method to speed up the filtering process by parallel implementation.
The preceding description is illustrative rather than limiting in nature. Variations and modifications to the disclosed examples may become apparent to those skilled in the art that do not necessarily depart from the essence of this invention. The scope of legal protection given to this invention can only be determined by studying the following claims.
Number | Date | Country | Kind |
---|---|---|---|
19213741.2 | Dec 2019 | EP | regional |