it took a while to improve trashbot v1 to v2 (for the video, scroll down) as i had to do a couple of things first:

3d scan the first version using a kinect (still have to import it into blender / unity3d, though)

deconstruct an old typewriter to get more mechanical parts

improve the electronics to prevent seizures while powering up

finally, i got decided to increase the trash share of the bot and get rid of the shiny new feet made from polystyrene and replace them with old PCBs. i also increased the length of the feet for better stability.

then cut out the feet:

also added the typewriter’s “shift” mechanics:

to the tighs as their angles were the major source of instability and shakiness:

i also improved the electronics after my recent experiments with relays:

from the top it looks like i just added the switch and the relay, but i also added more “ports” for four more servos (intended for the upper body) as well as a “port” next to the switch for an UBEC. see the real wiring here:

as you can see the servos (left up) get their power via the “port” for the UBEC (bottom) and then via the switched part of the relay. the relay is powered directly by the arduino (red cable coming from top, arduino port d13).

the trick is that the relay is cuting off the servo power when not switched. the arduino then has to set d13 HIGH to power the relay’s coil and thus keep the power on. since the d13 can only be powered via software, the arduino can control the servos when it has booted up and during the boot up the servos don’t behave badly. (obviously the d13 could also be in a HIGH state when the arduino powers up but that seems to be just to short for the relay to react.)

alright, after all the construction mumbo jumbo, here’s the end result:

compare that to version 1:

i also used a new servo library VarSpeedServo which can move the servos at user defined speeds. not sure i’ll keep it because i want to experiment with more complext gait patterns but for now it’s a great solution.