For the next issue of MAKE, our second robot-themed issue, I’m doing a review of one of my favorite robot-related books, Valentino Braitenberg’s Vehicles: Experiments in Synthetic Psychology. It is a seminal work in robotics, especially with behavior-based robotics, BEAM, and other forms of simple, bottom-up robot architectures. Alex at Tinkerlog decided to build a simple robotic platform to experiment with Braitenberg vehicles, but using Ardunio, so that inputs and outputs could be easily swapped around in code rather than analog rewiring. He writes:

Valentino Braitenberg developed a model of simple vehicles with sensors and actuators (motors) and interconnections between them. While the vehicles are extremely simple, the emerging behaviour is not. It is often interpreted as love, aggression, or caution.

The easiest one is a light seeking vehicle. That’s like “hello world” in robotics. The sensors are affecting directly the motors. The right sensor affects the left motor and the left sensor affects the right motor. That means, if light shines on the right sensor, the left wheel turns. And if the light shines brighter on the right sensor, the left motor will turn faster than the left one and so the vehicle will turn towards the light source.

These kind of simple robots can be build with analog techniques alone, they don’t need a microcontroller. Think of two sensors feeding into two amplifiers that control the motors. The big advantage a controller brings in, is the possibility to rewire the connections between inputs and outputs in software. Even more complex functions for the interconnections can be reprogrammed easily.

Arduino-powered Braitenberg vehicle