ASEN 5070: Statistical Orbit Determination I Fall 2015 Professor Brandon A. Jones Lecture 20: Project Discussion and Introduction to the Kalman Filter University of Colorado Boulder Homework 6 Due Friday No lecture quiz this week Exam 1 Returned Monday (10/19) University of Colorado Boulder 2 Term Project Introduction University of Colorado Boulder 3 The OD project consists of ◦ Deriving the algorithms for estimating the state of a spacecraft ◦ Implementing the algorithms ◦ Processing range and range-rate observations from three ground-stations University of Colorado Boulder 4 3 Ground-based tracking stations ◦ Equatorial station’s position fixed in filter Dynamics Model ◦ ◦ ◦ ◦ Two-body, unknown μ Also estimating J2 Drag with unknown CD Already completed! ◦ Simple spherical satellite with known mass and area University of Colorado Boulder 5 University of Colorado Boulder Estimate satellite position and velocity in ECI Constants governing satellite dynamics Station positions on Earth’s surface (ECEF) 18x1 state vector 6 Unknown ground tracking station positions ◦ Boat in Pacific at equator Equatorial station still estimated, but a priori covariance is very small ◦ Turkey ◦ Greenland University of Colorado Boulder 7 Range (m) and range-rate (m/s) ◦ Range: Zero mean, σ = 1 cm ◦ Range-Rate: Zero mean, σ = 1 mm/s There is an observation at t=0 ! Observation intervals do not overlap ◦ Number of observations at a given time always equals 2 ◦ Would add more complexity to the filter University of Colorado Boulder 8 Derive A and H_tilde and implement the partials in software ◦ Use the symbolic toolbox with the jacobian() command ◦ Don’t include calls to symbolic toolbox in ode45() derivative function! Add numeric integration of STM to you HW2 propagator ◦ Check intermediate results with the website University of Colorado Boulder 9 Implement a batch least squares filter to estimate the state and get an error covariance ◦ Results from first iteration are provided as your homework 9 Implement a Kalman/Sequential filter to estimate the state and error covariance ◦ Completed with HW 10 University of Colorado Boulder 10 Discussion of OD problem and batch processor in the report Discuss the results ◦ Compare results from the Kalman and LS filters Plots: ◦ Residuals ◦ Covariance ◦ Error ellipsoids (more in future lecture) University of Colorado Boulder 11 Process one data type at a time ◦ Range-only processing ◦ Range-rate only ◦ Compare results (which does better?) Discussion of results University of Colorado Boulder 12 The previous tasks get you a maximum score of 90/100 Additional elements boost your grade from there ◦ Extended Kalman filter (EKF needed for StatOD 2 anyway) ◦ Potter Filter ◦ Givens transformations ◦ Smoothing ◦ Interval processing of data ◦ Others… The additional elements is your chance to further explore a topic of interest covered in class University of Colorado Boulder 13 Satellite state estimated and propagated in the inertial frame: Dynamics solve-for parameters are (fundamentally) not tied to a coordinate system: Ground-station locations are in the Earth-fixed frame: University of Colorado Boulder 14 Since the ground stations are in the Earth-fixed frame, we assume: Hence, we have: University of Colorado Boulder 15 The portions of the reference state requiring integration only includes the spacecraft position and velocity Strictly speaking, we only need to propagate a 6 × 9 STM University of Colorado Boulder 16 All of these need to be in the same reference frame! We recommend including this transformation in the measurement model: University of Colorado Boulder 17 Although the project description includes an absolute epoch time (3 Oct. 1999), you do not need this information You can use: We give you the rotation rate and t is the provided measurement time In the real world, time and coordinate systems are not this easy! University of Colorado Boulder 18 Compare to solution online Results available as .txt and .mat ◦ Results generated for the .txt files did not use ode45()! ◦ Results in .mat file appear to have used Rel/Abs tolerances of 1e-11 ◦ Python users can load .mat files using scipy.io.loadmat(). Note: some elements of the project website will be updated later in the semester (suggestions and rubric) University of Colorado Boulder 19 We ask for relative differences to quickly identify differences between your result and the one online: Example: University of Colorado Boulder 20 Conventional Kalman Filter (CKF) University of Colorado Boulder 21 Given from a previous filter: We have new a observation and mapping matrix: We can update the solution via: University of Colorado Boulder 22 Two principle phases in any sequential estimator ◦ Time Update Map previous state deviation and covariance matrix to the current time of interest ◦ Measurement Update Update the state deviation and covariance matrix given the new observations at the time of interest Jargon can change with communities ◦ Forecast and analysis ◦ Prediction and fusion ◦ others… University of Colorado Boulder 23 We still have to invert an n × n matrix Can be computationally expensive for large n ◦ Gravity field estimation: ~n2+2n-3 coefficients! May become sensitive to numeric issues University of Colorado Boulder 24 Is there a better sequential processing algorithm? ◦ YES! – This equations above may be manipulated to yield the Kalman filter University of Colorado Boulder 25 Today – Outline derivation starting with the minimum variance estimator ◦ Demonstrates mathematical equivalence of CKF and Batch ◦ Make sure you understand the derivation presented in the book! Wednesday – Derivation as a solution to Bayes theorem ◦ Demonstrates strengths of Kalman filter in context of probability/statistics ◦ Also helps to understand impacts of assumptions University of Colorado Boulder 26 Schur Identity (Appendix B, Theorem 4): (Yes, it will simplify things…) University of Colorado Boulder 27 Kalman Gain University of Colorado Boulder 28 University of Colorado Boulder 29 Instead inverting a p×p matrix Mathematically equivalent to the batch least squares, minimum variance estimator, etc. Also provides a solution to the least squares minimization problem Yields a new set of problems in filtering (to be covered later) University of Colorado Boulder 30 Does not map to epoch time! Note the use of Htilde University of Colorado Boulder 31