Applications of the Kalman Filter to Radar Target Tracking

Slides:



Advertisements
Similar presentations
IS660Z Programming Games Using Visual Basic Overview of Cannonball.
Advertisements

Chapter 4: Kinematics in 2D  Motion in a plane, vertical or horizontal  But, the motion in the x- and y-directions are independent, except that they.
Linear Motion Chapters 2 and 3.
Projectile Motion.
AIR NAVIGATION Part 3 The 1 in 60 rule.
AIR NAVIGATION Part 3 The 1 in 60 rule.
Lab 2 Lab 3 Homework Labs 4-6 Final Project Late No Videos Write up
Observers and Kalman Filters
Artificial Learning Approaches for Multi-target Tracking Jesse McCrosky Nikki Hu.
Chapter 3 Vectors.
Motion Tracking. Image Processing and Computer Vision: 82 Introduction Finding how objects have moved in an image sequence Movement in space Movement.
Motion in Two Dimensions
Tracking using the Kalman Filter. Point Tracking Estimate the location of a given point along a sequence of images. (x 0,y 0 ) (x n,y n )
Prepared By: Kevin Meier Alok Desai
Tracking Moving Objects in Anonymized Trajectories Nikolay Vyahhi 1, Spiridon Bakiras 2, Panos Kalnis 3, and Gabriel Ghinita 3 1 St. Petersburg State University.
Kalman Filtering Jur van den Berg. Kalman Filtering (Optimal) estimation of the (hidden) state of a linear dynamic process of which we obtain noisy (partial)
Tracking a maneuvering object in a noisy environment using IMMPDAF By: Igor Tolchinsky Alexander Levin Supervisor: Daniel Sigalov Spring 2006.
Review of basic mathematics: Vectors & Matrices Differential equations Rende Steerenberg (BE/OP) 16 January 2012 Rende Steerenberg (BE/OP) 16 January 2012.
Novel approach to nonlinear/non- Gaussian Bayesian state estimation N.J Gordon, D.J. Salmond and A.F.M. Smith Presenter: Tri Tran
Molecular Dynamics Classical trajectories and exact solutions
Physics 121 Topics: Course announcements Quiz
Lecture 17 Interaction Plots Simple Linear Regression (Chapter ) Homework 4 due Friday. JMP instructions for question are actually for.
Lecture II-2: Probability Review
Classification and Prediction: Regression Analysis
Adaptive Signal Processing Class Project Adaptive Interacting Multiple Model Technique for Tracking Maneuvering Targets Viji Paul, Sahay Shishir Brijendra,
ROBOT MAPPING AND EKF SLAM
1 Formation et Analyse d’Images Session 7 Daniela Hall 7 November 2005.
Kalman filter and SLAM problem
Muhammad Moeen YaqoobPage 1 Moment-Matching Trackers for Difficult Targets Muhammad Moeen Yaqoob Supervisor: Professor Richard Vinter.
University of Colorado Boulder ASEN 5070 Statistical Orbit Determination I Fall 2012 Professor Jeffrey S. Parker Professor George H. Born Lecture 25: Error.
Copyright © Cengage Learning. All rights reserved.
Chapter 6 ADDITIONAL TOPICS IN TRIGONOMETRY. 6.1 Law of Sines Objectives –Use the Law of Sines to solve oblique triangles –Use the Law of Sines to solve,
Chapter 6 Applications of Trigonometry
Chapter 4 Motion in Two Dimensions. Using + or – signs is not always sufficient to fully describe motion in more than one dimension Vectors can be used.
Colorado Center for Astrodynamics Research The University of Colorado 1 STATISTICAL ORBIT DETERMINATION Satellite Tracking Example of SNC and DMC ASEN.
Brian Renzenbrink Jeff Robble Object Tracking Using the Extended Kalman Particle Filter.
3D SLAM for Omni-directional Camera
10.2 Vectors and Vector Value Functions. Quantities that we measure that have magnitude but not direction are called scalars. Quantities such as force,
Unit 3 Vectors and Motion in Two Dimensions. What is a vector A vector is a graphical representation of a mathematical concept Every vector has 2 specific.
Simultaneous Localization and Mapping Presented by Lihan He Apr. 21, 2006.
An Introduction to Programming and Algorithms. Course Objectives A basic understanding of engineering problem solving process. A basic understanding of.
The Kalman Filter ECE 7251: Spring 2004 Lecture 17 2/16/04
Complete Pose Determination for Low Altitude Unmanned Aerial Vehicle Using Stereo Vision Luke K. Wang, Shan-Chih Hsieh, Eden C.-W. Hsueh 1 Fei-Bin Hsaio.
Karman filter and attitude estimation Lin Zhong ELEC424, Fall 2010.
Human-Computer Interaction Kalman Filter Hanyang University Jong-Il Park.
Chapter 4 Motion in Two Dimensions. Kinematics in Two Dimensions Will study the vector nature of position, velocity and acceleration in greater detail.
Forward-Scan Sonar Tomographic Reconstruction PHD Filter Multiple Target Tracking Bayesian Multiple Target Tracking in Forward Scan Sonar.
Processing Sequential Sensor Data The “John Krumm perspective” Thomas Plötz November 29 th, 2011.
Principles of Radar Target Tracking Jay Bhalodi, Jeff Cao, Lily Healey, Wendy Lin, Tuling Ma, Zara Mannan, Brandon Millman, Zachary Purdy, Divya Sharma,
Principles of Radar Target Tracking The Kalman Filter: Mathematical Radar Analysis.
Economics 173 Business Statistics Lecture 10 Fall, 2001 Professor J. Petry
An Introduction To The Kalman Filter By, Santhosh Kumar.
Principles of Radar Tracking Using the Kalman Filter to locate targets.
Course14 Dynamic Vision. Biological vision can cope with changing world Moving and changing objects Change illumination Change View-point.
In chapter 1, we talked about parametric equations. Parametric equations can be used to describe motion that is not a function. If f and g have derivatives.
October 16, 2014Computer Vision Lecture 12: Image Segmentation II 1 Hough Transform The Hough transform is a very general technique for feature detection.
October 1, 2013Computer Vision Lecture 9: From Edges to Contours 1 Canny Edge Detector However, usually there will still be noise in the array E[i, j],
Tracking with dynamics
By: Aaron Dyreson Supervising Professor: Dr. Ioannis Schizas
Tracking Mobile Nodes Using RF Doppler Shifts
Distance and Displacement. Frames of Reference Whenever you describe something that is moving, you are comparing it with something that is assumed to.
VANET – Stochastic Path Prediction Motivations Route Discovery Safety Warning Accident Notifications Strong Deceleration of Tra ffi c Flow Road Hazards.
KINEMATICS Applications Of The BIG FOUR. Competency Goal 2: Build an understanding of linear motion. Objectives – Be able to: 2.03 Analyze acceleration.
Track-While-Scan (TWS)
STATISTICAL ORBIT DETERMINATION Kalman (sequential) filter
Winning Strategy in Programming Game Robocode
Simultaneous Localization and Mapping
Fitting Curve Models to Edges
SIMPLE ONLINE AND REALTIME TRACKING WITH A DEEP ASSOCIATION METRIC
Presentation transcript:

