Sensor Fusion get noisy when switching from euler angles to mag/gyro/acc

When i used the sensor fusion everything works well, but i need to let user choose if he wants accelerometer, gyroscope, or magnetometers. 
Now, when the first time i choose what i want and then start all is ok. Then when i stop the streaming, change the input, then restart the data are nearly completely random.

p, li { white-space: pre-wrap; }

p, li { white-space: pre-wrap; }


    • What model, hardware, and firmware revision are you running?
    • How are you configuring the sensor fusion algorithm?
    • Post data as a CSV file that quantifies this "nearly completely random" data
  • Model: MetaMotion R
    Hardware: 0.1
    ModelNumber: 5
    Firmware 1.3.3

    Configuration of the sensor see the file code.txt inside this link 

    Inside there are also cvs files of data, and a figure explaining the problem. 

    The sequence has been:
    choose accelerometer, take a measure, stop, save.
    switch to angle, take a measure, stop.
    back to accelerometer, take a measure, stop, save.

    • What exactly is the graph and CSV files showing?  Please provide more context to the posted data.
    • What is the QQuaternion class and why is it being used with both corrected imu data and quaterion values?
    • Try using raw IMU data directly from the sensors, not the corrected variants from the sensor fusion algorithm
  • Hi, graph correspond to the "save" word in the sequence described. 
    I choose ACC data, save one set of data, switched to euler angle, than back to to ACC and save the other set of data. 
    As you see the first is clean and seems resonable, the second is very noisy!

    QQuaternion is just a useful container is a vector of 4 elements ,that i use to collect data.

    I will try.

  • Acceleration is a 3 component vector; your graph and CSV file only show one column of values.  

    Also, what kind of motion are you subjecting the device to?
  • Yes, i get anyway all 3, it was just  an example of the data i get. It looks like the the stop of the sensor fusion is not right or the start is not right, although i cannot understand why the first time everything works perfectly.
    The motion in the 2 graph is almost the same, but the fact is that even if i keep it still in second case i see that behaviour.
    I checked also the raw data coming from the sensor as soon as they are transmitted and indeed they are dirty.
    I've tried also a tear down on stop, but nothing happens.
    Any suggestion?
  • SOLVED!!!! 

    I did not unsubscribe to the signal when switching, so the first time on ACC it was ok, then when i switched to angle the board was giving ANGLE and ACC.. so messing up data in my output... 

    Hope is helpfull!

    Thanks for the support

    p, li { white-space: pre-wrap; }
This discussion has been closed.