|Source: Abbeyjean’s Toddlerbot
This started out as a balancing robot similar to the Gyro version of NXTWay and using Ramin’s RobotC program.
This worked first time which caught me by surprise – I mean where’s the fun in that? So I started playing around with the design. First I made it taller and taller but it still balanced ok so then I decided to see if I could make it stand up again if it fell down.
The result is ToddlerBot. I called it ToddlerBot because it is like a toddler tying to walk for the first time. It starts out face down on the floor, then it stands up and tries to move forward, but just like a toddler it falls dowm. After a few tears it struggles up again and toddles forward until it falls down again. And so on.
I used the HiTechnic Tilt sensor to detect when it had reached the upright position. I found I needed ‘arms’ at the rear as well when it stood up, otherwise momentum tended to make it fall over backward before it could start balancing.
A single touch sensor serves the double purpose of detecting when it has fallen on its face and also when the ‘arms’ are fully retracted.
It still has the sonar sensor to detect obstacles but this is pretty much redundant as it never stays upright long enough to reach any obstacles. The extra motor and all the other bits increase the mass of the robot considerably, with the result that the balancing motors have trouble reacting fast enough to counter the extra momentum created as the robot tries to balance. But then that was the idea anyway.
If it falls over backwards, you’ll have to get ‘mummy’ to help it get up again.
Front view balancing with arms up