<?xml version="1.0" encoding="ISO-8859-1" ?><rss version="2.0">
<channel>
    <title>RoboRealm Forum</title>
    <link>http://www.RoboRealm.com/</link>
    <description>The newest forum threads.</description>
    <lastBuildDate>Tue, 30 Nov 1999 00:11:00 EST</lastBuildDate>
    <language>en-us</language>
    <copyright>Copyright: (C) RoboRealm, http://www.RoboRealm.com/</copyright>
    <docs>http://www.RoboRealm.com/</docs>

    <item>
        <title>BOE-BOT Enviromental Scan Programming </title>
        <description>
        The robotic platform will be placed dead center of the workspace. Then robot is then required to perform a 360 rotation to scan its entire environment and then proceed to locate and move towards the farthest object stopping 2 inches in front of the object. The robot must then use it current location as its origin and perform the exact same task as before. The robot should be able to differentiate the wall from objects and not recognize a segment of the wall as obstacle.&lt;br&gt;&lt;br&gt;&lt;br&gt;&apos; {$STAMP BS2}&lt;br&gt;&apos; {$PBASIC 2.5}&lt;br&gt;&lt;br&gt;&apos; -----[ Variables ]----------------------------------------------------------&lt;br&gt;&lt;br&gt;time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VAR Word&lt;br&gt;DR1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;VAR Word&lt;br&gt;DR2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;VAR Word&lt;br&gt;DR3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;VAR Word&lt;br&gt;DR4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;VAR Word&lt;br&gt;counter&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;VAR Nib&lt;br&gt;int&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;VAR Word&lt;br&gt;Ping_Pin&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CON&amp;nbsp;&amp;nbsp; 15&lt;br&gt;InConstant&amp;nbsp;&amp;nbsp;CON&amp;nbsp;&amp;nbsp; 890&lt;br&gt;inDistance&amp;nbsp;&amp;nbsp;VAR&amp;nbsp;&amp;nbsp; Word&lt;br&gt;i&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VAR&amp;nbsp;&amp;nbsp;Nib&lt;br&gt;R1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CON&amp;nbsp;&amp;nbsp;13&lt;br&gt;R2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CON&amp;nbsp;&amp;nbsp;26&lt;br&gt;R3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CON&amp;nbsp;&amp;nbsp;39&lt;br&gt;R4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CON&amp;nbsp;&amp;nbsp;42&lt;br&gt;rot&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VAR&amp;nbsp;&amp;nbsp;Word&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Main:&lt;br&gt;&lt;br&gt; PAUSE 2000&lt;br&gt; GOSUB ir_direction1&lt;br&gt; PAUSE 1000&lt;br&gt; GOSUB ir_direction2&lt;br&gt; PAUSE 1000&lt;br&gt; GOSUB ir_direction3&lt;br&gt; PAUSE 1000&lt;br&gt; GOSUB ir_direction4&lt;br&gt; PAUSE 1000&lt;br&gt; GOSUB Check&lt;br&gt; &apos;DEBUG CR, &quot;DR1 = &quot;, DR1&lt;br&gt; &apos;DEBUG CR, &quot;DR2 = &quot;, DR2&lt;br&gt; GOSUB Check2&lt;br&gt;END&lt;br&gt;&lt;br&gt;ir_direction1:&lt;br&gt; DR1 = 0&lt;br&gt; PULSOUT 15,5&lt;br&gt;&amp;nbsp;&amp;nbsp;PULSIN 15,1, DR1&lt;br&gt;&amp;nbsp;&amp;nbsp;DEBUG HOME&lt;br&gt;&amp;nbsp;&amp;nbsp;DR1 = DR1 ** 890&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;DEBUG CR, &quot;Distance1 = &quot;, DEC4 DR1, &quot;&amp;nbsp;&amp;nbsp; in&quot;&lt;br&gt;&amp;nbsp;&amp;nbsp;&apos;DEBUG CR, &quot;DR1 = &quot;, DR1&lt;br&gt;&amp;nbsp;&amp;nbsp;PAUSE 1000&lt;br&gt;RETURN&lt;br&gt;&lt;br&gt;ir_direction2:&lt;br&gt;&lt;br&gt;FOR counter = 0 TO 13&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &apos; LEFT ABOUT 90 DEGREES&lt;br&gt;PULSOUT 13, 650&lt;br&gt;PULSOUT 12, 650&lt;br&gt;PAUSE 200&lt;br&gt;NEXT&lt;br&gt; DR2 = 0&lt;br&gt; PULSOUT 15,5&lt;br&gt;&amp;nbsp;&amp;nbsp;PULSIN 15,1, DR2&lt;br&gt;&amp;nbsp;&amp;nbsp;DEBUG HOME&lt;br&gt;&amp;nbsp;&amp;nbsp;DR2 = DR2 ** 890&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;DEBUG CR, &quot;Distance2 = &quot;, DEC4 DR2, &quot;&amp;nbsp;&amp;nbsp; in&quot;&lt;br&gt;&amp;nbsp;&amp;nbsp;&apos;DEBUG CR, &quot;DR2 = &quot;, DR2&lt;br&gt;&amp;nbsp;&amp;nbsp;PAUSE 1000&lt;br&gt;&lt;br&gt;RETURN&lt;br&gt;ir_direction3:&lt;br&gt;&lt;br&gt;FOR counter = 0 TO&amp;nbsp;&amp;nbsp;13&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &apos; LEFT ABOUT 90 DEGREES&lt;br&gt;PULSOUT 13, 650&lt;br&gt;PULSOUT 12, 650&lt;br&gt;PAUSE 200&lt;br&gt;NEXT&lt;br&gt; DR2 = 0&lt;br&gt; PULSOUT 15,5&lt;br&gt;&amp;nbsp;&amp;nbsp;PULSIN 15,1, DR3&lt;br&gt;&amp;nbsp;&amp;nbsp;DEBUG HOME&lt;br&gt;&amp;nbsp;&amp;nbsp;DR3 = DR3 ** 890&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;DEBUG CR, &quot;Distance3 = &quot;, DEC4 DR3, &quot;&amp;nbsp;&amp;nbsp; in&quot;&lt;br&gt;&amp;nbsp;&amp;nbsp;&apos;DEBUG CR, &quot;DR3 = &quot;, DR3&lt;br&gt;&amp;nbsp;&amp;nbsp;PAUSE 1000&lt;br&gt;RETURN&lt;br&gt;ir_direction4:&lt;br&gt;&lt;br&gt;FOR counter = 0 TO 13&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &apos; LEFT ABOUT 90 DEGREES&lt;br&gt;PULSOUT 13, 650&lt;br&gt;PULSOUT 12, 650&lt;br&gt;PAUSE 200&lt;br&gt;NEXT&lt;br&gt; DR2 = 0&lt;br&gt; PULSOUT 15,5&lt;br&gt;&amp;nbsp;&amp;nbsp;PULSIN 15,1, DR4&lt;br&gt;&amp;nbsp;&amp;nbsp;DEBUG HOME&lt;br&gt;&amp;nbsp;&amp;nbsp;DR4 = DR4 ** 890&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;DEBUG CR, &quot;Distance4 = &quot;, DEC4 DR4, &quot;&amp;nbsp;&amp;nbsp; in&quot;&lt;br&gt;&amp;nbsp;&amp;nbsp;&apos;DEBUG CR, &quot;DR2 = &quot;, DR2&lt;br&gt;&amp;nbsp;&amp;nbsp;PAUSE 1000&lt;br&gt;&lt;br&gt;RETURN&lt;br&gt;&lt;br&gt;&apos;_________________________________________________________________&apos;&lt;br&gt;&lt;br&gt;&lt;br&gt;Check:&lt;br&gt; PAUSE 2000&lt;br&gt; IF (DR1 &amp;gt; DR2) AND (DR1 &amp;gt; DR3) AND (DR1 &amp;gt; DR4) THEN&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PAUSE 2000&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DEBUG &quot;this is DR1&quot;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PAUSE 2000&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&apos;rot = 13&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PAUSE 2000&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FOR counter = 0 TO&amp;nbsp;&amp;nbsp;13&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &apos; LEFT ABOUT 90 DEGREES&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PULSOUT 13, 650&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PULSOUT 12, 650&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PAUSE 200&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NEXT&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PAUSE 2000&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&apos;GOSUB Check2&lt;br&gt;&lt;br&gt; ELSEIF(DR2 &amp;gt; DR1) AND (DR2 &amp;gt; DR3) AND (DR2 &amp;gt; DR4) THEN&lt;br&gt;&amp;nbsp;&amp;nbsp; &apos;FOR counter = 0 TO 23&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &apos; LEFT ABOUT 90 DEGREES&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&apos;PULSOUT 13, 650&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&apos;PULSOUT 12, 650&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&apos;PAUSE 200&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&apos;NEXT&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&apos;GOSUB Check2&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DEBUG &quot;this is DR2&quot;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PAUSE 2000&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&apos;rot = 26&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PAUSE 2000&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FOR counter = 0 TO&amp;nbsp;&amp;nbsp;26&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &apos; LEFT ABOUT 90 DEGREES&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PULSOUT 13, 650&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PULSOUT 12, 650&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PAUSE 200&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NEXT&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&apos;GOSUB Check2&lt;br&gt;&lt;br&gt; ELSEIF(DR3 &amp;gt; DR1) AND (DR3 &amp;gt; DR2) AND (DR3 &amp;gt; DR4) THEN&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&apos;PAUSE 2000&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&apos;FOR counter = 0 TO 45&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &apos; LEFT ABOUT 90 DEGREES&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&apos;PULSOUT 13, 650&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&apos;PULSOUT 12, 650&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&apos;PAUSE 200&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&apos;NEXT&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DEBUG &quot;this is DR3&quot;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PAUSE 2000&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&apos;rot = 39&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FOR counter = 0 TO&amp;nbsp;&amp;nbsp;39&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &apos; LEFT ABOUT 90 DEGREES&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PULSOUT 13, 650&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PULSOUT 12, 650&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PAUSE 200&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NEXT&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&apos;GOSUB Check2&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PAUSE 2000&lt;br&gt;&lt;br&gt; ENDIF&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PAUSE 2000&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&apos;GOSUB Check2&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DEBUG &quot;this is DR4&quot;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PAUSE 2000&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&apos;DEBUG &quot; niether&quot;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PAUSE 2000&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&apos;GOSUB Check2&lt;br&gt;&lt;br&gt;RETURN&lt;br&gt;&lt;br&gt;Check2:&lt;br&gt;&apos;FREQOUT 4, 2000, 3000&lt;br&gt;counter = 0&lt;br&gt;&lt;br&gt;DO UNTIL (int &amp;lt; 4)&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GOSUB Readpulse&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PAUSE 2000&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&apos;GOSUB forward&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GOSUB forward&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PAUSE 2000&lt;br&gt;&amp;nbsp;&amp;nbsp; LOOP&lt;br&gt; PAUSE 1000&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Readpulse:&lt;br&gt;&lt;br&gt;&apos;FREQOUT 4, 2000, 3000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&apos; Signal program start/reset&lt;br&gt;&lt;br&gt;PULSOUT Ping_Pin, 5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&apos; Send short pulse to Ping&lt;br&gt;&amp;nbsp;&amp;nbsp;PULSIN Ping_Pin, 1, int&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &apos; Wait for echo&lt;br&gt;&amp;nbsp;&amp;nbsp;int = inConstant ** int&amp;nbsp;&amp;nbsp;&apos; Convert to inches&lt;br&gt;&amp;nbsp;&amp;nbsp;DEBUG CR, DEC int&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &apos; Display result&lt;br&gt;&amp;nbsp;&amp;nbsp;PAUSE 200&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &apos; Short delay until next read&lt;br&gt;&amp;nbsp;&amp;nbsp;RETURN&lt;br&gt;&lt;br&gt;forward:&lt;br&gt;&lt;br&gt;FOR counter =&amp;nbsp;&amp;nbsp;1 TO 2&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;PULSOUT 13, 850&lt;br&gt;&amp;nbsp;&amp;nbsp;PULSOUT 12,650&lt;br&gt;&amp;nbsp;&amp;nbsp;PAUSE 20&lt;br&gt;&lt;br&gt;NEXT&lt;br&gt;&lt;br&gt;RETURN&lt;br&gt;        </description>
        <link>http://www.roborealm.com/forum/index.php?thread_id=5747</link>
        <guid>http://www.roborealm.com/forum/index.php?thread_id=5747</guid>
        <pubDate>Tue, 30 Nov 1999 00:11:00 EST</pubDate>
    </item>
</channel>
</rss>
