A user-configurable modular robotic (UCMR) system consists of one or several types of modules, that each have a given number of communication interfaces which allow them to communicate with each other – locally and globally. The modules also have physical interfaces that will allow them to be distributed or physically connect in different specific patterns depending on the degree of heterogeneity of the system and the shapes and connector-distribution of the individual modules.
A module may have specific capabilities, such as the ability to sense change of specific physical conditions in the environment (sensing), or the ability to affect the environment by inferring changes on specific physical conditions in the environment (actuation). Also, a module may have the ability to sense its own internal states as well as change these.
In a UCMR system there may be both active and passive modules. Active modules are able to process incoming data from communication channels and sensors and reason about how to act on this, while passive modules may function only as structural inserts or at most as communication hubs and switches allowing them to be used as extensions in a built structure, adding only to the physical presence while still allowing communication throughout the structure.