This present disclosure relates generally to control and state tracking, and more particularly to a system and a method for controlling a device using a compound probabilistic filter.
Various control methods use probabilistic filters to estimate a state of a device under control. A probabilistic filter, such as a Kalman filter, uses a series of measurements observed over time, including statistical noise and other inaccuracies, and produces estimates of unknown variables that tend to be more accurate than those based on a single measurement alone.
The probabilistic filters work by a two-phase process that includes a prediction phase and an update phase. For the prediction phase, the probabilistic filter produces estimates of current state variables, along with their uncertainties. To that end, the probabilistic filter employs a prediction model subject to process noise. An example of the prediction model is a motion model of the device under control. Further, an outcome of the next measurement (corrupted with some error, including random noise) is observed and the estimates of current state variables are updated using a weighted average of the measurements, with more weight being given to measurements with greater certainty. To that end, the probabilistic filter employs a measurement model subject to measurement noise. Both the process noise and the measurement noise can be represented by a probability density function (PDF) showing a likelihood of possible variations of the estimated state and/or the measurements.
Usually, the process noise and the measurement noise are predetermined to reflect understanding of an uncertainty of the motion model and reliability of the measurements. However, in a number of applications, it is impractical to predetermine the measurement noise. For example, in vehicle control applications where a vehicle is controlled based on a state of the vehicle tracked using measurements of a Global Navigation Satellite System (GNSS), the GNSS measurements have different reliabilities at different instances of time. For example, at different instances of time different constellations of satellites can be in a line of sight of the GNSS receiver of the vehicle causing variations in the measurement noises. Additionally or alternatively, satellite signals can be subject to multipath adding significant noise to the GNSS measurements.
To that end, it is desired to adjust the measurement noise based on the state of the vehicle being tracked and control application. While it is possible to vary the measurement noise in the probabilistic filters, such as the Kalman filter, estimation of the measurement noise in real-time applications is computationally challenging and also can lead to divergence of the probabilistic filter. This challenge is in part due to difficulties in analysis of statistical properties of the measurements and assumptions underlying the operation of the probabilistic filter.
Hence, there is a need for a probabilistic filter framework that can adapt to different measurement noises in a computationally efficient manner.
Some embodiments are based on the realization that internal variables and/or calculations of a probabilistic filter, like a Kalman filter, can be used to evaluate the correctness of measurement noise. Specifically, a metric of evaluation of the correctness of the measurement noise can be a likelihood of the measurement noise to correlate a current measurement indicative of a state of a device with a state predicted by a prediction model of the probabilistic filter.
This correlation can be illustrated by the following example. A predicted state of the device, e.g., a predicted state of a vehicle, is transformed into a domain of measurements, e.g., in a GNSS measurement space. For example, such a transformation can be executed using a model of the measurements. Next, the measurement noise is centered on the transformed state to produce a probabilistic distribution of expected measurements. In case of Gaussian probabilistic distribution used by the probabilistic filter, a mean of the Gaussian probabilistic distribution of the expected measurements is determined by a state predicted by the Kalman filter and a variance is one of a predetermined measurement noises. When the measurements for updating the predicted state are received, the measurements can be mapped on the probabilistic distribution of the expected measurements to estimate the sought likelihood of the correlation.
In such a manner, the measurement noise is evaluated using internal variables and/or calculations of the probabilistic filter without a need for additional statistical analysis of the measurements outside of the performance of the probabilistic filter. It shall be noted that the abovementioned example not only illustrates principles of correlation between state estimation and the measurements but can also be used to implement the estimation of this correlation. However, different embodiments can use different techniques to evaluate this correlation. For example, some embodiments use an evaluation of Kalman gains determined by the Kalman filter to update the predicted state and a covariance of the predicted state, which for an unbiased estimator is a mean-square error (MSE). Such calculations are internal to the probabilistic filters, i.e., computed anyway to track the state of the device. Hence, calculations of these variables do not require additional resources.
However, some embodiments are based on the realization that while the usage of the internal variables and/or calculations of the probabilistic filter can reduce the computational requirements for the evaluation of the correctness of the selected measurement noise, the evaluation itself becomes corrupted by internal performance of the probabilistic filter. In other words, the correctness of the measurement noise is not necessarily the true correctness reflecting the measurements independent of the Kalman filter, but the correctness from the point of view of the probabilistic filter itself. To that end, it may be problematic to use this evaluation to adapt the measurement noise, but rather to use this evaluation to evaluate the performance of the probabilistic filter with the selected measurement noise.
To address this problem, some embodiments use multiple probabilistic filters with different measurements noises and determine the state of the device as a weighted combination of the states estimated by different filters with weights of each filter derived from the corresponding evaluation of the likelihood of the measurement noise to correlate the current measurement indicative of the state of the device with the state predicted by a prediction model of the probabilistic filter. In such a manner, different measurement noises can be considered without a need to analyze the statistical properties of the measurements.
Some embodiments are based on the realization that current methods of tracking a state of a vehicle based on satellite signals received from a global navigation satellite system (GNSS) are sensitive to satellite measurements being of high qualitative because otherwise, the tracking method cannot produce high-accuracy estimates. Other embodiments are based on the recognition that there is a necessity to combine various sensors to improve state tracking. The various sensors complement each other because such a combination is more likely to produce sensible estimates in a larger variety of conditions. For example, one embodiment combines a GNSS position measurement with a camera relative position measurement and a map of road to track the state of the vehicle. Another embodiment combines a camera measuring a relative position of vehicles neighboring the own vehicle and a lidar measurement measuring the relative position of vehicles neighboring the own vehicle because such measurements complement each other due to the difference in construction of the camera and lidar, respectively.
Some embodiments utilize the probabilistic filter to fuse measurements and generate a state estimate. The probabilistic filters need a probabilistic description of the measurements, a measurement model. To this end, some embodiments recognize that measurement noise characteristics need to be determined for the measurement model to be used in the probabilistic filter. Some embodiments are based on the understanding that to use the probabilistic measurement model in a measurement update, an accuracy of the sensor measurements needs to be determined concurrently with the tracking of the state of the vehicle because the tracking is performed in real-time and the measurement model, therefore, may not be set before executing the recursive probabilistic filter. Some embodiments exploit this understanding to adapt the measurement noise used in the probabilistic measurement model as sensor measurements arrive at the compound probabilistic filter.
To that end, some embodiments jointly estimate the state of the vehicle and the measurement noise of the different sensors to determine the measurement noise that best describes the state of the vehicle according to the measurements. For example, one embodiment associates a first noise value with a first sensor and a second noise value with a first sensor, and additionally associates a first noise value with a second sensor and a second noise value with a second sensor and executes multiple probabilistic filters for each combination of noise values and sensors to determine which one of them best describes the state of the vehicle. In other embodiments, the multiple probabilistic filters are unified into a compound probabilistic filter that weighs together the multiple probabilistic filters as a weighted combination of the multiple filters.
Some embodiments are based on the understanding that if a probabilistic filter using a particular combination of noise values for various sensors gave the best fit at a previous time step, it is likely to also produce a good fit for the next time step. For example, if a GNSS position measurement was unreliable in a previous time step due to, e.g., multipath in an urban environment, it is likely to be prone to multipath also in the next time step. However, it also has a chance of producing a reliable measurement if the unreliability of the measurement is not an effect of multipath but due to some other unmodeled disturbance. Some embodiments use this understanding to integrate and weight the multiple probabilistic filters at each time step of control such that the probabilistic filters are given different weightings based on their weights at previous time steps.
Some embodiments are based on the understanding that the computational complexity of the multiple probabilistic filters grows unfavorably with a number of hypotheses of noise values and the number of sensors. For instance, one embodiment understands that using different possible noise values can be interpreted as gridding of a continuous space of possible noise values such that there is an exponential complexity in the number of possible combinations of noise values and therefore the number of probabilistic filters employed in the estimation.
Some embodiments realize that in automotive applications the computational power of automotive-grade electronic control units is limited and using a large number of probabilistic filters is not computationally feasible. One embodiment remedies this by selecting a subset of the probabilistic filters to be used in the estimation. For instance, one embodiment selects probabilistic filters corresponding to values of noise levels close to those that were well represented the state at the previous time step. Doing in such a manner enables the subset of probabilistic filters chosen at each time step to follow the evolution of the sensor quality.
Accordingly, one embodiment discloses a feedback controller for controlling a movement of a device based on a state of the device tracked using measurements of the movement indicative of the state of the device. The feedback controller comprises at least one processor; and at least one memory having instructions stored thereon that, when executed by the at least one processor, causes the feedback controller to: collect a sequence of measurements indicative of the state of the device at different control steps and execute iteratively a compound probabilistic filter configured to track the state of the device at each of the different control steps using the sequence of measurements to produce a sequence of states of the device corresponding to the sequence of measurements. To perform an iteration for a current control step using a current measurement, the compound probabilistic filter is configured to execute multiple probabilistic filters parameterized on the state of the device to produce multiple estimates of the state of the device for the current control step, wherein each of the multiple probabilistic filters iteratively predicts a current state of the device using a prediction model subject to process noise and updates the predicted current state based on the current measurement using a measurement model subject to a measurement noise, wherein different probabilistic filters of the multiple probabilistic filters have different measurement noises causing variations in the multiple estimates of the state of the device; estimate, for each of the multiple probabilistic filters, a likelihood of corresponding measurement noise to correlate the current measurement with the predicted current state; and combine the multiple estimates of the state of the device into a weighted combination with normalized weights derived from the likelihoods estimated for corresponding probabilistic filters; output the state of the device tracked by the compound probabilistic filter for the current control step based on the weighted combination. The feedback controller is further configured to control the device using the sequence of states tracked by the compound probabilistic filter.
Accordingly, another embodiment discloses a method for controlling a movement of a device based on a state of the device tracked using measurements of the movement indicative of the state of the device. The method comprises collecting a sequence of measurements indicative of the state of the device at different control steps and executing iteratively a compound probabilistic filter configured to track the state of the device at each of the different control steps using the sequence of measurements to produce a sequence of states of the device corresponding to the sequence of measurements. To perform an iteration for a current control step using a current measurement, the compound probabilistic filter is configured to execute multiple probabilistic filters parameterized on the state of the device to produce multiple estimates of the state of the device for the current control step, wherein each of the multiple probabilistic filters iteratively predicts a current state of the device using a prediction model subject to process noise and updates the predicted current state based on the current measurement using a measurement model subject to a measurement noise, wherein different probabilistic filters of the multiple probabilistic filters have different measurement noises causing variations in the multiple estimates of the state of the device; estimate, for each of the multiple probabilistic filters, a likelihood of corresponding measurement noise to correlate the current measurement with the predicted current state; and combine the multiple estimates of the state of the device into a weighted combination with normalized weights derived from the likelihoods estimated for corresponding probabilistic filters; output the state of the device tracked by the compound probabilistic filter for the current control step based on the weighted combination. The method further comprises controlling the device using the sequence of states tracked by the compound probabilistic filter.
Accordingly, yet another embodiment discloses non-transitory computer-readable storage medium embodied thereon a program executable by a processor for performing a method for controlling a movement of a device based on a state of the device tracked using measurements of the movement indicative of the state of the device. The method comprises collecting a sequence of measurements indicative of the state of the device at different control steps and executing iteratively a compound probabilistic filter configured to track the state of the device at each of the different control steps using the sequence of measurements to produce a sequence of states of the device corresponding to the sequence of measurements. To perform an iteration for a current control step using a current measurement, the compound probabilistic filter is configured to execute multiple probabilistic filters parameterized on the state of the device to produce multiple estimates of the state of the device for the current control step, wherein each of the multiple probabilistic filters iteratively predicts a current state of the device using a prediction model subject to process noise and updates the predicted current state based on the current measurement using a measurement model subject to a measurement noise, wherein different probabilistic filters of the multiple probabilistic filters have different measurement noises causing variations in the multiple estimates of the state of the device; estimate, for each of the multiple probabilistic filters, a likelihood of corresponding measurement noise to correlate the current measurement with the predicted current state; and combine the multiple estimates of the state of the device into a weighted combination with normalized weights derived from the likelihoods estimated for corresponding probabilistic filters; output the state of the device tracked by the compound probabilistic filter for the current control step based on the weighted combination. The method further comprises controlling the device using the sequence of states tracked by the compound probabilistic filter.
Accordingly, some embodiments disclose a controller for controlling a movement of a vehicle based on a state of the vehicle tracked using measurements of a Global Navigation Satellite System (GNSS). The controller comprises at least one processor; and at least one memory having instructions stored thereon that, when executed by the at least one processor, causes the controller to collect a sequence of GNSS measurements indicative of the state of the vehicle at different control steps and execute iteratively a compound probabilistic filter configured to track the state of the vehicle at the different control steps using the sequence of GNSS measurements to produce a sequence of states of the vehicle corresponding to the sequence of GNSS measurements. To perform an iteration for a current control step using a current GNSS measurement, the compound probabilistic filter is configured to execute multiple probabilistic filters having identical measurement models relating the current GNSS measurement with a current estimation of the state of the vehicle to produce multiple estimates of the state of the vehicle for the current control step, wherein the multiple probabilistic filters are subject to different measurement noises causing variations among the multiple estimates of the state of the vehicle; combine the multiple estimates of the state of the vehicle into a weighted combination with weights derived from likelihoods of the current GNSS measurement according to different measurement noises centered on an estimation of the current GNSS measurement predicted by one or a combination of the multiple probabilistic filters; and estimate the state of the vehicle tracked by the compound probabilistic filter for the current control step based on the weighted combination. The controller is further configured to control the vehicle using the sequence of states estimated by the compound probabilistic filter.
The presently disclosed embodiments will be further explained with reference to the attached drawings. The drawings shown are not necessarily to scale, with emphasis instead generally being placed upon illustrating the principles of the presently disclosed embodiments.
In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. It will be apparent, however, to one skilled in the art that the present disclosure may be practiced without these specific details. In other instances, apparatuses and methods are shown in block diagram form only in order to avoid obscuring the present disclosure.
As used in this specification and claims, the terms “for example,” “for instance,” and “such as,” and the verbs “comprising,” “having,” “including,” and their other verb forms, when used in conjunction with a listing of one or more components or other items, are each to be construed as open ended, meaning that the listing is not to be considered as excluding other, additional components or items. The term “based on” means at least partially based on. Further, it is to be understood that the phraseology and terminology employed herein are for the purpose of the description and should not be regarded as limiting. Any heading utilized within this description is for convenience only and has no legal or limiting effect.
The feedback controller 100, at first, collects 110a a sequence of measurements indicative of the state of the device at different control steps. Further, the feedback controller 100 executes 120a iteratively the compound probabilistic filter 104a configured to track the state of the device at each of the different control steps using the sequence of measurements to produce a sequence of states 125a of the device corresponding to the sequence of measurements. Further, the feedback controller 100 controls 130a the device using the sequence of states 125a tracked by the compound probabilistic filter 104a.
To perform an iteration for a current control step using a current measurement, the compound probabilistic filter 104a is configured to execute multiple probabilistic filters 121a, 122a, and 123a parameterized on the state of the device to produce multiple estimates of the state of the device for the current control step. For example, a filter 121a produces a state 131a, a filter 122a produces a state 132a, and a filter 123a produces a state 133a.
Each of the multiple probabilistic filters 121a-123a is a probabilistic filter that iteratively predicts a current state of the device using a prediction model subject to process noise and updates the predicted current state based on the current measurement using a measurement model subject to measurement noise.
Due to the probabilistic nature of tracking, selection of the measurement noise 130b affects the update 135b. To that end, the selection of the measurement noise 130b affects the estimation of the state 140b, and thereby the correctness of the selection of the measurement noise 130b can be beneficial to the operation of the probabilistic filter.
Some embodiments are based on the realization that internal variables and/or calculations of the probabilistic filter, like a Kalman filter, can be used to evaluate correctness of the measurement noise 130b. Specifically, a metric of evaluation of the correctness of the measurement noise 130b can be a likelihood of the measurement noise 130b to correlate the current measurement indicative of the state of the device with the state predicted by the prediction model.
Further, when a current measurement 125d for updating the predicted current state 105d is received, the measurements can be mapped 130c on probabilistic distributions to estimate the sought likelihood of the correlation. For example, as can be seen in
To that end, the compound probabilistic filter 104a executes multiple probabilistic filters 121a, 122a, and 123a having different measurement noises causing variations in the multiple estimates of the state of the device, e.g., the states 131a, 132a, and 133a. Next, the compound probabilistic filter 104a estimates, for each of the multiple probabilistic filters, a likelihood of corresponding measurement noise to correlate the current measurement with the predicted current state and combines 150a the multiple estimates of the state of the device into a weighted combination with normalized weights 141a, 142a, and 143a derived from the likelihoods estimated for corresponding probabilistic filters. Hence, the state of the device tracked by the compound probabilistic filter 104a for the current control step is based on the weighted combination 150a.
In such a manner, the measurement noise is evaluated using internal variables and/or calculations of the probabilistic filter without a need for additional statistical analysis of the measurements outside of performance of the probabilistic filter. It should be noted that the abovementioned example not only illustrates the principles of correlation between state estimation and the measurements but can also be used to implement the estimation of the correlation. However, different embodiments can use different techniques to evaluate the correlation. For example, some embodiments use the evaluation of Kalman gains determined by the Kalman filter to update the predicted current state and covariance of the state estimate, which for an unbiased estimator is the mean-square error (MSE). For instance, one embodiment determines the Kalman gain for each Kalman filter in the compound probabilistic filter, determines the updated predicted current state and the updated covariance of the state estimate using the Kalman gain, and determines a likelihood of the measurement noise based on the updated state and covariance based on the Kalman gain. Such calculations are internal to the probabilistic filters, i.e., computed anyway to track the state of the device. Hence, calculations of these variables do not require additional resources.
However, some embodiments are based on the realization that while the usage of the internal variables and/or calculations of the probabilistic filter can reduce the computational requirements for the evaluation of the correctness of the measurement noise, the evaluation itself becomes corrupted by internal performance of the probabilistic filter. In other words, the correctness of the measurement noise is not necessarily the true correctness reflecting the measurements independent of the probabilistic filter, but the correctness from the point of view of the probabilistic filter itself. To that end, it may be problematic to use this evaluation to adapt the measurement noise, but rather to use this evaluation to evaluate the performance of the probabilistic filter with the selected measurement noise.
To address this problem, some embodiments use multiple probabilistic filters with different measurement noises and determine the state of the device as a weighted combination of the states estimated by the multiple probabilistic filters 121a-123a with weights of each filter derived from the corresponding evaluation of the likelihood of the measurement noise to correlate the current measurement indicative of the state of the device with the state predicted by the prediction model of the filter. In such a manner, different measurement noises can be considered without a need to analyze the statistical properties of the measurements.
In some embodiments, at each time step, each of the multiple probabilistic filters 121a-123a, is initialized based on the weighted combination 125a. For example, referring to
In some other embodiments, the multiple probabilistic filters 121a-123a run in parallel using internal state estimates, wherein the weighted combination 125a is only used as an output of the compound probabilistic filter 104a. For example, referring to
Some embodiments are based on the recognition that when having the same transformed state estimate initializing each probabilistic filter at each time step of control may cause a lack of diversity in the state estimates, because each probabilistic filter has only one time step to diversify. Some other embodiments are based on the understanding that, to have the multiple probabilistic filters 121a-123a run independently from each other, can cause depletion, meaning that after a few time steps only one of the multiple probabilistic filters 121a-123a may have nonzero weight.
To resolve the aforementioned issues, some embodiments initialize the state estimates together at each time step of control by mixing of the estimates, where the mixing for each probabilistic filter is determined by the weights 141a, 142a, and 143a, and a relation to the other weights.
Some embodiments are based on realization that the compound probabilistic filter framework described in
A GNSS is a system of satellites that can be used for determining a geographic location of a mobile receiver with respect to earth. The GNSS may include GPS, Galileo, Glonass, QZSS, and BeiDou. An example of the GNSS is explained in detail in
In various embodiments, the GNSS receiver 230 and 231 can be of different types. For example, in the exemplar embodiment of
It is an objective of some embodiments to disclose a system and method for improving the satellite-based tracking of a state of the vehicle, wherein the vehicle is equipped with a GNSS receiver. It is another objective to provide such a system and method using unsynchronized cooperation of information received from satellite signals. It is yet another objective of some embodiments to provide such a system and method that is probabilistic, i.e., it accounts for probabilistic disturbances and error sources. It is an objective of other embodiments to track the state of a vehicle using different information from different sources, and not only rely on satellite signals. For example, in some embodiments the state of the vehicle is tracked using GNSS signals received from satellites using a GNSS receiver and a first and second moment of the probabilistic distribution of the state of the vehicle received from a remote server using a radio frequency (RF) receiver.
In certain scenarios, e.g., deep urban canyons, there are multiple distortions of satellite signals such that the information content in the code and carrier phase signals makes it difficult to perform high-precision state estimation. For instance,
Previously, the signal 238b sent from the satellite 240b was not available, but suddenly the satellite signal 239b reaches the receiver after a multipath 202b. Such scenario can severaly detriment the performance of the probabilistic filter in tracking the state of the vehicle, because the probabilstic filter locks on to the wrong ambiguity estimate, causing a large estimation error.
Additionally, some embodiments are based on the realization that to perform certain advanced driver-assistance systems (ADAS) tasks, such as adaptive cruise control or short-term lane changes, it is sufficient to know the relative position and velocity to other vehicles, which can be measured by, e.g., ultrasound, radar, or camera. However, in many applications surrounding more advanced ADAS and vehicles with autonomous driving (AD) capabilities, it is not enough to know the relative position to surrounding vehicles that can be measured directly, but it is also critical to know state information relative to objects not even visible at a given time step from the vehicle having the AD capabilities. For example, in a route planning or multi-agent motion planning and coordination task, a control problem to be solved is to optimally coordinate vehicles toward different goals, with varying road surface quality, each passenger of a given vehicle with different priorities, e.g., related to driver comfort and other performance metrics. To identify which timed path a particular vehicle should take depends on the location of the own vehicle, timed paths of the other vehicles, and the particular environment setting for the road of interest.
Some embodiments are based on the realization that while the camera can be used to detect the relative motion to the road and surrounding objects in immediate vicinity of the vehicle with AD capabilities, the camera cannot provide a global position of the vehicle. Also, while distance sensors such as radar, lidar, and ultrasound, can detect relative motion similar to the camera, it cannot be used as a sole sensor to position vehicles globally.
Further, some embodiments are based on the recognition that GNSSs are prone to various disturbances and occlusion, e.g., from tall buildings in urban canyons. Some embodiments therefore complement the GNSS with additional sensing. For example, GNSS combined with additional sensing such as camera and lidar, can accomplish global positioning, as well as relative to a map and other objects, because the GNSSs provide the global positioning, and the additional sensing provides the relative positioning. Thus, in several localization estimation methods a multitude of sensors are used together to achieve vehicle localization with an aim of improving performance relative to what a sensor alone can provide.
To this end, various methods fuse GNSS measurements and measurements of a plurality of sensors of different types indicative of the state of the device, to estimate the state of the vehicle. The plurality of sensors may include one or a combination of a camera, a radar, a lidar, and the like. Additionally or alternatively, the plurality of sensors may include one or a combination of a camera producing color images, a depth sensor producing depth images, and a roadside unit (RSU) producing fused measurements of multiple remote sensors.
Using the measurements of the plurality of sensors is beneficial. For example, different sensors can complement each other, e.g., GNSS is dependent on whether the environment is urban or rural but not weather dependent, whereas the camera is independent on whether the environment is rural or urban but is sensitive to weather conditions and quality of the road to detect lane markings.
Various estimation methods that fuse the measurements of the plurality of sensors assume that the measurement noise of such sensors is determined a priori. However, in practice the measurement noise is time varying because it varies with driving conditions, the environment, and filtering and computer vision algorithms that generated such sensor measurements. For instance, a camera is used together with a computer vision algorithm to generate lane marking measurements of lanes neighboring the lane the vehicle is driving in. Depending on the weather conditions, the road quality, and the specific computer vision algorithm used, the lane markings are sometimes accurately detected, sometimes detected with an error, and sometimes other parts of the road, e.g., cracks in the road, are detected as lane markings. Depending on such detection results, the characteristics of the measurement noise will vary accordingly.
Accordingly, there is a need for tracking the state of the vehicle by fusing the measurements of the plurality of sensors while adapting to the varying measurement noises. According to some embodiments, the feedback controller 100 may be operatively connected to the plurality of sensors using wired, wireless, or both communication links, and thus the feedback controller 100 can collect measurements of the plurality of sensors indicative of the state of the device. Further, the measurement model of the multiple probabilistic filters 121a-123a of the compound probabilistic filter 104a fuses the measurements of the plurality of sensors to produce corresponding estimations of the state of the vehicle.
In the following part of the present disclosure, a method for estimating the state of the vehicle using the GNSS measurements and controlling the vehicle based on the estimated state, is described. Next, a method for estimating the state of the vehicle using the measurements of the plurality of sensors, is described.
To perform an iteration for a current control step using a current GNSS measurement, the compound probabilistic filter 104a executes the functions described in
At block 350, the compound probabilistic filter 104a combines the multiple estimates of the state of the vehicle into a weighted combination with weights derived from likelihoods of the current GNSS measurement according to different measurement noises centered on an estimation of the current GNSS measurement predicted by one or a combination of the multiple probabilistic filters. At block 360, the compound probabilistic filter 104a estimates the state of the vehicle tracked by the compound probabilistic filter 104a for the current control step based on the weighted combination.
At block 370c, the compound probabilistic filter 104a determines a first likelihood of the current GNSS measurement according to the first PDF centered on the estimation of the current GNSS measurement. At block 370d, the compound probabilistic filter 104a determines a second likelihood of the current GNSS measurement according to the second PDF centered on the estimation of the current GNSS measurement. At block 370e, the compound probabilistic filter 104a normalizes the first likelihood and the second likelihood to determine a first weight for weighting the first estimate of the state of the vehicle and a second weight for weighting the second estimate of the state of the vehicle.
At block 370f, the compound probabilistic filter 104a determines the weighted combination based on the first estimate of the state of the vehicle weighted with the first weight and the second estimate of the state of the vehicle weighted with the second weight.
At block 380b, the compound probabilistic filter 104a executes the second probabilistic filter to predict a second current state of the vehicle based on an internal state of the second probabilistic filter and updates the second current state of the vehicle. The second current state of the vehicle is updated using the measurement model processing the current GNSS measurement according to a gain of the second probabilistic filter to produce the second estimate of the state of the vehicle.
At block 380c, the compound probabilistic filter 104a updates the internal state of the first probabilistic filter and the internal state of the second probabilistic filter based on a combination of the first estimate and the second estimate of the state of the vehicle produced by the first probabilistic filter and the second probabilistic filter.
In some embodiments, the compound probabilistic filter stores historic weights of the first probabilistic filter and the second probabilistic filter determined for a number of previous control steps. Further, the compound probabilistic filter 104a updates the weight for weighting the first probabilistic filter at the current control step based on an average of a current weight (e.g., the first weight) and the historic weights of the first probabilistic filter. Likewise, the compound probabilistic filter 104a updates the weight for weighting the second probabilistic filter at the current control step based on an average of a current weight (e.g., the second weight) and the historic weights of the second probabilistic filter.
Comparing the state estimates and determining the weights 390f can be carried out in several ways. For instance, in one embodiment, the weight for each probabilistic filter is determined by a combination of the stored historic weights and a weighted difference of the collected measurements and the received state estimate when inserting the state estimate into the measurement model having the associated hypothesis of noise covariance. In another embodiment, the weight for each probabilistic filter is determined uniquely by a weighted difference of the collected measurements and the received state estimate when inserting the state estimate into the measurement model having the associated hypothesis of noise covariance. In yet another embodiment, the weight is determined based on an average of a current weighted difference of the collected measurements and the received state estimate when inserting the state estimate into the measurement model having the associated hypothesis of noise covariance and the weights determined using a fixed number of previous time steps. For example, one embodiment determines the weight as a moving average using a sliding window of weights determined using previous time steps. Doing in such a manner provides a means to control variation of the weights over consecutive time steps to ensure smooth estimation performance.
The compound probabilistic filter 400a includes multiple probabilistic filters. For example, the compound probabilistic filter 400a includes a first probabilistic filter 420a and a second probabilistic filter 410a. The first probabilistic filter 420a determines a first state estimate 425a using a first hypothesis of noise covariance 407b of the first measurements and a first hypothesis of noise covariance 207b of the second measurements. Similarly, the second probabilistic filter 410a determines a second state estimate 415a using a second hypothesis of noise covariance 408a of the first measurements and a second hypothesis of noise covariance 408a of the second measurements. In an embodiment, the first hypothesis of the noise covariance of the first measurements is different from the second hypothesis of noise covariance of the first measurements, and the first hypothesis of noise covariance of the second measurements is different from the second hypothesis of noise covariance of the second measurements, or both. In such a case, the first and second noise distributions of either measurement are different distributions in terms of its parameters but represent the same entity. For instance, both distributions represent the measurements of a camera but have different noise values.
Next, using the first state estimate 425a of the first probabilistic filter 420a and the second state estimate 415a from the second probabilistic filter 410a, a state of the vehicle 435a is determined as a weighted combination 430a, wherein the weighting 430a of the combinations is determined online, offline, or as a combination thereof. In one embodiment, the state of the vehicle 435a is a weighted mean of the first probabilistic filter 420a and the second probabilistic filter 410a. In another embodiment, the state of the vehicle 435a is the output of the probabilistic filter having the highest weight.
In one embodiment, each probabilistic filter is a linear regression Kalman filter that estimates a mean and a covariance of the vehicle state. In another embodiment, the probabilistic filter is a particle filer, which outputs a sampled representation of a posterior distribution. Some embodiments employ a probabilistic filter including various variants of Kalman filter (KF), e.g., extended KFs (EKFs), linear-regression KFs (LRKFs), such as the unscented KF (UKF).
Some embodiments are based on the understanding that if a probabilistic filter using a particular combination of measurement noise values for various sensors gave the best fit at a previous time step, it is likely to also produce a good fit for the next time step. For example, if a GNSS measurement was unreliable in a previous time step due to, e.g., multipath in an urban environment, it is likely to be prone to multipath also in the next time step. However, it also has a chance of producing a reliable measurement if the unreliability of the measurement is not an effect of multipath but due to some other unmodeled disturbance. Some embodiments use this understanding to integrate and weight the multiple probabilistic filters at each time step of control such that the probabilistic filters are given different weightings based on their weights at previous time steps.
Some embodiments are based on the understanding that the computational complexity of the multiple probabilistic filters grows unfavorably with a number of hypotheses of noise values and the number of sensors. For instance, one embodiment understands that using different possible noise values can be interpreted as gridding of a continuous space of possible noise values such that there is an exponential complexity in the number of possible combinations of noise values and therefore the number of probabilistic filters employed in the estimation.
Some embodiments realize that in automotive applications the computational power of automotive-grade electronic control units is limited and using a large number of probabilistic filters is not computationally feasible. One embodiment remedies this by selecting a subset of the probabilistic filters to be used in the estimation. For instance, one embodiment selects probabilistic filters corresponding to values of measurement noises close to those that were well represented the state at the previous time step. Doing in such a manner enables the subset of probabilistic filters chosen at each time step to follow evolution of the sensor quality.
Some embodiments use a first hypothesis of a noise covariance of a measurement and a second hypothesis of a noise covariance of said measurement, wherein the first hypothesis is used by one of the probabilistic filters and the second hypothesis is used by another of the probabilistic filters within the compound filters.
One embodiment recognizes that because the first measurement is defined on the measurement space 417g and the second measurement is defined on the second measurement space 427g, they cannot be compared directly.
Some embodiments employ the different sensors by using a joint measurement model. For instance, referring to
In some embodiments, the outputted estimate 435a of the state of the vehicle is used to control the vehicle. In one embodiment, a model-predictive controller (MPC) is used for controlling the vehicle based on the outputted estimate 435a of the state of the vehicle.
In some embodiments, the solution of the inequality constrained optimization problem 550 uses state and control values over the prediction time horizon from the previous control time step 510, which can be read from a memory of the MPC. This concept is called warm- or hot-starting of optimization algorithm, which considerably reduces the required computational effort of the MPC. In a similar manner, the corresponding solution vector 555 can be used to update and store a sequence of optimal or suboptimal state and control values for the next control time step 560.
In some embodiments of the present disclosure, the MPC adapts one or multiple terms in the control cost function 540 to the reference 505 and corresponding confidence 506 that are computed by the compound probabilistic filter 104a.
In an embodiment, the prediction model used by the probabilistic filter to predict the current state of the vehicle (e.g., current state 120b) may be a motion model of state transitions of the vehicle subject to the process noise. An example of the motion model is described below in
m({dot over (v)}X−{dot over (v)}Yψ)=Ffx cos(δ)+Frx−Ffy sin(δ),
m({dot over (v)}Y−{dot over (v)}Xψ)=Ffy cos(δ)+Fry−Ffy sin(δ),
I{umlaut over (ψ)}=l
f(Ffy cos(δ)+Ffy sin(δ))−lrFry,
where m is mass and I is inertia, and F with subscripts are forces acting on the vehicle. The resulting model is nonlinear, and in some embodiments the model is concisely written as xk+1=f(xk, uk)+wkx, where wkx˜(0, Qx), i.e., zero-mean Gaussian process noise.
In other embodiments, the single-track model is kinematic, i.e., it ignores force moment balances. For instance, in one embodiment, the kinematic single-track model is
wherein z=(pX, pY, ψ)ϵn
Further, the state predicted (e.g., state z) by the motion model is updated using the measurement model. The measurement model used in the probabilistic filter models the measurements (such as GNSS measurements). Some embodiments model the GNSS measurements as position measurements preprocessed by a probabilistic filter, e.g., a mixed-integer Kalman filter or a particle filter. Other embodiments model the camera measurements as distances to the lane markings of the road and an approximation of the road ahead, e.g., as illustrated in
Some embodiments update parameters of probabilistic distribution, i.e., mean and covariance using the measurement model. For instance, one embodiment updates the parameters of probabilistic distribution using the Kalman filter (KF). Another embodiment acknowledges that the motion model and the measurement model is nonlinear for some states of the vehicle. To this end, some embodiments employ nonlinear KFs, such as linear-regression KF, to update the parameter of probabilistic distribution. Linear-regression KFs are filters that determine the first and second moment by having the moment integrals including
m
o
g(i)(i|mi,Σii)di and Σoo(g(i)−mo(g(i)−mo)τ(i|mi,Σii)di evaluated at a set of integration points ={(w(ī),
Some embodiments approximate the posterior density for each probabilistic filter as the Gaussian approximation p(
p(
by direct evaluation of the associated moment integrals,
{circumflex over (x)}
k+1|k
=∫
P
k+1|k=∫(
Some embodiments assume the process noise enters additively, which considerably simplifies computations.
Some other embodiments leverage LRKFs for determining the associated moment integrals, wherein a set of integration points are used. For instance, some embodiments use integration points according to an unscented transform, other embodiments leverage a spherical cubature rule. However, any set of integration schemes can be used.
In some embodiments, the compound probabilistic filter 104a is implemented according to an interacting multiple model (IMM) framework. Using IMM enables a systematic way to incorporate a first measurement and second measurement using different combinations of hypothesis of the noise covariances of the measurements. At each time step k, the IMM assigns a weight qk to each model reflecting the probability of explaining the measurements.
Some embodiments define the prediction model according to
k+1
=
y
k
=h(
where the model parameter θkϵ[1,m]⊂ evolves according to a finite state Markov chain with transition probability Πϵ[0,1]m×m
In some embodiments, for each possible θkϵ[1, m]⊂, different hypotheses of measurement noise are created according to
{Rθ
At each time step of estimation, the IMM uses a transition matrix to mix the different m models,
After such mixing, some embodiments run m probabilistic filters to determine the vehicle state estimate. Subsequently, the posterior distribution is determined according to
that is, a weighted combination of each of the probabilistic filters, wherein the weighting is done according to its fit with the measurement normalized with the hypothesized noise covariance,
q
k
j
∝p(yk|
Some embodiments provide a controller for controlling the movement of the vehicle based on a state of the vehicle tracked using the GNSS measurements. Such a controller is explained in detail in
The controller 700 executes the steps of the method described in
The vehicle can also include an engine 806, which can be controlled by the controller 700 or by other components of the vehicle 720a. The vehicle 702a can also include one or more sensors 804 to sense the surrounding environment. Examples of the sensors 804 include distance range finders, radars, lidars, and cameras. The vehicle 720a can also include one or more sensors 805 to sense its current motion quantities and internal status. Examples of the sensors 805 include global positioning system (GPS), accelerometers, inertial measurement units, gyroscopes, shaft rotational sensors, torque sensors, deflection sensors, pressure sensors, and flow sensors. The sensors provide information to the controller 700. The vehicle can be equipped with a transceiver 807 enabling communication capabilities of the controller 700 through wired or wireless communication channels.
Alternatively, in some embodiments, the feedback controller 100 may be used in place of the controller 700 to control the vehicle 720a. The feedback controller 100 also provides control inputs to the controllers 820, based on the estimated state of the vehicle 720a, in order to control the motion of the vehicle 720a
Some embodiments are based on the understanding that the precision of a sensor can vary with time, both smoothly and abruptly. Other embodiments recognize that probabilistic filters, such as KFs and LRKFs, in its standard formulation needs a priori set noise covariances of the measurements used to update the state estimate, wherein the noise covariances has effect of normalizing and weighing together the importance of each measurement. Some other embodiments are based on the realization that KFs that adapt the noise, e.g., using variational Bayes methods for noise adaptation, do not have convergence guarantees and does perform well when making small changes to the a priori set noise covariances. However, e.g., for the case of outliers in GPS measurements, such methods are prone to errors because the outliers tend to happen from one time step to another and noise adaptation methods are well known to have issues with correctly adapting such large changes to the noise covariances in real time. E.g., variational Bayes methods for noise estimation is dependent on tuning factors, for example a forgetting factor, which determines the rate at which changes in the state estimates can occur. Such forgetting factor is designed assuming slowly changing states. Hence, fast variations, as is the case for e.g. GNSS measurement reliability, is not well handled in such approaches. This is in contrast to the method disclosed in the present disclosure, which converge quickly because the probabilities for each probabilistic filter is determined using the likelihood having the hypothesis of measurement noise covariance incorporated into the likelihood.
The description provides exemplary embodiments only, and is not intended to limit the scope, applicability, or configuration of the disclosure. Rather, the following description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing one or more exemplary embodiments. Contemplated are various changes that may be made in the function and arrangement of elements without departing from the spirit and scope of the subject matter disclosed as set forth in the appended claims.
Specific details are given in the following description to provide a thorough understanding of the embodiments. However, understood by one of ordinary skill in the art can be that the embodiments may be practiced without these specific details. For example, systems, processes, and other elements in the subject matter disclosed may be shown as components in block diagram form in order not to obscure the embodiments in unnecessary detail. In other instances, well-known processes, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments. Further, like reference numbers and designations in the various drawings indicated like elements.
Also, individual embodiments may be described as a process which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process may be terminated when its operations are completed but may have additional steps not discussed or included in a figure. Furthermore, not all operations in any particularly described process may occur in all embodiments. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, the function's termination can correspond to a return of the function to the calling function or the main function.
Furthermore, embodiments of the subject matter disclosed may be implemented, at least in part, either manually or automatically. Manual or automatic implementations may be executed, or at least assisted, through the use of machines, hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware or microcode, the program code or code segments to perform the necessary tasks may be stored in a machine readable medium. A processor(s) may perform the necessary tasks.
Various methods or processes outlined herein may be coded as software that is executable on one or more processors that employ any one of a variety of operating systems or platforms. Additionally, such software may be written using any of a number of suitable programming languages and/or programming or scripting tools, and also may be compiled as executable machine language code or intermediate code that is executed on a framework or virtual machine. Typically, the functionality of the program modules may be combined or distributed as desired in various embodiments.
Embodiments of the present disclosure may be embodied as a method, of which an example has been provided. The acts performed as part of the method may be ordered in any suitable way. Accordingly, embodiments may be constructed in which acts are performed in an order different than illustrated, which may include performing some acts concurrently, even though shown as sequential acts in illustrative embodiments.
Further, embodiments of the present disclosure and the functional operations described in this specification can be implemented in digital electronic circuitry, in tangibly embodied computer software or firmware, in computer hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Further some embodiments of the present disclosure can be implemented as one or more computer programs, i.e., one or more modules of computer program instructions encoded on a tangible non transitory program carrier for execution by, or to control the operation of, data processing apparatus. Further still, program instructions can be encoded on an artificially generated propagated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal, which is generated to encode information for transmission to suitable receiver apparatus for execution by a data processing apparatus. The computer storage medium can be a machine-readable storage device, a machine-readable storage substrate, a random or serial access memory device, or a combination of one or more of them.
According to embodiments of the present disclosure the term “data processing apparatus” can encompass all kinds of apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus can include special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit). The apparatus can also include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.
A computer program (which may also be referred to or described as a program, software, a software application, a module, a software module, a script, or code) can be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program may, but need not, correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data, e.g., one or more scripts stored in a markup language document, in a single file dedicated to the program in question, or in multiple coordinated files, e.g., files that store one or more modules, sub programs, or portions of code.
A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network. Computers suitable for the execution of a computer program include, by way of example, can be based on general or special purpose microprocessors or both, and any other kind of central processing unit. Generally, a central processing unit will receive instructions and data from a read only memory or a random access memory or both. The essential elements of a computer are a central processing unit for performing or executing instructions and one or more memory devices for storing instructions and data.
Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks. However, a computer need not have such devices. Moreover, a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS) receiver, or a portable storage device, e.g., a universal serial bus (USB) flash drive, to name just a few.
To provide for interaction with a user, embodiments of the subject matter described in this specification can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input. In addition, a computer can interact with a user by sending documents to and receiving documents from a device that is used by the user; for example, by sending web pages to a web browser on a user's client device in response to requests received from the web browser.
Embodiments of the subject matter described in this specification can be implemented in a computing system that includes a back end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the subject matter described in this specification, or any combination of one or more such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), e.g., the Internet.
The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
Although the present disclosure has been described with reference to certain preferred embodiments, it is to be understood that various other adaptations and modifications can be made within the spirit and scope of the present disclosure. Therefore, it is the aspect of the append claims to cover all such variations and modifications as come within the true spirit and scope of the present disclosure.
Number | Date | Country | |
---|---|---|---|
63367447 | Jun 2022 | US |