Reconfiguration Planning for Heterogeneous Self-Reconfiguring Robots

Size: px
Start display at page:

Download "Reconfiguration Planning for Heterogeneous Self-Reconfiguring Robots"

Transcription

1 Reconfiguration Planning for Heterogeneous Self-Reconfiguring Robots Robert Fitch, Zack Butler and Daniela Rus Department of Computer Science, Dartmouth College {rfitch, zackb, Abstract Current research in self-reconfiguring robots focuses predominantly on systems of identical modules. However, allowing modules of varying types, with different sensors, for example, is of practical interest. In this paper, we propose the development of an algorithmic basis for heterogeneous self-reconfiguring systems. We demonstrate algorithmic feasibility by presenting O(n 2 ) time centralized and O(n 3 ) time decentralized solutions to the reconfiguration problem for n non-identical modules. As our centralized time bound is equal to the best published homogeneous solution, we argue that space, as opposed to time, is the critical resource in the reconfiguration problem. Our results encourage the development both of applications that use heterogeneous self-reconfiguration, and also heterogeneous hardware systems. 1 Introduction The promise of self-reconfiguring (SR) robotics is to endow systems with the ability to change shape to match structure to task. The reconfiguration problem, which asks how to compute these shape changes, is thus a central research question. Reconfiguration has been studied extensively in systems where all modules are identical, known as homogeneous systems, but the heterogeneous version of the reconfiguration problem, where modules are allowed to be unique, has not received the same attention and appears to be more difficult. However, no published analysis exists. We believe that the heterogeneous reconfiguration problem is an important research question both practically (useful in even primarily homogeneous systems) and theoretically. In this paper we propose solutions to heterogeneous self-reconfiguration with running times matching their homogeneous counterparts. Although the elegance of a purely homogeneous system is appealing, practical issues suggest some degree of heterogeneity is desirable. Design tradeoffs exist between homogeneous and heterogeneous systems. Castano and Will [3] characterize the issue as a balance between the hardware complexity of increasing the functionality of the base module in a homogeneous system and the software complexity, and loss of redundancy, of a system that uses specialized modules. Certainly it is difficult to argue in favor of using thousands of cameras or expensive sensors to maintain homogeneity when one or two would suffice. Note that the addition of even one special module to a homogeneous system violates the assumptions of current reconfiguration algorithms. The software complexity of the resulting system is assumed to be increased, but this has not been proven. We are interested in addressing this question. The challenge in developing heterogeneous reconfiguration algorithms is that modules can no longer substitute for each other. Consider the case of a 2D system of square modules with unique identifiers to model the presence of cameras, radios, or other capabilities. This problem seems strongly related to the Warehouse Problem, which was proved intractable even in the 2D case with rectangular objects [5]. Although the reconfiguration problem imposes connectivity and other constraints not present in the Warehouse Problem, this similarity indicates that heterogeneous self-reconfiguration is also very difficult. Our approach relies on the availability of free space in the reconfiguration problem. In fact, the Warehouse Problem has been shown to be polynomial-time solvable given sufficient free space [13]. The main contribution of this paper is the surprising result that heterogeneous selfreconfiguration can be solved in lattice-based systems using asymptotically no more time than the homogeneous problem requires. We present both centralized and decentralized 3D solutions that assume arbitrary free space, which we define as out-of-place solutions. Developing in-place solutions, where free space is limited, as well as determining exactly how much free space is required by in-place solutions, is left to future work. The paper is organized as follows. In the following section, we review related work. We then describe the model under which we developed our algorithms, called the Sliding Cube model. Centralized and decentralized algorithms are presented in Section 4, followed by discussion and future work.

2 Figure 1: Simulation of chair-to-table reconfiguration with two module types. Light modules forming legs of the chair map to legs of the table. Dark modules in the chair form the top of the table. This reconfiguration was planned with the out-of-place MeltSortGrow algorithm presented in this paper. 2 Related Work The algorithms presented in this paper focus on latticebased systems. Several such systems have been designed and constructed in hardware [10, 6, 18, 7, 9, 15, 11]. Planning and control for self-reconfiguration in homogeneous systems has been studied by numerous groups. One approach is to develop centralized algorithms [17, 7, 11, 19]. Alternatively, work in decentralized planning begins with the Fracta system, using precompiled sets of rules [8, 14]. A similar algorithm is given by Hosokawa et al. [6]. Yim, Duff and Roufas [18] present a distributed controller for Proteo modules that achieves arbitrary shapes. A later approach in distributed planners is the use of message-passing. Salemi, Shen and Will [12] propose a control system for CONRO using a messagepassing scheme called Digital Hormones. The problem of distributed reconfiguration for unit-compressible modules was solved by a combination of the Pacman algorithm developed by the Dartmouth group [1] and later modifications and analysis by Vassilvitskii, Yim and Suh [16]. Decentralized algorithms that use reconfiguration as part of locomotion are presented in [2]. All previous work in reconfiguration planning assumes primarily homogeneous or bipartite systems. The algorithms we propose, in contrast, are the first to support module uniqueness. 3 Sliding Cube Model We would like to design algorithms not for one specific robot, but for a class of module hardware. We will extend a model we introduced in our previous work [2] that was shown to be easily instantiated to several module types [2, 4, 6] and define the Sliding Cube. The module is a cube with connectors on all faces. Modules connect faceto-face to any other module, and have two motion primitives: sliding across another modules, and making a convex transition. These primitives allow a single module to move across the surface of a robot shape, or through the robot s volume using tunnelling techniques. All modules are of the same size, but to support simple heterogeneity we assign each module a type, or class ID. Systems of Sliding Cubes have properties similar to Crystal [11] or Telecube Robots [16] using metamodules, a group of modules treated as a single unit with additional motion capabilities. In particular, any Sliding Cube robot has at least one mobile module, where a module is mobile if it can move without disconnecting the structure of the robot. This is shown by the following lemma: Lemma 1. Any Sliding Cube robot contains at least one mobile module on its surface. Proof. We prove this based on induction on the number of modules in the robot, similar to that given by [11]. Details of the proof are omitted for space considerations. Although the level of heterogeneity in the Sliding Cube only consists of unique labels, it is possible to extend the model to encompass a greater degree of heterogeneity. Each module can be given connectivity constraints to model different types of connectors, more complicated motion primitives can be defined, or modules can vary in size. In the future, we would like to develop reconfiguration algorithms for models with these extensions. 4 Heterogeneous Reconfiguration Planning The reconfiguration problem is central to research in SR robots. The problem is to compute a feasible plan that when executed from an initial configuration C results in a specified goal configuration C. A plan is feasible if it maintains the property of connectivity and consists of valid primitive motions for the module actuation model specified. Currently we do not consider dynamics of the intermediate steps. An example reconfiguration is shown in Figure 1. Existing reconfiguration algorithms rely heavily on module interchangeability. Instead of physically moving a

3 certain module from one point to another, it can be relocated virtually by shifting the original module out of position and shifting any other module into the goal position. This technique is efficient since no one module needs to move very far. Virtual module relocation becomes restricted in heterogeneous systems, however, since not all modules are identical. This seems to indicate that heterogeneous reconfiguration is much more difficult than homogeneous reconfiguration, but the complexity of heterogeneous reconfiguration has not been studied in depth. It turns out that in both the Warehouse and heterogeneous reconfiguration problems, the main issue is not running time, but free space [13]. Like the Warehouse problem, we show in this paper that heterogeneous reconfiguration is solvable in polynomial time given sufficient space. We define a solution as out-of-place if the quantity of space available in which to move modules is assumed to be unbounded. Conversely, in an in-place solution the space available in which to move modules is constrained to the union of the start and goal configurations plus a constantsized crust of space around this union. Both in-place and out-of-place algorithms exist for homogeneous reconfiguration. In this section we describe an out-of-place solution, Melt- SortGrow. We present both centralized and decentralized versions of the algorithm, analyze correctness and running time, and describe its implementation. 4.1 MeltSortGrow Algorithm We developed the algorithm MeltSortGrow as an out-ofplace solution to the heterogenous reconfiguration planning problem with the Sliding Cube actuation model. The planner takes two robot configurations as inputs, and outputs a sequence of module motion primitives that transform the start configuration into the goal. Centralized MeltSortGrow runs in O(n 2 ) time and generates a plan of length O(n 2 ), where n is the number of modules in the robot. Our approach is based on an early solution to homogeneous reconfiguration, MeltGrow [11]. As in MeltGrow, rather than transforming from the initial configuration directly to the goal configuration we generate an intermediate configuration that is easy to reach from any initial condition, and easy to transform into the goal configuration. In this case we choose a single line, or chain, as a simple intermediate configuration. We first plan a reconfiguration from the start configuration to the intermediate structure. Then we sort the modules in the intermediate structure to prepare for the final step, where we plan a reconfiguration from the sorted intermediate structure to the goal shape. This algorithm outline is listed in Algorithm 1. We now formally present the algorithm, prove correctness, completeness and running time, and describe results in simulation. Algorithm 1 Generic centralized out-of-place algorithm for heterogeneous self-reconfiguration. 1: Melt configuration into 1D linear chain 2: Compute feasible assembly order for goal shape 3: Sort chain by assembly order 4: while Reconfiguration is not complete do 5: Move next module into final position Melt. The objective of the Melt step is to compute a plan that reconfigures the initial configuration into the intermediate configuration, a line. As in MeltGrow, we repeatedly choose a module in the initial configuration and move it to a free position in the intermediate structure. To choose a module in the initial configuration, we identify all mobile modules using standard graph search techniques. Then we find a path from any mobile module to the end of the chain, called the tail. Algorithm 2 Melt algorithm builds intermediate structure (1D chain). 1: Intermediate configuration I 2: while Modules remain in initial configuration do 3: Find articulation points 4: Find path p from root of I to non-articulation point module m using breadth-first search 5: Move m to end of I using p The melt step is specified in Algorithm 2. To begin, we choose one leftmost module from the initial structure and label this the root. We will grow the intermediate structure to the left of the root (since by our choice of root we know there are no other modules to its left). A module is mobile if it is not an articulation point in the module connectivity graph, and if it is on the surface of the structure. In line 3 we compute articulation points, and line 4 chooses a surface module from the set of non-articulation points. If we begin at the tail, and search all possible module paths, then any module we reach must be on the surface. Observe that in the Sliding Cube model, the only reachable positions are adjacent to existing modules. We call these path positions. In line 4 of the algorithm, we search through path positions using breadthfirst-search (BFS), starting from the tail position and terminating when we reach a non-articulation point module. The resulting path is transformed into a motion plan and executed in line 5 by reconstructing the motion primitives used in the BFS path. We repeat this procedure until all modules have been moved, which is once per module. See Figure 2 for an illustration of this step. Sort. The next phase of the algorithm is to modify the intermediate structure such that it is possible to easily grow the new configuration in the final phase. Assembly order is important since specific modules must be moved into their assigned positions. We approach this problem

4 (a) (b) (a) (b) (c) Figure 3: Steps of the sort phase. Modules next to move are greyed. Construction of the double row is shown in (a). In (b), SelectionSort is in progress. The final sorted order is assembled in (c) by merging the two sorted rows. (c) Figure 2: Illustration of Melt step. In (a), the root module (lower-left) is darkened and mobile modules are shown in light grey. The state after two modules have been moved is shown in (b), with modules in the intermediate structure shown in medium grey. The complete intermediate structure is drawn in (c). by sorting the modules in the intermediate chain, where the sorting corresponds to a feasible assembly order of the goal configuration. Therefore we must compute a feasible assembly order and then physically sort the modules according to this sequence. Algorithm 3 Compute feasible assembly order and sort chain. 1: Intermediate configuration I 2: for counter c = 1 to n do 3: Find articulation points in goal configuration C 4: Find path p from root to non-articulation point module m in C using BFS 5: Label m with c and mark as deleted 6: Move left half of I on top of right half, forming rows a and b 7: while a is not empty do 8: Find module m in a with minimum label 9: Move m to leftmost unoccupied position in row below b 10: Repeat for row b 11: Merge rows a and b into one sorted row above a, in the style of MergeSort. The sort step is specified in Algorithm 3. First, in lines 2-5, we compute the (dis)assembly order of the goal configuration using the melt technique described earlier, although instead of computing a path for each module we simply label it with its assembly order and mark it deleted. This can be thought of as a virtual melt. Reversing the resulting disassembly order yields a total ordering on the modules in the intermediate chain, assuming all modules have unique types. The case where modules share types can be handled by artificially labelling modules as convenient. In order to physically sort the chain, we use the simple quadratic-time sorting algorithm SelectionSort, and also one step of MergeSort. Clearly, removing a module from the middle of the line violates connectivity constraints, but the same operation on a double line is permissible. Therefore in line 6 we create a double line by moving half of the modules from the end of the line to form a second row alongside the original row. Now we are free to use SelectionSort to move modules in the top line into sorted position in a new row below the bottom line. Continuing in this way, we obtain two sorted rows. Now we simply merge these two as in MergeSort into a final sorted line adjacent to the double row. By carefully choosing where the new rows are created, the final sorted line is assembled at the same position as the original intermediate structure. See Figure 3 for an illustration of this phase of the algorithm. The following Lemma shows that is always possible to perform sorting: Lemma 2. An intermediate configuration with arbitrary module ordering can be reconfigured into a configuration with the same shape and a designated module ordering. Proof. Consider the specification of Algorithm 3. The double row can be assembled without disconnecting the structure since modules always move from the end of the top row, which can not be an articulation point since it has only one neighbor. The selection sort step maintains connectivity since all modules at all times are connected to a module in the lower row, and correctly assembles the sorted row since modules are chosen in order. The merge step is correct since we merge two sorted chains, and the three rows are always connected by the rightmost modules. Thus the sorting algorithm is correct. Grow. In the final phase of the algorithm we build the goal configuration from the sorted intermediate configuration. Due to the sorting step, it is guaranteed that at any time, there exists a path from the tail module to its unique position in the goal configuration. Therefore we repeatedly find such a path and execute it for each module in the intermediate configuration. Pseudocode for this phase is listed in Algorithm 4. Line 3 finds a path from the tail to its position in the goal con-

5 (a) (b) (c) Figure 4: Steps of the grow phase. Shading indicates module type. In (a), a path is found from the module at the left end of the intermediate structure to its final position in the goal configuration, shown in (b). This repeats until the complete goal shape is assembled in (c). Algorithm 4 Grow goal configuration. 1: Intermediate configuration I 2: while Reconfiguration is not complete do 3: Find path p from tail of I to goal position using BFS 4: Execute path p figuration using the same BFS technique described in the melt phase. A motion plan based on the returned path is computed in line 4, and this process repeats for each module. See Figure 4 for an example of this step. Analysis. Using results from previous sections, we now show that MeltSortGrow is correct and complete. We also show the running time as claimed. Theorem 1. The algorithm MeltSortGrow computes a feasible reconfiguration plan of length O(n 2 ) for all start and goal configurations in O(n 2 ) time, where n is the number of modules in the system. Proof. By the specification of Algorithm 4, each position in the goal configuration is filled only by a module of appropriate type. Therefore, the goal configuration is assembled correctly. It remains to prove completeness. We will show that any start configuration can be reconfigured into the intermediate configuration, and that the intermediate configuration can be reconfigured into any goal configuration. Recall Lemma 1, which showed that in any configuration at least one surface module is mobile. Using the primitive motions, this mobile module can reach any other position on the surface. By repeatedly relocating mobile modules, we can therefore form the intermediate configuration from any start configuration. This argument also applies to computing the (dis)assembly sequence, since the same melt procedure is used. The intermediate configuration can be sorted by the assembly sequence due to Lemma 2. Now consider the module at the left end of the intermediate configuration, the tail. The tail is clearly mobile, and can move to any position on the surface of the structure without disconnection. Due to the assembly order, the destination position of the tail in the goal is unfilled and is reachable, and therefore the tail can successfully be relocated. Continuing in this way, we can relocate all modules in the intermediate structure and the goal configuration is assembled. Therefore MeltSortGrow is correct and complete for all start and goal configurations. Running time is easy to see as each of the algorithm s three phases requires O(n 2 ) time. First, one step of the melt phase requires O(n) time for articulation point finding and O(n) time for BFS, or O(n 2 ) in total for n modules. Sorting requires O(n 2 ) time each for selection sort and merge sort. Finally the grow phase performs BFS O(n) times or O(n 2 ) total. Overall, the algorithm requires O(n 2 ) + O(n 2 ) + O(n 2 ) = O(n 2 ) time. No more than one primitive move is generated during each time step, so the length of the resulting path is also O(n 2 ). Simulation. We designed and implemented a simulation environment called SRSim (self-reconfiguring robot simulator) in which to implement and animate algorithms for self-reconfiguring robots. SRSim is written in the Java programming language using the Java3D API for 3D graphics. It is designed as a set of base classes that are extended by the implementation of a specific algorithm. We implemented MeltSortGrow using SRSim, with screenshots shown in Figures 1 and 5. The simulation reads the start and goal configurations from a file specification, although we are currently designing a graphical tool to make configuration specification easier. SRSim animates all module motions and also search paths as desired. 4.2 Decentralized MeltSortGrow A centralized solution to heterogeneous reconfiguration planning is a good start in understanding the problem, but it is not sufficient for general use since self-reconfiguring systems are designed to include large numbers of modules. The goals of scalability and redundancy lead us to seek decentralized planners for SR robots. In this section, we extend centralized MeltSortGrow to run in a decentralized manner. As in our previous work in decentralized algorithms, we adopt the message-passing model of communication;

6 Figure 5: Screenshots from MeltSortGrow implementation in SRSim simulation. Module shading indicates unique labels. Cube-shape reconfigures from light-to-dark ordering in upper-left to dark-to-light ordering in lower-right. modules can communicate only with their immediate neighbors. The main approach is to retain the overall structure of the algorithm, but replace centralized computation with message-passing as necessary. We assume that at the beginning, a single module receives a message to start running the algorithm. Further, we assume that all modules have a copy of the goal configuration in their local memories. If only one module knows the goal shape, then it can propagate this data to the rest of the system. Melt. Previously, to perform the melt step we identified a root by choosing a leftmost module, and then repeatedly found mobile modules and moved them to the end of the chain formed from the root. Now, since only one module, m start, receives the signal to begin the algorithm, we can find the root by propagating a message depth-first style from m start that computes a relative lattice position for each module. We use depth-first search (DFS) since it is easier to distribute than BFS. Starting at m start (0, 0, 0), each module computes positions for its children and passes this information in a message. In this way, the leftmost coordinate can be returned by comparing the return values of a module s children. Eventually m start will receive the answer and propagate this information to the rest of the system. To melt, think of the root as the initial tail. At any time, there exists exactly one tail. To find a mobile module, the tail initiates a distributed articulation-point labelling algorithm. This is the same as the centralized version except recursive calls are replaced by message-passing to children. The tail then initiates distributed DFS to find the first non-articulation point, which then follows the path back to the tail and becomes the new tail. This ends when DFS fails. Pseudocode is shown in Algorithm 5. Algorithm 5 Distributed Melt. Pseudocode for single module. State: articulationpoint, am I an articulation point Messages: start, sent to exactly one module to begin algorithm Action: determine root, root executes meltonemodule() labelarticulationpoints, labels articulation point modules Action: DFS-send(labelArticulationPoints), setting articulationpoint as result findmobilemodule, search to find non-articulation point Action: if I am mobile, follow path to tail and execute meltonemodule(), else DFS-send(findMobileModule) Procedures: meltonemodule() DFS-send labelarticulationpoints DFS-send findmobilemodule if result is false, signal start of sort phase DFS-send(message) send message to first child, wait for response repeat for all children and compute result send result in return message to parent Sort. The next step is to sort the intermediate structure. We first need to determine the sort order by virtually disassembling the goal configuration and then physically sorting the modules. Disassembly in a decentralized manner can be handled in different ways, but the simplest solution is for each module to perform the computation itself to discover its own order. This solution is acceptable due to our assumption that all modules know the goal configuration. Next, the single chain must fold in half to form a double row. The tail module initiates this by mov-

7 ing around to its final position below the root. Other modules follow until all top row modules have lower neighbors. The last module in the top row signals its row to begin sorting, using distributed BubbleSort. When one pair has finished their comparison, they signal the next pair. This happens back and forth down the row until no more swaps are made. Then the top row signals the bottom row to performs the same sort operation. The two then merge to complete the intermediate configuration. See pseudocode in Algorithm 6. Algorithm 6 Distributed Sort. Pseudocode for single module. State: goal, goal configuration sortlabel, my order in assembly sequence swapcount, counter to detect bubble sort termination Messages: sort, sent to start sort phase Action: propagate sort, execute computesortorder(), execute formdoublerow() bubblesort, sent to do swap test Action: execute handlebubblesort() bubblesortdone, sent to signal bubble sort termination Action: if top row, send bubblesort to bottom row. if bottom row, execute merge() Procedures: computesortorder() disassemble goal to determine sortlabel formdoublerow() move around structure to form double row if I am last module, execute bubblesort() bubblesort() compare sortlabel with neighbor and swap if necessary send bubblesort(swapcount) to neighbor handlebubblesort() if swapcount=0 then propogate bubblesortdone otherwise if I am at the end of the line, send bubblesort in opposite direction merge() tails of sorted rows propagate sortlabel tail with minimum moves to final row and signals next tails when complete, grow phase begins This specification handles the case when all modules are uniquely identified. The modification to remove this assumption is simple, but requires extra memory. Instead of computing a unique sort position, the modules keep an array of all positions for their class ID. Then when the single chain is assembled, the unique position is resolved by passing a counter down the chain. Grow. The grow phase reconfigures the intermediate configuration into the final shape. The basic step is that the tail module finds a path, executes it, and signals the new tail. Path planning is done using distributed DFS. When the root module becomes the tail, the algorithm terminates. See Algorithm 7 for pseudocode. Algorithm 7 Distributed Grow. Pseudocode for single module. State: goalposition, my position in goal configuration root, am I the root Messages: grow, sent to signal start of grow phase Action: if I am the current tail, execute movetogoal() nextmodule, sent to grow next module Action: if I am the current tail, and I am root, signal completion. else execute movetogoal() findpath(goalposition), sent to find path Action: if I am adjacent to goalposition, return true. else DFS-send(findPath(goalPosition)) Procedures: movetogoal() DFS-send findpath(goalposition) follow path propagate nextmodule DFS-send() specified in Algorithm 5 Analysis. Theorem 1 proved correctness and completeness for the centralized algorithm. Here we note that the decentralized version operates equivalently. In the melt phase, a path is found by searching free positions adjacent to modules. Because the system is connected, we visit all free spaces eventually and a path will be found. Continuing in this way, the intermediate structure is assembled. Sorting is performed in the style of bubble-sort until both halves of the double row are sorted. Because each half is sorted sequentially, connectivity is maintained. Finally, the grow phase assembles the goal shape using search techniques as in the melt phase. The running time bound is shown by observing that each atomic step in the centralized version is replaced by a step in the decentralized version bounded by O(n), the time to propagate a message. Equating message-passing steps with other atomic steps, the overall running time is thus O(n 2 n) = O(n 3 ), with O(n 2 ) moves generated. Simulation. We have implemented this algorithm in the SRSim simulator described earlier. Each module runs in a separate thread to approximate asynchronous communication. 5 Discussion and Future Work While previous work in reconfiguration planning in SR systems has assumed homogeneity, this paper promotes the development of planners for heterogeneous systems. We describe a system model that incorporates heterogeneity and models a class of existing SR modules. We

8 developed algorithms that solve the reconfiguration problem in this model, and present both centralized and decentralized out-of-place solutions. We show that in the out-of-place case, the running time of the heterogeneous planner is equivalent to the fastest published homogeneous solution. The significance of this paper is that it challenges the presumption that heterogeneous reconfiguration is inherently more difficult than the homogeneous version. Based on the characteristics of the related Warehouse Problem, we conjecture that free space is the resource in contention, instead of the usual metric of running time as a measure of complexity. It is surprising that the heterogeneous problem is not intractable, as previously thought, but is no more difficult than homogeneous reconfiguration given enough free space. This contradicts the intuition that module interchangeability is the most important factor in efficient reconfiguration. Given these results, a few interesting theoretical questions arise. If heterogeneous reconfiguration is solvable in O(n 2 ) time, can homogeneous reconfiguration be solved any faster? What is the lower bound? If space is indeed the critical issue, then is an in-place heterogeneous solution possible in polynomial time? Finally, if this is so, what is the minimum amount of free space required by the in-place solution? We are currently investigating these questions. Practically speaking, it is our hope that these algorithmic results provide the basis for more advanced applications of SR robots. Immediately, it should be possible to add different sensors to existing systems without loss of reconfigurability. It is also interesting to consider multiple modes of actuation, such as unactuated battery modules, or modules such as wheels to increase locomotion capabilities. We would also like to develop algorithms that support more types of heterogeneity, such as varying module geometry or connection constraints. We are now developing these types of applications, and also continuing our algorithmic work as outlined. Acknowledgments Support for this work was provided through NSF awards IRI , EIA , IIS , IIS , EIA and , and ONR award N References [1] Z. Butler, S. Byrnes, and D. Rus. Distributed motion planning for modular robots with unit-compressible modules. In Proc. of the Int l Conf. on Intelligent Robots and Systems, [2] Z. Butler, K. Kotay, D. Rus, and K. Tomita. Generic decentralized control for a class of self-reconfigurable robots. In Proc of IEEE ICRA, [3] A. Castano and P. Will. A polymorphic robot team. In T. Balch and L. Parker, editors, Robot Teams: From Diversity to Polymorphism. A K Peters, Ltd., [4] C.-H. Chiang and G. Chirikjian. Modular robot motion planning using similarity metrics. Autonomous Robots, 10(1):91 106, [5] J. Hopcroft, J. Schwartz, and M. Sharir. On the complexity of motion planning for multiple independent objects; pspace hardness of the warehouseman s problem. The International Journal of Robotics Research, 3(4):76 88, [6] K. Hosokawa, T. Tsujimori, T. Fujii, H. Kaetsu, H. Asama, Y. Koruda, and I. Endo. Self-organizing collective robots with morphogenesis in a vertical plane. In Proc. of IEEE ICRA, pages , [7] K. Kotay and D. Rus. Locomotion versatility through self-reconfiguration. Robotics and Autonomous Systems, 26:217 32, [8] S. Murata, H. Kurokawa, and S. Kokaji. Self-assembling machine. In Proc. of IEEE ICRA, pages 442 8, [9] S. Murata, E. Yoshida, K. Tomita, H. Kurokawa, A. Kamimura, and S. Kokaji. Hardware design of modular robotic system. In Proc. of the Int l Conf. on Intelligent Robots and Systems, pages , [10] A. Pamecha, C-J. Chiang, D. Stein, and G. Chirikjian. Design and implementation of metamorphic robots. In Proc. of the 1996 ASME Design Engineering Technical Conf. and Computers in Engineering Conf., [11] D. Rus and M. Vona. Crystalline robots: Selfreconfiguration with unit-compressible modules. Autonomous Robots, 10(1):107 24, [12] B. Salemi, W.-M. Shen, and P. Will. Hormone-controlled metamorphic robots. In Proc. of IEEE ICRA, [13] R. Sharma and Y. Aloimonos. Coordinated motion planning: The warehousman s problem with constraints on free space. IEEE Transactions on Systems, Man, and Cybernetics, 22(1): , [14] K. Tomita, S. Murata, H. Kurokawa, E. Yoshida, and S. Kokaji. Self-assembly and self-repair method for a distributed mechanical system. IEEE Trans. on Robotics and Automation, 15(6): , Dec [15] Cem Ünsal and Pradeep Khosla. Mechatronic design of a modular self-reconfiguring robotic system. In Proc. of IEEE ICRA, pages , [16] S. Vassilvitskii, M. Yim, and J. Suh. A complete, local and parallel reconfiguration algorithm for cube style modular robots. In Proc. of IEEE ICRA, [17] M. Yim. New locomotion gaits. In Proc. of IEEE ICRA, pages , [18] M. Yim, Y. Zhang, J. Lamping, and E. Mao. Distributed control for 3D shape metamorphosis. Autonomous Robots, 10(1):41 56, [19] E. Yoshida, S. Murata, A. Kaminura, K. Tomita, H. Kurokawa, and S. Kokaji. Motion planning of selfreconfigurable modular robot. In Proc. of Int l Symposium on Experimental Robotics, 2000.

Distributed Goal Recognition Algorithms for Modular Robots

Distributed Goal Recognition Algorithms for Modular Robots Distributed Goal Recognition Algorithms for Modular Robots Zack Butler, Robert Fitch, Daniela Rus and Yuhang Wang Department of Computer Science Dartmouth College {zackb,rfitch,rus,wyh}@cs.dartmouth.edu

More information

Distributed Planning and Control for Modular Robots with Unit-Compressible Modules

Distributed Planning and Control for Modular Robots with Unit-Compressible Modules Zack Butler Daniela Rus Department of Computer Science Dartmouth College Hanover, NH 03755-3510, USA zackb@cs.dartmouth.edu Distributed Planning and Control for Modular Robots with Unit-Compressible Modules

More information

Motion Simulation of a Modular Robotic System

Motion Simulation of a Modular Robotic System Motion Simulation of a Modular Robotic System Haruhisa KUROKAWA, Kohji TOMITA, Eiichi YOSHIDA, Satoshi MURATA and Shigeru KOKAJI Mechanical Engineering Laboratory, AIST, MITI Namiki 1-2, Tsukuba, Ibaraki

More information

Self-Repair Through Scale Independent Self-Reconfiguration

Self-Repair Through Scale Independent Self-Reconfiguration Self-Repair Through Scale Independent Self-Reconfiguration K. Stoy The Maersk Mc-Kinney Moller Institute for Production Technology University of Southern Denmark Odense, Denmark Email: kaspers@mip.sdu.dk

More information

A Self-Reconfigurable Modular Robot: Reconfiguration Planning and Experiments

A Self-Reconfigurable Modular Robot: Reconfiguration Planning and Experiments A Self-Reconfigurable Modular Robot: Reconfiguration Planning and Experiments Eiichi Yoshida, Satoshi Murata, Akiya Kamimura, Kohji Tomita, Haruhisa Kurokawa, and Shigeru Kokaji Distributed System Design

More information

3D Rectilinear Motion Planning with Minimum Bend Paths

3D Rectilinear Motion Planning with Minimum Bend Paths 3D Rectilinear Motion Planning with Minimum Bend Paths Robert Fitch, Zack Butler and Daniela Rus Dept. of Computer Science Dartmouth College Abstract Computing rectilinear shortest paths in two dimensions

More information

Universal Reconfiguration of (Hyper-)cubic Robots

Universal Reconfiguration of (Hyper-)cubic Robots Universal Reconfiguration of (Hyper-)cubic Robots arxiv:0802.3414v3 [cs.cg] 30 Dec 2011 Zachary Abel Department of Mathematics Massachusetts Institute of Technology Cambridge, MA 02139 Email: zabel@math.mit.edu

More information

Generic Decentralized Control for a Class of Self-Reconfigurable Robots

Generic Decentralized Control for a Class of Self-Reconfigurable Robots eneric Decentralized ontrol for a lass of Self-Reconfigurable Robots Zack Butler, Keith Kotay, Daniela Rus and Kohji Tomita Department of omputer Science National nstitute of Advanced Dartmouth ollege

More information

From Crystals to Lattice Robots

From Crystals to Lattice Robots 2008 IEEE International Conference on Robotics and Automation Pasadena, CA, USA, May 19-23, 2008 From Crystals to Lattice Robots Nicolas Brener, Faiz Ben Amar, Philippe Bidaud Université Pierre et Marie

More information

A Simple and Strong Algorithm for Reconfiguration of Hexagonal Metamorphic Robots

A Simple and Strong Algorithm for Reconfiguration of Hexagonal Metamorphic Robots 50 A Simple and Strong Algorithm for Reconfiguration of Hexagonal Metamorphic Robots KwangEui Lee Department of Multimedia Engineering, Dongeui University, Busan, Korea Summary In this paper, we propose

More information

EM-Cube: Cube-Shaped, Self-reconfigurable Robots Sliding on Structure Surfaces

EM-Cube: Cube-Shaped, Self-reconfigurable Robots Sliding on Structure Surfaces 2008 IEEE International Conference on Robotics and Automation Pasadena, CA, USA, May 19-23, 2008 EM-Cube: Cube-Shaped, Self-reconfigurable Robots Sliding on Structure Surfaces Byoung Kwon An Abstract Many

More information

Learning Locomotion Gait of Lattice-Based Modular Robots by Demonstration

Learning Locomotion Gait of Lattice-Based Modular Robots by Demonstration Learning Locomotion Gait of Lattice-Based Modular Robots by Demonstration Seung-kook Yun Computer Science and Artificial Intelligence Laboratory Massachusetts Institute of Technology, Cambridge, Massachusetts,

More information

Hierarchical Motion Planning for Self-reconfigurable Modular Robots

Hierarchical Motion Planning for Self-reconfigurable Modular Robots Hierarchical Motion Planning for Self-reconfigurable Modular Robots Preethi Bhat James Kuffner Seth Goldstein Siddhartha Srinivasa 2 The Robotics Institute 2 Intel Research Pittsburgh Carnegie Mellon University

More information

Distributed planning and control for modular robots with unit-compressible modules

Distributed planning and control for modular robots with unit-compressible modules 1 Distributed planning and control for modular robots with unit-compressible modules Zack Butler and Daniela Rus Dept. of Computer Science Dartmouth College Abstract Self-reconfigurable robots are versatile

More information

A New Meta-Module for Controlling Large Sheets of ATRON Modules

A New Meta-Module for Controlling Large Sheets of ATRON Modules A New Meta-Module for Controlling Large Sheets of ATRON Modules David Brandt and David Johan Christensen The Adaptronics Group, The Maersk Institute, University of Southern Denmark {david.brandt, david}@mmmi.sdu.dk

More information

Technical Report TR Texas A&M University Parasol Lab. Algorithms for Filling Obstacle Pockets with Hexagonal Metamorphic Robots

Technical Report TR Texas A&M University Parasol Lab. Algorithms for Filling Obstacle Pockets with Hexagonal Metamorphic Robots Technical Report TR03-002 Texas A&M University Parasol Lab Algorithms for Filling Obstacle Pockets with Hexagonal Metamorphic Robots Author: Mary E. Brooks, University of Oklahoma Advisors: Dr. Jennifer

More information

Optimal Kinodynamic Motion Planning for 2D Reconfiguration of Self-Reconfigurable Robots

Optimal Kinodynamic Motion Planning for 2D Reconfiguration of Self-Reconfigurable Robots Optimal Kinodynamic Motion Planning for 2D Reconfiguration of Self-Reconfigurable Robots John Reif Department of Computer Science, Duke University Abstract A self-reconfigurable (SR) robot is one composed

More information

Asymptotically Optimal Kinodynamic Motion Planning for Self-Reconfigurable Robots

Asymptotically Optimal Kinodynamic Motion Planning for Self-Reconfigurable Robots Asymptotically Optimal Kinodynamic Motion Planning for Self-Reconfigurable Robots John H. Reif 1 and Sam Slee 1 Department of Computer Science, Duke University, Durham, NC, USA. {reif,sgs}@cs.duke.edu

More information

Asymptotically Optimal Kinodynamic Motion Planning for Self-reconfigurable Robots

Asymptotically Optimal Kinodynamic Motion Planning for Self-reconfigurable Robots Asymptotically Optimal Kinodynamic Motion Planning for Self-reconfigurable Robots John H. Reif 1 and Sam Slee 1 Department of Computer Science, Duke University, Durham, NC, USA {reif,sgs}@cs.duke.edu Abstract.

More information

Treewidth and graph minors

Treewidth and graph minors Treewidth and graph minors Lectures 9 and 10, December 29, 2011, January 5, 2012 We shall touch upon the theory of Graph Minors by Robertson and Seymour. This theory gives a very general condition under

More information

Self-Reconfigurable Modular Robot (M-TRAN) and its Motion Design

Self-Reconfigurable Modular Robot (M-TRAN) and its Motion Design Self-Reconfigurable Modular Robot (M-TRAN) and its Motion Design Haruhisa KUROKAWA *, Akiya KAMIMURA *, Eiichi YOSHIDA *, Kohji TOMITA *, Satoshi MURATA ** and Shigeru KOKAJI * * National Institute of

More information

A System to Support the Design of Dynamic Structure Configurations

A System to Support the Design of Dynamic Structure Configurations ESPRESSOCAD A System to Support the Design of Dynamic Structure Configurations MICHAEL PHILETUS WELLER 1, ELLEN YI-LUEN DO 1 AND MARK D GROSS 1 1 Design Machine Group, University of Washington 1. Introduction

More information

Distributed Sorting. Chapter Array & Mesh

Distributed Sorting. Chapter Array & Mesh Chapter 9 Distributed Sorting Indeed, I believe that virtually every important aspect of programming arises somewhere in the context of sorting [and searching]! Donald E. Knuth, The Art of Computer Programming

More information

Distributed Control of the Center of Mass of a Modular Robot

Distributed Control of the Center of Mass of a Modular Robot Proc. 6 IEEE/RSJ Intl. Conf on Intelligent Robots and Systems (IROS-6), pp. 47-475 Distributed Control of the Center of Mass of a Modular Robot Mark Moll, Peter Will, Maks Krivokon, and Wei-Min Shen Information

More information

Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1

Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1 CME 305: Discrete Mathematics and Algorithms Instructor: Professor Aaron Sidford (sidford@stanford.edu) January 11, 2018 Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1 In this lecture

More information

Realistic Reconfiguration of Crystalline (and Telecube) Robots

Realistic Reconfiguration of Crystalline (and Telecube) Robots Realistic Reconfiguration of Crystalline (and Telecube) Robots Greg Aloupis, Sébastien Collette, Mirela Damian, Erik D. Demaine 3, Dania El-Khechen 4, Robin Flatland 5, Stefan Langerman, Joseph O Rourke

More information

Reconfigurable Robot

Reconfigurable Robot Reconfigurable Robot What is a Reconfigurable Robot? Self-reconfiguring modular robots are autonomous kinematic machines with variable morphology They are able to deliberately change their own shape by

More information

Realistic Reconfiguration of Crystalline (and Telecube) Robots

Realistic Reconfiguration of Crystalline (and Telecube) Robots Realistic Reconfiguration of Crystalline (and Telecube) Robots Greg Aloupis, Sébastien Collette, Mirela Damian, Erik D. Demaine, Dania El-Khechen, Robin Flatland, Stefan Langerman, Joseph O Rourke, Val

More information

Layering Algorithm for Collision-Free Traversal Using Hexagonal Self-Reconfigurable Metamorphic Robots

Layering Algorithm for Collision-Free Traversal Using Hexagonal Self-Reconfigurable Metamorphic Robots Layering Algorithm for Collision-Free Traversal Using Hexagonal Self-Reconfigurable Metamorphic Robots Plamen Ivanov and Jennifer Walter Computer Science Department Vassar College {plivanov,jewalter}@vassar.edu

More information

Graph Crossing Number and Isomorphism SPUR Final Paper, Summer 2012

Graph Crossing Number and Isomorphism SPUR Final Paper, Summer 2012 Graph Crossing Number and Isomorphism SPUR Final Paper, Summer 2012 Mark Velednitsky Mentor Adam Bouland Problem suggested by Adam Bouland, Jacob Fox MIT Abstract The polynomial-time tractability of graph

More information

Reconfiguration of Cube-Style Modular Robots Using O(log n) Parallel Moves

Reconfiguration of Cube-Style Modular Robots Using O(log n) Parallel Moves Reconfiguration of Cube-Style Modular Robots Using O(log n) Parallel Moves Greg Aloupis 1, Sébastien Collette 1, Erik D. Demaine 2, Stefan Langerman 1, Vera Sacristán 3, and Stefanie Wuhrer 4 1 Université

More information

Generic Decentralized Control for Lattice-Based Self-Reconfigurable Robots

Generic Decentralized Control for Lattice-Based Self-Reconfigurable Robots Generic Decentralized ontrol for Lattice-Based Self-Reconfigurable Robots Zack Butler, Keith Kotay, Daniela Rus and Kohji Tomita Abstract Previous work on self-reconfiguring modular robots has concentrated

More information

BASE MOLECULE DESIGN AND SIMULATION OF MODULAR ROBOT ROBMAT. Juan A. Escalera, Roque Saltarén, Manuel Ferre, Rafael Aracil, Cecilia E.

BASE MOLECULE DESIGN AND SIMULATION OF MODULAR ROBOT ROBMAT. Juan A. Escalera, Roque Saltarén, Manuel Ferre, Rafael Aracil, Cecilia E. BASE MOLECULE DESIGN AND SIMULATION OF MODULAR ROBOT ROBMAT Juan A. Escalera, Roque Saltarén, Manuel Ferre, Rafael Aracil, Cecilia E. García Escuela Técnica Superior de Ingenieros Industriales Universidad

More information

Top of pin head. Engagement latch. Disengagement latch

Top of pin head. Engagement latch. Disengagement latch Autonomous and Self-Sufficient CONRO Modules for Reconfigurable Robots Andres Castano, Ramesh Chokkalingam, and Peter Will University of Southern California Information Sciences Institute 4676 Admiralty

More information

CS2 Algorithms and Data Structures Note 10. Depth-First Search and Topological Sorting

CS2 Algorithms and Data Structures Note 10. Depth-First Search and Topological Sorting CS2 Algorithms and Data Structures Note 10 Depth-First Search and Topological Sorting In this lecture, we will analyse the running time of DFS and discuss a few applications. 10.1 A recursive implementation

More information

The Encoding Complexity of Network Coding

The Encoding Complexity of Network Coding The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email: mikel,spalex,bruck @caltech.edu Abstract In the multicast network

More information

Software Architecture for Modular Self-Reconfigurable Robots

Software Architecture for Modular Self-Reconfigurable Robots Software Architecture for Modular Self-Reconfigurable Robots Ying Zhang, Kimon D. Roufas and Mark Yim Xerox Palo Alto Research Center 3333 Coyote Hill Rd, Palo Alto, CA 94304 E-mails: {yzhang,kroufas,yim}@parc.xerox.com

More information

Linear Reconfiguration of Cube-Style Modular Robots

Linear Reconfiguration of Cube-Style Modular Robots Linear Reconfiguration of Cube-Style Modular Robots Greg Aloupis 1, Sébastien Collette 2, Mirela Damian 3, Erik D. Demaine 4, Robin Flatland 5, Stefan Langerman 6, Joseph O Rourke 7, Suneeta Ramaswami

More information

Design of Prismatic Cube Modules for Convex Corner Traversal in 3D

Design of Prismatic Cube Modules for Convex Corner Traversal in 3D Design of Prismatic Cube Modules for Convex Corner Traversal in 3D Michael Philetus Weller, Brian T Kirby, H Benjamin Brown, Mark D Gross and Seth Copen Goldstein Abstract The prismatic cube style of modular

More information

Lecture 3: Art Gallery Problems and Polygon Triangulation

Lecture 3: Art Gallery Problems and Polygon Triangulation EECS 396/496: Computational Geometry Fall 2017 Lecture 3: Art Gallery Problems and Polygon Triangulation Lecturer: Huck Bennett In this lecture, we study the problem of guarding an art gallery (specified

More information

Connecting and disconnecting for chain self-reconfiguration with PolyBot

Connecting and disconnecting for chain self-reconfiguration with PolyBot 1 Connecting disconnecting for chain self-reconfiguration with PolyBot Mark Yim Ying Zhang Kimon Roufas David Duff Craig Eldershaw Palo Alto Research Center, CA, USA. Abstract Chain modular robots form

More information

Increasing the Efficiency of Distributed Goal-Filling Algorithms for Self-Reconfigurable Hexagonal Metamorphic Robots

Increasing the Efficiency of Distributed Goal-Filling Algorithms for Self-Reconfigurable Hexagonal Metamorphic Robots Increasing the Efficiency of Distributed Goal-Filling lgorithms for Self-Reconfigurable Hexagonal Metamorphic Robots J. ateau,. Clark, K. McEachern, E. Schutze, and J. Walter Computer Science Department,

More information

6.001 Notes: Section 31.1

6.001 Notes: Section 31.1 6.001 Notes: Section 31.1 Slide 31.1.1 In previous lectures we have seen a number of important themes, which relate to designing code for complex systems. One was the idea of proof by induction, meaning

More information

Distributed Control for 3D Metamorphosis

Distributed Control for 3D Metamorphosis Distributed Control for 3D Metamorphosis MARK YIM, YING ZHANG, JOHN LAMPING, ERIC MAO * Xerox Palo Alto Research Center, 3333 Coyote Hill Road, Palo Alto, CA 94304 {yim, yzhang}@parc.xerox.com lamping@acm.org

More information

CS 161 Lecture 11 BFS, Dijkstra s algorithm Jessica Su (some parts copied from CLRS) 1 Review

CS 161 Lecture 11 BFS, Dijkstra s algorithm Jessica Su (some parts copied from CLRS) 1 Review 1 Review 1 Something I did not emphasize enough last time is that during the execution of depth-firstsearch, we construct depth-first-search trees. One graph may have multiple depth-firstsearch trees,

More information

Hormone-Inspired Adaptive Communication and Distributed Control for CONRO Self-Reconfigurable Robots

Hormone-Inspired Adaptive Communication and Distributed Control for CONRO Self-Reconfigurable Robots 700 IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 18, NO. 5, OCTOBER 2002 Hormone-Inspired Adaptive Communication and Distributed Control for CONRO Self-Reconfigurable Robots Wei-Min Shen, Member,

More information

Computing intersections in a set of line segments: the Bentley-Ottmann algorithm

Computing intersections in a set of line segments: the Bentley-Ottmann algorithm Computing intersections in a set of line segments: the Bentley-Ottmann algorithm Michiel Smid October 14, 2003 1 Introduction In these notes, we introduce a powerful technique for solving geometric problems.

More information

Lecture 10: Strongly Connected Components, Biconnected Graphs

Lecture 10: Strongly Connected Components, Biconnected Graphs 15-750: Graduate Algorithms February 8, 2016 Lecture 10: Strongly Connected Components, Biconnected Graphs Lecturer: David Witmer Scribe: Zhong Zhou 1 DFS Continued We have introduced Depth-First Search

More information

Shape Complexes for Metamorhpic Robots

Shape Complexes for Metamorhpic Robots Shape Complexes for Metamorhpic Robots Robert Ghrist University of Illinois, Urbana, IL 61801, USA Abstract. A metamorphic robotic system is an aggregate of identical robot units which can individually

More information

YaMoR and Bluemove an autonomous modular robot with Bluetooth interface for exploring adaptive locomotion

YaMoR and Bluemove an autonomous modular robot with Bluetooth interface for exploring adaptive locomotion YaMoR and Bluemove an autonomous modular robot with Bluetooth interface for exploring adaptive locomotion R. Moeckel, C. Jaquier, K. Drapel, E. Dittrich, A. Upegui, A. Ijspeert Ecole Polytechnique Fédérale

More information

Self-Reconfiguration Planning for a Class of Modular Robots

Self-Reconfiguration Planning for a Class of Modular Robots Header for SPIE use Self-Reconfiguration Planning for a Class of Modular Robots Arancha Casal a, Mark Yim b ab Xerox Palo Alto Research Center a Robotics Laboratory, Stanford University ABSTRACT Modular

More information

Hormone- Controlled Metamorphic Robots

Hormone- Controlled Metamorphic Robots Proceedings of the 2001 IEEE International Conference on Robotics & Automation Seoul, Korea. May 21-26, 2001 Hormone- Controlled Metamorphic Robots Behnam Salemi, Wei-Min Shen, and Peter Will USC Information

More information

4 Basics of Trees. Petr Hliněný, FI MU Brno 1 FI: MA010: Trees and Forests

4 Basics of Trees. Petr Hliněný, FI MU Brno 1 FI: MA010: Trees and Forests 4 Basics of Trees Trees, actually acyclic connected simple graphs, are among the simplest graph classes. Despite their simplicity, they still have rich structure and many useful application, such as in

More information

Representing and Discovering the Configuration of Conro Robots

Representing and Discovering the Configuration of Conro Robots Proceedings of the 21 IEEE International Conference on Robotics 8 Automation Seoul, Korea. May 21-26, 21 Representing and Discovering the Configuration of Conro Robots Andres Castano * Peter Will Information

More information

Scalable Modular Self-reconfigurable Robots Using External Actuation

Scalable Modular Self-reconfigurable Robots Using External Actuation Scalable Modular Self-reconfigurable Robots Using External Actuation Paul J. White and Mark Yim Abstract This paper presents a method for scaling down the size and scaling up the number of modules of selfreconfigurable

More information

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Greedy Algorithms (continued) The best known application where the greedy algorithm is optimal is surely

More information

Lecture 3: Graphs and flows

Lecture 3: Graphs and flows Chapter 3 Lecture 3: Graphs and flows Graphs: a useful combinatorial structure. Definitions: graph, directed and undirected graph, edge as ordered pair, path, cycle, connected graph, strongly connected

More information

Distributed Control for Unit-compressible Robots: Goal-recognition, Locomotion and Splitting

Distributed Control for Unit-compressible Robots: Goal-recognition, Locomotion and Splitting 1 Distributed Control for Unit-compressible Robots: Goal-recognition, Locomotion and Splitting Zack Butler, Robert Fitch and Daniela Rus Dept. of Computer Science Dartmouth College Abstract We present

More information

MergeSort, Recurrences, Asymptotic Analysis Scribe: Michael P. Kim Date: April 1, 2015

MergeSort, Recurrences, Asymptotic Analysis Scribe: Michael P. Kim Date: April 1, 2015 CS161, Lecture 2 MergeSort, Recurrences, Asymptotic Analysis Scribe: Michael P. Kim Date: April 1, 2015 1 Introduction Today, we will introduce a fundamental algorithm design paradigm, Divide-And-Conquer,

More information

Generalizing Metamodules to Simplify Planning in Modular Robotic Systems

Generalizing Metamodules to Simplify Planning in Modular Robotic Systems Generalizing Metamodules to Simplify Planning in Modular Robotic Systems Daniel J. Dewey Michael P. Ashley-Rollman Michael De Rosa Seth Copen Goldstein Todd C. Mowry School of Computer Science Carnegie

More information

The Structure of Bull-Free Perfect Graphs

The Structure of Bull-Free Perfect Graphs The Structure of Bull-Free Perfect Graphs Maria Chudnovsky and Irena Penev Columbia University, New York, NY 10027 USA May 18, 2012 Abstract The bull is a graph consisting of a triangle and two vertex-disjoint

More information

Behavior Programming Language and Automated Code Generation for Agent Behavior Control

Behavior Programming Language and Automated Code Generation for Agent Behavior Control Behavior Programming Language and Automated Code Generation for Agent Behavior Control Thuc Vu, Manuela Veloso tdv@andrew.cmu.edu, mmv@cs.cmu.edu Carnegie Mellon University 5000 Forbes Avenue Pittsburgh,

More information

Algorithms: Lecture 10. Chalmers University of Technology

Algorithms: Lecture 10. Chalmers University of Technology Algorithms: Lecture 10 Chalmers University of Technology Today s Topics Basic Definitions Path, Cycle, Tree, Connectivity, etc. Graph Traversal Depth First Search Breadth First Search Testing Bipartatiness

More information

A Reduction of Conway s Thrackle Conjecture

A Reduction of Conway s Thrackle Conjecture A Reduction of Conway s Thrackle Conjecture Wei Li, Karen Daniels, and Konstantin Rybnikov Department of Computer Science and Department of Mathematical Sciences University of Massachusetts, Lowell 01854

More information

Consistency and Set Intersection

Consistency and Set Intersection Consistency and Set Intersection Yuanlin Zhang and Roland H.C. Yap National University of Singapore 3 Science Drive 2, Singapore {zhangyl,ryap}@comp.nus.edu.sg Abstract We propose a new framework to study

More information

Lecture 15 : Review DRAFT

Lecture 15 : Review DRAFT CS/Math 240: Introduction to Discrete Mathematics 3/10/2011 Lecture 15 : Review Instructor: Dieter van Melkebeek Scribe: Dalibor Zelený DRAFT Today slectureservesasareviewofthematerialthatwillappearonyoursecondmidtermexam.

More information

An Efficient Method for Constructing a Distributed Depth-First Search Tree

An Efficient Method for Constructing a Distributed Depth-First Search Tree An Efficient Method for Constructing a Distributed Depth-First Search Tree S. A. M. Makki and George Havas School of Information Technology The University of Queensland Queensland 4072 Australia sam@it.uq.oz.au

More information

Depth-First Search Depth-first search (DFS) is another way to traverse the graph.

Depth-First Search Depth-first search (DFS) is another way to traverse the graph. Depth-First Search Depth-first search (DFS) is another way to traverse the graph. Motivating example: In a video game, you are searching for a path from a point in a maze to the exit. The maze can be modeled

More information

Discrete mathematics

Discrete mathematics Discrete mathematics Petr Kovář petr.kovar@vsb.cz VŠB Technical University of Ostrava DiM 470-2301/02, Winter term 2018/2019 About this file This file is meant to be a guideline for the lecturer. Many

More information

Graph Algorithms. Chapter 22. CPTR 430 Algorithms Graph Algorithms 1

Graph Algorithms. Chapter 22. CPTR 430 Algorithms Graph Algorithms 1 Graph Algorithms Chapter 22 CPTR 430 Algorithms Graph Algorithms Why Study Graph Algorithms? Mathematical graphs seem to be relatively specialized and abstract Why spend so much time and effort on algorithms

More information

Mathematics Background

Mathematics Background Finding Area and Distance Students work in this Unit develops a fundamentally important relationship connecting geometry and algebra: the Pythagorean Theorem. The presentation of ideas in the Unit reflects

More information

Design and Analysis of Algorithms Prof. Madhavan Mukund Chennai Mathematical Institute. Week 02 Module 06 Lecture - 14 Merge Sort: Analysis

Design and Analysis of Algorithms Prof. Madhavan Mukund Chennai Mathematical Institute. Week 02 Module 06 Lecture - 14 Merge Sort: Analysis Design and Analysis of Algorithms Prof. Madhavan Mukund Chennai Mathematical Institute Week 02 Module 06 Lecture - 14 Merge Sort: Analysis So, we have seen how to use a divide and conquer strategy, we

More information

6.001 Notes: Section 4.1

6.001 Notes: Section 4.1 6.001 Notes: Section 4.1 Slide 4.1.1 In this lecture, we are going to take a careful look at the kinds of procedures we can build. We will first go back to look very carefully at the substitution model,

More information

MC 302 GRAPH THEORY 10/1/13 Solutions to HW #2 50 points + 6 XC points

MC 302 GRAPH THEORY 10/1/13 Solutions to HW #2 50 points + 6 XC points MC 0 GRAPH THEORY 0// Solutions to HW # 0 points + XC points ) [CH] p.,..7. This problem introduces an important class of graphs called the hypercubes or k-cubes, Q, Q, Q, etc. I suggest that before you

More information

arxiv: v1 [cs.cc] 30 Jun 2017

arxiv: v1 [cs.cc] 30 Jun 2017 Hamiltonicity is Hard in Thin or Polygonal Grid Graphs, but Easy in Thin Polygonal Grid Graphs Erik D. Demaine Mikhail Rudoy arxiv:1706.10046v1 [cs.cc] 30 Jun 2017 Abstract In 2007, Arkin et al. [3] initiated

More information

Dijkstra s Algorithm Last time we saw two methods to solve the all-pairs shortest path problem: Min-plus matrix powering in O(n 3 log n) time and the

Dijkstra s Algorithm Last time we saw two methods to solve the all-pairs shortest path problem: Min-plus matrix powering in O(n 3 log n) time and the Dijkstra s Algorithm Last time we saw two methods to solve the all-pairs shortest path problem: Min-plus matrix powering in O(n 3 log n) time and the Floyd-Warshall algorithm in O(n 3 ) time. Neither of

More information

II. DESIGN. B. The Hex-DMR System Overview The Hex-DMR system is comprised of modular

II. DESIGN. B. The Hex-DMR System Overview The Hex-DMR system is comprised of modular as well as adding new constraints to increase the robustness of the system, we have developed a design that we believe is the closest yet towards robot team repair. II. DESIGN The following is a discussion

More information

Formally-Proven Kosaraju s algorithm

Formally-Proven Kosaraju s algorithm Formally-Proven Kosaraju s algorithm Laurent Théry Laurent.Thery@sophia.inria.fr Abstract This notes explains how the Kosaraju s algorithm that computes the strong-connected components of a directed graph

More information

Reducing Directed Max Flow to Undirected Max Flow and Bipartite Matching

Reducing Directed Max Flow to Undirected Max Flow and Bipartite Matching Reducing Directed Max Flow to Undirected Max Flow and Bipartite Matching Henry Lin Division of Computer Science University of California, Berkeley Berkeley, CA 94720 Email: henrylin@eecs.berkeley.edu Abstract

More information

Parallel Breadth First Search

Parallel Breadth First Search CSE341T/CSE549T 11/03/2014 Lecture 18 Parallel Breadth First Search Today, we will look at a basic graph algorithm, breadth first search (BFS). BFS can be applied to solve a variety of problems including:

More information

Binary Search to find item in sorted array

Binary Search to find item in sorted array Binary Search to find item in sorted array January 15, 2008 QUESTION: Suppose we are given a sorted list A[1..n] (as an array), of n real numbers: A[1] A[2] A[n]. Given a real number x, decide whether

More information

3 Fractional Ramsey Numbers

3 Fractional Ramsey Numbers 27 3 Fractional Ramsey Numbers Since the definition of Ramsey numbers makes use of the clique number of graphs, we may define fractional Ramsey numbers simply by substituting fractional clique number into

More information

SUPERBOT: A Deployable, Multi-Functional, and Modular Self-Reconfigurable Robotic System

SUPERBOT: A Deployable, Multi-Functional, and Modular Self-Reconfigurable Robotic System SUPERBOT: A Deployable, Multi-Functional, and Modular Self-Reconfigurable Robotic System Behnam Salemi, Mark Moll, and Wei-Min Shen Information Sciences Institute University of Southern California Marina

More information

7. Sorting I. 7.1 Simple Sorting. Problem. Algorithm: IsSorted(A) 1 i j n. Simple Sorting

7. Sorting I. 7.1 Simple Sorting. Problem. Algorithm: IsSorted(A) 1 i j n. Simple Sorting Simple Sorting 7. Sorting I 7.1 Simple Sorting Selection Sort, Insertion Sort, Bubblesort [Ottman/Widmayer, Kap. 2.1, Cormen et al, Kap. 2.1, 2.2, Exercise 2.2-2, Problem 2-2 19 197 Problem Algorithm:

More information

Lecture 1 Contracts. 1 A Mysterious Program : Principles of Imperative Computation (Spring 2018) Frank Pfenning

Lecture 1 Contracts. 1 A Mysterious Program : Principles of Imperative Computation (Spring 2018) Frank Pfenning Lecture 1 Contracts 15-122: Principles of Imperative Computation (Spring 2018) Frank Pfenning In these notes we review contracts, which we use to collectively denote function contracts, loop invariants,

More information

Multi-Way Search Trees

Multi-Way Search Trees Multi-Way Search Trees Manolis Koubarakis 1 Multi-Way Search Trees Multi-way trees are trees such that each internal node can have many children. Let us assume that the entries we store in a search tree

More information

CSE 331: Introduction to Algorithm Analysis and Design Graphs

CSE 331: Introduction to Algorithm Analysis and Design Graphs CSE 331: Introduction to Algorithm Analysis and Design Graphs 1 Graph Definitions Graph: A graph consists of a set of verticies V and a set of edges E such that: G = (V, E) V = {v 0, v 1,..., v n 1 } E

More information

arxiv: v1 [math.co] 25 Sep 2015

arxiv: v1 [math.co] 25 Sep 2015 A BASIS FOR SLICING BIRKHOFF POLYTOPES TREVOR GLYNN arxiv:1509.07597v1 [math.co] 25 Sep 2015 Abstract. We present a change of basis that may allow more efficient calculation of the volumes of Birkhoff

More information

Movement Primitives for an Orthogonal Prismatic Closed-Lattice-Constrained Self-Reconfiguring Module

Movement Primitives for an Orthogonal Prismatic Closed-Lattice-Constrained Self-Reconfiguring Module Movement Primitives for an Orthogonal Prismatic Closed-Lattice-Constrained Self-Reconfiguring Module Michael Philetus Weller, Mustafa Emre Karagozler, Brian Kirby, Jason Campbell and Seth Copen Goldstein

More information

implementing the breadth-first search algorithm implementing the depth-first search algorithm

implementing the breadth-first search algorithm implementing the depth-first search algorithm Graph Traversals 1 Graph Traversals representing graphs adjacency matrices and adjacency lists 2 Implementing the Breadth-First and Depth-First Search Algorithms implementing the breadth-first search algorithm

More information

Failure recovery for modular robot movements without reassembling modules

Failure recovery for modular robot movements without reassembling modules Failure recovery for modular robot movements without reassembling modules Vojtěch Vonásek 1, David Oertel 2, Sergej Neumann 2, Heinz Wörn 2 Abstract Modular robots consist of many mechatronic modules that

More information

Abstract Path Planning for Multiple Robots: An Empirical Study

Abstract Path Planning for Multiple Robots: An Empirical Study Abstract Path Planning for Multiple Robots: An Empirical Study Charles University in Prague Faculty of Mathematics and Physics Department of Theoretical Computer Science and Mathematical Logic Malostranské

More information

Throughout this course, we use the terms vertex and node interchangeably.

Throughout this course, we use the terms vertex and node interchangeably. Chapter Vertex Coloring. Introduction Vertex coloring is an infamous graph theory problem. It is also a useful toy example to see the style of this course already in the first lecture. Vertex coloring

More information

Micro Self-reconfigurable Modular Robot using Shape Memory Alloy

Micro Self-reconfigurable Modular Robot using Shape Memory Alloy Micro Self-reconfigurable Modular Robot using Shape Memory Alloy Eiichi Yoshida Satoshi Murata Shigeru Kokaji Kohji Tomita Haruhisa Kurokawa Mechanical Engineering Laboratory, AIST, MITI 1-2 Namiki, Tsukuba-shi,

More information

Rigid 2D space-filling folds of unbroken linear chains

Rigid 2D space-filling folds of unbroken linear chains Rigid 2D space-filling folds of unbroken linear chains Zhong Li, Devin J. Balkcom, Member, IEEE, and Aaron M. Dollar, Member, IEEE Abstract This paper presents an algorithm for folding a serial revolute

More information

Finite Termination of Augmenting Path Algorithms in the Presence of Irrational Problem Data

Finite Termination of Augmenting Path Algorithms in the Presence of Irrational Problem Data Finite Termination of Augmenting Path Algorithms in the Presence of Irrational Problem Data Brian C. Dean Michel X. Goemans Nicole Immorlica June 28, 2006 Abstract This paper considers two similar graph

More information

Trees. 3. (Minimally Connected) G is connected and deleting any of its edges gives rise to a disconnected graph.

Trees. 3. (Minimally Connected) G is connected and deleting any of its edges gives rise to a disconnected graph. Trees 1 Introduction Trees are very special kind of (undirected) graphs. Formally speaking, a tree is a connected graph that is acyclic. 1 This definition has some drawbacks: given a graph it is not trivial

More information

Homework 2. Sample Solution. Due Date: Thursday, May 31, 11:59 pm

Homework 2. Sample Solution. Due Date: Thursday, May 31, 11:59 pm Homework Sample Solution Due Date: Thursday, May 31, 11:59 pm Directions: Your solutions should be typed and submitted as a single pdf on Gradescope by the due date. L A TEX is preferred but not required.

More information

Research Subject. Dynamics Computation and Behavior Capture of Human Figures (Nakamura Group)

Research Subject. Dynamics Computation and Behavior Capture of Human Figures (Nakamura Group) Research Subject Dynamics Computation and Behavior Capture of Human Figures (Nakamura Group) (1) Goal and summary Introduction Humanoid has less actuators than its movable degrees of freedom (DOF) which

More information

6. Lecture notes on matroid intersection

6. Lecture notes on matroid intersection Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans May 2, 2017 6. Lecture notes on matroid intersection One nice feature about matroids is that a simple greedy algorithm

More information