Twitch - 3-servo hexapod walker
(June
2012 - )
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 3 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) Figuring out how the bot works via a low quality youtube video; (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.
Comparison: Twitch, Numa
Hardware specs of Twitch:
- 3 AX-12A
- Wixel MCU board
- Wixel features built-ing 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).
I cite 10 hours as the time required to build Twitch... I could build a second one in that span, including the electronics. Development time took a few months – some CAD and prototyping, some electronics, but mostly software fiddling.
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. Currently, 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.
Pics (click for full size):
Electronics/Software:
The Wixel MCU was chosen for its compact size – Axon/ArbotiX/Arduino are all much larger boards – and $20 for a pair, (when on sale) is nigh-unbeatable. The bot is coded in C, using the SDCC compiler. 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 – 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.
Modified Arbotix Commander:
Stand made from CD spindle with 3D printed parts and a cork trivet:
-5-11-2013