Kalman Filter for Beginners, Part 2 - Estimation and Prediction Process & MATLAB Example

Sdílet
Vložit
  • čas přidán 17. 07. 2024
  • Use the Kalman Filter, even without knowing all the theory! In Part 2 of my three-part series, I discuss the prediction and estimation processes, making an analogy with low-pass filters. We construct a system model via the state transition matrix A, the state-to-measurement matrix H, and the process noise and measurement noise matrices, Q and R.
    💻 Get the MATLAB Code: tinyurl.com/kalmanfilterforbe...
    This special lecture series takes us into dynamic attitude estimation, using time-varying gyroscope data, as opposed to the previously covered static attitude estimation, which uses simultaneous measurements of known external objects.
    ► Next: Kalman Filter for Beginners, Part 3- Attitude Estimation, Gyro, Accelerometer, Velocity via Position
    • Kalman Filter for Begi...
    ► Previous, Kalman Filter for Beginners, Part 1 - Recursive Filters & MATLAB Examples
    • Attitude Determination...
    ► More lectures posted regularly
    Be informed, subscribe is.gd/RossLabSubscribe​
    ► Dr. Shane Ross 🌠 aerospace engineering professor, Virginia Tech
    Background: Caltech PhD | worked at NASA/JPL & Boeing
    Research website for ‪@ProfessorRoss‬
    shaneross.com
    ► Follow me on Twitter
    / rossdynamicslab
    ► Space Vehicle Dynamics course videos (playlist)
    is.gd/SpaceVehicleDynamics
    ► Lecture notes for Kalman Filter series (PDF)
    tinyurl.com/kalmanfilterforbe...
    ► MATLAB Code
    tinyurl.com/kalmanfilterforbe...
    ► Reference
    Kalman Filter for Beginners: with MATLAB Examples
    by Phil Kim (Author), Lynn Huh (Translator), 2010
    www.amazon.com/dp/1463648359
    ► Chapters
    0:00 Recap
    3:51 Estimation Step
    8:00 Comparison with Low-Pass Filter
    10:03 Error Covariance = Inaccuracy of Estimate
    14:29 Prediction Step
    17:34 How Prediction and Estimation Fit Together
    21:44 The System Model
    26:34 Covariance of the System Noise
    31:30 MATLAB Simple Example
    43:32 More Complicated Example
    ► Related Courses and Series Playlists by Dr. Ross
    📚Space Vehicle Dynamics
    is.gd/SpaceVehicleDynamics
    📚3-Body Problem Orbital Dynamics Course
    is.gd/3BodyProblem
    📚Space Manifolds
    is.gd/SpaceManifolds
    📚Lagrangian and 3D Rigid Body Dynamics
    is.gd/AnalyticalDynamics
    📚Nonlinear Dynamics and Chaos
    is.gd/NonlinearDynamics
    📚Hamiltonian Dynamics
    is.gd/AdvancedDynamics
    📚Center Manifolds, Normal Forms, and Bifurcations
    is.gd/CenterManifolds
    Implement a Kalman filter for dummies Visually Explained tutorial MATLAB aerospace attitude estimation sensor fusion mathematics recursion orbital mechanics three body problem Lagrange Point space CR3BP 3 Manifolds James Webb Nonlinear Dynamics gravity Travel Superhighway Interplanetary Highway gravitational dynamical Astronomy astronomy wormhole physics chaos unstable Periodic Orbits Saddle Critical Halo Libration Low Energy Virginia Tech Caltech JPL Lyapunov Celestial Mechanics Hamiltonian planets moons multibody Gateway Station Lunar L1 Arches Of cislunar orbital celestial Chaotician Boeing Jet Propulsion Lab Centaurs Asteroids Comets Trojan Jupiter Family Hildas quasi Kuiper Belt
    #kalmanfilter #MATLAB #lowpass #mathematics #recursion #orbitalmechanics #threebodyproblem #LagrangePoint #space #CR3BP #3body #3bodyproblem #SpaceManifolds #JamesWebb #NonlinearDynamics #gravity #SpaceTravel #SpaceManifold #DynamicalSystems #JamesWebbSpaceTelescope #solarSystem #NASA #dynamics #celestial #SpaceSuperhighway #InterplanetarySuperhighway #spaceHighway #gravitational #dynamicalAstronomy #astronomy #wormhole #physics #chaos #unstable #PeriodicOrbits #SaddlePoint #CriticalPoint #Halo #HaloOrbit #LibrationPoint #LagrangianPoint #LowEnergy #VirginiaTech #Caltech #JPL #LyapunovOrbit #CelestialMechanics #HamiltonianDynamics #planets #moons #multibody #GatewayStation #LunarGateway #L1gateway #ArchesOfChaos #cislunar #cislunarspace #orbitalDynamics #orbitalMechanics #celestialChaos #Chaotician #Boeing #JetPropulsionLab #Centaurs #Asteroids #Comets #TrojanAsteroid #Jupiter #JupiterFamily #JupiterFamilyComets #Hildas #quasiHildas #KuiperBelt
  • Věda a technologie

