Monday, July 31, 2006

ART - Augmented Reality Tagging - Directional ID's

I hope here to provide some fodder for programers and advanced NXT users by introducing Augmented Reality.
A student of mine brought into a computer class a webcam and asked permission to download ARTag http://www.cv.iit.nrc.ca/research/ar/artag/ a program which uses a regular webcam to recognize the unique identity and orientation of a printed 'tag'. (there are others) These blocky looking shapes can be linked to a 3D or 2D image or animation file which is then draped over the camera. Augmenting reality for example by having chess pieces displayed over a bunch of Tag cards so you could play virtual chess or other war games. Imagine your video of your "OceanOdessey" robot surrounded by virtual fish or have a shark follow it around - instant animation. But for robotics it could do more than just decorate our creations.



Inherent in this process is an ID - a unique identifier that the AR (Augmented Reality) program uses to find the correct Image or construct file. We could easily use this to ID individual robots in a swarm or pack. Tag becomes childs play as one bot anounces I touched some one and I have Bot D2 in my field of view - therefore D2 is it. Even better you can get orientations based on this system. I believe data could be pulled out of this system that gave 3D orientation. Angle with known camera and tag hieghts could be used to determine distance. Directionality of the Tag could allow a bot with a compass to pass on that data to other bots. You could even have no compass. Have one camera watch a bunch of bots and then diseminate info relative to its stationary "NORTH". Bot A3 your heading 96 degress and 5 feet away at 60 degrees, Bot B6 your... etc. telling all of them where they are and where they are going.



A simple video search can turn up many examples of how this is used : http://video.google.com/videosearch?q=augmented+reality

So now to progress beyond simply wrapping our lego beams in illusionary tank armor, we need to have some interested programers see if they can use this technology to get a couple of things avaible.
Pull out the ID and directionality information
Plug it into a BT capable program that calculates the angles to find ranges and relative bearings and then transmits those to the mailboxes of NXT.

The rest of us might have to be patient - but one day we might get to program some very complex interactions.

Comments please on: How can you Help? What would you do with these capabilities?

Drew.

3 Comments:

At August 01, 2006 4:48 AM , Blogger rb95403 said...

Wow!

 
At August 01, 2006 3:29 PM , Anonymous Guy Ziv said...

Now let someone implement this algorithm on a DSP chip, and make a CCD camera sensor for NXT that returns via I2C bus a numerical list of visible marker id, positions and orientations.. That will a GREAT addon to NXT capabilities!

 
At August 07, 2006 10:14 PM , Blogger Drew Stevenson said...

Agreed... You this some one?
Thats why I like Mindstorms - I am not a circuit maker. I sodder sloppy.

 

Post a Comment

Subscribe to Post Comments [Atom]

Links to this post:

Create a Link

<< Home