Applications of the Kalman Filter to Radar Target Tracking

Target Tracking Tracking a target – determining position and velocity of a moving object Doesn’t radar already do this? What is Radar Tracking? It is use of radar to determine the instantaneous position and velocity of an object called a “target” which passes through the airspace monitored by that radar. There are countless applications for this ability, from air traffic control – wouldn’t want any plane crashes, to NASA tracking space shuttle flight. Now I’m sure most of you are thinking, “but there is radar already – what else is there to be done.” Unfortunately, as it turns out, radar by itself cannot accurately determine the flight path of targets. There is a big problem.

The Big Problem Radar is inaccurate Produces “noisy” information: Measurement Noise Plant/Driver Noise Measurements differ from truth Doesn’t directly provide velocity Is there a solution? It turns out that even under the simplest conditions, where there is one target moving in a straight line at a constant speed, radar fails to accurately model the path of the target. The radar’s model is “noisy”. There are two kinds of noise. Measurement noise and Plant or Driver Noise. Measurement noise is the inherent error in the radar equipment. Plant or Driver noise is any change from a straight non-accelerated flight path. Any gust of wind or slight change in direction or deliberate maneuver will result In the measurements deviating from the true trajectory. Is there something we can do to fix this problem?

The Kalman Filter Kalman – originally from Hungary The Filter Studied at MIT and Columbia University Completed work on the filter during 1960 while working at Research Institute for Advanced Study (RIAS) The Filter Handles noise Calculates velocity Doesn’t need to remember old data The answer is yes. It turns out that the “noise” can be filtered out. This solution, called the Kalman Filter was created by Rudolf Kalman. He was born in Budapest, Hungary, and began his interest in target tracking while studying at MIT and Columbia University. He completed the discrete and continuous versions of his filter in 1960 while working at the Research Institute for Advanced Study (RIAS) His filter, originally met with skepticism was used by NASA during the Apollo program and is now commonplace in control systems

