[ca] Durant els anys 70, va aparèixer en el camp de la robòtica el concepte de robots modulars. Aquest, consisteix en sistemes robòtics que estan formats per diversos mòduls connectats, que poden tenir funcionalitats diferents. Aquests robots, també poden canviar la seva forma, recol·locant els seus mòduls.\newline Els robots modulars poden ser de molts tipus: arquitectura reticular, arquitectura en cadena o una barreja d'ambdues. A més a més, els mòduls poden variar en la seva forma. Quan es recol·loquen, cada mòdul pot moure's d'una forma diferent: comprimint-se, pivotant o lliscant. És per aquestes diferenciacions i l'habilitat de canviar de forma, que els robots modulars tenen un ampli ventall de possibilitats junt amb habilitats crítiques com l'adaptabilitat o la capacitat de fer feines diferents. Canviar de forma es una de les característiques més importants dels robots modulars, però també és on la major part dels problemes de computació resideixen. Per canviar de forma, els robots modulars poden fer ús de diferents mètodes: auto-reconfiguració, auto-ensamblament o desensamblament, embolcallament, etc. En aquest projecte ens centrem en l'auto-reconfiguració. L'objectiu d'aquest projecte és dissenyar i desenvolupar un algorisme de reconfiguració, centralitzat, per a mòduls amb forma quadrada i arquitectura reticular, que es mouen lliscant els uns sobre els altres, el qual reconfiguri una certa configuració C en una altra configuració, C', que tingui el mateix nombre de mòduls. Aquest procés de reconfiguració es pot dividir en tres parts diferents. Primer de tot, reconfigurem C en Rc, la qual és la configuració resultant de inundar la capsa contenidora de C de baix a dalt i d'esquerra a dreta amb el mateix nombre de mòduls. Després d'això, necessitem reconfigurar Rc en Rc', la configuració resultant de inundar la capsa contenidora de C'. Finalment, hem de reconfigurar Rc' en C'. Com el segon pas es un problema trivial de reconfiguració i el tercer pas és la inversió del primer, en aquest projecte ens hem centrat només en el primer pas. En aquest projecte hem analitzat els costos del nostre algorisme de forma tant teòrica com pràctica. Si n és el tamany de la graella d'entrada i m és el nombre mòduls del robot, el cost en computació de l'algorisme es O(n) i el nombre total de moviments fets pels mòduls del robot és O(m^2). Aquest límit està acotat.\newline En els experiments pràctics, vam executar l'algorisme amb diverses entrades de diferents tamanys i estructura. Els resultats mostren que contra més s'acosta m a n, més gran és el temps d'execució. De totes formes, quan tanquem tots els mòduls movibles a l'interior de les jerarquies de pseudo-forats augmenta el nombre de moviments realitzats durant la reconfiguració.

[en] In the 1970s the concept of modular robots appeared in the field of robotics. This consists of robot systems formed by several connected modules which can have different functionalities. These robots can also change their shape by relocating their modules.\newline Modular robots can be of many types: lattice based, chain based or a mix of both. In addition their modules can be of many different shapes. When relocating, different modules use different movements: compressing, pivoting or sliding. Due to these many differences and the ability to change their shape, modular robots have a large range of possibilities and critical abilities such as adaptability or the ability to undertake many different jobs.\newline Reshaping is one of the most important features of modular robots but it also is were most of the computing issues arise. To reshape, modular robots can apply many different approaches: self-reconfigurating, self-assembling or disassembling, grasping, enveloping, etc. In this project we focus on self-reconfiguration.\newline The goal of this project is to design and develop a centralized reconfiguration algorithm for square-shaped lattice-based modular robots whose modules move by sliding, which reconfigures a certain configuration C into C' with the same amount of modules. This reconfiguration process can be divided in three different parts. First of all, reconfiguring C into Rc, which is the resulting configuration from flooding the bounding box of C from bottom to top and from left to right with the same number of modules. After that, we need to reconfigure Rc into Rc', the resulting configuration from flooding the bounding box of C'. Lastly, we have to reconfigure Rc' into C'. Since the second step is a trivial reconfiguration problem and the third step is the inversion of the first one, in this project we focused only in the first step.\newline In this project the cost of the algorithm has been analyzed in both a theoretical and a practical way. If n is the size of the input grid and m is the number of modules of the robot, the computation cost of the algorithm is O(n) and the total number of moves of the modules of the robot is O(m^2). This bound is tight.\newline In the practical experiments we ran the algorithm with many inputs of different sizes and with distinct structures. The results showed that the closer m was to n, the larger was the execution time. However, when nesting all the movable modules in the depths of the pseudo-holes' hierarchies the greater was the number of steps the reconfiguration had to make.