Introduction: The Carpet Crawler - a BEAM Robot.

  
The Carpet Crawler is a small robot which will shuffle its way across your floor.  Watch the video, and you will see how it got its name (that, and I'm an old prog rock fan at heart!). 

BEAM stands for Biology, Electronics, Aesthetics, Mechanics, and is a school of robot design working on the KISS philosophy - I prefer the "Keep It Sweet and Simple" definition.   Google for 'beam robotics' and you'll find a veritable plethora of sites.

The 'brain' of this robot is a latching relay, the sensors are a pair of microswitches and the 'muscle' is a modified servo-motor. Energy comes from 2 x AAA batteries.  A pair of LEDs brighten things up a bit.

The original video was blocked almost immediately (in the US) by the copyright stazi, so here it is without the music. 
Look HERE to hear the eponymous track (but no Peter Gabriel on this one).

 

Step 1: Tools and Materials

  
Almost no special tools required - You will just need standard electronics workbench tools.  However, you will need a Very Small crosspoint screwdriver to open the servo.

Brass strip - 1/32" x 1/4" x 8"
Plain stripboard
2 offcuts of copper strip stripboard
M2 (2mm) nuts and bolts

Micro RC servo (7.5g) with horns and screws.
DPCO latching 3 Volt relay - I got mine from Farnell (9899600)
(They no longer do PCB mounting. This is the SMD version - smaller)
2 x miniature microswitches.  Mine came out of a couple of CDROM drives
2 x LEDs - I used red ones.  (Blue or white may not work in this application)
1 x 100R resistor (Use 47R if using yellow or green LEDs)
2 x AAA battery holder and batteries
Thin link wire
 
In the UK we use both Imperial and metric measures.  Personally, I tend to think Imperial but measure metric.  As a quick reference,  3mm is 1/8"   25mm is 1"   305mm = 1'.

Step 2: Modifying the Servo

  
A standard radio control servo is designed to be driven by a train of pulses to accurately position the output shaft over 160 degrees or so of travel according to the input pulse width.  This is not what I want for this project, but a servo is also a motor and a gearbox in a small box, which is! 

There are two ways of modifying a servo for continuous rotation.  One involves retaining some speed and direction control of the motor by 'tricking' the control electronics.  This still needs the pulse train input to control it.  I don't want this.

The other way is to hack out the control electronics and connect the input wires directly to the motor which means you will need to control motor speed and direction directly.  This is what I've done here.
I did this some time ago without taking photos so I'll just give you THIS link to Guibot's Instructable.  Servos vary, but the principle is the same :- Stop potentiometer limiting movement : Cut off endstop tab on gear : Connect motor leads to supply leads.

Lay out the gears in line as you disassemble the gearbox as they are surprisingly tricky to put back if you lose the sequence.  If you don't have any silicone grease, preserve as much as possible as you do this and smear it back on the touching surfaces when you reassemble the servo.

Step 3: The Mechanics

  
Look at the photos for detail of how the chassis goes together.  If I was doing this again I'd make the stripboard a few holes longer and mount the relay back of the batteries.  Use the 2mm nuts to make a pillar for the servo to sit on, and tighten everything down tight, but make sure you don't put too much strain on the servo mounting lugs.

I found the best way to cut away the stripboard was with sharp cutters, holding and twisting a small portion from the centre of the area first, then nibbling away at each side, hole by hole.

Use a vice to put the initial bend on the brass strip, and then adjust the angle with a pair of pliers. I used a Dremel to give a bit of an edge for more grip front and back.

Mount the servo and put the front pair of horns on before you drill the brass, and drill and mount one by one to get the holes in the right places.  Use the tiny screws which come with the servo to fix the front strips and longer self-tappers for the rear as these also act as a mechanical endstop by hitting the stripboard. Put a piece of 3mm heatshrink over the long screws. 

The microswitches are glued onto the servo using contact adhesive, and positioned so the long screw clicks the microswitch just before the mechanical endstop.

Drill a hole in the base of the battery holder to fit the top of the bolt and allow it to sit flat on the board.  Attach with hot-glue.

Step 4: The Theory

  
The clever bit of the Crawler is the latching relay.  Unlike a normal relay, once power is removed from a latching relay coil, it will stay in the state it's in.  To flip it over you pulse the coil with the opposite polarity and it will change state and stay there until the next flip.  It's a relay with a memory!  The wiring of the DPCO (double pole change over) contacts reverses the polarity to the motor (so it reverses direction) on each flip of the relay.

The pulses to the relay coil come from the two microswitches which are activated when the relay horn gets to each endstop.  As each switch is activated, it energises the coil until the motor has reversed and driven the horn away from the endstop.

Step 5: The Electronics

  
I discovered that I could mount the SMD relay on a scrap of veroboard to make connections to it more easily.  The pin / hole pitch is entirely different, but with the thinness of the pins and the spacing of the holes it worked.  The pins are only just long enough, so cut off the tiny plastic lugs on the relay with a craft knife to give an extra fraction, and solder very carefully.

The LED board is another scrap of stripboard.  The LEDs are in parallel but connected so that current flowing one way lights one of them, and flowing the other way lights the other.  Solder them with the large terminal of one to the small terminal of the other.

I've used the same colour wires as the circuit diagram to make it easier to follow.   
Connect the small boards to the relay, switches and motor using thin link wire.  Cut the wires to length and solder to the boards and then attach them to the servo and battery holder with hot-glue.

The on/off switch is a small piece of tapered wood which is inserted to lever the battery away from the holder contact.

Step 6: Getting the Crawler Crawling

  
The little brute fired up first time and went crawling off.  If yours jams against one side and won't budge, swap over the motor connections to set it right.  By trial and error I foun
d that it got better grip if I flattened  the angles a bit.  If it goes off to left or right, gently tweak the arm of the microswitches to equalise the movement. 

While we're on the subject of robots you might like to read my story about the Instructables Robot.

"The Carpet Crawlers" is a song from "The Lamb Lies Down on Broadway" album by Genesis, before they became the Phil Collins band.  I saw them on the 'Lamb' tour in 1975, and the image of Peter Gabriel slithering around the stage in the Slipperman costume (with the inflatable genitals) is one which is not easily forgotten.