sparkfun / SparkFun_BNO08x_Arduino_Library

An Arduino Library for the BNO08x IMU combination triple axis accelerometer/gyro/magnetometer packaged with an ARM Cortex M0+ running powerful algorithms.
Other
14 stars 8 forks source link

Calibration removed? #7

Closed LazaroFilm closed 11 months ago

LazaroFilm commented 1 year ago

Why was the calibration removed from this library? I see the Tare, but one of my sensors is out of alignment between the accelerometer and the gyroscope and needs to be calibrated before a tare.

lewispg228 commented 11 months ago

Hi @LazaroFilm , When the BNO086 Breakout came out, we migrated this library to use the SH2 Driver. The calibration example was left out because we were unable to easily port it over and we needed to launch the product with a mostly functioning library.

We started working on re-creating the Calibration example on a branch here. It is currently stalling out at the function sh2_startCal(), and we're not sure what's going on there. We will reach out to ceva-dsp and see if they can help with this.

Of course, you would also be very welcome to take a look and let us know if you see anything.

Thanks and we'll keep ya posted, Pete

lewispg228 commented 11 months ago

Just filed an issue on the sh2 driver about this. Hope to hear back from them soon. https://github.com/ceva-dsp/sh2/issues/11

lewispg228 commented 11 months ago

We were trying to use a function "sh2_startCal()" that is not supported by the BNO086. It looks like dynamic calibration is on by default for the Accel and Mag. And it stores the DCD to RAM every 5 seconds, so the "save" feature of the example may not really be necessary for most appilcations.

In light of this, we have changed the focus of the example to demo how to control the configurations. That is, now it shows how to turn dynamic calibration on/off for each individual sensor (accel/gyro/mag).

We also asked about the interactive calibration features of the BNO086, as we can't seem to find more info about this. That might lead to another example, however, we feel that most users will most likely be fine using dynamic calibration and following along with the positions/motions described in their calibration procedure document here.

Cheers, Pete

RndyP commented 8 months ago

IMHO, the calibration procedure for the BNO devices is as clear as mud. See: https://community.robotshop.com/forum/t/cmps14-how-does-calibration-work/104008