Q. I want to start using vision with my robotics projects. There seems to be two camps of robot vision: a CMUcam with
their style of simple “blob” recognition and tracking;
or a full blown PC with fancy software. Both of
these systems for vision are expensive. Is there a
way I can get advanced vision that is affordable to
the hobbyist and easy enough to understand that I
don’t need to be a grad student to use it?
A. Well, if we leave out the stand-alone cameras that allow a limited form of robot vision like the CMUcam and their ilk, we’ll
need to use higher level language vision support
along with using a PC (to handle the heavy lifting).
One way to do vision on your computer and robot
is to use Intel’s Open CV. Open CV is an open source
computer vision library designed by Intel to run on
Intel platforms to give the ability to implement a
variety of computer vision capabilities. I have not
used this library yet, so I can’t offer any insight on
how easy it is to implement. However, it is open
source which means it is free — which satisfies one
of your chosen requirements. You can find more
information about Intel’s OpenCV at http://soft
ware.intel.com/en-us/articles/intel-integrated-per formance-primitives-intel-ipp-open-source-computer-vision-librar y-opencv-faq/.
This is Intel’s own FAQ site for OpenCV. Of
course, there is an open source project on
SourceForge for OpenCV at http://sourceforge.
Like I said, I can’t vouch for how easy these
are to get up and running, but if you are interested
in “free,” this is a good place to start. One person
in our robotics club got a face recognition program
to work using this library and it was very cool.
Incidentally, this is an Intel library not a Windows
library, so Linux and Macintosh are not left out! You
just need to be running on Intel processor hardware.
Recently, a second option became available
and I got to see a demonstration of this software
at our robot club. The package is called
RoboRealm and you can find out more about it at
RoboRealm is a very nice bundle that allows
you to experiment with a variety of vision
algorithms. There are a LOT of these algorithms!
RoboRealm allows you to experiment with color
tracking, object recognition, edge detection, range
finding, and the list goes on. This assortment is
very comprehensive. So, what do you do when
you see something? RoboRealm can be scripted
and has the ability to pass information to serial
ports, network ports, http, disk, ftp, and email. Its
capabilities open up a lot of areas for exploration.
14 SERVO 02.2010
Figure 2. Whisker switch (bottom view).
Demos that I saw had robots aiming at a ball that
was moving and when it stopped, the robot shot a
rubber band at the ball. Another demo had the
robot chasing a ball by using its color and sending
motor control values to the robot controller via RS-
232 port. Another robot could recognize shapes
printed on cardboard flash cards, allowing it to be
programmed via the cards while it was running.
What is the downside? RoboRealm is very
configurable which means that it can get
confusing dealing with all of the options available.
Fortunately, the company has lots of tutorials on
their website. They are very friendly and answer
questions with enthusiasm. RoboRealm is not
optimized for any particular task and your frame
rate will depend on how fast your computer is, as
well as your chosen screen resolution. The smaller
your screen resolution, the faster the frame rate.
It has been suggested that you can experiment
easily with RoboRealm and various vision tasks,
Figure 3. Whisker schematic.