SHAKE SK7 as an AHRS - Attitude and Azimuth Euler angle / Quaternion output demonstration
Loading...
8,141
Loading...
Uploader Comments (thepiper21)
see all
All Comments (13)
-
out of curiosity , how did you deal with the heading error caused by roll and pitch . Since I found that the error was huge even I tried to use those 2 common magnetometer compensation equations to get a more accurate measurement .Especially when the roll and pitch were approximate to 90 degree .
-
second that on the code - trying to understand the filtering methods by reading code. its the only way i can.
thanks!
-
Ok, but if you want the euler angles. Do you calculate them from the DCM matrix?
-
No problem. Keep the good work.
Loading...
Where can I buy one ?
hols2000 1 year ago
@hols2000 Hi, you can order one by contacting me (my contact details are available along with all documentation of the SK7 on the SHAKE Drivers Google code webpage )
cheers, Stephen
thepiper21 1 year ago
Yes, from the DCM the Euler angles can be calculated. I use these equations -
ROLL = atan2( DCM32 , DCM33 )
PITCH = asin( -DCM31 )
YAW = atan2( DCM21 , DCM11 )
and the DCM elements can be calculate from the quaternion elements with these-
DCM11 = qA*qA + qB*qB + qC*qC - qD*qD
DCM21 = qB*qC + qA*qD
DCM31 = qB*qD - qA*qC
DCM32 = qC*qD + qA*qB
DCM33 = qA*qA - qB*qB + qC*qC + qD*qD
thepiper21 1 year ago
Hello, can I ask you how do you do with quaternions to your cube rotate to any angle?? I trying to do a program like yours using quaternions, but when i try to rotate over the Y axis (pitch angle) I am stopped by a discontinuit given origined from the quaterions north and south pole. How can I revert that problem? Any suggestion? Thx
lucasvago2 1 year ago
@lucasvago2 Hi,
The SK7 outputs quaternions to Matlab and in Matlab I perform the graphic rotations by first converting the quaternions into DCM rotation matrices and then it's just a simple matter of multiplying the graphic vectors by them.
thepiper21 1 year ago
Awesome. Did you implement a Kalman filter? Would you mind sharing the code?
w8ryanb 2 years ago
It uses a sensor fusion algorithm not a Kalman filter. Unfortunately we're not in a position to share the source code, sorry
thepiper21 2 years ago