TedLarson.com
Home R/C Airplanes Home Workshop Robots AI Projects

 

Balancing Robot
Odyssey Robot
Tabletop Challenge
Fire-Fighter
Teamwork Bots
Lego Bots
AIME Bot
BotStack
My Electronics Lab
Robot CAD Symbols
Robotic Events
Robot Links

Home -> Robots - > BotStack

Bob Allen and I have collaborated on many robot projects.  We both have dreamed of building robots out of re-usable electronic components, that would isolate the sensory equipment from the main processor in a way, where everything could run in parallel, and sit on an infinitely expandable bus.  We built an initial version of this dream and used it to power our tabletop challenge robots.  We have continually improved on the design since then, and now all of our robots are using this same board stack as the brains, and sensory interface.  Now, even the balancing robots work off of these same boards.

We have recently had lots of interest from others who would like to use these boards in their robots too.  If you would be interested in seeing them produced as a kit, please don't hesitate to drop me an email, so we can determine how many people might be interested in it.

Here is an overview of the various boards in the stack and what they accomplish:

Mainboard/Motor Driver:

The main board contains the primary essential for all robots, the ability to drive motors, power regulation, and the connective and mounting point for the rest of the stack.   All the boars in the stack use I2C bus to communicate.  The main board has a PIC18F252 onboard, an L298 for driving motors, and can both divide and decode 2 optical shaft encoders with quadrature for motor feedback.  With the right software, this board can either be just a motor board with full PID motor control, or it can completely balance a balancing robot with tlit-optimized velocity control.   The main board can function as an I2C slave or stand-alone for just doing balancing.

Sensor Board:

The sensor board is a IO nexus for dealing with many sensory devices and presenting them up to the I2C bus in a standardized manner.  It can take input from up to 5-infrared rangers, 4-digital sonar modules, 2-I2C sonar modules, 4-line detectors, 5-bump sensors, 2-general analog ports, and can control 4-hobby servos for sweeping sonar, IR, or positioning of sensors.

CPU Board (Main Brain):

This is one example of the 3 CPU boards we have for the BotStack.  We have two PIC CPU boards, one is based on the PIC18F452, and the other is based on the PIC18F6621 (pictured).  The third board, takes a 40-pin BS2-40p Basic Stamp.  All three boards have sockets for I2C eeproms for storing data, pull-up resistors to function as an I2C master, a 9v relay for switching a fan, I2C bus ports, and two RoboBrix ports.

Camera Board:

The camera board is designed for isolating and controlling a CMUcam, or CMUcam 2 vision sensor on the BotStack.   This board talks directly to the CMUcam, at 115200 bps to retrieve and process target tracking data, and run a PID controlled pan/tilt camera head, and provide simple angular offset and distance geometry back to the I2C master.  This is the board used to control the object tracking on both Tracker bot, and ISIS Jr.

Fire Fighting Board:

The firefighting board is designed for use in a Trinity firefighting event. It has the ability to constantly monitor an Hanamatsu Flame detector, an Eltec Pyroelectric sensor, and listen for the 3-4khz fire alarm tone for sound activation.  The board can also drive 2 servos using PID for mounting the Eltec sensor on a pan-tilt head.  All the sensors are interrupt driven, so there is no way the robot is going to miss a flame if it even glimpses it.

Sound Board:

This is one of the newer boards I designed, and have yet to write the software for it.  This board has a library of preprogrammed tones, sounds, and tunes onboard that you can call up by number.  This is the perfect board for giving a robot the ability to bleep, blop, jingle, and play a tune.   You can even add your own sounds to the library.  It has 512k of nvram onboard, so if you know the tones to make a sound or tune, you can load them over the bus and it won't forget it.

CF Board:

This board allows you to interface a CF card to the BotStack.  The primary purpose of this board is to interface an 802.11b card, for connecting a robot to a wireless network.  With this capability, you can perform teamwork tasks with other robots, or embed a web server in your robot and control it over the internet.

RoboBrix Carrier Board:

This carrier board is designed to make interfacing RoboBrix to the BotStack easy.  It has mounting holes so you can mount RoboBrix right to the card, and interface them to the I2C bus without knowing anything about I2C.  You can use the standard RoboBrix communications protocol to talk to any of our other BotStack boards.

RoboBrix were designed by Wayne Gramlich, another Home Brew Robotics Club member, and they are sold through the Robot Store.  It is our hope that this board could be used to control a balancing robot using RoboBrix, and be able to outfit it with RoboBrix controlled sensors.

BotStack in Action:

Here are some snapshots of the stack in action on both my firefighting robot, FlameOut, and Bob's balancing robot ISIS Jr. 

Phew that was a-lot of info......all can think of for now.

More on this later!

 

(c) 2008 Ted Larson  ALL RIGHTS RESERVED