BalBot Frequently Asked Questions
What's the difference between the Advanced and the Basic kits?
The Basic Kit will balance on its own, and respond to forces from the environment (if you push it, it will react to keep from falling.) It also has the intelligence to know how to drive around while keeping its balance. However, unless you add other circuitry to tell it what to do (move fwd/rev, left/right), it will just pretty much balance in place, and move with environment forces.
The Advanced Kit adds a nifty processor board (called a BrainBoard) to tell the BalBot what to do and to run your own custom code. It also includes a couple sensors, and all the basic tools you need to start programming. The BrainBoard has lots of open connector slots for upgrading- you can add more sensors or other circuit boards by just plugging them in.
How much weight can a BalBot hold?
The BalBot is designed to easily accommodate additional circuit boards and sensors such as would normally be used on a bot this size. If you make huge weight changes that drastically change the physics of the robot, then you will need to change the parameters that the Balance Processor Chip uses to keep the bot balanced (read the "Detailed User's Guide" for information on how to do this).
How does BalBot balance?
It uses Infrared range sensors aimed at the ground to calculate the absolute angle and the angular velocity of the robot. The Balance Processor Chip (BPC) uses this information to drive the two DC motors (that drive the wheels) in a manner that will keep the center of gravity above the wheels at all times.
Does the BalBot use a gyro or accelerometer?
No. All angular position and velocity information is obtained using ground-detecting infrared sensors.
Do I have to know a lot about electronics?
No. Even with the Advanced kit, the electronics are basically "Plug and Play". Sample C code and functions that handle low-level hardware interface issues are included. So you can quickly start writing new code to make the robot do what you want it to do. If you have electronics skills, you can put them to use by making your own sensors/actuators/electronics, and then plug them into the BrainBoard.
Do I have to know how to solder?
No. All circuit boards come pre-assembled and soldered with connectors so everything plugs together.
Do I have to know how to program?
No; not for basic functions. However, programming skills are required if you want to customize the behavior of the robot (advanced kit only).
If I want to use my own microcontroller, What kind of interface is there to command the BalBot?
An I2C interface is used to talk to the BalanceBoard and issue commands such as forward/reverse and left/right, as well as to read robot angle information, motor velocity, battery voltage, etc. With the Advanced kit, sample code is included that handles all of the use of this interface.
What is the interface for adding sensors/actuators/electronics to a BalBot?
The BrainBoard (included in the advanced kit) has ports for analog inputs, digital inputs and outputs, servo outputs, and I2C communications. Thus a very wide variety of electronics can be connected. In addition, the BrainBoard that comes in the Advanced kit also provides a serial port that you may use to connect to your PC.
Can I program the BalBot using C ?
Yes. The Advanced kit includes an open-source C-compiler, as well as example code and functions to get you up and running quickly.
Can I program the BalBot using BASIC ?
It is possible, however not as straightforward as using C. There are two options:
1.) Obtain a BASIC compiler such as this one: http://www.dontronics.com/basc-avr.html
2.) Instead of the BrainBoard, use your own microcontroller board that runs BASIC, such as a BASIC Stamp (available from Parallax). The main requirement is that your microcontroller must have an I2C interface, since this is the interface that is used to communicate with the BalanceBoard. Complete information about this interface is in the "BalBot Detailed User's Guide", available on our downloads page.
What kinds of processors are used on the BalBot?
The BalanceBoard uses a programmable System on a Chip to perform balancing algorithms (the BPC chip). The BrainBoard uses an Atmel ATMEGA32 chip to run the user's code. Since the BPC does all the real-time balancing work, the ATMEGA32 is free to spend its time running the user's code for things such as sensor reading and navigation.
Can I customize the way BalBot balances?
Yes. The Balance Processor Chip (BPC) will automatically provide real-time balance control assuming a relatively standard configuration. However, if you want to change the control loop, you can do so by adjusting the key control variables. More information is available in the "BalBot Detailed User's Guide", available on our downloads page.
Can you control the speed of the BalBot?
Yes. The Balance Processor Chip (BPC) accepts fully proportional commands for forward/reverse and left/right. It does all the real-time processing required to drive the robot at the commanded speed, while maintaining its balance.
Can the BalBot go up an incline?
No. On an incline, BalBot will tend to quickly drive down the incline. This is because it determines its angular position using sensors that detect the ground (It assumes the ground is perpendicular to gravity). So if the ground is not level, it will think gravity is pulling it down when it is not, and vise versa.
How Long do the batteries last?
Typically at least 4 hours of continuous balancing and moderate driving around, assuming alkaline batteries.