Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    BHI160B IMU Calibration Status was unstable.

    BHI160B IMU Calibration Status was unstable.

    vamshi
    Established Member

    Hi Team, 

    I am working with BHI160B imu and reading orientation data continuously for our application using STM32-L053R8.

    Along with orientation data, we also read the Accuracy of measurement. But when I read the calibration status(Accuracy of measurement), It got fluctuated between 3 (calibrated) and other values. worrying about the data captured when status(Accuracy of measurement) got fluctuated.

    Clarification Required:
    Are BHI160B calibrators always-on by design -(calibration will always run in the background)? or

    Do I need to re-calibrate again everytime? If yes, Could you please recommend some workaround to avoid frequent re-callibration?


    Any help would be very thankful

    6 REPLIES 6

    BSTRobin
    Community Moderator
    Community Moderator

    Hi vamshi,
    1. Calibration algorithm is always running in the background.
    2. You could refer BHI160B github calibration example to do calibration, read profile, write profile. https://github.com/BoschSensortec/BHy1_driver_and_MCU_solution/blob/master/examples/calib_profile_ex...
    3. How about your test environment as your calibration status got fluctuated between 3 (calibrated) and other values?

    vamshi
    Established Member

    Thank you for the reply @BSTRobin,

    1. Okay 
    2. Yes I have tested the calibration status and read the data with the example https://github.com/BoschSensortec/BHy1_driver_and_MCU_solution/blob/master/examples/calib_profile_ex...
    3.
    3a. Present we are using the below matrix for Setting orientation. The attached image is the Orientation of the BHI160B IMU custom board which is being used for our testing. We've set Acc, Gyro, Mag orientation & testing IMU with the same attached image orientation.

    int8_t bhy_mapping_matrix_config[3 * 3] = { -1, 0, 0, 0, 0, -1, 0, 1, 0 };
    int8_t mag_mapping_matrix_config[3 * 3] = { -1, 0, 0, 0, 0, 1, 0, -1, 0 };

    Will the IMU Orientation affect the calibration status accuracy?

    3b.  When we test IMU every time, we are making sure that there are no Magnetic and Electrical effects surrounding it.

    Any help would be very thankful

    BSTRobin
    Community Moderator
    Community Moderator

    Hi vamshi,

    We don't understand how your target coordinate system x, y, z points in space. Can you describe it again?

    vamshi
    Established Member

    Hi @BSTRobin ,

    Sorry, somehow I missed your post.

    Our target coordinate system (Earbud) x,y,z points are like in the attached image. The image representation faces us like we see on the mobile screen. But finally, the system will be at our ear like we are communicating with someone. Here coordinate system changes. Could you please go through it and suggest the mapping matrix as per our coordinate system.
    1. We require remapping matrix for our Earbud, so that when earbud is kept in the Ear it should have RPY=0,0,yy is our goal
    2. We try to store calibration values and re-apply them when there is a power cycle but it is failing in Accel, Mag. Accel shows high(3) for a moment and goes to low(0) just by small moment and Mag never stays at 3 even after calibrating.
    3. Even without environment change Mag calib value accuracy changes from 3 to 0 with slight moment. What could be the reason? Is it because of Remapping or Something else?


    Our goal is to have stable Roll, Pitch and Yaw values without drift when there is no environment change.

    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