Tetherbot by Scott Preston

General Description
Tetherbot is a technology demonstrator, like his predecessor
Followbot. The main technologies that he demonstrated were: IR
Object Avoidance. Servo Control from the PC (Windows NT 4.0).
and Algorithm Testbed. All were very successful and Tetherbot
will continue to be used in Genetic Algorithm Research.
Subsystems Description
Chassis - consist of a Radio Shack 6"x4" Project Box. The tether
is a 25' RJ-45 cable connected to my PC's Parallel Port.
Power - since it's tethered I was able to use an old PC power
supply. It supplies +5VDC and ground via two unused wires in the
RJ-45.
Locomotion - x2 "Hacked" Futaba 3003 DC Servo Motors. The hack
I used was to replace the potentiometer with a voltage divider
consisting of two 1/4 watt 2.2k resistors.
Sensors - 2 Hi-Output IR LED's from Radio Shack and 1 Sharp 40
kHz IR receiver Module. A schematic of the circuit can be found
here.
Control - PC Parallel Port. Because this is under Windows NT and
the OS does not have direct access to the I/O. I am using
DriverLINX by Scientific Software Tools, Inc. I also used a bit
of code that allows me to measure how long my PC takes to
perform For-Next operations. This was very helpful in sending
the correct Microsecond pulse to the servo motors, mainly since
VB's timer is only Millisecond resolution.
Genetic Algorithms
So far I have only tested one genetic algorithm. It's goal is to
teach Tetherbot how to get out of it's playpen in a certain
amount of time. If I turn on the "avoid object" algorithm it will
eventually be able to escape but I wanted the robot to be able
to repeat what it has learned.
To do this I have employed a genetic algorithm that consist of one
gene. That gene contains a sequence of directions that
tetherbot needs to move. The genes are tested for fitness by the
whether Tetherbot realizes he has espaped or the directions from
the gene have been exausted.
You can find out more at my web site: http://preston.dyndns.com.
Email: scott@preston.dyndns.com
Return to The Robot Menu