Saturday, September 10, 2011

Physical assembly

Physical assembly

The robot is built around a piece of 1/8" thick waterjet-cut steel plate, provided by Big Blue Saw.  All the major structural elements - the leg mounts and the outer shell - attach to this center piece.  Earlier versions of the robot were completely handmade.  Investing in a waterjet-cut frame helped tremendously - everything was actually aligned properly and held securely, which can't be said for some of the handmade frames.

The power indicator is semi-permanently attached to the front of the frame.  The indicator assembly is mostly built up from copper wire, which is wrapped around part of the steel frame at the front and soldered to itself to stay in place.

Physical assembly of the robot actually starts by securing the servo wires to the leg structure.

The servo wires are routed through some steel spring material I found in a scrapyard.  I don't know what this stuff was originally used for, but it makes a decent wire loom, and looks better than just using zip-ties or heat-shrink on the servo leads.  The two servo leads from each leg are run through a sleeve that is also slipped over part of that leg's support structure, and then all four leads from each side run together through a sleeve before plugging into the Pololu SSC board.

The shell of the robot's main body is made from a three inch copper tank float from McMaster-carr, caved up with my trusty Dremel tool.  Each shell half mounts to the main structure at three points, connecting with hand-cut right-angle aluminum blocks.  The mounting hole at the front of the frame is occupied by the robot's main power switch.

Actually getting all of the electrical parts inside the shell is challenging.  The battery just barely fits into the available space, and all the other parts need to be placed in just the right locations for everything to fit.  I haven't quite got the wires run properly in this shot.

Here I almost have everything in place.  You can see the charging jack, attached to the upper half of the shell which is upside-down on the right side here.  That will need to be carefully routed around the battery to the back of the robot.

The top half of the shell is attached now.  On the back of the shell, above the charging jack, is the connector for an external antenna.  I almost never actually run the robot with an external antenna, as even with just the jack the radio range is more than enough for the distances I usually let the robot get from me.

Flipped upside down and with the bottom cover removed, you can see the antenna lead connecting to the Xbee radio, mounted on the Xbee explorer board attached to the Pololu SSC.  Once I manage to get the robot assembled, everything is very tightly packed.  Other than the power switch, charging jack, and external radio connector, nothing is actually physically mounted.  Everything is just wedged together so tightly that nothing can move or get loose.  This is not actually the best practice, but there's really no room for mounting hardware inside the robot, and I take some care not to have anything rubbing against sharp edges or having wires with no slack that can get pulled loose.

Once the central body has been assembled, I can move on to the legs.

Each leg is made up of two servos, a 'knee' segment, and an outer leg and foot assembly.  Assembly starts by mounting the inner servo, the one which moves each leg forwards and backwards, to the frame.  On some of the earlier robots I built I'd cut the mounting tabs off the servos and glued them in place.  That was a bad idea for multiple reasons.  Not only did the glued joints fail too often and make it hard to maintain the servos, but the direct connection didn't offer any cushioning.  Here I've made a point of using good quality rubber isolators and brass ferrules at all four mounting points on each servo.  I'm hoping this will help prevent both broken gears and cracked mounting tabs by spreading out the loads and providing some degree of impact cushioning.

Here the 'knee' segment and the second servo is attached.  The knee segment is cut from a piece of 2 inch aluminum tubing.  I designed this piece in Autocad, initially as a 3D object, from which I generated a 2D pattern that I then printed out and wrapped around a tube, taping it in place.  I then used a drill press to drill the holes for mounting hardware and axle points, and then cut out the openings again using my dremel tool.  This design has worked very well.

Here you can see how the second shaft I've added to the servo fits into the knee segment.  Having a second pivot point on the back of the servo in-line with the main servo axle makes the legs far more rigid.  Servos made specifically for robot use often come with this feature built-in.  Here I've carefully modified the cheap hobby servos to have a pivot, hopefully in a way that won't compromise the structural integrity of the servo case too much.

The last step is to attach the outer leg/foot assembly to the second servo.  Each of these is made of up several pieces of metal.  A waterjet-cut steel frame is attached to the servo, again using four screws to attach to the servo mounting points.  Welded to that is a short length of half-inch diameter steel tubing.  Inside the tube, at the end, is a oil-impregnated bronze bushing retained by a welded-on washer capping off the end of the tube.  The foot is a brass drawer knob, which along with a spring and a shoulder screw that slides freely in and out of the bushing makes for a crude shock absorber mechanism.

The choice of the material for the foot came after a long period of trial and error.  This robot walks with a somewhat sloppy ambling gait, where the legs move forwards and backwards in diagonally opposite pairs.  At most points in the walking gait two legs are pushing backwards, one is raised and moving forwards, and one is moving forwards while sliding along the ground.  Early versions of this robot had square rubber pads for feet.  Those tended to get stuck on anything but very smooth surfaces.  For walking on carpet, I found that smooth, round, slightly slippery feet worked best - the robot needed to be able to push against the ground yet not have the forward-moving feet catch on anything.  I used nylon balls on the 2007 version of the robot, and those worked well, but for this version I decided I wanted a more steampunk look, with brass and copper parts, and went with some nice little brass knobs for feet.

That's the basics of the physical assembly.  Still a bit of an annoying problem is what to do with the loops of excess servo lead leaking out of the leg joints.  In the past I've looped these up and anchored them in place with a bit of tape or a zip-tie, but neither of those solutions really fits with the design philosophy of the robot.

No comments:

Post a Comment