SMORES-EP is a modular robot designed and built at the University of Pennsylvania, and used by researchers at Penn and Cornell. SMORES stands for Self-Assembling MOdular Robot for Extreme Shapeshifting, and EP refers to the Electro-Permanent magnets the modules use to connect.


SMORES-EP modules have four degrees of freedom (pan, tilt, and left/right wheels). The left and right wheels have rubber tired, and allows the module to drive like a car on flat surfaces. Each module has its own battery, and communicates with a central computer over 802.11 WiFi. So far, 24 modules have been built.
Each of the four faces of the module is equipped with an array of electro-permanent (EP) magnets that can form a strong connection with other modules, or with metal objects. Each EP magnet consist of an electromagnet coil wrapped around a pair of permanent magnet cores, and can be turned on and off by sending a pulse of current through the coil. With the magnets turned on, a connected modules sustain a holding force of 89 Newtons with no power consumption – they only require power when connecting and disconnecting. SMORES-EP modules communicate with one another by exploiting the inductive coupling of the magnets, essentially using them as short-range radios.
Research Projects
SMORES-EP is part of a number of research efforts. More information about them can be found in the articles linked below.
SMORES-EP, a Modular Robot with Parallel Self-assembly
ICRA 2020 (Accepted) and Autonomous Robots 2022
Self-assembly of modular robotic systems enables the construction of complex robotic configurations to adapt to different tasks. This is inspired by the collective intelligence in nature that groups of individuals can form a variety of structures in order to overcome the limited capability of each individual. We present a framework for SMORES types of modular robots to efficiently self-reconfigure into kinematic topologies in tree structure.
A Distributed Reconfiguration Planning Algorithm for Modular Robots
IEEE RA-L 2019
Featured on Engadget!
Self-reconfigurable modular robots are usually composed of multiple modules with uniform docking interfaces that can be transformed into different configurations by themselves. The reconfiguration planning problem is finding what sequence of reconfiguration actions are required for one arrangement of modules to transform into another. We present a novel reconfiguration planning algorithm for modular robots. The algorithm compares the initial configuration with the goal configuration efficiently. The reconfiguration actions can be executed in a distributed manner so that each module can efficiently finish its reconfiguration task which results in a global reconfiguration for the system. In the end, the algorithm is demonstrated on real modular robots and some example reconfiguration tasks are provided.
Autonomous Modular Robots
Science Robotics 2018
The theoretical ability of modular robots to reconfigure in response to complex tasks in a priori unknown environments has frequently been cited as an advantage and remains a major motivator for work in the field. We present a modular robot system capable of autonomously completing high-level tasks by reactively reconfiguring to meet the needs of a perceived, a priori unknown environment.
Environment Augmentation with Modular Robots
Proc. ICRA 2018
Featured on IEEE Spectrum and TechCrunch!
We present a system enabling a modular robot to autonomously build structures in order to accomplish high-level tasks. Building structures allows the robot to surmount large obstacles, expanding the set of tasks it can perform. This addresses a common weakness of modular robot systems, which often struggle to traverse large obstacles.
Configuration Recognition with Distributed Information for Modular Robots
Proc. ISRR 2017
Modular robotics systems are designed to be very versatile so that they can adapt themselves to different tasks and activities. Due to this advantage, the number of all possible configurations of the system increases drastically as the number of modules increases. Hence, configuration recognition, namely matching a new modular robotic configuration to an existing configuration in a library and mapping each module in these two configurations is an essential problem in modular robots application. This paper presents an efficient algorithm by making use of distributed information and new structure of the library.
An End-to-End System for Accomplishing Tasks with Modular Robots
Best System Paper at RSS 2016
Finalist for Best Conference Paper and Best Student Paper at RSS 2016
The advantage of modular robot systems lies in their flexibility, but this advantage can only be realized if there exists some reliable, effective way of generating configurations (shapes) and behaviors (controlling programs) appropriate for a given task. In this paper, we present an end-to-end system for addressing tasks with modular robots, and demonstrate that it is capable of accomplishing challenging multi-part tasks in hardware experiments.
Design and Characterization of the EP-Face
Proc. IROS 2016
We present the EP-Face connector, a novel connector for hybrid chain-lattice type modular robots that is high- strength (88.4N), compact, fast, power efficient, and robust to position errors.
PaintPots: Low Cost, Accurate, Highly Customizable Potentiometers for Position Sensing
Proc. ICRA 2017 and JMR 2021
The PaintPot manufacturing process is a new way to create low-cost, low-profile, highly customizable potentiometers for position sensing in robotic applications. It uses widely accessible materials, requires no special expertise, and creates custom potentiometers in a variety of shapes and sizes, including curved surfaces.
Computer-Aided Compositional Design and Verification for Modular Robots
Proc. ISRR 2015
To take full advantage of the flexibility of a modular robot system, users must be able to create and verify new configurations and behaviors quickly. We have developed a design framework that facilitates rapid creation of new configurations and behaviors through composition of existing ones, and tools to verify configurations and behaviors as they are being created.
Modular Robot Design Embedding
Proc. ICRA 2015
We have developed an algorithm that automatically detects embeddability of modular robot configurations. Simply put, a given design embeds another design if it can replicate its structure, and therefore simulate its functionality. We introduce a novel graph representation for modular robots, and formalize the notion of embedding through topological and kinematic conditions.
SMORES v1
Proc. IROS 2012
The mechanical design of SMORES-EP is based on that of its predecessor, SMORES v1. SMORES v1 used permanent magnets for connection. Two prototype modules demonstrated locomotion and reconfiguration.