Project Information

Twitch - 3 Servo hexapod

Synopsis

Twitch is a 3 servo hexapod (for lack of better classification). Twitch is controlled via two Wixel boards and an Arbotix Commander. The mobility of Twitch far greater than any other approach to a 3-servo walker that I have seen, and makes for a cheap bot that I can let anyone try driving.

One Wixel interfaces with the Arbotix Commander
Second Wixel communicates with Dynamixel servos via a tri-state buffer

Sensors

N/A

Actuators

3x Dynamixel AX-12A Servos

Description

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 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.

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.

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.