Mapping Coordinate Systems Using Quaternions

In summary, an IMU reports accelerations relative to the IMU's orientation, not it's initial orientation. This can cause problems when mapping accelerations to the IMU's initial orientation. To correct for this, an equation must be used that takes into account the IMU's rotation around 1 axis.
  • #1
ChuckFinley
2
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 [itex]Q_{i}[/itex] be the quaternion that represents the IMU's initial orientation (1,0,0,0).
Let [itex]Q_{c}[/itex] be the quaternion that represents the IMU's current orientation.
Let [itex]R[/itex] be the quaternion that describes the quaternion that represents the quaternion required to rotate [itex]Q_{c}[/itex] to [itex]Q_{i}[/itex].

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


[itex]R = Q_{i} Q^{-1}_{c} [/itex]

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

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

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
  • #2
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?
 
  • #3
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:

[itex] R = Q^{-1}_{i}Q_{c}[/itex]

and

[itex] \vec{a_{c}} = <-x,-y,z>[/itex]

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.
 

FAQ: Mapping Coordinate Systems Using Quaternions

What are quaternions and how are they used in mapping coordinate systems?

Quaternions are a mathematical concept used to represent rotations in three-dimensional space. They are often used in mapping coordinate systems because they provide a more efficient way to represent spatial orientations compared to other methods such as Euler angles.

What is the advantage of using quaternions in mapping coordinate systems?

The advantage of using quaternions is that they avoid the problem of gimbal lock, which is a limitation of other methods that can lead to a loss of one degree of freedom in representing rotations. Quaternions also have a more intuitive interpretation and are less prone to numerical errors.

How are quaternions converted into Euler angles?

Quaternions can be converted into Euler angles using a mathematical formula that takes into account the four components of a quaternion: the scalar part (w) and the three imaginary parts (x, y, z). This conversion allows for easier visualization and manipulation of rotations in three-dimensional space.

Can quaternions be used to represent any type of rotation?

Yes, quaternions can be used to represent any type of rotation in three-dimensional space, including rotations around all three axes. They are also useful for representing non-standard rotations, such as those that involve rotating an object around a non-fixed point.

Are there any limitations to using quaternions in mapping coordinate systems?

One limitation of using quaternions is that they can be difficult to interpret for those who are not familiar with their mathematical properties. Additionally, they require more computational resources compared to other methods, which may be a concern for real-time applications.

Similar threads

Replies
2
Views
2K
Replies
1
Views
849
Replies
1
Views
5K
Replies
11
Views
2K
Replies
1
Views
2K
Replies
2
Views
1K
Replies
3
Views
1K
Back
Top