What exactly does it mean when the Euler Angles become singular? This occurs when the secondary rotation angle is = +/- 90 degrees (for an antisymmetric rotation), but I don't intuitively understand what this means. Thanks :)
It may also help to think of the singularities as _ambiguities_ . First with the 3-1-3 rotation: en.wikiversity.org/wiki/PlanetPhysics/Euler_313_Sequence For the final rotation matrix that combines all the terms, when we plug in theta = 0 or 180 degrees, that rotation matrix simplifies down just to a Z-axis rotation matrix that is a function of psi and phi. However, since the rotations associated with psi and phi both happened along the same inertial axis, there are infinite many combinations of psi and phi that could produce that rotation matrix, thus making it ambiguous as to what each of those angles are equal to. For example, say that psi = 20, phi = 10, and theta = 0. The overall outcome of this euler angle sequence would be a 30 degree rotation about the z-axis. but that could also be true with psi = 15, phi = 15, and theta = 0. And with psi = 35, phi = -5, theta = 0, etc. So there is no unique solution to that orientation For a 3-2-1 sequence: en.wikiversity.org/wiki/PlanetPhysics/Euler_321_Sequence As you said, this occurs when theta = +-90 degrees. When that is true, the first (z-axis) and third (x-axis) rotations again occur in the same inertial axis (the original z-axis), therefore creating an ambiguity for those angles.
Love this video for the visuals that it gives of the transformation. I'm going to link to it in my blog for a more in-depth explanation of the concepts of Euler Angles, thanks for the awesome resources you put out!
I think it would be a good idea to make followers write or develop thier own code along with your videos.. may be you could provide some problem statements and ask followers to solve for it until next videos.. thank you.
I've been splitting up the videos for around the past year where some don't have any software, and some are all about implementing what I'm doing in python. So I think the next one in the series I'll include some software for the rotation matrices and some plotting
I am a bit confused. Why do we need to parent the axises in euler angles? For ex, one common parenting scheme is Z->Y->X->object So now, if I rotate the object on the x-axis by some angle, and then rotate it on the z-axis, it will rotate the object on the local z-axis. Why can't we just make it so that each rotation is always on the standard x,y,z world axises and not the local ones? Why is there a need for this parenting/dependency? I am a bit confused because I was learning about gimbal lock which occurs using euler angles
Hi Ayush. This is because euler angles are created to be intuitive to humans (moslty pilots). So each body axis is aligned with some important part of the vehicle body. For an airplane, a pitch up maneuver rotates the nose of the plane upward, a roll rotates the plane about its long axis, and a yaw rotate the plane along its z-axis. This is important because it would not be intuitive to describe a plane's maneuver based on rotations about the inertial frame axes. This is because a "roll" maneuver about the inertial X axis would mean something completely different in different locations around the world. Also, the controls of a plane line up with euler angles. So a pilot can intuitively think, if I want to change the heading of the plane from due North to due east, the pilot can command a combined roll and pitch up maneuver, to rotate the plane clockwise while keeping the altitude of the plane constant, and then after some time the pilot will command the plane back to steady level flight. Let me know if this was useful / confusing. Overall, euler angles are used for humans to be able to intuitively understand maneuvers / orientations of body fixed frames (airplanes, drones, spacecraft, etc.). But as you are seeing, they aren't the most efficient and are prone to gimbal lock. Check out the pinned comment in this video. Someone asked about the euler angle singularities and I explained how they can be also thought of as ambiguities, since 2 of the rotations happen along the same inertial axis.
@@alfonsogonzalez-astrodynam2207 Thanks for the reply. However, I still have one confusion (sry if its a dumb question). Even if we consider euler angles to be relative to the local axises of a object, why does one rotation have to be dependant on another? why is there a hierarchy of rotations in the first place (like: Z->Y->X->object)? I have seen videos that explain gimbal lock which that weird structure where one rotation axis is inside another, but why is this necessary? For example, in softwares like blender or unity, if a rotate and object in one of its local axises, the rest of the axises are also changed and I am not able to visualize how this will lead to gimbal lock?
There are no dumb questions here, this is an important topic that is worth taking the time to understand. The reason all the axes change whenever there is a rotation is because its a body fixed reference frame. Body fixed reference frames are extremely useful for doing analysis like spacecraft attitude control, latitude / longitude coordinates, and many others, because they describe how a body is oriented in inertial space. The hierarchy of which order the rotations are done in is a little arbitrary, where the most common ones are 3-2-1 (aircraft and spacecraft attitude: ruclips.net/video/LI4POI59kK8/видео.html) and 3-1-3 (keplerian orbital elements: ruclips.net/video/bgFaDDt0Rn4/видео.html You can think of this gimbal lock problem as more of a numerical problem than physical one. If you are piloting an aircraft and you pitch up to 90 degrees (which would mean the nose of the plane is pointing straight up, and would result in "gimbal lock", or an ambiguity in describing the orientation of the spacecraft with respect to the inertial frame) you would still know how to move the controls to roll or yaw the plane, but numerically there is still the ambiguity. The ambiguity comes from the fact that the first and last rotations happen along the same inertial axis, therefore you lose a degree of freedom. The values of the first and third rotation become ambiguous (or arbitrary) since together they add up to a single rotation about a single axis. Let me know if you have more questions and I can find different examples to help. I think the pinned comment on this video and those 2 videos I linked should also help.
@@alfonsogonzalez-astrodynam2207 The example you gave with the plane pitching up 90 degrees, what I am confused is, I am imagining it as a 3d object. and that object has its own pivit/origin with local axes: right, up, and forward. Initially, these axes align with the world axes X, Y, Z. But when we apply a 90 deg pitch, the local axes rotate along with the object. So now, after applying the pitch, why is there still an ambiguity? and further pitch/roll/yaw would be applied to the local axes of the object, which are still distinct. For example, if we assume we are using a right handed coord. sys. then when we apply the pitch of 90 deg, the up vector now aligns with the world z-axis and the forward vector with the world y axis and the right vector stays the same (since we rotate around it). Any further rotations are still clear to be around these local axes, so what is the "gimbal lock"?
I think I understand your confusion. Euler angles are a way to describe an orientation in 3D space. They are not how you should actually fly a plane. For example, say that you are piloting this plane with a 90 degree pitch. You are perfectly capable of performing any rotation from that state. The problem of gimbal lock is only _describing_ your orientation. When you have a 90 degree pitch, there are infinitely many roll and yaw combinations that define your orientation (this is the ambiguity). For example, roll = 10 degrees & yaw = 20 degrees is exactly the same as roll = 15 degrees & yaw = 15 degrees is exactly the same as roll = -10 degrees & yaw = 40 degrees, etc. So again you can roll the plane however you would like even in a gimbal lock state. It is simply a numerical ambiguity. Another example: Say you are currently in stead level flight (flying horizontal to Earth's surface, pitch = 0). And then you want to change the orientation of the plane to be yaw = 5, pitch = 20, roll = 45 (doing a turn). As a pilot, you wouldn't command your plane to first yaw, then pitch, then roll in order to get to the turning orientation. You would simply do 1 rotation about some axis that would result in the desired orientation. This is the axis of rotation representation of a 3D orientation. But here its more convenient to _describe_ what your maneuver should be in euler angles because you know the plane's controls to do roll, pitch, and yaw (using the stick and pedals). It would not be intuitive to you if I told you: "maneuver the plane to [ 0.997, -1.352, 0.1311 ]" which is a 3D axis of rotation in the inertial frame, where its magnitude is the angle in radians you should rotate by and its unit vector is the axis of rotation. It would also not be intuitive if I told you this in a rotation matrix: maneuver the plane to [ [ 0.134, -0.511, 0.3 ], [ 0.9, 0.1, 0.33 ], [ -0.87, -0.3, 0.1 ] ] Or a quaternion: [ 0.533, -0.56, 0.1, -0.3332 ] So the usefulness of euler angles is that they are an intuitive way for us to describe orientations in 3D space with just 3 numbers that align with the body axes of the plane (or any other vehicle / reference frame). Does that help?
Not at all. He outlined two different conventions for Euler angles, why they might be useful, and an example of why time-dependent Euler angles are of interest
What exactly does it mean when the Euler Angles become singular? This occurs when the secondary rotation angle is = +/- 90 degrees (for an antisymmetric rotation), but I don't intuitively understand what this means. Thanks :)
It may also help to think of the singularities as _ambiguities_ .
First with the 3-1-3 rotation: en.wikiversity.org/wiki/PlanetPhysics/Euler_313_Sequence
For the final rotation matrix that combines all the terms, when we plug in theta = 0 or 180 degrees, that rotation matrix simplifies down just to a Z-axis rotation matrix that is a function of psi and phi. However, since the rotations associated with psi and phi both happened along the same inertial axis, there are infinite many combinations of psi and phi that could produce that rotation matrix, thus making it ambiguous as to what each of those angles are equal to.
For example, say that psi = 20, phi = 10, and theta = 0. The overall outcome of this euler angle sequence would be a 30 degree rotation about the z-axis. but that could also be true with psi = 15, phi = 15, and theta = 0. And with psi = 35, phi = -5, theta = 0, etc. So there is no unique solution to that orientation
For a 3-2-1 sequence: en.wikiversity.org/wiki/PlanetPhysics/Euler_321_Sequence
As you said, this occurs when theta = +-90 degrees. When that is true, the first (z-axis) and third (x-axis) rotations again occur in the same inertial axis (the original z-axis), therefore creating an ambiguity for those angles.
@@alfonsogonzalez-astrodynam2207 That makes a lot of sense, thank you for explaining!
Dude, you nailed a perfect explanation!
Words in a half a century old book don't help the visualization of what it is and how it's used.
Love this video for the visuals that it gives of the transformation. I'm going to link to it in my blog for a more in-depth explanation of the concepts of Euler Angles, thanks for the awesome resources you put out!
Awesome, thank you for sharing the videos! Can you post a link to your blog?
I think it would be a good idea to make followers write or develop thier own code along with your videos.. may be you could provide some problem statements and ask followers to solve for it until next videos.. thank you.
I've been splitting up the videos for around the past year where some don't have any software, and some are all about implementing what I'm doing in python. So I think the next one in the series I'll include some software for the rotation matrices and some plotting
This video is so intuitive, thanks a lot
I'm glad you found it helpful!
I am a bit confused. Why do we need to parent the axises in euler angles? For ex, one common parenting scheme is Z->Y->X->object
So now, if I rotate the object on the x-axis by some angle, and then rotate it on the z-axis, it will rotate the object on the local z-axis. Why can't we just make it so that each rotation is always on the standard x,y,z world axises and not the local ones? Why is there a need for this parenting/dependency? I am a bit confused because I was learning about gimbal lock which occurs using euler angles
Hi Ayush. This is because euler angles are created to be intuitive to humans (moslty pilots). So each body axis is aligned with some important part of the vehicle body. For an airplane, a pitch up maneuver rotates the nose of the plane upward, a roll rotates the plane about its long axis, and a yaw rotate the plane along its z-axis.
This is important because it would not be intuitive to describe a plane's maneuver based on rotations about the inertial frame axes. This is because a "roll" maneuver about the inertial X axis would mean something completely different in different locations around the world.
Also, the controls of a plane line up with euler angles. So a pilot can intuitively think, if I want to change the heading of the plane from due North to due east, the pilot can command a combined roll and pitch up maneuver, to rotate the plane clockwise while keeping the altitude of the plane constant, and then after some time the pilot will command the plane back to steady level flight.
Let me know if this was useful / confusing. Overall, euler angles are used for humans to be able to intuitively understand maneuvers / orientations of body fixed frames (airplanes, drones, spacecraft, etc.). But as you are seeing, they aren't the most efficient and are prone to gimbal lock.
Check out the pinned comment in this video. Someone asked about the euler angle singularities and I explained how they can be also thought of as ambiguities, since 2 of the rotations happen along the same inertial axis.
@@alfonsogonzalez-astrodynam2207 Thanks for the reply. However, I still have one confusion (sry if its a dumb question). Even if we consider euler angles to be relative to the local axises of a object, why does one rotation have to be dependant on another? why is there a hierarchy of rotations in the first place (like: Z->Y->X->object)? I have seen videos that explain gimbal lock which that weird structure where one rotation axis is inside another, but why is this necessary? For example, in softwares like blender or unity, if a rotate and object in one of its local axises, the rest of the axises are also changed and I am not able to visualize how this will lead to gimbal lock?
There are no dumb questions here, this is an important topic that is worth taking the time to understand.
The reason all the axes change whenever there is a rotation is because its a body fixed reference frame. Body fixed reference frames are extremely useful for doing analysis like spacecraft attitude control, latitude / longitude coordinates, and many others, because they describe how a body is oriented in inertial space.
The hierarchy of which order the rotations are done in is a little arbitrary, where the most common ones are 3-2-1 (aircraft and spacecraft attitude: ruclips.net/video/LI4POI59kK8/видео.html) and 3-1-3 (keplerian orbital elements: ruclips.net/video/bgFaDDt0Rn4/видео.html
You can think of this gimbal lock problem as more of a numerical problem than physical one. If you are piloting an aircraft and you pitch up to 90 degrees (which would mean the nose of the plane is pointing straight up, and would result in "gimbal lock", or an ambiguity in describing the orientation of the spacecraft with respect to the inertial frame) you would still know how to move the controls to roll or yaw the plane, but numerically there is still the ambiguity.
The ambiguity comes from the fact that the first and last rotations happen along the same inertial axis, therefore you lose a degree of freedom. The values of the first and third rotation become ambiguous (or arbitrary) since together they add up to a single rotation about a single axis.
Let me know if you have more questions and I can find different examples to help. I think the pinned comment on this video and those 2 videos I linked should also help.
@@alfonsogonzalez-astrodynam2207 The example you gave with the plane pitching up 90 degrees, what I am confused is, I am imagining it as a 3d object. and that object has its own pivit/origin with local axes: right, up, and forward. Initially, these axes align with the world axes X, Y, Z. But when we apply a 90 deg pitch, the local axes rotate along with the object. So now, after applying the pitch, why is there still an ambiguity? and further pitch/roll/yaw would be applied to the local axes of the object, which are still distinct. For example, if we assume we are using a right handed coord. sys. then when we apply the pitch of 90 deg, the up vector now aligns with the world z-axis and the forward vector with the world y axis and the right vector stays the same (since we rotate around it). Any further rotations are still clear to be around these local axes, so what is the "gimbal lock"?
I think I understand your confusion. Euler angles are a way to describe an orientation in 3D space. They are not how you should actually fly a plane.
For example, say that you are piloting this plane with a 90 degree pitch. You are perfectly capable of performing any rotation from that state. The problem of gimbal lock is only _describing_ your orientation. When you have a 90 degree pitch, there are infinitely many roll and yaw combinations that define your orientation (this is the ambiguity). For example, roll = 10 degrees & yaw = 20 degrees is exactly the same as roll = 15 degrees & yaw = 15 degrees is exactly the same as roll = -10 degrees & yaw = 40 degrees, etc.
So again you can roll the plane however you would like even in a gimbal lock state. It is simply a numerical ambiguity.
Another example:
Say you are currently in stead level flight (flying horizontal to Earth's surface, pitch = 0). And then you want to change the orientation of the plane to be yaw = 5, pitch = 20, roll = 45 (doing a turn). As a pilot, you wouldn't command your plane to first yaw, then pitch, then roll in order to get to the turning orientation. You would simply do 1 rotation about some axis that would result in the desired orientation. This is the axis of rotation representation of a 3D orientation.
But here its more convenient to _describe_ what your maneuver should be in euler angles because you know the plane's controls to do roll, pitch, and yaw (using the stick and pedals). It would not be intuitive to you if I told you: "maneuver the plane to [ 0.997, -1.352, 0.1311 ]" which is a 3D axis of rotation in the inertial frame, where its magnitude is the angle in radians you should rotate by and its unit vector is the axis of rotation. It would also not be intuitive if I told you this in a rotation matrix:
maneuver the plane to [ [ 0.134, -0.511, 0.3 ], [ 0.9, 0.1, 0.33 ], [ -0.87, -0.3, 0.1 ] ]
Or a quaternion:
[ 0.533, -0.56, 0.1, -0.3332 ]
So the usefulness of euler angles is that they are an intuitive way for us to describe orientations in 3D space with just 3 numbers that align with the body axes of the plane (or any other vehicle / reference frame).
Does that help?
You literally wasted the first 2 minutes.
Not at all. He outlined two different conventions for Euler angles, why they might be useful, and an example of why time-dependent Euler angles are of interest