Understanding Sensor Fusion and Tracking, Part 2: Fusing a Mag, Accel, & Gyro Estimate

Поделиться
HTML-код
  • Опубликовано: 26 сен 2024

Комментарии • 67

  • @Simon-nx1sc
    @Simon-nx1sc 3 года назад +145

    As an engineering student, I cannot stress enough how grateful every one of us is for the existance of Brian Douglas.

    • @lanedrake6778
      @lanedrake6778 3 года назад

      sorry to be off topic but does someone know a trick to log back into an Instagram account..?
      I stupidly lost the login password. I would love any tricks you can give me!

    • @brendanharlan8262
      @brendanharlan8262 3 года назад

      @Lane Drake instablaster ;)

  • @danielleeeee.c
    @danielleeeee.c 2 года назад +2

    I am currently working on MPU9250, from scratch, for my rover to track location and orientation underground. This is my first time using such sensor and literally everything about this sensor, and this video is so helpful! I understood everything and made me understand the basics enough for me to make simple algorithms, maybe? I still need a lot of things to learn, but this series is so helpful. THANK YOU SO MUCH BRIAN!

  • @madhavansudhakar3295
    @madhavansudhakar3295 3 года назад +5

    I felt that the lecture contained a massive amount of information and required some good deal of prerequisite knowledge. Does anyone else also feel the same way? If you do can you tell me how you covered that knowledge gap ?

  • @isaacclark9825
    @isaacclark9825 5 лет назад +6

    I posted a criticism, but I am really enjoying this content. Looking forward to more

  • @arifeazman1067
    @arifeazman1067 4 года назад +3

    it is the lesson that i need at the moment. i started to learn control to build my own flight controller. going through control theory, sensor fusion, kalman filter etc lessons i believe i will achieve my goal. thank you so much brian.

    • @ayy4703
      @ayy4703 4 года назад

      did you achieved your goal and was it accurate(i mean working well) as you expected, thanks :D

  • @malteberndt
    @malteberndt 3 года назад +7

    Wow - this is really awesome. Great explanation, superbly prepared, this is one of the best tutorials I saw so far in terms of didactic methods and visualization of a complex topic.

  • @CrystalDataMusic
    @CrystalDataMusic 4 года назад +5

    I don't care for the MATLAB language, but they make some damn good video lessons.

  • @navadeep025
    @navadeep025 4 года назад +1

    Please continue this series......Its very nice and interesting to learn.

  • @isaacclark9825
    @isaacclark9825 5 лет назад +4

    When an object rotates in uniform circular motion, the acceleration is not tangent to the circle, but rather towards the center of the circle. The narration, together with the pictures, implied that the acceleration was tangential. That only happens if the object, in addition to traveling in a circle, changes its speed.

    • @BrianBDouglas
      @BrianBDouglas 5 лет назад +3

      You are correct. In my head, I was envisioning the angular rate changing (or it accelerates the speed at which it rotates) then the acceleration would be in the direction I drew. However, my voiceover and the animation didn't match that description and I should have drawn the acceleration vector radially. Thanks for catching this!

  • @ForYou-vi3wx
    @ForYou-vi3wx 5 лет назад +3

    Good lectures briyan!

  • @Sal19
    @Sal19 5 лет назад +7

    Hi Brian, thanks for taking the time to make the videos, they're very helpful. But I was wondering if you could provide me with some references to the subject of system Identification methods (books or videos). Thank you in advance.

  • @theaddies
    @theaddies 3 года назад

    Astonishingly good. Thank you.

  • @sijinahi3675
    @sijinahi3675 Год назад +1

    how to validate the x, y, z,value if its correct or not

  • @nraynaud
    @nraynaud 3 года назад

    Thanks for the nice video. I have a precision to bring about magnetic metals: hard irons keep a residual magnetic field after contact with a magnet (like a steel screw driver), whereas soft irons are attracted by magnets but they don't keep a field, like cast iron and many soft steel plates used in magnetic systems (transformer cores, pots around magnets, etc) Weirdly enough this is a mix of crystallography and quantum effects.

  • @coolmatt3906
    @coolmatt3906 5 лет назад +5

    this is great!

  • @gokulrajaram2950
    @gokulrajaram2950 3 года назад +1

    with gyro and accelrometer can I measure the orientation

  •  2 года назад

    Thank you for sharing.

  • @padraopv
    @padraopv 5 лет назад +1

    Great Job Brian!!!!

  • @pcbworks
    @pcbworks 3 года назад +1

    GREAT, THANKS!

  • @jacobdavidcunningham1440
    @jacobdavidcunningham1440 2 года назад

    Thanks for this video

  • @蕭又瑜-r6f
    @蕭又瑜-r6f 3 года назад +2

    This video helps me a lot!! But I was wandering that at 3:07 why could we measure the upward acceleration? Since the phone remained stationary on the table, the total force on it should be balanced and thus be zero. Therefore the phone should not experience any acceleration, right? hope somebody could answer that for me. Thanks!!

    • @WLDLNG
      @WLDLNG 3 года назад +3

      I had the same question. I think it has something to do with how accelerometers work. The sensor has a mass suspended with spring(s). The acceleration is calculated based on the compression of the springs. In the case where the phone is stationary, the mass will experience the force of gravity and compress the spring under it which corresponds to an upward acceleration.

  • @hn9518
    @hn9518 3 года назад

    Great content!

  • @burakikinci3229
    @burakikinci3229 2 года назад

    Expected sensor not detected. Connect the right sensor to the
    hardware and try again.
    I connected to Mpu9250 and arduino. How can i fix this problem??

  • @matsgard933
    @matsgard933 Год назад +1

    (0:00 - 2:00) Introduction to the concept of orientation and different ways to represent a rotation such as roll, pitch, yaw, Direction cosine matrix, YZ, and quaternion.
    (2:00 - 4:00) Explanation of how to estimate orientation using a magnetometer and an accelerometer. The video explains how to measure the phone's acceleration and the magnetic field to determine the direction of gravity and north.
    (4:00 - 6:00) Discussion of the problems with the simple implementation of the orientation estimation, including the effects of linear accelerations and disturbances in the magnetic field.
    (6:00 - 8:00) Explanation of how to calibrate the magnetometer to correct for hard and soft iron sources that distort the magnetic field measurements.
    (8:00 - 10:00) Discussion of how to deal with corrupting linear accelerations by predicting them and removing them from the measurement, or by ignoring accelerometer readings that are outside of a certain threshold.
    (10:00 - 12:00) Introduction of the gyro to measure the angular rate of the system and explanation of how to estimate orientation for a rotating object using just the gyro. This process is called dead reckoning.
    (12:00 - 14:00) Discussion of the downsides of dead reckoning, including the need to know the initial orientation and the drift away from the true position due to sensor bias and high-frequency noises.
    (14:00 - 16:00) Explanation of how to use sensor fusion to combine the estimates from the accelerometer, magnetometer, and gyro to minimize their weaknesses and maximize their strengths.
    (16:00 - 18:00) High-level explanation of how the blending of the two solutions (accelerometer and magnetometer vs gyro) works in sensor fusion algorithms like the complementary filter or the Kalman filter.
    (18:00 - 20:00) Demonstration of how to implement the sensor fusion algorithm in MATLAB using the function ahrsfilter.
    (20:00 - 20:32) Conclusion and introduction to the next video, which will add GPS to the IMU and orientation estimate to improve the position obtained from the GPS sensor.

  • @allappampaschapur2803
    @allappampaschapur2803 2 года назад

    I am getting this error --> Incorrect I2C device connected. Expected I2C addresses: [0x0C]. Detected I2C addresses: [0x68]. how overcome this

  • @MrCobraTraders
    @MrCobraTraders 10 дней назад

    In magnotometer calibration, U said down = -(g) and east = down x mag field. Isn't it should be up instead of down for ENU?

    • @BrianBDouglas
      @BrianBDouglas 7 дней назад

      I don't know if I'm following your question exactly but let me answer what I think you're asking and please clarify if I'm wrong. NED and ENU are both coordinate frame conventions that are tied to the same reference (Earth). We could use either frame to describe a rotation but NED is more commonly used in aerospace. In this way, when an accelerometer is sitting on a table, the acceleration it feels is up, or a negative acceleration in the Down axis. And, East would be -accel (which is down) cross mag field. But if we were working in the ENU frame, then the upward acceleration would be positive since it's in the UP direction, and East would mag field cross accel (which is up). Did that make sense and did that answer your question?

  • @shezeeblanka1611
    @shezeeblanka1611 2 года назад

    VERY IMPORTANT! what's the matlab font?

  • @m.beratguner7746
    @m.beratguner7746 3 года назад

    Is there any code implementation for 'Corrupting Linear Accelerations'?

  • @aykutsirma4260
    @aykutsirma4260 4 года назад +2

    Nice video; but I would like to ask a question. Is there some equations/formula for these features how to estimate the position or how far a drone is traveled (would you give more information regarding this too please)? I just want to understand how to apply these on coding section later on, thank you.

    • @saberxebeck
      @saberxebeck 3 года назад

      The point of this video is to indroduce some of the topics youre asking for equations for.. coz giving eqiations wil just take too long. i think a good start for you would be to research the topics discussed such as quaterions and kalman filters 1st with that youll be able to get the mahoney and magwick filters.

  • @aynuayex
    @aynuayex 2 года назад

    can not we use a multism to implement the circuit the sensor and arduino kit

  • @tutsy98
    @tutsy98 2 года назад

    how am I just finding this channel sigh

  • @shezeeblanka1611
    @shezeeblanka1611 2 года назад

    plz someone tell me what's the font. i still haven't found it... i can't take it anymore

  • @WarlockSRB
    @WarlockSRB Год назад

    I have a Arduino Nano 33 BLE, and am willing to use it's IMU to make a head tracking device... Any suggestions what to use best?
    Thanks...

  • @aynuayex
    @aynuayex 2 года назад

    i need answer place
    if possible to design the circuit using proteus and integrity it with matlab code,show us??????????????????????????????

  • @wisnueepis3593
    @wisnueepis3593 2 года назад

    9:00 calibrating

  • @mdineen7149
    @mdineen7149 4 года назад

    Is it possible to use the same concept but with a camera?

  • @ShirishJadav162
    @ShirishJadav162 3 года назад

    how can we get this code into the microcontroller?

  • @shezeeblanka1611
    @shezeeblanka1611 2 года назад

    I NEED to know what the matlab font is

  • @dishikapoddar8121
    @dishikapoddar8121 4 года назад

    can you please explain how east is cross product of down and magnetic field

    • @BrianBDouglas
      @BrianBDouglas 4 года назад +8

      If you make the assumption that the magnetic field is pointing in the north direction (and a little down or up) then the down and mag vectors exist within the down/north plane. The cross product of two vectors produces a third vector that is perpendicular to both. So, in this case it would be perpendicular to down/North plane, which is either East or West. Per the right hand cross product rule, down X mag would produce a vector pointing East, and mag X down would produce a vector pointing West. Does that help?

  • @랩틸리언
    @랩틸리언 Год назад

    한국어 자막 너무 감사하다

  • @xInCrediBle94x
    @xInCrediBle94x 2 года назад

    How do you do the down(gravity) estimation when the imu is moving and not stationary(4:10)? Is it even possible if i dont know the initial orientation of the sensor?

  • @Unknown-ck7fi
    @Unknown-ck7fi 2 года назад

    thanks a lot ^_^

  • @chc3565
    @chc3565 3 года назад

    12:06 Can anyone tell me what sample delay is?

  • @anuagrawal8987
    @anuagrawal8987 2 года назад

    what is expMFS?

  • @GusThePilot
    @GusThePilot 3 года назад +1

    Brian, I’m trying this in an airplane,
    but in a coordinated turns the sensors would read 0° roll as the gravity vector is pointing down (relative to the aircraft). How is this issue solved? Should I use a different fusion method?

  • @darrensmith6812
    @darrensmith6812 5 лет назад

    Great Video. Could you comment on how difficult it would be to do this on a Raspberry Pi?

    • @saberxebeck
      @saberxebeck 3 года назад

      It depended on youre prior knoledge ofc.
      Is a pi powerfull enough to do basic sensor fusion? Yes definatly.
      Can you build a basic imu on pi? Yes defo.
      But be warned this is a huge topic. E.g. theirs AI aplications for sensor fuaion and navigation that this talk doesnt cover. But i suggest ignor those till after you finished this topic 1st.
      Maybe youre wanting to build a simple imu aplication? if so i highly recommend the paul mcwhorter/toptec boy imu series... if you're already familiar with that, then you could add to his coding with a kalman filter, anddead reconing filters perhaos of maybe even make it a 10-12 dof with a gps. If you wanna learn in an introductory series way theirs a 53 part series on kalman filters that is well and truley excellent, sorry i can remember the tubers name but again im sure youll find it within 1 or 2 searches.

  • @ziranshuzhang6831
    @ziranshuzhang6831 4 года назад

    time 6:19 the direction of the acceleration is not correct, at least misleading. Normally when we talk about the acceleration of rotation, it's talking about centrifugal force.

    • @BrianBDouglas
      @BrianBDouglas 4 года назад +1

      If the bar was rotating at a constant angular velocity then I agree that the accelerometer would report only the centripetal acceleration and it would point toward the center of rotation. But what I was trying to show (poorly) was that when the bar accelerates from stationary to some angular velocity, the majority of the acceleration that the sensor would see could be perpendicular to the bar. Imagine a really long bar with a sensor at the end. If the bar rotated only a fraction of a degree, there wouldn't be much rotation but the end of the bar could have moved up or down quite a long way. This is what the accelerometer is sensing here. But I should have also mentions that rotations also produce a component of acceleration that is along the radius of the rotation. Thanks for the comment!

  • @shezeeblanka1611
    @shezeeblanka1611 2 года назад

    hi, mind if i ask which font were you using in matlab? it looks pretty to my eyes and i haven't been able to find it on the internet.

  • @industechnetronic
    @industechnetronic 4 года назад

    any one can help me i am trying the same code in the vedio but i got an error Incorrect I2C device connected. Expected I2C addresses: [0x0C]. Detected I2C addresses: [0x68].
    any one can help me plzz

  • @bennguyen1313
    @bennguyen1313 3 года назад

    Any thoughts on the 9 DOF chip, LSM9DS1? Wouldn't implementing sensor-fusion be easier if it's all from one chip?
    For example, I saw another cool Processing project, but that too doesn't use the ST chip, instead the ADXL345..
    "ADXL345 accelerometer breakout board + Arduino and Processing"

    • @sijinahi3675
      @sijinahi3675 Год назад

      how to validate the x, y, z,value if its correct or not

  • @niflag
    @niflag 2 года назад

    This is how Ingenuity gets around on Mars

  • @nurrohim8826
    @nurrohim8826 4 года назад

    I want to study about AHRS. can anyone explain to me, what should be learned? and what are the steps to learn it? Thanks

  • @S98-x8w
    @S98-x8w 3 года назад

    I need an urgent answer, please! I used MPU9250 to get the x, y, and z axes' values for the accel, mag, and gyro but I didn't know how to use them to calculate the angle of the sensor from the floor. please help!
    PS, very useful explanation in the video.

  • @mm9004
    @mm9004 3 года назад

    Did he say "subscribe for future tiktok videos"? LMAO. Great video btw.

  • @IvanEng747
    @IvanEng747 2 месяца назад

    Bla bla