SensorFusion Calibration

edited August 2018 in C#

Hello Eric,
We are streaming data through the C# SDK with SensorFusion. However, it seems that the values of the Quaternium are not consistent, even if i always start from the same position, i.e., we get different values when doing the same motion (e.g. pitch or role). so i have a couple of questions:

  1. I saw that in the Android SDK you have some methods for calibration. Do you have something similar for the C# SDK ?
  2. I saw that in last firmware update (1.4.1) you "Exposed sensor fusion calibration state" - can you please elaborate more about what is this state and how do i use it? Is it part of SDK ?
  3. should i assume that the sensrFusion is calibrated?
  4. what is the "best practice" to do in order to get accurate constant streaming in each connection?


    1. No
    2. It is exactly as stated, there isn't more to say about it. The method you are talking about in your first question is how you use it.
    3. No
    4. Calibrate the sensors before collecting data.
  • edited August 2018

    .So Can you please explain how to calibrate the sensor if i use the c# sdk? What are my options here?
    2. Is the android sdk doing calibration or it is just reading status?

  • Watch the sensor fusion calibration video linked in the documentation:

  • edited August 2018

    1. The video describes the calibration of **BNO055 **sensor, which is not the case of MetaMotion sensor R according to your data sheet (which is BMI160 / BMM150 ). Do I miss something?
    2. According to BNO55 documentation, the calibration should be performed "after every ‘Power on Reset". Can you explain what it I mean in Metawaer terms? should we do the calibration described in the movie after each "Initialize -teardown" session in C# SDK, or just once for all life cycle of the sensor? i.e., if i connect to sensor use the SensorFusion, and then disconnect, should i do the calibration BEFORE each connection ? . If not, when should I start the calibration? how do I know that the calibration was OK with C# SDK ? i understand this is not supported, but are you planning to do this in next SDK version ?
    4. The video describes how the technician works with Botch software in the sensor level using botch's designated service tools. Do you expect that users should do the calibrations with these tools by themselves? How we can do that as we bought SW Module and not HW component? and if yes, a can you please elaborate more about this process rather a youTube video?

  • edited September 2018
    1. It doesn't matter, do the physical motions demonstrated in the video for each IMU.
    2. It means exactly as stated; when the device is powered on, start the sensor fusion algorithm then calibrate the sensors before you collect the data.

      Calibration state will be added.

    3. You don't need the software used in the video.
  • Hi,
    2."when the device is powered on" -> do you mean at the first time when Unboxing? how do i start the " the sensor algorithm in C#?
    3. Another question - In my app, when starting i want to create a "reference" to some absolute orientation (e.g. 0,0,0.7,0.7), but the data coming from Quaternion is depend on the initial physical orientation if the sensor. How can i make an "offset" to achieve this orientation? e,g, when user start with (0,0,-0.8) i want it to be offset into be aligned with (0,0,0.7,0.7).

  • No, it means exactly as stated. The second quote is a typo, should be "sensor fusion algorithm" and has been corrected in my previous post.

    Post unrelated questions in their own thread.

    1. Thanks, should i do the calibration process only once when receiving the sensor from mbient (unboxing) or at each sensor fusion algorithm start ?
    2. OK
  • You do it if the calibration state is not at high accuracy.

  • Yes but once it is high accuracy , it can be unreliable again after some time ?

  • edited October 2018

    Yes, when the device powers on. You should also check the calibration state every time you start sensor fusion.

Sign In or Register to comment.