Download presentation
Published byProsper Dixon Modified over 8 years ago
1
Applications of the Kalman Filter to Radar Target Tracking
2
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.
3
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?
4
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
5
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)
6
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)
7
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.
8
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))
9
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
10
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
11
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
12
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
13
Straight Line Movement: Residual Plot
14
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.
15
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.
16
Tracking with Polar Coordinates: Residual Plot
17
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.
18
Tracking with Multiple Radars: Residual Plot
19
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
20
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
21
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)
22
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
23
Maneuver Detection: X-Y Plot Over Time
24
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
25
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)
26
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:
27
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
28
Target Intercepting: X-Y Plot Over Time
29
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
30
Tracking Multiple Targets: Residual Plot
31
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
32
Collision Avoidance: X-Y Plot Over Time
At t= hours: Program detects that the planes are <12 ( ) 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
33
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
34
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.
35
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
36
Works Cited "The Kalman Filter." Department of Computer Science, UNC-Chapel Hill. 21 June Web. 25 July < Blackman, Samuel S. Multiple-Target Tracking with Radar Applications. Artech House: Norwood, MA Atwood, Bill. "Covariance and GLAST." GLAST. Stanford University, Aug Web. 24 July <
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.