Kalman Filter - Part 1

แชร์
ฝัง
  • เผยแพร่เมื่อ 20 พ.ค. 2024
  • This course will introduce you to the different sensors and how we can use them for state estimation and localization in a self-driving car. By the end of this course, you will be able to: - Understand the key methods for parameter and state estimation used for autonomous driving, such as the method of least-squares - Develop a model for typical vehicle localization sensors, including GPS and IMUs - Apply extended and unscented Kalman Filters to a vehicle state estimation problem - Understand LIDAR scan matching and the Iterative Closest Point algorithm - Apply these tools to fuse multiple sensor streams into a single state estimate for a self-driving car For the final project in this course, you will implement the Error-State Extended Kalman Filter (ES-EKF) to localize a vehicle using data from the CARLA simulator. This is an advanced course, intended for learners with a background in mechanical engineering, computer and electrical engineering, or robotics. To succeed in this course, you should have programming experience in Python 3.0, familiarity with Linear Algebra (matrices, vectors, matrix multiplication, rank, Eigenvalues and vectors and inverses), Statistics (Gaussian probability distributions), Calculus and Physics (forces, moments, inertia, Newton's Laws).
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 17

  • @StratosFair
    @StratosFair ปีที่แล้ว +9

    Best video on Kalman filter on TH-cam, great job and thanks for making it freely available

  • @yes-man1112
    @yes-man1112 2 ปีที่แล้ว +8

    Nice explaining! Much easier than the Book “Probabilistic Robotics”

  • @laitinenpp
    @laitinenpp 6 หลายเดือนก่อน

    Great job, thank you!

  • @catalinjeanmarc
    @catalinjeanmarc ปีที่แล้ว

    thanks for your video. I want to apply the KF to predict the future temp of a heating termoblock to be able to know when in the future i will reach the desired T°, then I will be able to control it from this prediction. But I have a problem, how can I estimate the both Q and R matrix ? have you some method for me ? or a program (like Matlab) ? or perhaps some proposal of typical matrix for that ? for your information the SSM of thermoblocks is a linear system of second order, so A matrix of SSM is rang 2.

  • @feriyonika7078
    @feriyonika7078 4 หลายเดือนก่อน

    Thanks, I can more understand about KF.

  • @ciciy-wm5ik
    @ciciy-wm5ik ปีที่แล้ว

    the prediction step, should the F maxtrix muitiply hat x instead of x?

  • @StratosFair
    @StratosFair ปีที่แล้ว +1

    Where is the video on recursive least squares though ?

  • @bogomilparalchev3755
    @bogomilparalchev3755 ปีที่แล้ว +5

    The Gk vector is clearly wrong. Its first term should be 0.5 * dt^2, so that the position equation becomes p_k = p_{k-1} + p_dot*dt + 0.5*a^2*(dt)^2

  • @thechannelwithoutanyconten6364
    @thechannelwithoutanyconten6364 4 หลายเดือนก่อน

    Two things:
    1. What the H matrix is has not been described.
    2. One non s1x1 matrix cannot be smaller or greater then another. This is sloppy.
    Besides that, it is a great work.

  • @debarchanbasu768
    @debarchanbasu768 2 ปีที่แล้ว +6

    Hi! Is it a series of which this course is a part of?

    • @Th3Moody
      @Th3Moody 2 ปีที่แล้ว +2

      State Estimation and Localization for Self-Driving Cars by Toronto University (Coursera)

  • @daddahamza6831
    @daddahamza6831 ปีที่แล้ว

    Can someone please help me, in 7:22, why isn't the matrix Gk-1 = ((1/2)DT^2 , DT)) = (0.125, 0.5) ??

    • @LangwasserTV
      @LangwasserTV ปีที่แล้ว +1

      Good question!
      I think the reason is the way how the control vector "u" is defined in the example. In your case the "u" can be thought of being defined as [acceleration, acceleration]^T (but G_{k-1} would then need to be a 2x2 matrix in order for the matrix multiplication to return a 2d vector back). However, the video is not clear about how they define "u". If you take a look at 6:52 you see that the video creator did not pay attention when "u" was defined because suddenly the vector became a scalar value?! So where should the scalar acceleration be put in the vector "u"? At 7:22 we can see that (in this example) "u" is indeed a scalar for simplicity sake and the math works properly. So you are actually right about your definition of G_{k-1}.
      However, it seems that it was not the goal to let the control vector contribute to the position state, but only to the velocity state and hence G_{k-1}=[0, DT]^T in this example. In contrast, here www.cs.cmu.edu/~motionplanning/papers/sbp_papers/kalman/kleeman_understanding_kalman.pdf on Slide 15, when the authors model a free-falling body motion, they actually use your formulation of the control matrix (with DT=1s).
      To be honest, I do not know what the implications of this different control input modeling are (and this is probably the reason why you are asking). But I think that it has something to do with how reliable the control input is, i.e. how much do you trust the input. If, for example, the control input is very noisy / jerky, then applying it to your position state would lead to a more noisy position estimate. If, however, it is a natural law (such as gravity) it would not harm your estimate but actually improve it. Even Wikipedia uses the model you have mentioned for explaining the Kalman filter and they reason about whether your input is "controlled" (definition from this video) or "uncontrolled" (your definition).
      Hope this helps a little.

  • @mohammadrahmani5786
    @mohammadrahmani5786 ปีที่แล้ว

    whow did you choose the covriance matrix at th-cam.com/video/LioOvUZ1MiM/w-d-xo.html ?

  • @hasithaphantom6558
    @hasithaphantom6558 ปีที่แล้ว

    What are the basic requirements to understand KF?

    • @MachineLearningTV
      @MachineLearningTV  ปีที่แล้ว +3

      You need to know what is Bayes Rule and the Gaussisn distribution.