Mapping Coordinate Systems Using Quaternions

AI Thread Summary
The discussion revolves around the challenge of mapping accelerations from an inertial measurement unit (IMU) based on its changing orientation. The initial orientation is represented by the identity quaternion (1,0,0,0), and the goal is to transform acceleration readings from the IMU's current orientation back to this initial orientation. The initial approach using the quaternion rotation R = Q_{i} Q^{-1}_{c} was found to only work for single-axis rotations. Corrections were later identified, leading to R = Q^{-1}_{i}Q_{c} and the transformation of acceleration as \vec{a_{c}} = <-x,-y,z>, which raised questions about the sign change in the x and y components. The discussion highlights the complexities of quaternion mathematics in orientation mapping for IMUs.
ChuckFinley
Messages
2
Reaction score
0
During the course of working with inertial measurement units (IMU) I have run into a problem.

The issue is that an IMU reports accelerations relative to the IMU's orientation rather than it's initial orientation. The IMU's initial orientation is the identity quaternion (1,0,0,0). All changes in the IMU's orientation will be relative to the initial orientation.

With this in mind, I have tried to create a way to map the accelerations of the IMU's specific orientation to that of it initial orientation. e.x. If the IMU is rotated but not accelerated the acceleration in the initial orientation should be constant.


So far I have this.

Let Q_{i} be the quaternion that represents the IMU's initial orientation (1,0,0,0).
Let Q_{c} be the quaternion that represents the IMU's current orientation.
Let R be the quaternion that describes the quaternion that represents the quaternion required to rotate Q_{c} to Q_{i}.

Let \vec{a_{i}} be the acceleration reading from the IMU initial orientation.
Let \vec{a_{c}} be the acceleration reading from IMU's current orientation.


R = Q_{i} Q^{-1}_{c}

Then: (the 0 above the vector is to show the vector is being transformed to a quaternion where w = 0)

\left(\stackrel{\textbf{0}}{\vec{a_{i}}}\right) = R\left(\stackrel{\textbf{0}}{\vec{a_{c}}}\right) R^{-1}

But this above equation only works when the IMU is rotated around 1 axis from it's initial position. For example, the logic holds when rotated around X, but not when rotated around both X and Y.

Thanks so much!
 
Engineering news on Phys.org
I'm sorry you are not generating any responses at the moment. Is there any additional information you can share with us? Any new findings?
 
After some digging on the internet, I was able to look at some source code from another research paper.

The corrections that needed to be made are:

R = Q^{-1}_{i}Q_{c}

and

\vec{a_{c}} = &lt;-x,-y,z&gt;

Strangely, I don't understand why x and y become opposites but it does work. Any ideas on why this might be would be very nice!

Hope this helps anyone in the future that may run into the same problem.

Thanks again.
 
How did you find PF?: Via Google search Hi, I have a vessel I 3D printed to investigate single bubble rise. The vessel has a 4 mm gap separated by acrylic panels. This is essentially my viewing chamber where I can record the bubble motion. The vessel is open to atmosphere. The bubble generation mechanism is composed of a syringe pump and glass capillary tube (Internal Diameter of 0.45 mm). I connect a 1/4” air line hose from the syringe to the capillary The bubble is formed at the tip...
Thread 'Calculate minimum RPM to self-balance a CMG on two legs'
Here is a photo of a rough drawing of my apparatus that I have built many times and works. I would like to have a formula to give me the RPM necessary for the gyroscope to balance itself on the two legs (screws). I asked Claude to give me a formula and it gave me the following: Let me calculate the required RPM foreffective stabilization. I'll use the principles of gyroscopicprecession and the moment of inertia. First, let's calculate the keyparameters: 1. Moment of inertia of...
Thread 'Physics of Stretch: What pressure does a band apply on a cylinder?'
Scenario 1 (figure 1) A continuous loop of elastic material is stretched around two metal bars. The top bar is attached to a load cell that reads force. The lower bar can be moved downwards to stretch the elastic material. The lower bar is moved downwards until the two bars are 1190mm apart, stretching the elastic material. The bars are 5mm thick, so the total internal loop length is 1200mm (1190mm + 5mm + 5mm). At this level of stretch, the load cell reads 45N tensile force. Key numbers...
Back
Top