In case it is helpful, here are all the Flight Mechanics videos in a single playlist th-cam.com/play/PLxdnSsBqCrrEx3A6W94sQGClk6Q4YCg-h.html. You can support this channel via Patreon at www.patreon.com/christopherwlum. Please let me know what you think in the comments. Thanks for watching!
Excellent content. Quaternions explained in English and pictures, plus an example that applies them and shows the results. Everything that's necessary, but nothing that isn't. Well done and Thank You. 👍👍👍
AA516: Forgot to comment on this when I watched it the first time but this was my first intro to quaternions and I'm glad it was introduced this way. A much better jumping off point then previous courses.
I'm glad it was helpful. There are several related videos on the channel. Please feel free to check them out and I would love to hear what you think in the comments. Thanks for watching!
Brian, I'm glad it was entertaining. There will be lots more flight mechanics videos coming. If you are subscribed and turn on notifications you should hopefully see when they are posted. I hope to catch you at a future video!
If any of you are having trouble extracting the Euler Angles properly with the equations he listed in a previous video, for this example's DCM and Euler Angles just do phi plus pi, psi plus pi, and for theta do pi minus whatever value you get for theta should get you back to the original angles.
Hi, Thanks for the kind words, I'm glad you enjoyed the video. If you find these videos helpful, I hope you'll consider supporting the channel via Patreon at www.patreon.com/christopherwlum. Given your interest in this topic, I'd love to have you a as a Patron as I'm able to talk/interact personally with all Patrons. Thanks for watching! -Chris
Thanks Chris for this awesome video. I'd like to point that there might be wrong signs at min 33:50 in the table of conversion from DCM to Quaternions (The last two terms in the second row, i.e., qmax=qx) ... Reference: Brian L. Stevens and Frank L. Lewis, Aircraft Control and Simulation, 2nd Edition, page 32, eqn (1.3-34b)
Thanks for reaching out. If you have questions or would like to request a video, I hope you'll consider supporting the channel via Patreon at www.patreon.com/christopherwlum. I'd love to have you as a Patron as I'm able to talk/interact personally with Patrons. Thanks for watching!
AA516: Very helpful lecture! I've had some exposure to the math before, but the Simulink implementation along with the quirks of quaternions in Matlab is very helpful. :)
AE512: This was very helpful for the homework. Also, quaternion is quite the word. It's too bad you have to use small workarounds to get this to work perfectly in simulink.
Hello Christopher, I hope you are feeling well, I wanted to thank you for all the videos you have published, many of them have been of great help to me. I would like to ask you for the implementation of a Kalman filter, in which I use "Quaternions" for the calculation of the attitude, I would like to know how to solve the "interference" between angles (Euler). My implementation is a vehicle where I mostly evaluate only the Yaw. But the estimation of the Pitch and Roll angles are affected by the 2 pi jump of the quaternion.
Hi Jose, Thanks for the kind words, I'm glad you enjoyed the video. If the find the these videos to be helpful, have questions about content, or would like to request a video, I hope you'll consider supporting the channel via Patreon at www.patreon.com/christopherwlum. Given your interest in this topic, I'd love to have you a as a Patron as I'm able to talk/interact personally with all Patrons. Thanks for watching! -Chris
31:58 There are two minuses that should be pluses. For qx-tilda being the max we add C12 and C21 and we add C31 and C13, not subtract. To see this is correct let psi = 0, theta = 10°, and phi = 100°. Create the DCM. Make a quaternion from the DCM (it will have qx-tilda be the max). Make a DCM from the quaternion. Calculate psi, theta, phi from the DCM. Psi will be -1.47°, theta will be -8.27°, and phi will be 100.11°.
[AE 512] I've seen quaternions a few times and tried to watch different videos but the breakdown of the 4x1 was helpful, especially the scalar vs. vector portions. I never really understood the scalar portion until watching this lecture. Are we going to talk about gimbal lock more? Edit: also appreciate you not diving step by step into all the proofs and you focused more on the application
Dear Christopher, great video. Now just a sugestion, could you do an update showing the simulink simulation by the end of the video using discrete time? I mean, any real system is a discrete time system. Thank you.
is there a need to obtain the direction cosine matrix from the quaternions to obtain euler angles, or are there methods to derive the euler angles directly from the quaternions ?
AE512: Is there any physical explanation for this DCM-Quaternion intricacies? Why does the mapping change depend on the magnitude of the qtilde entries?
I tried to reproduce the plots in the quaternion example section, and I'm confused. The blue axes as shown in the video seem to correspond to psi=25 deg / phi=70 deg rather than psi=70 deg / phi=25 deg. If I use psi=70 deg / phi=25 deg as well as inputting mu = -223.5 deg, I get the right behavior, but the blue axes are in different locations. Am I messing up the mu sign and psi/phi order in my implementation?
AE 512: Thank you prof. Lum. The equation at 55:26 , should there be a negative sign on the right side of the equality for a stable diff eq? or is the negative baked into the Ω matrix? I have not calculated it but I am assuming eigenvalues of Ω are all negative.
AA516 : Interesting how atleast for this example, the quaternion method lines up exactly with Poisson's. Unless I missed it in the video at what point does implementing quaternions have an advantage over poissons? They both appear to overcome the problem of Gimbal lock but the implementation of Poisson's seems much simpler.
AE512: Hey Professor Lum, when I use the block "To WorkPlace" in Simulink it saves all to "ans" output, so I've been using ans.NAME_OF_OUTPUT in my code, this seems to cause some problems when I am plotting graphics, do you know why? Thank you.
The problem is you might have another variable that overwrites the "ans" after you ran the simulation. When you want to plot it your simulation data is not saved as "ans" anymore. This is because in Matlab the most recent command whose result wasn't assigned to be stored in a variable is by default stored as "ans". Let say you type "2+3" into the command line. Then Matlab will show "ans = 5". I'd recommend you to run the simulation from a Matlab script with "sim_out = sim("your_model");". This will save the simulation output to the "sim_out" variable instead of "ans". Below that command you can then access any saved variable by "sim_out.your_variable".
@@ChristopherLum Will do. I actually sent you an email earlier today - I was wondering how you wanted us to submit the MATLAB/Simulink portions of hw3. But while I'm here, on problem 3c, what's the physical explanation of the singularity of the matrix T, other than the aircraft pointing straight up or down? Why is the matrix singular when the aircraft is at this attitude? I couldn't find any information on this. Thanks
A question came up to my mind when I was watching your video at 1:02:01 :). Imagine you are powering your drone or IMU sensor at a different orientation rather than a hover state for example about(80, 80, 0) degrees in Euler angles. How can we calculate the initial Euler angle or how does the system initially know it is in that angle state? Can we assume body angle measurements is directly equal to body Euler angles in this situation? So, what solution do you recommend to me, Sir?
Hi Mehmet, Thanks for reaching out, I'm glad you enjoyed the video. Unfortunately I'm unable to respond to questions on TH-cam due to the sheer volume of inquiries that I receive. That being said, I hope you'll consider supporting the channel via Patreon at www.patreon.com/christopherwlum as I'll be able to answer questions there. Given your interest in the topic, I'd love to have you as a Patron as I'm able to talk/interact personally with Patrons. Thanks for watching! -Chris
AA516: Great video! I'd like to ask you about the graphs. About the psi graph, only the Euler one is different from others. Is it because only Euler equation doesn't deal with psi, but the others, Poisson and Quaternion, deal with psi angles?
AA516: Hi Professor, you do not have the quaternion implementation on the Simulink model that have Euler's and Poisson's implementation in the lecture notes. Is there a reason why you don't have it in the lecture notes?
John, yes, these are the angles that rotate from the NED to the body frame so they are measured relative to the two frames (with the two intermediate frames in between).
@@ChristopherLum Yeah. What I am wondering is for cases like in spacecraft, the sequence is usually zxz. Would there be any difference during calculations between quaternion and DCM in that case?
In case it is helpful, here are all the Flight Mechanics videos in a single playlist th-cam.com/play/PLxdnSsBqCrrEx3A6W94sQGClk6Q4YCg-h.html. You can support this channel via Patreon at www.patreon.com/christopherwlum. Please let me know what you think in the comments. Thanks for watching!
AE512: This video does a really good job connecting the dots between Euler angles, DCM, and quaternions, thanks!
You are an amazing teacher! Thank you so much for sharing this high quality content on youtube! God bless you!
I really liked the flow of this video; it really paralleled the thought process from the Euler/Poisson derivation and made it easy to follow.
now I know Quaternions in deep thanks to you professor
AA516: First time seeing quaternions, thank you for the explanation!
AE512: Really helpful to see all the models compared in Simulink, thanks!
Very enjoyable comparison between this quaternion method of attitude tracking vs the Euler and Poisson Kinematical equations.
Excellent content. Quaternions explained in English and pictures, plus an example that applies them and shows the results. Everything that's necessary, but nothing that isn't. Well done and Thank You. 👍👍👍
I'm glad it was helpful, thanks for watching!
AE 512: My manager asked me about Quaternions a couple weeks ago and I wasn't familiar before watching this so this was great!
AA516: Forgot to comment on this when I watched it the first time but this was my first intro to quaternions and I'm glad it was introduced this way. A much better jumping off point then previous courses.
you made science easy! I adore you man.
I'm glad it was helpful. There are several related videos on the channel. Please feel free to check them out and I would love to hear what you think in the comments. Thanks for watching!
AA516: I remember trying to learn about quaternions last quarter to no avail. This explanation made it very easy to understand.
Great video! Always love watching your content. Would love to see more flight mechanics videos in the future!
Brian, I'm glad it was entertaining. There will be lots more flight mechanics videos coming. If you are subscribed and turn on notifications you should hopefully see when they are posted. I hope to catch you at a future video!
Another great video! I am treating these as a course, taking notes and writing the programs.
There's greatness in you! Thank you for the lecture!
AE512: This was my first exposure to quaternions. Thanks!
These are very powerful and I think you'll see them around various simulations
If any of you are having trouble extracting the Euler Angles properly with the equations he listed in a previous video, for this example's DCM and Euler Angles just do
phi plus pi, psi plus pi, and for theta do pi minus whatever value you get for theta should get you back to the original angles.
Best video I have seen on quaternions! Thank you so much
Hi,
Thanks for the kind words, I'm glad you enjoyed the video. If you find these videos helpful, I hope you'll consider supporting the channel via Patreon at www.patreon.com/christopherwlum. Given your interest in this topic, I'd love to have you a as a Patron as I'm able to talk/interact personally with all Patrons. Thanks for watching!
-Chris
AA516: Awesome to see how the transformations from DCMs to Quaternions can happen and how your diagrams you draw relate to Simulink drawings.
Thanks Chris for this awesome video. I'd like to point that there might be wrong signs at min 33:50 in the table of conversion from DCM to Quaternions (The last two terms in the second row, i.e., qmax=qx) ... Reference: Brian L. Stevens and Frank L. Lewis, Aircraft Control and Simulation, 2nd Edition, page 32, eqn (1.3-34b)
AE512: I appreciate that this method is robust and doesn’t have the singularity issue that the Euler angle method had in your previous video.
Seth, wow, you don't waste any time getting to the videos :)
@@ChristopherLum “hello everyone and welcome to another video” plays in my head while I sleep
@@sethwhittington28 Haha, my kids tell me something similar and make fun of the fact that I don't have a better opening line.
@@ChristopherLum at this point it’s such an established thing I think you need to keep it!
This was a great video. Thank you for your time in putting it together.
Thanks for reaching out. If you have questions or would like to request a video, I hope you'll consider supporting the channel via Patreon at www.patreon.com/christopherwlum. I'd love to have you as a Patron as I'm able to talk/interact personally with Patrons. Thanks for watching!
AA516: Very helpful lecture! I've had some exposure to the math before, but the Simulink implementation along with the quirks of quaternions in Matlab is very helpful. :)
AE512: This was very helpful for the homework. Also, quaternion is quite the word. It's too bad you have to use small workarounds to get this to work perfectly in simulink.
Excellent practical video, thank you!
yes!!!!!! Thank you.
AE 512
It's cool to see the comparison between the 3 methods.
Hello Christopher, I hope you are feeling well, I wanted to thank you for all the videos you have published, many of them have been of great help to me.
I would like to ask you for the implementation of a Kalman filter, in which I use "Quaternions" for the calculation of the attitude, I would like to know how to solve the "interference" between angles (Euler). My implementation is a vehicle where I mostly evaluate only the Yaw. But the estimation of the Pitch and Roll angles are affected by the 2 pi jump of the quaternion.
Hi Jose,
Thanks for the kind words, I'm glad you enjoyed the video. If the find the these videos to be helpful, have questions about content, or would like to request a video, I hope you'll consider supporting the channel via Patreon at www.patreon.com/christopherwlum. Given your interest in this topic, I'd love to have you a as a Patron as I'm able to talk/interact personally with all Patrons. Thanks for watching!
-Chris
31:58 There are two minuses that should be pluses. For qx-tilda being the max we add C12 and C21 and we add C31 and C13, not subtract. To see this is correct let psi = 0, theta = 10°, and phi = 100°. Create the DCM. Make a quaternion from the DCM (it will have qx-tilda be the max). Make a DCM from the quaternion. Calculate psi, theta, phi from the DCM. Psi will be -1.47°, theta will be -8.27°, and phi will be 100.11°.
AA516 Great Explanation !
25:16 You mentioned that you would leave a link to the source of these equations but I do not see the link.
[AE 512] I've seen quaternions a few times and tried to watch different videos but the breakdown of the 4x1 was helpful, especially the scalar vs. vector portions. I never really understood the scalar portion until watching this lecture.
Are we going to talk about gimbal lock more?
Edit: also appreciate you not diving step by step into all the proofs and you focused more on the application
Think about gimbal lock in one of the upcoming hw problems when thinking about singularities
Great video, thanks a lot
Dear Christopher, great video. Now just a sugestion, could you do an update showing the simulink simulation by the end of the video using discrete time? I mean, any real system is a discrete time system. Thank you.
Jason-AE512: I think this video help me a lot on the homework 3. Thanks.
good lecture
is there a need to obtain the direction cosine matrix from the quaternions to obtain euler angles, or are there methods to derive the euler angles directly from the quaternions ?
Thank you so much
You are welcome, thanks for watching!
You are a hero
AE512: Is there any physical explanation for this DCM-Quaternion intricacies? Why does the mapping change depend on the magnitude of the qtilde entries?
I tried to reproduce the plots in the quaternion example section, and I'm confused. The blue axes as shown in the video seem to correspond to psi=25 deg / phi=70 deg rather than psi=70 deg / phi=25 deg. If I use psi=70 deg / phi=25 deg as well as inputting mu = -223.5 deg, I get the right behavior, but the blue axes are in different locations.
Am I messing up the mu sign and psi/phi order in my implementation?
AE 512: Thank you prof. Lum. The equation at 55:26 , should there be a negative sign on the right side of the equality for a stable diff eq? or is the negative baked into the Ω matrix? I have not calculated it but I am assuming eigenvalues of Ω are all negative.
AA516: this is a real important topic, since controller rely on quaternions to compute the attitude. Po
AA516 : Interesting how atleast for this example, the quaternion method lines up exactly with Poisson's. Unless I missed it in the video at what point does implementing quaternions have an advantage over poissons? They both appear to overcome the problem of Gimbal lock but the implementation of Poisson's seems much simpler.
AE512: Hey Professor Lum, when I use the block "To WorkPlace" in Simulink it saves all to "ans" output, so I've been using ans.NAME_OF_OUTPUT in my code, this seems to cause some problems when I am plotting graphics, do you know why? Thank you.
Marcos, MathWorks made some updates to how Simulink saves data. I'll try to talk a bit about this at office hours on Tues.
The problem is you might have another variable that overwrites the "ans" after you ran the simulation. When you want to plot it your simulation data is not saved as "ans" anymore. This is because in Matlab the most recent command whose result wasn't assigned to be stored in a variable is by default stored as "ans". Let say you type "2+3" into the command line. Then Matlab will show "ans = 5".
I'd recommend you to run the simulation from a Matlab script with "sim_out = sim("your_model");". This will save the simulation output to the "sim_out" variable instead of "ans". Below that command you can then access any saved variable by "sim_out.your_variable".
AA516: Great lecture as usual!
Gary, great, I'm glad it was helpful. Keep me posted on how the HW goes.
@@ChristopherLum Will do. I actually sent you an email earlier today - I was wondering how you wanted us to submit the MATLAB/Simulink portions of hw3. But while I'm here, on problem 3c, what's the physical explanation of the singularity of the matrix T, other than the aircraft pointing straight up or down? Why is the matrix singular when the aircraft is at this attitude? I couldn't find any information on this. Thanks
Congratulations on the great videos! I am also a teacher in Brazil.
Are matlab scripts available for download?
A question came up to my mind when I was watching your video at 1:02:01 :). Imagine you are powering your drone or IMU sensor at a different orientation rather than a hover state for example about(80, 80, 0) degrees in Euler angles. How can we calculate the initial Euler angle or how does the system initially know it is in that angle state? Can we assume body angle measurements is directly equal to body Euler angles in this situation? So, what solution do you recommend to me, Sir?
Hi Mehmet,
Thanks for reaching out, I'm glad you enjoyed the video. Unfortunately I'm unable to respond to questions on TH-cam due to the sheer volume of inquiries that I receive. That being said, I hope you'll consider supporting the channel via Patreon at www.patreon.com/christopherwlum as I'll be able to answer questions there. Given your interest in the topic, I'd love to have you as a Patron as I'm able to talk/interact personally with Patrons. Thanks for watching!
-Chris
AA516: Great video! I'd like to ask you about the graphs. About the psi graph, only the Euler one is different from others. Is it because only Euler equation doesn't deal with psi, but the others, Poisson and Quaternion, deal with psi angles?
Do you have a timestamp that I can look at?
It is about 1:12:33
AA516: Hi Professor, you do not have the quaternion implementation on the Simulink model that have Euler's and Poisson's implementation in the lecture notes. Is there a reason why you don't have it in the lecture notes?
Can we chat at office hours and you can show me what parts are missing, thanks.
Of course! will do.@@ChristopherLum
great !!
AA516 - Great video professor! Are the Euler angles, [Phi], the angles relative to the NED coordinate system or the angles relative to the body frame?
John, yes, these are the angles that rotate from the NED to the body frame so they are measured relative to the two frames (with the two intermediate frames in between).
For the method transferring DCM to quat, is it only working for the Euler sequence or is it working for any arbitrary DCM?
The Euler sequence we defined is the same as the DCM so can you restate your question?
@@ChristopherLum Yeah. What I am wondering is for cases like in spacecraft, the sequence is usually zxz. Would there be any difference during calculations between quaternion and DCM in that case?
In that case you need to re derive as the definitive of the Euler angle are different
AA516: I knew it. Quaternion had something to do with the unit eigenvector.
at time 23:33 on board invers(q)= q*/|q|^2. I think ?
A A 516: Ojasvi Kamboj
Amen HAPPY EASTER JESUS IS A LIVE🐑
AA 516: Celeste Yuan
What is the name of this equation (ut=u^3uxxx)
here for AA 516
Rodrigues has three syllables and rhymes with God-he-says.
AE512
AA516