Introduction: Stair-climbing Robot
This project uses parts from the Actobotics building system to make a robot that climbs stairs. The main components of the robot are its front leg assembly, back leg, and the means for shifting weight between the two legs. Actobotics channel sliders enable the robot to raise and lower each leg, step each leg forward, and balance itself as it performs these actions.
Step 1: Gather the Parts You'll Need.
Here's what I used:
- Actobotics channel sliders (3) from ServoCity
- 45 rpm precision gearmotors (3) from ServoCity
- electronics to control the motors, including:
- RedBoard and Ardumoto controller from SparkFun Electronics
- HB-25 motor controller from Parallax
- 5k-ohm long-shaft potentiometers (2) and limit switches (2) from Radio Shack
- other Actobotics parts, including:
- gears, pinions, couplers, and bearings to connect the potentiometers to motor output
- various sized aluminum channels, brackets, and small hardware to construct "legs" and "feet"
- extra length of timing belt, 10-ft roll
- channel slider bracket type "A" (2) and type "E" (2)
- 9v batteries (2)
- hook-up wire, breadboard, and cable ties as necessary
- 5-lb barbell to provide counter-weight
Obviously, functionally equivalent parts from different sources may be substituted for any of the above. (For example, an Arduino Uno and the RedBoard are essentially interchangeable. And mechanical connections can be made in whatever way works.) The 45-rpm motors have plenty of torque to do the job but make for a relatively slow robot. Replacing with higher speed motors is possible, but make sure you've got enough torque.
Step 2: Assemble the Channel Sliders.
Follow the directions available on the ServoCity web site to assemble the three channel sliders. You will need a 15-inch channel for the robot's back leg, and a 24-inch channel to allow the robot to step forward. Cut the belt to fit if necessary. For the counter-weight travel, connect two 24-inch sliders together to form the third channel slider. This is where you will need to use the extra-long timing belt; again, cut to fit. The black plastic sliders themselves should be type "A" for the shorter channels, and type "E" for the longer channel.
Step 3: Construct the Front and Back "feet".
It's not vitally important that the "feet" look exactly like the pictures. They just need to provide a good support base so that the robot can balance on either leg. Any material may be used. Here, 12-inch Actobotics channels provide the width of each foot. The back foot has an additional 3-inch channel to provide depth, and both feet make use of dual flat brackets to provide additional stability. The front foot uses 6-inch mini-channels that will eventually connect to the front leg assembly.
Step 4: Construct the Back Leg Assembly.
Connect the back "foot" to the 15-inch channel slider. Here, I've done this with an Actobotics quad hub mount (type A) and some screws, but again, whatever works. The 45-rpm motor drives the slider belt, and is also connected via gearing to a 5k-ohm potentiometer. The potentiometer is used to provide feedback to the RedBoard regarding the position of the slider, essentially telling the program whether the leg is raised or lowered.
Step 5: Connect the Front "foot" to the 24-inch Slider.
The front foot is connected to the motor-end of the slider. Limit switches will eventually be installed at either end of this slider to provide feedback as to when the front foot has stepped all the way forward, or all the way back.
Step 6: Connect the Counter-weight Slider to the Front Leg Assembly.
The top slider, responsible for moving the counter-weight back and forth, is connected to the front leg assembly via two 12-inch aluminum channels. Since the top slider is so long, it requires two-step gearing in order to connect the other 5k-ohm potentiometer to the motor shaft. (Otherwise, the potentiometer would run out of travel.) Again, this potentiometer reports the position of the counter-weight to the program. Two black plastic slider brackets are used in the top slider to accommodate the 5-lb barbell.
Step 7: Connect the Front and Back Leg Assemblies.
The 15-inch vertical slider of the back leg is connected directly to the 24-inch horizontal slider that is part of the front leg assembly. This essentially completes the mechanical construction of the robot.
Step 8: Install the Electronics and Wiring.
The RedBoard is the brains of the operation, running the program that controls the movements of the robot. The Ardumoto controller receives commands from the RedBoard and in turn provides the power and drive signals for the motors in the front leg and counter-weight sliders. The RedBoard also sends control signals to the HB-25 controller that are necessary to raise and lower the vertical slider. Additional wiring is needed to send input voltage to the potentiometers and limit switches, as well as to carry output signals from those components back to the RedBoard. 9V batteries power the RedBoard, Ardumoto, and HB-25 components.
Step 9: Program, and Go!
The RedBoard is programmed like an Arduino. The code is included here. Essentially, the robot climbs stairs similarly to how a person might -- raise front leg, step forward, shift weight, raise back leg, and return to starting position, now one step up. Enjoy!