Eciton robotica: Design and Algorithms for an Adaptive Self-Assembling Soft Robot Collective