Alert icon
We're changing our privacy policy. This stuff matters.  Learn more  Dismiss

SHAKE SK7 as an AHRS - Attitude and Azimuth Euler angle / Quaternion output demonstration

Loading...

Sign in or sign up now!
Alert icon
Upgrade to the latest Flash Player for improved playback performance. Upgrade now or more info.
8,141
Loading...
Alert icon
Sign in or sign up now!
Alert icon

Uploaded by on Aug 19, 2009

This is a demo of the SHAKE SK7 as an Attitude Heading Reference System (AHRS). It outputs Euler angle / Quaternions for it's attitude ( pitch and roll ) and azimuth (yaw) with respect to earth's North-East-Down reference plane. The algorithm operates on the SHAKEs internal DSP microcontroller and outputs the data over a Bluetooth serial port profile or USB. It uses Analog devices ADXRS610 MEMs Gyros, ST accelerometers and magnetometers. The visualization is written and runs in Matlab on a Windows XP PC.
More info on the SHAKE SK7 can be found here -
http://code.google.com/p/shake-drivers/

Link to this comment:

Share to:

Uploader Comments (thepiper21)

  • Where can I buy one ?

  • @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

  • 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

  • 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 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.

  • Awesome. Did you implement a Kalman filter? Would you mind sharing the code?

  • It uses a sensor fusion algorithm not a Kalman filter. Unfortunately we're not in a position to share the source code, sorry

see all

All Comments (13)

Sign In or Sign Up now to post a comment!
  • 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...

Alert icon
0 / 00Unsaved Playlist Return to active list
    1. Your queue is empty. Add videos to your queue using this button:
      or sign in to load a different list.
    Loading...Loading...Saving...
    • Clear all videos from this list
    • Learn more