Sunday, June 9, 2013

Zoidberg : Control via a PS3 controller

Here I have kludged together a bit of software to take input from a bluetooth paired PS3 controller and send commands out of the XBee modem attached to my laptop.  The two analog sticks function for "look" and "drive", the face buttons select gaits, and the top right shoulder button engages "strafe".

Sunday, June 2, 2013

Zoidberg : IK based walking

With some wrangling of the existing code base, I have gotten basic IK walking working.  These servos have a higher resolution than the ones that the code was originally written for.  I think now I will do a little bit of physical optimization, perhaps some reworking of existing parts.  Then work on further software tuning.  
Two gaits are shown a basic ripple gait and a smooth ripple.  The smooth version has more steps per cycle.

Monday, May 27, 2013

Zoidberg : Sequenced Motion

And now begins the "complicated" part, teaching the robot to walk.  I have been working for a little while to get an existing code base to play nicely with my mechanics.  I have made some progress, but not enough to get the robot to walk with a gait generated in real time.
One very nice feature of the servos used for this project is that I can shut the torque off to them, and pose them.  I can then read the pose position with a connected PC,  and then play back that sequence.  Sort of like stop frame animation.  This crawl gait was generated that way, with approximately 15 separate poses.  
More work is needed with the other software.  It is capable of mathematically generating positions of each leg for movement, altering step lengths and such dynamically.  

Sunday, May 19, 2013

Zoidberg : Significant Steps

In the last post I showed some parts that I designed to be cut out of thicker material, primarily to allow for the tab that remained to be tapped.  Due to some unforeseen circumstances with the mill, I scrapped several sets of these parts.  Partly as a result I redesigned the parts to be cut from thinner sheet.  The tapped holes were moved to the mating part, which simplified construction.

Parts are now cut from .080" or approximately 2mm thick aluminum sheet.  I used a heat activated clamping compound to hold the parts to a backup plate.  This lets me cut around the perimeter without worrying about holding the part from the sides.  Since the sheet is kept flat, it's easy to put a consistent chamfer around all exterior edges of the parts.

Here are the parts which make up the frame for the "body" of the robot.

Action shot.

Here are all of the parts which make up a single leg.  The two thicker parts are milled from 1/4" thick aluminum. I'm not entirely happy with these, they will be the first parts that I remake.  They will be functional for now, but they need some refinement.

And here is the leg assembled.  I may play a bit with servo orientation, I'm not positive that this is the final arrangement.  

And the robot mainly physically assembled.  Nothing is wired and none of the servos have had their ID's set up.  I also still need to cut a plate to mount the Arbotix board to. 

Sunday, May 5, 2013

Zoidberg : First Parts

I have wanted to build a quadruped robot for a long time. I have done a number of different simpler hex configurations for fighting robots, but nothing higher than 2DOF. I had started planning many times based on hobby servos, and I have a rather large box of them from other projects, but their inherent shortcomings for robot use made me think twice about spending the money on ones suitable for the design I wanted. I considered modding my own with better control and position sensing, but scrapped that as well due to time and cost. Then I found out about the Robotis MX line of servos  It was pretty much the servo I would build, only someone else has already done the work for me. 

Zoidberg will be a 3DOF quad using MX28's. I have worked out an initial design for the legs, and I'm still tweaking the body and frame design. Control will initially be an Arbotix board with XBEE's. I want to set up a PS3 controllers with my laptop and an XBEE to send commands, still looking through what exactly I need to do this. Future goals include getting some type of vision system working on it with landmark assisted navigation.

Here is the design for the coxa of the robot.  It is an assembly of 5 parts, the center plate and 4 identical arms which bolt to the center plate.  I will begin with the arms.  There are more of them than any other single part in the robot.  

To begin with, I squared up the stock and brought it to an overall thickness of 6mm.  I used 1/4" thick nominal aluminum extrusion, which allowed me to take a few thousandths off each side.  

Indicating the center of the part.  I like to work from the center as it allows me to keep everything even throughout the machining process.  The first feature put into the parts will be the tapped holes that bolt everything together.  It's easiest to do this now while the whole part is square rather than later on when more stock is removed.  


Here we are all drilled and tapped.