Abstract: Modular robots are mechatronic devices that enable the construction
of highly versatile and flexible robotic systems that can
dynamically modify their assembled mechanical structure.
The key feature that enables this dynamic modification is the
capability of the individual modules to connect to each other
in multiple ways and thus generate a number of different mechanical
systems, in contrast with the monolithic, fixed structure of
conventional robots.
The mechatronic flexibility, however, complicates the development of
models and programming abstractions for modular robots, since
manually describing and enumerating the full set of possible
interconnections is tedious and error-prone for real-world robots.
In order to allow for a general formulation of spatial
abstractions for modular robots and to ensure correct and streamlined
generation of code dependent on mechanical properties, we have
developed the Mechatronics Description Language (MDL). MDL is a
domain-specific language, which can model the
kinematic structure of individual robot modules and declaratively
describe their possible interconnections, rather than requiring the
user to enumerate them in their entirety. From this description, the MDL
compiler generates the code that is needed to simulate the
resulting robots within Webots, a widely used commercial robot simulator,
and the software component needed for spatial structure
computations by a virtual machine-based runtime system, which we
have developed and use for programming physical modular robots.