UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE ENGENHARIA MECÂNICA
Anelize Zomkowski Salvi
ENUMERATING AND ASSEMBLING CONFIGURATIONS WITH MODULAR ROBOTS.
Florianópolis
2018
Anelize Zomkowski Salvi
ENUMERATING AND ASSEMBLING CONFIGURATIONS WITH MODULAR ROBOTS.
Tese submetida ao Programa de Pós- Graduação em Engenharia Mecânica para a obtenção do grau de Doutor em Engenharia Mecânica. Orientador: Henrique Simas, PhD Coorientador: Roberto Simoni, PhD
Florianópolis
2018 Ficha de identificação da obra elaborada pelo autor, através do Programa de Geração Automática da Biblioteca Universitária da UFSC.
Salvi, Anelize Zomkowski Enumerating and assembling configurations with modular robots / Anelize Zomkowski Salvi ; orientador, Henrique Simas, coorientador, Roberto Simoni, 2018. 224 p.
Tese (doutorado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós Graduação em Engenharia Mecânica, Florianópolis, 2018.
Inclui referências.
1. Engenharia Mecânica. 2. enumeration. 3. modular robots. 4. assemble sequence planning. 5. metamorphic robots. I. Simas, Henrique . II. Simoni, Roberto . III. Universidade Federal de Santa Catarina. Programa de Pós-Graduação em Engenharia Mecânica. IV. Título. Anelize Zomkowski Salvi
ENUMERATING AND ASSEMBLING CONFIGURATIONS WITH MODULAR ROBOTS.
Esta Tese foi julgada aprovada para a obtenção do Título de “Doutor em Engenharia Mecânica”, e aprovada em sua forma final pelo Programa de Pós-Graduação em Engenharia Mecânica.
Florianópolis, 07 de Maio 2018.
Jonny Carlos da Silva, PhD Coordenador do Curso
Roberto Simoni, PhD Coorientador
Banca Examinadora:
Henrique Simas, PhD Presidente
Tarcisio Antonio Hess Coelho, PhD Relator
Clovis Sperb De Barcellos, PhD
Fábio Baldissera, PhD
Luís Paulo Laus, PhD
Marcelo Sobottka, PhD
To my husband.
AGRADECIMENTOS
I would like to thank my supervisor, Prof. Henrique Simas, and my co-supervisor, Prof. Roberto Simoni, for the patient guidance, en- couragement, advice and friendship throughout all my time as a stu- dent. They have been crucial to this work and to my formation as a scientist. Special thanks to my committee, Prof. Tarcisio Antonio Hess Coelho, Prof. Clovis Sperb De Barcellos, Prof. Fábio Baldissera, Prof. Luís Paulo Laus and Prof. Marcelo Sobottka for their guidance and suggestions which have strongly contributed to this work. All colleagues of UFSC, for their support, encouragement and friendship. I am grateful to institutions that have supported my work: UFSC (Federal University of Santa Catarina); CAPES (Coordenação de Aper- feiçoamento de Pessoal de Nível Superior) and CNPQ (National Coun- sel of Technological and Scientific Development). I wish to thank my family, my mother, brother, stepfather and parents in law, for their support and encouragement throughout all these years. I am specially thankful to my husband, Andrea Piga Car- boni, whose love and encouragement cannot be measured. You are my life.
Wisdom begins in wonder. Socrates
RESUMO
Esta tese apresenta novas contribuições para dois problemas forte- mente relacionados: a enumeração e o sequenciamento da montagem de configurações (Assembly Sequence Planning - ASP) constituídas por robôs modulares. Ferramentas matemáticas, mais especificamente, fer- ramentas de Teoria dos Grafos, são largamente empregadas no trata- mento desses dois problemas. Em sua primeira parte, a tese aborda o problema de enumeração, fornecendo um novo método que permite enumerar as configurações não-isomórficas de robôs modulares com mó- dulos cúbicos. Este método é baseado em trabalhos anteriores do autor para robôs modulares com módulos planares. O método foi imple- mentado em C++, fornecendo a enumeração de configurações com até 10 módulos cúbicos. Este resultado constitui um avanço em relação ao número de módulos alcançados na literatura. Em sua segunda parte, a tese introduz três novos ASP para robôs modulares que tratam classes de configurações em aberto na literatura. Esta tese é o primeiro tra- balho a resolver os seguintes problemas: Como montar configurações compostas por sistemas de robôs modulares; como montar configura- ções com corredores estreitos; como montar configurações com furos internos; como montar configurações sem furos internos nem corredores estreitos, mas escolhendo o ponto de partida do ASP e como montar estruturas planares verticais. Todos os ASP obedecem a condição de acessibilidade, ou seja, nenhum módulo pode passar por um corredor entre dois robôs que estejam na estrutura, se este corredor for tão es- treito quanto o lado de um módulo. Como resultado complementar, esta tese apresenta novas contribuições ao ASP para estrutura maríti- mas de Seo, Yim e Kumar. Palavras-chave: enumeração, robôs modulares, robôs metamórficos, sequência de montagem (ASP).
RESUMO EXPANDIDO
Introdução
Robôs modulares reconfiguráveis são robôs constituídos de módulos independentes que podem ser homogêneos ou heterogêneos em suas formas e funcionalidades. Cada módulo possui atuadores, sensores, processadores de energia, memória, além de maneiras de se comunicar e de se conectar a outros módulos. Se um robô modular reconfigurável pode mudar de forma autônoma as conexões de seus módulos, o robô é chamado de robô modular auto-reconfigurável (MSR). Em outras palavras, um MSR é capaz de modificar de maneira autônoma o seu formato rearranjando as conexões entre seus módulos. Um MSR pode modificar seu formato para efetuar determinada tarefa, seja ela transpor um buraco, rolar adotando a forma de um aro, cons- truir uma forma complexa com muitos braços ou ainda utilizar a re- configuração para locomoção. O crescente interesse neste tipo de robôs deve-se justamente à capacidade de auto-reconfiguração, pois esta ca- racterística confere aos robôs adaptabilidade a novas circunstâncias e tarefas, bem como a capacidade de recuperação de falhas mecânicas, como, por exemplo, a perda da funcionalidade de um módulo. Visto que é a capacidade de assumir diferentes configurações que torna estes robôs versáteis, é necessário que eles possam ser operados no maior número de configurações diversas. Portanto, é importante conhecer as configurações que um dado conjunto de módulos pode assumir, assim como determinar uma sequência correta de montagem para cada con- figuração. A enumeração de configurações e a montagem de configurações são pro- blemas fortemente relacionados. De fato, para que uma configuração seja montada, é necessário escolhê-la do conjunto de todas as configura- ções possíveis para um dado número de módulos. Além disto, escolhida a configuração desejada, é importante determinar que sequência de ope- rações leva à correta montagem da configuração. Estes dois problemas são tratados nesta tese que apresenta um novo método de enumeração para configurações não-isomórficas de robôs modulares com módulos cúbicos e novas estratégias de montagem para configurações planares compostas por módulos retangulares ou cúbicos. Objetivos gerais
Os objetivos gerais desta tese são desenvolver métodos de enumera- ção e de montagem para configurações de robôs modulares.
Objetivos específicos: problema de enumeração
Os objetivos específicos relativos à enumeração de configurações para robôs modulares são: desenvolver um método de enumeração para con- figurações compostas por módulos cúbicos e desenvolver um método simples para capturar as simetrias deste tipo de configuração.
Objetivos específicos: problema de montagem
O objetivo específico relativo à montagem de configurações para robôs modulares é atingir classes de configurações não tratadas na literatura, como por exemplo: estruturas compostas de substruturas previamente montadas e estruturas que apresentem corredores estreitos, i.e. espaços que são demasiado estreitos para que um módulo possa atravessá-los ou ainda estruturas planares verticais.
Metodologia
A tese trata o problema de enumeração e de montagem em capítu- los distintos. Porém, ferramentas de teoria dos grafos são largamente utilizadas no tratamento de ambos os problemas e fornecem uma base comum para o desenvolvimento da tese.
Metodologia: problema de enumeração
Em trabalhos anteriores [15–17], o autor propôs técnicas de enume- ração para robôs modulares. Uma destas técnicas, chamada Método Orbital [16, 17], foi desenvolvida para robôs com módulos quadrados. A tese estende o Método Orbital para configurações compostas por módulos cúbicos. Para efetuar esta extensão, ferramentas de teoria dos grafos e dos gru- pos são largamente empregadas e uma nova modelagem que permite detectar as simetrias das configurações é apresentada. Além disto, dois resultados apresentados pelo autor [15] para robôs com módulos qua- drados são estendidos para o caso cúbico. Assim, um método completo para enumeração de configurações não-isomórficas compostas de mó- dulos cúbicos e um teste para checagem de simetrias deste tipo de configuração são obtidos e são melhor discutidos na seção Resultados e Discussão.
Metodologia: problema de montagem
Para atingir diferentes classes de configurações, a tese introduz três novos ASP. Estes ASP são baseados em teoria dos grafos, mais especi- ficamente em algoritmos de busca em grafos. Além disso estes ASP são modelados para obedecer a condição de aces- sibilidade proposta por Paulos et al.[2]: “Qualquer módulo retangular não pode passar por um espaço entre dois módulos da estrutura final, se este espaço for tão pequeno quanto o lado do módulo.” Nos ASP propostos, a estrutura é modelada por um grafo não direci- onado, apresentado na forma de sua lista de adjacência. Estes ASP são estruturados com um algoritmo principal que apresenta uma estru- tura recursiva semelhante a uma busca em profundidade num grafo e contam com dois processos auxiliares. Inicialmente, mostra-se como aplicar estes ASP para configurações com- postas por módulos quadrados, então, estes ASP são estendidos para outros tipos de módulos retangulares. A maior diferença entre o caso quadrado e os outros casos são em como os módulos estão conectados a seus vizinhos. Primeiramente a estratégia de dividir a estrutura em substruturas pre- viamente montadas é adotada e, então, a montagem convencional, isto é, módulo a módulo é considerada. Todos os ASP foram implementados em C++ e os resultados são dis- cutidos na próxima seção.
Resultados e Discussão
O método de enumeração para robôs com módulos cúbicos foi imple- mentado em C ++, fornecendo a enumeração de configurações não- isomórficas com até 10 módulos. Este resultado constitui um avanço em relação ao número de módulos alcançados na literatura. Além disto, a tese introduz três novos ASP para robôs modulares que tratam classes de configurações em aberto na literatura. Esta tese é o primeiro tra- balho a resolver os seguintes problemas: Como montar configurações compostas por sistemas de robôs modulares; como montar configura- ções com corredores estreitos; como montar configurações com furos internos; como montar configurações sem furos internos nem corredo- res estreitos, mas escolhendo o ponto de partida do ASP; como montar estruturas planares verticais. Todos os ASP obedecem a condição de acessibilidade, i.e. nenhum módulo pode passar por um corredor entre dois robôs que estejam na estrutura, se este corredor for tão estreito quanto o lado de um módulo. Como resultado complementar, esta tese apresenta novas contribuições ao ASP para estruturas marítimas de Seo, Yim.
Considerações Finais
A tese aborda os problemas de enumeração e de montagem para robôs modulares, como trabalhos futuros prevê-se: extensão do método de enumeração para outros tipos de módulos, enumeração de configura- ções compostas por módulos não-homogêneos, análise das classes de equivalência obtidas da enumeração, cobrindo características como mo- bilidade, estabilidade e distribuição de massa, extensão dos ASP para outros tipos de módulos e de restrições mecânicas, bem como a extensão dos ASP para o caso tridimensional. Palavras-chave: Enumeração, robôs modulares, robôs metamórficos, sequência de montagem, ASP. ABSTRACT
This thesis presents novel contributions to two strongly related prob- lems: the enumeration and the assembly sequence planning (ASP) for modular robots. Mathematical tools, more specifically graph theory tools, are extensively employed in the treatment of both problems. First, this thesis deals with the enumeration problem, providing a com- plete and original method which allows enumerating the nonisomorphic configurations of cubic modular robots. The proposed method is based on author’s previous works for planar modular robots. This method was implemented in C++ providing the enumeration of configurations up to 10 cubic modules which constitutes an advance compared to the number of modules achieved in literature. Then, three novel ASP for modular robots are introduced in this thesis. These ASP cover classes of target structures not solved in literature. To the best of the author’s knowledge, the thesis is the first work that solves the following prob- lems: assembling target structures composed by shape heterogeneous modular robots systems; assembling planar target structures with nar- row corridors, i.e. corridors which are too narrow for a robot to traverse; assembling configurations without narrow corridors, and choosing the ASP starting point; assembling planar vertical structures. All the ASP herein proposed satisfies the accessibility condition, i.e. any module cannot pass through a gap only as large as a side of a module between two physical robots already assembled in the structure. As a comple- mentary result, this thesis presents novel contributions to the ASP for maritime structures of Seo, Yim and Kumar. Palavras-chave: enumeration, modular robots, metamorphic robots, assembly sequence planning (ASP).
LIST OF FIGURES
Figure 1 (a) A M-Tran robot during reconfiguration [1]. (b) A landing platform autonomously assembled with robotic boats [2]. (c) A configuration of the Distributed Flight Array in flight [3]...... 35 Figure 2 A set of four isomorphic configurations (a), and a set of two distinct configurations (b)...... 45 Figure 3 Two isomorphic configurations composed by a prism with one revolute and one helicoidal joint [4]...... 47 Figure 4 A modular robot (a) and its graph representation (b) [4]. 48 Figure 5 Distinct constructions of a 3-link robot [4]...... 49 Figure 6 Two standard type of modules of planar metamorphic robots...... 50 Figure 7 (a) Kinematic chain of a single square module, (b) Kin- ematic chain of a single hexagonal module...... 50 Figure 8 (a) A metamorphic robot composed by two hexagonal modules, Pamecha et al.[5]; (b,c) are respectively the kinematic chain and the graph obtained by Martins e Simoni[6]...... 51 Figure 9 Actions of σ1 , σ2, σ3 and σ4 , respectively, on the graph in Figure 8c, Martins e Simoni[6]...... 53 Figure 10 Two isomorphic configurations obtained by connect a new module to links in the same orbit...... 54 Figure 11 Flowchart of the method proposed by Martins e Simoni [6] outlining the role of the group theory tools for enu- meration configurations of the metamorphic robot. The dashed squares are the representatives of the binary or- bits...... 55 Figure 12 (a) A configuration and its coordinate system; (b) ID Matrix...... 56 Figure 13 (a) Configuration circumscribed by a non-regular rect- angle; (b) Configuration circumscribed by in a square, i.e. regular rectangle...... 57 Figure 14 Configuration symmetrical with respect to the Ox axes. 58 Figure 15 Example of a configuration symmetric over Oy...... 59 Figure 16 Isomorphic free generation with the results of Theorem 2 and Proposition 2. The dashed squares are the ones on the addition region, which is determined by the pro- positions introduced in [7]...... 60 Figure 17 Isomorphism test structure, proposed by Salvi et al.[7]...... 62 Figure 18 (b) vertices for the configuration in (a)...... 65 Figure 19 Configuration that exemplifies how the Mgrafo matrix is obtained...... 66 Figure 20 (b) Graph I associated to the configuration in (a). . . . . 67 Figure 21 Graph II associated to the configuration in 20 (a)...... 67 Figure 22 (a) Graph I associated to the configuration in (b). . . . . 68 Figure 23 Flowchart of the enumeration method proposed by Salvi et al.[8]...... 69 Figure 24 (a) Sides a and a0 are symmetric in relation to v; (b) and (c) are isomorphic configurations obtained by adding a new module to the sides a and a0of the square in (a), respectively...... 72 Figure 25 The configurations obtaining by adding a new module to a and to a0 are related by a reflection on v...... 72 Figure 26 (a) Sides a and a0 are symmetric by a 90° rotation around K; (b) shows that by adding a novel module to a and then applying a 90° rotation around K, the configuration where a novel module is added to a0 in (a) is obtained.. 75 Figure 27 (a) A configuration composed by cubic modular robots; (b) the configuration’s three-dimensional ID matrix.. . . 77 Figure 28 (a) The cubical graph; (b) A polycube graph...... 78 Figure 29 (a) The face-centered cubic cell lattice.; (b) Graph rep- resentation of a cubic modular robot using the cell lattice in (a)...... 79 Figure 30 Part of the dual graph corresponding to one facet (red node) and its neighboring facets (blue node) [9]...... 81 Figure 31 A cubic modular robot and its graph representation. . . . 82 Figure 32 For each module, vertices labeling follows the north- west, front-back convention and each vertex is labeled just once...... 84 Figure 33 (a) A configuration composed by cubic modular robots; (b) the configuration’s four-dimensional Mgrafo matrix. 85 Figure 34 Possible edges types between vertices belonging to dif- ferent modules...... 88 Figure 35 Configurations constituted only by ones in the ID rep- resentation can be forbidden of generating a child during the enumeration process...... 89 Figure 36 (a) A set of robotic boats or modules (b) A bridge com- posed by 33 modules, Paulos et al.[2]...... 99 Figure 37 (a) Robotic boats docking mechanism, Paulos et al.[2]. (b) A configuration composed by four robotic boats. . . 99 Figure 38 Example of target structures. Configuration in (a) can be assembled by the both ASP of Seo, Yim e Kumar[10,11] and Paulos et al.[2]. Configuration in (b) can only be assembled by the ASP of Paulos et al.[2]...... 100 Figure 39 Graphs C for: (a) configuration in Figure 38a; (b) con- figuration in Figure 38b...... 101 Figure 40 (a) A target structure. Each rectangle represents a site to be occupied. (b) The points represent the centroids of the sites. The orange rhombus whose edge length δ is three times as large to the edges of the lattice units can transverse the configuration, thus the configuration has no narrow corridor Seo, Yim e Kumar[11]...... 102 Figure 41 In each of the cases, the modules a and b are forming a narrow corridor. (a), (b) A narrow corridor may be a local issue in terms of the site between a and b. (c) However, it can also be a nonlocal issue in terms of a site far from them Seo, Yim e Kumar[11]...... 103 Figure 42 (a) A target structure. (b) The goal shape has been decomposed into cells, i.e. collections of consecutive sites parallel to the x-axis...... 105 Figure 43 Graph C0 for the configuration in Figure 42a...... 105 Figure 44 (a) Colored rectangles correspond to the chosen seed for each cell in Figure 44a. (b) The red colored vertex cor- responds to the cell to which s, the initial seed, belongs to...... 106 Figure 45 The colored rectangles correspond to the seeds chosen for each cell in Figure 44a. The initial seed s corresponds to the red rectangle, numbered as 11...... 107 Figure 46 Topological sort of graph GA in Figure 45...... 107 Figure 47 (a) A target structure. Each rectangle represents a site to be occupied. (b) Graph C for the configuration in (a), Seo, Yim e Kumar[11]...... 108 Figure 48 Graph ∂C for the configuration in Figure 47b, Seo, Yim e Kumar[11]...... 109 Figure 49 ∂C in Figure 48 has two blocks that are cycles, denoted as β1and β2. Each red vertex is a cut-vertex of ∂C that belongs to β1 or β2, Seo, Yim e Kumar[11]...... 111 Figure 50 If β1 is chosen, si, sj , and sk can potentially be dis- assembled from the structure both in (a) and (b); C will then be updated as shown in (c) and (d), respect- ively. If β2 is chosen, (e) si can be disassembled from the structure; (f) because sk is the cut-vertex, the sequence si, sj, sk will not be returned; (g) represents the update of graph C for this case, Seo, Yim e Kumar[11]...... 113 Figure 51 Algorithm3 can be extended to the six patterns in the figure. The red polygons are the lattice units of the patterns, Seo, Yim e Kumar[11]...... 114 Figure 52 (a) A target structure. (b) Graph C for the configuration in (a). (c) and (d) A rhombus whose edge length is three times as large to the edges of the lattice units can translate along the frontier of each graph C’s faces, f1 and f2: Thus, the configuration has no narrow corridor.119 Figure 53 (a) A target structure. (b) Graph C for the configuration in (a). (c) A rhombus whose edge length is three times as large to the edges of the lattice units can translate along the frontier of the unique graph C’s face, f1: Thus, the configuration is free from narrow corridors...... 120 Figure 54 Another counter example for Algorithm3...... 121 Figure 55 A configuration composed by 12 shape heterogeneous modular robot systems...... 124 Figure 56 Due to the accessibility condition, robot systems F , E and C cannot be joined in the F → E → C order. More precisely, module (2, 3) ∈ C cannot be added to the structure without violating the accessibility condition. . 125 Figure 57 Adjacency list for the graph representing the neighbor- hood relations between the robot systems in Figure 55...... 126 Figure 58 If the algorithms places F → E → G and then, in Step 3, E tries to add robot system C, an incorrect ASP is en- countered because C cannot be added to the growing structure...... 129 Figure 59 Following steps of the assembly sequence for the example in Figure 58a. (a) Step 4: G is deleted by function deleteBranch(G,E). Step 5: robot system E is deleted by the condition in Line 11 of Algorithm4. (b) Steps 6 − 8: the correct assembly sequence F → C → E → G is encountered...... 130 Figure 60 (a) Sub-structure of the configuration in Figure 55 used to explain Lines 16-20 of Algorithm4. Due to the access- ibility issue, robot system L and K cannot be added to the growing structure in cases (b) and (c), respectively. 131 Figure 61 (a) Robot system J is added to the configuration com- posed only by robot system K, thus edge K → J is cre- ated. (b) Robot system L is added, thus edges K → L and J → L are created...... 132 Figure 62 (a) A target structure. (b) Robot system D cannot be added to the growing structure without passing through a narrow corridor...... 134 Figure 63 Accessibility issue detection...... 136 Figure 64 Module A forms a narrow corridor with any of the mod- ules from B to Q...... 137 Figure 65 Detection of the narrow corridors between module A and modules D, H, L and P ...... 138 Figure 66 Conditions for obtain a narrow corridor...... 139 Figure 67 Conditions for obtain a narrow corridor...... 139 Figure 68 Conditions for obtain a narrow corridor...... 140 Figure 69 (a) A target structure. (b) An ASP for the configuration in (a). In Step 8 of the ASP, robot system H cannot be added to the growing structure due to the accessibility condition. Thus, the ASP tree branch B − H is not created. Also, all branches of the ASP tree starting at H’s parent, robot system B, will be deleted by function deleteBranch(G,B), i.e. branches B − C − G, B − D − E − F will be deleted...... 143 Figure 70 (a) Robot system H cannot be added to the growing structure, thus deleteBranch(G,B) is called. (b-h) Se- quence of operations performed in G.T ree by function deleteBranch(G,B)...... 144 Figure 71 ASP for the configuration in Figure 55 with robot system F as starting point...... 147 Figure 72 (a) A target structure with an internal hole. (b) If the internal hole is modeled as a robot system h1, then, the target structure can be assembled with the proposed ASP...... 151 Figure 73 Consider the configuration in Figure 72b and the as- (1) (2) (3) (4) sembly order A −−→ B −−→ h1 −−→ C −−→ D. (a,b) By letting robot system A add robot system C at Step 3, the auxiliary structure h1 can be eliminated from the original ASP. (c) Thus, the correct ASP, without the auxiliary structure h1, is obtained...... 153 Figure 74 Consider the configuration in Figure 72b and the as- (1) (2) (3) (4) sembly order A −−→ C −−→ h1 −−→ B −−→ D. (a) By letting robot system A add robot system B at Step 3, the auxiliary structure h1 can be eliminated from the original ASP. (b) Thus, the correct ASP, without the auxiliary structure, h1 is obtained...... 153 Figure 75 (a) A target structure with an internal hole. (b) If the internal hole is modeled as a singular robot system h1, the target structure cannot be assembled. In fact, robot system C cannot be assembled in C → h1 or h1 → C order. As shown respectively in (d) and (e), robot system C induces conflicting edges in h1 and vice versa...... 155 Figure 76 The internal hole in Figure 75a can be modeled as three continuous robot systems parallel respectively to the x or y axis, as shown in (a) and (b), respectively...... 156 Figure 77 This figure shows an application of Rule 2. When the target configuration is assembled in the order shown by the arrows, hole h2 does not connect with any robot system already in the structure. In fact, h2 only connects with h1, which is another hole...... 156 Figure 78 ASP for the configuration in (a) with robot system A as starting point...... 160 Figure 79 (a) A target structure constituted by modules arranged in the pmm pattern. (b) Each module in the pmm pattern is surrounded by four others, thus, the edges constructed by function AddEdge are equivalent to the square case. 162 Figure 80 A target structure in p4g can be viewed as a target struc- ture in pmm if each meta module is considered as a new module, Paulos et al.[2]...... 163 Figure 81 (a) A target structure constituted by modules arranged in the cmm pattern. (b) Each module in the cmm pattern is surrounded by six others, thus, the edges constructed by function AddEdge must consider all these surround- ing modules...... 163 Figure 82 Robot systems A, B and C cannot be assembled in A → B → C order. In fact, edges created as in Figure 81b are able to capture this issue because there are north-south and east-west edges. Thus, function AddEdge will not allow this assembly order...... 164 Figure 83 Configuration with modules arranged in : (a) cmm pat- tern. (b) pmg pattern. (c) pgg pattern...... 165 Figure 84 These configurations can be assembled with the proposed ASP without violating the accessibility condition. These configurations cannot be assembled with the ASP of Seo, Yim e Kumar[11]...... 168 Figure 85 The configurations in the first three cases can be as- sembled with the proposed ASP, without violating the accessibility condition. Also, the proposed ASP is able to detect that the configuration in the fourth case cannot be assembled without violating the accessibility condition. 169 Figure 86 An example of the ASP in Section 7.2 with the new rule for modular construction...... 170 Figure 87 A further example of the novel ASP for modular con- struction ...... 173 Figure 88 If the floor is represented by a robot system, configura- tions in (a,b) can be assembled by the proposed ASP in a bottom-up manner...... 176 Figure 89 The configurations can be assembled bottom-up by the proposed ASP, if the floor is represented by a robot sys- tem...... 177 Figure 90 Adjacency lists for the graph representing the configura- tions in Figures 88a and 88b, respectively...... 178 Figure 91 The backrest of a chair being assembled with the pro- posed ASP...... 179 Figure 92 In the melt-grow technique of Fitch, Butler e Rus[12], configurations are constructed in a continuous path and not in a bottom-up manner...... 180 Figure 93 Examples of orbits by the action of the SO(2) group over π (0, 1). (a) Orbit of (1, 0) by an angle 2 ; (b) by an angle π 6 ...... 205 Figure 94 Examples of graphs, subgraphs trees and graph’s com- ponents...... 206 Figure 95 (a) An undirected graph, (b) a directed graph...... 208 Figure 96 A family of trees with six vertices...... 208 Figure 97 Two isomorphic graphs labeled in order to evidence the isomorphism between them...... 209 Figure 98 All possible automorphisms of the graph in (a)...... 210 Figure 99 Action of the automorphism group on the Stephenson graph...... 212 Figure 100Figure (b) represents the DFS procedure, with vertex A as root, for the graph in (a)...... 213 Figure 101Figure (b) represents the DFS procedure, with vertex A as root, for the graph in (a)...... 215 LIST OF TABLES
Table 1 Number of nonisomorphic configurations with n square modules...... 64 Table 2 Number of nonisomorphic configurations with n cubic modules...... 94 Table 3 ASP computational time for configurations composed by robot systems...... 183 Table 4 ASP computational time for the examples with narrow corridors...... 184 Table 5 ASP computational time for the vertical examples...... 185 Table 6 Operation table for the automorphism group of the graph in Figure 98a...... 210
LIST OF ABBREVIATIONS AND ACRONYMS
ASP Assembly Sequence Planning ISO International Standards Organization MSR Modular self-reconfigurable robot BFS Breadth-First Search DFS Depth-First Search
NOMENCLATURE
ID Matrix representation of a modular robot configuration. Mgrafo Matrix that contains the graph label associ- ated to a modular robot configuration. cmm A pattern in Figure 51. p2 A pattern in Figure 51. pmg A pattern in Figure 51. pgg A pattern in Figure 51. pmm A pattern in Figure 51. p4g A pattern in Figure 51.
CONTENTS
1 INTRODUCTION...... 35 1.1 GOALS...... 38 1.1.1 Enumeration problem: specific goals ...... 38 1.1.2 Assembly sequence planning: specific goals 38 1.2 METHODOLOGY...... 39 1.2.1 Enumeration problem: methodology ...... 39 1.2.2 Assembly sequence planning: methodology 39 1.3 ORIGINAL CONTRIBUTIONS OF THIS THESIS . . . . . 40 1.3.1 Contributions to the enumeration of mod- ular robot configurations ...... 40 1.3.2 Contributions to the Assembly Sequence Planning for modular robots ...... 41 1.4 THESIS OUTLINE ...... 42 2 LITERATURE REVIEW: ENUMERATION OF MODULAR ROBOTS’ CONFIGURATIONS . . . . . 45 2.1 CONTRIBUTIONS OF CHEN AND BURDICK ...... 47 2.2 CONTRIBUTIONS OF MARTINS AND SIMONI...... 48 2.3 CONTRIBUTIONS OF SALVI ET. AL...... 56 2.3.1 Symmetry Method ...... 56 2.3.1.1 Symmetry detection...... 57 2.3.1.2 New modules addition...... 58 2.3.1.3 Two results about the enumeration of square modular robots...... 59 2.3.1.4 Isomorphism Test...... 60 2.3.1.5 Outlines of the Symmetry Method . . . 61 2.3.2 Orbital Method ...... 63 2.3.2.1 Graph representations for square mod- ular robots...... 65 2.3.2.2 Outlines of the Orbital Method ...... 68 3 NOVEL CONTRIBUTIONS TO THE ORBITAL METHOD ...... 71 4 NOVEL ENUMERATION METHOD FOR CU- BIC MODULAR ROBOTS...... 77 4.1 NOVEL GRAPH REPRESENTATION FOR CUBIC MOD- ULAR ROBOTS...... 78 4.2 ISOMORPHISM AVOIDANCE...... 89 4.3 ENUMERATING CUBIC MODULAR ROBOTS ...... 90 4.4 ORBITAL METHOD OVERALL DISCUSSION ...... 90 4.4.1 Termination ...... 90 4.4.2 Soundness ...... 91 4.4.3 Completeness ...... 92 4.4.4 Complexity ...... 93 4.5 RESULTS ...... 93 4.6 CONCLUSIONS...... 95 5 LITERATURE REVIEW: ASSEMBLY SEQUENCE PLANNING ...... 97 5.1 CONTRIBUTIONS OF SEO ET AL. AND PAULUS ET AL...... 98 5.1.1 Common definitions for the ASP of Seo et al. and Paulus et al...... 100 5.1.2 Configurations without internal holes ..... 103 5.1.3 Configurations with internal holes ...... 107 6 NOVEL CONTRIBUTION TO THE ASP OF SEO, YIM AND KUMAR ...... 115 6.1 CONCLUSIONS...... 118 7 TWO NOVEL ASP FOR SHAPE HETEROGEN- EOUS MODULAR ROBOT SYSTEMS ...... 123 7.1 NOVEL ALGORITHMS FOR CONFIGURATIONS WITHOUT INTERNAL HOLES ...... 125 7.1.1 Conditions for adding a new robot system to the target structure ...... 131 7.1.1.1 Termination of Algorithm5 ...... 135 7.1.1.2 Soundness of Algorithm5 ...... 135 7.1.1.3 Complexity of Algorithm5...... 140 7.1.2 Deleting a branch from the structure ..... 141 7.1.2.1 Termination of Algorithm6 ...... 144 7.1.2.2 Soundness of Algorithm6 ...... 145 7.1.2.3 Complexity of Algorithm6...... 145 7.1.3 Applying the novel algorithms for config- urations without internal holes ...... 145 7.1.4 Properties of Algorithm4 ...... 146 7.1.4.1 Termination of Algorithm4 ...... 146 7.1.4.2 Soundness of Algorithm4 ...... 146 7.1.4.3 Completeness of Algorithm4 ...... 150 7.1.4.4 Complexity of Algorithm4...... 150 7.2 NOVEL ALGORITHMS FOR CONFIGURATIONS WITH INTERNAL HOLES ...... 150 7.2.1 Applying the novel algorithms for config- urations with internal holes ...... 157 7.2.2 Properties of Algorithm7 ...... 159 7.2.2.1 Termination of Algorithm7 ...... 159 7.2.2.2 Soundness of Algorithm7 ...... 159 7.2.2.3 Completeness of Algorithm7 ...... 161 7.2.2.4 Complexity of Algorithm7 ...... 161 7.3 EXTENSION TO GENERAL RECTANGULAR MOD- ULES ...... 161 7.4 CONCLUSIONS...... 165 8 NOVEL ASP FOR MODULAR CONSTRUCTION167 8.1 NOVEL ALGORITHM FOR MODULAR CONSTRUC- TION ...... 170 8.1.1 Properties of Algorithm8 ...... 173 8.1.1.1 Termination of Algorithm8 ...... 173 8.1.1.2 Soundness of Algorithm8 ...... 174 8.1.1.3 Completeness of Algorithm8 ...... 175 8.1.1.4 Complexity of Algorithm8 ...... 175 8.2 CONFIGURATIONS IN A VERTICAL PLANE ...... 175 8.3 CONCLUSIONS...... 180 9 IMPLEMENTATION AND RESULTS ...... 183 9.1 CONFIGURATIONS COMPOSED BY ROBOT SYSTEMS 183 9.2 MODULAR CONSTRUCTION...... 184 10 CONCLUSIONS...... 187 10.1 CONTRIBUTIONS OF THIS THESIS ...... 187 10.1.1 Enumeration of modular robot configura- tions ...... 187 10.1.2 ASP for modular robots ...... 188 10.2 PUBLICATIONS ...... 189 10.3 FURTHER WORKS ...... 190 BIBLIOGRAPHY ...... 191 A GRAPH AND GROUP THEORY ...... 201 A.1 GROUP THEORY TOOLS ...... 201 A.1.1 Isomorphism and Automorphism ...... 203 A.1.2 Actions and orbits ...... 204 A.2 GRAPH THEORY...... 205 A.2.1 Degree of a vertex ...... 206 A.2.2 Walks and circuits ...... 207 A.2.3 Connected Graphs, subgraphs and com- ponents ...... 207 A.2.4 Articulation points and bridges ...... 207 A.2.5 Directed and undirected graph ...... 207 A.2.6 Biconnected graph ...... 208 A.2.7 Tree ...... 208 A.2.8 Graph isomorphism and automorphism ... 209 A.2.9 Actions and orbits ...... 211 A.3 GRAPH TRAVERSALS...... 212 A.3.1 Breadth-First Search ...... 213 A.3.2 Depth-First Search ...... 214 B ALGORITHMS: LITERATURE REVIEW ...... 217 C ALGORITHMS: THESIS CONTRIBUTIONS . . . 221 35
1 INTRODUCTION
Reconfigurable modular robots are robots built from independ- ent homogeneous or heterogeneous modules. Each module has actu- ators, sensors, processing power, memory, and means of communicat- ing and connecting to neighbors. If a reconfigurable modular robot is autonomously able to change the way these modules are connected, the robot is called a modular self-reconfigurable robot (MSR). In other words, an MSR is able to autonomously change its own shape rearran- ging the connectivity of its modules. An MSR can change its shape to suit the task, whether it is climbing through a hole, rolling like a hoop, assembling a complex structure with many arms or using reconfiguration for locomotion. Fig- ure1 shows examples of MSR: Figure 1a shows a M-Tran robot during reconfiguration, Murata e Kurokawa[1]; Figure 1b presents a landing platform assembled with self-propelled ISO shipping containers, Paulos et al.[2]; Figure 1c presents a configuration of the Distributed Flight Array in flight, Oung et al.[3].
(a) (b)
(c)
Figure 1 – (a) A M-Tran robot during reconfiguration [1]. (b) A land- ing platform autonomously assembled with robotic boats [2]. (c) A configuration of the Distributed Flight Array in flight [3]. 36 Chapter 1. Introduction
An important subclass of the MSR are the metamorphic robots. For this subclass, a change in the macroscopic morphology results from the locomotion of each module over its neighbors [13]. Thus, every metamorphic robot is an MSR, but not all MSR are metamorphic ro- bots. For example, all robots in Figure1 are MSR, however, only Figure 1a presents a metamorphic robot. In fact, each module in Fig- ure 1b and in Figure 1c is free-flying while each module in Figure 1a must climb over its neighbors in order to reconfigure the total structure. Common planar module designs are rectangular, regular and non-regular ones [2,5,14,15] and hexagonal [3,5,14,16,17]. For spatial metamorphic systems, cubic [18,19] and dodecahedral [20] modules are employed. In this thesis, the MSR in general are considered and they are denoted only by modular robots, for simplicity. More specifically, this thesis deals with modular robots composed by rectangular or by cubic modules. According to Yim et al.[21], modular robots have three promises:
• “versatility: the ability to reconfigure allows a robot to disassemble and/or reassemble itself to form morpho- logies that are well-suited for a variety of given tasks; • robustness: since the system is composed of many re- peated parts which can be rearranged during opera- tion, faulty parts can be discarded and replaced with an identical module on-the-fly, leading to self-repair; • low cost: MSR systems can lower module costs since mass production of identical unit modules has an eco- nomic advantage that scales favorably. Also, a range of complex machines can be made from a set of modules saving the cost versus having multiple single-function machines for doing different tasks.”
In order to realize their potential, these versatile robots must be operated in as many different configurations as possible. Therefore, it is important to know all the configurations that a given set of modules can assume and also how to assembly these configurations with respect to modules constraints. These two relevant problems, the enumeration and the assembly of modular robot configurations, are strongly related. In fact, in order to assemble a given configuration, the configuration must be selected from all possible configurations which can be assembled from a given 37 set of modules, i.e. it is important to enumerate all possible configur- ations which a modular robotic system can assume. Also, given a set of configurations, it is important to determine how to assembly these configurations with respect to modules constraints. The problem of enumerating all possible configurations which a modular robotic system can assume is a complex one. The number of configurations with n modules grows exponentially with n, thus the time required for an algorithm that lists all the configurations grows exponentially [22]. Due to the huge number of configurations, several authors opted for enumerating only the distinct, i.e. nonisomorphic configurations, which a modular robotic system can assume [4,6–8, 22–24]. In other words, configurations can be organized in distinct classes, thus, ana- lysis of control strategies, mobility, stability and mass distribution, among others, can be performed for only one representative of each class. Then, the results can be extended to the other configurations belonging to the same class. This is the strategy adopted in this thesis, which provides a complete and original method to enumerate cubic modular robot configurations. An assembly is a collection of independent parts which form a structure or product. The Assembly Sequence Planning (ASP) is the problem of finding a sequence of collision-free operations that brings the assembly parts together. The ASP is an NP-hard problem [25, 26]. For n parts, the total number of possible sequences is n!. An extensive survey on the ASP is presented by Jiménez[27]. The assembly sequence problem for modular robots presents some peculiarities, particularly regarding modules constraints. During assembly, easy accessibility of individual modules must be guaranteed. This condition was stated by Paulos et al.[2] as:
“Any rectangular module cannot pass through a gap only as large as a side of a module between two physical robots already assembled in the structure.”
Paulos et al.[2] and Seo, Yim e Kumar[10, 11] introduced the assembly sequence problem for modular robots. They addressed the problem of assembling large teams of autonomous robotic boats into floating platforms structures of arbitrary shapes, aggregating module by module to the target structure. However, their ASP can only be applied to a restricted subclass of planar modular robots. 38 Chapter 1. Introduction
Another important problem, directly related to the ASP problem for modular robots, is the collective construction of modular structures by robot teams using building blocks, as presented in [28–30] and in [31], which employed square and triangular modules, respectively. However, even considering related works, the ASP problem for modular robots remains unsolved for large classes of target structures. In this context, the thesis introduces three novel ASP for modu- lar robots. These ASP cover classes of target structures not treated in literature. The main goals of this thesis are discussed in the next section.
1.1 GOALS
The main goals of this thesis are the development of enumeration and assembly methods for modular robots’ configurations. In order to attend these goals, mathematical tools, more specific- ally graph theory tools, are extensively employed for both problems’ treatment.
1.1.1 Enumeration problem: specific goals With respect to the enumeration of modular robot configura- tions, the thesis has two specific goals:
• develop an enumeration method for configurations composed by cubic modules;
• develop a simple method for detecting a configuration’s symmet- ries.
1.1.2 Assembly sequence planning: specific goals With respect to assembling of modular robot configurations, the specific goal of this thesis is to cover classes of target structures not solved in the literature such as:
• target structures composed by modular substructures, herein called robot systems;
• target structures with narrow corridors, i.e. corridors which are too narrow for a robot to traverse;
• planar vertical target structures. 1.2. Methodology 39
In the next sections, a brief review of the methodologies and results is presented.
1.2 METHODOLOGY
As previously stated, this thesis focuses on two strongly related problems: the enumeration and the assembly of modular robot con- figurations. Each of these problems is treated in different sections of this thesis and has a specific modeling. However, graph theory tools are largely employed in both problems treatment and provide a com- mon tool for this thesis. Next subsections present the methodology employed for each problem.
1.2.1 Enumeration problem: methodology In previous works [7,8, 22], the author proposed two techniques for enumerating all nonisomorphic metamorphic robots. One of these techniques is called Orbital Method [8,22] and presents an enumeration method for square metamorphic robots. The thesis extends the Orbital Method to enumerate configura- tions composed by cubic modules. In order to perform this extension, group and graph theory tools are extensively used. Furthermore, a novel way to determine a graph which captures the symmetries of a given cubic metamorphic robots is presented. Based on this formu- lation, a simple procedure for detecting configuration’s symmetries is provided. In order to decrease the number of isomorphic configurations generated during the enumeration process, two results introduced by the author [7] are extended to cubic modules. Thus, a complete and novel method is presented in this thesis, which allows enumerating the nonisomorphic configurations of cubic modular robots. The novel method was implemented in C++providing the enu- meration of configurations up to 10 cubic modules which constitute an advance compared to the number of modules achieved in literature. The thesis principal contributions for the enumeration problem are discussed in greater detail in Section 1.3.
1.2.2 Assembly sequence planning: methodology In order to treat different classes of configurations, the thesis introduces three novel ASP. These ASP are based on graph theory tools, especially graph traversals. Also, they are designed to satisfy the 40 Chapter 1. Introduction accessibility condition stated by Paulos et al.[2] because it aggregates common modules mechanical restrictions. In these ASP, the target structure is modeled as an undirected graph in the adjacency list form. These ASP are structured with a main algorithm, which is different to each problem treated. The main algorithms have a recursive structure similar to the DFS search in a graph and they call two novel auxiliary procedures. First, it is explained how to apply these ASP to configurations composed by regular rectangles, i.e. for squares ones. Then, these ASP are extended for general rectangular modules. The major differences between the square case and other rectangular patterns are how the modules are connected to its neighbors and how many neighbors a module owns. In Chapter7, in order to assembly the target structure, the strategy of decomposing the target structure into substructures is ad- opted. Each substructure is considered free-flying and composed by any number of rectangular modules joined edge to edge, forming ar- bitrary shapes. This kind of substructure will be referred to as shape heterogeneous modular robot systems, or robot system, for simplicity. In Chapter8, the conventional modular construction is con- sidered, i.e. aggregating module by module to assembly the target structure. In this case, no previously assembled substructures are al- lowed. All the ASP proposed in this thesis were implemented C++and the results are shown in Chapter9. The principal contributions for the ASP problem are presented in the next section.
1.3 ORIGINAL CONTRIBUTIONS OF THIS THESIS
This section presents the thesis principal contributions for the enumeration and the assembly of modular robot configurations.
1.3.1 Contributions to the enumeration of modular robot configurations In the first part, the thesis deals with the enumeration problem, providing a complete and original method to enumerate cubic modular robot configurations. The principal contributions of this thesis for the enumeration problem can be summarized below.
• Chapter4 introduces a novel method for enumerating all noniso- morphic cubic modular robot configurations. 1.3. Original contributions of this thesis 41
• In Section 4.1, a novel way to determine a graph which captures the symmetries of a given cubic metamorphic robots is presented. Also, two novel algorithms, Algorithms1 and 15, are introduced. These algorithms allow to determine the graph representation directly from the configuration’s matrix representation.
• In Section 4.2, two results introduced by the author in the Sym- metry Method [7] are extended to cubic modules, allowing to de- crease the number of isomorphic configurations generated during the enumeration process.
• The novel method was implemented in C++providing the enumer- ation of configurations up to 10 cubic modules. These results are show in Section 4.3 and they constitute an advance compared to the number of modules achieved in literature.
1.3.2 Contributions to the Assembly Sequence Planning for modular robots In the second part, the thesis deals with the Assembly Sequence Planning (ASP) problem for modular robots. Three original ASP are introduced in this thesis which cover classes of target structures not solved in literature. The principal contributions of the thesis for the ASP problem can be summarized below.
• For configurations composed by robot systems, the thesis in- troduces two novel ASP for configurations without or with in- ternal holes. These ASP present two novel main algorithms: Al- gorithm4 and Algorithm7, respectively. These algorithms are based on novel rules introduced in this thesis. To the best of the author’s knowledge, this thesis is the first work that shows how to assembly target structures composed by shape heterogeneous modular robot systems.
• For modular construction, i.e. aggregating module by module to assembly the target structure, a novel ASP is introduced. This ASP has Algorithm8 as main algorithm. It can be applied for configurations with and without internal holes and it is based on novel rules which are also original contributions of this thesis.
• All three ASP introduced in this thesis call two novel auxiliary procedures: Algorithm5 (addEdge), which determines when a new robot system can be added to the growing structure and 42 Chapter 1. Introduction
Algorithm6 (deleteBranch), which gives a strategy to delete a not allowed robot system from the growing structure. These original auxiliary procedures are based on novel rules introduced in this thesis.
• The three ASP were implemented in C++and the results are shown in Section9. These ASP presented some advances compared to literature. To the best of the author’s knowledge, this thesis is the first work that shows:
– how to assembly target structures composed by shape het- erogeneous modular robot systems; – how to assembly planar target structures with narrow cor- ridors, i.e. corridors which are too narrow for a robot to traverse; – how to assembly configurations with internal holes, without narrow corridors, and choosing the ASP starting point; – how to assembly planar vertical structures.
• As a complementary result, this thesis presents a class of con- figurations that satisfies the necessary conditions stated by Seo, Yim e Kumar[11] and for which their algorithm can return an incorrect ASP.
All the ASP herein proposed satisfies the accessibility condition, i.e. any rectangular module cannot pass through a gap only as large as a side of a module between two physical robots already assembled in the structure.
1.4 THESIS OUTLINE
In Chapter2 a bibliographic review on the enumeration of modu- lar robot configurations is presented, focusing on the related works from which the proposed enumeration method for cubic modular robots is derived. Chapter4 introduces a novel method, original contribution of this thesis, for enumeration of all nonisomorphic cubic modular robot configurations. Chapter5 presents a bibliographic review on the assembly se- quence planning, focusing on the principal works in ASP for modular robots. 1.4. Thesis outline 43
Chapter6 presents a novel contribution to the ASP of Seo, Yim e Kumar[11]. In this chapter, a class of configurations that satisfies the necessary conditions stated by Seo, Yim e Kumar[11] and for which their algorithm can return an incorrect ASP is presented. Chapter7 presents two novel ASP. In this chapter, in order to assembly the target structure, the strategy of decomposing it into sub- structures is adopted. First, each substructure is considered free-flying and composed by any number of square modules joined edge to edge, forming arbitrary shapes, then, an extension to general rectangular modules is presented. Chapter8 present a novel ASP for modular construction, i.e. ag- gregating module by module to assembly the target structure. In this case, the novel ASP can be applied for general rectangular modules and also for vertical planar structures composed by cubic modules. Chapter9 presents the three novel ASP implementations results while Chapter 10 presents the conclusions and suggestions of further work. AppendixA, presents a brief review of the main topics of Group and Graph Theory applied in this thesis. AppendixB presents the algorithms from literature review. AppendixC presents a novel al- gorithm, original contribution of this thesis, introduced in Chapter4. This algorithm is used to obtain a graph representation for cubic mod- ular robots.
45
2 LITERATURE REVIEW: ENUMERATION OF MOD- ULAR ROBOTS’ CONFIGURATIONS
For a given number of modules, a modular robot composed by these modules present different configurations based on their relative coupling. Configurations are considered as distinct (nonisomorphic) when none of them is a rigid transformation of another, i.e. rotations, translations, reflections, or their combination [32]. The four configur- ations shown in Figure 2a are considered isomorphic, while the two configurations shown in Figure 2b are considered distinct.
(a) (b)
Figure 2 – A set of four isomorphic configurations (a), and a set of two distinct configurations (b).
The problem of enumerating all possible configurations which a modular robotic system can assume is a complex task. The number of configurations composed by n modules grows exponentially with n, thus the time required for an algorithm that lists all the configurations also grows exponentially [22]. Due to the huge number of configurations, several authors opted for enumerating only the distinct, i.e. nonisomorphic configurations, which a modular robotic system can assume [4,6–8, 22–24]. In other words, configurations can be organized in distinct classes, thus, ana- lysis of control strategies, mobility, stability and mass distribution, among others, can be performed for only one representative of each class. Then, the results can be extended to the other configurations belonging to the same class. This is the strategy adopted in this thesis, which provides a complete and original method to enumerate cubic modular robot configurations. 46 Chapter 2. Literature Review: Enumeration of modular robots’ configurations
According to Jinguo et al.[23], configuration analysis is the first step to design a reconfigurable modular robot since configuration not only reflects the topology of the system but also has close relation- ship with the robotic flexibility and controllability. Thus, according to these authors, it is important to set up a library of the nonisomorphic configurations as a database for configuration design and control. The problem of enumerating all possible distinct arrangements of the modular robotic systems, given a number of modules, is called enumeration of modular robot configurations or, in short, enumeration of modular robots [4]. This problem was first addressed by Chen e Burdick[4]. These authors propose an algorithm for generating nonisomorphic assembly configurations of a n-link tree-like robot with different joint and link module types. Jinguo et al.[23] developed a technique to enumerate the noni- somorphic configurations composed by cubic modules. These modules have four connectors on its lateral surfaces, thus they have square lat- tice like 2D projection. Their technique is similar to the one presented by Chen e Burdick[4]. Chitta e Ostrowski[24] developed a technique to enumerate the nonisomorphic configurations of a modular robot and to generate gates for hybrid robots with wheels and legs. The distinct configurations are enumerated for a locomotion system consisting of a base with multiple ports to which wheel or leg modules can be attached. In this work, graph theory tools are used in order to determine if two configurations are isomorphic. Martins e Simoni[6] considered the enumeration of all noniso- morphic planar for metamorphic robots. In order to avoid repeated configurations in the process, the authors also used group and graph theory tools. They developed a constructive technique to determine all distinct configurations and presented the configurations for a small quantity of square and hexagonal modules. In [7], the author of this thesis developed a constructive tech- nique to enumerate all nonisomorphic modular robots composed by square modules. The technique is based on the directly recognition of the configurations’ symmetries. Also, the author introduced results which allow reducing the symmetries checking during the enumeration and an isomorphism test. In [8], the author of this thesis presented an enumeration method for square modular robots derived from the contributions of Martins e Simoni[6] and which employs two results introduced by the author 2.1. Contributions of Chen and Burdick 47 in [7]. Moreover, in this work, novel graph representations for square modular robots were introduced. Also, in order to extend the method to cubic modular robots, the author presented a novel way to determine a graph representation for cubic modular robots. It is important to notice that, in order to enumerate all non- isomorphic configurations of a modular robotic system, group theory tools are extensively used by the enumeration methods herein reviewed. These tools are also largely employed in the novel enumeration method to be introduced in this thesis. Therefore, AppendixA presents some basic definitions and examples of group theory. For further refer- ences, [6, 33–35] can be consulted.
2.1 CONTRIBUTIONS OF CHEN AND BURDICK
Chen e Burdick[4] introduced the enumeration problem for mod- ular robots. The authors propose an algorithm for generating noniso- morphic assembly configurations of an n-link tree-like robot with dif- ferent joint and link module types. According to Chen e Burdick[4]:
“A modular robotic system consists of joint and link mod- ules that can be assembled in a variety of configurations to meet different or changing task requirements. However, due to typical symmetries in module design, different as- sembly configurations may lead to robotic structures which are kinematically identical, or isomorphic”.
For example, Figure3 presents two isomorphic configurations composed by a prism with one revolute (R) and one helicoidal (H) joint. H R
H R
Figure 3 – Two isomorphic configurations composed by a prism with one revolute and one helicoidal joint [4].
These authors [4] were the first ones to use the kinematic graph in order to represent a modular robot link arrangement. For example, Figure 4a presents a modular robot and Figure 4b presents its kinematic 48 Chapter 2. Literature Review: Enumeration of modular robots’ configurations graph. The kinematic graph is obtained by associating each link to a vertex and each joint to an edge [4].
e3 v4 e2
v2 v1 v4 v2
e1 e3 e2
v1
v3 e1
v3 (a) (b)
Figure 4 – A modular robot (a) and its graph representation (b) [4].
In order to enumerate all nonisomorphic configurations with n links, the authors first generated all nonisomorphic trees with n links. Then, their method considered nonisomorphic joint arrangements. However, by introducing the joints in the enumeration process, they increased its complexity, thus they did not apply the method for configurations with more than five modules. Figure5 shows distinct (nonisomorphic) constructions of a 3-link robot obtained in [4]. Despite its inherent complexity, the method proposed by Chen e Burdick[4] was extended for Jinguo et al.[23] to cubic modules having four connectors on its lateral surfaces, i.e. modules with square lattice like 2D projection. Also, it inspired several works in the modular robot enumeration, as the works of Martins e Simoni[6] and author’s previous works [7,8] which are reviewed in the next sections.
2.2 CONTRIBUTIONS OF MARTINS AND SIMONI
Martins e Simoni[6] developed a technique for enumeration of all nonisomorphic planar modular robot configurations. Using graph theory tools, they were able to capture configurations symmetries in order to avoid partial generation of isomorphic configurations during the enumeration process. 2.2. Contributions of Martins and Simoni 49
Figure 5 – Distinct constructions of a 3-link robot [4].
In order to identify symmetries of the metamorphic robot system using graph tools, it is necessary to associate a graph to each modular robot structure. In order to obtain these graphs, Martins e Simoni [6] analyzed the structure’s kinematic chain. However, the kinematic chain is modeled in a different way than the one proposed by Chen e Burdick[4]. Also, different types of joints were not considered in the enumeration process as done by Chen e Burdick[4]. Martins e Simoni[6] analyzed two standard type of modules:
• square modules [5, 14, 15], Figure 6a, and
• hexagonal modules [5, 14, 16, 17], Figure 6b.
In the methodology proposed by Martins e Simoni[6], the square module is represented by a four-bar kinematic chain as shown in Fig- ure 7a. Similarly, the hexagonal module is represented by a six-bar kinematic chain as shown in Figure 7b. Figure 8a shows a metamorphic robot composed by two hexagonal modules, which were introduced by Pamecha et al.[5]. Figure 8b shows the configuration’s kinematic chain where labels 1 to 11 represent the links and the circles represent the joints. Figure 8c shows the graph obtained by Martins e Simoni[6]. This graph, called kinematic graph, is obtained by the kinematic chain by the following associations: links to vertices and joints to edges. 50 Chapter 2. Literature Review: Enumeration of modular robots’ configurations
(a) (b)
Figure 6 – Two standard type of modules of planar metamorphic ro- bots.
(a) (b)
Figure 7 – (a) Kinematic chain of a single square module, (b) Kin- ematic chain of a single hexagonal module.
Thus, two vertices of the kinematic graph are adjacent whenever the corresponding links of the kinematic chain have a common joint [36]. The complete automorphism group for the graph in Figure 8c is composed by eight elements: σ1, σ2, σ4 = σ1 ◦ σ2, σ5 = σ1 ◦ σ3, σ6 = σ2 ◦ σ3, σ7 = σ1 ◦ σ2 ◦ σ3 and the identity element: σ8 = e.
1 2 3 4 5 6 7 8 9 10 11 σ = 1 7 2 3 4 5 6 1 10 9 8 11
1 2 3 4 5 6 7 8 9 10 11 σ = 2 1 6 5 4 3 2 7 8 9 10 11
1 2 3 4 5 6 7 8 9 10 11 σ = 3 2 1 8 9 10 7 6 3 4 5 11 2.2. Contributions of Martins and Simoni 51
8 9 7 10 6 5 11 1 2 3 4
(a)
8 8 9 7 9 7 6 6 10 10 5 5 11 11 1 1 2 4 4 2 3 3
(b) (c)
Figure 8 – (a) A metamorphic robot composed by two hexagonal mod- ules, Pamecha et al.[5]; (b,c) are respectively the kinematic chain and the graph obtained by Martins e Simoni[6].
1 2 3 4 5 6 7 8 9 10 11 σ = 4 7 6 5 4 3 2 1 10 9 8 11
1 2 3 4 5 6 7 8 9 10 11 σ = 5 2 7 10 9 8 1 6 3 4 5 11
1 2 3 4 5 6 7 8 9 10 11 σ = 6 6 1 8 9 10 7 2 5 4 3 11
1 2 3 4 5 6 7 8 9 10 11 σ = 7 6 7 10 9 8 1 2 5 4 3 11 52 Chapter 2. Literature Review: Enumeration of modular robots’ configurations
Figure9 shows the actions of σ1, σ2, σ3 and σ4 on the graph in Figure 8c. Let us analyze the orbits by the action of the automorphisms group on the graph G in Figure 8c. The orbit of the element 1 is the set of vertices to which 1 can be moved by the elements of G. As e(1) = 1, σ1(1) = 7, σ2(1) = 1, σ3(1) = 2, σ4(1) = 7, σ5(1) = 2, σ6(1) = 6 and σ7(1) = 6. Thus, O1 = {1, 2, 6, 7}. Applying a similar procedure, the orbits by the action of the automorphisms group are:
• O1 = O2 = O6 = O7 = {1, 2, 6, 7};
• O3 = O5 = O8 = O10 = {3, 5, 8, 10};
• O4 = O9 = {4, 9} e O11 = {11}. Martins e Simoni[6] stated that elements (links) in the same orbit, when connected to other elements, result in isomorphic config- urations. This fact will be demonstrated in Chapter3 and it is one contribution of this thesis. For example, links 3 and 5 in Figure 8a correspond to elements in the same orbit by the action of the auto- morphism group on the graph in Figure 8c. Figure 10 shows that if a new module is connected to link 3 or to link 5, isomorphic configura- tions are generated. According to Martins e Simoni[6] there are two types of links in the metamorphic robot system: binary and quaternary. Binary links are connected to two other links while the quaternary links are connec- ted to four other links. Thus, for the example in Figure9, the orbits O11 is composed by quaternary links while the other orbits are composed by binary links. An important remark is that new modules can only be added to binary links. For example, link 11 in Figure 8a is not binary, thus new modules cannot be attached to this not binary link. The authors [6] also introduced the concept of binary orbits. Binary orbits are orbits composed only by binary links. Considering the graphs obtained by the kinematic chain of each configuration and the concept of binary orbit, the authors proposed a procedure to enumerate the nonisomorphic planar metamorphic robot configuration. The procedure was summarized by Martins e Simoni[6] as: Step 1 Calculate the binary orbits of the metamorphic robot config- uration of the root. 2.2. Contributions of Martins and Simoni 53
10 8 9 1 9 7 6 2 8 10 11 5 11 3 7 1 4 4 2 6 3 5
(a) (b)
5 8 4 6 9 7 7 2 3 10 11 8 11 3 2 1 9 4 1 6 10 5
(c) (d)
Figure 9 – Actions of σ1 , σ2, σ3 and σ4 , respectively, on the graph in Figure 8c, Martins e Simoni[6].
Step 2 Assemble a new module with one element from each binary orbit, identified in the previous step, of the current metamorphic robot configuration.
Step 3 Run an (efficient) isomorphism test to eliminate the possible isomorphic configurations in each level of the tree.
Thus, the enumeration process follows a tree structure. In the root of the tree, a first module is placed. The following modules are added, one at a time, selecting just one representative for each binary orbit. Figure 11 illustrates this procedure for square modules. The authors presented their results limited to five square and five hexagonal modules. The results were shown in flowcharts, called 54 Chapter 2. Literature Review: Enumeration of modular robots’ configurations
3 New Module New 5 Module
(a) (b)
Figure 10 – Two isomorphic configurations obtained by connect a new module to links in the same orbit. generation trees, as the one in Figure 11. In order to implement the algorithm, Martins e Simoni[6] used two freely available software: Nauty [37] and the Boost Graph Library [38]. Nauty (No AUTomorphisms, Yes?) [37,39], is a set of C language procedures for determining the group of automorphisms of a graph with colored vertices. Nauty also generates a canonically-labeled isomorph of the graph to assist in isomorphism testing. In the methodology proposed by the authors [6], the program Nauty [37, 39] is used for: • determining the binary orbits for each robot configuration and for • eliminating the isomorphic configurations in each level of the gen- eration tree as shown in Figure 11. On the other hand, the interface which generates the config- urations is based on graph structures provided by the Boost Graph Library [38]. The complexity of the enumeration method [6] is limited by com- plexity of the isomorphism test, i.e. it is exponential time (O(en)) 2.2. Contributions of Martins and Simoni 55
Level 1 Level 2 Level 3 Level 4 Level 5
Five Five binary binary orbits orbits
One One binary binary orbit orbit
Six binary orbits Two binary Three orbits binary orbits Ten binary orbits
Three Set of five square modules binary orbits
Figure 11 – Flowchart of the method proposed by Martins e Simoni[6] outlining the role of the group theory tools for enumera- tion configurations of the metamorphic robot. The dashed squares are the representatives of the binary orbits.
[40–42]. The other procedures, which are performed with the Boost Graph Library, have polynomial-time complexity (O(n)). According to [6], the method can be applied to parallel robots. A parallel robot is made up of an end-effector with n degrees of freedom, and of a fixed base, linked together by at least two independent kin- ematic chains. Actuation takes place through n simple actuators [43]. It is important to notice that the technique requires identifying the configuration’s kinematic chain. However, these kinematic chains can be difficult to identify. Robots can have different docking mechan- isms and can be arranged in different forms, implying that the joints and edges arrangements can differ drastically from robot to robot. Thus, it is difficult to design and automate a process which derives the kinematic chain for each configuration. Therefore, it is difficult to design and automate a process to obtain the kinematic graph. Thus, Salvi et.al developed novel techniques to obtain the configurations sym- 56 Chapter 2. Literature Review: Enumeration of modular robots’ configurations metries without evaluating the kinematic chain.
2.3 CONTRIBUTIONS OF SALVI ET. AL
In [7,8], the author developed two methods to enumerate all non- isomorphic square metamorphic robots. These methods, implemented in C++, provide the enumeration of configurations up to 12 modules. These results constituted an advance compared to the number of mod- ules achieved in literature [4,6]. The first proposed method is called Symmetry Method and the second one, Orbital Method. These meth- ods are reviewed in details in the next subsections because they will be extended in this thesis to cubic modules.
2.3.1 Symmetry Method
The first method introduced by Salvi et al.[7] is called Sym- metry Method. This method is based on the direct recognition of the configurations’ symmetries. It is a recursive method, i.e. the configur- ations with n + 1 modules are obtained from the configurations with n modules by adding a new module. Initially, a matrix representation named ID is introduced. In this matrix, 1 at entry (i, j) represents a square module in position (i, j) and 0 represents an empty space. A coordinate system is also introduced, starting at the centroid of each configuration. Figure 12a shows the association of the coordinate system to a given configuration. Figure 12b shows the ID matrix of this configuration.
Oy
O Ox 1 0 0 1 ID = 1 1 1 1 (a) 1 0 0 1 3×4 (b)
Figure 12 – (a) A configuration and its coordinate system; (b) ID Mat- rix. 2.3. Contributions of Salvi et. al 57
2.3.1.1 Symmetry detection In order to determine the configuration’s symmetries, the cir- cumscribed rectangle is considered, as shown in Figures 13a and 13b. Thus, a modular robot configuration composed by square modules can present the symmetries of the square or the rectangle that contains it, depending on the modules’ arrangement.
(a) (b)
Figure 13 – (a) Configuration circumscribed by a non-regular rect- angle; (b) Configuration circumscribed by in a square, i.e. regular rectangle.
For the configurations circumscribed by a non-regular rectangle, the possible symmetries are: identity, reflections on Ox and Oy and the rotation of π radians around the origin. For the configurations circum- scribed by a square, the possible symmetries are: identity, reflections π on Ox, Oy and on the square wrap diagonals and the rotations of 2 , π 3π and 2 radians around the origin. Salvi et al.[7] introduced novel rules to verify what symmetries the configuration presents. For example, the configuration in Figure 14 is symmetrical with respect to the Ox axes. In order to verify this type of symmetry, Proposition1 was intro- duced [7]. In this proposition, Llimite is defined as the line correspond- l l−1 ing to the Ox axes. Thus, Llimite = 2 − 1, if l is even, Llimite = 2 , if l is odd [7].
Proposition 1. Consider the ID = [aij]i=0,··· ,l−1 . If, for all i ∈ j=0,··· ,l−1 {0, 1, ..., Llimite} and for all j ∈ {0, 1, ..., c − 1},
aij = a(l−i−1)j (2.1) the configuration is symmetrical with respect to the Ox axis.
For each of the possible symmetry, the author introduced a pro- position in a similar manner presented for the Ox symmetry. The set 58 Chapter 2. Literature Review: Enumeration of modular robots’ configurations
H
Oy F G U V W D E
Ox V 0 W 0 D0 E0 U 0 F 0 G0 H0
Figure 14 – Configuration symmetrical with respect to the Ox axes. of these propositions constitutes a complete test for checking the con- figuration’s symmetries [7].
2.3.1.2 New modules addition In order to avoid the generation of isomorphic configurations, a new module is added only to non-symmetric positions, respecting the rules stated by the author in [7]. For example, the configuration in Figure 15 presents the iden- tity symmetry and also the reflection on Oy. The sets of points which 0 0 are symmetric to each other are: SP = {P,P }, SQ = {Q, Q }, SM = 0 0 0 0 0 {M,M }, SN = {N,N }, SO = {O,O }, SR = {R,R }, SW = {W, W }, SS = {S} e ST = {T }. Thus, a new module can only be added to one representative of each of these sets. For example, points P, Q, M,N, O, R, W, S, T can be chosen. However, the determination of these representatives of each set can be performed in a simpler way. As the configuration is symmetrical with respect to Oy, each point at the left of Oy has a symmetrical representative at its right. Thus, only points at the left or at the right of Oy can be considered. These regions at left or at right of Oy are called addition regions for the reflection in Oy [7]. 2.3. Contributions of Salvi et. al 59
O P y P 0 M O O0 M 0
W S W 0 N R R0 N 0 Ox Q T Q0
Figure 15 – Example of a configuration symmetric over Oy.
For the other types of symmetry, the author presented a way to determine the addition regions and a way to determine the complete addition region if a configuration presents more then one symmetry. A more detailed explanation is presented in [7].
2.3.1.3 Two results about the enumeration of square modu- lar robots A theorem and a proposition about the enumeration of square modular robots can be used to decrease the number of symmetries checking during the process of enumeration. These results were presen- ted by Salvi et al.[7] and are herein discussed. Theorem 2: In the enumeration process of nonisomorphic con- figurations of square modular robots, the configuration with k aligned modules k ∈ N, k ≥ 3 can generate only the configuration with k + 1 aligned modules without loss in the total process. Proposition 2: In the enumeration process of nonisomorphic square modular robots, the configurations with IDm,n, m, n > 1, IDi,j =6 0 for all i ∈ {0, 1, ..., m − 1} and for all j ∈ {0, 1, ..., n − 1} can be forbidden of generating a child without any loss in the total process. Here it is only discussed the relevance of Theorem 2 and Propos- ition 2 in the enumeration process. In Figure 16, the configurations in gray is discarded due to iso- morphism with other generated configurations. Also, it is important to notice that the dashed squares in this figure are the ones on the 60 Chapter 2. Literature Review: Enumeration of modular robots’ configurations addition region, which is determined by the propositions introduced by Salvi et al.[7].
Level 1 Level 2 Level 3 Level 4 Level 5 Addition Region
No children! Proposition 2 Addition Addition Region Region
Addition Addition Region Region Addition One child! Region Theorem 2 One child! Theorem 2
Set of five square modules
Figure 16 – Isomorphic free generation with the results of Theorem 2 and Proposition 2. The dashed squares are the ones on the addition region, which is determined by the propositions introduced in [7].
The next section presents the isomorphism test used for this task.
2.3.1.4 Isomorphism Test The isomorphism test introduced by Salvi et al.[7] is composed by three sub-tests. In the original paper, completed algorithms and implementation details were presented.
1 2 1. Dimension test: Given two ID matrices, IDm×n and IDl×k, if the conditions (i) and (ii) are false, the configurations are noni- somorphic.
i) m = l and n = k; ii)m = k and n = l. 2.3. Contributions of Salvi et. al 61
1 Consider for instance the configurations ID1,3 = 1 1 1 1 1 and ID2 = . According to the dimension test, the 2,2 0 1 configurations are nonisomorphic. However, if we consider con- 1 1 1 1 1 1 figurations ID4 = and ID5 = , 2,3 0 0 1 2,3 0 1 0 the dimension test is inconclusive.
1 2 2. Neighborhood test: Let IDm×n and IDl×k be two square modu- lar robot configurations. If in ID1 there is a module connected to n other modules and for ID2 that condition is not valid, the configurations are nonisomorphic. Consider the configurations ID4 and ID5. For the neighborhood test, the configurations are nonisomorphic. But, if configurations 0 1 0 ID5 and ID6 = are considered, the neighbor- 2,3 2,3 1 1 1 hood test is inconclusive. Configurations ID5 and ID6 are in fact isomorphic (one configuration can be obtained by other through a rotation, for example).
3. Comparison test: checks if a configuration is a rotation, transla- tion, or reflection of another. The outline of this test is presented in Algorithm 11, AppendixB. The test follows a cascade struc- ture. Details are presented in [7].
The complete isomorphism test structure, composed by the three sub-tests presented, is outlined in Figure 17. The complexity of the enumeration method [7] depends on the complexity of the isomorphism test. Each matrix comparison can be performed in O(n2), however, the procedure must be performed for each pair of configurations generated before the isomorphism test. As the number of configurations with n modules grows exponentially with n [22], the complexity of the enumeration method [7] is exponential (O(en)). The other procedures have (O(n2)) complexity.
2.3.1.5 Outlines of the Symmetry Method The Symmetry Method is a recursive method and starts with only one module. In each iteration, the conditions of Theorem 1 and Proposition 1 are verified. If they are verified, the method proceeds as stated by these results. Otherwise, the method checks the config- uration’s symmetries. After checking the symmetries, a new module 62 Chapter 2. Literature Review: Enumeration of modular robots’ configurations
Start
ID1 and ID2
yes Dimension no Test ID1 and ID2
are no Neighborhood Nonisomorphic Test Comparision no yes Test yes
ID1 and ID2
are Isomorphic
Figure 17 – Isomorphism test structure, proposed by Salvi et al.[7]. is added only to non-symmetrical positions, i.e. to each of the posi- tions in the addition region. Finally, the method checks for isomorphic configurations. The method can be summarized as:
Step 1 Verify the conditions of Theorem 1/Proposition 1. If these conditions are satisfied, proceed as stated in Theorem 1 or in Proposition 1. Otherwise, go to Step 2; Step 2 Determine the configurations symmetries, Section 2.3.1.1; Step 3 Add a new module to the positions into the addition region, Section 2.3.1.2; Step 4 Run the isomorphism test, Section 2.3.1.4, in order to eliminate isomorphic configurations. 2.3. Contributions of Salvi et. al 63
Salvi et al.[7] presented the pseudo-codes used to implement the Symmetry Method’s steps. The Symmetry Method was implemented in C++, providing the enumeration of configurations up to 12 mod- ules. This constitutes an advance compared to the number of modules achieved in literature [4,6]. The results are shown in Table1, where A000105 [44] is the number of polyominoes with n squares, a correlated problem, as will be explained in the following lines. As evidenced in Table1, the results match with those reported by [45,46] for an equivalent problem: the enumeration of polyominoes. A polyomino is a collection of equal-sized squares in a plane, joined along complete edges [45]. In the same way, a polyform is a plane figure constructed by joining together identical basic polygons. More specific names have been given to polyforms resulting from specific basic polygons, such as: polyomino (square), polyhex (regular hexagon), and polydrafter (drafting triangle with angles of 30◦, 60◦ and 90◦). Polyominoes’ enumeration approaches focus on counting and not on listing configurations, mainly because the growth in the number of distinct configurations is a considerable limitation for the process. For example, Redelmeier[45] took 6959.665 CPU hours to enumerate free polyominoes up to 24 modules. Currently, parallel versions the enu- meration algorithm proposed by [45] are being implemented in clusters and the results are shown in The On-Line Encyclopedia of Integer Se- quences, sequence A000105 [44]. Regard that, for modular robots it is important to actually know the whole configurations set. Thus, it is necessary to list all the nonisomorphic configurations, as done in the proposed procedure. It is important to notice that the computer simulations of the Symmetry Method were performed in a 4GB, Intel Core I5, 1.6 GHz machine. Also, the algorithm was allowed to run for a maximum of 30 minutes. The next section reviews the second enumeration method presen- ted by the author for square modular robots.
2.3.2 Orbital Method The second method proposed by Salvi et al.[8] is called Or- bital Method. This method is derived from the methodology proposed by Martins e Simoni[6] differing on the graph modeling and also on the isomorphism test. Furthermore, this second method also employs two results presented by the author [7] in the Symmetry Method. As in Martins e Simoni[6], the Orbital Method employs a graph representation in order to captures the configuration’s symmetries. How- 64 Chapter 2. Literature Review: Enumeration of modular robots’ configurations
Table 1 – Number of nonisomorphic configurations with n square mod- ules.
№ of square modules № of Configurations [7] A000105 [44] 1 1 X 2 1 X 3 2 X 4 5 X 5 12 X 6 35 X 7 108 X 8 369 X 9 1285 X 10 4655 X 11 17073 X 12 63600 X 13 238591 14 901971 15 3426576 16 13079255 17 50107909 18 192622052 19 742624232 20 2870671950 21 11123060678 22 43191857688 23 168047007728 24 654999700403 25 2557227044764 26 9999088822075 27 39153010938487 28 153511100594603
ever, in Martins e Simoni[6], in order to build the graph representation of a planar modular robot, it is necessary to identify the corresponding kinematic chain. This task needs to be done manually. Furthermore, these kinematic chains can be difficult to identify because robots have different docking mechanisms and can be arranged in different forms. Thus, it is difficult to design and automate a process which obtain the 2.3. Contributions of Salvi et. al 65 kinematic chain for each configuration. On the other hand, the Orbital Method primarily focuses on a set of rules for determining the graph representation of a planar square based modular robot without analyzing the configuration’s kinematic chain. Two new graphs were introduced in this work, in order to rep- resent a square modular robot configuration. They are referred to as Graph I and Graph II. These graphs are presented in the next section.
2.3.2.1 Graph representations for square modular robots The two graph representations for square modular robots intro- duced by Salvi et al.[8] are reviewed in this section. These graph representations are obtained without analyzing the kinematic chain. Furthermore, vertex construction is the same for both graphs and they only differ in the set of edges. Thus, vertices determination is first explained. Given a square modular robot configuration, each square’s side is associated to a vertex. An example is shown in Figure 18.
(a) (b)
Figure 18 – (b) vertices for the configuration in (a).
In both graphs, each vertex is labeled just once, following the clockwise convention. Also, each configuration is represented by its ID matrix, as in the Symmetry Method. For example, consider the configuration given by the ID matrix, 1 0 1 ID = . The points labeled with numbers 1 to 16 in 1 1 1 Figure 19 are the vertices associated to this configuration. In the Orbital Method, in order to obtain the vertices from the ID matrix, the author introduced another matrix, the Mgrafo Matrix. The matrix which contains the graph labels is called Mgrafo. Obtaining this matrix is the first step to achieve the graph representa- tion of a square modular robot configuration. The graph’s vertices are created in this step. Given the configuration in Figure 19, graph’s labels are stored into a matrix, Mgrafo matrix: 66 Chapter 2. Literature Review: Enumeration of modular robots’ configurations
1 5 4 2 8 6 3 7 12 11 9 13 15 10 14 16
Figure 19 – Configuration that exemplifies how the Mgrafo matrix is obtained.
[1, 2, 3, 4] [0, 0, 0, 0] [5, 6, 7, 8] Mgrafo = [3, 9, 10, 11] [12, 13, 14, 9] [7, 15, 16, 13] . Graph’s labels are stored in the matrix depth and, for each mod- ule, the labeling follows the clockwise convention. The Algorithm 12, AppendixB, resumes the discussion above, and presents the steps to obtain the Mgrafo matrix for any configur- ation in the ID form. With the Mgrafo matrix, i.e. with the graph’s vertices, it is possible to obtain the two graphs introduced by Salvi et al.[8]. The first graph, called Graph I, considers that, if two square’s sides are adjacent, the vertices that represent them must also be ad- jacent. So, it is necessary to create edges between the vertices that represent adjacent squares’ sides because two vertices are adjacent if, and only if, there is an edge between them. Consider the configuration in Figure 20a and the Graph I of that configuration shown in Figure 20b. Each vertex is labeled just once, following the clockwise convention. It is important to notice that the graph satisfies the necessary condition imposed by Martins e Simoni[6] for a correct graph repres- entation: whenever a new module is connected to two or more vertices from a same orbit, the resulting configurations are isomorphic. How- ever, this graph is not obtained from the kinematic chain, as the one used by Martins e Simoni[6]. For the graph shown in Fig. 20 the orbits by the action of the graph automorphism group are:
• O1 = {1}; • O5 = {5, 11};
• O2 = {2, 4}; • O6 = {6, 9};
• O3 = {3}; • O7 = {7, 13}; 2.3. Contributions of Salvi et. al 67
1 1 4 2 4 2 3 5 3 11 5 11 8 12 8 6 9 12 6 9 7 10 13 7 10 13
(a) (b)
Figure 20 – (b) Graph I associated to the configuration in (a).
• O8 = {8, 12}; • O10 = {10}.
The obtained orbits represent the set of vertices which generates the same configuration if a new module is added. The Algorithm 13, AppendixB, presents the main steps to ob- tain the Graph I from the Mgrafo matrix. Graph II is obtained by taking into account the upper or lower lateral neighbors of each vertex. For example, Figure 21 presents the Graph II for the configuration in Figure 20 (a).
1
4 2 5 3 11
8 12 6 9 7 10 13
Figure 21 – Graph II associated to the configuration in 20 (a).
As said before, two graphs vertices are neighbors if there is an edge between them, thus: • edge (4, 5) identifies the vertex 4 left-lower neighbor: the vertex 5, 68 Chapter 2. Literature Review: Enumeration of modular robots’ configurations
• edge (2, 11) identifies the vertex 2 right-lower neighbor: the vertex 11.
Graph II in Figure 21 presents the same orbits by the action of the graph automorphism group as the Graph I in Figure 20b. Thus, both graphs are able to capture the symmetries of the configuration in Figure 20a, as desired. Figure 22 (b) shows the Graph II for the configuration in Fig- ure 22 (a).
N W 1 E S 1 N N W E W E N S S W E N N N N S W E W E W E W E S S S S N N W E W E S S (a) (b)
Figure 22 – (a) Graph I associated to the configuration in (b).
Analyzing the Figure 22, it can be concluded that Graph II con- siders all diagonal neighbors above each northern vertex and all diag- onal neighbors below each southern vertex. The Algorithm 14, AppendixB, presents the main steps to ob- tain the Graph II from the Mgrafo matrix.
2.3.2.2 Outlines of the Orbital Method The steps of the Orbital algorithm are:
Step 1 Given a configuration in the ID form, verify the conditions of Theorem 1/ Proposition 1, Section 2.3.1.3. If the conditions are satisfied proceed as Theorem 1/Proposition 1, otherwise, go to Step 2;
Step 2 Choose a graph representation (Graph I or Graph II, Sec- tion 2.3.2.1); 2.3. Contributions of Salvi et. al 69
Step 3 Calculate the binary orbits of the configuration; Step 4 Assemble a new module with one element from each binary orbit, identified in the previous step, of the current modular robot configuration; Step 5 Run the isomorphism test presented in Section 2.3.1.4.
Figure 23 illustrates the procedure. Level 1 Level 2 Level 3 Level 4 Level 5 Orbits Graph I or II
No children! Orbits Proposition 2 Graph Orbits I or II Orbits Graph Graph I or II I or II Orbits Graph I or II
Orbits Graph One child! I or II Theorem 2 One child! Theorem 2
Set of five square modules
Figure 23 – Flowchart of the enumeration method proposed by Salvi et al.[8].
The Orbital Method was implemented in C++. The vertices or- bits were determinated with Nauty software [37, 39]. For 12 square modules the number of nonisomorphic configurations obtained is shown in Table1. The complexity of the enumeration method [8] is determined by complexity of the isomorphism test, i.e. it is exponential time (O(en)) [40–42]. The other procedures have (O(n2)) complexity. It is important to regard that only the number of obtained con- figurations is presented here, but the implemented algorithm returns the complete list of the nonisomorphic configurations. For example, the obtained configurations with 4 modules are: 70 Chapter 2. Literature Review: Enumeration of modular robots’ configurations