Rotating Angular Velocity Vector By A Quaternion
up vote
2
down vote
favorite
I'm working on an AHRS system and I have 3 axis gyros and they are not in alignment with the frame of the vehicle. This means that integrating the raw output from the gyros produces an orientation that does not reflect the true orientation of the vehicle. Changing heading for example will result in movement around the pitch and roll axes.
The difference in orientation between gyros and frame of the vehicle is known and is in the form of a unit quaternion.
How can I rotate the angular velocity from the gyros so it is aligned with the vehicle?
rotations
add a comment |
up vote
2
down vote
favorite
I'm working on an AHRS system and I have 3 axis gyros and they are not in alignment with the frame of the vehicle. This means that integrating the raw output from the gyros produces an orientation that does not reflect the true orientation of the vehicle. Changing heading for example will result in movement around the pitch and roll axes.
The difference in orientation between gyros and frame of the vehicle is known and is in the form of a unit quaternion.
How can I rotate the angular velocity from the gyros so it is aligned with the vehicle?
rotations
add a comment |
up vote
2
down vote
favorite
up vote
2
down vote
favorite
I'm working on an AHRS system and I have 3 axis gyros and they are not in alignment with the frame of the vehicle. This means that integrating the raw output from the gyros produces an orientation that does not reflect the true orientation of the vehicle. Changing heading for example will result in movement around the pitch and roll axes.
The difference in orientation between gyros and frame of the vehicle is known and is in the form of a unit quaternion.
How can I rotate the angular velocity from the gyros so it is aligned with the vehicle?
rotations
I'm working on an AHRS system and I have 3 axis gyros and they are not in alignment with the frame of the vehicle. This means that integrating the raw output from the gyros produces an orientation that does not reflect the true orientation of the vehicle. Changing heading for example will result in movement around the pitch and roll axes.
The difference in orientation between gyros and frame of the vehicle is known and is in the form of a unit quaternion.
How can I rotate the angular velocity from the gyros so it is aligned with the vehicle?
rotations
rotations
asked Jan 21 '14 at 11:06
user2627202
112
112
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
0
down vote
You can use the procedure used in Android devices:
http://developer.android.com/guide/topics/sensors/sensors_motion.html#sensors-motion-gyro
I had a look through it and it's basically what I'm already doing. The problem is the axis of the sensors don't line up with the phone/vehicle. Holding the phone level and pointing north should result in no rotation. In my situation it doesn't, because the sensors inside the phone/vehicle are in a different orientation.
– user2627202
Jan 21 '14 at 12:12
Here is a procedure to align accelerometer axis vs gyro axis. Part 3 will show you what you need. I would suggest reading it all though. starlino.com/imu_guide.html
– CAGT
Jan 21 '14 at 12:29
Thanks. That's an interesting page. However my accelerometers and gyros are aligned together on a 9dof IMU breakout board. The problem is the breakout board isn't aligned with the axis of the vehicle.
– user2627202
Jan 21 '14 at 13:11
I know the orientation of the board vs vehicle (I'll call it the offset), and I can correct accelerometer / magnetometer vectors by making them pure quaternions and rotating by the conjugate of the offset. This technique doesn't appear to work for angular velocity. I'd like to know why and how I can correct it. Cheers
– user2627202
Jan 21 '14 at 13:19
Angular velocity needs to be integrated to obtain a difference in angular position. The integration needs to be done in a fixed time sample. In this way, you will get a delta-position. Now you have a delta in angular position for each axis (on the gyro coordinate reference), so then you can rotate it to your orientation and add the delta angle to your actual (angular) position.
– CAGT
Jan 21 '14 at 13:35
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
You can use the procedure used in Android devices:
http://developer.android.com/guide/topics/sensors/sensors_motion.html#sensors-motion-gyro
I had a look through it and it's basically what I'm already doing. The problem is the axis of the sensors don't line up with the phone/vehicle. Holding the phone level and pointing north should result in no rotation. In my situation it doesn't, because the sensors inside the phone/vehicle are in a different orientation.
– user2627202
Jan 21 '14 at 12:12
Here is a procedure to align accelerometer axis vs gyro axis. Part 3 will show you what you need. I would suggest reading it all though. starlino.com/imu_guide.html
– CAGT
Jan 21 '14 at 12:29
Thanks. That's an interesting page. However my accelerometers and gyros are aligned together on a 9dof IMU breakout board. The problem is the breakout board isn't aligned with the axis of the vehicle.
– user2627202
Jan 21 '14 at 13:11
I know the orientation of the board vs vehicle (I'll call it the offset), and I can correct accelerometer / magnetometer vectors by making them pure quaternions and rotating by the conjugate of the offset. This technique doesn't appear to work for angular velocity. I'd like to know why and how I can correct it. Cheers
– user2627202
Jan 21 '14 at 13:19
Angular velocity needs to be integrated to obtain a difference in angular position. The integration needs to be done in a fixed time sample. In this way, you will get a delta-position. Now you have a delta in angular position for each axis (on the gyro coordinate reference), so then you can rotate it to your orientation and add the delta angle to your actual (angular) position.
– CAGT
Jan 21 '14 at 13:35
add a comment |
up vote
0
down vote
You can use the procedure used in Android devices:
http://developer.android.com/guide/topics/sensors/sensors_motion.html#sensors-motion-gyro
I had a look through it and it's basically what I'm already doing. The problem is the axis of the sensors don't line up with the phone/vehicle. Holding the phone level and pointing north should result in no rotation. In my situation it doesn't, because the sensors inside the phone/vehicle are in a different orientation.
– user2627202
Jan 21 '14 at 12:12
Here is a procedure to align accelerometer axis vs gyro axis. Part 3 will show you what you need. I would suggest reading it all though. starlino.com/imu_guide.html
– CAGT
Jan 21 '14 at 12:29
Thanks. That's an interesting page. However my accelerometers and gyros are aligned together on a 9dof IMU breakout board. The problem is the breakout board isn't aligned with the axis of the vehicle.
– user2627202
Jan 21 '14 at 13:11
I know the orientation of the board vs vehicle (I'll call it the offset), and I can correct accelerometer / magnetometer vectors by making them pure quaternions and rotating by the conjugate of the offset. This technique doesn't appear to work for angular velocity. I'd like to know why and how I can correct it. Cheers
– user2627202
Jan 21 '14 at 13:19
Angular velocity needs to be integrated to obtain a difference in angular position. The integration needs to be done in a fixed time sample. In this way, you will get a delta-position. Now you have a delta in angular position for each axis (on the gyro coordinate reference), so then you can rotate it to your orientation and add the delta angle to your actual (angular) position.
– CAGT
Jan 21 '14 at 13:35
add a comment |
up vote
0
down vote
up vote
0
down vote
You can use the procedure used in Android devices:
http://developer.android.com/guide/topics/sensors/sensors_motion.html#sensors-motion-gyro
You can use the procedure used in Android devices:
http://developer.android.com/guide/topics/sensors/sensors_motion.html#sensors-motion-gyro
answered Jan 21 '14 at 11:52
CAGT
721617
721617
I had a look through it and it's basically what I'm already doing. The problem is the axis of the sensors don't line up with the phone/vehicle. Holding the phone level and pointing north should result in no rotation. In my situation it doesn't, because the sensors inside the phone/vehicle are in a different orientation.
– user2627202
Jan 21 '14 at 12:12
Here is a procedure to align accelerometer axis vs gyro axis. Part 3 will show you what you need. I would suggest reading it all though. starlino.com/imu_guide.html
– CAGT
Jan 21 '14 at 12:29
Thanks. That's an interesting page. However my accelerometers and gyros are aligned together on a 9dof IMU breakout board. The problem is the breakout board isn't aligned with the axis of the vehicle.
– user2627202
Jan 21 '14 at 13:11
I know the orientation of the board vs vehicle (I'll call it the offset), and I can correct accelerometer / magnetometer vectors by making them pure quaternions and rotating by the conjugate of the offset. This technique doesn't appear to work for angular velocity. I'd like to know why and how I can correct it. Cheers
– user2627202
Jan 21 '14 at 13:19
Angular velocity needs to be integrated to obtain a difference in angular position. The integration needs to be done in a fixed time sample. In this way, you will get a delta-position. Now you have a delta in angular position for each axis (on the gyro coordinate reference), so then you can rotate it to your orientation and add the delta angle to your actual (angular) position.
– CAGT
Jan 21 '14 at 13:35
add a comment |
I had a look through it and it's basically what I'm already doing. The problem is the axis of the sensors don't line up with the phone/vehicle. Holding the phone level and pointing north should result in no rotation. In my situation it doesn't, because the sensors inside the phone/vehicle are in a different orientation.
– user2627202
Jan 21 '14 at 12:12
Here is a procedure to align accelerometer axis vs gyro axis. Part 3 will show you what you need. I would suggest reading it all though. starlino.com/imu_guide.html
– CAGT
Jan 21 '14 at 12:29
Thanks. That's an interesting page. However my accelerometers and gyros are aligned together on a 9dof IMU breakout board. The problem is the breakout board isn't aligned with the axis of the vehicle.
– user2627202
Jan 21 '14 at 13:11
I know the orientation of the board vs vehicle (I'll call it the offset), and I can correct accelerometer / magnetometer vectors by making them pure quaternions and rotating by the conjugate of the offset. This technique doesn't appear to work for angular velocity. I'd like to know why and how I can correct it. Cheers
– user2627202
Jan 21 '14 at 13:19
Angular velocity needs to be integrated to obtain a difference in angular position. The integration needs to be done in a fixed time sample. In this way, you will get a delta-position. Now you have a delta in angular position for each axis (on the gyro coordinate reference), so then you can rotate it to your orientation and add the delta angle to your actual (angular) position.
– CAGT
Jan 21 '14 at 13:35
I had a look through it and it's basically what I'm already doing. The problem is the axis of the sensors don't line up with the phone/vehicle. Holding the phone level and pointing north should result in no rotation. In my situation it doesn't, because the sensors inside the phone/vehicle are in a different orientation.
– user2627202
Jan 21 '14 at 12:12
I had a look through it and it's basically what I'm already doing. The problem is the axis of the sensors don't line up with the phone/vehicle. Holding the phone level and pointing north should result in no rotation. In my situation it doesn't, because the sensors inside the phone/vehicle are in a different orientation.
– user2627202
Jan 21 '14 at 12:12
Here is a procedure to align accelerometer axis vs gyro axis. Part 3 will show you what you need. I would suggest reading it all though. starlino.com/imu_guide.html
– CAGT
Jan 21 '14 at 12:29
Here is a procedure to align accelerometer axis vs gyro axis. Part 3 will show you what you need. I would suggest reading it all though. starlino.com/imu_guide.html
– CAGT
Jan 21 '14 at 12:29
Thanks. That's an interesting page. However my accelerometers and gyros are aligned together on a 9dof IMU breakout board. The problem is the breakout board isn't aligned with the axis of the vehicle.
– user2627202
Jan 21 '14 at 13:11
Thanks. That's an interesting page. However my accelerometers and gyros are aligned together on a 9dof IMU breakout board. The problem is the breakout board isn't aligned with the axis of the vehicle.
– user2627202
Jan 21 '14 at 13:11
I know the orientation of the board vs vehicle (I'll call it the offset), and I can correct accelerometer / magnetometer vectors by making them pure quaternions and rotating by the conjugate of the offset. This technique doesn't appear to work for angular velocity. I'd like to know why and how I can correct it. Cheers
– user2627202
Jan 21 '14 at 13:19
I know the orientation of the board vs vehicle (I'll call it the offset), and I can correct accelerometer / magnetometer vectors by making them pure quaternions and rotating by the conjugate of the offset. This technique doesn't appear to work for angular velocity. I'd like to know why and how I can correct it. Cheers
– user2627202
Jan 21 '14 at 13:19
Angular velocity needs to be integrated to obtain a difference in angular position. The integration needs to be done in a fixed time sample. In this way, you will get a delta-position. Now you have a delta in angular position for each axis (on the gyro coordinate reference), so then you can rotate it to your orientation and add the delta angle to your actual (angular) position.
– CAGT
Jan 21 '14 at 13:35
Angular velocity needs to be integrated to obtain a difference in angular position. The integration needs to be done in a fixed time sample. In this way, you will get a delta-position. Now you have a delta in angular position for each axis (on the gyro coordinate reference), so then you can rotate it to your orientation and add the delta angle to your actual (angular) position.
– CAGT
Jan 21 '14 at 13:35
add a comment |
Thanks for contributing an answer to Mathematics Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f646088%2frotating-angular-velocity-vector-by-a-quaternion%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown