Solved! Go to Solution.
I used the sensor in NDOF mode.
I followed the full calibration steps and ensured both the system, accelerometer, gyroscope and magnetometer were continually reading 3. Then I began sampling by moving the encoder wheel along the table. The IMU is placed directly at the center of rotation of the wheel, where x is pointing toward the table, z is toward my body and y is pointing to the direction of motion. video https://youtu.be/vrrQS1RBzHg
I then use these sample measurements and attempt to integrate them in matlab only using the linear acceleration data. I create a vector for the linear acceleration and integrate my time steps (sampling every 10 ms) assuming starting at rest which I did. The resulting velocity vector is then converted to a speed because i just need the magnitude for my project. The resulting graph can be seen below having a steady drift in the speed. I determined from help of collegues and other online forums that this is due to poor linear acceleration measurements, perhaps an offset. I was told by some people on other forums that the BNO055 would not work for this application, because of acceleration inaccuracy.
I wanted to go straight to the source to see if you may have any recommendations because like I said I only need roughly 30 seconds of good data before I can reset my integration. Thus getting rid of any accumulating error.
Some other details is the device for the project is handheld and must remain so. We have a budget under 500 dollars so i am trying to keep sensor cost under 100. I am using an arduino uno because in the final design we are trying to use a nano (if need be we can switch to a better board).
If you may have a better sensor recommendation I am open to that as well.
If there is any more detail you may need feel free to ask.
Sample Data: (attached the one in the graph is LMD1)
On the chart red line means the actual speed, and blue line mean the calculated speed by linear accel accumulating?
Maybe the linear accle data have a few drift, but it is not so big as your chart showed.
Could you keep the sensor horizental to move your wheel? Under this condition, we can calculate the moving speed by accumulating linear accel data or the raw accel data with reducing offset. And these data should sum up to zero or close to approach zero.
Could you try these kind of accel data or linear accel data to calculate speed or offer them to us?
I also recommand you to try other modes to lool into the results.