Tracking a maneuvering object in a noisy environment using IMMPDAF By: Igor Tolchinsky Alexander Levin Supervisor: Daniel Sigalov Spring 2006
Project goals Learn about ATC problems and the algorithms involved. Learn about ATC problems and the algorithms involved. Implement the simulation track and the tracking algorithms IMM and PDAF in MATLAB. Implement the simulation track and the tracking algorithms IMM and PDAF in MATLAB. Test algorithms performance. Test algorithms performance.
Problem Definition Estimate target state (position, velocity and acceleration) in 2-dimensional Cartesian coordinates. Estimate target state (position, velocity and acceleration) in 2-dimensional Cartesian coordinates. The estimation overcomes the next problems: The estimation overcomes the next problems: -Discrete sampling. -Discrete sampling. -Noisy sampling, noisy environment. -Noisy sampling, noisy environment. -Detection probability lower then 1. -Detection probability lower then 1.
Solution approach KF - Kalman Filter: a linear filter that estimates the state vector. KF - Kalman Filter: a linear filter that estimates the state vector. IMM - Interacting Multiple Model: uses a KF for each one of the models. IMM - Interacting Multiple Model: uses a KF for each one of the models. PDAF - Probabilistic Data Association Filter: statistical approach that deals with false alarms. PDAF - Probabilistic Data Association Filter: statistical approach that deals with false alarms. IMMPDAF - Combining both algorithms in order to estimate the state vector of maneuvering object in noisy environment. IMMPDAF - Combining both algorithms in order to estimate the state vector of maneuvering object in noisy environment.
Kalman Filter KF estimates the state of a discrete time controlled process that is governed by the linear difference equation: KF estimates the state of a discrete time controlled process that is governed by the linear difference equation: KF uses recursive solution: KF uses recursive solution:
IMM - Interacting Multiple Model Defining the number and the kind of models for the algorithm (each model is Kalman-Filter based). Defining the number and the kind of models for the algorithm (each model is Kalman-Filter based). Calculating the probability for each model, by using a-priori probabilities and transition matrix. Calculating the probability for each model, by using a-priori probabilities and transition matrix. Combining the estimations of each model in order to estimate the state vector. Combining the estimations of each model in order to estimate the state vector. IMM treats maneuvering problems by:
Interaction/Mixing Filter M(i) Mode probability update and mixing probability calulation State estimate and covariance combination IMM – one step of the algorithm
PDAF – Probabilistic Data Association Filter Determining an ellipsoidal validation region around the estimated value. Determining an ellipsoidal validation region around the estimated value. Throwing out all the measurements that are outside of this region. Throwing out all the measurements that are outside of this region. Weighting the inside measurements according to their distance from the center of the region. Weighting the inside measurements according to their distance from the center of the region. Estimating the state by mixing all the different weights. Estimating the state by mixing all the different weights. PDAF treats noisy environment problems by:
State estimateState covariance Predicted state Covariance of predicted state Predicted measurementInnovation covariance Calculation of innovations and measurement validation Filter gain calculation Effect of measurement origin on state covariance Evolution of association probabilities Measurements Combined innovation Updated state covariance Updated state estimate PDAF – one step of the algorithm
IMMPDAF For each model the IMM uses a KF and upon it’s estimation builds the validation region for the PDAF. For each model the IMM uses a KF and upon it’s estimation builds the validation region for the PDAF. IMMPDAF treats the false alarms for each model separately, and later on combines them in order to get the final state estimation. IMMPDAF treats the false alarms for each model separately, and later on combines them in order to get the final state estimation.
Maneuvering Index The definition of the maneuvering index is T is the sampling period and are sampling noise and process noise respectfully. The definition of the maneuvering index is T is the sampling period and are sampling noise and process noise respectfully. As we’ll see in the next slides the value of the maneuvering index has a great influence on algorithm’s performance. Moreover, smart definition of the model covariance can optimize drastically the performance. As we’ll see in the next slides the value of the maneuvering index has a great influence on algorithm’s performance. Moreover, smart definition of the model covariance can optimize drastically the performance.
Track initialization 200 seconds of constant speed 200 seconds of constant speed 20 seconds of constant acceleration 20 seconds of constant acceleration 50 seconds of circular motion left with constant acceleration of 9g. 50 seconds of circular motion left with constant acceleration of 9g.
Typical graphs presentation for one run We used 3 types of models: Constant acceleration, constant turn left and constant turn right We used 3 types of models: Constant acceleration, constant turn left and constant turn right
Typical graph presentation for a 50 runs Monte-Carlo
KF vs IMM comparing to Bar-Shalom and Kirubarajan article Goals: Goals: Comparing the performances of a single KF for constant velocity vs 2 models IMM. Both models are modeling constant velocity. The maneuvering index of the first model is constant and the maneuvering index of the second one is changing accordingly to the maneuver. Comparing the performances of a single KF for constant velocity vs 2 models IMM. Both models are modeling constant velocity. The maneuvering index of the first model is constant and the maneuvering index of the second one is changing accordingly to the maneuver. Reconstructing the results of the article and extend the results for noisy environment (FA). Reconstructing the results of the article and extend the results for noisy environment (FA).
KF vs IMM Simulation Results We used the same track as in the article (2 minutes of const velocity with a minute of const acceleration between). We used the same track as in the article (2 minutes of const velocity with a minute of const acceleration between). We got the same results as in the article We got the same results as in the article for a noiseless 50 run Monte-Carlo. for a noiseless 50 run Monte-Carlo.
Conclusions As expected, the performance of the IMM increases with the increase of the maneuvering index. As expected, the performance of the IMM increases with the increase of the maneuvering index. The intersection point is about as in the article. The intersection point is about as in the article.
Article extension – noisy environment The number of false alarms is an independent poisson process with a known. The number of false alarms is an independent poisson process with a known. The number of errors in this example, was 10 per 10 square kilometers. The number of errors in this example, was 10 per 10 square kilometers.
Conclusions In a noisy environment the difference between the performances lowers due to the fact that the increase of the maneuvering index causes wrong estimation towards false alarms. That’s why the intersection point shifted rightwards,. In a noisy environment the difference between the performances lowers due to the fact that the increase of the maneuvering index causes wrong estimation towards false alarms. That’s why the intersection point shifted rightwards,. The percentage of lost tracks of the IMM is always lower then the one of KF, because of the maneuvering part of the track: The percentage of lost tracks of the IMM is always lower then the one of KF, because of the maneuvering part of the track:
Maneuvering index influence in noiseless environment We used our values and got an index of about 20 in the most maneuvering part (turning with constant acceleration of 9g) We used our values and got an index of about 20 in the most maneuvering part (turning with constant acceleration of 9g) We kept constant of 0.5 for the turning model and changed it only for the acceleration model. We kept constant of 0.5 for the turning model and changed it only for the acceleration model.
Conclusions At least one of the models should be with a low maneuvering index and one with a high one. At least one of the models should be with a low maneuvering index and one with a high one. The increase of the maneuvering index improves the performance of the algorithm both in maximum errors and average errors. The increase of the maneuvering index improves the performance of the algorithm both in maximum errors and average errors. The algorithm performs optimally when the maneuvering index reaches it’s maximum value. Furthermore increase doesn’t improve it’s performance. The algorithm performs optimally when the maneuvering index reaches it’s maximum value. Furthermore increase doesn’t improve it’s performance.
Noisy environment influence We compared the results of Monte-Carlo 50 run simulation between a 5 false alarms per 10 squared kilometer (in average), 50 false alarms and 200 false alarms: We compared the results of Monte-Carlo 50 run simulation between a 5 false alarms per 10 squared kilometer (in average), 50 false alarms and 200 false alarms:
Conclusions The increase in false alarms lowers the performance of the algorithm in all the parameters as expected: The increase in false alarms lowers the performance of the algorithm in all the parameters as expected:
Optimizations for noisy environments Our goal in this part was finding the optimal maneuvering index for noisy environment. Our goal in this part was finding the optimal maneuvering index for noisy environment. We used. We used. We checked algorithm performance for the optimal value of the maneuvering index,20, and for lower indexes, 7.5 and 2.5. We checked algorithm performance for the optimal value of the maneuvering index,20, and for lower indexes, 7.5 and 2.5.
Conclusions The optimal value of the maneuvering index in noisy environment is much lower then in noiseless one, due to the fact that high index causes estimation towards false alarms. The optimal value of the maneuvering index in noisy environment is much lower then in noiseless one, due to the fact that high index causes estimation towards false alarms. The last conclusions leads us to choose the maneuvering index of the different models not only according to the equation but also in response to the pdf of the false alarms. The last conclusions leads us to choose the maneuvering index of the different models not only according to the equation but also in response to the pdf of the false alarms.
Pd<1 influence We changed Pd to 0.9. We changed Pd to 0.9. We worked with a noisy environment (50 errors for 10 squared kilometers). We worked with a noisy environment (50 errors for 10 squared kilometers). We choose our maneuvering index as the optimal for this noise rate. We choose our maneuvering index as the optimal for this noise rate.
Conclusions Pd has a great influence on algorithm performance. Even for a small decrease in Pd the performance decreases vastly. Pd has a great influence on algorithm performance. Even for a small decrease in Pd the performance decreases vastly. The maneuvering index value has no major influence for Pd=0.9. The maneuvering index value has no major influence for Pd=0.9. The validation gate size is very important, especially for a noiseless environment. Our motivation for noiseless environment is to decrease the validation gate for the potential minima (depends on object’s velocities). The validation gate size is very important, especially for a noiseless environment. Our motivation for noiseless environment is to decrease the validation gate for the potential minima (depends on object’s velocities).
Summary We implemented the IMMPDAF in Matlab. We implemented the IMMPDAF in Matlab. We compared our algorithm to a given article and got the same results. Later on we extended the conclusions for noisy environment. We compared our algorithm to a given article and got the same results. Later on we extended the conclusions for noisy environment. We analyzed algorithm’s performance for different parameters. We analyzed algorithm’s performance for different parameters.
Further work In the next part of the project we intend to implement in Matlab an algorithm which uses MCMC method in order to track unknown and uninitialized number of objects in noisy environment, and compare it’s performance to other recently proposed heuristical algorithm. In the next part of the project we intend to implement in Matlab an algorithm which uses MCMC method in order to track unknown and uninitialized number of objects in noisy environment, and compare it’s performance to other recently proposed heuristical algorithm.