A Modular Robot That Self-Assembles