Return to Main Page
TwitchMX - Mech Warfare Bot
(December 2012 - April 2013)

TwitchMX09_t.jpg TwitchMX06_t.jpg

TwitchMX is a 5 servo 'hexapod' built using what I learned from Twitch. The appended 'MX' refers to the more powerful servos used for walking. TwitchMX uses three MX-28T servos for walking, and two AX-12A servos for its pan/tilt camera/gun turret. The original inspiration for this locomotion approach is the bot TicTac6, 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. This particularly makes for a much cheaper mech than, say, my 18 servo Numa.

The process of building/developing TwitchMX 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.

Much of the software work was done by virtue of starting from the code for Twitch, and much of the mechanical design was re-sizing and improving the parts created for Twitch.. The particular challenges in this project were: (1) Finding a satisfactory approach to mounting the turret servos; (2) Writing the code to interface the Wixel with the motor driver; and (3) Dividing software between two Wixels. Twitch was very much a prototype for TwitchMX, and lessons learned from Numa were useful as well. It only took four months to create a fully functional mech (compared with 10 months spent on Numa).

TwitchMechLineup_t.jpg
TwitchMX in a line-up of mechs: (L to R) HD2, TwitchMX, Nomad, Anubis, Ra

Hardware specs of TwitchMX:

The gaits (sequences of servo positions that result in walking, turning, etc.) were created with WebbotLib's Gait Designer. Correspondingly, the 'GaitPlayer' code from WebbotLib was ported with modifications to work with the Wixel board. Twitch and TwitchMX use the same walking gaits. TwitchMX also adds the pan servo to the gait, so that the turret is always looking forward while walking.

Electronics:
Building this Mech Warfare version of my original Twitch required more software, for which I needed a second Wixel, due to its limited 256 bytes of fast access RAM. This means that I have two main electronics boards, which is great for the extra peripherals (camera, scoring system, laser, airsoft gun, gun's motor driver...) needed by a mech. I also like that this setup is more modular, which is useful for flexibility in physical design.

WixelBoardMX01_t.jpg
The two main electronics boards for servos (L) and peripherals (R), and the xBee board (C).

TwitchMXElectronicsLayout_t
Layout of boards and wiring.

Software:
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: code for Wixel controlling servos & code for Wixel talking to xBee and motor driver. Probably the single largest coding task was learning how to set up hardware PWM and then use that knowledge to write an initial library for controlling (Pololu's) PWM motor drivers.

Pics (click for full size):
TwitchMX10_t.jpg TwitchMX01
TwitchTurret05 TwitchMXEndLeg01
TwitchMXCAD02_t TwitchMX05_t.jpg
TwitchGun01_t.jpg LaserFixture01


-5-11-2013