The Kalman Filter Model x – State Vector (position and velocity of target) Φ – State Transition Matrix (advances time step) q – Random Driver Noise The Kalman Filter Model is based on a set of assumptions which can be summarized with two equations. In these equations, take note of the bolded letters, which denote matrices and vectors. The subscripts indicate the time step corresponding to each matrix or vector. The first of these equations says that the state of a target, that is, it’s position and velocity, can be predicted using a linear equation. The state of a target at one time step in the future is equal to its current state advanced by the State Transition Matrix, which we call phi. The State Transition Matrix contains terms that predict the state of the target one time step in the future based on linear extrapolation. The model assumes that the velocity of the target will remain constant from one time step to the next and predicts where the target will be based on this assumption. In addition, there is some random driver noise in the state of the target, which is accounted for in matrix q. The noise is caused by the fact that the target does not move in a perfectly straight line. We cannot predict the value of q since it is random noise. However, we can describe q based on the standard deviations of the position and velocity of the target. (can go into more deatil with phi)(also descirbe q more in detail)

The Kalman Filter Model y – Measurement of position H – Transforms State Vector to Measurement x – State Vector (position and velocity of target) r – Random Measurement Noise The second equation distinguishes between the actual state of a target and what we measure its state to be. The vector y is our measurements, and it only includes the position of the target and not the velocity. This is because if you take a snapshot of a radar screen, you can only determine where an object is relative to yourself, but you cannot determine its velocity. The H matrix serves to remove the velocity terms from the state vector in order to get to the measurement vector. In addition, an additional term is added on, which accounts for random measurement noise, which is caused by the imperfections of our measurement instruments. Like the random driver noise, the exact value of the random measurement noise cannot be known. However, like the random driver noise, we can describe the random measurement noise using a covariance matrix, which is denoted by the matrix r.(more detail on noise)

Predict-Update Cycle Input Measurements The Kalman Filter Model told us about the assumptions we were making. Now let’s take a look at the five Kalman Filter Equations which help to reduce the noise and give us the information we want. The equations are split into two stages: predict and update.

The Predict Step – Predicted State P – State Covariance Matrix – State Transition Matrix Q – Driver Noise Matrix The Predict Step contains two equations. In the first equation we predict that the state one time step ahead will be our current state advanced by the state transition matrix. This is our best guess since we can’t predict how noise will affect the state. In the second equation, we introduce a new matrix, the P matrix. The P matrix is also called the state covariance matrix, and the magnitude of the terms inside the P matrix is a good indication of the accuracy of the estimates which the algorithm puts out. The purpose of the second equation is to advance the state covariance matrix by a time step, just as we advanced the state matrix. The phi and phi transpose matrices update the terms in the state covariance matrix, and the Q Matrix, or the Driver Noise Matrix, adds an additional uncertainty to our estimates. Note that in this step, the state covariance matrix always grows because we are unsure of where the target will be one time step in the future. Combined, these first two equations form the predict step of the equations.((YOU DIDN’T DISCUSS Q AT ALL….))((DRIVER NOISE MATRIX))

The Update Step Input Measurements K – Kalman Gain Matrix The next three equations constitute the Update part of the filter. The first Update equation gives us the value of a new matrix K, the Kalman Gain Matrix. This matrix is the basis for the entire Kalman filter. It tells us how much to weigh our measurements versus the predictions in order to determine our final estimate for the location of the target. Depending on its value, the algorithm will rely more heavily on either the measurements or the predictions from the predict step. This equation also factors in the random measurement noise through the R matrix to determine the value of the Kalman Gain Matrix. The 2nd Update equation updates the state vector at the current time based on the Kalman Gain Matrix as well as the current time’s measurements and prediction of the current state from one time step ago. The result of this equation is what our algorithm outputs as the estimated state of the target. Finally, the last equation updates the State Covariance Matrix. As you can see, with each additional time step, the P matrix gets smaller and smaller, indicating that we are increasingly confident about our estimates. Although the derivation of these equations, particularly the equation for determining the Kalman Gain Matrix, is rather complicated, the fundamental purpose of these equations is simple to understand. These equations are a systematic method for balancing the measurements we have from our radar with the predictions we are getting from our algorithms. Properly weighted, these two pieces of information help give us a very clear picture of the trajectory of a target. K – Kalman Gain Matrix P – State Covariance Matrix H – Transforms State Vector to Measurement R – Random Measurement Noise – Predicted State y – Measurement of position

