Wow. Four students (Sean Geggie, Martin Have, Anders Nissen, Mikkel Vester) at the University of Aarhus, Denmark, constructed a Turing Machine tape read/write assembly in LEGO. This was a final project for the course Embedded Systems – Embodied Agents, taught by Ole Caprani of the LEGO Lab at Aarhus. On their blog Lego of Doom, they describe the initial idea as follows:
The “Turing Machine” will need to traverse a track of some kind, reading marks on the track and altering them. Reading and altering bits on a track entails three things: Detecting that the machine is over a cell, detecting the state of the cell and altering the state of the cell. These three problems will each be solved by careful application of various sensors. Many solutions exist for each problem and much experimentation will be needed to find out which yields the most stable results.
Architecturally speaking, the Turing Machine robot could be in contact with a PC via bluetooth connection. Via this connection, the robot could leave some calculations to the PC which would send back instructions. One example of this could be that the PC handles all the “boring” Turing Machine calculations while the robot itself could be in charge only of cell and bit state detection as well as motor control.
The main part of this project would be getting the robot to accurately read and set the bits on the track. The implementation of the turing machine itself is trivially accomplished. The “meat” of the project is embedding the program in a machine that actually performs computations in a physical environment.
They did all that and then they made an awesome movie about it:
HT: Francesco Berto/Andrea Sereni