A modular robot system is composed of multiple elements which are able to connect or disconnect between each other. Those single modular robotic units usually present between one and three degrees of freedom. While a single module has restricted locomotion and reconfiguration abilities, a system of modules working together can overcome obstacles or manipulate objects. The world of modular robot system opens a door to new possibilities of robot configurations and applications. A modular robot is designed to achieve a task which it was not specifically created for. The system is adaptable and versatile but on the other hand it never reached the same efficiency as a robot especially designed for one task. A modular robot has the possibility to retrieve from a loss of functionality of one or more parts of the robot. The reason for this ability lies in the self-reconfiguration. Modular robots are also capable of separating in two or more individual systems. On the other hand two or more individual systems can be combined into one system. The transformation of one shape to another is called reconfiguration. The problems of self-reconfiguration or reconfiguration get more complex to solve with an increasing number of degrees of freedom. These problems present a topic for many researchers in the world.
The team of the BIOROB laboratory at EPFL developed a modular robot system, called Roombots. A Roombots module has 3 degrees of freedom and up to 10 active connection mechanisms to form links with other modules or with passive elements, such as a floor grid. A Roombots meta-module consists of two connected modules. This meta-module with 6 degrees of freedom is used in the developments of this project. The vision of the BIOROB team is to create adaptive furniture which allow a user to specify a desired goal shape and then reconfigures autonomously.
The past projects included both hardware and software development. A working reconfiguration framework exist, but it can encounter some dead-lock situations where modules get stuck. The solution is not optimal in terms of number of moves. The goal of this project is to study other existing solutions and based on this information recreate a new reconfiguration framework for the Roombots modular robot.
In the first step of this project the old framework is analysed as it exists. It consist of a low level planner which takes care of the inverse kinematics of the Roombots meta-module and the control of the servos. A centralised high level planner is responsible for the global path planning.
Firstly, some improvements are done on the low level planner. The introduction of a global coordinate system for the low level planner allows the communication of commands without including local references of modules.
Secondly, a study of the kinematics of a Roombots meta-module is done in order to define the reachable space of one meta-module. The configuration of a meta-module influences this reachable space. The results show that two Roombots modules connected in a SRS or SRZ configuration are able to reach more points in 3D space than meta-modules with PER or PAR configuration.
The main goal of this project is the creation of a new high level planner for the reconfiguration. Therefore the existing algorithm of a hierarchical planner for self-reconfiguration presented by Robert Fitch in 2010 is studied. Although the algorithm was written for the self-reconfiguration of single module systems, the concept could be adapted.
A new high level planner is developed based on a simplified Markov Decision Process. It works with the creation of a reward map which allows to find a solution for the reconfiguration which minimises the number of moves from an initial position to a goal position. The new framework is called Reward Based Reconfiguration (RBR) framework. The new algorithm is tested in 2D and 3D environments with external connector grids. Up to four meta-modules are used in the simulations. The computation time used for the calculation of reward maps with various sizes and geometries are calculated. The results illustrate the efficiency of the algorithm. No dead-lock situations were encountered. A discussion about the scalability is made although it could not be proven for an increasing number of modules.