Close
Home
Collections
Login
USC Login
Register
0
Selected
Invert selection
Deselect all
Deselect all
Click here to refresh results
Click here to refresh results
USC
/
Digital Library
/
University of Southern California Dissertations and Theses
/
Intelligent near-optimal resource allocation and sharing for self-reconfigurable robotic and other networks
(USC Thesis Other)
Intelligent near-optimal resource allocation and sharing for self-reconfigurable robotic and other networks
PDF
Download
Share
Open document
Flip pages
Contact Us
Contact Us
Copy asset link
Request this asset
Transcript (if available)
Content
INTELLIGENT NEAR-OPTIMAL RESOURCE ALLOCATION AND SHARING FOR SELF-RECONFIGURABLE ROBOTIC AND OTHER NETWORKS by Chi-An Chen A Dissertation Presented to the FACULTY OF THE USC GRADUATE SCHOOL UNIVERSITY OF SOUTHERN CALIFORNIA In Partial Fulfillment of the Requirements for the Degree DOCTOR OF PHILOSOPHY (COMPUTER SCIENCE) May 2019 Copyright 2019 Chi-An Chen Acknowledgments Firstly I would like to thank God for giving me the wonderful opportunity to study at the University of Southern California for both of my Master’s and Ph.D. degrees. During this long journey, I am deeply grateful for Professor Wei-Min Shen, my academic advisor and mentor, for inspiring me in many ways. I am delighted and thank- ful that he gave me the chance to work in Polymorphic Robotics Laboratory. He has patiently supported me by sharing his experiences with me and guiding me through the whole journey. I also want to thank Professor Nakano and Professor Carlsson for their support and guidance. They have taught me greatly through their resourceful classes and advices. Words cannot express my gratitude for my parents, family and my parents in law. Without their support, it would be impossible to stand firm and keep walking during this long journey. Many thanks to my dear wife, Sharon, for taking care of our son and believing in me. My family is always there to support and encourage me when I feel frustrated. Also I would like to thank Luenin Barrios, Thomas Collins, Nadeesha Ranasinghe, Harris Chiu, Jacob Everist, Akiya Kamimura, Yao-Wei Tseng, Jimmy Yen and Karl Yang for being my best supportive friends. Their companionship and support have strengthened me greatly throughout my academic pursuit. ii Special thanks to Konishi family for taking care of my son with a lot of love and patience and accompanying us through many memorable events. Last but not least, I want to thank Temple City Immanuel Church of the Nazarene (TCICON), where I have joined worship and worked on my studies. Special thanks to Reverend Lin (Charles), Reverend Lin (Jeff) and their families, and all the friends at the church who have supported me during these years. iii Table of Contents Acknowledgments ii List of Tables vii List of Figures ix Abstract xv Chapter 1: Introduction 1 1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.4 Dissertation Organization . . . . . . . . . . . . . . . . . . . . . . . . . 8 Chapter 2: Related Work 10 2.1 Power Sharing for Self-Reconfigurable Modular Robots . . . . . . . . . 10 2.2 Minimum Cost Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.3 Reconfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.4 Time-Sensitive Scheduling . . . . . . . . . . . . . . . . . . . . . . . . 14 Chapter 3: Near-Optimal Dynamic Power Sharing [1] 16 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.2 Near-Optimal Power Sharing Theory . . . . . . . . . . . . . . . . . . . 17 3.2.1 Theoretical Maximum Operation Time . . . . . . . . . . . . . . 17 3.2.2 Local Information . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.2.3 Source and Sink Determination . . . . . . . . . . . . . . . . . . 21 3.2.4 Donor Selection . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.3 Near-Optimal Power Sharing Algorithm . . . . . . . . . . . . . . . . . 24 3.3.1 Software Design . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.3.2 Hardware Design . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.4 Example and Simulation Results [1] [2] . . . . . . . . . . . . . . . . . 27 3.4.1 Caterpillar Configuration . . . . . . . . . . . . . . . . . . . . . 27 3.4.2 Quadruped Configuration . . . . . . . . . . . . . . . . . . . . . 29 iv 3.4.3 Rolling Track . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Chapter 4: Maximal Operation Time Estimation with Output Current Con- strains [2] 33 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.2 Optimal System Operation Time under the Constraints ( ^ T (N;A)) . . . . 34 4.3 Naive Solution for ^ T . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.4 ^ T Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.4.1 Centralized ^ T Algorithm . . . . . . . . . . . . . . . . . . . . . 36 4.4.2 Distributed ^ T Algorithm . . . . . . . . . . . . . . . . . . . . . 37 4.5 Large Scale Simulation Results . . . . . . . . . . . . . . . . . . . . . . 38 Chapter 5: Resource Sharing through Lossy Network 41 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.2 EM-based Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 5.2.1 Maximum Operation Time Estimation . . . . . . . . . . . . . . 43 5.2.2 s-t Estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 5.2.3 Minimum Cost Flow . . . . . . . . . . . . . . . . . . . . . . . 44 5.2.4 Loss and Power Sharing Cost Estimation ( ~ est ) . . . . . . . . . 45 5.3 Example and Simulation Results . . . . . . . . . . . . . . . . . . . . . 47 5.3.1 Power Sharing Simulation for the Fully Connected Three-Node Lossy Network . . . . . . . . . . . . . . . . . . . . . . . . . . 47 5.3.2 Power Sharing Simulation for the Four-Node Lossy Network . . 56 5.3.3 Number of Iterations Comparison between Different Sizes of Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Chapter 6: Reconfiguration 67 6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 6.2 Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 6.2.1 Cost for Building a New Connection . . . . . . . . . . . . . . . 69 6.2.2 Brute Force Method . . . . . . . . . . . . . . . . . . . . . . . . 70 6.2.3 Minimum Mean Cost Cycle Approach . . . . . . . . . . . . . . 70 6.2.4 Embedded Cost (c 0 ) . . . . . . . . . . . . . . . . . . . . . . . . 72 6.3 Example and Simulation Results . . . . . . . . . . . . . . . . . . . . . 75 6.3.1 Reconfiguration Simulation for the Four-Node Network . . . . . 75 6.3.2 Reconfiguration Simulation for the Six-Node Network . . . . . 80 Chapter 7: Time-Sensitive Scheduling of Resource Sharing 86 7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 7.2 Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 7.2.1 Brute Force Approach . . . . . . . . . . . . . . . . . . . . . . 88 7.2.2 Observation from the Brute Force Method . . . . . . . . . . . . 90 v 7.2.3 Reward-Driven Minimum Cost Flow . . . . . . . . . . . . . . . 95 7.2.4 Sink Splitting Resolution Enhancement . . . . . . . . . . . . . 97 7.3 Example and Simulation Results . . . . . . . . . . . . . . . . . . . . . 98 7.3.1 Time-Sensitive Scheduling of Resource Sharing Simulation for the Five-Node Network . . . . . . . . . . . . . . . . . . . . . . 98 7.3.2 Time-Sensitive Scheduling of Resource Sharing Simulation for the Six-Node Network . . . . . . . . . . . . . . . . . . . . . . 106 Chapter 8: Contributions and Future Work 116 8.1 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 8.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 8.2.1 Battery Power and Power Consumption Information . . . . . . . 118 8.2.2 Grouped Power Sharing . . . . . . . . . . . . . . . . . . . . . . 118 8.2.3 Communication Elimination Between Modules . . . . . . . . . 119 vi List of Tables 1.1 Average remaining battery voltage (Every run was started from a fully charged battery 8.2V .) [3]. . . . . . . . . . . . . . . . . . . . . . . . . . 2 5.1 The information of the remaining charge capacity (rcc) and current con- sumption (cc) of each nodei for the fully connected three-node network as shown in Figure 5.3. . . . . . . . . . . . . . . . . . . . . . . . . . . 48 5.2 The information of the capacity (U) and cost (c) of each arc (i;j) for the fully connected three-node network as shown in Figure 5.3. . . . . . . . 48 5.3 The information of the remaining charge capacity (rcc) and current con- sumption (cc) of each node i for the four-node network as shown in Figure 5.11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.4 The information of the capacity (U) and cost (c) of each arc (i;j) for the four-node network as shown in Figure 5.11. . . . . . . . . . . . . . . . 57 6.1 The information of the remaining charge capacity (rcc) and current con- sumption (cc) of each node i for the four-node network as shown in Figure 6.6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 6.2 The information of the capacity (U) and cost (c) of each arc (i;j) for the four-node network as shown in Figure 6.6. . . . . . . . . . . . . . . . . 75 6.3 The information of the capacity (U), cost (c) and building cost (c b ) of the candidates of the new connections for the four-node network as shown in Figure 6.6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 6.4 The information of the remaining charge capacity (rcc) and current con- sumption (cc) of each nodei for the six-node network as shown in Figure 6.13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 6.5 The information of the capacity (U) and cost (c) of each arc (i;j) for the six-node network as shown in Figure 6.13. . . . . . . . . . . . . . . . . 81 vii 7.1 The information of the remaining charge capacity (rcc) and current con- sumption (cc) of each nodei for the five-node network as shown in Fig- ure 7.13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 7.2 The information of the capacity (U) and cost (c) of each arc (i;j) for the five-node network as shown in Figure 7.13. . . . . . . . . . . . . . . . 99 7.3 The information of the remaining charge capacity (rcc) and current con- sumption (cc) of each nodei for the six-node network as shown in Figure 7.22. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 7.4 The information of the capacity (U) and cost (c) of each arc (i;j) for the six-node network as shown in Figure 7.22. . . . . . . . . . . . . . . . . 106 8.1 Summary of contributions part I. . . . . . . . . . . . . . . . . . . . . . 117 8.2 Summary of contributions part II. . . . . . . . . . . . . . . . . . . . . . 118 viii List of Figures 1.1 SuperBot in a rolling track configuration [3]. . . . . . . . . . . . . . . . 2 1.2 Heavy-payloads lifted by multiple drones from GRASP lab at the Uni- versity of Pennsylvania, image from: https://www.popsci.com/technology/article/2010- 07/video-upenns-quadcopters-now-work-teams-lift-heavy-payloads. . . 3 1.3 Illustration of the modular satellite, image from: https://www.mmi.rwth- aachen.de/en/projekt/iboss/. . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 A sampled chart of battery capacity v.s. discharge current illustrating the effects of over discharge, image from: http://data.energizer.com/pdfs/e91.pdf. 6 2.1 Three examples of power sharing hardware structures. . . . . . . . . . . 10 3.1 No power sharing scenario v.s. optimal power sharing scenario. . . . . . 18 3.2 Caterpillar configuration formed by three SuperBot modules. . . . . . . 20 3.3 Distributed task negotiation [4]. . . . . . . . . . . . . . . . . . . . . . . 22 3.4 Near-Optimal power sharing algorithm. . . . . . . . . . . . . . . . . . 24 3.5 SuperBot power sharing circuits illustration [5]. . . . . . . . . . . . . . 26 3.6 Power sharing simulation for SuperBot modules in the caterpillar con- figuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.7 Power sharing simulation numerical results for caterpillar configuration. 29 3.8 Power sharing simulation for SuperBot modules in the quadruped shape. 30 3.9 Power sharing simulation numerical results for quadruped configuration. 31 ix 3.10 Rolling track simulation in ReMod3D. On the left, we see the initial state of the simulation. The battery levels of each module are different, as illustrated by the colors (green means high battery, red low battery). The middle image shows the point at which the robot system that does not use power sharing (front) fails. The image on the right shows the near-optimal power sharing rolling track locomoting far past the one that does not use power sharing. . . . . . . . . . . . . . . . . . . . . . 32 4.1 A simple example for the illustration of power sharing with output cur- rent constraints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.2 Large scale simulations for ^ T algorithm. . . . . . . . . . . . . . . . . . 38 4.3 Power sharing simulation numerical results for large scale configurations. 39 4.4 A visualization of the ^ T algorithms. . . . . . . . . . . . . . . . . . . . 39 5.1 The comparison of pass loss free and lossy path environment. . . . . . . 42 5.2 Three-node lossy network example. . . . . . . . . . . . . . . . . . . . 47 5.3 Three-node lossy network. . . . . . . . . . . . . . . . . . . . . . . . . 48 5.4 The power flow distribution after minimum cost flow algorithm at the first iteration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 5.5 The power flow distribution after minimum cost flow algorithm at the second iteration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 5.6 The expected power sharing amount of each node in the three-node net- work at each iteration. . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 5.7 The expected power flow amount of each arc in the three-node network at each iteration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 5.8 The loss estimation of each node in the three-node network at each iter- ation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 5.9 The operation time of each node in the three-node network at each iter- ation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 5.10 The system operation time of the three-node network at each iteration. . 56 5.11 Four-node lossy network. . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.12 The power flow distribution after minimum cost flow algorithm at the first iteration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 x 5.13 The power flow distribution after minimum cost flow algorithm at the second iteration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 5.14 The expected power sharing amount of each node in the four-node net- work at each iteration. . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 5.15 The expected power flow amount of each arc in the four-node network at each iteration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.16 The operation time of each node of the four-node network at each iteration. 60 5.17 The loss estimation of each node in the four-node network at each iteration. 61 5.18 The system operation time of the four-node network at each iteration. . . 61 5.19 An illustration of a large scale network (1000+ nodes). . . . . . . . . . 62 5.20 The setting of parameters for the large scale uniform network environment. 62 5.21 Number of iterations for EM-Based algorithm between different sizes of networks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 5.22 The setting of parameters for the diverse network environment. . . . . . 64 5.23 The operation time of each node in a selected diverse and hard to rescue network at each iteration. . . . . . . . . . . . . . . . . . . . . . . . . . 64 5.24 The operation time of each node in a selected diverse and easy to rescue network at each iteration. . . . . . . . . . . . . . . . . . . . . . . . . . 65 5.25 The operation time of each node in a selected uniform and hard to rescue network at each iteration. . . . . . . . . . . . . . . . . . . . . . . . . . 66 5.26 The operation time of each node in a selected uniform and easy to rescue network at each iteration. . . . . . . . . . . . . . . . . . . . . . . . . . 66 6.1 The comparison of power sharing between the original network and the network after reconfiguration. . . . . . . . . . . . . . . . . . . . . . . . 67 6.2 SuperBots with caterpillar configuration in the physics-based self-reconfigurable simulator ReMod3D [6]. . . . . . . . . . . . . . . . . . . . . . . . . . 68 6.3 The comparison of reconfiguration with and without the consideration of building cost. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 6.4 Building a new connection without the setting of embedded cost. . . . . 73 xi 6.5 Building a new connection with the setting of embedded cost. . . . . . . 74 6.6 Four-node network illustration for reconfiguration simulation. . . . . . . 76 6.7 The power flow distribution after minimum cost flow algorithm. . . . . 76 6.8 The power flow amount of each arc in the four-node network. . . . . . . 77 6.9 Transform to a fully connected four-node network. . . . . . . . . . . . 77 6.10 Suggestion of the new connection after minimum mean cost cycle approach with the setting of embedded cost (c 0 ). . . . . . . . . . . . . . . . . . . 78 6.11 The suggested new configuration. . . . . . . . . . . . . . . . . . . . . . 79 6.12 The suggested minimum mean cost cycle (v 1 -v 2 -v 0 -v 1 ) and the associ- ated improvement in the four-node network. . . . . . . . . . . . . . . . 79 6.13 Six-node network illustration for reconfiguration simulation. . . . . . . 81 6.14 The power flow distribution after minimum cost flow algorithm. . . . . 82 6.15 The power flow amount of each arc in the six-node network. . . . . . . 83 6.16 Transform to a fully connected six-node network. . . . . . . . . . . . . 83 6.17 Suggestion of the new connection after minimum mean cost cycle approach with the setting of embedded cost (c 0 ). . . . . . . . . . . . . . . . . . . 84 6.18 The suggested new configuration. . . . . . . . . . . . . . . . . . . . . . 85 7.1 No feasible solution for typical minimum cost flow algorithm. . . . . . 87 7.2 Selected donor (node 1) and sinks (node 3 and node 4) for power sharing. 87 7.3 Selected donor (node 0) and sinks (node 3 and node 5) for power sharing. 88 7.4 Four-node network illustration for brute force approach. . . . . . . . . . 89 7.5 Power sharing action expansion for brute force approach. . . . . . . . . 90 7.6 The comparison of non-maximum and maximum power flow. . . . . . . 91 7.7 Balanced saving of starvation illustration. . . . . . . . . . . . . . . . . 92 7.8 The original network with remaining charge capacity (rcc) and current consumption (cc) information. . . . . . . . . . . . . . . . . . . . . . . 95 xii 7.9 s-t determination for power sharing. . . . . . . . . . . . . . . . . . . . 95 7.10 Sink splitting illustration. . . . . . . . . . . . . . . . . . . . . . . . . . 96 7.11 Illustration of remaining power flows collection. . . . . . . . . . . . . . 97 7.12 Illustration of resolution enhancement for sink splitting. . . . . . . . . . 98 7.13 Five-node network illustration for time-sensitive scheduling simulation. 99 7.14 Sink splitting illustration for the five-node network at the first time step. 100 7.15 Illustration of remaining power flows collection for the five-node net- work at the first time step. . . . . . . . . . . . . . . . . . . . . . . . . . 101 7.16 The power flow distribution after minimum cost flow algorithm for the five-node network at the first time step. . . . . . . . . . . . . . . . . . . 102 7.17 Illustration of sink splitting and remaining power flows collection for the five-node network at the second time step. . . . . . . . . . . . . . . 102 7.18 The power flow distribution after minimum cost flow algorithm for the five-node network at the second time step. . . . . . . . . . . . . . . . . 103 7.19 The power flow amount of each arc in the five-node network at each time step. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 7.20 The remaining charge capacity of each node in the five-node network at each time step. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 7.21 The operation time of each node in the five-node network at each time step. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 7.22 Six-node network illustration for time-sensitive scheduling simulation. . 106 7.23 Sink splitting illustration for the six-node network at the first time step . 107 7.24 Illustration of remaining power flows collection for the six-node network at the first time step. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 7.25 The power flow distribution after minimum cost flow algorithm for the six-node network at the first time step. . . . . . . . . . . . . . . . . . . 108 7.26 Illustration of sink splitting and remaining power flows collection for the six-node network at the second time step. . . . . . . . . . . . . . . 109 xiii 7.27 The power flow distribution after minimum cost flow algorithm for the six-node network at the second time step. . . . . . . . . . . . . . . . . 110 7.28 Illustration of sink splitting and remaining power flows collection for the six-node network at the third time step. . . . . . . . . . . . . . . . . 111 7.29 The power flow distribution after minimum cost flow algorithm for the six-node network at the third time step. . . . . . . . . . . . . . . . . . . 111 7.30 Illustration of sink splitting and remaining power flows collection for the six-node network at the fourth time step. . . . . . . . . . . . . . . . 112 7.31 The power flow distribution after minimum cost flow algorithm for the six-node network at the fourth time step. . . . . . . . . . . . . . . . . . 112 7.32 The power flow amount of each arc in the six-node network at each time step. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 7.33 The remaining charge capacity of each node in the six-node network at each time step. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 7.34 The operation time of each node in the six-node network at each time step.115 xiv Abstract Unbalanced resource distribution has been an essential problem for decades. The prob- lem exists in all kinds of domains and causes many negative effects. For example, the widening gap between the rich and the poor is the root of many social problems in our society. For modular robots, scarcity of resource is especially apparent in environ- ments like space, desert, or ocean, where the resource or power is limited and difficult to acquire. In order to improve the performance or lifespan of the task, each modular robot needs to utilize the power within its own system in order to extend the system operation time or have improved performance. However, figuring out how the systems share resource with one another in order to improve the performance of the collective behavior is a challenging task. This is because resource allocation and sharing encompass the status of each agent as well as the environmental condition. The constraints within the environment might limit the resource sharing task or alter resource distribution. In this dissertation, we initiate our research on power sharing for self-reconfigurable modular robots, which can be easily applied to other applications related to unbalanced resource distribution. We start the research by proposing a distributed near-optimal power sharing mech- anism for self-reconfigurable modular robots. The goal is to successfully extend the operation time of sets of connected modular robots and also provide a framework of xv optimal case through distributed computation. This can serve as the foundation for research works that follow. On this basis, we first study the optimality of system lifespan ( ^ T ) with the lim- ited supply rate of each robot under consideration. We then propose a centralized and distributed ^ T algorithm, which can help the system to efficiently estimate the optimal lifespan of the robotic network. Unavoidably, each link between the robots in the robotic network usually contains loss that is unknown at the beginning. To solve this essential problem, we propose EM- based algorithm to be implemented in both centralized and distributed manner. This way each robot is able to discover such link loss and readjust the resource (power) shar- ing policy for the purpose of optimally estimate the system operation data concerning resource sharing amount, resource sharing cost, and resource flow. Furthermore, typically, the physical structure of network and its associated maxi- mum system operation time is typically fixed. However, through reconfiguration, the robotic network can possibly reduce the path loss in changing the network configuration physically. By incorporating Minimum Mean Cost Cycle [7] and the setting of Embed- ded Cost, we are able to suggest a new configuration with improved system operation time. Nevertheless, most resource sharing tasks in the real world are not able to be accom- plished instantly due to the constraints of limited resource supply rate of each robot or the limited link capacity. We propose a generalized approach to solving traditional resource allocation and sharing problems. This is called Reward-Driven Minimum Cost Flow, which is to prioritize each sink node and revise the power sharing policy even when the total resource sharing amount is larger than the total link capacity or maxi- mum flow amount. xvi For each topic, various simulations with different settings of agent and network con- dition are verified under the environment of Unity game engine. The experiment results demonstrate that our scalable algorithms are capable of allocating the resource by esti- mating its associated amount and providing an intelligent power sharing policy which can optimally extend the system operation time of the robotic networks. In retrospect, the five main contributions of our research can be summarized as the following: The first contribution is a distributed computation framework that can effectively extend the system operation time to an optimal or near-optimal state. The second contribution is to estimate the optimal robotic system operation time and the associated resource sharing amount. This can be done in both centralized and dis- tributed manners with the consideration of source supply rate. The third contribution is to interactively determine an optimal power sharing policy for the lossy robotic net- works. The fourth contribution is to suggest a new configuration with the improvement of the robotic system operation time. The fifth contribution is to provide a generalized time-division resource sharing framework to optimally extend the system operation time for the robotic networks. This goal is achievable even when the resource sharing amount exceeds the maximum flow amount of the network. xvii Chapter 1 Introduction 1.1 Motivation In the real world, unbalanced resource distribution exists in all kinds of domains and causes various negative effects. One of the most striking example is imbalance in food distribution. This issue might cause either malnutrition or excessive food intake. Both cases can be detrimental to health. Such unbalanced scenarios are even worse in modern society. In the past, the soci- ety structure was simple and people usually live within small groups. Therefore, the resource sharing behavior is straightforward and easy to be applied. However, in the current society, the resources such as food, information, and consumer goods, among others, are plentiful, but mostly in civilized and rich areas. To distribute the resources according to the demands is usually time and cost consuming due to the distance and the complexity of the society. Resource imbalance is not exclusive to human society. In fact, the unbalanced resource distribution may also exist within autonomous self-reconfigurable modular robots. This can occur in especially in space, dessert, or ocean due to the fact that the resource or power is limited and difficult to acquire. In order to improve the perfor- mance or extend the lifespan of the task, each modular robot needs to utilize the power within its own system. 1 Figure 1.1: SuperBot in a rolling track con- figuration [3]. Module No. 1st Run (970m) 2nd Run (1142m) Module 1 3.63 3.48 Module 2 7.41 5.19 Module 3 7.45 3.63 Module 4 7.43 7.23 Module 5 7.43 6.70 Module 6 7.44 7.63 Table 1.1: Average remaining battery volt- age (Every run was started from a fully charged battery 8.2V .) [3]. For example, Figure 1.1 shows SuperBot in a rolling track configuration [3]. There are six modular robots connected together to form the shape for the purpose of perform- ing the rolling track task. In the initial design and implementation of SuperBot, each modular robot did not have a power sharing mechanism and relied solely on the energy contained within its battery pack. From Table 1.1, the first run (970 m) was terminated due to module 1’s low battery. The second run (1142 m) was terminated by module 1’s or module 3’s low batteries. Based on the experimental results, it is evident that in order to extend the opera- tion time, it is important to solve low power issues that cause failures throughout the entire system. For example, in the above experiment, module 1’s battery malfunctioned, which results in a failure that threatened to fracture the entire rolling track configuration. Therefore, if SuperBot wants to extend its operation time, it would be conducive to have modules that are capable of offering their power to other modules. This way work and operation can proceed normally. The other application area with dynamic patterns is multi-drones. Figure 1.2 shows heavy payloads carried by multiple drones. Since the distributed agents corporately carry heavy payloads over a certain distance, it is essential for the operation time of these systems to be extended and optimized. 2 Figure 1.2: Heavy-payloads lifted by multiple drones from GRASP lab at the Uni- versity of Pennsylvania, image from: https://www.popsci.com/technology/article/2010- 07/video-upenns-quadcopters-now-work-teams-lift-heavy-payloads. With the similar concept, resource sharing technology can be also applied to heat transfer. Figure 1.3 shows the modular satellite in space. The side facing to the sun will have much higher temperature than the other sides and this might cause malfunction of the satellite if there is no heat sharing mechanism. For certain systems, the heat may need to be transferred from high temperature module to the low temperature module as quickly as possible. In order to find out how to transfer the heat so that the whole system can reach the equilibrium point by using minimum steps, we can treat the uneven temperature as the uneven power status and use the power sharing concept to reach the desired outcome. 3 Figure 1.3: Illustration of the modular satellite, image from: https://www.mmi.rwth- aachen.de/en/projekt/iboss/. The other domain is for disaster relief. When disaster happens, the resource might not be able to be distributed immediately. Resource sharing needs to be planned in order to minimize the damage. The original idea of power sharing is to deliver power from the robots with more power (donors) to the robots with less power (sinks) while the system carrying out a cer- tain task. The resource distribution in disaster area has a similar concept. For example, we can model each injured person, refuge or damaged area as a node and the consump- tion of food, instruments, or medical supplies as the current consumption. Since each node has different consumption rate, each route or delivery method might have different capacity and cost. For example, on average, airplane might have bigger capacity than cargo ship at each time step since the speed is much faster than cargo ship. However, in order to deliver the resource through airplane, we also need to cover higher expenses than cargo ship. Another application is to maintain customer satisfaction. In general, customer sat- isfaction decreases over time but the resource, products, or services might not be able to deliver in time due to the cost or the capacity of the delivery method. Once such 4 situation occurs, it would be inevitable to prioritize the customers based on factors such as traffic situation or factory capacity. 1.2 Challenges There are at least six technical challenges that make resource sharing problems diffi- cult. First, it is difficult to know how long the lifespan of the network can be extended optimally. This is especially the case in a distributed robotic system, since it might be difficult for individual modules to understand its status within the system. This also means that the modules must figure out when to receive and provide energy. Any error that occurs during this process can prevent the system from achieving its optimal oper- ation time. This problem is often overlooked in resource sharing research. Second, it can be difficult to know the degree of which each node should give or receive resources. The distribution of supply and demand node (modular robot) can be affected by various factors, such as battery power status, current consumption, system configuration, etc. Determining this crucial information is not only fascinating, but also essential to the proposed method. In order to distinguish the role of each modular robot in a large-scale system, each module in the system would have to retrieve the battery status and current consumption of every other robot module in the system. This is a slow process that is unreasonable for a dynamic power sharing mechanism. Third, if the node is donating, we need to consider how fast the node can do it. For example, power resources generally have output current constraints that limit the amount of outgoing current. Figure 1.4 shows that if the battery is overly discharged, the battery capacity might be reduced tremendously. Therefore, in order to keep good functioning of each battery, the output current constraint of each battery needs to be taken into consideration. 5 Figure 1.4: A sampled chart of battery capacity v.s. discharge current illustrating the effects of over discharge, image from: http://data.energizer.com/pdfs/e91.pdf. Fourth, the link’s loss of resource transportation may be initially unknown. The nodes must discover such link loss and readjust the power sharing policy in order to achieve optimal system operation time. Generally speaking, minimum cost flow (MCF) is a viable solution to reducing the total path cost. However, on dynamic power sharing research, MCF might not be able to resolve the problem while maintaining the optimized system operation time. The path attenuation will affect the distribution of resource within the system. The maximum operation time can be altered by mutual variables during the process of computation. Fifth, power sharing performance might be limited by the edge capacity or the path loss. If the network is allowed to be reconfigured, how should the nodes reconfigure in order to further extend the system operation time? The majority of traditional resource sharing studies is based on static network structure. The research on dynamic power sharing is different in the sense that it has the advantage of dynamic network config- uration. This means there is a possibility that systems capable of reconfiguration can eliminate the constrains, ex: reducing path cost or changing current consumption, to ”improve optimized operation time”. Since reconfiguration is a process that also con- sumes power, creating an optimized algorithm that balances both reconfiguration and operation time is a challenging task. 6 Sixth, unlike the traditional minimum cost flow problem, each agent might not be able to share its power simultaneously due to output current constraints or capacity limi- tation. When the total sharing resource is larger than the total link capacity or maximum flow amount, how do we prioritize each sink node and revise the power sharing policy to achieve the optimal system operation time? This question will involve data regarding the source supply rate, link loss, and link capacity. In order to maximize the operation time of a robotic network, the system needs to know the priority of each sink. It would be a challenging task to coordinate each modular robot and acquire the best routing order information in a robotic network. 1.3 Problem Statement Since the unbalanced resource distribution is an essential problem in many kinds of domains, our goal is to create a generalized resource sharing framework so that the whole system can operate smoothly and sustain optimally. However, the fundamental question arises: how does each member of the system share its resource and help each other to improve cooperation? If they are doing resource sharing, where, when, who and how much are they going to share? Our first step is to model a self-reconfigurable robotic network as a graph G = (N;A), where N represents the set of modular robots in the system or a general rep- resentation for anything containing the resource. This may apply to a person, location, factory, and organ, among others. A represents the set of links between pairs of robots or a general representation for anything transporting the resource, such as route, blood vessel, and cable, among others. With the consideration of the battery power (remaining charge capacity), current consumption and the resource supply rate for each roboti; and 7 the link loss, link capacity for each link (i;j), how does each robot communicate and share power to maximize the system operation time in a distributed fashion, if possible? In this dissertation, we assume all connected robots need to ”survive” in order to exe- cute a certain task normally or optimally. Therefore, we can define the system operation time as the following equation: T (N;A) =min(T (i));8i2N: (1.1) Also, we use the following symbols to represent the variables which we frequently use in this dissertation: rcc(i): battery power (remaining charge capacity) for each roboti,i2N. cc(i): current consumption for each roboti,i2N. B 0 (i): output current constraint for each roboti,i2N. c(i;j): link cost for each link (i;j), (i;j)2A. (i;j): link loss for each link (i;j), (i;j)2A. U(i;j): link capacity for each link (i;j), (i;j)2A. 1.4 Dissertation Organization In this dissertation, we start from studying the power sharing behavior for self- reconfigurable modular robots and gradually transform the network model into a real- istic scenario. The work in this dissertation can be divided into five main tasks: the first task is to model the power consumption behavior of a robot and derive the optimal system operation time/power sharing mechanism. Based on this model, we develop a 8 distributed power sharing algorithm where each robot only communicates with its con- nected neighbor to act optimally. Although the distributed power sharing algorithm does not take the network status into consideration, it provides an optimal case as a reference for the following tasks. In order to reflect a more realistic network, we include the output current constraints in the second task, which can also be generalized as the maximum output amount of resource at each time step. We firstly introduce the effect of constraint for the optimal system operation time of self-reconfigurable modular robots. This investigation paves the way for the proposed method, which uses local information to share power in a dynamic and optima way. In the third task, we include the parameters of link capacity (U) and link cost (c) with its associated damping factor ( ). We also demonstrate the interaction between the resource determination process and network condition by applying EM-based algorithm. The solution not only gives us the information of optimal system operation time, but also provides us the data of power (resource) sharing cost of each node as a reference for the future work: grouped power sharing. Typically, the network configuration and its associated performance in resource shar- ing problems are fixed. In the fourth task, we study the possibility of the cost reduction through reconfiguration with the consideration of the building cost (c b ) of each new link. Through the Minimum Mean Cost Cycle approach and the setting of embedded cost (c 0 ), we are able to find a new configuration with cost improvement. At last, in the fifth task, we discuss the infeasibility of the network problem caused by capacity and output current constraints. This is also a common limitation of resource sharing problems. Through the analysis, we observe the factors which dominate the optimal system operation time. Based on of these elements, we propose a Reward- Driven Minimum Cost Flow as a generalized approach to resolve the infeasible situation. 9 Chapter 2 Related Work Since unbalanced resource distribution is an essential problem, many research works were conducted on this particular topic. However, most researchers have studied how to efficiently send the resources from one location to another. The topics are most related to cost minimization, throughput improvement, route optimization, and computation speed improvement, among others. Here we categorize the related research works as the followings: 2.1 Power Sharing for Self-Reconfigurable Modular Robots Power sharing is an essential problem in self-reconfigurable modular robots because the structures possible are large and diverse and require a solution that must function across all configurations. Due to the various kinds of self-reconfigurable modular robots, sev- eral kinds of power sharing structures and circuits have been developed. Figure 2.1a (a) Odin [8] (b) Electrostatic Latches [9] (c) Planar Catoms [10] Figure 2.1: Three examples of power sharing hardware structures. 10 shows the Odin Modular Robot [8] developed by the University of Southern Denmark where the power is transferred by the power link across the bodies of links and joints. Figure 2.1b shows Electrostatic Latches developed by CMU [9] where the capacitors are used to transfer the power from a square wave generator. Figure 2.1c shows Pla- nar Catoms [10] also developed by CMU where the transformer is used to transfer the power, providing power to the connected module. The robust power sharing capabilities intended to handle the dynamic nature of self-reconfigurable modular robots in unpre- dictable situations are not shown. For example, if one of the batteries malfunctions, has no power, or has no power flow control, the module might cease working properly and may also affect the other modules. Because self-reconfigurable modular robots are highly versatile and dynamic, the power sharing mechanism should be also designed in a dynamic fashion to handle all kinds of tasks. Furthermore, even with the switches routing power flows, without an appropriate power sharing strategy, it would be also difficult to optimize the system operation time. In distributed robotic systems, the importance of energy has been described in var- ious aspects. For example, in order to achieve a self-maintained mechanism for coop- erative robots, a battery exchange algorithm based on a probabilistic model has been described and verified in [11]. Also, two optimal energy sharing polices for self-reconfigurable robotic systems were introduced in pioneering work done by Dr. Raja Humza Qadir [12] [13]. In the first power sharing policy (Policy 1), each robotic module stores an energy distribution table which records its state of charge (SOC) and its direct neighbor’s SOC. Each module initiates power sharing with a neighbor automatically if that neighbor’s energy is lower than the energy sharing threshold (E th ) and the energy of the module itself is larger than E th . In contrast, in power sharing Policy 2, each modular robot not only keeps its direct neighbor’s SOC, but also records its direct neighbor’s direct neighbor’s SOC. Again, 11 power sharing is initiated automatically if the module has energy more thanE th and the direct neighbor or their direct neighbor’s energy has energy less thanE th . However, the proposed method does not consider global energy information. Such information is essential for determining which modules have low power. With this infor- mation, the modules can share power more precisely and reduce power waste due to the redundant power sharing that occurs in less informed methods. 2.2 Minimum Cost Flow Many researchers have studied minimum cost flow (MCF), for example, the Cycle- Canceling Algorithm by Morton Klein [14], Successive Shortest Path by Jewell [15] and Ford and Fulkerson [16], and Capacity Scaling Algorithm by Edmonds and Karp [17], among others. Generally speaking, the research works related to MCF are mostly focusing on time complexity improvement but lacks resource allocation and solution to infeasible sce- narios. In other words, the resource amount of each node is usually given. However, in the power sharing problem which this paper is concerned, the supplies and demands of each robot (node) are unknown and need to be estimated online. In most related approaches (including those in [18, 19]), the algorithm must be given as input the sup- plies and demands of each node in order to compute a solution, making them unsuitable for solving the problem at hand. For the lossy path minimum cost flow, Kevin Wayne proposed a minimum-ratio circuit canceling algorithm and its scaling version to solve the minimum cost circulation in the network where each edgee contains a gain factor (e) [20]. However, a feasible solution is required to start the algorithm and the paper usually assumed the zero flow as a start point which might not be applicable to our problem. Also, Jeffrey Oldham 12 proposed combinatorial approximation algorithms for generalized flow problems [21] and Samuel Daitch and Daniel Spielman proposed faster approximate lossy generalized flow via interior point algorithms.[22]. 2.3 Reconfiguration There are broad applications for reconfiguration, such as performance improving, task transformation, and self-healing, among others. Among theses research works, Barzin Moridian proposed autonomous mobile micro-grids for power distribution [23] which can be used for disaster areas, tempo- rary structures, field hospital, etc. The paper constructs basic hardware and software framework but does not contain high level planning and optimization. R. Rajaram, K.Sathish and N. Rajasekar implemented modified plant growth simula- tion algorithm to find the power system reconfiguration in a radical distribution network for reducing losses [24]. In the paper, the objective is to maximize the sum of power reduction due to the reconfiguration and the placement of three numbers of distribution generation units. The cost has not been introduced in the paper, which is different from the settings of our problem and might result in a different reconfiguration strategy. Also, R. Syahputra, I. Robandi and M. Ashari proposed the optimal reconfiguration of radial distribution network with integration of distributed energy resources (DER) using modified particle swarm optimization (PSO) [25]. The technique is able to reduce the power loss, bus voltage deviation, and maintain load balance. However, the targeted network type is limited and the reconfiguration by the switch control might not be able to change the network significantly. In general, most research works related to reconfiguration strategies in order to min- imize the power loss is to control the switches in the power grid. Although the cost 13 for switch control is very few, the performance improvement is limited by the physical network structure. As for our problem format, the reconfiguration needs to consume a certain amount of power, such as motor power, sensor power, and CPU power, among others. Therefore, the cost has to be considered. With the appropriate algorithms, there is a possibility to have a better performance improvement since the reconfiguration can change the existing physical network. 2.4 Time-Sensitive Scheduling In the real world, all kinds of resources are transported from places to places. Unavoid- ably, the capacity of each carrier is limited. For example, to send cargo by airplane between nations, the capacity is very limited and the cost is not ignorable. Due to these constraints, there is a high chance that the resource is not be able to be sent out instantly. Therefore, to set the priority of each target (customer, place, etc.) in order to maximize the agent’s utility is an essential research problem. Among these research works, Zhen-Sheng Pengetal applied minimum cost maxi- mum flow to plan the resource distribution for disaster points [26]. However, the desired resource of each disaster point is given and the paper does not provide the estimation method of this information. Nitin Kamraetal. [27] introduced a battery exchange system for multirobots. The system consists of two types of robots: task robots for carrying out the mission at a certain location and delivery robots for transporting fully charged batteries. In the paper, the algorithm contains two steps: the first step is spatial planning is used to generate the paths from the initial location of the task robots to the service location and the paths for the delivery robots to deliver the batteries. After the paths have been computed with the framework of simple temporal problem (STP), the rendezvous point can be 14 obtained for battery exchange. However, for the task of power sharing, the role of each robot is decided dynamically based on the network circumstance. Without appropriate role assignment, the system operation time might not be optimized. Also, since power sharing technology is usually applied to the environment where the resource is limited and difficult to acquire, the system power is conservative so that we need to harmonize the operation time of each robot to maximize the system operation time. Ebrahim Nasrabadi and Mehdi Hashemi introduced minimum cost time-varying net- work problem [28]. Since the supplies and demands might change over time, the objec- tive is to find a flow over time meanwhile minimizing the storage cost (c i (t)) and transit cost (c i;j (t)). However, to implement the algorithm, the information of supplies and demands are required at each time step. In our case and usually in the real world, the supplies and demands might need to be dynamically decided based on the remaining charge capacity (rcc), current consumption (cc) and network status including capacity (U), cost (c), etc. Also, since the donors and sinks are dependent on these factors, it would be challenging to explicitly define the period of system operation time. Guo Lietal applied the minimum-cost maximum flow model (MC-MFM), for the evacuation from one source node to one or more designated destinations. [29]. Given a certain of time period, the algorithm can provide the traffic flow on each road (link) with overall minimum cost. Nevertheless, most of time in the real world, the operation time period may not be easy to obtain and also need to be interacted with the environment to reflect a more realistic situation. 15 Chapter 3 Near-Optimal Dynamic Power Sharing [1] 3.1 Introduction In recent years, there has been a growing emphasis on modular robotics literature con- cerning the optimization of robotic modules’ collective operation time. Maximizing operation time is vital in many autonomous robotic applications, including search and rescue and space robotic systems. One potential advantage of such systems is that con- nected groups of modules could coordinate with one another to autonomously share power in a way that extends the operation time of the entire system. An effective dynamic power sharing scheme delays the failure of modules with low power, allow- ing the entire system to function for longer periods of time. To maximize the operation time for self-reconfigurable modular robots through power sharing, the research work needs to consider both hardware and software aspects. On the hardware side, the power sharing circuits on each modular robot includes offer- ing, receiving, and bypassing power functions. Through the proposed algorithms on the software side, each modular robot is able to know its role in a certain time frame by using only local information. 16 The proposed method considers global energy information. Data in this area is essential for determining which modules have low power. This is done using local infor- mation. With this information, the modules can share power more precisely and reduce power waste due to the redundant power sharing that occurs in less informed methods. 3.2 Near-Optimal Power Sharing Theory 3.2.1 Theoretical Maximum Operation Time Determining the theoretical maximum operation time for a robotic system is interesting in its own right as well as essential to the proposed method. To obtain the theoretical maximum operation time, one must model the power consumption behavior of the sys- tem. For modeling the remaining charge capacity of the battery, one can take the unit of electric charge: Coulomb (Symbol:C) as the representation. For example, if the battery capacity is 1000 mAh (milliampere hour), then the battery has 3600C. If the current consumption is 1C per second, then the estimated operation time is around 1 hour. Consider Figure 3.1(a) as an example. It shows two modules: module A and module B. The “health” bar shows the battery capacity of module A originally had 600C, but at the end of 15 seconds of operation, 450C are left; meanwhile, module B had 300C originally and 0C left after 15 seconds of operation. Module A still has some electric charge left which it could potentially share with module B. Therefore, in this scenario, the two robot system shown did not reach its maximum possible operation time. 17 (a) No power sharing scenario. (b) Optimal power sharing scenario. Figure 3.1: No power sharing scenario v.s. optimal power sharing scenario. In contrast, if the modules are able to do perfectly optimal power sharing, the result will be the scenario shown in Figure 3.1(b) because the total energy has been utilized to keep the two robot system alive and the total remaining charge is equal to zero at the end. In this case, the system reaches its theoretical maximum operation time of 30 seconds. Following is how to calculate the theoretical maximum operation time (T (N;A)) of the whole system: T (N;A) = P i rcc(i) P i cc(i) ;8i2N (3.1) wherercc(i) represents remaining charge capacity of modulei andcc(i) represents current consumption of modulei. In the scenario of Figure 3.1(b), the theoretical maxi- mum operation time of the module A and B system can be written as: T (N;A) = rcc(moduleA) +rcc(moduleB) cc(moduleA) +cc(moduleB) (3.2) The result is 30 seconds which is equivalent to the operation time in Figure 3.1(b). Here we provide a proof as the followings: 18 Lemma 1. If there exists a power sharing policy under a loss-free environment, which makes each modular robot’s operation time the same, then the lifespan of system is optimal and can be expressed as: T (N;A) = P i rcc i P i cc i ;8i2N (3.3) Proof: After applying the power sharing policy,, the operation time of every robot i can be represented as equation (3.4), wherercc (i) denotesrcc(i) after is applied. We can multiplycc(i) on both sides of equation (3.4) and obtain equation (3.5). ~ T (i) = rcc (i) cc(i) ;8i2N (3.4) )rcc (i) =cc(i) ~ T (i) (3.5) Based on the loss-free assumption of lemma 1, by summing equation (3.5) over all robotsi, we can obtain equation (3.6), then derive equation (3.7). X i2N rcc(i) = ( X i2N cc(i)) ~ T (i) (3.6) ) P i2N rcc(i) P i2N cc(i) = ~ T (i) (3.7) Also, since the operation time of each robot is the same and the lifespan of system is dominated by the robot with the fewest operation time, it would be trivial that such a value is equal to the optimal system operation time. Therefore, based on equation (3.7), we can obtain (3.3) and then establish lemma 1. 3.2.2 Local Information Consider performing this calculation in a distributed environment made of self- reconfigurable robotic modules. In order to calculate the theoretical maximum operation 19 time of such a system based on equation (3.1), each module in that system would have to retrieve the battery status and current consumption rate of every other robot module in the system, a slow process that is unreasonable for a dynamic, online power sharing mechanism. Instead, the proposed method approximates the maximum operation time of the robotic system at each module using local information. Each module exchanges messages with its direct neighbor(s) (those to which it is directly connected) to acquire a local average remaining charge capacity (rcc) of battery and local average current con- sumption (cc) (including its own battery level and current consumption). These averages are then used in equation (3.1) to estimate the maximum operation time of the system. This task is performed at each module at some pre-determined frequency (e.g., every 1/10 of a second). As the number of time steps this procedure is repeated increases, these estimates converge (usually quite quickly) to the true maximum operation time calculated using equation (3.1). Following is an example of estimating the maximum operation time of a robotic system with three connected modules, module 0, module 1, and module 2 as illustrated in Figure 3.2. Figure 3.2: Caterpillar configuration formed by three SuperBot modules. 20 Only the calculation of the average rcc of module 1 is shown. The other averages at different modules would be analogous. rcc 0 (1) =rcc 0 (1); rcc 1 (1) = rcc 0 (0) +rcc 0 (1) +rcc 0 (2) 3 ; rcc 2 (1) = rcc 1 (0) +rcc 1 (1) +rcc 1 (2) 3 ; . . . rcc n+1 (1) = rcc n (0) +rcc n (1) +rcc n (2) 3 : (3.8) Generalizing the example described above, the following derives the general equa- tion for the local average rcc battery estimate which modular roboti holds aftern time steps: rcc n+1 (i) = rcc n (i) + P j2neighbornodesofi rcc n (j) K ; (3.9) where index i indicates the i-th modular robot and K is the number of the robots including theith modular robot and its direct neighbor robot(s). Notice that the calcula- tion of average current consumption is completely analogous. 3.2.3 Source and Sink Determination Once the modules have estimated the average global remaining charge capacity of bat- tery and average current consumption (as described above), they are able to estimate the maximum operation time easily (see equation (3.1)). Once the estimated maximum operation time is obtained, each module uses its current rcc status to determine if it should act as a donor, receiver or passthrough module. 21 In order to make the system reach the estimated maximum operation time, the pro- posed method needs to derive the expected remaining charge capacity for each module i (rcc (i)) from equation (3.10). If the current estimated remaining charge capacity of module i (rcc(i)) is larger than rcc (i) which is equal to the maximum operation time (estimated with local information) times the estimated average current consump- tioncc(i), the module will apply equation (3.11) to determine the amount of power to donate and act as a donor (b (i) > 0). Otherwise, the module will act as a receiver (b (i) < 0). If the difference is sufficiently close to zero (b (i)' 0), the module will act as a passthrough module, meaning the module just acts as one part of power bus and lets the power from the donor(s) pass through itself to the receiver(s) in the system. T (N;A) = rcc (i) cc(i) ; )rcc (i) =T (N;A)cc(i);8i2N: (3.10) b (i) =rcc(i)T (N;A)cc(i);8i2N: (3.11) 3.2.4 Donor Selection Figure 3.3: Distributed task negotiation [4]. In order to prevent conflicting power sharing decisions, each time power sharing is to occur, the collective modular robots need to elect a donor before sharing power. Conflicting power sharing means more than one module is trying to donate power to the 22 receivers, which might lead the power to module(s) with sufficient energy. Therefore, in order to prevent redundant power sharing, it would be essential to elect one donor in a certain time frame. For determining the donor in the system, we have adopted the Distributed Task Negotiation in [4]. Based on section 3.2.2 and 3.2.3, once a module decides locally that it is to act as a donor, it will start to broadcast task messages (TM) [4] to its direct neighbors. When a leaf node module receives task message from its direct neighbor, it will create a “child-of” relationship to the sender (the parent node) and send back an ack message to its parent node. Otherwise, the module is at intermediate node and will broadcast the received task message and also create a ”child-of” relationship to the sender (parent node). In the event of a conflict, i.e. when a module receives more than one task message, the module will choose one donor with relatively stronger power and then broadcast the newRoot message (NRM) [4] for the new sender to its other direct neighbors. Mean- while, the module will delete all previous “child-of” relationships and create a new “child-of” relationship between itself and the new sender. Once the module receives ack messages from all its child nodes, it will send an ack message to its parent node. Through this process, one donor will collect all ack messages from its child nodes and be elected in a certain time frame and start to share its power to the receiver(s). Figure 3.3 shows the task generated by P6 is elected through this process. The election of a single donor prevents conflicting power choices from damaging the operation time of the system. 23 3.3 Near-Optimal Power Sharing Algorithm Figure 3.4: Near-Optimal power sharing algorithm. 3.3.1 Software Design In this section, the proposed near-optimal power sharing scheme is detailed. As shown in Figure 3.4, the algorithm begins by having each module estimate the maximum theoretical operating time of the system using the local communication described in section 3.2.2. After acquiring an estimate of the system’s maximum pos- sible operation time, every module determines its role: to act as a donor, a receiver or a passthrough module as discussed in 3.2.3. If the module is to act as a donor, it will broadcast a message to its direct neighbors to express that it wants to be a candidate donor in the current time step. The receivers and the passthrough modules will receive the messages from these candidate donors and a single donor will be chosen as described in 3.2.4. In the process of donor selection, the receivers and passthrough modules will decide how to react to the messages depending on their positions in the system. If the 24 ALGORITHM 1: Near-Optimal Power Sharing Algorithm Input: None Output: None 1 while true do 2 if (rcc neighbors rcc itself >Threshold rcc jjcc neighbors cc itself >Threshold cc ) then 3 1. update the local average of the battery capacity and the current consumption. 4 else 5 1. estimate the theorectic operation time. 6 2. based on the theorectic operation time to decide the role. 7 if (roleisdecided) then 8 if (leaderisnotelected) then 9 1. elect the leader in the period. 10 else if (leaderiselected) then 11 1. power sharing. 12 if (leaderrunsoutthebudget ) then 13 1. reset the local information. 14 2. reset the role. 15 3. reset the time. module is a “leaf” module (connected to only one other module), once the message is received, it will reply with an ack message to its only neighbor (parent) node immedi- ately. If it is not a “leaf”, the module will wait until all ack messages are collected and then send an ack message back to its parent node. Once a donor is nominated, the rest of the modules will choose whether to close or open their switches in order to share power. Based on equation (3.11), each donor and receiver knows the amount of supplying or receiving to do in each time step. The time step ends when the required amount of power is shared. The modules in the system will keep updating their estimates of the global average battery power and global average power consumption, leading to an increas- ingly precise estimation and driving the whole system near the theoretical maximum operation time. This process is described in the pseudo code in Algorithm 15, where, e.g.,Threshold rcc represents the threshold of the remaining charge capacity difference 25 between the robot itself and its direct neighbor(s). Threshold cc is defined analogously. Both values should be set very small, e.g.< 1. 3.3.2 Hardware Design Figure 3.5: SuperBot power sharing circuits illustration [5]. Figure 3.5 shows a simplified circuit of the power sharing mechanism on SuperBot [5]. The power sharing function block on each robot includes a DC/DC converter and current controller. When the modular robots share power, the power flow has to go through DC/DC converter. However, the efficiency of the regular DC/DC converter is only about 80% to 90%, so it is important to reduce the number of times that power sharing occurs in a real-world implementation. This will help reduce any loss resulting from the power sharing procedure itself. 26 3.4 Example and Simulation Results [1] [2] Before implementing the proposed algorithm into hardware, a number of simulations were performed using the Unity game engine 1 . This was both to verify the logic of the proposed method and to compare it with existing power sharing schemes. In the simulation, the efficiency of the DC/DC converter has also been taken into consideration. We compare static power sharing (where the donor is always the most energetic one in the system), the Policy 1 [12] [13], Policy 2 [12] [13], and the proposed method under a variety of energy distribution scenarios and a variety of mechanical load distributions. These methods are also compared against a baseline mechanism in which power is not shared at all. In all cases, operation time is measured, providing a means of comparing the different methods. 3.4.1 Caterpillar Configuration Several SuperBot modules were created, arranged and connected as a “caterpillar” (sim- ple serial chain) shape as illustrated in Figure 3.6a. For the simulation in Unity, as shown in Figure 3.6b, the green bar indicates the module’s health, i.e. remaining charge capacity. Energy transfer is visualized as a red bullet shooting from module(s) to mod- ule(s) to better understand the power sharing process. Once any module depletes its power completely, the entire system is considered to have stopped functioning. Once this has occurred, the power sharing operations that occurred during the simulated run are recorded. 1 https://unity3d.com 27 (a) Caterpillar shape formed by five SuperBot mod- ules. (b) Power sharing simulation in the caterpillar con- figuration. Figure 3.6: Power sharing simulation for SuperBot modules in the caterpillar configu- ration. Several other power sharing strategies were implemented (including [12] [13]) in this simulation environment. The numerical results of the comparison of all these meth- ods (including the proposed method, labeled Near Optimal) are given in Figure 3.7a. Six kinds of cases (a to f) were randomly generated for comparing the selected power sharing schemes. In each case, modules have different (randomly assigned) remaining charge capacity (rcc) values and current consumption (cc) values as listed in Figure 3.7b, where, e.g.,rcc(1) andcc(1) represent the remaining charge capacity and current consumption for module 1. According to the results shown in Figure 3.7a, the number of time steps of the proposed method is always closest to the theoretical maximum oper- ation time. This is particularly true in cases a, b and f, where energy distribution is very uneven. 28 (a) Time step results for the selected power sharing schemes. (b) Remaining charge capacity (rcc) and current consumption (cc) of the modules. Figure 3.7: Power sharing simulation numerical results for caterpillar configuration. 3.4.2 Quadruped Configuration In another experiment, power sharing in a quadruped configuration of SuperBot modules is simulated. The quadruped configuration implemented in real hardware is illustrated in Figure 3.8a. The power sharing simulation is illustrated in Figure 3.8b. With the same concept as shown in Figure 3.7, we also have created 6 kinds of random cases (a to f). 29 (a) SuperBot in quadruped con- figuration. (b) Quadruped walker power sharing simulation. Figure 3.8: Power sharing simulation for SuperBot modules in the quadruped shape. The results of this experiment, given in Figure 3.9a, also shows that the pro- posed near-optimal power sharing scheme is superior to alternative methods in terms of increasing the operation time of the entire system. In general, the number of power sharing times of the static method is usually between 100 to 250, however, the proposed method significantly reduces the sharing times to around 40. Although the other two methods have similar power sharing times to the proposed method, the result in Figure 3.9a shows that power sharing schemes that only consider surrounding neighbors may not be sufficient to extend the operation time to near-optimal levels. Cases a, b and c as shown in Figure 3.9b, in which the power on the limbs (rcc(1), rcc(3), rcc(5), rcc(6)) is much different than the power on the body (rcc(2), rcc(4)), demonstrates the proposed method can consistently extend the operation time to near the maximum possible values. 30 (a) Time step results for the selected power sharing schemes. (b) Remaining charge capacity (rcc) and current consumption (cc) of the modules. Figure 3.9: Power sharing simulation numerical results for quadruped configuration. 3.4.3 Rolling Track In a final set of experiments, the proposed method was validated against a base- line method (no power sharing) in the physics-based self-reconfigurable simulator ReMod3D [6]. Both a rolling track configuration of six SuperBot modules and a quadruped configuration of five SuperBot modules (as in Figure 3.8a) locomoting on a flat surface are simulated. In each simulation, two systems of modules, one that performs no power sharing and one that uses the proposed near-optimal power shar- ing mechanism, perform the same gait starting at the same location. Screenshots of 31 Figure 3.10: Rolling track simulation in ReMod3D. On the left, we see the initial state of the simulation. The battery levels of each module are different, as illustrated by the colors (green means high battery, red low battery). The middle image shows the point at which the robot system that does not use power sharing (front) fails. The image on the right shows the near-optimal power sharing rolling track locomoting far past the one that does not use power sharing. the rolling track simulations are shown in Figure 3.10. The initial battery levels and consumption rates were set in the program. The color of module indicates how much battery it has remaining. High battery values correspond to green, while low battery val- ues correspond to red. When the modules all turn white, at least one module has failed completely (indicating total system failure), and the modules “power down”. In these final experiments, the proposed near-optimal power sharing scheme always results in the robotic system traveling farther than without power sharing. The differ- ence in distance depends, of course, on the initial battery levels at each module and the consumption rates set in the program. 32 Chapter 4 Maximal Operation Time Estimation with Output Current Constrains [2] 4.1 Introduction A key problem in modular and self-reconfigurable robot power sharing research is that of estimating the globally maximal operation time (MOT) of a system of connected modules that share power with one another, as this information is vital to determining resource allocation in power sharing schemes. We propose centralized and distributed versions of a new MOT estimation algorithm which is capable of generating high-quality approximations of the MOT of a system of robot modules, even when the independent power sources of each module contain (possibly different) current output limits. Such constraints would cause our previously proposed method [1] to overestimate the maximum operation time (MOT) of the system, leading to poor resource estimation and allocation. This proposed algorithms are based on a transformation of the power sharing prob- lem with current output limits to a minimum cost flow problem, for which efficient algorithms are known. 33 4.2 Optimal System Operation Time under the Con- straints ( ^ T(N;A)) 4.3 Naive Solution for ^ T In practice, the battery or power source of a robot has an output current limit. We use B 0 (i) to represent this output limit for each roboti. We use the simple example in Figure 4.1 to study our power sharing problem model with output current constraints. Figure 4.1: A simple example for the illustration of power sharing with output current constraints. In Figure 4.1, rcc(i) and cc(i) are given, and, according to our previous research in [1], we can calculateb (i) using equation (4.1), whereb (i) stands for the supply or demand of modulei in order to reachT (N;A). b (i) =rcc(i)cc(i)T (N;A); i2N: (4.1) Here we useb 0 (i) (calculated in equation (4.2)) to represent the average number of units of power that need to be shared per unit of time by module i in order to reach T (N;A). b 0 (i) = b (i) T (N;A) ; i2N: (4.2) 34 Assume the output current constraint for each module in this system is 50 units: B 0 (i) = 50;8i2 N. In Figure 4.1, since b 0 (0) > B 0 (0), b 0 (0) will be clamped to B 0 (0), which will result inn2 andn3 running out of power beforen0 donates its full amount of power. This will also causeT (i)6=T (j);9i;j2N. Here we can refer the concept of lemma 1 by fully utilizingn0 0 s saturated donation and also attempt to makeT (1) =T (2) =T (3). This leads to the system of equations in (4.3): 8 > > > > > > < > > > > > > : T (1) =T (2)) 500 100 +x = 300 100 +y T (2) =T (3)) 300 100 +y = 200 100 +z 50 +x +y +z = 0 (4.3) Solving this system of equations produces x = 25, y = 25, z = 50. If no current constraints exists, n1 would not have to donate any power; however, with the constraints,n1 has to act as a small donor in order to reach ^ T (N;A). It’s easy to use this naive solution to solve ^ T (N;A) for a small-scale system. How- ever, as the number of nodes in the system (number of robots) increases, this algo- rithm quickly becomes impractical (as does acquiring b(i) for each node). In self- reconfigurable and modular robotics, we are often interested in large-scale systems. Thus, it is essential to find a more practical and scalable algorithm to solve ^ T (N;A). 4.4 ^ T Algorithm However, when the network size is getting large, with the consideration of the output current constraints, it would be extremely difficult to know the optimal system operation time, ^ T (N;A), as well as the power sharing amount of each node. 35 From the previous simple example, we see that if we rearrange thecc(i), we should be able to equalize each robot’s operation time except for the robotn 0 . This leads to the Centralized ^ T Algorithm (Algorithm 2). 4.4.1 Centralized ^ T Algorithm ALGORITHM 2: Centralized ^ T Algorithm Input:G(N;A); rcc(i); cc(i); B 0 (i);8i2N Output: ^ T (N;A) 1 nodes make-priority-queue(make-node(initial-state[N, A])) descending ordered by T (i); 8i2N; 2 whileT (nodes[front])T (nodes[back])> do 3 b 0 (front!back) =cc(nodes[back]) rcc(nodes[back])cc(nodes[back 1]) rcc(nodes[back 1]) 4 ifB 0 (nodes[front])> (b 0 (front!back) + 1) then 5 cc(nodes[front]) cc(nodes[front]) +b 0 (front!back) + 1 6 B 0 (nodes[front]) B 0 (nodes[front])b 0 (front!back) 1 7 cc(nodes[back]) cc(nodes[back])b 0 (front!back) 1 8 else ifB 0 (nodes[front])<= (b 0 (front!back) + 1) then 9 cc(nodes[front]) cc(nodes[front]) +B 0 (nodes[front]) 10 B 0 (nodes[front]) = 0 11 cc(nodes[back]) cc(nodes[back])B 0 (nodes[front]) 12 Remove-Front(nodes) 13 update-priority-queue(nodes) 14 returnT (nodes[front]) In Algorithm 2,b 0 (front! back) stands for the number of units of power shared fromnodes[front] tonodes[back] per unit of time and the equation in line 3 is derived from equation (4.4). rcc(nodes[back]) cc(nodes[back])b 0 (front!back) = rcc(nodes[back 1]) cc(nodes[back 1]) (4.4) 36 The basic idea of Algorithm 2 is to make a priority queue ordered byT (i);i2 N (in descending order) and always move power fromnodes[front] tonodes[back]. Mean- while,B 0 (front) is monitored to see ifnodes[front] is saturated. 4.4.2 Distributed ^ T Algorithm ALGORITHM 3: Distributed ^ T Algorithm 1 For each nodei, Input:rcc(i); cc(i); B 0 (i); rcc(j); cc(j); B 0 (j); 8j2neighborofnodei Output:b 0 (i) 2 cell make-priority-queue(nodei and nodej) descending ordered byT (k),8k2 node in the cell 3 donor find–longest-time-with-positive-B 0 (cell) 4 B 0 (i) original B 0 (i) 5 while (T (donor)T (cell[back])>) do 6 cc(donor) cc(donor) + 1 unit 7 B 0 (donor) B 0 (donor) - 1 unit 8 cc(cell[back]) cc(cell[back]) - 1 unit 9 B 0 (cell[back]) B 0 (cell[back]) + 1 unit 10 update-operation-time(cell) 11 update-priority-queue(cell) 12 donor find–longest-time-with-positive-B 0 (cell) 13 ifB 0 (i) == 0 then 14 returnb 0 (i) =B 0 (i) original 15 else 16 returnb 0 (i) =B 0 (i) original B 0 (i) Algorithm 3 is a distributed version of Algorithm 2. The basic idea is similar to the centralized one, but each node only knows its neighbors’ information. Firstly, each node makes a priority queue named “cell” which consists of itself and its neighbors ordered (descending) by its operation time as shown in line 2. After “cell” is created, the node with the longest operation time and the positiveB 0 value is selected to share power to the node with the shortest operation time, (i.e. cell[back]). These steps are shown in line 3 and lines 5-9. After the power sharing steps, the operation time of each node and the 37 order in the cell are updated as shown in line 10 and 11. Lines 6-12 are repeated until the condition in line 5 is satisfied. Although the returned value is not ^ T (N;A), the final goal and the most desirableb 0 are obtained as shown in lines 14 and 16. 4.5 Large Scale Simulation Results To verify the proposed methods ( ^ T algorithms) and evaluate its scalability, we created a number of different networks of various sizes and initialized them with randomrcc(i), cc(i) and B 0 (i) values for each node i. Here B 0 (i) represents the output current con- strain of each nodei. Figure 4.2 shows some examples of these networks of increasing scale and complexity, while Figure 4.3 plots the average and standard deviation of ^ T on increasingly complex networks. Except for the nodes with saturatedB 0 values, the standard deviations of ^ T for all of the test cases were very close to zero, which justifies our theories. (a) 26 nodes. (b) 184 nodes. (c) 830 nodes. (d) 1274 nodes. Figure 4.2: Large scale simulations for ^ T algorithm. 38 (a) ^ T (N;A) average for various scale networks. (b) ^ T (N;A) standard deviation for various scale networks. Figure 4.3: Power sharing simulation numerical results for large scale configurations. Figure 4.4 provides a visualization of the convergence of the proposed ^ T algorithm on a configuration of 100 SuperBot modules in the ReBots self-reconfigurable robot simulator [30]. At the beginning of the simulation (Figure 4.4 (left)), the modules had very different initial estimates of ^ T (i). After the proposed ^ T algorithm was performed, however (Figure 4.4 (right)), the estimates of ^ T became very close together for non- saturated modules. Figure 4.4 (middle) shows an intermediate stage of the algorithm (approximately halfway through its execution). The variance of the non-saturated nodes after the algorithm converged in this example was 0.01. Figure 4.4: A visualization of the ^ T algorithms. 39 Deriving an algorithm to obtain ^ T (N;A) is an important milestone, as it provides a method to transform the network from one with unbalanced supplies and demands into a network whose supplies and demands meet the balance conditions necessary to utilize minimum cost flow algorithms. 40 Chapter 5 Resource Sharing through Lossy Network 5.1 Introduction The ^ T algorithm provides a good estimation of the resource budget in each node within the network. However, as the network size increases, the distance between each robot (node) becomes an increasingly important issue for power planning. Evidently, the longer the path between the two power sharing nodes, the more power will potentially be lost during sharing. Here we incorporate path loss and link capacity into our model in order to reflect more realistic optimal power sharing routes between nodes. Figure. 5.1 illustrates the comparison between path loss free and lossy path environ- ments. When the power attenuation exists on the paths, the donors may need to send more power to the sinks to compensate for the power loss on the routes. The purpose is to achieve the maximum system operation time. 41 (a) Optimal power sharing scenario in the loss- free environment. (b) Optimal power sharing scenario in the lossy path environment. Figure 5.1: The comparison of pass loss free and lossy path environment. However, resource allocation in a lossy and capacity limited network is a challenging task. In a sense, the resolving process needs to interact with the network. In this chapter, we propose EM-based algorithm to estimate the resource amount of each node and modify the associated loss factor. Through these iterations, the loss factor of each node and the system operation time will get closer to the optimal value according to the capability of the network. 5.2 EM-based Algorithm To compute the optimum power sharing scenario associated with the maximum system operation time is a challenging task. Since in addition to finding the minimum power 42 attenuation paths, we must also consider the role of each modular robot might be varied according to the choice of the power sharing routes. Here we provide an approach by using the concept of EM-based algorithm. We first assume a loss free environment and apply minimum cost flow algorithm to compute the ideal power sharing routes in the robotic network. We call this process as the E-step (Estimation step). Based on the estimated flows in the network: G(N;A), we can compute the actual received power amount based on the given information of (i;j) where (i;j)2 A and obtain an estimated loss factor: (i) where i2 N for each power-insufficient robot (sink):i2N withb(i)< 0. With the information of (i), we can compute the modified minimum cost flow with the consideration of path loss. The process above is the M-step (Maximization step or Modification step). By iteration of the E and M steps, the power sharing flows and the corresponding system operation time will be approaching to the optimum case. The following sub-sections will illustrate the detail of the whole process. 5.2.1 Maximum Operation Time Estimation The first step of our approach is to compute an estimated maximum operation time and use this information to decide whether the role of each modular robot (node) is either donor, bypass, or sink. With the concept of section 3.2.1, we can modify equation (3.1) to equation (5.2). 43 8 > > > > > > > > > < > > > > > > > > > : X i2N ~ b k (i) = 0 (5.1) ) X i2N 1 ~ k (i) (rcc(i) ~ T k (N;A)cc(i)) = 0; (5.2) ~ k (i) = 1; if ~ b k (i) 0: (5.3) ~ k (i) 1; if ~ b k (i)< 0: (5.4) ~ k (i) represents the estimated loss from the donors to the sinki at thek-th iteration, wherei2N withb(i)< 0. We will then introduce the detail in section 5.2.4. The key idea for the equation (5.2) is mass balance. This indicates that the total power from the donors is equal to the power received by the sink and the power con- sumption of the path loss. Therefore, if the power can be transmitted through the paths with minimum cost, the overall power received by the sinks will be maximized. 5.2.2 s-t Estimation ~ b k+1 (i) = 1 ~ k (i) (rcc(i) ~ T k (N;A)cc(i)) (5.5) Once the estimated operation time has been computed, we can apply our previous method described in section 3.2.3 to determine the role of each modular robot and its associated power sharing amount. 5.2.3 Minimum Cost Flow The research of minimum cost flow has been broadly studied for decades and is very useful for research fields such as transportation, delivery, and assignment problem. 44 After the resource location and amount have been decided from 5.2.2, we can adopt minimum cost flow algorithm to compute the power sharing flows and paths so that the power consumption through paths can be minimized. ~ f k+1 (i;j) =mcf(N;A; ~ b k+1 (i)) (5.6) As shown in equation (5.6), in order to compute the expected minimum cost flow amount for each link (i;j) at thek+1th iteration ( ~ f k+1 (i;j)), the minimum cost flow algorithm (mcf) needs to take the network (N;A) and the expected resource sharing amount of each nodei at thek+1th iteration ( ~ b k+1 (i)) into consideration. 5.2.4 Loss and Power Sharing Cost Estimation ( ~ est ) ~ k+1 (i) = ~ est (N;A; ~ b k+1 (i); ~ f k+1 (i;j)) (5.7) Equation (5.7) is used to estimate the path loss ( ~ k+1 (i)) between the sinki and its associated donors with the consideration of overall minimum power sharing cost in the robotic network (N;A) at thek+1th iteration. It then can be used for the mass balance equation (5.2) to compute the estimated maximum operation time. Moreover, we can use this valuable information to measure the cost for saving the modular robot (node). In future research, the robotic system can refer to this information to decide if it is worthy to save the selected robot(s). 45 ~ f(i;j) = (( X j:(j;i)2A ~ f(j;i) (j;i)) + ( ~ b (i))) ~ f (i;j) P j:(i;j)2A ~ f (i;j) , (5.8) wherei2 ~ b (i)> 0. ~ f(i;j) = ( X j:(j;i)2A ~ f(j;i) (j;i)) ~ f (i;j) j ~ b (i)j + P j:(i;j)2A ~ f (i;j) , (5.9) wherei2 ~ b (i) 0. ~ b(i) = [ X j:(j;i)2A ~ f(j;i) (j;i)] ~ b (i) j ~ b (i)j + P j:(i;j)2A ~ f (i;j) ; (5.10) wherei2 ~ b (i) 0. ~ (i) = j ~ b(i)j j ~ b (i)j ; (5.11) wherei2 ~ b (i)< 0. The equation (5.11) demonstrates how we compute ~ (i). The basic idea is to take the actual receiving power ~ b(i) divided by the expected (estimated ideal) receiving power, ~ b (i). However, to obtain the actual receiving power, ~ b(i), we need to compute the estimated flow, ~ f(i;j), on each selected power sharing path by using the equation (5.8) and (5.9). We explain the two equations as the following: The equation (5.8) is used for computing the estimated outgoing power flow from a donor, ~ f(i;j) withi2 ~ b (i) > 0. The concept is to take the actual incoming power amount, P j:(j;i)2A ~ f(j;i) (j;i)) plus the expected (estimated ideal) power sharing amount of the donor, ~ b (i). We can then treat these two items as the total withheld power amount. To compute the actual estimated outgoing power flow is to discover the total estimated ideal outgoing power flows and the amount of power that needs to be distributed to the specific link. Therefore, we can take the total withheld power amount and then times the weight of the power flow on the specific outgoing edge out of the total outgoing power flows, ~ f (i;j) P j:(i;j)2A ~ f (i;j) . 46 With the similar concept, the equation (5.9) is to compute the estimated actual out- going power flow, ~ f(i;j), sending out from sink i, where i 2 N with ~ b (i) < 0, but just change the total power amount from ( P j:(j;i)2A ~ f(j;i) (j;i)) + ~ b (i) to P j:(j;i)2A ~ f(j;i) (j;i). 5.3 Example and Simulation Results 5.3.1 Power Sharing Simulation for the Fully Connected Three- Node Lossy Network Here we use a simple example: the three-node fully connected network as shown in Figure 5.2 to illustrate the process of our algorithm. Figure 5.2: Three-node lossy network example. For the simulation tool, we adopt Unity, a cross-platform game engine 1 to visualize our experiments as shown in Figure 5.3 and the parameters of each node and arc are stated in Table 5.1 and 5.2. 1 https://unity3d.com 47 Figure 5.3: Three-node lossy network. Table 5.1 shows the information of remaining charge capacity (rcc) and current con- sumption (cc) of each node (modular robot). Table 5.2 shows the information of capacity (U) and cost (c) of each arc (connection). Node (i) rcc cc 0 60 10 1 10 10 2 20 10 Table 5.1: The information of the remain- ing charge capacity (rcc) and current con- sumption (cc) of each node i for the fully connected three-node network as shown in Figure 5.3. Arc (i;j) capacity (U) cost (c) (1; 0) 30 1.25 (0; 1) 30 1.25 (2; 0) 30 10 (0; 2) 30 10 (1; 2) 30 1.25 (2; 1) 30 1.25 Table 5.2: The information of the capac- ity (U) and cost (c) of each arc (i;j) for the fully connected three-node network as shown in Figure 5.3. With the given network, based on session 5.2.1 and 5.2.2, we can estimate the maxi- mum system operation time and the power sharing amount of each node (s-t estimation) by using equation (5.2) and equation (5.5) respectively. Here we demonstrate how we obtain ~ T 0 (N;A) = 3 by plugging the given information into equation (5.2) as shown in equation (5.12). 48 X i2N ~ b k (i) = 0; ) X i2N 1 ~ k (i) (rcc(i) ~ T k (N;A)cc(i)) = 0 ) 1 1 (60 ~ T 0 (N;A) 10) + 1 1 (10 ~ T 0 (N;A) 10) + 1 1 (20 ~ T 0 (N;A) 10) = 0 ) ~ T 0 (N;A) = 3 (5.12) Then we can apply equation (5.5) and obtainb 1 (0),b 1 (1) andb 1 (2) by using equation (5.13), (5.14) and (5.15). ~ b k+1 (i) = 1 ~ k (i) (rcc(i) ~ T k (N;A)cc(i)) ) ~ b 1 (0) = 60 3 10 = 30 (5.13) ) ~ b 1 (1) = 10 3 10 =20 (5.14) ) ~ b 1 (2) = 20 3 10 =10 (5.15) After the estimation step, we can apply one of the minimum cost flow algorithms, such as successive shortest path [15] [16], capacity scaling [17], etc., on the network to obtain the expected power sharing amount for each donor, sink and bypass node based on the estimation step stated before. Figure 5.4 demonstrates the results after minimum cost flow algorithm. The green arcs represent where the power goes through. 49 Figure 5.4: The power flow distribution after minimum cost flow algorithm at the first iteration. At first, since no arc attenuation has been discovered, the expected (estimated ideal) power sharing amount of each node ( ~ b (i)) is just like the scenario in session 3.2.3. However, after the first iteration, since the power flows computed by minimum cost flow algorithm have gone through the two arcs, i.e. (0; 1) and (1; 2), the attenuation on the two arcs has been discovered. Equation (5.16) to (5.20) show how we compute ~ 1 (1) and ~ 1 (2) by plugging the given information into equation (5.8) to (5.11). ~ b 1 (1) = ~ f 1 (0; 1) (0; 1) ~ b 1 (1) j ~ b 1 (1)j + ~ f 1 (1; 2) = 30 4 5 20 20 + 10 =16 (5.16) ~ 1 (1) = j ~ b 1 (1)j j ~ b 1 (1)j = 4 5 (5.17) 50 ~ f 1 (1; 2) = ~ f 1 (0; 1) (0; 1) ~ f 1 (1; 2) j ~ b 1 (1)j + ~ f 1 (1; 2) = 30 4 5 10 20 + 10 = 8 (5.18) ~ b 1 (2) = ~ f 1 (1; 2) (1; 2) ~ b 1 (2) j ~ b 1 (2)j = 8 4 5 10 10 = 32 5 (5.19) ~ 1 (2) = j ~ b 1 (2)j j ~ b 1 (2)j = 16 25 (5.20) Therefore, starting from the second iteration (Iteration Index = 2), in order to com- pensate the path loss on the arc (0; 1) and (1; 2), node 0 has to raise its donation amount. Equation (5.22), (5.23) and (5.24) show how we compute the modified power sharing amount at the second iteration based on the updated estimated system operation time ( ~ T 1 (N;A) = 2:7213) as shown in equation (5.21). Based on the modified power sharing amount, in Figure 5.5, the arc (0; 2) displays green because of the additional power flow. X i2N ~ b k (i) = 0; ) X i2N 1 ~ k (i) (rcc(i) ~ T k (N;A)cc(i)) = 0 ) 1 1 (60 ~ T 1 (N;A) 10) + 5 4 (10 ~ T 1 (N;A) 10) + 25 16 (20 ~ T 1 (N;A) 10) = 0 ) ~ T 1 (N;A) = 2:7213 (5.21) ~ b k+1 (i) = 1 ~ k (i) (rcc(i) ~ T k (N;A)cc(i)) ) ~ b 2 (0) = 60 2:7213 10 32:79 (5.22) ) ~ b 2 (1) = 10 2:7213 1021:52 (5.23) ) ~ b 2 (2) = 20 2:7213 1011:27 (5.24) 51 Figure 5.5: The power flow distribution after minimum cost flow algorithm at the second iteration. We can find out more detail from Figure 5.6 and 5.7. At the second iteration, node 0 changes its expected donation from 30 to 32:79. However, since the capacity of each arc is only up to 30, node 0 has to send the additional 2:79 unit power through arc (0; 2), where the path loss is much higher than the other arcs. Nevertheless, at the third iteration (Iteration Index = 3), we can observe that node 2 reduces its expected power-needs, ~ b (2), from 21:52 to 20:64. The reason for this scenario is that the attenuation on the arc (0; 2) has been discovered and in order to achieve the maximum system operation time, each node needs to adjust its expected power sharing amount ( ~ b (i)) in order to compensate for the loss. 52 Figure 5.6: The expected power sharing amount of each node in the three-node network at each iteration. Figure 5.7: The expected power flow amount of each arc in the three-node network at each iteration In summary, Figure 5.8 shows the curve of loss estimation or power sharing cost for each nodei ( ~ (i)). According to equation (5.3), since the role of node 0 is donor, then ~ (0) = 1. Through the iterations, there is only one path, (0; 1) where the loss factor is equal to 0:8 from the donor, node 0, to the sink, node 1. Therefore, the estimated loss of 53 node 1 ( ~ (1)) is the same on both the first (Iteration Index = 1) and the second iteration (Iteration Index = 2). Figure 5.8: The loss estimation of each node in the three-node network at each iteration. On the other hand, for ~ (2), the initial value is 1, i.e. ~ 0 (2) = 1 because no arc attenuation has been discovered yet. However, starting from the first iteration, since the route starting from the donor, node 0 through the arc (0; 1) and arc (1; 2) to the sink node 2 have been revealed. ~ (2) value has been adjusted to 0:64, i.e. ~ 1 (2) = 0:64, which is consistent with the real attenuation of the shortest path. At the second iteration, interestingly, ~ (2) value has been modified to 0:51, i.e. ~ 2 (2) 0:51. Due to the attenuation on the arc (0; 1) and (1; 2), the donor, node 0 needs to send more than 30 units of power out, which is more than the capacity of each arc. Therefore, in order to meet the constraints, node 0 has to divide 32:79 unit power into two routes: 30 unit power sending through the arc (0; 1); (1; 2) to node 2 and 2:79 unit power sending through arc (0; 2) to node 2. With the combination of the power flow sending from arc (0; 1); (1; 2) and arc (0; 2), by using equation (5.8), (5.9), (5.10) and (5.11), we can obtain ~ 2 (2) 0:51. Equation (5.25) to (5.29) show how we compute ~ 2 (1) and ~ 2 (2) by plugging the given information into equation (5.8) to (5.11). 54 ~ b 2 (1) = ~ f 2 (0; 1) (0; 1) ~ b 2 (1) j ~ b 2 (1)j + ~ f 2 (1; 2) = 30 4 5 21:52 21:52 + 8:48 = 17:216 (5.25) ~ 2 (1) = j ~ b 2 (1)j j ~ b 2 (1)j = 4 5 (5.26) ~ f 2 (1; 2) = ~ f 2 (0; 1) (0; 1) ~ f 2 (1; 2) j ~ b 2 (1)j + ~ f 2 (1; 2) = 30 4 5 8:48 21:52 + 8:48 = 6:784 (5.27) ~ b 2 (2) = [ ~ f 2 (1; 2) (1; 2) + ~ f 2 (0; 2) (0; 2)] ~ b 2 (2) j ~ b 2 (2)j = [6:784 4 5 + 2:79 1 10 ] 10 10 =5:7062 (5.28) ~ 2 (2) = j ~ b 2 (2)j j ~ b 2 (2)j 0:51 (5.29) Figure 5.9 shows the operation time curve of each node. Through our proposed algorithm, the values are converged to a certain point ( = 2:65), which is the optimal system operation time. Figure 5.9: The operation time of each node in the three-node network at each iteration. 55 Figure 5.10 shows the system operation time curve through the iterations. This curve also reflects the amount of flows affecting by the attenuation. Between the initial state and the first iteration, since the major flows have detected the major arc attenuation, the reduced amount of the system operation time is more than the the one between the first and second iteration. Although new attenuation has been discovered between the first and second iteration, the flow amount is few ( = 2:79). Therefore, the system operation time has not been reduced that much. Figure 5.10: The system operation time of the three-node network at each iteration. 5.3.2 Power Sharing Simulation for the Four-Node Lossy Network Another example is the four-node network. With similar concepts, Figure 5.11 demon- strates the four-node network configuration and the parameters of each node and arc are stated in Table 5.3 and 5.4. 56 Figure 5.11: Four-node lossy network. Node (i) rcc cc 0 150 20 1 150 10 2 160 10 3 120 20 Table 5.3: The information of the remaining charge capacity (rcc) and current consump- tion (cc) of each node i for the four-node network as shown in Figure 5.11. Arc (i;j) capacity (U) cost (c) (1; 0) 60 10 (0; 1) 60 10 (2; 0) 60 20 (0; 2) 60 20 (3; 2) 120 30 (2; 3) 120 30 (1; 2) 120 10 (2; 1) 120 10 (0; 3) 60 30 (3; 0) 60 30 Table 5.4: The information of the capacity (U) and cost (c) of each arc (i;j) for the four-node network as shown in Figure 5.11. Figure 5.12 and Figure 5.13 demonstrate the results after minimum cost flow algo- rithm at the first and second iteration respectively. The green arcs represent where the power goes through. 57 Figure 5.12: The power flow distribution after minimum cost flow algorithm at the first iteration. Figure 5.13: The power flow distribution after minimum cost flow algorithm at the second iteration. With the similar ideas from Figure 5.6, each node adjusts its power sharing amount according to the discovered loss based on the minimum cost paths through the iterations. This is shown in Figure 5.14. The associated flows on the arcs through the iterations are 58 shown in Figure 5.15. From Figure 5.14 and 5.15, interestingly, node 0 at the first iter- ation expects to receive 43:33 unit power ( ~ b (0) =43:33). However, the expected power sharing amount is changed to17:97 unit power since the losses have been dis- covered and in order to maximize the system operation time, node 0 has to reduce its power request. Figure 5.14: The expected power sharing amount of each node in the four-node network at each iteration. 59 Figure 5.15: The expected power flow amount of each arc in the four-node network at each iteration. Also Figure 5.16 and 5.17 show the operation time ( ~ T (i)) and the overall loss esti- mation of each node ( ~ (i)) based on the minimum cost paths through the iterations. Figure 5.16: The operation time of each node of the four-node network at each iteration. 60 Figure 5.17: The loss estimation of each node in the four-node network at each iteration. At last, the estimated optimal system operation time ( ~ T (N;A)) through the itera- tions is demonstrated in Figure 5.18. Figure 5.18: The system operation time of the four-node network at each iteration. 61 5.3.3 Number of Iterations Comparison between Different Sizes of Networks In this chapter, we evaluate the performance of the proposed EM-Based algorithm by looking at the number of iterations with different sizes of networks. Figure 5.19 and Figure 5.20 illustrate a large scale network with the uniform setting of parameters: Figure 5.19: An illustration of a large scale network (1000+ nodes). Figure 5.20: The setting of parameters for the large scale uniform network environment. Figure 5.21 shows that although the network size is getting large, the number of iterations remains the same since the network environment is uniform. In other words, when the source nodes want to send more power to the sink nodes, the power is highly 62 possible to be sent through the routes with similar path loss as the previous iteration. This is so that the loss estimation of each node ((i)) can be converged within a few steps (three steps in this case) as well as the optimal system operation time. Figure 5.21: Number of iterations for EM-Based algorithm between different sizes of networks. In addition, here we demonstrate four kinds of scenarios. The first scenario, as shown in Figure 5.22, the network environment is more diverse and hard to rescue, meaning most of nodes have differentrcc andcc and most links have different high loss and low capacity. The scenario has the highest number of iterations comparing to the other three scenarios. This is because when the source nodes want to send more power to the sink nodes to compensate for the path loss, the power is highly possible to be sent through different routes with very different losses. This situation will make it hard for our proposed method (EM-Based algorithm) to converge because it is highly possible that the loss estimation at each iteration is different. 63 Figure 5.22: The setting of parameters for the diverse network environment. Figure 5.23: The operation time of each node in a selected diverse and hard to rescue network at each iteration. In the second scenario, as shown in 5.24, each link has higher capacity and lower loss when compared to the first scenario. With similar concepts, when the source nodes send more power to the sink nodes, it is highly possible that the power is sent through the same route with the similar loss estimation as the previous iteration. 64 Figure 5.24: The operation time of each node in a selected diverse and easy to rescue network at each iteration. For the third and fourth scenarios as shown in Figure 5.25 and 5.26, the concept is similar, but the only difference is the network environment is more uniform, meaning most of the nodes and links have similar values of parameters. This means our proposed method is even easier to converge than the first and the second scenario. 65 Figure 5.25: The operation time of each node in a selected uniform and hard to rescue network at each iteration. Figure 5.26: The operation time of each node in a selected uniform and easy to rescue network at each iteration. 66 Chapter 6 Reconfiguration 6.1 Introduction Self-reconfigurable modular robots have many unique features. Among these speciali- ties, one of the most significant advantages is reconfiguration, which is a function that can be used for purposes such as efficiency improvement, and loss reduction, among others. In this chapter, we will focus on the system operation time improvement and cost reduction through reconfiguration. For example, Figure 6.1 demonstrates a power shar- ing example that shows the effects after reconfiguration. (a) Power sharing scenario in the original network. (b) Power sharing scenario in the network after reconfiguration. Figure 6.1: The comparison of power sharing between the original network and the network after reconfiguration. 67 As we can see, before the reconfiguration, the power flow sending by node 0 to node 2 needs to pass two edges. After building an additional connection between node 0 and node 2, node 0 can send power directly to node 2 instead of going through node 1. Since the cost has been reduced, the system operation time can be extended. However, in order to make an improvement, the cost of reconfiguration needs to be considered. With the consideration of connection building cost, the choice of new configuration is a non-trivial task. As shown in Figure 6.2, even given the building cost of each new connection, how we choose new configurations with the most improving system operation time is a chal- lenging task. Figure 6.2: SuperBots with caterpillar configuration in the physics-based self- reconfigurable simulator ReMod3D [6]. In this chapter, we create an embedded edge cost containing the information of build- ing cost and use it as the arc cost of the candidates of new connections. With the Mini- mum Mean Cost Cycle approach, we can suggest a new configuration with improvement if possible. 68 6.2 Method 6.2.1 Cost for Building a New Connection If we do not consider the building cost for each new connection, we can simply take the original configuration and transform it to a fully connected network. And then we can just run minimum cost flow algorithm to evaluate which candidates of the new connections have been utilized and then delete the connections that have not been used. The remaining network can then be as the best new configuration. However, as we mentioned before, building a new connection is not free. With the consideration of the building cost, the results might be different. As shown in Figure 6.3, after we consider the building cost of each new connection, there is a possibility that the three new connections shown in Figure 6.3a consume more power than we earn. Instead, we might just build one new connection as shown in Figure 6.3b. (a) Reconfiguration without the consideration of building cost. (b) Reconfiguration with the consideration of building cost. Figure 6.3: The comparison of reconfiguration with and without the consideration of building cost. 69 6.2.2 Brute Force Method Here we introduce a naive approach named brute force method to solve this problem. Usually, for the idea of the brute force method, we need to list all the network config- urations and select the most improved one among the configurations. However, since the building cost information is given, instead of trying all the combinations, we can compute the upper bound of the number of the new connections we can build. In this context the most power we can save is proportional to the cost difference between the original network and the fully connected network. Therefore, we can take the minimum value (bc b (i;j)c) of the building cost information, which is given and use it as the base and compute the upper bound of the number of the new connections we can build (dne) by the following equation. dnebc b (i;j)cmcf(N;A)mcf(N;A ) (6.1) where (N;A ) denotes a fully connected graph. Then we can apply the brute force method and the concept is to try every new possi- ble connection starting from one new connection, two new connections, etc. and record the maximum cost saving amount until the number of the new connections reaches the upper bound (dne). The pseudo code stated in Algorithm 4 summarizes the procedure. However, as shown in equation (6.2), the complexity of this method is very high. n X jKj=1 ( jNj 2jKj jAj)]O(mcf(N;A + K)) (6.2) 6.2.3 Minimum Mean Cost Cycle Approach Since the brute force algorithm for reconfiguration is inefficient, we start to look for other substitute approaches with more efficiency. One of the ideas is to use not too many new connections and reduce the most cost. However, such an idea is actually equivalent 70 ALGORITHM 4: Brute Force Algorithm for Reconfiguration Input:G(N;A);rcc(i),cc(i),B 0 (i),8i2N;c(i;j),U(i;j),8(i;j)2A Output: the new connections (K) with the most path cost improving amount (C max ). 1 LetK represent the new-built connections and initializejKj to 1. 2 Letdne represent the upper bound of the number of the new connections we can build. 3 Let C max represent the most path cost improving amount. 4 whilejKj<dne do 5 while !(Examine all possiblejKj new connections) do 6 Establish the selectedjKj new connections between the selected pairs of nodes which have not been connected yet and apply minimum cost flow algorithm: mcf(N;A +K). 7 if (mcf(N;A)mcf(N;A +K) P K c b )> C max then 8 K = the selected new connections. 9 C max =max((mcf(N;A)mcf(N;A +K) P K c b ); C max ). 10 Reset the network to the original configuration: G(N, A). 11 jKj + + 12 returnK to find a cycle that yields the largest decrease in the objective function. Nevertheless, this has been proven as one of the NP-Complete problems. Instead, we can try to find a relatively good cost improving cycle by using minimum mean cost cycle approach. There are many research papers related to the minimum mean cost cycle. One of the most famous of these is V . Goldberg and R. E. Tarjan [7]. Orlin and Ahuja proposed the algorithm with (O(m p nlog(nW ))) time complexity [31]. Krishnendu Chatterjee introduced an approximating minimum mean cycle method [32]. Kamiel Cornelissen and Bodo Manthey in [33] compared the experiment results of Minimum-Mean Cycle Canceling Algorithm and the Network Simplex Algorithm. The definition of minimum mean cost cycle is to take the sum of the cost of a certain cycle in the network and divide by the number of edges in the cycle. If the value is minimum within all the cycles in the given network, then it is the minimum mean cost cycle. The definition of mean cost value () is shown in equation (6.3) [34] [35] and the minimum mean cost value ( ) can be computed by equation (6.4) [34] [35]. 71 := X e2C c e jCj ; (6.3) whereC represents the cycle in the network (i.e., (N;A)). e represents the edge in C andc e stands for the edge cost for edgee. = min j2N max 0kjNj1 [ d jNj (j)d k (j) nk ]; (6.4) whered jNj (j) represents the total cost or distance starting from an arbitrary desig- nated nodes, walking exactlyjNj edges to the nodej. Similarly,d k (j) represents the total cost or distance starting from an arbitrary designated nodes, but walkingk edges to the nodej. However, this approach implies the building cost of each new connection is similar or the same to each other and such an assumption might not be very realistic in the real world. 6.2.4 Embedded Cost (c 0 ) Since the assumption of similar building cost of each new connection might not be realistic, we provide an approximation by taking the consideration of the building cost of each new connection. What we do is to substitute the cost of each new connection with a different format of cost, here we name it as Embedded Cost (c 0 ), which can be computed by equation (6.5). c 0 =c +c t ; (6.5) wherec represents the regular arc cost andc t stands for the transformed cost. 72 What is the transformed cost? Since the building cost is usually estimated by the overall power consumption and the edge cost is the cost for each unit power, we can esti- mate the transformed cost as equation (6.6) and the concept is to transform the building cost into the regular arc cost. c t = c b f e ; (6.6) wherec b stands for the building cost of a certain new connection andf e stands for the flow passing through the new connection. Here we use an example as shown in Figure 6.4, to illustrate the concept of the transformed cost. Assume the building cost of the new connection (0; 2) is equal to 300. If we do not apply the embedded cost (c 0 ) as the arc cost of the new connection, then we might think the new connection (0; 2) is a good new connection to build. However, after the building cost for the new connection (0; 2) is considered, the total saving amount is actually lower than the building cost. Therefore, the new connection (0; 2) is not even worthy to be built. Figure 6.4: Building a new connection without the setting of embedded cost. However, once we use the embedded cost,c 0 , as the arc cost of the new connection like the network in Figure 6.5. Since no negative cost cycle is formed, there will be no improvement for building such a new connection. 73 Figure 6.5: Building a new connection with the setting of embedded cost. Nevertheless, to know the exact power flow amount for each new connection is dif- ficult. Consequently, it would be difficult as well to compute the transformed cost pre- cisely. So here we can apply an approximation as shown in equation (6.7) by comput- ing the upper bound of the transformed cost (dc t (i;j)e) and the concept is to take the building cost (c b (i;j)) divided by the minimum value between the residual capacity and the arc capacity (min(U f (i;j);U(i;j));8(i;j)2 A). This is because during the minimum mean cost cycle approach, the send back flow might be limited by the bot- tleneck, i.e. the minimum value between the residual capacity and the arc capacity (min(U f (i;j);U(i;j));8(i;j)2 A). Therefore if we are too optimistic, we might get a cycle with positive cost, meaning no improvement. Usually we want to be more con- servative to change the configuration when we are looking for the path cost deduction. In other words, we want to be more pessimistic since we do not want to change the configuration if there is no significant improvement of path cost. dc t (i;j)e = c b (i;j) min(U f (i;j);U(i;j)) ;8(i;j)2A: (6.7) 74 6.3 Example and Simulation Results 6.3.1 Reconfiguration Simulation for the Four-Node Network Here we use an example of four-node network to illustrate our approach. Table 6.1 shows the remaining charge capacity (rcc) at initial state and the given current con- sumption (cc) for each node. Table 6.2 shows the capacity (U) and cost (c) for each arc. Table 6.3 shows the arc parameters of new configuration candidates. Node (i) rcc cc 0 110 30 1 190 10 2 180 30 3 170 20 Table 6.1: The information of the remaining charge capacity (rcc) and current consump- tion (cc) of each node i for the four-node network as shown in Figure 6.6. Arc (i;j) capacity (U) cost (c) (1; 0) 600 30 (0; 1) 600 30 (2; 0) 300 30 (0; 2) 300 30 (3; 1) 600 10 (1; 3) 600 10 Table 6.2: The information of the capacity (U) and cost (c) of each arc (i;j) for the four-node network as shown in Figure 6.6. Arc (i;j) capacity (U) cost (c) building cost (c b ) (0; 3) 500 20 200 (3; 0) 500 20 100 (1; 2) 600 10 200 (2; 1) 600 10 300 (2; 3) 600 30 200 (3; 2) 600 30 300 Table 6.3: The information of the capacity (U), cost (c) and building cost (c b ) of the candidates of the new connections for the four-node network as shown in Figure 6.6. Figure 6.6 demonstrates the initial configuration of four-node network. With source and sink determination procedure from session 3.2.3, we can determine the source nodes with green color and the sink nodes with red color. 75 Figure 6.6: Four-node network illustration for reconfiguration simulation. By using minimum cost flow algorithm, we can obtain the flows on each arc. The green arcs in Figure 6.7 indicate the arcs with flows. The amount of each flow is listed in Figure 6.8 (Step 1). Figure 6.7: The power flow distribution after minimum cost flow algorithm. 76 Figure 6.8: The power flow amount of each arc in the four-node network. After the minimum cost flow procedure, there will be no negative cost cycle existing in the network. However, once we make a fully connected network as shown in Figure 6.9, it would be possible to produce one or more negative cost cycles, which indicates there should be still some rooms for cost reduction. Figure 6.9: Transform to a fully connected four-node network. 77 With the fully connected network, we can apply minimum mean cost cycle approach as mentioned in session 6.2.3. The result is shown in Figure 6.10. The arc (1; 2) with red color indicates the new-built arc and the magenta color arcs stand for the original existing arcs but within the minimum mean cost cycle. Figure 6.10: Suggestion of the new connection after minimum mean cost cycle approach with the setting of embedded cost (c 0 ). Since the yellow arcs are the imaginary new-built arcs and the minimum mean cost cycle from Figure 6.10 does not apply these arcs, the final new configuration result is shown in Figure 6.11. 78 Figure 6.11: The suggested new configuration. Figure 6.12: The suggested minimum mean cost cycle (v 1 -v 2 -v 0 -v 1 ) and the associated improvement in the four-node network. 79 Figure 6.12 shows the numerical results of this reconfiguration task. The key word, minCap = 36:66666, stands for the bottle neck of the minimum mean cost cycle. The cycCost stands for the overall cost of the minimum mean cost cycle and can be com- puted by equation (6.8). X (i;j)2W c(i;j) =c(1; 2) +c residual (0; 2) +c residual (1; 0) =c(1; 2)c(0; 2)c(1; 0) = 10 30 30 =50 (6.8) Therefore, we can compute the improvement of path cost (cx) as shown in equa- tion (6.9), which can be used as the resource for the improvement of the system opera- tion time. cx =min(U f (i;j);U(i;j), where (i;j)2W )( X (i;j)2W c(i;j))c b (1; 2) ' (36:66666)(50) 200 ' 1633:333 (6.9) In equation (6.9),U f (i;j) stands for the residual capacity of arc (i;j),U(i;j) stands for the capacity of arc (i;j) andW stands for the obtained minimum mean cost cycle. 6.3.2 Reconfiguration Simulation for the Six-Node Network Figure 6.13 demonstrates another example, the original configuration of the six-node network. 80 Node (i) rcc cc 0 170 10 1 100 30 2 160 10 3 200 20 4 130 10 5 130 20 Table 6.4: The information of the remaining charge capacity (rcc) and current consump- tion (cc) of each nodei for the six-node net- work as shown in Figure 6.13. Arc (i;j) capacity (U) cost (c) (1; 0) 100 20 (0; 1) 100 20 (2; 0) 100 30 (0; 2) 100 30 (3; 1) 300 20 (1; 3) 300 20 (4; 2) 300 20 (2; 4) 300 20 (5; 3) 300 10 (3; 5) 300 10 (5; 2) 300 20 (2; 5) 300 20 (4; 5) 100 20 (5; 4) 100 20 Table 6.5: The information of the capacity (U) and cost (c) of each arc (i;j) for the six- node network as shown in Figure 6.13. Figure 6.13: Six-node network illustration for reconfiguration simulation. 81 With Table 6.4, 6.5 and the original configuration as shown in Figure 6.13, we can estimate the theoretical maximum system operation time and determine the sources and sinks by using the method stated in session 3.2.1 and 3.2.3. We can then apply minimum cost flow algorithm to find the best power sharing flows. The green arcs in Figure 6.14 demonstrate where the power flows are and Figure 6.15 (Step 1) shows the power flow amount on each arc. Figure 6.14: The power flow distribution after minimum cost flow algorithm. 82 Figure 6.15: The power flow amount of each arc in the six-node network. Then we can transform the original network into a fully connected network as shown in Figure 6.16. The cost of each new connection can be computed by using equation (6.6). Figure 6.16: Transform to a fully connected six-node network. After the transformation stated above, we can apply minimum mean cost cycle approach to find the possible most improving negative cycle. Figure 6.17 demonstrates 83 the results of minimum mean cost cycle approach. The arcs with magenta color are the original existing arcs. The red color arc is the new connection we have added during the network transformation. Figure 6.17: Suggestion of the new connection after minimum mean cost cycle approach with the setting of embedded cost (c 0 ). Figure 6.18 demonstrates the final results of new configuration. In this small scale network experiment, we set the cost for building a new connection to 200 unit power. Through our approach, we can obtain the bottle neck of the minimum mean cost cycle in Figure 6.18 is 58 unit capacity and the total cost of the cycle is -10 unit cost. Therefore, the total improvement with the new-built connection is 380 unit power. 84 Figure 6.18: The suggested new configuration. 85 Chapter 7 Time-Sensitive Scheduling of Resource Sharing 7.1 Introduction In the previous chapters, we assume that the power sharing can be accomplished instantly. However, this assumption might not be realistic, since each power source might have its output current constraint. Moreover, the capacity limitation on each con- nection might cause power sharing cannot be accomplished in one time step. Although before we were able to compute the maximum operation time with the output current constraints, we have not included the capacity constraint and have not introduced how to arrange the power flows step by step. Since power sharing cannot be accomplished instantly due to the constraints, it is important to prioritize the order of power receiving nodes in order to maximize the system operation time. An intuitive idea is to use minimum cost flow algorithm at each time step to plan the flows. Figure 7.1 is an example showing the challenges by using minimum cost flow: Given the capacity 20 of each connection and the output current constraint 20 for each node, if we simply run minimum cost flow algorithm, we can immediately tell that there is no feasible solution for the typical minimum cost flow problem for this given network. 86 Figure 7.1: No feasible solution for typical minimum cost flow algorithm. The other straight forward solution is that we could select some donors and sinks and then apply minimum cost flow algorithm so that there will be a feasible solution at each time step. However, since the goal is to extend the system operation time, it would be very difficult to realize the priority of each node with the limitation of edgy capacity and the output current constraints. Like Figure 7.2, for the next time step, should node 1 send 10 unit power flow to node 3 meanwhile 10 unit power flow to node 4? Or, as shown in Figure 7.3 node 0 should send 15 unit power flow to node 3 meanwhile 5 unit power flow to node 5? Figure 7.2: Selected donor (node 1) and sinks (node 3 and node 4) for power sharing. 87 Figure 7.3: Selected donor (node 0) and sinks (node 3 and node 5) for power sharing. If the network is getting large, there might be several paths from one node to another. Arranging the power flows in order to maximize the system operation time is a very challenging task. In this chapter, we propose a method named Reward-Driven Minimum Cost Flow to do balanced saving of starvation by assigning a different reward to each sink. With our approach, the power sharing scenarios have been prioritized, which also leads to an optimal system operation time. 7.2 Method 7.2.1 Brute Force Approach At first, we do not know how to arrange the power flows at each time step, so we take a very simple example as shown in Figure 7.4 and list all the possible power sharing scenarios. We then record the scenario with the maximum system operation time. 88 Figure 7.4: Four-node network illustration for brute force approach. However, it’s a challenging task to list all the combinations: Firstly, due to the output current and the edge capacity constraints, we need to arrange the power sharing order for each donor. Consequently, we can either do the order of (node 0, node 1) or (node 1, node 0). The second problem is how much power each donor should distribute to the sinks. Assume the output current constraint is 10 and the power step, f, i.e. the power sharing resolution, is 5 units, so the donor can either do 0, 5 or 10 unit power to each sink, but limited by its output current constraint. For example, node 1 only got 10 units of power to share, so node 1 can send either 0, 5 or 10 units of power to the sinks. The third problem is the route selection, each donor can use BFS to find all possible routes to the designated sink. For example: from node 1 to node 2, the donor can choose either node 1! node 2 or node 1! node 0! node 3! node 2 paths. Here we illustrate several power sharing actions as shown in Figure 7.5. As we can see, at the time step 1, we can choose node 0 sending 10 unit power to node 3 or node 1 sending 10 unit power to node 2 and so on and so forth. 89 Figure 7.5: Power sharing action expansion for brute force approach. Of course, the complexity is exponential as shown in equation (7.1). This is why we may need to develop a more efficient algorithm to solve this problem. O([(jN b>0 j!)[ Y i2N b i >0 ( (p i +jN b<0 j 1)! p i ! (jN b<0 j1)! ) (jN b>0 j) ](jNj +jAj) jN b<0 j ] T (N;A) ); (7.1) where p i = P i2b(i)>0 b(i) f = total power sharing amount for theDonor i power sharing resolution (7.2) jN b>0 j = the number of donor. (7.3) jN b<0 j = the number of sink. (7.4) 7.2.2 Observation from the Brute Force Method Although the brute force method is not a good approach, we actually observe some valuable scenarios and can use them to develop a more efficient algorithm: 90 Maximum Flow at Each Time Step Since we are not sure if each donor is able to accomplish its power sharing task before the whole system out of power, in order to maximize the system operation time, it would be better at each time step to maximize the power flows from the donors to the sinks. This is because our first priority is to maximize the system operation time. From the example showing in Figure 7.6, we can realize that instead of taking two steps to send power and each time step is minimum cost path as shown in Figure 7.6a, we would rather to send as much power as possible like Figure 7.6b. This is due to the fact that we do not know if the whole donating power can be delivered to the sinks before they run out of power. (a) Non-maximum power flow example. (b) Maximum power flow example. Figure 7.6: The comparison of non-maximum and maximum power flow. 91 Balanced Saving of Starvation Also, if we fix the role of each node, sending power to the sinks based on the order of the operation time (from low to high) will maximize the system operation time. From an intuitive point of view, if one of the sinks with the fewest operation time is left behind, the sink has to be charged at a certain point. Without such procedure the whole sys- tem might stop operation because of this particular sink. Therefore, we adopt balanced saving of starvation and the concept is explained as the followings: As shown in Figure 7.7, the power flows will go to the weakest sinks until the oper- ation time of each weakest sink is equal to the second weakest sinks. They will then simultaneously level up. With this concept, the power will be first sent to sink 3 where the operation time is the second fewest in the system until its operation time is equal to sink 1’s. They will then simultaneously level up together and so on and so forth. Figure 7.7: Balanced saving of starvation illustration. We can easily tell if the resource distribution does not follow this strategy, the system operation time might be less or equal to its optimal value. Let’s take the step 2 as the example, if we take a green brick (partial power) from sink 3 to another sink, the system 92 operation time will be dominated by the operation time of sink 3 and will be less than the maximum system operation time. People might claim what if we do not apply balanced saving of starvation power sharing strategy, each sink might be able to obtain more power at each time step? One of the reason is the system operation time is dominated by the weakest node. Even one sink got boost to its operation time, the system might still stop operation due to some sinks without any boost. Furthermore, with our approach, the sinks with the fewest operation time are leveled up simultaneously, meaning the system operation time is also improved step by step. However, without this strategy, the system operation time is improved only after all sinks with the fewest operation time receive power. The second reason is that assume eventually every sink got boost, the effect actually is the same as our approach. For example, assume the maximum flow is 30 units of power at each time step and there are 3 sinks. 30 units of power sending to sink 1 at time step 1, 30 units of power sending to sink 2 at time step 2 and 30 units of power sending to sink 3 at time step 3 is the same as 10 units of power sending to each sink and repeat 3 times. Here we use the following lemma to conclude this idea: Lemma 2. Given a connected network with a fixed donating power amount and fixed set of sink nodes,R. Through the balanced saving of starvation power sharing policy, named ^ , the system operation time can be maximized. Proof: Here we user i to represent each sink node, wherer i 2 R,i = 0; 1; 2;:::n andT (r 0 )T (r 1 )T (r 2 );T (r n ). According to the concept of balanced saving of starvation, we can equalize the operation time of some sinks which is the subset of R: r 0 ,r 1 ,r 2 , . . .r k , wherek n. We can use the following equation to represent the results after the balanced saving of starvation power sharing policy, ^ : 93 rcc(r 0 ) + rcc(r 0 ) cc(r 0 ) = rcc(r 1 ) + rcc(r 1 ) cc(r 1 ) = = rcc(r k ) + rcc(r k ) cc(r k ) ; (7.5) where rcc(r i ); i = 0; 1; 2;:::k represents the power amount which the node i received from the donors based on the balanced saving of starvation power sharing pol- icy, ^ . For other power sharing policy, we can list the equation as the followings without the loss of generality: rcc(r 0 ) + 0 rcc(r 0 ) cc(r 0 ) rcc(r 1 ) + 0 rcc(r 1 ) cc(r 1 ) = rcc(r k ) + 0 rcc(r k ) cc(r k ) ; (7.6) where 0 rcc(r i ); i = 0; 1; 2;:::k represents the power amount which node i received from the donors based on a certain kind of power sharing policy, ~ . Let equation (7.6) minus equation (7.5) and obtain equation (7.7). (r 0 ) cc(r 0 ) (r 1 ) cc(r 1 ) (r k ) cc(r k ) (7.7) Since the donating power amount is the same for both power sharing policies, ^ and ~ , the following equation is established: X i (r i ) = 0; i = 0; 1; 2;:::k: (7.8) With equation (7.7) and (7.8), we can derive the following inequality: (r 0 )(r 1 ):::(r m ) 0(r m+1 )(r k ): (7.9) Since the system operation time is dominated by the fewest operation time of the node within the network, according to equation (7.9), we can derive the following equa- tion and establish lemma 2. 94 rcc(r 0 ) + rcc(r 0 ) cc(r 0 ) = rcc(r 1 ) + rcc(r 1 ) cc(r 1 ) = = rcc(r k ) + rcc(r k ) cc(r k ) rcc(r m+1 ) + 0 rcc(r m+1 ) cc(r m+1 ) rcc(r k ) + 0 rcc(r k ) cc(r k ) (7.10) 7.2.3 Reward-Driven Minimum Cost Flow Based on the two concepts from section 7.2.2, here we provide an approach, named Reward-Driven Minimum Cost Flow. We will use Figure 7.8 as an example showing the following three processes which are the main parts of Reward-Driven Minimum Cost Flow. Figure 7.8: The original network with remaining charge capacity (rcc) and current con- sumption (cc) information. Power Sharing Role Determination Given a network as shown in Figure 7.8, to start the power sharing, we can apply the algorithm mentioned in section 3.2.1 and 3.2.3 to estimate the resource and determine the role for each node in the network. After this process, as shown in Figure 7.9, the green color node stands for the role of donor and the red color node stands for the role of sink. Figure 7.9:s-t determination for power sharing. 95 Sink Splitting After the process of role determination, we can transform each sink into a neutral node with blue color showing in Figure 7.10, connecting with several small sinks and set a negative cost edge connecting between each split small sink and the neutral node. Here we can treat the negative cost as the rewards. That’s why we call this method as Reward- Driven Minimum Cost Flow. As we can see, here we use 10 units as the power step or the power resolution. For example, node 0 is split up into node 5 and node 6, each one with 10 unit power requirement. From the concept mentioned in section 7.2.2, the power will be filled in the deepest gap first, that’s why we set the most negative cost (-2C, where C 1 ) to the link connecting between node 0 and node 5 for the first 10 unit power requirement from node 5. For the second 10 unit power requirement from node 6, since it is the second priority, we avoid setting the link cost too negative but set it to -C. Similarly, the rule can be applied to node 7, node 8 and node 9. After this transformation, once we run minimum cost flow algorithm, the flows will be maximized to get the rewards and feed the sinks in the way introduced in section 7.2.2. Figure 7.10: Sink splitting illustration. 96 Remaining Power Flows Collection However, because of the output current constraints and limited edge capacity, the donors might not be able to deliver all the power that is expected to be sent out to the sinks. Unfortunately, this is unavoidable at times. Therefore, as shown in Figure 7.11, we create a satellite node (node 10) connecting to all the donors and sinks that have very high cost edges for collecting all the flows. At the next time step, we can take the collected power flows and repeat the three processes. Figure 7.11: Illustration of remaining power flows collection. 7.2.4 Sink Splitting Resolution Enhancement Although with Reward-Driven Minimum Cost Flow, we can fulfill the concepts men- tioned in section 7.2.2. However, there is a problem: sometimes, the power resolution is not high enough. For example, from Figure 7.11, at the beginning node 1 will send 10 unit power to node 5 and 10 unit power from node 2 to node 8. At the next time step, node 1 will send 10 unit power to node 6. However, since the maximum power that node 2 can send is 10, but there are 2 nodes there: node 7 and node 9, both are waiting for 10 unit power. Therefore, to deal with this issue, we can increase the resolution for sink splitting. In Figure 7.12, node 7 can split itself into two nodes: node 7 and node 12, with different 97 negative cost edges connecting to node 3 and each edge has 5 unit capacity. Similarly, node 9 can be split up into node 9 and node 13. Figure 7.12: Illustration of resolution enhancement for sink splitting. With this transformation, we are able to accomplish the maximum flow with bal- anced saving of starvation. Furthermore, we can manipulate the arc cost value based on our objective. In this example, we assign negative cost to each arc connecting to each small sink and separate each other with a huge gap. However, if we make the gap smaller, the results might be different. For example, the donors might try to save as many nodes as possible instead of focusing on the node with the weakest operation time. 7.3 Example and Simulation Results 7.3.1 Time-Sensitive Scheduling of Resource Sharing Simulation for the Five-Node Network We start with an example of five-node network to illustrate our approach. Table 7.1 shows the remaining charge capacity (rcc) at initial state and the given current con- sumption (cc) for each node. Table 7.2 shows the capacity (U) and cost (c) for each arc. 98 Node (i) rcc cc 0 190 10 1 80 30 2 100 30 3 180 30 4 160 30 Table 7.1: The information of the remaining charge capacity (rcc) and current consump- tion (cc) of each nodei for the five-node net- work as shown in Figure 7.13. Arc (i;j) capacity (U) cost (c) (1; 0) 20 10 (0; 1) 20 10 (2; 1) 30 20 (1; 2) 30 20 (3; 0) 20 30 (0; 3) 20 30 (4; 2) 20 30 (2; 4) 20 30 (3; 4) 30 10 (4; 3) 30 10 (1; 4) 30 20 (4; 1) 30 20 Table 7.2: The information of the capacity (U) and cost (c) of each arc (i;j) for the five- node network as shown in Figure 7.13. With Table 7.1, 7.2 and the original configuration as shown in Figure 7.13, we can estimate the theoretical maximum system operation time and determine where the sources and sinks are and their associated power sharing amounts by using the method stated in session 3.2.1 and 3.2.3. Figure 7.13: Five-node network illustration for time-sensitive scheduling simulation. 99 Once we know the the power sharing (receiving) amount of each sink, we can apply sink splitting method as we mentioned in session 7.2.3. Figure 7.14 illustrates the results of sink splitting process. In this case, we set sink splitting resolution as 10 units and node 1 requires about 84 unit power. Therefore, eight small sinks with red color, i.e. node 1 0, node 1 1, node 1 2 to node 1 9, as shown in Figure 7.14 are created. Among these arcs, each arc connecting from one of the small sinks to node 1 is assigned different negative cost so that at each step, the power sharing behavior will be prioritized. Similarly, node 2 requires 64 units of power and six small sinks are created consequently. Figure 7.14: Sink splitting illustration for the five-node network at the first time step. Since the power might not be able to be sent out at one time step due to limited capac- ity of each arc. After sink splitting process, we need to apply the process of remaining power flows collection as mentioned in session 7.2.3. As shown in Fiure 7.15, we use a node with yellow color, namedSatellite, connecting to each donor and sink with the yellow arcs. We set very high cost value to each yellow arc. Based on this setup, the donors will send power through the yellow arcs to the sinks only when they are not able to send the power out through the light blue and magenta arcs. 100 Figure 7.15: Illustration of remaining power flows collection for the five-node network at the first time step. After we apply minimum cost flow algorithm as shown in Figure 7.16, the donor, node 0, sends power through arc (0; 1) and also through arc (0; 3), (3; 4), (4; 1) to the small sinks connecting to node 1. Sincec(0; 1) = 10, it would be natural to saturate arc (0; 1) with power flow, i.e.f(0; 1) = 20. On the other hand, arc (3; 4) is saturated as well since the donors, node 0 and node 3, would maximize their sharing power and prevent it from entering the arcs connecting to theSatellite node. Here we can observe that instead of full amount of power flow from arc (3; 4) going through arc (4; 1) to the split sinks connecting to node 1, but going through arc (4; 2) to one of the split sink, node 2 5, even arc (4; 1) has a smaller cost than arc (4; 2). 101 Figure 7.16: The power flow distribution after minimum cost flow algorithm for the five-node network at the first time step. With the similar concepts from the first time step, Figure 7.17 shows the results of sink splitting and remaining power flows collection at the second time step. Figure 7.17: Illustration of sink splitting and remaining power flows collection for the five-node network at the second time step. 102 After the first time step, since the power requests of some small sinks are satisfied, Figure 7.18 shows the overall number of small sinks is reduced, i.e. originally node 1 got seven small sinks, but now the number of small sinks reduces to two. Similarly, node 2 reduces the number of small sinks from six to three. Figure 7.18: The power flow distribution after minimum cost flow algorithm for the five-node network at the second time step. Figure 7.19 shows the power flow amount of each arc at each time step. We can observe the power flows look like several pulses since some power flows have to take turns to be transmitted through certain arcs. 103 Figure 7.19: The power flow amount of each arc in the five-node network at each time step. Figure 7.20 and 7.21 summarize the results of Reward-Driven Minimum Cost Flow. From Figure 7.21, we can tell the power sharing task can be accomplished within two time steps, which implies that the path cost could be further reduced by repeatedly sending the power flow(s) through the same path(s) instead of maximizing power flows at each time step. 104 Figure 7.20: The remaining charge capacity of each node in the five-node network at each time step. Figure 7.21: The operation time of each node in the five-node network at each time step. 105 7.3.2 Time-Sensitive Scheduling of Resource Sharing Simulation for the Six-Node Network Here we illustrate another example, the six-node network as shown in Table 7.3, 7.4 and Figure 7.22 to demonstrate our proposed algorithm. Node (i) rcc cc 0 140 10 1 140 10 2 130 10 3 170 20 4 160 30 5 140 20 Table 7.3: The information of the remaining charge capacity (rcc) and current consump- tion (cc) of each nodei for the six-node net- work as shown in Figure 7.22. Arc (i;j) capacity (U) cost (c) (1; 0) 10 10 (0; 1) 10 10 (2; 1) 20 20 (1; 2) 20 20 (3; 0) 20 30 (0; 3) 20 30 (4; 2) 10 10 (2; 4) 10 10 (5; 3) 30 30 (3; 5) 30 30 (2; 0) 10 30 (0; 2) 10 30 Table 7.4: The information of the capacity (U) and cost (c) of each arc (i;j) for the six- node network as shown in Figure 7.22. Figure 7.22: Six-node network illustration for time-sensitive scheduling simulation. 106 Figure 7.23 and 7.24 show the results after sink splitting and remaining power flows collection respectively at the first time step. Figure 7.23: Sink splitting illustration for the six-node network at the first time step Figure 7.24: Illustration of remaining power flows collection for the six-node network at the first time step. From Figure 7.25, at the first time step, there are two sinks (node 4 and node 5) and three donors (node 1, node 2 and node 0), however, due to the capacity limitation, 107 i.e. U(2; 4) = 10, only node 4 9 can receive 10 units of power. Similarly, the capacity limitation of arc (0; 3) is 20, i.e. U(0; 3) = 20. Therefore, only node 5 1 and node 5 2 can receive 10 unit power for each. At this moment, the power flows from the donors to the sinks are maximized, the rest power which the donors are not able to send out has to go through the very high cost yellow arcs and then reach the sinks. Since the arcs connecting to theSatellite node are imaginary, the power flows on the arcs are left for the next time step. In summary, the arcs (2; 4), (0; 3), (3; 5) and the arcs connecting to theSatellite node with green color in Figure 7.25 represent the arcs with power flow. Figure 7.25: The power flow distribution after minimum cost flow algorithm for the six-node network at the first time step. The process is similar at the second time step, except we re-evaluate the role of each node. As shown in Figure 7.26, comparing to other nodes, the role of node 5 now is not a sink anymore, so it does not have to carry out sink splitting process. On the other hand, node 4 is still a sink, so after the sink splitting process, six small sinks are generated, i.e. node 4 0 to node 4 5. 108 Figure 7.26: Illustration of sink splitting and remaining power flows collection for the six-node network at the second time step. Again, since arc (2; 4) only got 10 unit capacity and there is no other way from the donors to node 4 except for the high cost yellow arcs connecting toSatellite node, only arc (2; 4) and high cost arcs contain power flows as shown in Figure 7.27. 109 Figure 7.27: The power flow distribution after minimum cost flow algorithm for the six-node network at the second time step. With the similar procedure, at the third time step, Figure 7.28 demonstrates the net- work after sink splitting, satellite creation and remaining power flows collection but with fewer small sinks and Figure 7.29 shows the results of power flow distribution after minimum cost flow algorithm. Similarly, Figure 7.30 and 7.31 illustrate the same idea but with only one small sink at the fourth time step. 110 Figure 7.28: Illustration of sink splitting and remaining power flows collection for the six-node network at the third time step. Figure 7.29: The power flow distribution after minimum cost flow algorithm for the six-node network at the third time step. 111 Figure 7.30: Illustration of sink splitting and remaining power flows collection for the six-node network at the fourth time step. Figure 7.31: The power flow distribution after minimum cost flow algorithm for the six-node network at the fourth time step. 112 Figure 7.32 shows the power flow of each arc at each time step. As we can see, arc (2; 4) is always full with power flow since node 4 has the fewest operation time comparing to the other nodes, at each time step. Figure 7.32: The power flow amount of each arc in the six-node network at each time step. Figure 7.33 shows thercc value change for each node through each time step. For this example, at time step 6, each node almost has the samercc value close to zero which explains the donors almost send out their budget to the sinks. 113 Figure 7.33: The remaining charge capacity of each node in the six-node network at each time step. It is even more apparent in Figure 7.34. It is worth to mention for time step two, as we can see, except for node 4, the operation time of each node has been equalized. Although we propose the method of balanced saving of starvation in order to maximize the system operation time. However, in the real world, there might be some situations that the system might need to give up some nodes (modular robots) in order to save cost or simply due to the fact that there is no time to share at all! Our approach actually provides a good reference for this difficult decision. 114 Figure 7.34: The operation time of each node in the six-node network at each time step. 115 Chapter 8 Contributions and Future Work 8.1 Contributions This chapter concludes our contributions and can be categorized as the following: The first contribution is a distributed computation framework. It is designed for the estimation of the optimal robotic system operation time and associated resource sharing amount, which can serve as an optimal case for the future related research works. The second contribution is to include the source supply rate constraints. Even with such a constraint, we are still able to estimate the optimal robotic system operation time and the associated resource sharing amount in both centralized and distributed manners. The third contribution is to demonstrate an interaction in a lossy robotic network. Each robot is able to estimate the optimal robotic system operation time, the associ- ated resource sharing amount, and the flow and cost in centralized as well distributed scenarios. The fourth contribution is to suggest a new configuration with the improvement of robotic system operation time. The fifth contribution is to provide a generalized resource sharing framework for the robotic network. We are able to optimize the robotic system operation time even when the total sharing resource is larger than the total link capacity or maximum flow amount. The proposed method in each chapter has its own speciality. As a result of integrating these features, we have created a generalized framework for future research related to resource allocation and field sharing. 116 Here we summarize our contributions in Table 8.1 and 8.2. Research Topic Contributions Near-Optimal Dynamic Power Sharing Create Generalized Power Sharing Model Theoretical Maximum System Operation Time Source and Sink Determination Distributed Near-Optimal Dynamic Power Sharing Algorithm Maximal Operation Time Estimation with Output Current Constrains Proof of Optimal System Operation Time under the Constraints Centralized ^ T Algorithm Distributed ^ T Algorithm Large Scale Network Simulation for Distributed ^ T Algorithm Resource Sharing through Lossy Network EM-Based Algorithm for Resource Sharing in Lossy Network Maximum Operation Time Estimation with (i) Distributed (i) Estimation Evaluation in Large Scale Lossy Network Reconfiguration Brute Force Approach Minimum Mean Cost Cycle Approach for Reconfiguration Building Cost (c b ) Transformation Embedded Cost (c 0 ) Creation and Approximation Table 8.1: Summary of contributions part I. 117 Research Topic Contributions Time-Sensitive Scheduling of Resource Sharing Proof of the Optimality of Balanced Saving of Starvation Sink Splitting Method Satellite Node Creation Reward-Driven Minimum Cost Flow Table 8.2: Summary of contributions part II. 8.2 Future Work 8.2.1 Battery Power and Power Consumption Information In hardware circuits, we can easily detect the voltage level. However, the voltage level does not always reflect the real remaining charge capacity. In simulation, we can assume that the remaining charge capacity and the current consumption of each modular robot are given. Nevertheless, it would be difficult to detect the remaining charge capacity of each modular robot in real time. In addition, a relatively good estimation of the power consumption of each modular robot would be required in order to enhance the precision of the estimation regarding the optimal system operation time. 8.2.2 Grouped Power Sharing In the previous discussion, we focus primarily on maximizing the lifespan of the network by saving all the sinks. However, in the real world, it might not be practical to save all the nodes in such manner since the power loss might be enormous between some of the donors and the sinks. Consequently, consolidating the power sharing area or properly giving up some sinks might make the proposed scheme more practical. 118 However, to locate one or multiple groups is very challenging since it depends on the status of each node and network condition. These factors may contain constraints such as path loss, limited capacity, and limited resource supply rate. 8.2.3 Communication Elimination Between Modules The communication between modules involved in our proposed methods might con- sume a certain amount of power (not currently modeled in simulation). Reducing the communication between the modules in the proposed methods will have a direct impact on the actual running time of the physical system. 119 References [1] C.-A. Chen, T. Collins, and W.-M. Shen, “A near-optimal dynamic power shar- ing scheme for self-reconfigurable modular robots,” in 2016 IEEE International Conference on Robotics and Automation (ICRA), Stockholm, Sweden, May 2016. [2] C.-A. Chen, T. Collins, and W.-M. Shen, “Maximal operation time estimation for modular and self-reconfigurable robots with output current constraints,” in 2017 3rd International Conference on Control, Automation and Robotics (ICCAR), April 2017. [3] W.-M. Shen, H. Chiu, M. Rubenstein, and B. Salemi, “Rolling and climbing by the multifunctional superbot reconfigurable robotic system,” in Space Technology and Applications International Forum-STAIF 2008, Melville, NY , Feb. 2008, pp. 839–848. [4] B. Salemi, P. Will, and W.-M. Shen, “Autonomous discovery and functional response to topology change in self-reconfigurable robots,” in Complex Engineer- ing Systems: Science Meets Technology, D. Braha, A. A. Minai, and Y . Bar-Yam, Eds. Springer Verlag, 2006, pp. 364–384. [5] C.-A. Chen, A. Kamimura, L. Barrios, and W.-M. Shen, “Dynamic power sharing for self-reconfigurable modular robots,” Oxford, UK, Aug. 2013. [6] T. Collins, N. O. Ranasinghe, and W.-M. Shen, “Remod3d: A high-performance simulator for autonomous, self-reconfigurable robots,” in 2013 IEEE/RSJ Interna- tional Conference on Intelligent Robots and Systems (IROS), Tokyo, Japan, Nov. 2013. [7] A. V . Goldberg and R. E. Tarjan, “Finding minimum-cost circulations by canceling negative cycles,” J. ACM, vol. 36, no. 4, pp. 873–886, Oct. 1989. [Online]. Available: http://doi.acm.org.libproxy2.usc.edu/10.1145/76359.76368 [8] R. F. M. Garcia, A. Lyder, D. J. Christensen, and K. Stoy, “Reusable electronics and adaptable communication as implemented in the odin modular robot,” in Proceedings of the 2009 IEEE international conference on Robotics and 120 Automation, ser. ICRA’09. Piscataway, NJ, USA: IEEE Press, 2009, pp. 3991– 3997. [Online]. Available: http://dl.acm.org/citation.cfm?id=1703775.1704090 [9] M. E. Karagozler, J. D. Campbell, G. K. Fedder, S. C. Goldstein, M. P. Weller, and B. W. Yoon, “Electrostatic latching for inter-module adhesion, power transfer, and communication in modular robots,” in Proceedings of the IEEE International Conference on Intelligent Robots and Systems (IROS ’07), October 2007. [Online]. Available: http://www.cs.cmu.edu/ claytronics/papers/karagozler-iros07.pdf [10] B. Kirby, B. Aksak, S. C. Goldstein, J. F. Hoburg, T. C. Mowry, and P. Pillai, “A modular robotic system using magnetic force effectors,” in Proceedings of the IEEE International Conference on Intelligent Robots and Systems (IROS ’07), October 2007. [Online]. Available: http://www.cs.cmu.edu/ claytronics/papers/ bkirby-iros07.pdf [11] T. D. Ngo and H. Schioler, “Sociable mobile robots through self-maintained energy,” in Systems, Man and Cybernetics, 2006. SMC ’06. IEEE International Conference on, vol. 3, Oct 2006, pp. 2012–2017. [12] R. H. Qadir, Self-Sufficiency of an Autonomous Reconfigurable Modular Robotic Organism. Springer Publishing Company, Incorporated, 2014. [13] H. Qadir Raja and O. Scholz, “Dynamic Power Distribution and Energy Manage- ment in a Reconfigurable Multi-Robotic Organism,” ArXiv e-prints, July 2012. [14] M. Klein, “A primal method for minimal cost flows with applications to the assignment and transportation problems,” Management Science, vol. 14, no. 3, pp. 205–220, 1967. [Online]. Available: http://www.jstor.org/stable/2628396 [15] W. S. Jewell, “Optimal flow through networks,” in Interim technical report (MIT Project on Fundamental Investigations in Methods of Operations Research), no. 8.), 1958. [16] L. R. Ford and D. R. Fulkerson, “Solving the transportation problem,” Management Science, vol. 3, no. 1, pp. 24–32, 1956. [Online]. Available: http://www.jstor.org/stable/2627172 [17] J. Edmonds and R. M. Karp, “Theoretical improvements in algorithmic efficiency for network flow problems,” J. ACM, vol. 19, no. 2, pp. 248–264, Apr. 1972. [Online]. Available: http://doi.acm.org.libproxy1.usc.edu/10.1145/321694. 321699 [18] P. H. Nguyen, W. L. Kling, G. Georgiadis, M. Papatriantafilou, L. A. Tuan, and L. Bertling, “Distributed routing algorithms to manage power flow in agent-based active distribution network,” in 2010 IEEE PES Innovative Smart Grid Technolo- gies Conference Europe (ISGT Europe), Oct 2010, pp. 1–7. 121 [19] B. Kim and O. Lavrova, “Optimal power flow and energy-sharing among multi- agent smart buildings in the smart grid,” in 2013 IEEE Energytech, May 2013, pp. 1–5. [20] K. D. Wayne, “A polynomial combinatorial algorithm for generalized minimum cost flow,” Math. Oper. Res., vol. 27, no. 3, pp. 445–459, Aug. 2002. [Online]. Available: http://dx.doi.org/10.1287/moor.27.3.445.313 [21] J. D. Oldham, “Combinatorial approximation algorithms for generalized flow problems,” Journal of Algorithms, vol. 38, no. 1, pp. 135 – 169, 2001. [Online]. Available: http://www.sciencedirect.com/science/article/pii/S0196677400911301 [22] S. I. Daitch and D. A. Spielman, “Faster approximate lossy generalized flow via interior point algorithms,” CoRR, vol. abs/0803.0988, 2008. [Online]. Available: http://arxiv.org/abs/0803.0988 [23] B. Moridian, D. Bennett, N. Mahmoudian, R. Robinett, and W. W. Weaver, “Design of mobile microgrid’s hierarchy for power distribution,” in ASME 2015 Dynamic Systems and Control Conference, Columbus, Ohio, USA, 2015. [24] R. Rajaram, K. Sathish Kumar, and R. Natarajan, “Power system reconfiguration in a radial distribution network for reducing losses and to improve voltage pro- file using modified plant growth simulation algorithm with distributed generation (dg),” vol. 1, 11 2015. [25] R. Syahputra, I. Robandi, and M. Ashari, “Reconfiguration of distri- bution network with distributed energy resources integration using pso algorithm,” TELKOMNIKA, vol. 13, no. 3, pp. 759–766, 09 2015, copy- right - Copyright Ahmad Dahlan University Sep 2015; Last updated - 2016-07-23. [Online]. Available: http://libproxy.usc.edu/login?url=https: //search-proquest-com.libproxy1.usc.edu/docview/1805279089?accountid=14749 [26] Z.-S. Peng, Q.-G. Gong, Y .-Y . Duan, Y . Wang, and Z.-Q. Gao, “Study of a disaster relief troop’s transportation problem based on minimum cost maximum flow,” in Advances in Internetworking, Data & Web Technologies, L. Barolli, M. Zhang, and X. A. Wang, Eds. Cham: Springer International Publishing, 2018, pp. 721–733. [27] N. Kamra, T. K. S. Kumar, and N. Ayanian, “Combinatorial problems in multi- robot battery exchange systems,” IEEE Transactions on Automation Science and Engineering, vol. 15, no. 2, pp. 852–862, April 2018. [28] E. Nasrabadi and S. M. Hashemi, “Minimum cost time-varying network flow problems,” Optimization Methods and Software, vol. 25, no. 3, pp. 429–447, 2010. [Online]. Available: http://dx.doi.org/10.1080/10556780903239121 122 [29] G. Li, L. Zhang, and Z. Wang, “Optimization and planning of emergency evacua- tion routes considering traffic control,” vol. 2014, p. 164031, 05 2014. [30] T. Collins and W.-M. Shen, “Rebots: A drag-and-drop high-performance simulator for modular and self-reconfigurable robots,” in ISI Technical Reports, November 2016. [31] J. B. Orlin and R. K. Ahuja, “New scaling algorithms for the assignment and minimum mean cycle problems,” Mathematical Programming, vol. 54, no. 1, pp. 41–56, Feb 1992. [Online]. Available: https://doi.org/10.1007/BF01586040 [32] K. Chatterjee, M. Henzinger, S. Krinninger, V . Loitzenbauer, and M. A. Raskin, “Approximating the minimum cycle mean,” Theor. Comput. Sci., vol. 547, pp. 104– 116, Aug. 2014. [Online]. Available: http://dx.doi.org/10.1016/j.tcs.2014.06.031 [33] K. Cornelissen and B. Manthey, “Smoothed analysis of the minimum-mean cycle canceling algorithm and the network simplex algorithm,” in Computing and Com- binatorics, D. Xu, D. Du, and D. Du, Eds. Cham: Springer International Pub- lishing, 2015, pp. 701–712. [34] R. K. Ahuja, T. L. Magnanti, and J. B. Orlin, Network Flows: Theory, Algorithms, and Applications. Upper Saddle River, NJ, USA: Prentice-Hall, Inc., 1993. [35] W. Hochst¨ attler and A. Schliep, CATBox. An interactive course in combinatorial optimization, 01 2010. 123
Abstract (if available)
Linked assets
University of Southern California Dissertations and Theses
Conceptually similar
PDF
Dynamic power sharing for self-reconfigurable modular robots
PDF
Self-reconfiguration planning for modular robots
PDF
Energy efficient design and provisioning of hardware resources in modern computing systems
PDF
Scheduling and resource allocation with incomplete information in wireless networks
PDF
Adaptive sampling with a robotic sensor network
PDF
Design of low-power and resource-efficient on-chip networks
PDF
Self-assembly and self-repair by robot swarms
PDF
Relative positioning, network formation, and routing in robotic wireless networks
PDF
Optimal resource allocation and cross-layer control in cognitive and cooperative wireless networks
PDF
Quantum computation in wireless networks
PDF
Efficient techniques for sharing on-chip resources in CMPs
PDF
Learning, adaptation and control to enhance wireless network performance
PDF
Performance improvement and power reduction techniques of on-chip networks
PDF
Energy-efficient computing: Datacenters, mobile devices, and mobile clouds
PDF
Elements of robustness and optimal control for infrastructure networks
PDF
Auction and negotiation algorithms for cooperative task allocation
PDF
Variation-aware circuit and chip level power optimization in digital VLSI systems
PDF
Memristor device engineering and memristor-based analog computers for mobile robotics
PDF
Optimal distributed algorithms for scheduling and load balancing in wireless networks
PDF
Scalable evacuation routing in dynamic environments
Asset Metadata
Creator
Chen, Chi-An
(author)
Core Title
Intelligent near-optimal resource allocation and sharing for self-reconfigurable robotic and other networks
School
Viterbi School of Engineering
Degree
Doctor of Philosophy
Degree Program
Computer Science
Publication Date
03/15/2019
Defense Date
11/19/2018
Publisher
University of Southern California
(original),
University of Southern California. Libraries
(digital)
Tag
OAI-PMH Harvest,power allocation,power sharing,resource allocation,resource sharing,robotic network,robotics,Robots,self-reconfigurable modular robots
Format
application/pdf
(imt)
Language
English
Contributor
Electronically uploaded by the author
(provenance)
Advisor
Shen, Wei-Min (
committee chair
), Carlsson, John Gunnar (
committee member
), Nakano, Aiichiro (
committee member
)
Creator Email
jotaro.chen.jp@gmail.com,jotaro.chen@gmail.com
Permanent Link (DOI)
https://doi.org/10.25549/usctheses-c89-134267
Unique identifier
UC11675685
Identifier
etd-ChenChiAn-7039.pdf (filename),usctheses-c89-134267 (legacy record id)
Legacy Identifier
etd-ChenChiAn-7039.pdf
Dmrecord
134267
Document Type
Dissertation
Format
application/pdf (imt)
Rights
Chen, Chi-An
Type
texts
Source
University of Southern California
(contributing entity),
University of Southern California Dissertations and Theses
(collection)
Access Conditions
The author retains rights to his/her dissertation, thesis or other graduate work according to U.S. copyright law. Electronic access is being provided by the USC Libraries in agreement with the a...
Repository Name
University of Southern California Digital Library
Repository Location
USC Digital Library, University of Southern California, University Park Campus MC 2810, 3434 South Grand Avenue, 2nd Floor, Los Angeles, California 90089-2810, USA
Tags
power allocation
power sharing
resource allocation
resource sharing
robotic network
robotics
self-reconfigurable modular robots