• Nenhum resultado encontrado

Enumerating and assembling configurations with modular robots

N/A
N/A
Protected

Academic year: 2021

Share "Enumerating and assembling configurations with modular robots"

Copied!
230
0
0

Texto

(1)

UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE ENGENHARIA MECÂNICA

Anelize Zomkowski Salvi

ENUMERATING AND ASSEMBLING CONFIGURATIONS WITH MODULAR ROBOTS.

Florianópolis 2018

(2)
(3)

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

(4)

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.

(5)

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

(6)
(7)

Clovis Sperb De Barcellos, PhD

Fábio Baldissera, PhD

Luís Paulo Laus, PhD

(8)
(9)
(10)
(11)

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.

(12)
(13)
(14)
(15)

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 configuraconfigura-çõ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).

(16)
(17)

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.

(18)

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

(19)

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 configuraconfigura-ções com furos internos; como montar configurações sem furos internos nem

(20)

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.

(21)

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 narnar-row 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).

(22)
(23)

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 Figure3 Two isomorphic configurations composed by a prism with

one revolute and one helicoidal joint [4]. . . 47 Figure4 A modular robot (a) and its graph representation (b) [4]. 48 Figure5 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 Figure9 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 Figure14 Configuration symmetrical with respect to the Ox axes. 58 Figure15 Example of a configuration symmetric over Oy.. . . 59 Figure 16 Isomorphic free generation with the results of Theorem

(24)

on the addition region, which is determined by the pro-positions introduced in [7]. . . 60 Figure17 Isomorphism test structure, proposed by Salvi et al. [7].

. . . 62 Figure18 (b) vertices for the configuration in (a). . . 65 Figure19 Configuration that exemplifies how the Mgrafo matrix

is obtained.. . . 66 Figure20 (b) Graph I associated to the configuration in (a). . . 67 Figure21 Graph II associated to the configuration in 20 (a).. . . 67 Figure22 (a) Graph I associated to the configuration in (b). . . 68 Figure23 Flowchart of the enumeration method proposed by Salvi

et al. [8].. . . 69 Figure24 (a) Sides a and a0are 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 Figure25 The configurations obtaining by adding a new module to

aand to a0 are related by a reflection on v.. . . 72

Figure26 (a) Sides a and a0are 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

