<?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>No Title</title>
        <description>
        STeven,&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;IMAGE_PROCESSED sounds like exactly what I need.&amp;nbsp;&amp;nbsp;I&apos;ll add a test on it to any real time control program that I build.&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;Sorry, I don&apos;t have any images to compare.&amp;nbsp;&amp;nbsp;Basically, with the relatively low lighting in the hall, I have to use as long an exposure as possible while meeting my framerate requirements.&amp;nbsp;&amp;nbsp;This results in the reflection of the overhead lights being very overexposed...pretty much all white. &lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;Even the black tape was all white, although a human can see faint edges of the tape.&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;Adding the light decreased the exposure time and the reflection didn&apos;t so much reach a full whiteout.&amp;nbsp;&amp;nbsp;You could still see the reflection in the image, but it was not as white and the tape was still pretty dark.&amp;nbsp;&amp;nbsp;Hence, robo realm could pick out the tape using canny edge detector.&lt;br&gt;&lt;br&gt;Thanks,&amp;nbsp;&amp;nbsp;your support is really appreciated!&lt;br&gt;Alex        </description>
        <link>http://www.roborealm.com/forum/index.php?thread_id=3350</link>
        <guid>http://www.roborealm.com/forum/index.php?thread_id=3350</guid>
        <pubDate>Tue, 30 Nov 1999 00:11:00 EST</pubDate>
    </item>
    <item>
        <title>No Title</title>
        <description>
        Alex, &lt;br&gt;&lt;br&gt;The IMAGE_COUNT is set before the image is processed ... which is probably not what you want. So a new variable called IMAGE_PROCESSED is set to the same number as IMAGE_COUNT once the image has been processed.&lt;br&gt;&lt;br&gt;Thanks for the rundown on the RSSC competition. Sorry I missed it! &lt;br&gt;&lt;br&gt;v2.2.10 has that new variable.&lt;br&gt;&lt;br&gt;Do you have a sample of an image with and without the halogen light being used? I&apos;m curious how the light improves the image.&lt;br&gt;&lt;br&gt;STeven.        </description>
        <link>http://www.roborealm.com/forum/index.php?thread_id=3350</link>
        <guid>http://www.roborealm.com/forum/index.php?thread_id=3350</guid>
        <pubDate>Tue, 30 Nov 1999 00:11:00 EST</pubDate>
    </item>
    <item>
        <title>No Title</title>
        <description>
        STeven,&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;I run my Windows program as two main threads; one which handles user interactions and other slow functions like file read/writes etc.&amp;nbsp;&amp;nbsp;and a second thread which performs &quot;realtime&quot; control of the robots motion.&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;This realtime thread executes every 100 msec (usually pretty close under Windows ;-) and doesn&apos;t allow any &quot;waits&quot; which could exceed a few milliseconds.&amp;nbsp;&amp;nbsp;If data isn&apos;t available when requested, it takes the appropriate action, e.g. slow down in the case of my line following.&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;Hence, I think your most applicable suggestion is the Image_count variable.&amp;nbsp;&amp;nbsp;I can read it along with my COG_X variables and know whether the data is fresh.&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;Only thing that is not completely clear is whether image_count increments after the image is received by RoboRealm, or after the image has been processed.&amp;nbsp;&amp;nbsp;Please let me know.&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;For your amusement, Rocky came in second in the Mega line following contest.&amp;nbsp;&amp;nbsp;Rocky was the only LARGE robot in this contest designed for larger robots.&amp;nbsp;&amp;nbsp;The other three entries were normal line following size.&amp;nbsp;&amp;nbsp;The other two finishers were Pololu 3pi robots.&amp;nbsp;&amp;nbsp;3rd place had stock software and was pretty slow.&amp;nbsp;&amp;nbsp;Martin Mason had improved the software in his until it just plain ran fast.&amp;nbsp;&amp;nbsp;Rocky has a top speed of 2 feet per second and had to slow down in corners.&amp;nbsp;&amp;nbsp;Martin&apos;s bot just ran flat out at 3 feet per second or so.&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;I assume you were following my progress in implementing the camera setup on the rssc mail list; the addition of a light source (headlight) swamped out all the reflection problems and he followed the line very reliably.&amp;nbsp;&amp;nbsp;I don&apos;t like that solution though, my Halogen light increased the robot&apos;s power consumption by 50%.&amp;nbsp;&amp;nbsp;LED lights were suggested.&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;Alex&lt;br&gt;&amp;nbsp;&amp;nbsp;        </description>
        <link>http://www.roborealm.com/forum/index.php?thread_id=3350</link>
        <guid>http://www.roborealm.com/forum/index.php?thread_id=3350</guid>
        <pubDate>Tue, 30 Nov 1999 00:11:00 EST</pubDate>
    </item>
    <item>
        <title>No Title</title>
        <description>
        Alex,&lt;br&gt;&lt;br&gt;There are a couple of things that you could have done to test for this case. There is an IMAGE_COUNT variable that indicates the frame count that increments with each image. Checking this variable would indicate if new information is available.&lt;br&gt;&lt;br&gt;But perhaps the best way is to use the API routine &lt;br&gt;&lt;br&gt;if (rr.waitVariable(&quot;COG_X&quot;, value, 100))&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;// new value for COG_X found ... and no timeout was encountered&lt;br&gt;}&lt;br&gt;else&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;// timeout exceeded&lt;br&gt;}&lt;br&gt;&lt;br&gt;but I&apos;m not sure if you are already using this routine or not? Are you currently just polling for new information AFAP? &lt;br&gt;&lt;br&gt;You could also use&lt;br&gt;&lt;br&gt;if (rr.waitImage(100))&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;// new image captured and has been processed&lt;br&gt;}&lt;br&gt;else&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;// timeout exceeded&lt;br&gt;}&lt;br&gt;&lt;br&gt;in your loop which would ensure that a new image is available (and processed) before continuing the loop and querying for new values.&lt;br&gt;&lt;br&gt;Note the above timeouts are set to 100ms which might be a little tight ... perhaps 500ms (1/2 sec) might be a better value.&lt;br&gt;&lt;br&gt;STeven.        </description>
        <link>http://www.roborealm.com/forum/index.php?thread_id=3350</link>
        <guid>http://www.roborealm.com/forum/index.php?thread_id=3350</guid>
        <pubDate>Tue, 30 Nov 1999 00:11:00 EST</pubDate>
    </item>
    <item>
        <title>timetag for variables read?</title>
        <description>
        Hi STeven,&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;I&apos;m going to be running Rocky in the mega line following contest at the club today.&amp;nbsp;&amp;nbsp;While maneuvering such a large robot along a line and detecting the line reliably was a challenge with all the reflections in the hallway, I think I have it working.&amp;nbsp;&amp;nbsp;It took a headlight installation to swamp out the reflections from the overhead florescent lights.&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;Anyway, I think it will work...except for one intermittent problem I saw yesterday.&amp;nbsp;&amp;nbsp;I am set up to process frames continuously in RoboRealm and to just read COG variables 10 times per second into my control software using the RR_api.&amp;nbsp;&amp;nbsp;The camera is set up to provide about 15 frames per second and appears to do so pretty reliably.&amp;nbsp;&amp;nbsp;I am reading two variables (COG_X from the line right in front of the bumper and another COG_X about a foot farther forward).&amp;nbsp;&amp;nbsp;The symptom is that sometimes the variables freeze for a second or two.&amp;nbsp;&amp;nbsp;This is time enough for the robot to completely depart the line and get lost.&lt;br&gt;The &quot;getVariables&quot; function is returning with data so it looks like RoboRealm is running during the freeze.&amp;nbsp;&amp;nbsp;But, it looks like either the camera isn&apos;t supplying new frames, or RoboRealm isn&apos;t processing them or Windows is doing some tricks.&amp;nbsp;&amp;nbsp;Taskmgr says my throughput is only around 20% when everything is running; and my control program is running happily at 10 hz.&amp;nbsp;&amp;nbsp;&lt;br&gt;&amp;nbsp;&amp;nbsp;I don&apos;t know if anything is fixable, but I&apos;d like to know when the data is not being updated.&amp;nbsp;&amp;nbsp;Is there anything I can use to let me know if getVariables is returning stale data?&amp;nbsp;&amp;nbsp;A timetag, frame count or whatever?&amp;nbsp;&amp;nbsp;Then I&apos;d stop the robot quickly when this happens so it could continue when the data resumes.&lt;br&gt; &lt;br&gt;Thanks,&lt;br&gt;Alex        </description>
        <link>http://www.roborealm.com/forum/index.php?thread_id=3350</link>
        <guid>http://www.roborealm.com/forum/index.php?thread_id=3350</guid>
        <pubDate>Tue, 30 Nov 1999 00:11:00 EST</pubDate>
    </item>
</channel>
</rss>
