FIGURE 7. Front IR bumpers
mounted on the RoboProp-Bot.
This allows you to write
code to:
• Travel a specific distance.
SirMorph provides an analog output; it can also be
used as a virtual bumper, short range IR distance
measurement device, or line following sensor, which
makes it more versatile. As SirMorph was designed for the
Solarbotics series of servo wheels, I am also replacing the
standard Parallax wheels with white Solarbotics wheels to
accomodate SirMorph. For the wheel encoders, I used:
• Left wheel encoder on AN1.
The wheel encoders I am
using can detect 1/10th of a
rotation of the 2-5/8” wheel.
Therefore, 1/10th of a wheel
rotation travels (pi 2.625”)/10
inches — that is, approximately
0.825”. A full rotation travels
8. 25”.
You can calculate the RPMs
achieved at a given servo speed
by counting the number of edge
transitions in one minute and dividing by 10; if lower
precision is acceptable, just count the number of edges in
six seconds for a direct RPM reading.
The RoboProp library “GetRPM(servo_pin,
analog_input, speed)” function returns the rotations per
minute for the servo, encoder, and speed as an integer.
You can use GetRPM to make a table of RPMs
corresponding to different servo speed settings which will
allow you to travel in straighter lines than before,
generating a calibration table simply by using the servo
speed you need for each wheel
to get the same RPM, then
running both servos at the same
speed for the same amount of
time.
Replacing the Whiskers
For the simple Boe-Bot
roaming demo program, I used
the Parallax-provided whisker
contact sensors to make Robbie
turn to avoid obstacles, and to
back up if he ran straight into
something.
I decided to replace the
whiskers with short range IR
FIGURE 8. Rear virtual bumper
and three 18650 batteries.
52 SERVO 09.2011