Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    How to output Euler angle by BSXLite?

    Highlighted
    Member

    How to output Euler angle by BSXLite?

    Dear All

    BSX Lite is very handy because it can outputs Quaternion. Although Euler angle is much less accurate than a Quaternion, and there is a problem with the Gimbal lock, there are still many Apps in reality who want to read the Euler angle directly. Of course, I also know that the BNO050 may be able to export Euler directly, but it lacks other features.
    I wonder who has tried to convert the Quaternion into Euler angle, or even calculate the Euler angle directly with 9DOF? Can someone share the code?
    The conversion of the Quaternion into the Attitude angle (absolute Euler angle) needs to solve a matrix, then, the solution of the Attitude angle should attach a credible range of value (Gimbal lock problem)?

    I am using  BSX Lite at BMX160, C# program.

    Thanks!

    Andy

    4 REPLIES 4
    Highlighted
    Community Moderator
    Community Moderator

    Re: How to output Euler angle by BSXLite?

    Hi Andy,

    You should call the bsx_get_orientdata_euler_rad function for Euler Angles directly from BSX.

    If you are using floating point, then the gimbal lock becomes less of an issue.

    o_o
    Highlighted
    Member

    Re: How to output Euler angle by BSXLite?

    Hi 

    Yes, I tried calling the bsx_get_orientdata_euler_rad, but the output data doesn't change, seems it jammed. The code is so simple, what exactly did I do wrong?  please see follows code. Andy

    Highlighted
    Member

    Re: How to output Euler angle by BSXLite?

    I don't know why diagrams can't be attach, now try post again.

    problem 1.jpgproblem 2.jpg

    Highlighted
    Member

    Re: How to output Euler angle by BSXLite?

    Hello  o_o

    In my program, floating-point operations are used for eulerbe processing. I use BSX Lite to output Quaternion is right, get the correct reading, but when I output Euler angle in the same way, I get only zero, no change. Can you tell me what caused it?  Thanks!
    I'm using the C#, Cortex M4 core. please see the code as follow

    compare.jpg

    Icon--AD-black-48x48Icon--address-consumer-data-black-48x48Icon--appointment-black-48x48Icon--back-left-black-48x48Icon--calendar-black-48x48Icon--center-alignedIcon--Checkbox-checkIcon--clock-black-48x48Icon--close-black-48x48Icon--compare-black-48x48Icon--confirmation-black-48x48Icon--dealer-details-black-48x48Icon--delete-black-48x48Icon--delivery-black-48x48Icon--down-black-48x48Icon--download-black-48x48Ic-OverlayAlertIcon--externallink-black-48x48Icon-Filledforward-right_adjustedIcon--grid-view-black-48x48IC_gd_Check-Circle170821_Icons_Community170823_Bosch_Icons170823_Bosch_Icons170821_Icons_CommunityIC-logout170821_Icons_Community170825_Bosch_Icons170821_Icons_CommunityIC-shopping-cart2170821_Icons_CommunityIC-upIC_UserIcon--imageIcon--info-i-black-48x48Icon--left-alignedIcon--Less-minimize-black-48x48Icon-FilledIcon--List-Check-grennIcon--List-Check-blackIcon--List-Cross-blackIcon--list-view-mobile-black-48x48Icon--list-view-black-48x48Icon--More-Maximize-black-48x48Icon--my-product-black-48x48Icon--newsletter-black-48x48Icon--payment-black-48x48Icon--print-black-48x48Icon--promotion-black-48x48Icon--registration-black-48x48Icon--Reset-black-48x48Icon--right-alignedshare-circle1Icon--share-black-48x48Icon--shopping-bag-black-48x48Icon-shopping-cartIcon--start-play-black-48x48Icon--store-locator-black-48x48Ic-OverlayAlertIcon--summary-black-48x48tumblrIcon-FilledvineIc-OverlayAlertwhishlist