Parallel Self-assembly with SMORES-EP

It is common in nature that goups of individuals can form a variety of structures in order to overcome the limited capability of each individual, especially for insects who often need to collaborate in large groups to finish tasks. This collective intelligence is important to modular robots which are composed of numerous simple building blocks, or modules. While each individual module usually has limited capability, multiple modules are able to execute complicated tasks by assembling into suitable configurations.

There are several challenges needed to be addressed for modular robot self-assembly:

  1. Efficiency is important, especially for modular robotic systems which are supposed to have a large number of modules involved;
  2. Many physical constraints have to be considered for real hardware applications;
  3. Accurate docking is required which is usually a hard problem for modular robots.
A configuration composed of three SMORES-EP modules shown on the left can be represented as an undirected graph on the right.

In this work, we present a framework to do self-assembly for SMORES-EP system. A modular robot topology configuration is fully defined as a graph. Given a team of modules on the ground and the goal topology configuration to assemble, each module is assigned to a role in the goal topology configuration in an optimal way by solving a task assignment problem. Then the corresponding assembly actions are computed which can be executed in a parallel manner. For example, A team of SMORES-EP modules are on the gound and the task is to reach the location on top of a box. These modules have to self-assemble themselves into a vehicle with an arm in order to reach high locations. We first compute the assignment for each module in the goal topology configuration in an optimal manner, and then a sequence of assembly actions are computed. All modules mapped to the target kinematic topology with the same depth can be executed in parallel for efficiency.

A team of SMORES-EP modules on the ground is shown on the left and the goal topology configuration is on the right. The assignment result from right to left is 0\rightarrow1, 1\rightarrow5, 2\rightarrow2, 3\rightarrow0, 4\rightarrow6, 5\rightarrow4 and 6\rightarrow3.

In order to ensure the success of assembly actions, a docking controller is presented. The docking process is divided into three steps: navigation, pose adjustment, and approach. Given a set of assembly actions, the collision-free paths to navigate all involved modules are generated by a multi-vehicle planner. A simple path-following controller is running for each involved module to go to its goal location. Then adjust the pose of each module align the docking connector. Lastly, command every involved module to approach its mating connector to finish docking. For some special cases, a helping module is needed to lift the involved module and deliver it to the location for docking. The performance of the controller is demonstrated using real hardware.


  • [PDF] C. Liu, Q. Lin, H. Kim, and M. Yim, “Parallel self-assembly with smores-ep, a modular robot,” in 2020 international conference on robotics and automation (icra), accepted, Paris, France, 2020.
    author={C. {Liu} and Q. {Lin} and H. {Kim} and M. {Yim}},
    booktitle={2020 International Conference on Robotics and Automation (ICRA), accepted},
    title={Parallel Self-Assembly with SMORES-EP, a Modular Robot},
    address={Paris, France},
  • [PDF] [DOI] C. Liu, Q. Lin, H. Kim, and M. Yim, “SMORES-EP, a modular robot with parallel self-assembly,” Autonomous robots, 2022.
    title = {{SMORES-EP}, a Modular Robot with Parallel
    author = {Liu, Chao and Lin, Qian and Kim, Hyun and Yim, Mark},
    journal = {Autonomous Robots},
    year = {2022},
    doi = {10.1007/s10514-022-10078-1},
    url = {},
    issn = {1573-7527},
    pdf = {}