The locomotion system is based on muscle wires of Nitinol.
Its mission consists of moving as far as possible avoiding the obstacles that are in their way.
The muscle wire is an alloy (Nitinol) that belongs to the group of the so called materials with form memory. The wire is compressed between 3 and 5% of its length when warming up itself by the passage of an electrical current and return to its normal state when cooling off (annulling the passage of electrical current). The contraction is fast (0.5 sg), but the relaxation is slower as thicker is the muscle wire, varying between 0.7 sg for a wire of 37 micrometers and 14.5 sg for one of 375 micrometers.
These long times of relaxation and small ratios of compression will imply that the robot moves slowly, with very short and slowed down steps.
The legs are made with steel wire and therefore they are relatively elastic.
Each leg has an only muscle wire that moves backwards the leg when being compressed (applying electrical current).
The meeting point between the leg and the ground is slightly inclined backwards to assure the adhesion to the ground in the backwards movements of the leg and to reduce this adhesion in the forwards movements of the leg, necessary to allow him to walk since when having an only degree of freedom, only could drag the legs over the ground.
When we stop applying electrical current to the muscle wire it cools off and stretches to its rest position. Since the leg is of steel wire, its elasticity tends to move forwards the leg until its rest position.
Due to this structure of legs the robot cannot walk backwards.
Basically it is a control system by microcontroller PIC16F84 and a driver of 8 channels (open collector) of which will be used 6 to give to the muscle wires the current that need to be compressed.
He has contact sensors (bumpers) in the frontal part (antennas) that allow to detect obstacles.
Next is the electrical scheme:
The circuit includes a diode to prevent errors with polarity when connecting the battery and a 5v regulator to be able to use external feeding to 9v.
Terminals "PROG" allow ICSP programming (In Circuit Serial Programming) of the microcontroller already mounted in plate.
Terminals "IZDA" (Left) and "DCHA" (Right) correspond to the connections to the muscle wires of the legs. All the muscle wires have on common end and the other connected to each one of these pins. The common end, that correspond with the union of the muscle wire with the leg of steel wire, will be connected to the positive of the battery, between the diode and the voltage regulator.
The programming has been made in C language, using the freeware cross compiler PICC Lite of HTSOFT
The algorithm is simple. Simply it makes the robot move by moving the legs three by three so that they always form a support triangle. When one of the antennas detects an obstacle, the robot moves only the legs of a side one to one to force the turn since as it has been mentioned before, the robot cannot walk backwards.
The code is suitably commented for its understanding.
Scheme and PCB in Eagle format (.ZIP)
Control program in C (.C)
Extra pictures (.ZIP)