| HomeRobotics | HomeAutomation | Racing | 1/24 Models | Mustang | Family | PaPa |

Stephen W Nolen's
protobot-8a.gif (14623 bytes)
Proto
BotBot

Last Update:
05/16/01

Click on the thumbnails for a LARGE pics of each item.
These are rather large JPGs so be forewarned.

Notice: Many of the things I am doing here are
old concepts and can be found on the
Seattle Robotics Society's
Standard Technologies Page
written by Kevin Ross

THIS IS THE OLD VERSION - PLEASE SEE VERSION 2 FOR THE LATEST

THIS IS THE OLD VERSION - PLEASE SEE VERSION 2 FOR THE LATEST

Chassis | Drive System | Brains | Sensors | Electronics | Cover

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.

ProtoBot-1_small.JPG (4744 bytes)
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.

990222-04.JPG (99169 bytes)
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.

S_botbrd.jpg (13856 bytes)
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.

990301-1.jpg (37784 bytes)
Completed IR Detector based on P.A.R.T.S Infrared Object Detection
990301-4.jpg (63178 bytes)
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. :-) 

990222-07.JPG (161490 bytes)
Original Concept View

990312-33.JPG (29010 bytes)
03/16/99 - Mounted body, IR up front, speaker top left, head servo top right.
990312-34.JPG (44296 bytes)
03/16/99 - Prototype 'head' with CDS eyes and microphone ears... looks a little corny though.

Hit Counter
02/25/99

Receive email when this page changes


Click Here

Powered by Netmind