Embodied Cognition Workshop

The Embodied Cognition Workshop is an educational project aimed at introducing modern ideas in robotics and artificial intelligence. It was developed by James Thorniley and myself at the University of Sussex.

Embodied cognition emphasizes the role of the body in behavior and cognition. There are many behaviors that seem like they require complicated algorithmic processing but in reality rely on the physical makeup of the agent performing the behavior. We have a small autonomous robot that demonstrates this principle. It is capable of a wide range of behaviors with absolutely zero programming. The participants in the workshop simply adjust the physical structure of the robot to make it do a number of tasks, each requiring very different behaviors.

We used a very simple robot design, with two light sensors and two actuated wheels. The innovation in this robot is in an adjustable head-piece covered in a strip of Velcro. This is used to position the light sensors.

Our Fleet of Braitenberg Vehicles

The workshop focuses on three tasks that demonstrate the range of the robots behavior, and that are reasonably challenging for the participants. One uses the approaching ("love") behavior, one uses the avoiding ("hate") behavior and the last requires the robot to follow a path. Each of them require a different basic physical configuration of the sensors, and can be performed with varying degrees of success depending on the fine details of the configuration. The tasks are therefore quite open-ended.

We have tried our best to document everything you need to recreate this workshop yourself. We describe below how to build and set up each of the tasks (attraction, avoidance and path following) and provide schematics (circuit and chassis), a part list, and documentation for the construction of the robot.

Robot Basics

The image on the left shows one of the robots (click to see a bigger version).

The sensors plug into a circuit board next to the motor which they control. When light shines on a sensor motor turns.

It's that simple.

The positioning of the sensors on the "visor", and moving the visor itself, changes the behavior of the robot. Although the behaviors lie on a continuum, there are two important classes:

Approaching (love) - sensors crossed:
  The sensor controlling the left motor is on the right of the robot.
  The sensor controlling the right motor is on the left of the robot.

Avoiding (hate) - sensors uncrossed:
  The sensor controlling the left motor is on the left of the robot.
  The sensor controlling the right motor is on the right of the robot.

Knowing these two types of configuration makes it much easier to get to grips with the tasks.

Attraction Task

The attraction task involves making the robot navigate around a series of obstacles. Points are scored by knocking down targets. The participants place lights (torches) at in various places and are not allowed to move them once the robot starts. The aim is to configure the robot, and choose the position of the lights so as to score as many points as possible.

The task is not as easy as it might first appear. Making the robot approach one light then switch to approaching another is initially quite difficult. The difficulty of the whole task is greatly determined by how much the layout of the obstacles and targets requires switching from one light to another.

Of the three tasks, this one requires the least amount of work and equipment to set up. All that is needed is some obstacles and some torches


In the avoidance task the robot must knock down as many targets as possible whilst avoiding those with lights. To do this one must position the sensors so that the robot turns away from the lights.

Success in this task is very much dependent on the exact positioning of the sensors and the potentiometer settings.

There are lights inside and surrounding around the arena. If one is successful at making the robot avoid the both kind of light, the robot will usually knock down a lot of targets in doing so.

The physical set-up of this tasks involves torches on stands, some targets and stands containing rows of fairy lights. The construction of the rows of fairy lights is the most involved part. It is important that the lights are at a hight that can be used by the robot to avoid the edges, and approximately the same hight as the torches.

Path Following Task

In the path following task the robot must be configured to navigate along an illuminated path. This is run as a time trial.

Success in this task is about configuring the sensors at the optimal balance between sensitivity to the light, the turning circle and speed.

The path in the image is made from electroluminescent wire (about 25m) with a 1m square, approximately 3mm thick, polycarbonate overlay. The overlay stops the robot wheels from getting caught on the wires.

A variation of this requires the robot to navigate around a maze with illuminated edges. It requires the robot to use an avoidance behavior rather than to approaching behavior and provides a good way of contrasting the two. It requires significantly more electroluminescent wire, but the overlay is no longer as important.

