15 | Combine a gyroscope and accelerometer to measure angles - precisely
HTML-код
- Опубликовано: 29 дек 2022
- Full code and manual on GitHub: github.com/CarbonAeronautics
In this video, you will learn how you a Kalman filter can combine gyroscope and accelerometer measurements from the MPU-6050 to give accurate roll and pitch angle data to the flight controller.
The purpose of this video series is to learn the basics behind a quadcopter drone and enable you to build one yourself, by dividing this challenging project in several easy-to-understand parts. You use the capable Teensy 4.0 microcontroller together with the easy-to-use Arduino language.
you can also use madgwick filter with gradient descent, it will be lighter for the microcontroller and more accurate than kalman
What you want to do is create a mathematical model of the drone. The model has the same inputs/controls/outputs as the actual drone. Then, in real time, compare the model with the drone position, attitude, speed, altitude etc. Compare the model with the actual drone to derive an error signal that is fed back to correct the model. The actual position, speed, etc of the drone is somewhere between the measured and modeled values. With the Kalman filter it is very important to accurately model the error/noise.
i can't find the full code on github please someone help
Have you tried reading the data from the MPU6050's onboard Digital Motion Processor? Reading the DMP register data returns a quaternion.
If raw data change immediately ex 0-90 while the gyro is actually 90 the Kalman should take for a long time til 90 as I saw. How to Fix?
The STS (space shuttle) flight control computers used Kalman filtering
Hi! Great Video! Thanks! Can You please share with us the theoritical background of Your Kalman Filter application?
I think there is an issue. When Gyro Integration is happening in 3d, ideally you have rotation matrices multiplication at each step. But your code and logic does not adhere to it. I think it was handled little bit by Kalman filter and if you include that too, error will come down drastically. What say ?
Great Job, quick question though. In the gyro_signals function we are setting Digital Low Filter(0x1A), Sensitivity for Gyro(0x1B) and Sensitivity for Accel(0x1C) and then read the raw values and then do the Kalman Magic. As gyro_signals get called every time we want to read the sensor data it will set the Digital Low Filter(0x1A), Sensitivity for Gyro(0x1B) and Sensitivity for Accel(0x1C) which in my personal opinion is redundant. Is there a reason why we are doing this? In my view Digital Low Filter(0x1A), Sensitivity for Gyro(0x1B) and Sensitivity for Accel(0x1C) can be set as part of the setup. I may be incorrect but thats how I see it.
Need to have a patreon account
I can't thank you enough! You are making my lifelong dream come true.
This incredible work to share. Thanks so much
Great Job. I am also making a quadcopter using a complementary filter. After watching your Kalman filter video, I am thinking of incorporating your approach in my flight controller. Can't wait to see the next videos.
Great explanation, thank you 👍
que buen proyecto, amigos.
Very good! Thanks for posting!
Great topic, thanks 👍
Great Sir now start work on rocket control system ...
thanks for the video, is there any video that just shows what todo with the calibration data?
Thank you very much. You should publish. Ready to help!