Category Archives: Balancing
Bob came up with a brilliant yet simple mechanical design that utilized a strong aluminum frame to house the motors, and drive system, with PVC plastic tiers. It is both lightweight and very strong. Initially we hooked up the drive system via an R/C radio, to drive it around, and test the drive system. Here it is, taking a stroll around the back yard, on it’s way to terrorizing the unsuspecting dog who is busy sniffing the grass. I dunno what it is about the dog, and things with wheels, like a wheelbarrow, or a vacuum cleaner, but the dog always seems to run around in-front of it barking at it.
Here is an underside shot of the milled aluminum frame, and motor mounting housing. It is using some excellent motors we acquired at a local industrial surplus place, that have some very fine-grain shaft encoders pre-mounted on them. The casters are basically training wheels that can be removed when we start the balancing experiments.
I shot some video of these test drives around the back yard. It is in Windows Media 9.0 format.
Click Here to download and view the video.
The Updated Test Platform:
The initial platform is big and exciting, but it quickly proved too large to be a viable test platform. Early testing with the big bot, damaged a couple of walls in my house. Fears of having it run away from me, and blow literally through a wall, drove a decision to scale things down to get it debugged. Then we can super-size it back up to the larger platform.
Here it is with the training wheels attached for debugging the PID algorithm. Notice it has a tether attached to it so it doesn’t run away without me, and so I can power it via a test supply, without having to load up all the batteries right away.
Here is the self-designed robot balancing brain, all cooked up on a prototype board, and mounted to the top of the robot. The main CPU is a Microchip PIC18F452. It has sub processing units for taking shaft encoder input from the motors, sending motor control signals to the speed controllers, and taking R/C input from radio. Lots of software to write to make it all work right. Yippee!
Like I had mentioned before, early tests of the large bot proved unmanageable. So, we needed to scale everything down to fit on the new, smaller test platform. As you can see, that prototype board is too big to strap to the top of the smaller robot. So, I took the circuit, put it into a CAD program, and we had some printed circuit boards made to scale everything down. The main processor board is on the left, and the gyro board is on the right.
Here is the big balancing robot, all loaded up with the necessary gear to start doing some balancing tests. The brain is all mounted up, and the batteries have been moved up high on the robot, in order to make it as top-heavy as possible. Remember, it is always easier to balance a broom with the wicker end up rather than in your hand.
Balancing is accomplished by using a small piezo-electric gyro (Tokin CG16DO) combined with the output of a two-axis accelerometer (Memsic MXD2125-GW). The gyroscope is a type commonly used for doing image stabilization in a camcorder, and the accelerometer, is of a type commonly used for building airbags to deploy in a car accident. One of the goals of the project was to use inexpensive parts, and make up for any hardware issues with really good software. In the PCB photo above, you can see the gyro and the accelerometer in the right hand portion of the photo. They look like two little silver metallic boxes. As far as I know, we are currently the only ones using the Memsic accelerometer in a balancing robot. Most people are using the Analog Devices accelerometer.
I am currently working on a large, self-balancing robot. I have teamed up with my friend Bob Allen, also in the San Jose Home Brew Robotics Club, to undertake this ambitious project.
The current goal, is to get this platform, self-balancing, and then to use it as a base-platform for building an autonomous rover.