Proper Multi-Axis Rotational Analysis Method

  • A
  • Thread starter Hardy
  • Start date
  • #1
Hardy
9
1
Imagine a unit sphere in space that is initially aligned with a universal xyz coodinate axis. The coordinate axis are attached to the sphere at the six fixed points (+/-1,0,0) (0,+/-1,0) and (0,0,+/-1). The sphere starts rotating around each axis. The six points are now at new points in the universal frame. In real life, these 6 points will transverse a unique path through space.

In trying to predict this path, I have created a model to iterate in each axis. But, I am seeing that the path depends on the order I calculate the axis rotation. I see six possible iteration orders : XYZ, YXZ, XZY, YZX, ZXY ans ZYX. The paths are similar, but not the same and eventually vary widely. To be clear, after every iteration, 2 of the 3 axis change directions, like you expect to happen to the 'local axis' in a space ship, but subsequent rotation will happen around the new axis position.

How can one predict the unique path the 6 points will take? I can only account for one axis at a time here. When I look at each iteration closely, the change in position seem to follow the expect path, its just that the final point after each complete set of iterations is different - depending on the order.
 
Last edited by a moderator:
Physics news on Phys.org
  • #2
It depends on the step size of each iteration. I don't know if the limits as the step size goes to zero converge to the correct rotation. In Euclidean 3-space, every rotation can be represented as a simple rotation around a particular axis. You might want to take that approach. For general use, rotations are handled better using quaternions. If you have a computer language in mind, there are probably tools you can use in that language.
 
  • Like
Likes Hardy
  • #3
Hardy said:
I am seeing that the path depends on the order I calculate the axis rotation.
In case you are puzzled about this dependency on order you may want to read more about Euler angle rotations and how sequences of these chain together.
 
  • Like
Likes Hardy and FactChecker
  • #4
Hardy said:
But, I am seeing that the path depends on the order I calculate the axis rotation.
Rotations in 3D do not commute.
 
  • Like
Likes Hardy and FactChecker
  • #5
Here is what I am taking away:

1) What I am seeing is not necessarily an error in my analysis.

2) Found a definitive statement in a discussion in wiki on the SO3 group:
"Furthermore, the rotation group is nonabelian. That is, the order in which rotations are composed makes a difference. For example, a quarter turn around the positive x-axis followed by a quarter turn around the positive y-axis is a different rotation than the one obtained by first rotating around y and then x. "
I probably read this before, but it didn't sink in - until now.

3) Trying to reduce the 3 rotations to a single rotation around a single axis is something I was doing in creating the spin matrix (which I take to be a member of the S03 group). I was looking how a single point moves when rotated around each axis, and composing the spin matrix from this data. But, the issue is how to find that single axis and single rotation angle when there is rotation around each local axis - the calculation needs to account for the point moving when all 3 axis are moving at the same time.

Perhaps there is not a well know procedure to come up with a deterministic spin matrix from spin around all 3 axis. So, needs more thought, at least from me. Three things I see now are:
1) The spin matrix seems to solely depend on the new point position (after taking to account all three rotations). In other words, once the spin matrix is defined, I simply apply the matrix to the new point position to get the position for the next interation.
2) Once the spin matrix is defined, its remains unchanges so long as the rotation rate about each axis remains the same
3) An outside observer would be unable to tell if the point motion was due to rotation around a single arbitrary axis, or rotation around 2, 3 or more arbitrary axis. In fact, the reverse problem to the one I asked might how the same point motion could be described by different rotations (interpreting that this is turning a member of the S03 into products of 2 or more members of the S03 group).

Thank you so much for the input. And, thanks to the moderator for adding the whitespace (paragraphs) into my post - it definetly helped. This was the first time I have attempted to define this issue I had to anyone. It was a success that at least some understood!
 
  • #6
Hardy said:
the issue is how to find that single axis and single rotation angle when there is rotation around each local axis
You need Euler's rotation theorem, which, as FactChecker mentioned in post #2, states that for any sequence of rotations you can always find an equivalent rotation around a single (Euler) axis. Finding the Euler axis and angle numerically for a given sequence is fairly straight forward.

By the way, working with rotation using rotation matrices I have found Rodrigues' rotation formula in matrix form very useful, both for numerical and analytical calculations. This formula solves the opposite problem you mentioned, i.e. it gives the rotation (matrix) for a given Euler axis and angle.
 
  • Like
Likes FactChecker
  • #8
Digging deeper into the problem, here is a follow-up on what I learned.

