Joseph Jacobson and his team at MIT have developed miniature robots that can self-assemble using parts that float randomly in their environments. The robots also know when something is amiss and can correct their own mistakes.
Sequence of self assembly by the miniature robots
The robots come in two colors, yellow (Y) and green (G), and float around on a cushion of air. Each robot is programmed to latch onto a green robot on one side and a yellow robot on the other to form 5-robot strings such as YGGYY or GYYGG.
The robots also have a built-in mechanism to correct any errors they might make. They can check the color of their neighboring blocks and will unlatch themselves if the sequence is not correct.
Via MSNBC.