Komentáře • 26

  • @fernandojimenezmotte2024

    When I first studied Linear Optimal Estimation in Advanced Control Systems [Electrical Engineering track] and in Advanced Radar Systems in Weapons System Engineering track as well , We went through all the hard derivation of the Stochastical Optimal Regulator LQR and Stochastical Optimal Estimator LQE for the whole Linear Quadratic Gaussian LQG Design for an Autopilot [in one advanced design for an American [USA] missile]. Since then Kalman have always appeared in many advanced Electrical Engineering designs. It is great to see it from the perspective of an Aerospace Engineer with scientific expertise and know how in Control and Dynamical Systems. To go very complex in advanced engineering and science doesn´t exclude any professional to get to communicate in a very didactic and understable way. You have done a great work done making Kalman Filtering , Estimation and Prediction very didatic as well as enjoyable Professor Roth. Congratulations !

  • @federicobusca6471
    @federicobusca6471 Před rokem +7

    This is the best series of classes I've ever seen on YT. I have my S/C Attitude Dynamics Exam in 4 days and this is so, so helpful.
    Prof. Ross just made the top 5 of the teachers I've ever had in my entire school-life.
    Keep up the good work!

    • @ProfessorRoss
      @ProfessorRoss  Před rokem +5

      Thank you so much for your kind words! I'm thrilled to hear that the series of classes has been helpful to you, especially with your upcoming S/C Attitude Dynamics Exam. It means a lot to know that my teaching has made a positive impact on your learning experience.

  • @liku1716
    @liku1716 Před 2 měsíci +1

    I am 18 years old and don't know much about these filters, and wanted to make a drone, almost everything was easy but I just couldn't grasp this concept, I think I watched more than 10 videos on kalman filter, nothing got through. But then I found this video, it was really easy to understand. thank u professor for your good work

    • @ProfessorRoss
      @ProfessorRoss  Před měsícem

      I'm glad I was able to help. I hope the drone project goes well!

  • @yassiradil5164
    @yassiradil5164 Před 5 měsíci +3

    Thank you for the awesome explanation!
    Never thought I'd fall in love with an algorithm😂. The stars have aligned and everything makes perfect sense now😂

  • @sebakazkaz3665
    @sebakazkaz3665 Před 6 měsíci

    excellent explanation thank you

  • @alihosseiniroknabadi4828

    Thanks Professor

  • @kupo871
    @kupo871 Před rokem +1

    Awesome!

  • @zhaoyoubing5906
    @zhaoyoubing5906 Před rokem +4

    This video is really wonderful and helped me a lot on understanding the Kalman Filter. Thanks. Is there a small typo on 23:34 ? I think z_{k+1} on the left side of the equation should be z_{k}.

  • @kaankutlu1414
    @kaankutlu1414 Před rokem +2

    Ross thanks for your time and effort. If it is possible can you make video about how to calculate nees and nıs of Kalman filter and IMM filters

    • @ProfessorRoss
      @ProfessorRoss  Před rokem

      Kaan, thank you for watching. I'm more of a dynamics expert, and dabble in estimation and control. In fact, I'm a total novice when it comes to Kalman filters -- thus my enthusiasm -- and have no idea what nees, nıs, and IMM are, so probably no video about that anytime soon.

  • @vacoff2717
    @vacoff2717 Před 10 dny

    this is utterly fucking great

  • @anfarahat
    @anfarahat Před rokem +1

    Thank you for the great explanation! What to do if we do not have a process model?

    • @ProfessorRoss
      @ProfessorRoss  Před rokem +2

      GREAT QUESTION! The first thing that comes to mind is to use a process model that assumes no dynamics. That is, if you have n variables, set A to be the n x n identify matrix. I do a version of this in the Part 3 video, where we use position to estimate velocity. The process model, embodied in A, assumes that the velocity does not change (which it clearly does), and still the Kalman filter does very well. The Part 3 video is here: czcams.com/video/DbE4PMgqp3s/video.html

    • @anfarahat
      @anfarahat Před rokem

      @@ProfessorRoss Thank you very much.

  • @user-ml7ld4cx2l
    @user-ml7ld4cx2l Před 8 měsíci

    Prof, how did you say Po- = 6 is high? @36:10 ?

  • @tabhashim3887
    @tabhashim3887 Před rokem +2

    another great lecture prof. I do have a quick question however for the ending (around 48:00).
    How will we actually achieve the estimation of the velocity, as the dynamic model (A matrix) just says the velocity at k+1 is equal to that of k, implying that the velocity does not change. Moreover, if we wanted to make A 3x3 and include acceleration, we would also arrive at the point where we would assume that a_k+1 = a_k (the acceleration remains constant). However, we know that neither of these two statements are true.
    Where in this Kalman algorithm does it actually know how to properly update the velocity for it to actually be correct because it surely isn't coming from the A matrix?

    • @ProfessorRoss
      @ProfessorRoss  Před rokem

      That's a great question. I think variation in the velocity is provided by the 'process noise' term w_k, which is quantified in the Q matrix. In the next lecture, czcams.com/video/DbE4PMgqp3s/video.html, I do a numerical example for this, You'll notice, I made the variation for velocity higher than for position in the Q matrix, allowing for the possibility of some unmodeled dynamics that changes the velocity. One can adjust the process noise variance to see if results improve.

  • @luiggitello8546
    @luiggitello8546 Před 4 měsíci

    Why is it that lqe or kalman function spit out a constant gain of K without simulating the system recursively like yours?

  • @TheMrOlivex
    @TheMrOlivex Před 11 měsíci +2

    Hello Prof. Ross, thank you very much for this video series. I think you explained the Kalman Filter in a very intuitive and easy way, unlike most sources on the internet. I have one question regarding the state estimation. As far as I know you are using a state space model in the prediction step (xk = A*xk-1 +B*uk), where B*uk describes the input to the system. However you are only using the first part which describes the state transition without any input. What if your system has an input uk which you can measure. Is it then also possible to use the hole state space equation (xk = A*xk-1 +B*uk) in the prediction step?

    • @randomscandinavianguy4165
      @randomscandinavianguy4165 Před 11 měsíci

      Yes. And the input control signals may also themselves have noise which may be lumped together with the process noise in Q (suitably integrated).

    • @ProfessorRoss
      @ProfessorRoss  Před 11 měsíci +1

      I'm actually a beginner when it comes to the Kalman filter, so I don't know how adding control changes things. That might be a subject for a future lecture once I work it out. In any case, thank you for watching and the kind words. I made this for the reason you said -- most sources online make it complicated than needed. Maybe that's for job security for those who know the technique (not to be a conspiracy theorist ...)