Our resident expert on all things
robotic is merely an email away.
roboto@servomagazine.com
Tap into the sum of allhumanknowledge and get your questions answered here!
From software algorithms to material selection, Mr. Roboto strives to meet you
where you are — and what more would you expect from a complex service droid?
by
Dennis Clark
Reader Responses
Let it not be said that Mr. Roboto suffers the sin of
hubris. Some readers responded back to me about their
ideas on how to deal with a December question dealing
with non-GPS robot navigation on the cheap. There are
some good ideas here, to help fellow robot hobbyists!
A. This is a possible answer for Roger's problem getting
a precise position for his robot. I have also been
looking for a system for precise navigation for my
outdoor rover robot.
Combining visual odometry and landmark recognition
could be a solution. Check out www.cs.cmu.edu/~rahuls/
pub/icra2005-rahuls.pdf. It might not get as close as an
inch, but I think 10 cm is a reachable goal!
Needed for this approach is a computer with OpenCV
software and a webcam. I built myself a Linux machine
based on a cheap mini-ITX board. I'm still in an early stage,
but it is promising.
—Allan Bertelsen
Denmark
Another reader response:
A. I read your December column as usual and have a
suggestion for Roger (who wanted a system for
locating a robot in a 1/4 mile area).
Your idea to put a light source on the robot and
cameras at the property edge is a good idea, but it can be
far more effective if you reverse the placement.
Put a camera (or other detector) on the robot and then
place any number of beacons (the number depends on the
accuracy you need) throughout the intended environment.
Each beacon could be coded with different colors (as you
suggested) or different modulations of one color (perhaps
infrared, depending on your sensor).
Alternatively, every beacon could be the same color
or modulation, but give the robot the ability to remotely
14 SERVO 02.2009
turn on and off any beacon of its choice.
Either way, the robot could triangulate itself (as you
mentioned) with any two beacons, giving better accuracy.
It could also just move toward a certain beacon for a given
distance, then turn towards another beacon, etc., letting it
navigate along a path it creates (made up of movements
toward beacons). This is explained in a book I wrote with
my co-author (Robot Programmer's Bonanza, Chapter 15)
where we used a series of beacons to control navigation
in a suite of offices. The robot maps out a path (using
algorithms similar to those in automobile GPS systems)
and then turns on the required beacons one at a time, to
move to the desired destination.
Probably the most powerful aspect of this algorithm is
that it can be used with any type of beacon (visible light,
infrared, RF, etc.) and then can be adapted to a large
number of beacons in order to cover huge areas or to
increase accuracy.
We wish someone would produce this product line
(a sensor plus any number of beacons); the code for each
beacon could be set perhaps with an eight bit DIP switch.
In its simplest form, the beacons would be just bright
colored light that could be controlled with an RF link from
the robot. A standard webcam could be used to detect
the light (just turn it off to verify proper detection). With
a beacon hung at the top of each doorway (and other
appropriate places of interest), navigation of a house
would be easy.
RobotBASIC — the language used in the book
mentioned above — provides the ability to access all ports
(for controlling the beacons), commands to capture images
from a webcam, and even commands for locating specific
colors etc., in a user-defined grid pattern superimposed on
the image.
All in all, I think a system of this type would be far less
than the budget suggested in the question.
— John Blankenship
www.RobotBASIC.com