The RoFI platform is expected to allow construction of reconfigurable robotic systems using small autonomous units. A typical use case for the platform is to validate algorithms for reconfigurable robots in a physical world or test hypotheses rather than solving real-world problems.
Design Goals
Our overall goal can be broken down into the following requirements of the platform:
- Platform Requirements: We expect the platform to define standardized autonomous modules, which can physically connect via a connector system in versatile self-reconfigurable systems. The requirements boil down to a design of module shape and connector positions such that the system can be easily reconfigured. Versatility can also be supported by the extensibility of the platform – the platform should allow for specialized modules (special actuation or sensors). The platform should allow distributed control as a distributed environment can be easily converted to a central control. However, the vice-versa is not easily possible.
- Connector System Requirements: The connector system is a crucial part of the platform as the modularity relies on it. The connector should allow the modules to connect in a variety of useful arrangements and should not restrict the number of possible configurations. Therefore, it should be genderless and should allow for several possible orientations of two connectors. The connector should be also strong enough to support large systems of modules. To support fault-tolerance of the platform, disconnection of a module from the mating side should be possible without the cooperation of the mating side. Such functionality is useful in case of module malfunction. The connectors should also drain energy only when changing state from connected to disconnected and vice-versa. The connector should also allow for communication and power sharing among the modules.
- Usability Requirements: We expect the platform to allow for fast software development. Therefore, the platform should provide a formal model of the platform and allow for easy porting of existing algorithms and libraries. The formal model of the platform allows to reason about systems and also establishes terminology. Porting existing libraries and algorithms is beneficial for fast development since it enables to adapt existing, tested code. Both easy development of new programs and porting existing ones can be achieved by leveraging standard technologies. The platform should also provide an automatic way of program distribution among the modules and should deal with debugging in the distributed environment to make development for the platform more pleasant.
The RoFI Platform
The RoFI platform is a lattice type modular, self-reconfigurable and metamorphic platform. The platform is defined by:
- a grid system with a module shape requirements,
- a connector system ,
- an inter-module communication and
- module descriptions.
The platform also comes with a formalism for describing configurations of systems built in the platform and also gives an example of a module fulfilling the specification in the form of the universal module. We also give a description of the software architecture
Tooling For The Platform
To aid the usage of the platform we develop several tools; namely:
- we provide a tool to compute reconfigurations. The tool implements basic state-space based algorithm (A*, RRT, RRT*).
- We also provide a visualizer for the reconfiguration sequences. This command line tool takes the output of the reconfiguration and creates a video sequence.
- Last, we work on a simulator which allows to run programs for RoFIs on a computer in a virtual environment.
Available Hardware
- RoFICoM – stand-alone connector mechanism which allows the modules to mechanically connect, communicate and share power.
- UniversalModule – basic building block of the platform.