As expected, when I decreased the iteration interval, all 6 possible orders of iteration gravitated to a single path, although you could still see differences in the actual numbers if you looked out to enough digits.

Here is a rather extreme example to show the different paths. I put together this plot to evaluate the differences. This is a path the sphere would travel if left spinning on the floor, starting out at the red point. Each colored plot is the path taken for each possible iteration order, the black path the one each drifted to when reducing the iteration size.

ball_rolling_plot.png


I would call this an analytical solution. However, was able to find a theoretical way to derive the path. If I evaluated the velocity at each point on the sphere, the velocity for each point rotates about a single axis (as suggested). Further, this axis of rotation of the sphere would be at right angles to the plane containing the velocity vector.

So, finding the velocity vector at two points, then taking the cross-product of these two vectors, provided a means to get to the rotational axis. (Taking the cross product of two vectors produces a vector that is perpendicular to both of the vectors, regardless if the first two vectors are orthogonal or not).

To find the rotation rate about this rotational axis was just a matter of evaluating the speed of the points on the unit circle centered at the origin in the plane perpendicular to this net rotational axis. This produced the path that all the different orders of iteration gravitated towards (the plot above).

The key to this method was finding the velocity at any point on the unit sphere when the sphere was spinning at a constant rate about the x, y and z axis’s. After several trials of getting everything aligned with a right-handed coordinate system, the result was:

psi = rotation rate around x axis
theta = rotation rate around y axis
phi = rotation rate around z axis
xv = unit vector on x axis
yv = unit vector on y axis
zv = unit vector on z axis
xp = x component of point where evaluating velocity
yp = y component of point where evaluating velocity
zp = z component of point where evaluating velocity
Remember on unit sphere so SQUARE ROOT(xp2 + yp2 + zp2 ) = 1

velocity due to rotation about the x axis: psi * ( yp*(zv) + zp*(-yv) )
velocity due to rotation about the y axis: theta * ( xp*(-zv) + zp*(xv) )
velocity due to rotation about the z axis: phi * ( yp*(-xv) + xp*(yv) )

(there is some derivation to get these equations I have omitted here).

The velocity at the point is a superposition of these three velocities and can be added in any order ( unlike multiplying matrices :) ), the net result being:

V = (zp*theta-yp*phi)xv + (xp*phi-zp*psi)yv + (yp*psi-xp*theta)zv

Nothing earth shattering I suppose, and probably many ways to get to the same result, but at least now I have one way. Thanks again, all your suggestions that put me on the right path!
 
Last edited:

FAQ: Proper Multi-Axis Rotational Analysis Method

What is Proper Multi-Axis Rotational Analysis Method?

Proper Multi-Axis Rotational Analysis Method is a systematic approach used to analyze and interpret the rotational dynamics of objects or systems that rotate around multiple axes. This method is crucial in fields such as aerospace, robotics, and biomechanics, where understanding complex rotational movements is essential for design, control, and performance evaluation.

Why is Proper Multi-Axis Rotational Analysis important?

Proper Multi-Axis Rotational Analysis is important because it allows for accurate modeling and control of systems that undergo complex rotational motions. This is essential for ensuring the stability and performance of such systems, whether it's a spacecraft maneuvering in orbit, a robotic arm performing precise tasks, or an athlete's body mechanics being optimized for better performance and injury prevention.

What tools and techniques are used in Proper Multi-Axis Rotational Analysis?

Tools and techniques commonly used in Proper Multi-Axis Rotational Analysis include mathematical models such as Euler angles, quaternions, and rotation matrices. Computational tools like MATLAB, Simulink, and specialized simulation software are also frequently employed to perform the necessary calculations and visualize the rotational dynamics. Additionally, sensors like gyroscopes and accelerometers are used to gather real-time data.

What are the common challenges faced in Proper Multi-Axis Rotational Analysis?

Common challenges in Proper Multi-Axis Rotational Analysis include handling the complexity of the mathematical models, dealing with the non-linear nature of rotational dynamics, and ensuring the accuracy and precision of sensor data. Additionally, managing computational resources efficiently and interpreting the results correctly to make informed decisions can also be challenging.

How can Proper Multi-Axis Rotational Analysis be applied in real-world scenarios?

Proper Multi-Axis Rotational Analysis can be applied in a variety of real-world scenarios such as optimizing the flight dynamics of aircraft and spacecraft, improving the performance and safety of robotic systems, enhancing the design and functionality of mechanical systems like turbines and engines, and analyzing the biomechanics of human movement in sports and medical applications. Each application benefits from a detailed understanding of rotational behaviors to achieve better outcomes.

Back
Top