Notes on running the workshop

Some final notes on running the workshop:

  • The room must be quite dark, however...
  • The light dependent resistors used for the sensors are quite sensitive to red light, but not blue. If blue lighting is available this allows the participants to see and does not interfere with the robots operation.
  • The potentiometer settings can make a big difference, and they are a common cause of the robot "not working".

The chassis for the robot is built from laser-cut components, but we also have a 3D printable version. We have created a step-by-step guide with pictures which will guide you though assembling the body from the laser cut parts.

  Laser cut chassis (Versa-Laser compatible) [PDF]
  3D printable chassis [ZIP]


The circuit schematics are made using, designspark, a freely available circuit editor.

  Schematics [ZIP]

Tools and Parts

This is a full list of everything you will need to build a robot for yourself. In addition, to make things easier we have a part reference number list for some major suppliers.


  • Screwdriver
  • Glue Gun
  • Soldering Iron + Solder
  • Wire cutters

Prebuilt Components

  • Double Gearbox/Motor Set - The robot is designed for Tamiya, ITEM 70168
  •  Optional: cable tie to tidy up motor/connecting wires
  • Rear Castor - The robot is designed for Tamiya, ITEM 70144 (*360)
  • Two Wheels - We use Tamiya**, ITEM 70193 (*480)

**The design simply requires the wheels be reasonably large and compatible with the gearbox/motor set.

Printed Components

Controller parts

All the components should be of a through-hole mounting type:

  • 4 x Banana socket
  • 2 x Banana plug
  • 2 x 1nF capacitor
  • 2 x 0.1uF capacitor (electrolytics)
  • 2 x 3mm LEDS (color not important)
  • 2 x NE555P timer IC
  • 2 x Power P-MOSFET IRF9520NPBF
  • 2 x 20k pot - ALPS RK09K1130ACM
  • 2 x 220 Ohm resistor


  • PP3 connector and battery holder (4xAA)
  • TE CONNECTIVITY / AMP - 3-640441-2 - HOUSING, 24AWG, 2WAY


  • 2 x Banana Plugs
  • 2 x 150mm Length of Dual (or more) core cabling, or 4 x single core

For the body

  • 2 x 25mm M3 bolts
  • 2 x 16mm M3 bolts
  • 5 x 10mm M3 bolts (+4 included with rear castor)
  • 3 x 12mm (+8mm stud length) M3 spacers
  • 7 x M3 nuts (+4 included with rear castor), these must be <3mm deep
  • 4 x M3 wingnuts TR FASTENINGS M3- NWST-Z50-
  • M3 Washers to taste
  • 2 x Elastic Band


The eyes are attached to the body with Velcro. Get a roll of both sides of Velcro 20mm wide and at least 110mm length. Farnell order code 1454580 will get you what you want, the Velcro rolls found in most stationary shops are also suitable.

Easier Part Ordering

To make ordering easier, we've listed part numbers for the suppliers we use. Farnell has a quick paste function which will save a lot of time. This only covers the electronic components. The motors, wheels and castors must be ordered separately and we do not include the material for laser cutting.

Farnell order list:

Use the quick paste function to order everything from Farnell.

1098685,5,Power plug
588570,5,Power header
1200147,4,Banana plugs
1217038,4,Banana Socket
1216427,5,1nF Capacitors
1907208,5,0.1uF capacitors
9589899,2,555 Timer
1650675,1,PP3 Battery strap
1923960,1,2-core cable
1183117,1,Battery pack,
1419458,1,Wing nuts
1700228,50,220 Ohm resistors
830616,1,Cable ties

RS order list:

There is no quick paste function, but you can use these order codes.

729-3571, 2, 20k Potentiometer
221-140, 50, M3x12mm Spacer
189-563, 1, M3 nuts
528-744, 1, M3 10mm bolt
528-766, 1, M3 16mm bolt
528-930, 1, M3 25mm bolt

Buy elastic bands from a shop!