So SparkFun had started a stair climbing robot contest: https://www.sparkfun.com/news/1732
The only real constraint other than the robot climbing stairs, was that it use some Actobotics parts and some SparkFun parts. I gave myself the additional contraints of using only the parts I already had on hand from another project I was working on, and since I was short on time, to wrap it up in a day or two.
Here’s what I came up with:
By design the main body(carrying the additional weight of the battery and electronics) hangs down from the shoulders. The 2 arms drag it up one stair at a time. The 2 arms are on the same shaft so are always in sync(better than my original design with 1 motor for each arm). The arms are long enough to reach the next stair and to pull the body’s grippers above and well beyond that stair’s edge(just short of the following stair’s edge). As the arms circle out from underneath and the rest of the way around to hit another stair, the body falls and slides downward to the start of the new current stair. This kind of ‘reset’ allows it to grip the next stair exactly the same way, sorta. As you can see from the video, the robot doesn’t stay exactly straight or centered the whole time but does make it to the top of the staircase. I can imagine next steps to make this motion cleaner and more robust but I actually kind of like the simplicity of the current design.
The electronics are pretty straightforward. Everything is powered off of a 9.6V rechargeable battery pack. The one motor, a servo, gets its control signal from the Arduino. The Arduino sends that signal based on the position of a pot. Since the servo is running in open loop mode, the position sent is effectively a speed control rather than a target position to reach. In this way the servo runs in continuous rotation and has a speed adjustment. I found that running this robot at different speeds definitely varies its odds of success and its entertainment output level.