Braitenberg vehicles are described in the lectures as experiments in synthetic psychology: 14 vehicles designed and studied, whose purpose is to demonstrate a single uncomfortable claim.
Even extremely simple brains can show behaviours that look remarkably sophisticated to an outside observer.
"Synthetic" is the operative word. Analytic psychology observes a behaviour and infers a mechanism; synthetic psychology builds a mechanism and observes what an observer says about it. The direction of inference is reversed, and the result is a controlled demonstration of aspect (c) of the frame-of-reference problem from Chapter 3.
Two further statements from the deck deserve to be memorised together, because their combination is genuinely surprising:
That second point is the one examiners like. Unpredictability here has nothing to do with hidden information, randomness or complexity of the program. You have the full circuit diagram, the system is deterministic and reactive, and you still cannot say what it will do — because the behaviour is produced by the coupling with the environment, not by the circuit. Chapter 3, conclusion 2, demonstrated on a machine with two wires.
The minimal vehicle:
Now the observer. If the quality is temperature, an observer might get the impression that such an agent likes cold and tries to avoid heat: it lingers where it is cool and rushes through the warm regions. There is no preference inside the vehicle — only a proportionality — but "dislikes heat" is a perfectly good prediction of what it will do.
The perturbations clause matters. On a perfectly smooth surface Vehicle 1 travels in a straight line and the story is dull. Give it a slightly uneven floor and the trajectory acquires the wandering, purposeful quality that invites psychological description — the same mechanism as Simon's ant on the beach.
Vehicle 2 has two sensors for one particular quality and two motors. Again, the higher the amount of stimulus, the faster the motor goes — the connections are excitatory. Everything then depends on which sensor drives which motor.
| Wiring | What it does | What the observer says |
|---|---|---|
| 2(a) — uncrossed (each sensor drives the motor on its own side) | The agent spends more time where the quality is low, and speeds up to escape when it is exposed to higher concentrations | Fear? |
| 2(b) — crossed (each sensor drives the motor on the opposite side) | The vehicle points toward the stimulus source and speeds up until eventually hitting it | Aggression? |
Work the geometry once and you will never forget it. With uncrossed excitatory wiring, the sensor nearer the source drives the wheel on the same side faster, so the vehicle turns away. With crossed excitatory wiring, the nearer sensor drives the opposite wheel faster, so the vehicle turns towards the source. Two wires swapped; fear becomes aggression.
Vehicle 3 keeps two sensors and two motors but changes the sign of the coupling: sensors inhibit motors. The higher the amount of stimulus, the slower the motor goes.
The immediate consequence is shared by both wirings: both agents slow down in the presence of a strong stimulus and race when the stimulus is weak. They both seem to be attracted by the stimulus — because they spend most of their time near it.
| Wiring | What it does | What the observer says |
|---|---|---|
| 3(a) | The agent turns to the source and orients toward it; when straight at the source it will rest facing the source | Love? |
| 3(b) | The vehicle comes to rest facing away from the source and then drifts away from it | Explorer? |
Note what "resting" means here. The vehicle does not decide to stop; it stops because the inhibition has driven both motor speeds to nearly zero. Persisting at a location — which an observer will describe as attachment, or as having reached a goal — is a side effect of a sign. The same trick reappears formally in Chapter 7 as an attractive potential field whose vectors shorten near the goal.
Pick a wiring and press Run. Everything else is identical: same body, same sensors, same light. Then read the label an outside observer would attach to the trajectory.
Things get genuinely complex when the agent can sense different stimuli — for example light sensors and obstacle sensors, connected with positive and negative connections. The lectures record three consequences:
This is exactly the situation of lab activity 2, where phototaxis and collision avoidance must coexist in one controller, and it is the reason the course does not stop at Braitenberg: once several stimuli compete, you need a principled way to combine them. Arbitration (Chapter 6) and fusion (Chapter 7) are the two families of answers.
The higher-numbered vehicles add capabilities that will each be developed later in the course:
| Vehicle | What is added | Where it returns |
|---|---|---|
| 4 | Nonlinear dependency between sensors and motors — giving rise to "values and special tastes" and complex behaviours | Membership functions in fuzzy control (Ch. 7); activation functions in neural controllers (Ch. 10) |
| 5 | Adding logic, e.g. threshold devices | Conditions in behaviour trees (Ch. 8); transitions in probabilistic finite state machines (Ch. 11) |
| …and more | Braitenberg studies 14 in total |
The deck points to an online simulator for experimenting with the vehicles: harmendeweerd.nl/braitenberg-vehicles. The Thymio lab session (lab activity Thymio 1) explicitly allows a Braitenberg-like coding as a sufficient control structure for wandering with collision avoidance.
A Braitenberg vehicle outputs two numbers: a left and a right wheel speed. To reason about what it will do, you need the mapping between those two numbers and the motion of the body. The course gives it as a pair of linear transformations between the translational–angular model and the differential model.
With v the translational velocity, ω the angular velocity, vl and vr the linear left and right wheel velocities, and L the distance between the two wheels:
[ vl ] [ 1 -L/2 ] [ v ]
[ vr ] = [ 1 L/2 ] [ w ]
[ v ] [ 1/2 1/2 ] [ vl ]
[ w ] = [ -1/L 1/L ] [ vr ]
In words: the translational velocity is the average of the two wheel speeds, and the angular velocity is their difference divided by the wheel base. Equal speeds give a straight line; opposite speeds give a rotation in place; anything in between gives an arc.
These formulas are the bridge you will need in Chapter 7. A motor schema produces a vector (a length and an angle), which is naturally read as a translational and angular velocity; the robot, however, is actuated as a differential drive. The conversion from the roto-translational model to the differential one is exactly the first matrix above. In ARGoS, L is retrieved with robot.wheels.axis_length after adding the differential steering actuator.
Set the two wheel speeds and watch the path. Then read off v and ω computed with the formula above. This is the whole output stage of every controller in this course.
This section is short in the slides and central to the course. The argument runs:
When you say a vehicle is "searching", then "approaching", then "resting", you are cutting a continuous dynamics into named episodes. The cuts are in your description, not in the machine. This is the deepest version of the frame-of-reference problem, and it has a concrete design consequence: if you want behaviours to be real components, you must build them that way. That is the entire proposal of behaviour-based robotics.
Below is a single, continuous run of a Vehicle 3(a). Drag the two markers to segment it into named behaviours. There is no correct answer, which is the point.
The Extended Braitenberg Architecture (EBA) is the constructive answer to section 7. Its definition:
In the EBA, the behaviour is segmented a priori in terms of processes. Contrast with the plain Vehicle 3, where segmentation was purely observer based. The EBA is the moment the course crosses from reactive control into behaviour-based control.
Part 2 of the behaviour-based lectures adds the operational detail: sensors provide input to processes; processes compute an output that is integrated for each motor separately; in the simplest case, integration is computed by summing over all process outputs. Processes can also give input to other processes, which allows processes to influence — for example, modulate — one another.
The lectures give one worked EBA. Six processes run in parallel: mode-forward, avoid-obstacle, home, deposit, go-to-charging-station and recharge. They receive input from the robot's sensors and contribute activity to the robot's motors. Each process is implemented as a Braitenberg-style process — a simple neural network coupling the robot's sensors and motors. The processes are coordinated by a cooperative scheme: linear summation of process outputs.
Note that this robot is precisely the self-sufficient agent of Chapter 1: it collects garbage and keeps its own battery charged, which is why it needs six processes rather than one.
Before leaving the reactive world, the course states its properties and its limits in general form. Reactive control is based on rules of the type:
IF left light sensor is on THEN turn right
| Property | Statement from the lectures |
|---|---|
| Coupling | Uses tight couplings between perception (sensing) and action to produce timely robotic response in dynamic and unstructured worlds ("stimulus-response") |
| Decomposition | Uses a task-oriented decomposition of the controller. The control system often consists of parallel (concurrently executed) modules that achieve specific tasks — e.g. avoid obstacles, follow wall |
| Limitations | Minimal (if any) state · no learning · no internal models or representations of the world |
The limitations are exactly the three "task demand" questions of Chapter 4, section 6. No state means you cannot answer yes to "does the robot need to remember the past?"; no internal models means you cannot answer yes to "does it need to predict?"; no learning means you cannot answer yes to "does it need to improve over time?". If the task requires any of the three, reactive control alone is the wrong choice — and you now know exactly which chapter to go to.
They are experiments in synthetic psychology — 14 vehicles designed and studied — demonstrating that even extremely simple brains can show behaviours that look remarkably sophisticated to an outside observer. They also show that behaviour is easy to predict in the simplest vehicles but nearly impossible in the more complicated ones, even though these are simple reactive systems, and that even complete knowledge of the agent's inside still makes it difficult to control.
One sensor for one particular quality (temperature, light, …) and one motor; the higher the amount of stimulus, the faster the motor goes; motion is always forward except in the presence of perturbations. If the quality is temperature, an observer might get the impression that the agent likes cold and tries to avoid heat — because it lingers where the stimulus is low and speeds through where it is high.
Both have two sensors for one quality, two motors, and excitatory connections. In 2(a) the connections are uncrossed: the agent spends more time where the quality is low and speeds up to escape when exposed to higher concentrations — the observer says fear. In 2(b) they are crossed: the vehicle points toward the stimulus source and speeds up until eventually hitting it — the observer says aggression.
The sensors inhibit the motors: the higher the stimulus, the slower the motor. Both wirings slow down near a strong stimulus and race when it is weak, so both seem attracted. Case 3(a): the agent turns to the source, orients toward it and, when straight at it, rests facing the source — "love?". Case 3(b): the vehicle comes to rest facing away from the source and then drifts away — "explorer?".
When the agent senses different stimuli — for example light and obstacles, connected with positive and negative connections — the vehicle becomes extremely sensitive to parameter values and shows complex, unpredictable behaviour in a simple, reactive system. This is the situation of lab activity 2 (phototaxis with collision avoidance) and it is the practical reason for introducing principled coordination: arbitration and fusion.
Take a type 3 vehicle. It has no internal actions in the sense of separate internal modules, so it is not possible to list the actions in which the agent is involved. Any division of its activity into named behaviours therefore exists only in the observer's description. The behaviour itself emerges from the dynamics of internal variables in interaction with the environment.
The agent is equipped with a number of sensors; each sensor is connected to a number of processes; connections can be weighted to modulate a sensor's influence on a process. Processes compute outputs that are integrated for each motor separately, in the simplest case by summation, and processes can also feed other processes, allowing modulation. The key difference: in the EBA the behaviour is segmented a priori in terms of processes, whereas in a plain vehicle segmentation is purely observer based.
Six processes run in parallel — mode-forward, avoid-obstacle, home, deposit, go-to-charging-station and recharge. They receive input from the robot's sensors and contribute activity to the robot's motors. Each is implemented as a Braitenberg-style process, i.e. a simple neural network coupling sensors and motors. They are coordinated by a cooperative scheme: linear summation of process outputs. The robot is self-sufficient because recharging is one of its behaviours.
It uses tight couplings between sensing and action to produce timely response in dynamic and unstructured worlds ("stimulus-response"), and a task-oriented decomposition of the controller into parallel, concurrently executed modules achieving specific tasks. Limitations: minimal (if any) state, no learning, and no internal models or representations of the world.
vl = v - (L/2)·w and vr = v + (L/2)·w; inversely v = (vl + vr)/2 and w = (vr - vl)/L, where L is the distance between the two wheels. The translational velocity is the average of the wheel speeds; the angular velocity is their difference divided by the wheel base. Equal speeds give a straight line, opposite speeds give rotation in place.