<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div>Hi David,</div><div><br></div>If you define ballistic behavior that way, it makes sense.<div><br></div><div>A “move back” ballistic behavior can be triggered by event “distance to obstacle less than 1 cm” and in the next loop, even though “distance to obstacle is 2 cm”, based on it being ballistic behavior, it can continue to “move back” even though it can be interrupted by high priority events.</div><div><br></div><div>Regards.</div><div>- Kumar</div><div><br><div dir="ltr">Sent from my iPhone</div><div dir="ltr"><br><blockquote type="cite">On Oct 31, 2021, at 9:59 PM, David P. Anderson via DPRGlist <dprglist@lists.dprg.org> wrote:<br><br></blockquote></div><blockquote type="cite"><div dir="ltr">
  
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  
  
    <p>Well, Karim, now that you mention it...</p>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/31/21 5:26 PM, Karim Virani via
      DPRGlist wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:CAKtnkizpWzd31CVtCfbL23yYF0ORK17G_5MO4T=dzKfO42wXYQ@mail.gmail.com">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <div dir="ltr">I agree with Doug, you should never have blocking
        code unless you can dedicate a separate thread to it apart from
        your main loop's thread.<br>
        <br>
        And not to start up the whole debate again, I personally vote
        that there is no use for ballistic behaviors. I treat them as an
        academic construct. There are plenty of uses of
        objective-oriented and terminating behaviors - including those
        where the objective is to last for a certain amount of time. But
        they should still be interruptible and cancellable by higher
        priority behaviors. <br>
      </div>
    </blockquote>
    <p>I believe this is a misunderstanding of what ballistic behaviors
      are in the context of subsumption.   For some reason the idea has
      taken root that what makes a behavior ballistic is that it for
      some reason cannot be interrupted.    That is a red herring.  
      What make a behavior a ballistic behavior <b><i><u>in the context
            of subsumption</u></i></b> is that it continues to execute
      after the signal that triggered it has ceased.  <br>
    </p>
    <p>That's all.    <tt><br>
      </tt></p>
    <p>I don't understand why such a simple concept has turned out to be
      so hard to communicate.  I consider this a major failing on my
      part.<br>
    </p>
    <p>cheers!</p>
    <p>David</p>
    <p><br>
    </p>
    <p><br>
    </p>
    <blockquote type="cite" cite="mid:CAKtnkizpWzd31CVtCfbL23yYF0ORK17G_5MO4T=dzKfO42wXYQ@mail.gmail.com"><br>
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">On Sun, Oct 31, 2021 at 5:08
          PM Doug Paradis 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">
          <div dir="auto">Kumar,
            <div>    I always pass through the loop. So a 1 sec
              backwards maneuver would use a loop counter with a
              disengage value of 50 for a loop time of 20 mS. I am not
              using a multitasking framework, which opens up other
              possibilities. </div>
            <div><br>
            </div>
            <div>Regards </div>
            <div>Doug P.<br>
              <br>
              <div dir="ltr">Sent from my iPhone</div>
              <div dir="ltr"><br>
                <blockquote type="cite">On Oct 31, 2021, at 4:54 PM,
                  Thalanayar Muthukumar via DPRGlist <<a href="mailto:dprglist@lists.dprg.org" target="_blank" moz-do-not-send="true">dprglist@lists.dprg.org</a>>
                  wrote:<br>
                  <br>
                </blockquote>
              </div>
              <blockquote type="cite">
                <div dir="ltr">
                  <div dir="ltr">
                    <div dir="ltr"><a href="https://secure-web.cisco.com/12R-xW2iM6X1mtZ6lGWZ2cU_V7WhrcVFmrYppQ5_RFJAtuHcumxuYD4t8YW_aGm011_ipOLIKUMPmlNlXLKe0mDeZ5NILZd__YuRF_kKIzyxN8EiJErAuYE-OcebwmywmyJ7SoBG9yB3Oyna9Z9RUY7kwZdTuI-sO3UWkVWgVNhYiwT1_tphO9qAaoFdwYrgHVEynVcBz9QhIC_xYutA9B-8OhKAWWEGvh-8EqTFHmW8H5ZsvYDMLEZNwPag9e3p4bO7y-E8y4CehSNJJRVtWHgi8hUB2z2KYLDpQOUR9fxk/https%3A%2F%2Fyoutu.be%2FfuFamNWyXc4" target="_blank" moz-do-not-send="true">https://youtu.be/fuFamNWyXc4</a> (~15
                      sec)</div>
                    <div dir="ltr"><br>
                    </div>
                    <div dir="ltr">20 times per sec</div>
                    <div dir="ltr">- default behavior - go straight
                      forward, green headlights</div>
                    <div dir="ltr">- higher priority behavior - light
                      sensed, turn left, red headlights</div>
                    <div dir="ltr"><br>
                    </div>
                    <div dir="ltr">My understanding of BBR is that there
                      should be no state maintained.</div>
                    <div dir="ltr"><br>
                    </div>
                    <div dir="ltr">Question - If we trigger a ballistic
                      behavior (e.g. go straight backward for one sec),
                      is it ok to not return to the loop every 50 msec?</div>
                    <div dir="ltr"><br>
                    </div>
                    <div dir="ltr">Or is it preferable to maintain state
                      and count 20 times for getting duration of 1 sec?</div>
                    <div dir="ltr"><br>
                    </div>
                    <div dir="ltr">Regards.</div>
                    <div dir="ltr">- Kumar<br>
                      <br>
                    </div>
                    <br>
                    <br>
                    <div dir="ltr">Sent from my iPhone</div>
                  </div>
                  <span>_______________________________________________</span><br>
                  <span>DPRGlist mailing list</span><br>
                  <span><a href="mailto:DPRGlist@lists.dprg.org" target="_blank" moz-do-not-send="true">DPRGlist@lists.dprg.org</a></span><br>
                  <span><a href="http://lists.dprg.org/listinfo.cgi/dprglist-dprg.org" target="_blank" moz-do-not-send="true">http://lists.dprg.org/listinfo.cgi/dprglist-dprg.org</a></span><br>
                </div>
              </blockquote>
            </div>
          </div>
          _______________________________________________<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>
      <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>
  

<span>_______________________________________________</span><br><span>DPRGlist mailing list</span><br><span>DPRGlist@lists.dprg.org</span><br><span>http://lists.dprg.org/listinfo.cgi/dprglist-dprg.org</span><br></div></blockquote></div></body></html>