Tracking Implementation Filter equations implemented using Java Radar data read from a separate file One point at a time Program output state estimates We wrote Java programs to implement the Kalman Filter and output our filtered results. Since we obviously do not have the resources to actually track physical objects, we tested the filter against a virtual representation of a radar tracking a target. The radar data was inputted from a separate file, but we could only see one piece of data at a time. Our filter would read the radar data and output more accurate estimates for the state of the target. 10

Cartesian Input Scenario Single target traveling in a straight line Measurements in Cartesian coordinates Our first scenario was a relatively simple one. We had to implement our filter to track a target moving in a straight line across a Cartesian coordinate plane at constant velocity. Running the radar’s measurement data through our filter, we tried to reduce the error in our estimates. The graph shown here shows the position estimates for both the measured and filtered values: while the measured estimates zig-zag, our filtered estimates tended to follow a straighter path. 11

What Is a Residual? Used to quantitatively measure error Distance between estimate and truth Our first scenario was a relatively simple one. We had to implement our filter to track a target moving in a straight line across a Cartesian coordinate plane at constant velocity. Running the radar’s measurement data through our filter, we tried to reduce the error in our estimates. The graph shown here shows the position estimates for both the measured and filtered values: while the measured estimates zig-zag, our filtered estimates tended to follow a straighter path. 12

Straight Line Movement: Residual Plot

Tracking With Polar Coordinates Given: Range (r) from origin Bearing angle (α) from positive y-axis α θ r . (r cosθ, r sinθ) This is how real life data would be received—with the radius and bearing angle (counterclockwise from the positive y). We must convert this to a polar coordinate first by finding theta. Finally, coordinates must be converted to Cartesian using simple trig to fit the last filter’s mold and make implementation of the new data easier.

Transforming the Measurement Error Matrix Measurement Error Covariance Matrix: Previous R matrix was 2, 0, 0, 2 assuming that our tools were accurate within two miles. The R matrix, once again, gives measurement noise meaning noise due to inaccuracy of the tools used to get data. Because of plane transformation, the R matrix changes from the simple circle it was earlier and becomes a curved ellipse.

Tracking with Polar Coordinates: Residual Plot

Tracking with Multiple Radars Pre-filtered based on which radar is used No major change in code Measurements from each radar transformed to a common coordinate system Makes measurement error smaller Radar 2 (-49.6, 33.3) Radar 1 (38.9, -10.6) y2 y x2 x y1 x1 When we received data from multiple radars, we simply had to shift the plane to establish that radar as the origin. As we knew which radar we received the location from, we just had to find out the objects coordinates on a standard plane and in the end, put the data from both radars together. The important result of this is that measurement error is made smaller because the radars effectively triangulate the target, producing interfering errors and giving better results.

Tracking with Multiple Radars: Residual Plot

Maneuver Detection Represents more advanced application Tracks target with segmented flight path Residual analysis to identify points where target turns Reset Kalman Filter after maneuver has been detected

Separating Maneuvers from Estimate Noise Unavoidable measurement error Target will not follow exact straight line Use state covariance to identify likely maneuvers Measures variability in recorded data Calculates how probable a measurement is, assuming no maneuver was made If improbable, maneuver was likely

The Error Ellipse Region of probable measurements around expected values Size of ellipse relative to magnitude of state covariance matrix Distance from expected value measured in standard deviations, σ Dependent on Matrix C, with positional elements of state covariance matrix Residual matrix, r (measurement minus expected value)

Alert and Reset If measurement is more than 4 standard deviations, 4σ, too improbable to be only measurement error Raise a flag: a potential maneuver has occurred If flag is raised twice in a row, enough reason to assume a maneuver has occurred About 1 in 1 million occurrences will be a false alarm Reinitializes filter using initial state covariance matrix and new state matrix

