Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    BHI160B sudden jumps in quaternion

    BHI160B sudden jumps in quaternion

    soroush
    Established Member

    Dear Bosch community,

    We are performing some tests with BHI160B, and occasionally we observe sudden jumps in quaternion elements.

    A CSV file of the log and a few screenshots are attached.

    We are using the "Bosch_PCB_7183_di03_BMI160-7183_di03.2.1.11824" firmware and the provided c driver (https://github.com/BoschSensortec/BHy1_driver_and_MCU_solution/blob/master/examples/rotation_vector_...) with some modifications:

    • 100Hz sampling rate
    • Sensor mounted vertically with proper remapping matrix 

    Any advice would be highly appreciated.

    9 REPLIES 9

    BSTRobin
    Community Moderator
    Community Moderator

    Hi soroush,

    In your CSV log file, accuracy was always 0. Could we know detailed information about your hardware and software information?

    soroush
    Established Member

    Thank you for your reply.
    To our understanding, according to the datasheet (revision 1.6, page 60), the game rotation vector's accuracy is supposed to be zero. 

    We are using STM32L475RG, bare metal, tool-chain: Ac6 STM32 MCU GCC (O3 optimization), I2C (400Hz), BHI160B's ROM: v11693 RAM: v11824.FIFO size: 500B, Sample rate: 100Hz

    Please let me know if I can provide more details

    thomasLi
    New Poster

    We have the same problem with our BHI160B.  Hope the bosch engineer can give more explanation.

    soroush
    Established Member

    An update regarding discontinuity on quaternion data:

    We always warm start our BHI160B by uploading previously saved acc/gyro biases to the sensor and ensuring that the acc/gyro accuracies both go to level 3 before any test. Recently, we also tried to perform a 6-face calibration after the warm start and in this situation discontinuity in Game Rotation Vector quaternion data is slightly less frequent but still exists which leads to more than 30 deg error in Euler angles. We tried to match the time when discontinuities happen with changes in acc/gyro biases or other events but we cannot see any associations.

    We perform our tests in a way that we hold the sensor in hand and swing our arm to +- 60 deg. We also have a platform which has a little bit of vibration and the same movements make discontinuity even more frequent.

    Any advice to solve this problem is highly appreciated.

    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