Overview
Note that this is 'Version 2' of the ProtoBot. Having left the bot
sitting for a long time, I am motivated as of early 2001 to play
with it again. Memory serves me well of the hassles of using the old
cover (see the OLD ProtoBot) and this version will not have a cover or
at least not one that is so difficult to get on and off :-). The bot is
based on a simple chassis, an old BotBoard I CPU and some standard
technologies that are readily available on the net. No ground breaking
items here, hopefully just some good ol', simple personal robot fun.
|
Last Update:11/25/02
Notice:
Many (if not all) of the things I am doing here are
old concepts and can be found on the net such as;
Seattle Robotics Society's
Standard Technologies Page
written by Kevin Ross
The Rossum
Project
Open Source Robotics |
Chassis
The basic chassis actually is an old project case top that has been
inverted. The material is thin gage steel, reasonably light and
what I happened upon in the junk box that I thought I could use without a lot of
fabrication. I liked the ability to mount the servos for the drive system up against both
the front and bottom of the chassis which makes for a better attachment.
Additionally the bot has a low (but wider) stance providing more
stability. The 'wider' portion, however, will possibly make it more
difficult to maneuver in tight areas.
ProtoBot v2 has a drag tail made from a rounded
cabinet pull (I pulled the tail wheel show in the photos since it tended to change the
robot's course when turning) mounted in the rear center of the chassis. Two battery packs
are used to isolate the servos from the CPU power and are located in the middle of the chassis between the
wheels and behind the front IR sensor board. One is a
6.25v Radio Control car ni-cad pack for driving the servos and the other
is a 5V ni-cad pack to drive the onboard electronics.
|

Base chassis
|
Drive System
Two Servo Ports - Modified RC servos have been used as the primary
drive. I decided to mount
the larger RC truck tires primarily because I happened to have them and I could mount the
wheels straight onto the servo output shafts. I also like the option that I can put the
street tires on, the pins, or the tractor tires depending on my mood. [:-) Yes a bot that
is used indoors does not NEED truck tires but I have them, they fit and who knows I might
let ProtoBot roam the back yard someday.
Dead Reckoning - Note I have added two wheel encoder disks that will be used for
dead-reckoning navigation in the future. IR sensors will be mounted on the
servos and fed to the CPU for processing. If anybody has any code in
SBasic for dead reckoning I'd really appreciate it since there are no trig
functions available.
|

Overview of the parts.. GB is in the back

Left Rear View
The left switch is the master power switch
The right one is a bypass for the servo power
This allows bench testing without wheels turning all the time
|
Brains
BotBoard-1 - The (beginning) brains for the ProtoBot is an old 68HC11 based BotBoard-1 that I have had for some time. The board originally
had the "A" chip with 512 BYTES of EEPROM and I could never program well enough
in machine language to make it do more that flash an LED or spin one servo... SO, I
replaced that chip with a newer one with 2K of EEPROM and plan on programming the whole
thing in SBasic. I have coded in Basic, QuickBasic, VisualBasic, VBScript and more so I'm
hoping I can learn SBasic rather quickly.
The basic plan for the use of the I/O items on the BotBoard is below.
Those with a (F) are future items.
Port A - Servos
- PA0 -
- PA1 -
- PA2 -
- PA3 - (Future Servo)
- PA4 - MotorLeft
- PA5 - MotorRight
- PA6 -
- PA7 -
Port B - Digital Outputs
- PB0 - SpeechLowByte (F)
- PB1 - SpeechHighByte (F)
- PB2 - SpeechControl1 (F)
- PB3 - SpeechControl2 (F)
- PB4 -
- PB5 -
- PB6 - IRFrontOutLeft
- PB7 - IRFrontOutRight
Port C - Digital Inputs
- PC0 - IRFrontHit
- PC1 - IRBackHit (F)
- PC2 - MotoLeftTic (F)
- PC3 - MotorRightTic (F)
- PC4 - Compass_N (F)
- PC5 - Compass E (F)
- PC6 - Compass S (F)
- PC7 - Compass W (F)
Port E - Analog Inputs
- PE0 - EyeLeft
- PE1 - EyeRight
- PE2 - EarLeft (F)
- PE3 - EarRight (F)
- PE4 -
- PE5 -
- PE6 -
- PE7 -
|

Stolen pic of a BOTBoard
|
Sensors
Infrared (One Digital Input, Two Digital Outputs)
The primary front object detection sensor is a simple IR unit using a Sharp GP1U5
detector and home built IR modulator based on Kevin Ross' standard technologies. I plan on using two sensors (one facing front
and one back) to allow front and rear detection. Two digital outputs are
used to control which IR LED is firing to allows sensing between front,
left or center detections.
Light Sensors (Two A/D Inputs)
After the base is working and the front looking IR is coded, I will add
two light sensors for light detection. They will be mounted on the front
of the robot and canted at an angle to each other to allow light
directional sensing.
Sound (Two A/D Inputs)
I would like to implement some type of A/D sound sensors using mics and averaged
sound. Mostly just to try and track a constant loud noise or something but also with some
front end filter to allow mode control via a sound of some type.
Compass (Four digital Inputs)
To provide some ability for navigation, I plan on using a Dinsmore
1490 digital compass on ProtoBot. A good idea on implementing this
compass on a bot can be found on Arrick Robotics site at http://www.robotics.com/arobot/compass.html
. The compass uses four digital outputs to determine N, S, E, or W of
which any can be active providing up to eight (8) directional inputs (N,
NE, E, SE, S, SW, W, NW). Although a Vector 2X compass would provide more
precision, it is more expensive and more complicated to setup and use.
|

Completed IR Detector based on P.A.R.T.S Infrared Object Detection

Front View - Shows the IR Sensor (middle), the two IR LEDs in the
upper right and left and the IR hit LED in the middle.

IR Mounted for Testing - 02/28/99 |
Electronics
Voice output (Four digital control
lines)
Update 12/21/99 - I have a hand full of the old SPO256-AL2 speech
chips and have finally decided to try and implement one of them into
ProtoBot. This will provide Text-to-Speech abilities adding some
personality to the bot. A great article on how to implement the SPO256
chip using a BASIC Stamp 1 or 2 can be found at TheOne's Robotics
page at http://www.TheOneSpot.com/Robotics/Projects_Speech.htm.
Although the code is specific to a Stamp, it should be rather straight
forward to cut over to a 68HC11 using SBasic. The nice point about his
setup is the number of required bits is dropped down to four (4) instead
of 8 or more. The speaker is already installed in the body on top.
Radio Link (Serial Output)
02/20/2001 - I have in hand and am in the process of implementing a simple
one-way RF link from the robot using the Rentron TWS-434 and RWS-434
modules. The link will mainly be used for telemetry information while
programming the bot but can also be published on the House's web site ( http://House.Protowrxs.com
) for real time results of the bot's explorations.
Related Link: Rentron
Electronics
|
Top View
Here you can see the two servos, front IR detection
circuit, the batteries (stacked on top of each other) and the CPU board
(lower right). I used a floppy disk ribbon cable in each robot to allow
swapping the BotBoard around platforms without having to connect 48 header
connectors. An old PC DB9 RS232 ribbon cable fits on the PORTC header also
(not shown here) for easy connections. |
|
|