<div dir="ltr"><div class="gmail_default" style="">It looks like I missed a great meeting this week!  I watched the recording of course.</div><div class="gmail_default" style=""><br></div><div class="gmail_default" style="">On the topic of how vibration (in my case induced by my spinning lidar), impacts BNO085 measurements:   it's bad!</div><div class="gmail_default" style=""><br></div><div class="gmail_default" style="">Without the lidar spinning, the yaw drifted only by 0.3 degrees over the course of one hour.</div><div class="gmail_default" style="">With the lidar spinning, the yaw drifted by >1 degree every 30 seconds!</div><div class="gmail_default" style=""><br></div><div class="gmail_default" style="">The robot was stationary in this test.</div><div class="gmail_default" style=""><br></div><div class="gmail_default" style="">The BNO085 operating / reporting mode I'm using is called "Game Rotation vectors".  I'm not 100% sure what degree of sensor fusion - if any - is taking place in that mode, because this mode is optimized for quick response as I understand it.</div><div class="gmail_default" style=""><br></div><div class="gmail_default" style="">I should probably  also try some of the other reporting modes that the BNO085 has.</div><div class="gmail_default" style=""><br></div><div class="gmail_default" style="">I'm also wondering if I can address this via my own filtering.  I'm already post-processing the yaw output from the BNO085, because it is consistently off by about 2 degrees for every 360 degrees worth of rotation.  </div><div class="gmail_default" style=""><br></div><div class="gmail_default" style="">So what I'm doing to compensate for this strange 2-degrees-per-every-360 error, is the following:   I look at the delta between the reported yaw from t(now) and the yaw from t(now-1),  multiply that with a constant to compensate for error issue, and then I integrate the new delta over time to produce my own yaw output.  </div><div class="gmail_default" style=""><br></div><div class="gmail_default" style="">What I was thinking of trying is to simply throw out very small delta measurements, since they are likely to be due to vibration rather than actual robot rotation.    Of course I would be throwing away information and hence accuracy.    My guess is what I'll find is that this is too simplistic of an approach and I end up with an error in yaw over time because I'm throwing out too many small measurements.</div><div class="gmail_default" style=""><br></div><div class="gmail_default" style="">Last week I talked about using foam etc to dampen the vibration.  The other solution that I read about online was to eliminate the source of the vibration - which most often is an imbalance with these spinning lidars.  Somebody managed - with a lot of trial and error apparently - to find the right spot and the right weight to attach to the rotating part of the lidar, and the vibration was mostly eliminated.  </div><div class="gmail_default" style=""><br></div><div class="gmail_default" style="">Chris</div></div>