lots of things that will prevent this idea from working all of
the time, like light interference, the sensitivity of the camera,
or the expense of the light filters. Other tuning (like the angle
of the cameras to the ground) could also cause issues.
The problems in this type of system may be
insurmountable, so let’s think even MORE inside the box.
Suppose we came up with small RF transmitters that were
carefully designed to have a limited range of about a meter
when used with a carefully tuned receiver. Then, suppose
we “planted” these transmitters in a grid at one meter
intervals. You could calculate your position by knowing your
range to each of these beacons by checking their field
strength. Since it would take thousands to do this at one
meter intervals, you could put them at longer intervals, but
then their resolution will suffer and your accuracy will not
be very good. Hmm, RF is just too unreliable.
Note that I don’t even give odometry a nod here. Since
you are outside, there is just about no way you will get any
kind of positional accuracy when you consider ditches,
bumps, wheel slips, and the like. If you are going to use
some very sophisticated programming, you could use a full
IMU unit and calculate acceleration, deceleration, inclination, pitch, and yaw to create an inertial navigational unit.
But I still doubt that you could get a one inch in a quarter
mile accuracy. It would be fun to try it though! Google for
“Inertial Navigation” on the Internet. I have seen some
interesting papers on this topic; some by other well known
hobby robotics folks in the well known clubs.
Unless you can come up with something from my
rambling thoughts here, I’m afraid that all I’ve done is
convince myself that this just can’t be accomplished. At
least not within the $1000 budget restriction! If anyone
out there reading this has some ideas, let’s hear them!
With my roving robots, I’m happy if I can just keep them
inside a set perimeter. A GPS will get me within 10 meters
or so of the robot where I should be able to see it.
Q. In last month’s column, I described a simple
PID algorithm and showed you code that used a
voltage read from the motor CEMF to determine
the wheel’s rotational velocity. Some who read that liked
the idea of a “sensorless” feedback system. I received a
request to show how such a feedback mechanism could
be built and used, so, here it is.
A. Last month, you saw the code and how I averaged
the readings and used the values read by turning off
the PWM and looking at the CEMF (Counter ElectroMotive Force) at those intervals. This month, I’ll post the
electronic circuit that I used to get those values. Once again,
you’ll see that it is actually very simple to do this, and the nice
thing about it is that you won’t need finicky wheel encoders
for feedback. These inputs come from the motor itself.
Figure 1 shows the schematic of the circuit that
matches the code that I gave in the November issue.
How the Circuit Works
Some explanation of how this works is in order. When
you drive a motor, you feed voltage to the windings on the
armature (the part that rotates) through contacts on the
Figure 1. Sensorless motor speed
SERVO 12.2008 15