Developing Scalable Abilities for Self-Reconfigurable Robots
Total Page:16
File Type:pdf, Size:1020Kb
Developing Scalable Abilities for Self-Reconfigurable Robots by Sam Slee Department of Computer Science Duke University Date: Approved: John Reif, Supervisor Jun Yang Ronald Parr Joseph Nadeau Dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in the Department of Computer Science in the Graduate School of Duke University 2010 Abstract (Computer Science) Developing Scalable Abilities for Self-Reconfigurable Robots by Sam Slee Department of Computer Science Duke University Date: Approved: John Reif, Supervisor Jun Yang Ronald Parr Joseph Nadeau An abstract of a dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in the Department of Computer Science in the Graduate School of Duke University 2010 Copyright c 2010 by Sam Slee All rights reserved except the rights granted by the Creative Commons Attribution-Noncommercial Licence Abstract The power of modern computer systems is due in no small part to their fantastic ability to adapt to whatever tasks they are charged with. Self-reconfigurable robots seek to provide that flexibility in hardware by building a system out of many in- dividual modules, each with limited functionality, but with the ability to rearrange themselves to modify the shape and structure of the overall robotic system and meet whatever challenges are faced. Various hardware systems have been constructed for reconfigurable robots, and algorithms for them produce a wide variety of modes of locomotion. However, the task of efficiently controlling these complex systems { pos- sibly with thousands or millions of modules comprising a single robot { is still not fully solved even after years of prior work on the topic. In this thesis, we design theoretical control algorithms for the lattice-style self- reconfigurable robots. These robots are composed of modules attached to each other in discrete lattice locations and only move by transitioning from one lattice loca- tion to another adjacent location. A key task for these robots is reconfiguration: transitioning the robot from one connected arrangement of modules to a different connected arrangement. In our work we show a lower bound for the time to recon- figure a robot given the physical limitations of modules in that robot. Furthermore, we develop an algorithm with a running time that matches this lower bound both for a specific example reconfiguration problem and for general reconfiguration between any pair of 2D arrangements of modules. Since these algorithms match the demon- iv strated lower bound, they are asymptotically optimal given the assumed abilities of the modules in the robot. In addition to our theoretically optimal reconfiguration algorithms, we also make contributions to the more practical side of this robotics field with a novel, physically stable control algorithm. The majority of prior theoretical work on control algo- rithms for self-reconfigurable robots did not consider the effects of gravity upon the robot. The result is that these algorithms often transform a robot into configurations { arrangements of modules { which are unstable and would likely break hardware on a real robot with thousands or millions of modules. In this thesis we present an algo- rithm for locomotion of a self-reconfigurable robot which is always physically stable in the presence of gravity even though we assume limited abilities for the robot's modules to withstand tension or shear forces. This algorithm is highly scalable, able to be efficiently run on a robot with millions of modules, demonstrates significant speed advantages over prior scalable locomotion algorithms, and is resilient to errors in module actions or message passing. Overall, the contributions of this thesis extend both the theoretical and practical limits of what is possible with control algorithms for self-reconfigurable robots. v Contents Abstract iv List of Figuresx Acknowledgements xiv 1 Introduction1 1.1 Organization of this Thesis.......................3 2 Survey of Related Work on Self-Reconfigurable Robots5 2.1 Prior Self-Reconfigurable Robot Hardware Designs..........6 2.1.1 Hardware Types Overview...................6 2.1.2 Other Hardware Details.....................9 2.1.3 2D Hardware Designs....................... 12 2.1.4 Chain-style Hardware Designs.................. 14 2.1.5 Older 3D Lattice-style Hardware Designs............ 16 2.1.6 Recent 3D Lattice-style Hardware Designs........... 18 2.1.7 Hybrid Hardware Designs.................... 23 2.2 Prior Algorithmic Work for SR Robots................. 24 2.2.1 Abstract Models and Motion Planning for SR Robots..... 25 2.2.2 Locomotion for Lattice-style SR Robots............ 28 2.2.3 Hierarchical Control for SR Robots............... 32 2.2.4 Force Analysis and Control for SR Robots........... 36 vi 3 Kinodynamic Planning for Self-Reconfigurable Robots 40 3.1 Overview of Kinodynamic Planning................... 41 3.2 The Self-Reconfigurable Kinodynamic Model:............. 43 3.3 x-axis to y-axis: 1D Force Analysis................... 45 3.4 x-axis to y-axis: 2D Reconfiguration.................. 55 3.5 x-axis to y-axis: Lower Bounds..................... 67 3.6 Summary................................. 70 4 Optimal Kinodynamic Motion Planning for 2D Reconfiguration 72 4.1 Introduction................................ 73 4.2 Notation and Problem Formulation................... 74 4.3 Creating a Hamiltonian Cycle...................... 75 4.3.1 Finding a Spanning Tree..................... 75 4.3.2 Doubling the Spanning Tree................... 78 4.3.3 Forming a Hamiltonian Cycle.................. 85 4.4 Reconfiguration Between Arbitrary 2D Arrangements......... 96 4.5 Summary................................. 107 5 Scalable and Physically Stable Locomotion for SR Robots in the Presence of Gravity 109 5.1 Overview of Contributed Work..................... 110 5.2 Related Work............................... 113 5.2.1 Review of the MMM Locomotion Algorithm........... 117 5.2.2 What Else Is Needed?...................... 121 5.3 Introducing the Robomotion Algorithm................. 124 5.4 Overview of Intuition for Robomotion.................. 127 vii 5.4.1 Fast Locomotion......................... 128 5.4.2 Stable Locomotion........................ 129 5.4.3 Scalable Locomotion....................... 131 5.4.4 Algorithm Outline: One Tunnel................. 133 5.4.5 Algorithm Outline: Connecting Adjacent Tunnels....... 135 5.4.6 Other Challenges Solved..................... 136 5.5 Simulation Results............................ 139 5.5.1 Speed-Efficiency Comparisons.................. 141 5.6 Formal Description of Problem, Terminology, and Algorithm..... 143 5.6.1 Forward Locomotion Pseudo-Code............... 145 5.6.2 Robomotion: Formal Problem Statement and Algorithmic Goal 150 5.7 Robomotion Proofs of Correctness.................... 153 5.7.1 Forward Locomotion....................... 153 5.7.2 Reverse Locomotion....................... 168 5.7.3 Locomotion With Turns..................... 176 5.8 Setting Up Tunnel Grid Configurations.................. 184 5.9 Handling Multi-Tunnel Coordination and Uneven Terrain....... 188 5.10 The BLOCKS Module Design...................... 191 5.11 Summary................................. 193 6 Conclusion 194 6.1 Summary of Contributions........................ 194 6.2 Future Work................................ 196 6.2.1 Scalable Control: Self-Reconfigurable Tools Framework.... 196 6.2.2 Scalable Adaptability: Building Bridges with SR Robots... 198 6.2.3 Scalable Power: Force Actions.................. 201 viii Bibliography 205 Biography 235 ix List of Figures 2.1 Left: CEBOT modules separate (left) and stacked (right) [279].... 12 2.2 A partially expanded Crystalline module [22].............. 13 2.3 A PolyPod segment [279]......................... 14 2.4 A PolyBot generation 1 module [161]................... 15 2.5 A CKbot module [199]........................... 15 2.6 Top: A male Molecule module. Bottom: A female Molecule [114].. 16 2.7 A Telecube module in contracted form [239]............... 17 2.8 Diagram of the Shady robot [253]..................... 18 2.9 A single Shady3D module [298]...................... 19 2.10 Two current-version Molecube modules [307].............. 19 2.11 Several Miche modules [83]........................ 20 2.12 Several EM-Cube modules reconfiguring [5]............... 20 2.13 10 ATRON modules collected together [14]............... 21 2.14 The ball and bar modules for the Odin robot [136]........... 22 2.15 A walker made from 9 M-TRAN modules [124]............. 23 2.16 A SuperBot module [193]......................... 23 2.17 Local Rules: The left side of the figure shows locomotion generated from local rules. The right side shows a grouping 5 such rules which would generate eastward locomotion (to the right) if no obstacles were present [25, 24]............................... 28 x 2.18 Million Module March: By applying a simple machine learning technique, highly scalable locomotion was possible [69]......... 31 2.19 Scalable Joint: Christensen et al. propose forming groups of modules into anatomical parts, like muscles and bones, to simply control of SR robots [50]................................. 35 3.1 The x-axis to y-axis problem: transforming a row of modules into a column. Our algorithm uses an intermediate step of forming a square. 42 3.2 The Squeeze problem: Expanding cube modules in (a), each of length 1, contract to each have length 1/2 and form the configuration in (b).................................... 52 3.3 Confined