Maneuver Detection: X-Y Plot Over Time

Target Intercepting Builds upon previous task Still tracking maneuvering target Direct interceptor at every time-step to intercept target Use trigonometry to calculate the required angle using estimated velocities and positions

Finding Angles Interceptor moves at constant speed (630mph) Starts at (xi,yi) = (-50,-120) Target moves with estimated velocity, and [ ] from estimated position, (x,y)

Finding Angles Three sides of triangle are s, vt, and 630t t – time needed to intercept target Knowing cos(θ), can find t using law of cosines Actual value of vt can be found, and adding –s to vt gives displacement vector of interceptor Let γ be angle of movement with respect to horizontal:

Target Interception With γ found, interceptor moves in indicated direction at the set speed of 630mph Moves until next time more data is received Value of γ is updated for new positions Course of interceptor is adjusted every step, eventually tracking down the target

Target Intercepting: X-Y Plot Over Time

Tracking Multiple Targets Class Rad ar double theta, r, x, y Matrix Q, H, ident, K Iterate() getTime() Radar 1 Radar 2 Determine the position/velocity of two targets traveling on unknown courses Similar methods to basic filter, with the filter receiving measurement data from two targets Object-oriented programming Multiple target tracking  apply basic tracking methods to two planes Program must account for data from two distinct sources Given raw data in polar coordinates (range/bearing) for two planes Object oriented programming enables us to track multiple targets using implementation similar to that of tracking one target, greatly simplifying the task Can create two objects from a class, allowing us to reuse functions, variables, and other class structures For instance: create two Radar objects in the filter, simultaneously reading in data from one target each 29

Tracking Multiple Targets: Residual Plot

Target Collision Avoidance Practical application of multiple target tracking Determine the states of two targets, project future trajectories, and predict possible collisions If targets are within 12 miles of each other Simulate projections for each target Determine if targets will come within 1 mile of each other and alert pilots if necessary Apply multiple-target tracking methods to prevent collisions Planes can travel a mile within mere seconds - they may not always be able to respond quickly to impending collisions As a result  program must predict the possibility of a collision far beforehand – here, when the planes come within 12 miles of each other When the planes are 12 miles apart or less, the program begins to project future trajectories for both planes, given the data up to that time Alert the planes if they are predicted to come within 1 mile of each other at any given time 31

Collision Avoidance: X-Y Plot Over Time At t=0.1833 hours: Program detects that the planes are <12 (10.5926) miles apart, begins to check whether trajectories will cross Projects into the future; predicts that planes will in fact come within a mile of each other at the same time Graph displays the two planes’ trajectories and shows that a collision is imminent; plane stops where the program alerts the pilots at t=0.1833 32

Summary of Tasks Tracking a single target Tracking with multiple radars Tracking and intercepting a target with changing velocity Tracking multiple targets Avoiding target collision Up to 40% decrease in average residual

Other Applications Air Traffic Control Autopilot Dynamic Positioning Maintaining a vessel’s constant position Macroeconomics Tracking market trends For obvious reasons, this is useful for autopilot in which a computer would take into account a plane’s current locations and environmental factors to move to a target location x. Similarly, the Kalman Filter could be used for dynamic positioning in which a sea vessel takes into account wind, motion and sea currents to maintain a steady position. Further, it is even useful for economics in which noise could be filtered out to determine an overall market trend.

Acknowledgements Sponsors of the New Jersey Governor’s School in the Sciences John and Laura Overdeck Bristol-Myers Squibb Jewish Communal Fund Vanguard Charitable Endowment Program The Ena Zucchi Charitable Trust Village Veterinary Hospital FannieMae Foundation NJGSS Alumnae and Parents Myrna Papier Dr. Miyamoto Dr. Surace Randy Heuer Zack Vogel

Works Cited "The Kalman Filter." Department of Computer Science, UNC-Chapel Hill. 21 June 2009. Web. 25 July 2009. <http://www.cs.unc.edu/~welch/kalman/>. Blackman, Samuel S. Multiple-Target Tracking with Radar Applications. Artech House: Norwood, MA 1986. Atwood, Bill. "Covariance and GLAST." GLAST. Stanford University, Aug. 2003. Web. 24 July 2009. <http://www-glast.slac.stanford.edu/software/anagroup/WBA072003-Covariance.pdf>.