<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Howdy DPRG,</p>
    <p>Maybe it's not clear that the video of RCAT I showed at the
      monthly meeting is actually a superset of the four corners contest
      methodology to which Doug refers.   Sometimes things are not as
      obvious as I think they are.   To wit:</p>
    <p>The four corners contest is actually the University of Michigan
      Bench Mark (UMBmark) odometry calibration method developed by J.
      Borenstien.  <br>
    </p>
    <p><a class="moz-txt-link-freetext" href="http://www-personal.umich.edu/~johannb/Papers/umbmark.pdf">http://www-personal.umich.edu/~johannb/Papers/umbmark.pdf</a></p>
    <p>The concept is to drive around a large square, clockwise and
      counter-clockwise, while tracking the robot's position with
      odometry, and stop at the starting point and measure the
      difference between the stopping point and the starting point. 
      This shows how much the odometry is in error and in which 
      direction, and allows calibration of the odometry constants and
      also the potential difference in size between the two wheels of a
      differentially driven robot.   The DPRG uses this calibration
      method as a contest.</p>
    <p>Here is a paper I wrote about how I used the UMBMark to calibrate
      the RCAT robot as an example:<br>
    </p>
    <p><a class="moz-txt-link-freetext" href="http://www.geology.smu.edu/dpa-www/robo/rcat/calibrate.html">http://www.geology.smu.edu/dpa-www/robo/rcat/calibrate.html</a><br>
    </p>
    <p>The video of RCAT I showed earlier this month does the same thing
      except: 1) the route taken is MUCH longer than a 10 foot square
      (hence the errors should be larger),  2) the route taken involves
      many, many turns, not just four nice ninety degree turns as in the
      contest, so again the errors should be much  larger,  3)  the
      route taken is not symmetrical, is different for each run, and is
      not known in advance,  4) the robot itself measures the error
      between the starting and ending point using it's sonars, as
      Borenstien suggests in his paper, and 5) the robot corrects its
      position and pose for the next run each  time after measuring
      those errors.</p>
    <p>As I have opined before, robot contests are easy compared to the
      real world!</p>
    <p>So the robot is turned loose to do whatever tasks it has been
      assigned, in the case of the video it was to do perimeter
      following, and at the end of three minutes or whatever the timeout
      is set for, it stops what it is doing wherever it is and enables
      navigation to seek its way back to the starting point, or to
      wherever it thinks the starting point now is.<br>
    </p>
    <p>With those behaviors the RCAT robot can, after a three minute run
      as seen on the video, return to within a few inches of the
      starting point repeatedly.  This means that the locations that the
      robot is tracking during it's run are accurate to within a few
      inches or less FOR THE ENTIRE RUN.   <br>
    </p>
    <p>In all humility this is virtuosic perfomance from that little
      robot, which may not be apparent if one does not understand what
      it is doing and what the implications are.   <br>
    </p>
    <p>cheers,</p>
    <p>dpa</p>
    <p><br>
    </p>
    <br>
    <div class="moz-cite-prefix">On 05/15/2020 02:18 PM, Doug Paradis
      via DPRGlist wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAOdUW+Z5eKZxwsAOPKMOLJzukmZJ6wk4ukddXrve9HBta2j_1Q@mail.gmail.com">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <div dir="ltr">Murray,
        <div>    John's points are very valid. You can get a feel for
          the accuracy needed on an indoor robot by marking a point on
          your robot and the floor of your test space. Travel a square
          that is 375 cm (~12 ft) on side, with a total travel distance
          of 1500 cm (48 ft), and mark where your robot ends on the
          floor using the mark on the robot, and measure the distance it
          is off. This is a short description of a DPRG Four Corner
          contest (see: <a
href="https://www.dprg.org/wp-content/uploads/2018/09/four_corners-201804303.pdf"
            moz-do-not-send="true">https://www.dprg.org/wp-content/uploads/2018/09/four_corners-201804303.pdf</a>).
          Typical performance a winning robot is sub - 12 mm, the 2nd
          and 3rd place robots sub - <a href="http://75.mm"
            moz-do-not-send="true">75.mm</a>. Often in the past only
          encoders were used for navigation (i.e., no gyro).Now usually
          a gyro is used for heading. Several years ago John S. used a
          unique sonic trilateration system to achieve a 17.5 mm
          error, at the time a club record. Similar competitions by
          other clubs have about the same outcomes. </div>
        <div><br>
        </div>
        <div>Regards,</div>
        <div>Doug P.</div>
      </div>
      <br>
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">On Fri, May 15, 2020 at 4:36
          AM Murray Altheim via DPRGlist <<a
            href="mailto:dprglist@lists.dprg.org" moz-do-not-send="true">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
          John,<br>
          <br>
          A one degree error may be two inches after ten feet, but I'll
          be reading<br>
          that heading continuously so over that ten feet wouldn't
          things tend to<br>
          balance out?<br>
          <br>
          I don't disagree but I think you may be missing my ultimate
          point: that<br>
          even with low accuracy a robot will still have "a behaviour"
          and that is<br>
          plenty good enough for my purposes, which are not competitive
          but rather<br>
          the exploration of an indoor environment using a
          Behaviour-Based System,<br>
          basically following along the research path set by Rodney
          Brooks et al.<br>
          <br>
          I am aware of the difference between resolution and accuracy,
          and having<br>
          both a higher resolution and a higher accuracy would improve
          the robot's<br>
          ability to navigate accurately -- certainly -- and I'm hardly
          against<br>
          that; it's just that I'll be satisfied with much less. As I
          described<br>
          previously, something akin to a determining which point on a
          16 or 32-<br>
          point compass rose is fine. If I can get better accuracy I
          might explore<br>
          navigating according to a bearing but I have no requirement
          for that at<br>
          this point. Maybe in the future... it's an interesting journey
          either way.<br>
          <br>
          Cheers,<br>
          <br>
          Murray<br>
          <br>
          On 15/05/20 8:00 pm, John Swindle via DPRGlist wrote:<br>
          > A quick note: A one-degree error is two inches after ten
          feet. Not <br>
          > good enough for small robot navigation unless something
          is constantly <br>
          > providing better pointing accuracy. Even for the
          contests, if the robot<br>
          > depends on that amount of error, it would miss the goal
          in 6 Can, might<br>
          > hit the cone in Square Dance, etc. Outdoors, the accuracy
          has to be a<br>
          > lot better. I think you will be very unhappy with 11.25
          degree <br>
          > resolution. And be careful that resolution and accuracy
          are not the<br>
          > same thing.<br>
          > <br>
          > Later,<br>
          > John Swindle<br>
...........................................................................<br>
          Murray Altheim <murray18 at altheim dot com>           
                     = =  ===<br>
          <a href="http://www.altheim.com/murray/" rel="noreferrer"
            target="_blank" moz-do-not-send="true">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"
            moz-do-not-send="true">DPRGlist@lists.dprg.org</a><br>
          <a href="http://lists.dprg.org/listinfo.cgi/dprglist-dprg.org"
            rel="noreferrer" target="_blank" moz-do-not-send="true">http://lists.dprg.org/listinfo.cgi/dprglist-dprg.org</a><br>
        </blockquote>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <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>
    <br>
  </body>
</html>