<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Chris,</p>
<p>Are you sure that the yaw error is being caused by the vibration
of the lidar? Rather than the magnetic effects of the spinning
motor and electronics? I've seen normal servos alter the yaw
when driven back and forth if they are too close to the IMU.</p>
<p>David</p>
<p><br>
</p>
<div class="moz-cite-prefix">On 7/22/21 9:20 PM, Chris N via
DPRGlist wro<br>
</div>
<blockquote type="cite"
cite="mid:CA++ApaVhHpQY1GL2=5JfrO4ABitm6qm5LwrRnJoLziP1bGGn9w@mail.gmail.com">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<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>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
DPRGlist mailing list
<a class="moz-txt-link-abbreviated" href="mailto:DPRGlist@lists.dprg.org">DPRGlist@lists.dprg.org</a>
<a class="moz-txt-link-freetext" href="http://lists.dprg.org/listinfo.cgi/dprglist-dprg.org">http://lists.dprg.org/listinfo.cgi/dprglist-dprg.org</a>
</pre>
</blockquote>
</body>
</html>