STM32 Attitude Estimation: IMU, Euler Angles, Filters
Master attitude estimation: IMU sensor interfacing, Euler angles, Quaternions, and Kalman Filter. Learn practical STM32 programming for SPI, UART, and Timer interrupts.
+ Mastering basic and advanced topics related to Orientation estimation
+ Learning to work with datasheets and reference manuals of sensors
+ Applying math equations in real-world applications
+ Working with SPI, and UART in polling and DMA modes
+ Streaming IMU sensor readings in real-time
+ Using an IMU sensor (gyroscope, accelerometer, and magnetometer) to compute Euler angles
+ Learning the math behind Quaternions
+ Learning the Extended Kalman Filter
+ Using the Extended Kalman Filter for Orientation estimation
In this part of the course, participants will gain proficiency in STM32 programming, essential for embedded systems development. Beginning with an introduction and clarification of prerequisites, the course progresses to hands-on experience with STM32 CubeIDE and HAL API. Students learn to create projects, utilize SWV for efficient debugging, and master SPI for communication. The focus extends to driver development for the ICM20948 IMU sensor, covering the library's initial version and testing procedures. The section concludes with an exploration of DMA theory and configuration. Throughout this part, participants build a solid foundation in STM32 programming, acquiring skills crucial for the subsequent focus on attitude estimation.
Building on the STM32 programming foundation, this part of the course delves into the specialized field of attitude estimation. Participants start with Euler angles, gaining insights into frame notions, 2D rotation, and Euler angles. Practical applications involve deriving pitch, roll, and yaw angles using accelerometers, magnetometers, and gyroscopes. The introduction of the Complementary Filter enhances students' understanding of sensor fusion techniques. The course then progresses to Quaternions theory, addressing challenges such as gimbal lock and emphasizing the necessity of quaternions in attitude estimation. Students explore quaternion operations, rotation matrices, and their integration into projects. The final chapter introduces the Extended Kalman Filter, applying the theory to achieve robust sensor fusion for accurate attitude estimation. This part provides participants with a comprehensive understanding of attitude estimation algorithms, allowing them to integrate these concepts into real-world applications.
Welcome to the course
Prerequisites and is this course for you?
Attitude estimation problem
The pdf file contains slides to be used in the course
Introductory words
STM32 CubeIde Project creation
Using SWV for printf function
Using SWV to plot variables
SPI theory
SPI Configuration using STM32CubeMx
SPI wirings
Reading ‘Who am I’ register
Sending data through SPI
First version of the library
Testing the library
How to read the magnetometer?
Magnetometer update 1
Magnetometer update 2
Testing a new version of the library
DMA Theory
DMA configuration
Removing gyroscope biases
Magnetometer bias explanation
Timer Update Interrupts
Magnetometer bias removal
Normalization and scaling of IMU data
ARM MATH Library Installation
Library Integration
A notion of frame
Testing the library
Attitude estimation, slides
A notion of frame in detail
2D rotation
Euler angles and Rotation Matrix
Using the accelerometer to obtain pitch and Roll angles
Using the magnetometer to obtain the Yaw angle
Using the gyroscope to obtain the Euler angles
Library Integration
Complementary Filter
Testing the libraries
Gimbal Lock or why we need quaternions
Introduction to Quaternions
Quaternions, practice work
Quaternion Multiplication
Quaternion Rotation
Quaterion Rotation Example
Rotation matrix based on the Quaternions
Quaternion Library integration
Defining multiple rotations using quaternions
i have had a great experience this far in the course, as i have just completed it. If you follow along closley and pay attention, this course will do wonders for you. I had no prior experiance on stm32 cube ide programming, and after watching the ...
Read Morei have had a great experience this far in the course, as i have just completed it. If you follow along closley and pay attention, this course will do wonders for you. I had no prior experiance on stm32 cube ide programming, and after watching the intro to programming youtubte videos, then taing the course, I have made insurmountable progress. I like the way he goes through and explains each line of code, and i woudl reccomend this to anyone.
Read LessThe amount of useful content in this course is just astonishing ! Yerkebulan Massalim (the author of all this) really guides you from scratch in his videos and takes a lots of time to explain everything needed to completly understand what we code ...
Read MoreThe amount of useful content in this course is just astonishing ! Yerkebulan Massalim (the author of all this) really guides you from scratch in his videos and takes a lots of time to explain everything needed to completly understand what we code and why code to make stable flight. I'm only at 27% progress but I already learn so much ! Also, when I had questions, the author always answered to me on the forum in a matter of hours only. I can't wait to learn more on the hardware and the filters ! Thanks again Yerkebulan Massalim !
Read Less+ STM32 microcontroller board
+ IMU sensor, preferably ICM20948
+ Basic knowledge of programming STM32 MCUs
+ Basic knowledge of math. You must be familiar with terms like vectors, matrix multiplication, and basic trigonometry functions (cos, sin, etc.)
You will have full access to the course content on all electronic devices. In addition, you will receive PDF slides (60 pages in total) that summarize the entire content of the course. Also, you will have the option to ask questions.
Every lesson has a discussion section where students can ask questions. I will be happy to answer your questions and give you feedback.
You can cancel the subscription at any time and there is no cancellation fee. You will have full course content until your access expires.
Since all stm32 microcontrollers are based on the same ARM architecture, they have minor differences. Also, you can mention your board in the discussions section. I will help you set up the hardware and project.
It is preferable to have basic STM32 programming skills