Self-assembling robots