<div dir="ltr">Murray,<div>    Make sure you have the BNO055 in the right operation mode. I like the "imu" mode for indoor robots which outputs the results of an internal Kalman filter using the gyroscope and .accelerometer. It sounds like you want to run in "ndof" mode.  As I have stated before, accurate magnetometer readings indoors on a mobile robot that will be operating in different locations is going to problematic due to non-constant hard iron distortions. You might find this link informative,  <a href="https://www.vectornav.com/support/library/magnetometer">https://www.vectornav.com/support/library/magnetometer</a>.</div><div><br></div><div>Regards,</div><div>Doug P. </div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, May 14, 2020 at 5:55 AM Murray Altheim via DPRGlist <<a href="mailto:dprglist@lists.dprg.org">dprglist@lists.dprg.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
I think we've discussed this subject a bit recently. Here's a few papers I've<br>
managed to find:<br>
<br>
    Minimal-Drift Heading Measurement using a MEMS Gyro for Indoor Mobile Robots<br>
    Sung Kyung Hong * and Sungsu Park<br>
    Dept. of Aerospace Engineering, Sejong University, Seoul, 143-747, Korea<br>
    Sensors 2008, 8, 7287-7299; DOI: 10.3390/s8117287  <a href="http://www.mdpi.com/journal/sensors" rel="noreferrer" target="_blank">www.mdpi.com/journal/sensors</a><br>
    <a href="https://www.researchgate.net/publication/26551593_Minimal-Drift_Heading_Measurement_using_a_MEMS_Gyro_for_Indoor_Mobile_Robots" rel="noreferrer" target="_blank">https://www.researchgate.net/publication/26551593_Minimal-Drift_Heading_Measurement_using_a_MEMS_Gyro_for_Indoor_Mobile_Robots</a><br>
    <a href="https://www.mdpi.com/1424-8220/8/11/7287/pdf" rel="noreferrer" target="_blank">https://www.mdpi.com/1424-8220/8/11/7287/pdf</a><br>
<br>
   Indoor Mobile Robot Heading Detection Using MEMS Gyro North Finding Approach<br>
   November 2011, DOI: 10.7746/jkros.2011.6.4.334<br>
   Yuan-Long Wei, Min Cheol Lee, Chi yen Kim<br>
   <a href="https://www.researchgate.net/publication/271336529_Indoor_Mobile_Robot_Heading_Detection_Using_MEMS_Gyro_North_Finding_Approach" rel="noreferrer" target="_blank">https://www.researchgate.net/publication/271336529_Indoor_Mobile_Robot_Heading_Detection_Using_MEMS_Gyro_North_Finding_Approach</a><br>
<br>
   Using Inertial Sensors for Position and Orientation Estimation<br>
   Manon Kok, Jeroen D. Hol and Thomas B. Schön (2017),<br>
   Foundations and Trends in Signal Processing: Vol. 11: No. 1-2, pp 1-153.<br>
   <a href="http://dx.doi.org/10.1561/2000000094" rel="noreferrer" target="_blank">http://dx.doi.org/10.1561/2000000094</a><br>
<br>
   Pose Estimation of a Mobile Robot Based on Fusion of IMU Data and Vision<br>
   Data Using an Extended Kalman Filter<br>
   Mary B. Alatise and Gerhard P. Hancke<br>
   <a href="https://www.mdpi.com/1424-8220/17/10/2164" rel="noreferrer" target="_blank">https://www.mdpi.com/1424-8220/17/10/2164</a><br>
<br>
though the latter is a bit beyond what I'm looking for. There's a *lot* of<br>
articles on MDPI's website. I'm also happy to have found the Sensors journal.<br>
<br>
What would be nicer than digging around for an algorithm would be a Python<br>
library that could give me a compass heading from a gyroscope (and possibly<br>
an accelerometer) measurement. I tried writing my own using just a<br>
magnetometer and had limited success (but then again I gave up too early).<br>
<br>
At this point I've got six (!) different boards (BNO055, LSM9DS1,<br>
LSM6DSOX, LISMDL, ICM20948, LSM303D) that all do similar things but all<br>
seem to have issues and while the BNO055 does most everything, it seems<br>
to have the most issues, like not being particularly compatible with a<br>
Raspberry Pi (as one). All I *really* want is an accurate compass heading<br>
for an indoor robot (therefore no GPS). Pie in the sky?<br>
<br>
On a lighter note, my cat scanner now works pretty well. I'll hopefully<br>
post a video to my YouTube channel sometime soon.<br>
<br>
Cheers,<br>
<br>
Murray<br>
<br>
...........................................................................<br>
Murray Altheim <murray18 at altheim dot com>                       = =  ===<br>
<a href="http://www.altheim.com/murray/" rel="noreferrer" target="_blank">http://www.altheim.com/murray/</a>                                     ===  ===<br>
                                                                    = =  ===<br>
     In the evening<br>
     The rice leaves in the garden<br>
     Rustle in the autumn wind<br>
     That blows through my reed hut.<br>
            -- Minamoto no Tsunenobu<br>
<br>
_______________________________________________<br>
DPRGlist mailing list<br>
<a href="mailto:DPRGlist@lists.dprg.org" target="_blank">DPRGlist@lists.dprg.org</a><br>
<a href="http://lists.dprg.org/listinfo.cgi/dprglist-dprg.org" rel="noreferrer" target="_blank">http://lists.dprg.org/listinfo.cgi/dprglist-dprg.org</a><br>
</blockquote></div>