Switchy was my first attempt at a robot that was basically a modified H bridge and two switches.  Beam-online has an excellent tutorial on how to make the front bump switches I used on the front of Switchy.  The basic design is a Microcore that has two outputs low and two high and when the microcore sees a high signal from one bump switch it reverses the outputs thereby reversing the motors.  So when Switchy is in normal state he moves forward, when a bump sensor hits something he rotates away from that sensor and when both sensors hit something he just backs up.  This design was very simple and hardly qualifies as a robot, but its neat to watch him scoot along and avoid obstacles. 

    I think the simplicity of design is what makes him work so well.  One of the aspects of Beam design is the idea that basic tasks (walking, turning to face light, object avoidance) should be 'built in' or instinct for our robots and then additional circuitry can influence or change these basic behaviors.  Using this method there is no need for powerful processors to calculate every possible scenario.  Much like some of the systems of the body (breathing, site, blinking) that are autonomous , we don't consciously have to control them - this same principle can apply to our bots.  Build in systems and make each system as autonomous as possible and yet still allow outside influence from our programming. Bicore and Microcore are perfect for this type of design platform. 

    Mark Tilden proved that just using a Bicore and Microcore you could construct a robot walker that could follow a light source and no embedded code or programming was used. It was all instinct for this bot.