Over at MIT, a student came up with an idea for modular robots – independent robots that can operate on their own or recombine with each other in various ways to create brand new robots made up of these smaller autonomous units.

It took some tinkering, but the idea came to fruition. They're called M-Blocks – small cubes without moving parts, loaded up with electronics that help them roll and jump around a room.

And as you'll see in the video below, they are smart enough to detect each other and figure out how to join up to create new devices.

What's the end goal? They'd like to eventually have "hundreds of cubes scattered randomly across the floor to be able to identify each other, coalesce, and autonomously transform into a chair, or a ladder, or a desk, on demand."