General:
Twitch is a 3 servo 'hexapod' inspired by a similar robot made by Amino-san from Japan, seen on YouTube.
The idea behind this bot is that it's very mobile (on flat surfaces) for a walking robot with only three servos. The simplicity, walking ability, and use of a four-bar linkage were what made this a must-build when I saw Amino-san's version on YouTube. This also makes for a much cheaper robot than, say, my 18 servo Numa.
The process of building/developing Twitch is described in my project thread on the Trossen Robotics Forums. Various details and observations can be found there. Video can be found on my YouTube channel.
The particular challenges in this project were: (1) Using a low quality Youtube video to figure out how the bot works; (2) Interfacing the Wixel MCU to the AX-12 servos; (3) Interfacing the Arbotix Commander with the Wixels' wireless communication; (4) Porting others' libraries (WebbotLib) to a different processor/C compiler.
Hardware specs of Twitch:
-3 AX-12A digital servos
-Wixel MCU board
-Wixel features TI chip with built-in (proprietary) radio/wireless communication
-Modified ArbotiX Commander uses Wixel's wireless instead of (or in addition to) xBee module
-Tristate buffer allows Wixel to control the Dynamixel servos.
-Sparkfun 3.3 V / 5 V level converter (Wixel is 3.3 V; servos' logic is 5 V)
-1050 mAh 11.1 V LiPo battery (directly powers servos' motors)
-Dyed Bioloid frame kit pieces
-Legs made from 3/32" Delrin
-Brass and Delrin 4-bar linkage
-Battery case made from 0.03" polycarbonate
Construction:
Except for using a drill press for 8mm holes, everything was cut/constructed with a Dremel, Cupcake CNC (3D printer), and various hand tools. I used Solidworks for all part design except the legs. Legs were prototyped with cardboard, traced with splines in Inkscape, and then cut from paper templates on Delrin. Delrin is ideal, since any melting when cutting with a Dremel is negligible (unlike a lot of other plastics).
Development time took a few months – some CAD and prototyping, some electronics, but mostly software fiddling. I could build a second one in about 12 hours, including the electronics.
Movement:
Twitch currently moves at a speed of 180 mm/s (0.6 ft/s), can walk forwards, backwards, in an arc, and turn... Overall *very* mobile for a 3-servo bot. Traction is best on carpeted surfaces, and I've yet to experiment with adding traction for smooth floors. An added benefit of this bot's movement mechanics is that walking and turning both share a starting 'pose,' so transitioning between walking and turning is always smooth. The range of motion needed from the servos is very small, so movement is in fact very twitchy.
The gaits (sequences of servo positions that result in walking, turning, etc.) were created initially with WebbotLib's Gait Designer. Correspondingly, the 'GaitPlayer' code from WebbotLib was ported with modifications to work with the Wixel board.
Electronics/Software:
The Wixel MCU was chosen for its built-in wireless capability, compact size – Axon/ArbotiX/Arduino are all much larger boards – and the $20 price for a pair, (when on sale) whic is hard to beat. The bot is coded in C, using the SDCC compiler (bleh; I prefer avr-gcc). My code is based off Pololu's provided code for the Wixel, and can be found on GitHub. It's worth noting that the Wixel has a very limited amount of RAM: 256 bytes. I'm using 254 bytes, currently and had to optimize a few times – there's little room for fancier math or added functions, though plenty of extra space is available for more hard-coded gaits.
I control Twitch with a modified ArbotiX Commander, which interfaces with a second Wixel by sharing the UART that the XBee is connected to. These modifications are described in a forum thread. No software changes were required to the ArbotiX, and the Wixel uses the Pololu-provided Wireless Serial App.