Robots With Vision
This first robot I made is the usual track-the-ball robot. I wanted to see how well the software's color detection and tracking worked, and I was very satisfied with the result. Although the surroundings need to be controlled (to keep other objects of the same color out), the software does a great job tracking objects. One disadvantage that is very noticeable in this robot, however, is that the Bluetooth communication takes a little while, so the robot doesn't have very good "reaction time". Hence, I had to make it turn slowly so it wouldn't go past the ball before recieving the command to stop.
The below video first shows the robot following the ball from side to side, and then shows it following the ball forwards and backwards. I had some trouble getting it to do both at the same time, and didn't want to take the time to figure it out. :P
For the second robot, I made a "paper-thin" remote control. Basically, I got a piece of paper with four differently colored squares on it. When you put your hand over one of the squares, the robot will react to the command by either moving forward, backward, spinning left, or spinning right, depending on which square was covered. A camera makes this possible by watching the paper from overhead and detecting when a square is covered up. Here's a video of it in action:-Jonathan
Comments
Jim
-Jonathan
Athough my work was lost to faulty hardrive, I may have to return to it again. (and back it up).
BOB on nxtlog was my work.
I noticed you have the same camera I have. Did you know it has a microphone too? Roborealm also has voice capabilities, if you have windows and train the voice recogintion stuff.
Anyway, nice paper remote!
Nicthegr
Can you provide a link to your NXTLog stuff? I couldn't find it by searching.
-Jonathan
http://mindstorms.lego.com/nxtlog/ProjectDisplay.aspx?id=4e8e70b4-4697-44e2-9e25-ade9e1824851
and its updated model
http://mindstorms.lego.com/nxtlog/ProjectDisplay.aspx?id=4985092f-641a-468e-9a25-6c2a4e958412
Any ideas for improvement? I already have new, faster base.
Nicthegr
-Jonathan
"Although the tutorial uses some VBScript programming, it's actually not necessary. You can use drag-and-drop "modules" to process the video, and then send variables with data to the robot, which can use an NXT-G program to react correctly."
I can connect Roborealm to my NXT, and obtain sensor and battery readings. BUT the tutorial does not seem to show how to use the drag and drop modules. (it only shows VBScript programing...) Am I missing something?
Any help is appreciated.
Some of the modules I've used a lot so far are the RGB Filter (to find colors), Blob Filter (to differentiate between same-colored objects), and Center Of Gravity (to track an object I've found using stuff like the RGB and Blob filters).
-Jonathan
You might be interested in this video shot at Robodevelopment on adding a bluetooth camera to the NXT:
http://vishots.com/2008/02/10/braintech-demonstrates-vision-sdk-for-microsoft-robotics-studio/
[Full disclosure: I'm the guy in the video :-)]