Chassis
The basic chassis actually is an old project case top that has been
inverted. I have slightly bent the rear edge at an angle to match the angle of the
proposed cover. 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 has a drag tail made from a rounded
cabinet pull mounted in the rear center of the chassis. Two battery packs
are located in the middle of the chassis between the wheels. One is a
6.25v Radio Control car ni-cad pack for driving the servos and the other
is a 5V open battery holder that can house either ni-cads or regular
alkaline batteries to drive the onboard electronics.
The Body mounts on the chassis with a velcro
connection on the slanting back portion of the chassis and vertical stands
with velcro tops on the front side. I may replace the velcro with radio
control type pins and clips once things are lined out better.
|

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.
|

Overview of the parts.. GB is in the back
|
Brains
The (beginning) brains for the ProtoBot
will be 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 |
Port B
Digital Outputs |
Port C
Digital Inputs |
Port E
Analog Inputs |
PA0 -
PA1 -
PA2 -
PA3 - (Future Servo)
PA4 - Head Servo
PA5 - Left Drive Motor
PA6 - Right Drive Motor
PA7 - |
PB0 - Speech Low Byte (F)
PB1 - Speech High Byte(F)
PB2 - Speech Control 1(F)
PB3 - Speech Control 2(F)
PB4 - HALink (F)
PB5 - LED1 (Indicator)
PB6 - IRFrontLOut
PB7 - IRFrontROut |
PC0 - IRFrontIN
PC1 - BumperFLeft
PC2 - BumpterFRight
PC3 - BumperRear
PC4 - CompassN(F)
PC5 - CompassE(F)
PC6 - CompassS(F)
PC7 - CompassW(F) |
PE0 - EyeLeft
PE1 - EyeRight
PE2 - EarLeft (F)
PE3 - EarRight (F)
PE4 -
PE5 -
PE6 -
PE7 - |
Update: 02/28/99 - I have the BOTBoard running the
servos under program control now. A quick SBasic program will move forward, backward and
turn left/right. The sample code I use is from Tom Dickens web site. The
SBasic code sample from Tom can be found here.
|

Stolen pic of a BOTBoard
|
Sensors
Infrared (One Digital Input, Two Digital Outputs)
Planned sensors include two front looking IR sensors using the Sharp GP1U5
detector and home built IR modulator based on Kevin Ross' standard technologies. I plan on using two sensors (one facing front left and one front right), to allow
smarter avoidance movements than one sensor provides.. i.e. if something at front right,
move left, etc.
Related External Links: Implementing Infrared Object
Detection
Update: 02/28/99 - The IR Detector is up and
running on a stand-alone board. It detects most items in a 6-9" range in front of the
'bot. Of course, black plastic items are pretty invisible to the board. White walls are
visible from the farthest distance. The circuit provides the ability to turn on the
emitters on either side by logic control allowing some analysis of which side the object
is on.
Bump Sensors (Three Digital Inputs)
Update: 12/21/99 Bump Sensors have been added to the body of the
robot with a bumper bar across the front. Switches mounted inside of the
body are attached to the bar allowing left, right or both bumper switch
activation. The
bumpers are primary a backup for the IR sensors and/or for outdoor use.
Originally I wanted the body to act as the bumper
but mounting issues and stability of the body and other components became
an issue. So now it looks like ProtoBot has teeth braces but they seem to
work.
Future
Light Sensors (Two A/D Inputs)
Current future plans for sensors include a pair of CDS cells for light directional
detection. These will be used for light and/or darkness following/seeking plans.
The CDS cells are already mounted in the blue 'head' of the bot. I plan on
adding a perf board in the head to terminate the head electronics.
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

IR Mounted for Testing - 02/28/99
|
Electronics
Future
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.
Home Automation Link (Two Digital Outputs)
Since one of my other hobbies is Home Automation, I
thought it appropriate that ProtoBot should have some way of
intergrating into the HA system. The only simply way I have found so far is from the Bot
to the HA system using a hacked hand held HA transmitter. The unit is shown holding the
cover up in the front of the bot in some of these pics. When installed, it will be mounted
in the chassis and have two bits on an output port drive a two-to-four decoder allowing
the bot to send X10 commands for two devices codes either on or off. The HA system can
then determine what to do based on what action to do from there.
My frist thought is using one of the ON codes as a "I'm
Alive" code that is sent out every 5 or 10 minutes when the Bot is running around the
house. The other code will most likely be used to turn the ProtoBot
charger and charger beacon on and off allowing the Bot to control his 'food source'
himself. By using an AD input tied to the onboard battery supply, he can turn on his own
charger/beacon when needed and then navigate to the charger and recharge. Sounds simply...
will be a great challenge for ME to make it work.
|
|
Cover
Why the funky cover... I'm sure
everyone is asking that and I understand. The PRIMARY reason for the cover is that I have
a three-year-old that loves to play with cars and
robots. If I built the bot like most other home-brew units, the sensors, wires and bumpers
would maybe last for a few minutes until the bot is picked up (on?) by my curious
little boy. I don't want him to be afraid of any of my robots and if he can handle
it without me jumping up and down I do believe that will help.. [:-)
I happened upon the cover from an old humidifier that I
had while trying to find SOMETHING that would fit over the chassis without being too tall
or TOO dumb looking... ok, maybe I need to drop the not dumb looking criteria but it
appear that the cover is going to work out quite well. The round hump just off center will
be an great place to place a sensor or output and with a small clear dome cover it would
be protected too. I already have a servo mounted in the center of the circle and ready to
mount something on it... just not sure what yet. The four 'legs' on the
top would also make excellent sensor or extension mounting points.
I plan on connecting any sensors or displays mounted
on/in the cover to the chassis through a ribbon connector allowing easy removal of the top
without having to hassle with too many wires.
The Head
ProtoBot has a blue 'conehead' for it's
observation sensors. The head is actually an old vacuum timing advance
cover off my '69 Mustang engine. I
drilled large holds for the CDS cells and have them mounted flush with the
surface of the head for looks. I may drill larger holes for the ears and
mount them on the sides of the head.
The head will mounted to the servo that
is already mounted in the body to allow head movement without moving the
whole robot. This might be quite useful due to the wide stance the bot
currently has. If not, it will be nice to see the head move by itself.
:-)
|

Original Concept View

03/16/99 - Mounted body, IR up front, speaker top left, head servo top right.

03/16/99 - Prototype 'head' with CDS eyes and microphone ears... looks a little corny
though. |
|
|