This course covers topics related to tracking systems, focusing on the filtering methods used to mitigate noise. It is assumed the student has a strong mathematical background and is proficient in MATLAB, C and/or Python programming.

Topics include model fitting and the normal equations, nonlinear soultions, Kalman filter, extended Kalman filter, particle filter, unscented transform, recursive Bayesian estimation, and hidden Markov models. In labwork, several of these ideas are implemented by the student.

Instructor: Adam Hoover

Grader: No grader this semester due to budget crunch Zoom: link Syllabus Here is the tentative outline for the semester. Dates and topics are subject to change.Day | Lecture topics (instructor notes) | Extra references | Lab assigned | Lab due |
---|---|---|---|---|

Thursday, 8/25 | Introduction to tracking systems and filtering; Line fitting, least squares Zoom 2022 | A paper on least median of squares fitting to overcome outliers. | ||

Tuesday, 8/30 | Normal equations, fitting a circle to a set of data Zoom 2022 | An excerpt on the normal equations from Numerical Recipes in C. | lab 1 - line and model fitting The data for part three of the lab. | |

Thursday, 9/1 | Root finding, nonlinear regression Zoom 2022 | An online function graphing calculator which can be used to visual the second example in the lecture notes. A discussion of methods used to calculate square roots. | ||

Tuesday, 9/6 | Nonlinear model fitting Zoom 2022 | Some C code that demonstrates fitting a nonlinear model of exponential form. Another C code example that demonstrates fitting a sinusoidal form. | lab 2 - nonlinear regression The data files A B and C for fitting. | lab 1 due |

Thursday, 9/8 | Professional writing tools, TeX, vector graphics Zoom 2022 | A simple example of a TeX file. Another example of a TeX file of the notes for the previous lecture, along with EPS files for the scalar figure and distribution figure. Examples of vector vs raster graphics. | ||

Tuesday, 9/13 | Technical writing, content and organization Zoom 2022 | An example of these writing principles in the business world. From the movie Margin Call about the 2008 financial crisis. | lab 2 due | |

Thursday, 9/15 | Writing: graphics and figures Zoom | Top 10 worst figures in published research papers. Data distortion, ambiguity and distraction. Anatomy of a graph. Funny examples of selecting models to fit to data. | lab 3 - professional writing | |

Tuesday, 9/20 | Filtering, state spaces, state transition and measurement equations Zoom 2022 | |||

Thursday, 9/22 | Dynamic and measurement noises, optimal balancing Zoom 2022 | |||

Tuesday, 9/27 | Covariances, matrix notation for filtering Zoom 2022 | An excerpt from Brookner's book on matrix notation for the KF. | lab 3 due | |

Thursday, 9/29 | class cancelled | |||

Tuesday, 10/4 | Kalman filter Zoom 2022 | An Introduction to the KF by Greg Welch and Gary Bishop. Instructions on using TrackSim to demonstrate the Kalman filter. | lab 4 - Kalman filter The data to be used for part 1. Some 2D UWB tracking data that can be used for part 2. | |

Thursday, 10/6 | 2D Kalman filter example Zoom 2022 | An online demo of a 2D constant velocity model Kalman filter. | ||

Tuesday, 10/11 | Nonlinear filtering, Jacobians Zoom 2022 | |||

Thursday, 10/13 | Extended Kalman filter, radar example Zoom 2022 | lab 4 due | ||

Tuesday, 10/18 | EKF example, sinusoid Zoom 2022 | Instructions on using TrackSim to demonstrate the extended Kalman filter. | lab 5 - extended Kalman filter The data to be used for part 1. Some simulated ballistic data for part 2 is forthcoming. | |

Thursday, 10/20 | Recursive Bayesian estimation Zoom 2022 | |||

Tuesday, 10/25 | Non-Gaussian state and noise distributions Zoom 2022 | |||

Thursday, 10/27 | Importance sampling, sequential importance sampling Zoom 2022 | lab 5 due | ||

Tuesday, 11/1 | Particle filter, resampling Zoom 2022 | A tutorial on particle filtering in the context of signal processing. Another tutorial in the context of mobile robot localization. | lab 6 - particle filter The data to be used. Some C code that generated the data, in case you would like to try your own. | |

Thursday, 11/3 | Particle filter demo, coding Zoom 2022 | Instructions on using TrackSim to demonstrate the particle filter. | ||

Tuesday, 11/8 | no class - Fall break | |||

Thursday, 11/10 | Introduction to ultra-wideband position tracking Zoom 2022 | Bill Suski's defense slides | ||

Tuesday, 11/15 | Noise modeling for UWB indoor position tracking Zoom 2022 | Salil Banerjee's defense slides | ||

Thursday, 11/17 | Matrix square root, unscented transform Zoom 2022 | A presentation on the unscented particle filter, by Rudolph van der Merwe | ||

Tuesday, 11/22 | Introduction to hidden Markov models and the Viterbi algorithm Zoom 2022 | An introduction to HMMs by Raul Ramos. Viterbi algorithm by Didier Gonze. Examples of HMM applications by Raul Ramos. HMMs for recognizing eating gestures by Yiru Shen. | lab 7 - HMM | lab 6 due |

Thursday, 11/24 | no class - Thanksgiving break | |||

Tuesday, 11/29 | Behavior-based robotics Zoom 2022 | lab 8 - robot simwars. The simulated environment for robot survival wars is available in two versions: C code for Microsoft Visual C and C code for Microsoft Visual Studio 2010. | ||

Thursday, 12/1 | Mobile robot architectures Zoom 2022 | Pictures of different mobile robots explained during lecture. | lab 7 due | |

Tuesday, 12/6 | Robot survival simulations Zoom 2022 | lab 8 first robot code due | ||

Thursday, 12/8 | class cancelled - Happy Holidays! | lab 8 second robot code due, report due |

ECE 8540 Page / Clemson / ahoover@clemson.edu