Figure27 (a) A configuration composed by cubic modular robots; (b) the configuration’s three-dimensional ID matrix.. . . 77 Figure28 (a) The cubical graph; (b) A polycube graph.. . . 78 Figure29 (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 Figure31 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 Figure33 (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

(25)

Figure 35 Configurations constituted only by ones in the ID rep-resentation can be forbidden of generating a child during the enumeration process. . . 89 Figure36 (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 Figure38 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 Figure43 Graph C0 for the configuration in Figure 42a.. . . 105

Figure44 (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 Figure45 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 Figure46 Topological sort of graph GAin Figure 45.. . . 107 Figure 47 (a) A target structure. Each rectangle represents a site

(26)

Seo, Yim e Kumar [11].. . . 108 Figure48 Graph ∂C for the configuration in Figure 47b, Seo, Yim

e Kumar [11].. . . 109 Figure49 ∂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 β2is chosen, (e) sican 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 Figure51 Algorithm 3 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 Figure52 (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 Figure53 (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 Figure54 Another counter example for Algorithm 3.. . . 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 Figure58 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

(27)

structure. . . 129 Figure59 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 Algorithm 4. (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 Algorithm 4. 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 Figure63 Accessibility issue detection. . . 136 Figure64 Module A forms a narrow corridor with any of the

mod-ules from B to Q.. . . 137 Figure65 Detection of the narrow corridors between module A and

modules D, H, L and P .. . . 138 Figure66 Conditions for obtain a narrow corridor.. . . 139 Figure67 Conditions for obtain a narrow corridor.. . . 139 Figure68 Conditions for obtain a narrow corridor.. . . 140 Figure69 (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 Figure71 ASP for the configuration in Figure 55 with robot system

(28)

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-sembly order A−−→ B(1) −−→ h1(2) −−→ C(3) −−→ D(4) . (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-sembly order A −−→ C(1) −−→ h1(2) −−→ B(3) −−→ D(4) . (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 Cinduces conflicting edges in h1 and vice versa.. . . 155

Figure76 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, h2only connects with h1, which is another hole. . . 156 Figure78 ASP for the configuration in (a) with robot system A as

starting point. . . 160 Figure79 (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 Figure80 A target structure in p4g can be viewed as a target

(29)

module, Paulos et al. [2]. . . 163 Figure81 (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 Figure82 Robot systems A, B and C cannot be assembled in A →

B → Corder. 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 Figure83 Configuration with modules arranged in : (a) cmm

pat-tern. (b) pmg patpat-tern. (c) pgg patpat-tern.. . . 165 Figure84 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 Figure86 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 Figure90 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

(30)

Figure93 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 Figure95 (a) An undirected graph, (b) a directed graph. . . 208 Figure96 A family of trees with six vertices.. . . 208 Figure97 Two isomorphic graphs labeled in order to evidence the

isomorphism between them.. . . 209 Figure98 All possible automorphisms of the graph in (a).. . . 210 Figure 99 Action of the automorphism group on the Stephenson

graph.. . . 212 Figure100Figure (b) represents the DFS procedure, with vertex A

as root, for the graph in (a). . . 213 Figure101Figure (b) represents the DFS procedure, with vertex A

(31)

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 Table3 ASP computational time for configurations composed by

robot systems. . . 183 Table 4 ASP computational time for the examples with narrow

corridors. . . 184 Table5 ASP computational time for the vertical examples. . . 185 Table6 Operation table for the automorphism group of the graph

(32)
(33)

LIST OF ABBREVIATIONS AND ACRONYMS

ASP Assembly Sequence Planning

ISO International Standards Organization MSR Modular self-reconfigurable robot BFS Breadth-First Search

(34)
(35)

NOMENCLATURE

ID Matrix representation of a modular robot

configuration.

M graf o 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.

(36)
(37)

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

(38)

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 Algorithm 5 . . . 135

7.1.1.2 Soundness of Algorithm 5. . . 135

7.1.1.3 Complexity of Algorithm 5. . . 140

7.1.2 Deleting a branch from the structure. . . 141

7.1.2.1 Termination of Algorithm 6 . . . 144

7.1.2.2 Soundness of Algorithm 6. . . 145

7.1.2.3 Complexity of Algorithm 6. . . 145

7.1.3 Applying the novel algorithms for config-urations without internal holes . . . 145

7.1.4 Properties of Algorithm 4 . . . 146

7.1.4.1 Termination of Algorithm 4 . . . 146

7.1.4.2 Soundness of Algorithm 4. . . 146

7.1.4.3 Completeness of Algorithm 4. . . 150

7.1.4.4 Complexity of Algorithm 4. . . 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

(39)

7.2.2 Properties of Algorithm 7 . . . 159

7.2.2.1 Termination of Algorithm 7. . . 159

7.2.2.2 Soundness of Algorithm 7. . . 159

7.2.2.3 Completeness of Algorithm 7. . . 161

7.2.2.4 Complexity of Algorithm 7. . . 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 Algorithm 8 . . . 173 8.1.1.1 Termination of Algorithm 8. . . 173 8.1.1.2 Soundness of Algorithm 8. . . 174 8.1.1.3 Completeness of Algorithm 8. . . 175 8.1.1.4 Complexity of Algorithm 8. . . 175

8.2 CONFIGURATIONS IN A VERTICAL PLANE. . . 175

8.3 CONCLUSIONS. . . 180

9 IMPLEMENTATION AND RESULTS . . . 183

9.1 CONFIGURATIONS COMPOSED BY ROBOT SYSTEMS183

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

(40)

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

(41)

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 connectcommunicat-ing 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-ure1shows examples of MSR: Figure1ashows a M-Tran robot during reconfiguration, Murata e Kurokawa[1]; Figure 1bpresents 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].

(42)

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 Figure 1 are MSR, however, only Figure1apresents a metamorphic robot. In fact, each module in Fig-ure1b 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 toYim 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

(43)

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 byJimé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.

(44)

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;

(45)

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

(46)

40 Chapter 1. Introduction

accessibility condition stated byPaulos 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 DF S 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 Chapter 7, 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 Chapter 8, 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.

• Chapter4introduces a novel method for enumerating all noniso-morphic cubic modular robot configurations.

(47)

1.3. Original contributions of this thesis 41

• In Section4.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 and15, are introduced. These algorithms allow to determine the graph representation directly from the configuration’s matrix representation.

• In Section4.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 configurenumer-ations up to 10 cubic modules. These results are show in Section4.3and 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 troduces two novel ASP for configurations without or with in-ternal holes. These ASP present two novel main algorithms: Al-gorithm4 and Algorithm 7, 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 Algorithm 8 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: Algorithm 5 (addEdge), which determines when a new robot system can be added to the growing structure and

(48)

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 Section 9. 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 bySeo, 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 Chapter2a 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.

Chapter 4 introduces a novel method, original contribution of this thesis, for enumeration of all nonisomorphic cubic modular robot configurations.

Chapter 5 presents a bibliographic review on the assembly se-quence planning, focusing on the principal works in ASP for modular robots.

(49)

1.4. Thesis outline 43

Chapter6presents a novel contribution to the ASP ofSeo, 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.

Chapter 7 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.

Chapter8present 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.

Chapter9presents 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. Appendix B presents the algorithms from literature review. Appendix C presents a novel al-gorithm, original contribution of this thesis, introduced in Chapter 4. This algorithm is used to obtain a graph representation for cubic mod-ular robots.

(50)
(51)

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 2bare 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.

(52)

46 Chapter 2. Literature Review: Enumeration of modular robots’ configurations

According toJinguo 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 byChen 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 byChen 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 metanoniso-morphic 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

(53)

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, Appendix A 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 toChen 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, Figure 3 presents two isomorphic configurations composed by a prism with one revolute (R) and one helicoidal (H) joint.

R

R H

H

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, Figure4apresents a modular robot and Figure4bpresents its kinematic

(54)

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].

v4 v2 v1 v3 e1 e3 e2 (a) v2 v4 v1 v3 e1 e3 e2 (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. Figure 5 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 forJinguo 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 ofMartins 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.

(55)

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 byChen e Burdick[4].

Martins e Simoni[6] analyzed two standard type of modules: • square modules [5,14,15], Figure6a, and

• hexagonal modules [5,14,16,17], Figure 6b.

In the methodology proposed byMartins 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 Figure7b.

Figure8ashows a metamorphic robot composed by two hexagonal modules, which were introduced byPamecha et al.[5]. Figure8bshows 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.

(56)

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 =  1 2 3 4 5 6 7 8 9 10 11 7 2 3 4 5 6 1 10 9 8 11  σ2 =  1 2 3 4 5 6 7 8 9 10 11 1 6 5 4 3 2 7 8 9 10 11  σ3 =  1 2 3 4 5 6 7 8 9 10 11 2 1 8 9 10 7 6 3 4 5 11 

(57)

2.2. Contributions of Martins and Simoni 51 1 2 3 4 5 6 7 8 9 10 8 11 (a) 1 2 3 4 5 6 7 8 9 10 11 (b) 1 2 3 4 5 6 7 8 9 10 11 (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 byMartins e Simoni[6].

σ4 =  1 2 3 4 5 6 7 8 9 10 11 7 6 5 4 3 2 1 10 9 8 11  σ5 =  1 2 3 4 5 6 7 8 9 10 11 2 7 10 9 8 1 6 3 4 5 11  σ6 =  1 2 3 4 5 6 7 8 9 10 11 6 1 8 9 10 7 2 5 4 3 11  σ7 =  1 2 3 4 5 6 7 8 9 10 11 6 7 10 9 8 1 2 5 4 3 11 

(58)

52 Chapter 2. Literature Review: Enumeration of modular robots’ configurations

Figure 9shows the actions of σ1, σ2, σ3 and σ4on the graph in Figure8c.

Let us analyze the orbits by the action of the automorphisms group on the graph G in Figure8c.

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 Chapter 3 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 Figure8c. Figure10 shows that if a new module is connected to link 3 or to link 5, isomorphic configura-tions are generated.

According toMartins 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 Figure8ais 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 byMartins e Simoni[6] as:

Step 1 Calculate the binary orbits of the metamorphic robot config-uration of the root.

(59)

2.2. Contributions of Martins and Simoni 53 7 2 3 4 5 6 1 10 9 8 11 (a) 1 6 5 4 3 2 7 8 9 10 11 (b) 2 1 10 9 8 7 6 5 4 3 11 (c) 1 6 5 4 3 2 7 8 9 10 11 (d)

Figure 9 – Actions of σ1, σ2, σ3and σ4, respectively, on the graph in Figure8c,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. Figure11illustrates 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

(60)

54 Chapter 2. Literature Review: Enumeration of modular robots’ configurations 3 Module New (a) 5 Module New (b)

Figure 10 – Two isomorphic configurations obtained by connect a new module to links in the same orbit.

generation trees, as the one in Figure11.

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 Figure11.

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))

(61)

2.2. Contributions of Martins and Simoni 55

Level 1 Level 3 Level 4 Level 5

Set of five square modules One Three Five binary Six Ten Three Level 2 orbits binary orbits binary orbit binary orbits binary orbits binary orbits binary orbits One binary orbit Five binary orbits Two

Figure 11 – Flowchart of the method proposed byMartins e Simoni[6] outlining the role of the group theory tools for enumera-tion configuraenumera-tions 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

(62)

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 configurconfigur-ations 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. Figure12bshows the ID matrix of this configuration.

Oy Ox O (a) ID=   1 0 0 1 1 1 1 1 1 0 0 1   3×4 (b)

Figure 12 – (a) A configuration and its coordinate system; (b) ID Mat-rix.

Referências

Documentos relacionados

Table 5 - Relations between self-declared addiction and the internet use of high school students in the municipality of Montes Claros - MG... Adicção em internet em

Por outro lado, está presente implicitamente nessas passagens do Livro I do Estado e pranto da Igreja, também a doutrina tradicional sobre a plenitude do sacerdócio católico ou

No segundo estágio, para tensões aplicadas ao corpo de prova maiores que (0,3 a 0,4) f c , as tensões na interface agregado-matriz de cimento e areia excedem a sua resistência

Na observação, este grupo distancia-se claramente de todos os outros nas atividades de escrita, mais especificamente através de atividades como copiar letras e

Deste total, verificou-se que nenhuma faceta para dentes anteriores foi confeccionada em resina composta, material que proporcionalmente foi mais utilizado em preparos do tipo

Com este foco, objetivou-se realizar um estudo multicasos para avaliar o impacto da extensão rural, através da assistência técnica, no controle da mastite, consequentemente,

No enquadramento teórico, abordaremos os conceitos de adolescência e transição, as mudanças ocorridas durante a adolescência, as transições como um conceito de

No Brasil, a Lei nº 11.121, de 25/05/2005, também instituiu o 28 de abril como o Dia Nacional em Memória das Vítimas de Acidentes e Doenças do Trabalho , com o objetivo de