Close
About
FAQ
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
/
Relative positioning, network formation, and routing in robotic wireless networks
(USC Thesis Other)
Relative positioning, network formation, and routing in robotic wireless networks
PDF
Download
Share
Open document
Flip pages
Contact Us
Contact Us
Copy asset link
Request this asset
Transcript (if available)
Content
RELATIVE POSITIONING, NETWORK FORMATION, AND ROUTING IN ROBOTIC WIRELESS NETWORKS by Pradipta Ghosh A Dissertation Presented to the FACULTY OF THE USC GRADUATE SCHOOL UNIVERSITY OF SOUTHERN CALIFORNIA In Partial Fulllment of the Requirements for the Degree DOCTOR OF PHILOSOPHY (ELECTRICAL ENGINEERING) August 2018 Copyright 2018 Pradipta Ghosh Dedication To my beloved family and friends. ii Acknowledgment I would like to express my sincere gratitude to many signicant individuals for their continuous support, help, and contributions to my Ph.D. studies. It is with immense gratitude that I acknowledge the support and help of my advisor, Professor Bhaskar Krishnamachari. He is an exemplary advisor that a Ph.D. student can only wish for. He guided me through all stages of my Ph.D., my success, my failures, and my ups and downs; with equal patience and consideration. He has been very welcoming towards investigating any interesting promenades both in academic research and life beyond school. He motivated me to pay equal atten- tion to work and personal life without neglecting either. His immense dedication towards research and teaching has always been inspirational to me. I also want to thank him for having faith in me on numerous occasions when I lacked the con- dence and courage. I cannot imagine going through the Ph.D. without having him as my guide, mentor, and teacher { a true advisor. He is and always will be someone I look up to as a mentor, researcher, teacher, and above all a kind, patient, admirable person. iii Besides my advisor, I would like to thank Professor Nora Ayanian for her invalu- able guidance and advice on many aspects of my thesis works. She has helped me on numerous occasions to clear doubts regarding robotics related problems. I would also like to thank Professor Murali Annavaram and Professor Ramesh Govindan for their guidance and advice on academia as well as their insightful comments and contributions to my thesis. I would also like to thank Professor Andrea Gasparri for his guidance and advice on a signicant portion of my thesis research. He has been one of the persons who helped me determine my course of actions towards kick-starting my thesis research. My sincere thanks also go to other knowledgeable researchers: ANRG members and Dr. Ranjan Pal. First of all, I want to thank my fellow ANRG member, colleague and dear friend, Jason A. Tran for all of his hard work and contributions towards my thesis research as well as for his invaluable support and advice. It was not possible to conceive some parts of my thesis research without his signicant contributions and support. I also had a valuable experience in our joint eort towards mentoring undergraduate and masters students. His organizational and coding skills are something I always look up to. I also want to acknowledge all other ANRG members for all the academic as well as fun non-academic discussions. I will cherish every moment I had with you over past couple of years. I really admire and love the culture we have at ANRG where everyone interacts and bonds like a big iv family. I would also like to acknowledge Dr. Ranjan Pal for his valuable opinions and support throughout my Ph.D. In addition, I want to extend my sincere thanks to my friends both at USC and outside USC. I want to particularly thank my very close friend, Pratik Shah, for being the friend with whom I can talk about almost everything, for always having my back, for being such a good listener, and always giving me great advises. I also want to thank my other close friends and roommates: Md. Nasir, Arindam Jati, Subhayan De, Vishnu Ratnam, and Kosha Talati Shah. I also want to thank Amrita Kundu for being there in my tough times and supporting me constantly. I am truly blessed to have such a group of wonderful people as my friend whom I consider as a part of my family. The works in this dissertation were supported in part by funding from NSF and DARPA. I would also like to express my appreciation to the Provost Fellowship Program and the Ming Hsieh Department of Electrical Engineering for supporting my tuition and oering stipends during my Ph.D. studies. I would also like to extend my gratitude to the Ming Hsieh Institute and the USC Graduate Student Government for supporting my conference travel expenses. Lastly but most importantly, I want to dedicate this thesis to my family: my parents, Dr. Pijush Kanti Ghosh and Dr. Chhabi Ghosh, and my brother, Dr. Prattay Ghosh. Life is very uncertain and short. The family is the most important thing to me. Thanks for supporting me and helping me become who I am today. v Without your support, it would not have been possible for me to come this far let alone complete my Ph.D. studies. I love you. vi Table of Contents Dedication ii Acknowledgment iii List Of Figures xii List Of Tables xvii Abstract xix Chapter 1: Introduction 1 1.1 Robotic Wireless Networks . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.1 RSSI Models, Measurements, and RF mapping . . . . . . . . 7 1.1.2 Communication Protocols . . . . . . . . . . . . . . . . . . . 8 1.1.2.1 Media Access Control Layer . . . . . . . . . . . . . 8 1.1.2.2 Network Layer . . . . . . . . . . . . . . . . . . . . 9 1.1.2.3 Transport Layer . . . . . . . . . . . . . . . . . . . 10 1.1.2.4 Application Layer . . . . . . . . . . . . . . . . . . 10 1.1.3 Connectivity Maintenance . . . . . . . . . . . . . . . . . . . 11 1.1.4 Communication Aware Robot Positioning and Movement Control . . . . . . . . . . . . . . . . . . . . . . . 12 1.1.5 Localization and Relative Positioning . . . . . . . . . . . . . 13 1.1.6 Edge Computing . . . . . . . . . . . . . . . . . . . . . . . . 15 1.2 Our Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.2.1 RSSI Based Relative Position Control . . . . . . . . . . . . . 16 1.2.2 Interference Power Bound Analysis for Network Form-ation Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.2.3 Routing and Data Collection Protocol . . . . . . . . . . . . 19 1.2.4 Unied Communication Protocol for Control and Sensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.2.5 Passive RF Sensing . . . . . . . . . . . . . . . . . . . . . . . 21 vii Chapter 2: Background 22 2.1 Kalman Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.2 Linear Quadratic Gaussian Control . . . . . . . . . . . . . . . . . . 23 2.3 Backpressure Routing . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.3.1 BP Weighing . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.3.2 BP Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.3.3 BP Forwarding . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.4 Publish Subscribe Protocol and MQTT . . . . . . . . . . . . . . . . 28 Chapter 3: Related Works 31 3.1 Relative Localization and Tracking . . . . . . . . . . . . . . . . . . 31 3.1.1 Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.1.2 Relative Localization . . . . . . . . . . . . . . . . . . . . . . 33 3.1.3 LQG Based Control . . . . . . . . . . . . . . . . . . . . . . . 35 3.2 Interference Power Bound for CSMA Based Wireless Network . . . 35 3.3 Data Collection Routing Protocols . . . . . . . . . . . . . . . . . . 37 3.4 Pub-Sub Based Robotic Communication and Control . . . . . . . . 39 3.5 RF Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Chapter 4: RSSI Based Relative Position Control for RWN 44 4.1 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.2 The ARREST System . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.2.1 Proposed LQG Formulation . . . . . . . . . . . . . . . . . . 50 4.3 RSSI Based Relative Position and Speed Observations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.3.1 Distance Observations . . . . . . . . . . . . . . . . . . . . . 54 4.3.2 Angle Observations . . . . . . . . . . . . . . . . . . . . . . . 55 4.3.2.1 Basic Correlation Method . . . . . . . . . . . . . . 57 4.3.2.2 Clustering Method . . . . . . . . . . . . . . . . . . 57 4.3.2.3 Weighted Average Method . . . . . . . . . . . . . . 58 4.3.3 Speed Observations . . . . . . . . . . . . . . . . . . . . . . . 58 4.4 TrackBot Prototype . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 4.4.1 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 4.4.2 ARREST System Parameter Setup . . . . . . . . . . . . . . 63 4.4.2.1 Cost Parameters Setup . . . . . . . . . . . . . . . . 63 4.4.2.2 Noise Covariance Matrix Parameters Setup . . . . 64 4.5 Experiments and Performance Analysis . . . . . . . . . . . . . . . . 65 4.5.1 Baseline Analysis via Emulation . . . . . . . . . . . . . . . . 65 4.5.1.1 The Optimistic Strategy vs. The Pragmatic Strategy 66 4.5.1.2 Absolute Distance Statistics . . . . . . . . . . . . . 68 4.5.1.3 Estimation Errors . . . . . . . . . . . . . . . . . . 68 4.5.2 Real Experiment Results: Small Scale . . . . . . . . . . . . . 70 4.5.2.1 The Optimistic Strategy vs. The Pragmatic Strategy 72 viii 4.5.2.2 Estimation Errors . . . . . . . . . . . . . . . . . . 72 4.5.2.3 Tracking Performance . . . . . . . . . . . . . . . . 74 4.5.3 Real Experiment Results : Large Scale . . . . . . . . . . . . 75 4.5.3.1 LeaderBot and TDoA Ranging . . . . . . . . . . . 77 4.5.3.2 Dierent Experimental Settings . . . . . . . . . . . 80 4.5.3.3 Performance Analysis . . . . . . . . . . . . . . . . 81 4.5.3.4 Multipath Adaptation . . . . . . . . . . . . . . . . 82 4.5.4 Miscellaneous . . . . . . . . . . . . . . . . . . . . . . . . . . 84 4.5.4.1 Raw RSSI Data Analysis . . . . . . . . . . . . . . . 84 4.5.4.2 Dierent Sensing Modalities . . . . . . . . . . . . . 86 4.6 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Chapter 5: Interference Power Bound Analysis for Network Forma- tion Control in RWN 90 5.1 Problem Description . . . . . . . . . . . . . . . . . . . . . . . . . . 91 5.2 Outline of the Proposed Solution . . . . . . . . . . . . . . . . . . . 94 5.2.1 Methodology for Mapping from d to SIR X . . . . . . . . . . 94 5.2.2 Methodology for Selecting d max . . . . . . . . . . . . . . . . 97 5.2.3 Orthogonal Code Bound For Interference Free Network . . . 97 5.3 Identication of Maximum Power Interference Set Cover . . . . . . 100 5.3.1 Dense Random Network . . . . . . . . . . . . . . . . . . . . 100 5.3.2 Interference Estimation for Robotic Router Network . . . . . 105 5.4 Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 5.5 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Chapter 6: Routing and Data Collection Protocol for RWN 119 6.1 The Heat Diusion Routing: Theory and Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 6.1.1 Link Weighing . . . . . . . . . . . . . . . . . . . . . . . . . . 122 6.1.2 Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 6.1.3 Forwarding . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 6.2 The Heat Diusion Collection Protocol: From Theory to Reality . . 124 6.2.1 Predecessors . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 6.2.1.1 The Collection Tree Protocol . . . . . . . . . . . . 124 6.2.1.2 The Backpressure Collection Protocol . . . . . . . 125 6.2.2 The Heat Diusion Collection Protocol . . . . . . . . . . . . 126 6.2.2.1 The Parameter . . . . . . . . . . . . . . . . . . . 127 6.2.2.2 Updating Weights . . . . . . . . . . . . . . . . . . 130 6.2.2.3 Queue Implementation . . . . . . . . . . . . . . . . 131 6.2.2.4 Link Metric Estimation . . . . . . . . . . . . . . . 131 6.2.2.5 Link Switching . . . . . . . . . . . . . . . . . . . . 133 6.3 Implementation Details . . . . . . . . . . . . . . . . . . . . . . . . . 134 6.3.1 Retransmission . . . . . . . . . . . . . . . . . . . . . . . . . 135 ix 6.3.2 Retry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 6.3.3 Queue Buer . . . . . . . . . . . . . . . . . . . . . . . . . . 137 6.3.4 Beacon Timer . . . . . . . . . . . . . . . . . . . . . . . . . . 137 6.3.5 Inbound Packet Filtering . . . . . . . . . . . . . . . . . . . . 138 6.3.6 End to End Delay Calculations . . . . . . . . . . . . . . . . 139 6.3.7 Experimental Setup . . . . . . . . . . . . . . . . . . . . . . . 139 6.4 Real Testbed Experiment Results and Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 6.4.1 Variation of the Parameter . . . . . . . . . . . . . . . . . 142 6.4.2 Modied HDCP vs Unmodied HDCP . . . . . . . . . . . . 145 6.4.3 Performance Comparison with BCP and CTP for Fixed Packet Generation Rate . . . . . . . . . . . . . . . . . . . . . . . . 147 6.4.4 Varying Packet Generation Rate . . . . . . . . . . . . . . . . 150 6.4.5 Low Power Communication Stack Based Experiments . . . . 153 6.4.6 External Interference . . . . . . . . . . . . . . . . . . . . . . 155 6.4.7 Node Failures . . . . . . . . . . . . . . . . . . . . . . . . . . 157 6.5 Similarity Analysis Between HDCP and BCP . . . . . . . . . . . . 159 6.5.1 Theoretical Analysis . . . . . . . . . . . . . . . . . . . . . . 159 6.5.2 Kendall's Tau Test . . . . . . . . . . . . . . . . . . . . . . . 166 6.6 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 Chapter 7: Unied Communication Protocol for Control and Sensing in RWN 169 7.1 The Proposed ROMANO Protocol . . . . . . . . . . . . . . . . . . 171 7.1.1 Requirements: . . . . . . . . . . . . . . . . . . . . . . . . . . 171 7.1.2 The ROMANO Protocol . . . . . . . . . . . . . . . . . . . . 172 7.1.3 Message Formats: . . . . . . . . . . . . . . . . . . . . . . . 175 7.1.4 ROMANO for Bootstrapping of Robots: . . . . . . . . . . . 176 7.2 Real Implementation and Experimentation: . . . . . . . . . . . . . . 178 7.2.1 Core Implementation: . . . . . . . . . . . . . . . . . . . . . . 178 7.2.2 Performance Analysis . . . . . . . . . . . . . . . . . . . . . . 180 7.2.3 Application Implementation Experiments . . . . . . . . . . . 184 7.2.3.1 ROMANO for control of a group of robots . . . . . 184 7.2.3.2 ROMANO Path Copy . . . . . . . . . . . . . . . . 185 7.2.3.3 ROMANO to Control Peer-to-Peer UDP Commu- nication . . . . . . . . . . . . . . . . . . . . . . . . 185 7.2.3.4 ROMANO over Internet . . . . . . . . . . . . . . . 187 7.2.4 Outcomes of the Application Specic Experiments . . . . . . 188 7.2.5 Code Complexity Analysis . . . . . . . . . . . . . . . . . . . 189 7.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 x Chapter 8: Passive RF Sensing in RWN 193 8.1 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . 194 8.2 Maximum Likelihood Estimation . . . . . . . . . . . . . . . . . . . 197 8.3 Performance Evaluations . . . . . . . . . . . . . . . . . . . . . . . . 199 8.3.1 Simulation Experiment Results . . . . . . . . . . . . . . . . 199 8.3.2 Real Experiment Results . . . . . . . . . . . . . . . . . . . . 203 8.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 Chapter 9: Conclusion 208 Reference List 210 xi List Of Figures 1.1 Illustration of a Robotic Wireless Router . . . . . . . . . . . . . . . 3 1.2 Illustration of an RWN where a group of ve robots is sensing the en- vironment around the reghters to guide them in reghting while also providing connectivity . . . . . . . . . . . . . . . . . . . . . . . 5 1.3 Illustration of robotic routers where the two humans are not able to communicate directly due to presence of a wall or some other blocking object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1 Illustration of the Kalman Filtering (This gure is adapted from [1]) 23 2.2 Illustration of Publish-Subscribe Communication: A set of publisher nodes publishes their data to a broker by associating the data with a topic. The broker relays the data to all the subscribers of that topic 29 4.1 The TrackBot Prototype. This prototype system is built using com- mercial o-the-shelf products. The black lines illustrate the wire connections between dierent hardware components. . . . . . . . . 46 4.2 Global and Local Coordinate System Illustration . . . . . . . . . . . 47 4.3 The ARREST Architecture . . . . . . . . . . . . . . . . . . . . . . 49 4.4 Proposed LQG Controller System . . . . . . . . . . . . . . . . . . . 51 4.5 Illustration of Dierent Components for Relative Speed Observation 60 4.6 (a)-(b)Tracking Performance Comparison Among Dierent Speed Estimation Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . 66 xii 4.7 Emulation Based Performance: (a) Absolute Distance Estimation Errors (in m), (b) Absolute Angle Estimation Errors (in degrees), and (c) Absolute Speed Estimation Errors (in m/s) . . . . . . . . . 69 4.8 Full Path Traces from Small Scale Real World Experiments . . . . . 71 4.9 Real Experiment Based Performance for Small Scale: (a) Absolute Distance in Meters, (b) Absolute Distance Estimation Error in Me- ters, and (c) Absolute Angle Estimation Error in Degrees . . . . . . 73 4.10 Illustration of a 3pi LeaderBot. This robot is used as the leader robot as well as the TDoA localization anchor for large-scale experiments. 76 4.11 TDOA based Localization System Performance: (a) Distance Esti- mation Errors and (b) Angle Estimation Errors . . . . . . . . . . . 80 4.12 Real Experiment Based Performance for Large Scale: (a) Absolute Distance in Meters, (b) Absolute Distance Estimation Error in Me- ters, and (c) Absolute Angle Estimation Error in Degrees . . . . . . 81 4.13 Full Path Trace for a Sample Large Scale Experiment (Blue =) Leader, Red =) TrackBot) . . . . . . . . . . . . . . . . . . . . . . 83 4.14 Raw Data Analysis: (a) Distance Estimation Errors and (b) Angle Estimation Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 4.15 Estimation Performance for Varying Sampling Rate: (a) Distance Estimation Errors and (b) Angle Estimation Errors . . . . . . . . . 86 4.16 Performance of the ARREST System in Terms of Controlled Esti- mation Errors: (a) Fixed Angle Estimation Error, and (2) Fixed Distance Estimation Error . . . . . . . . . . . . . . . . . . . . . . . 88 5.1 Illustration of the Interference Set Covers For Estimation of Inter- ference Upper Bound in a Dense Network . . . . . . . . . . . . . . . 101 5.2 Illustration of the Highest Power Intra-Flow Interference Set Cover 107 5.3 Illustration of the Multiple Flow Interference Estimation (Blue Nodes: Intra-Flow Interferer, Red Nodes: Inter-Flow Interferer) . . . . . . . 108 xiii 5.4 (a) Validation of Estimated Interference Power (Top) and SIR (Bot- tom) Bounds in dB, for Dense Network with No Fading (b) Proba- bility that Actual SIR is Lower than the Estimated Minimum SIR in Presence of Log-Normal Fading with Variance 2 = 4 (c) Proba- bility that Actual SIR is Lower than the Estimated Minimum SIR with NO Fading but in Presence of 10 Orthogonal Codes . . . . . . 113 5.5 For a 3 Flow Network: (a) Validation of Estimated Interference Bound (Top) and SIR Bound (bottom) with No Fading (b) Illus- tration of Less Number of Robots to be Deployed with Our Applica- tion Specic Bound (No Fading) (c) Probability that Actual SIR is Lower than the Estimated Minimum SIR with Log-Normal Fading (Variance 2 = 4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 6.1 Real Experiment Testbed Topology . . . . . . . . . . . . . . . . . . 140 6.2 Performance Plots of HDCP Implementation for 0.5 PPS with Dif- ferent Values of : (a) Average Goodput to Sink (b) End-to-End Delay CDF Plot for Mote 38 (c) Average ETX per Packet (Top) and Average Hop Count (Bottom) (d) Average End-to-End Delay (Bottom) and Average Queue Size for Each Node (Top) . . . . . . . 144 6.3 Performance Comparison between Modied and Unmodied HDCP Implementation with = 1 for 0.25 PPS: (a) Average Goodput (b) Average ETX per Packet (Top) and Average Hop Count (Bottom) (c) Average End-to-End Delay (Top) and Average Queue Size (Bottom)146 6.4 Comparison Plots between HDCP, BCP and CTP for 0.5 PPS: (a) Average Goodput to Sink (b) Average ETX (Top), Average Hop Count to Sink (Bottom) (c) Average End-to-End Delay (Top) and Average Queue Size (Bottom) . . . . . . . . . . . . . . . . . . . . . 148 6.5 (a)Variation of Goodput for Varying Oered Load (b) Variation of Average End to End Delay for Varying Oered Load (c) Variation of Average Path Cost in Terms of ETX (Top) and Average Hop Count (Bottom) for Varying Oered Load . . . . . . . . . . . . . . . . . . 151 6.6 Performance Comparison of HDCP with BCP and CTP for a Low Power Communication Stack: (Top) Goodput to Sink, (Bottom) Av- erage ETX Path Costs to Sink . . . . . . . . . . . . . . . . . . . . . 153 xiv 6.7 Thirty Second Windowed Average Sourced Packet Delivery Ratio for: (a) Synthetically Generated Interfering 802.15.4 Channel 26 Trac (b) Real Interference Scenario on 802.15.4 Channel 13 . . . . . . . . 156 6.8 Thirty Second Windowed Average Sourced Packet Delivery Ratio for 10% Node Failures . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 6.9 A Simple Topology For Ranking Similarity Analysis Between HDCP and BCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 6.10 (a) Empirical CDF of the Link ETX Values for Our Testbed (b) Empirical CDF of the Average ETX per Link for the Shortest Paths Between Any Pair of Nodes . . . . . . . . . . . . . . . . . . . . . . 162 6.11 Variation of Kendall's Tau Distance between HDCP and BCP Neigh- bor Rankings for Dierent Values of . . . . . . . . . . . . . . . . 167 7.1 (Left) The ROMANO Network Stack, (Right) ROMANO Data Types173 7.2 ROMANO Implementation Stack on Pololu 3pi . . . . . . . . . . . 179 7.3 Our Testbed Architecture for the ROMANO Experimentation . . . 181 7.4 Scalability Analysis of the ROMANO Protocol . . . . . . . . . . . . 183 7.5 Illustration of using ROMANO to control peer-to-peer UDP commu- nication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 7.6 Application of ROMANO for communication between two robotic networks connected over internet. . . . . . . . . . . . . . . . . . . . 187 8.1 Illustration of our bistatic radar equivalent system . . . . . . . . . . 197 8.2 Probability heat map of dierent possible positions of the re ector for known position of transmitter (0; 3) and receiver (0; 0). . . . . . 201 8.3 Error Statistics for varying distance between T x and R x while the re ector is kept xed at (3; 3) . . . . . . . . . . . . . . . . . . . . . 202 8.4 Error statistics for varying distance to the re ector from the receiver while the T x is kept xed at (0; 3) . . . . . . . . . . . . . . . . . . . 202 xv 8.5 Real System for Experimentation: We only employ the rotating plat- form with the directional antenna (left) of the TrackBot (right) de- veloped in the course of Study 1. . . . . . . . . . . . . . . . . . . . 204 xvi List Of Tables 2.1 MQTT-SN Publish Message Format . . . . . . . . . . . . . . . . . . 29 4.1 ARREST Hardware Implementation . . . . . . . . . . . . . . . . . 61 4.2 Summary of Emulation Results . . . . . . . . . . . . . . . . . . . . 70 4.3 Summary of Small Scale Real-World Experiments . . . . . . . . . . 75 4.4 Summary of Large Scale Real-World Experiments . . . . . . . . . . 84 5.1 General Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 5.2 System Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 5.3 Interference Set Cover Node Locations for a Dense Network . . . . 103 5.4 Interference Set Cover Node Locations for a Flow Based Network . 111 6.1 List of Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 6.2 Contrasting HD policy with V-parameter BP policy (adapted from [2])123 7.1 ROMANO Message Format . . . . . . . . . . . . . . . . . . . . . . 175 7.2 ROMANO Message Formats . . . . . . . . . . . . . . . . . . . . . . 177 7.3 Movement Control Types . . . . . . . . . . . . . . . . . . . . . . . . 177 7.4 Message Delivery Ratio for Dierent Message Generation Rates . . 182 7.5 Code Complexity Analysis in Terms of Lines of Codes . . . . . . . . 190 xvii 8.1 Simulation experiment based error statistics (in meters) for unknown transmitter and unknown re ector . . . . . . . . . . . . . . . . . . . 203 8.2 Error statistics for real-world experiments in meters . . . . . . . . . 206 xviii Abstract Robotic Wireless Networks (RWN) is one of the cutting-edge domain of research that focuses on a range of collaborative autonomous operations such as exploration of an unknown terrain, re-ghting, temporary wireless communication backbone deployments, and extending existing communication infrastructures. Such applica- tion contexts with a group of robots impose a diverse set of stringent requirements to the system designers that include but not limited to ecient infrastructure- less localization, positioning, movement control, connectivity maintenance, and lightweight communication protocols. In this thesis, we identify ve key problems in the eld of RWN and provide the necessary solutions to meet the end-goal of building a scalable, self-sustained, energy ecient, and controllable RWN system. The rst research problem that we focus on is related to the localization of robots in any random deployment arena. A real-world deployment of an RWN relies on the availability of a scalable localization system in the application arena for eective operation. While GPS can provide suciently accurate positioning in open outdoor setting, eective operations of an RWN demands an alternative and suciently precise relative or absolute localization scheme for an indoor cluttered xix setting where GPS based global positioning is very aky and unreliable. Most of the existing RF based alternative indoor localization schemes rely on the presence of an infrastructure for trilateration based localization which, thereafter, restricts the RWN application domain. To this end, we propose Autonomous RSSI based RElative poSitioning and Tracking (ARREST), an RSSI based relative localization and proximity maintenance system for RWN that does not require any pre-deployed infrastructure. To demonstrate the practicality as well as analyze the performance, we have developed a real prototype and performed extensive experimentation. The second key problem that we look into is related to the application of an RWN to support a temporary communication backbone with certain communica- tion guarantees in terms of throughput, loss rate, and latency in a dynamic envi- ronment. It is often presumed in such contexts that a \sucient" number of robots are present in the network. However, to our knowledge, none of the existing works has addressed this crucial RWN system parameter. In our second study, we rst derive an upper bound on the spacing between any transmitter-receiver pair by exploiting the properties of Carrier Sense Multiple Access (CSMA) and thereafter, map this bound to a lower bound on the number of robots to deploy. In the course of our third study, we look into the classic problem of routing but with the sole focus on fullling the RWN specic requirements in terms of eciency, reliability, timeliness, and scalability. Only a few existing solutions can fulll all these requirements (mainly the delay requirement) imposed upon the networking xx protocol stack of an RWN. To this end, we propose the Heat Diusion Collection Protocol(HDCP), a backpressure based routing protocol that uses the classic equa- tions related to the heat ow from a highly heated region to a less heated region towards queue based dynamic packet routing. Through an extensive set of real- world experiments, we demonstrate that the HDCP algorithm can guarantee lower delay and higher throughput compared to the existing contenders under a diverse set of conditions. The robots in an RWN also inherently work under limited communication band- width and heavy power constraints which in turn put constraints on the commu- nications hardware and protocols. Therefore, in our fourth study, we concentrate on the design of the Robotic Overlay coMmunicAtioN prOtocol (ROMANO), an ecient lightweight application layer communication protocol with low bandwidth and energy requirement for sensing data collection and control. ROMANO is over- laid on top of the well-known Message Queuing Telemetry Transport for Sensor Nodes (MQTT-SN) publish-subscribe protocol to provide a simple and unied ab- straction of control and sensing data communication. Through a set of real-world experiments with real prototypes, we demonstrate dierent features of ROMANO as well as analyze the performance. In the fth and nal study, we look into a problem of passive RF mapping by em- ploying the hardware developed for ARREST system experimentation. The goal of this study is to exploit a received directional RSSI pattern from an omnidirectional xxi transmitter towards passive localization of unknown RF re ecting surfaces/objects in an unknown environment. To this end, we propose the concept of miniRadar which is a low power IEEE 802.15.4 based bi-static radar type system for RWN. In summary, we have developed systems and algorithmic solutions for an RWN that address ve cutting-edge problems in an RWN. The proposed solutions and systems will guide the design of an integrated real-world RWN system with self- sustained localization and relative position control, ecient routing with lower de- lay, simple abstraction of control and communication, and passive RF sensing. xxii Chapter 1 Introduction Robotics has been a very important and active eld of research over the last couple of decades with the main focus on seamless integration of robots in human lives to assist and to help human in dicult, cumbersome jobs such as search and rescue in disastrous environments [3, 4]. Recent advancements in aordable technology and hardware miniaturization have partly materialized this goal. Following this trend, researchers have been motivated to look into the collaborative aspects where a group of robots can work in synergy to perform a set of diverse tasks such as collaboratively moving an object [5, 6]. To this end, networked/swarm robotics [5], robot augmented wireless communication backbones [7, 8], and robotic wireless networks [9, 10] has become cutting-edge elds of research. The controllability of the wireless nodes has opened up a whole new dimension to the networks and wireless communication researchers. The applicability of such systems includes but not limited to re ghting [3, 11], disaster management [12, 13], search and rescue missions to sense environments with limited visibility [4, 14, 15], and smart home 1 environments [16]. This cutting-edge research domain is called by many dierent names such as \Wireless Robotic Networks", \Robotic Wireless Sensor Networks", \Wireless Automated Networks", and \Networked Robots". In this thesis, we will refer to this eld as \Robotic Wireless Networks (RWN)". This new area of research has posed a plethora of research questions related to localization, coordination, consensus, maintaining link qualities and connectivity, and distributed decision making and control. To design a fully functional RWN system, one needs to take each of these questions into consideration. In the fol- lowing section, we provide a brief overview of these research problems along with a formal categorization. Moreover, we provide sucient background to understand the novelty and importance of the works presented in this thesis. 1.1 Robotic Wireless Networks First of all, let us dene and illustrate the eld of Robotic Wireless Network (RWN). According to the IEEE Society of Robotics and Automation's Technical Commit- tee [17]: \A `networked robot' is a robotic device connected to a communications network such as the Internet or LAN. The network could be wired or wireless and based on any of a variety of protocols such as TCP, UDP, or 802.11. Many new applications are now being developed ranging from automation to exploration. There are two subclasses of Networked Robots: (1) Tele-operated, where human supervi- sors send commands and receive feedback via the network. Such systems support 2 research, education, and public awareness by making valuable resources accessible to broad audiences; (2) Autonomous, where robots and sensors exchange data via the network. In such systems, the sensor network extends the eective sensing range of the robots, allowing them to communicate with each other over long distances to coordinate their activity. The robots, in turn, can deploy, repair, and maintain the sensor network to increase its longevity, and utility. A broad challenge is to develop a science base that couples communication to control to enable such new capabilities." We dene an RWN as an autonomous networked multi-robot sys- tem that aims to achieve sensing and mainly communication-related goals while fullling certain communication performance requirements via cooperative control, learning, and adaptation. Wireless Comm. Module Robot Sensors Figure 1.1: Illustration of a Robotic Wireless Router 3 Ideally, each node of a typical RWN should have controlled mobility, a set of sensors, and wireless communication capabilities (as illustrated in Figure 1.1). We refer to such nodes (devices) as \Robotic Wireless Routers". Nonetheless, an RWN can also have some nodes with just sensing/control and wireless communication capabilities but without mobilities. Note that, every node of an RWN must have wireless communication capabilities. Moreover, an RWN is typically expected to be able to fulll or guarantee certain communication performance requirements enforced by the application contexts such as minimum achievable bit error rate (BER) in every link of the network. The existing research works related to RWN can be subdivided into two broader genres. The rst genre focuses on generic multi-robot sensing systems with real- istic communication channels (i.e., including the eects of fading, shadowing etc.) between the robots. To clarify, these are mostly the existing works in the robotics literature on multi-robot systems but with practical wireless communication and net- working models. One application context of such an RWN is in robot-assisted re- ghting where the robots are tasked to sense the unknown environments inside rubble to help the reghters navigate. Now, if the robots are not able to maintain a good connectivity among themselves or to a mission control station, the whole mission is voided. Refer to Figure 1.2 for an illustration of such contexts where a group of robots is sensing an unknown environment to guide the human movements. In Figure 1.2, the network consisting of ve robots and two reghters needs to 4 be connected all the time and also needs to have properties such as reliability and lower packet delays. To make the problem more complex, the robots might also need to continually maintain certain proximity to the reghters. Thus, we need a class of multi-objective motion control algorithms that will optimize the sensing and exploration task performance, and will also ensure the connectivity, proximity, and the performance of the network. Some of the main identiable keywords in this genre of works are connectivity maintenance, ecient routing to reduce end to end delay of packets, proximity maintenance, localization, and multi-objective motion control and optimization. Figure 1.2: Illustration of an RWN where a group of ve robots is sensing the environment around the reghters to guide them in reghting while also providing connectivity 5 The second genre of RWN research focuses on the application of robotic wire- less routers to create and support a temporary communication backbone between a set of communicating entities. The main theme of these works is to exploit the controlled mobility of the robotic routers to support certain communication-related goals such as deploying a temporary communication backbone. In Figure 1.3, we present an example illustration where a set of two robotic routers form a commu- nication relay path between two humans (e.g., two re-ghters) who are unable to communicate directly. There exists a vast literature on multi-agent systems in robotics and control community that apply simple disk models for communication modeling and, subsequently, apply graph theory to solve dierent known problems such as connectivity and relay/repeater node placements. However, most of these existing works lack the inclusion of the eects of fading and shadowing in the com- munication models which is likely to signicantly increase the complexity of the problems as well as the solutions. Some of the main challenges in this genre of RWN research are: link performance guarantee (in terms of Signal to Interference plus Noise Ratio, SINR, or Bit Error Rate, BER), optimized robotic router place- ments and movements in a dynamic network, non-linear control dynamics due to inclusion of network performance metrics into control loop, and localization. A special case of this would be robot-assisted static relay deployments, where the robots act as carriers of static relay nodes and smartly place/deploy them to form a communication path/backbone. 6 Figure 1.3: Illustration of robotic routers where the two humans are not able to communicate directly due to presence of a wall or some other blocking object Next, we identify a set of major research problems and areas related to RWN as follows. Note that, it is by far not the exclusive set of research problems in RWN. 1.1.1 RSSI Models, Measurements, and RF mapping RF measurement-based modeling, sensing, and mapping is an important topic of research related to an RWN. In an RWN, it is often important to estimate and monitor the quality of the communication links between the nodes (in terms of Bit Error Rate (BER), Signal to Noise plus Interference Ratio (SINR) etc.) in order to satisfy the communication-related requirements. 1 For practicality, these estima- tions should be either partly or fully based on online RF sensing such as temporal 1 Note that RF-based communication is the standard mode of communication in RWN for obvious reasons. 7 RSSI measurements in a deployment. In some application contexts of RWN, the sole goal of an RWN is to sense and formulate an RF map of an environment to be processed or exploited later on [8]. 1.1.2 Communication Protocols Similar to any wireless networks and sensor networks, ecient communication pro- tocols are of utmost importance in an RWN. Following the standard ve layered Internet model for communication, we present a summary of the communication protocol research in RWN. 1.1.2.1 Media Access Control Layer Media Access Control (MAC) protocols deal with proper distributed access to the physical medium among wireless devices, device to device communication, fram- ing, and error corrections. While most of the classical MAC layer modules and protocols [18] are applicable to RWN, the extra dimension of controllability has opened up opportunities for a new class of MAC protocols in RWN. Hollinger et al. [19] presented such a MAC protocol for robotic sensor networks in acoustic environments. There also exist works related to mobile sensor networks which use predicted mobility patterns such as pedestrian mobility or vehicular mobility to 8 design ecient and application-context-specic MAC protocols [20, 21, 22]. In con- trast, the mobility of the nodes in RWN are controlled and, thus, can be exactly known or predicted with higher accuracy. 1.1.2.2 Network Layer The main protocols concerning network layer of an RWN pertain to routing and data collection. Routing in an RWN can be considered same as in Mobile Adhoc Networks (MANET) but with an extra advantage of controllability. While the ex- isting well-known algorithms in MANET such as the Ad-hoc On-demand Distance Vector (AODV) [23, 24], Dynamic Source Routing (DSR) [25, 26], Optimized Link State Routing (OLSR) [27], and B.A.T.M.A.N. [28] can be applied to an RWN, they do not take advantage of the controlled mobility feature in RWN. The con- cept of RWN has opened up the door to a new class of routing protocols that incorporates the controlled mobility of the nodes in the routing decisions for more eective communication. Moreover, the end to end delay reduction (mainly for control packets) and reliability improvement have become of prime interests. De- layed or missing packets can result in an improper collaborative movement control and task completion in an RWN. To this extent, some researchers have modied existing routing solutions to adapt to a robotic network and proposed completely new routing solutions as well [29]. Nonetheless, it remained to be one of the less explored areas in RWN. 9 1.1.2.3 Transport Layer In the eld of RWN, the researchers are yet to signicantly focus on the transport layer protocols. Till date, researchers employed traditional transport layer protocols such as TCP, UDP, or some MANET transport layer protocols for robotic networks, without taking advantage of the controlled mobility. Conversely, controllability requires highly reliable, low delay, and error-free communication between robots, which is not possible using original TCP or UDP and requires special transport layer protocols. The work of Douglas W. Gage on the MSSMP Transport layer protocol (MTP) [30] is mentionable in this context. In summary, the transport layer related research on RWN is an open area with a major focus on reliability and delay performances. 1.1.2.4 Application Layer For proper operation of an RWN, one requires ecient application layer protocols that can eciently handle control related trac as well as regular trac (e.g., sen- sor data). Some key requirements from such application layer protocols are a lower delay for control trac, lightweight and low bandwidth consumption for scalabil- ity, and low power consumption for energy eciency. Moreover, the abstraction provided to the user of the RWN should be simple and modular such that an end user can easily use and customize it for dierent applications contexts. The most popular state-of-the-art application layer method for eective control of robots and 10 eective collection of sensor data relies on the Robot Operating System (ROS) [31]. However, the traditional ROS-based solutions require high enough compute power to run a full- edged Linux OS. Moreover, ROS uses XML-RPC which relies on HTTP, a protocol with large header sizes that in turn consume more bandwidth and power. This makes ROS unsuitable and unoptimized for a network of battery- operated robots operating with low-power embedded processors on a shared wireless communication channel. Thus, application layer protocol research is an important and promising area of research for building RWN systems. 1.1.3 Connectivity Maintenance In any collaborative network of robots, it is important to maintain a steady com- munication path (direct or multi-hop) between any pair of nodes in the network for an eective operation. This problem, traditionally referred to as connectivity maintenance problem, in very well studied by the robotics research community. In the connectivity maintenance problem, the main goal is to guarantee the exis- tence of end-to-end paths between every pair of nodes. The interaction between pairs of robots is usually encoded by means of a graph, and the existence of an edge connecting a pair of vertexes represents the fact that two robots can exchange information either through sensing or communication capabilities. Notably, the con- nectivity of the interaction graph represents a fundamental theoretical requirement for proving the convergence of distributed algorithms in a variety of tasks, ranging 11 from distributed estimation [32, 33, 34] to distributed coordination and formation control [35, 36, 37]. In the context of robotic networks, where the connectivity of the interaction graph is strictly related to the motion of the robots, a fundamental challenge is the design of distributed control algorithms which can guarantee that the relative motions of the robots do not result in a network partitioning, by rely- ing only on local information exchange. Two possible versions of the connectivity maintenance problem can be considered: local connectivity and global connectivity. The local version of the connectivity maintenance problem focuses on the preser- vation of the original set of links of the graph encoding the pairwise robot-to-robot interactions to ensure its connectedness [38, 39, 40]. The global version of the connectivity maintenance problem focuses on the preservation of the overall graph connectedness, i.e., links can be added or removed as long as this does not prevent the interaction graph to remain connected over time [41, 42, 43, 44, 10]. 1.1.4 Communication Aware Robot Positioning and Movement Control As mention earlier, one of the application contexts of RWN is in supporting tem- porary communication backbones [45, 46]. One such application scenario involves the use of a set of `robotic routers/relays' to form a communication path between a set of `communication endpoints'. The communication endpoints are pairs of nodes/devices in the network that are willing to communicate but unable to reach 12 each other. The communication endpoints can be mobile or the environment can be dynamic with changing communication link properties. The communication endpoints might have certain communication requirements such as min achievable data rate, high throughput, and lower delay [7, 47]. The most important research question in such contexts is to devise a control system that adapts the positions of the robotic routers throughout the period of deployment to optimize the network performance while optimizing the movements as well. Therefore, the main goal of this class of work is continuous joint optimization of the robotic movements and the wireless network's performance. Moreover, the router placement controller should also be able to support network dynamics such as node failures and change in the set of communication endpoints. This problem involves direct relations with many other research pieces of RWN such as connectivity maintenance, communication link modeling, and localization. 1.1.5 Localization and Relative Positioning The problem of localization is very well-known in the contexts of sensor net- works and distributed robotics. The state-of-the-arts on localization are very ma- ture [48, 49, 50, 51]. Since the eld of RWN mainly deals with the sensing of the environment as well as positioning of the robotic routers, localization is denitely one of the major problems in the eld of RWN. The concept of `localization' is to locate a node in a deployment arena with respect to a reference frame or a reference 13 location. A commonly used system called the Global Positioning System (GPS) lo- calizes objects in terms of their latitudes and longitudes. However, GPS is known to not work properly in cluttered or indoor environments. Thus, a bulk of the target application contexts of RWN require an alternate and ecient localization scheme for indoor environments such as RF-based localization. Nonetheless, to make the problem more intense, in some of the application scenarios of an RWN such as re- ghting in a dynamic environment, there might not exist any xed infrastructure to support traditional alternative RF based trilateration solution for localization. While absolute locations are much important, a relative localization between the nodes in the network is sucient in many of such contexts. For example, consider a scenario where a group of robotic routers is employed to connect a moving target with a base station. In such contexts, the robots form a chain where each robot positions itself with respect to its neighboring nodes only. Relative positions with respect to the neighboring nodes are enough for a node's movement control decisions in this context. The relative position is also of utmost importance in application contexts that require proximity maintenance between nodes/devices where prox- imity can be dened as maintaining certain thresholded distance. Therefore, the main focus of localization research in RWN is towards relative localization in an arena with none or limited localization infrastructure. 14 1.1.6 Edge Computing Most of the robots/drones nowadays come with low power compute devices such as Raspberry Pi3. This has made possible the extension of edge or fog computing [52] to a network of robots. Edge computing focuses on exploiting all the devices near end users to comply with the skyrocketing demand for computationally intensive applications such as image processing and voice recognition towards autonomy and personalized assistance. To avoid unnecessary network overhead and delays, edge computing systems execute the required computation either partially or fully in the edge devices rather than transferring the responsibility to a remote central cloud. With drones and personal robots becoming ubiquitous near end users, it has opened up the opportunity of employing a network of robots (mainly drones) as the edge cloud [53] for application such as real-time video processing and streaming [54]. This demands for distributed algorithms and frameworks for edge computing that can optimally leverage the available compute nodes in an RWN for timely processing of the data. 1.2 Our Contributions In Section 1.1, we discussed six major research areas in the cutting-edge eld of robotic wireless networks. In this thesis, we contribute to ve key problems per- taining to robotic wireless networks that fall along these areas of research: 15 RSSI Based Relative Position Control Interference Power Bound Analysis for Network Formation Control Routing and Data Collection Protocol Unied Communication Protocol for Control and Sensing Passive RF Sensing 1.2.1 RSSI Based Relative Position Control In our rst study, we delve into the problem of relative location estimation and tracking/following of a moving target. This problem pertains to the research areas of localization, relative positioning, and movement control. For a collaborative work environment, the robots in an RWN need to properly localize and position themselves with respect to each other or a human. There exist many scenarios in indoor and cluttered environments where traditional GPS signals are limited, such as disaster operations in large cities or underground operations. While there are many camera and range-nder based systems for localization and tracking of moving objects [55, 56], the eectiveness of these sensors crumbles when visibility deterio- rates or direct line of sight does not exist [57]. Moreover, the use of these types of sensors as well as the processing of their data, namely image processing, increase the form factor and power consumption of the robots which inherently always work 16 under power constraints. Thus, we need an alternative, cheap, and scalable solu- tion with low processing power requirements to tackle low visibility contexts and cluttered environments. Among the alternatives, RF-based localization techniques are very popular [58]. However, most of these localizations schemes require a set of static reference nodes which might not exist in the target application contexts. To this extent, we propose Autonomous RSSI based RElative poSitioning and Track- ing (ARREST), the rst-ever (to our knowledge) pure RSSI based single node RF sensing system for relative location estimation (with decimeter level accuracy) and tracking/following of a moving object that can be implemented using commodity hardware. In our proposed system, the target, which we refer to as the Leader, carries an RF-emitting device that sends out periodic beacons. The tracking robot, which we refer to as the TrackBot, employs an o-the-shelf directional antenna, novel relative position and speed estimation algorithms, and a Linear Quadratic Gaussian (LQG) controller to measure the RSSI of the beacons and control its maneuvers. This system is further detailed in Chapter 4. This system is useful in a wide range of RWN application contexts such as re-ghting or smart home, where the robots stay within the proximity of a human or another robot to provide a range of service such as sensing, data streaming, guiding, and packer relaying. By extending to multiple pairs of chained leader-follower robots, where each node can act either or both as leader and follower, this system can also be employed 17 to maintain certain distances between router nodes in a context of robotic router deployment. 1.2.2 Interference Power Bound Analysis for Network Form- ation Control In our second study, we focus on answering one key question in the design of a multi- robot system that can self-organize to maintain a dynamic wireless network with acceptable link qualities: is there a lower bound on the number of robots needed to deploy to guarantee the link quality requirements such as minimum Bit-Error-Rate (BER) and minimum acceptable Signal to Interference-Noise Ratio (SINR)? This problem directly falls under the category of communication aware robot position in RWN. Based on our literature survey, we discover that while there exist some works on robotic routers [7, 59], none of them (to the best of our knowledge) answer this question which is fundamental to the deployment of an RWN. In this study, we rst prove that in any CSMA based RWN, the interference power is upper bounded while achievable SINR is lower bounded. Next, we use the interference and SINR bounds to show that the required number of robots is also lower bounded given the target link performance requirements. We detail the process of mapping target link performance requirements into this bound in Chapter 5. This work will guide system developer to choose an appropriate number of robots to deploy as well as to get an idea of the performance limits of the deployed networks. 18 1.2.3 Routing and Data Collection Protocol In the third study, we explore the problem of data collection and routing in an RWN. While the links are controllable, they still suer from traditional issues such as interference, varying link qualities, and node failures. Moreover, in a network of robotic routers, the set of active links changes constantly. We focus on a Back- pressure routing algorithm called the Heat Diusion (HD) algorithm [2], due to its promising performance guarantees without maintaining a routing table, and its ability to easily adapt to mobile environments. The core of this algorithm lies in the classical Heat transfer equations where heat ows from a heated region to a less heated or cold region. The HD algorithm uses the analogy of the heat propagation in collecting data from a source to a destination. To this end, we implement a practical version of the theoretical HD algorithm in Contiki OS [60], which we refer to as the Heat Diusion Collection Protocol (HDCP) and analyze its performance for a varying set of network conditions in static settings, explained in Chapter 6. The real world experiments demonstrate promising routing properties such as lower delay compared to its alternatives and adaptability in the dynamic environment which makes HDCP a competent routing protocol for RWN. 1.2.4 Unied Communication Protocol for Control and Sensing 19 In the course of our fourth study, we focus on another important research problem in RWN that pertains to the application layer protocol research. For ecient oper- ation of an RWN that consists of a wide range of battery-constrained heterogeneous robots operating on a shared limited bandwidth channel, we require lightweight, low-power. low bandwidth consuming application layer protocols. To this end, we noticed that the traditional solutions, mainly based on the well-known Robot Operating System (ROS), fall short due to the dependency on heavy bandwidth and power consuming protocols such as XML-RPC. To this end, we propose the Robotic Overlay coMmunicAtioN prOtocol (ROMANO) which is a novel lightweight overlay networking protocol for sensing and control of a set of heterogeneous robots that build upon the cutting-edge lightweight publish-subscribe Internet of Things (IoT) protocol called the Message Queuing Telemetry Transport for Sensor Nodes (MQTT-SN) [61]. ROMANO employs the concept of \topics" from the MQTT-SN communication protocol to create an overlay network of robots where each robot subscribes/publishes to a set of control and sensing related topics (e.g., gyroscope, proximity, location, speed, movement control instructions, etc.). ROMANO can change and control the topic subscriptions of dierent robots to control the RO- MANO communication endpoints for dierent types of communication: one to one, one to many, many to many, or many to one. This is further detailed in Chapter 7. 20 1.2.5 Passive RF Sensing In the fth and nal study, we look into the problem of passive RF sensing in an unknown environment using the concept of a bistatic radar [62]. Researchers have applied RF signal in many sensing and mapping contexts including but not limited to robotic mapping of unknown areas [63], indoor localization [48], and see through capabilities [8]. In this study, we propose a passive RF mapping system with a single rotating directional antenna that scans the environment for dierent orientation of the antenna and collects a set of directional RSSI samples from a single omnidirectional transmitter. Next, we feed these directional RSSI samples in form of an RSSI vector to an MLE based estimation module that iterates through dierent potential combinations of the transmitter and re ectors locations to nd the location combination that is most probable to generate the collected RSSI vector. We employ the TrackBot prototype from Study 1 to perform a set of simulation and real-world experiments to prove the concept and to analyze the performance of the MLE based estimation algorithm. This system is detailed in Chapter 8. This passive sensing technique is meant to be combined with the RF- based relative localization and positioning method from Study 1 to make of use of the same hardware for a dual purpose: localization and mapping. 21 Chapter 2 Background In this chapter, we explain some key concepts and preliminaries that are required to better understand the studies presented in this thesis. 2.1 Kalman Filter In this section, we brie y present the process of Kalman Filtering which is adapted from [1, 64]. The Kalman lter is one of the most ubiquitous lter in statistical noise ltering for long-term measurement based estimation of a set of unknown variables. The diverse range of application domains for the Kalman Filtering includes but not limited to robotics, wireless sensor networks, signal processing, and control. The core of the Kalman Filtering lies in two recursive steps: Prediction and Estimation. Kalman lter keeps track of the estimations of the system state and the noise over time and uses them to predict/estimate the next state. Brie y speaking, Kalman lter rst predicts the state at time n as ^ S njn1 by using the last state estimate 22 Figure 2.1: Illustration of the Kalman Filtering (This gure is adapted from [1]) ^ S n1jn1 and the system model. Similarly, it predicts the uncertainty or noise state at timen,P njn1 , from the respective estimations at timen1,P n1jn1 . Next, the Kalman lter applies the observation/measurement at time n, O n , to update the state and uncertainty estimates for timen, ^ S njn andP njn respectively. This process, illustrated in Fig. 2.1, is repeated throughout the duration of the experiments. 2.2 Linear Quadratic Gaussian Control A Linear Quadratic Gaussian (LQG) controller is a combination of a Kalman Filter and a Linear Quadratic Regulator (LQR) that is proven to be the optimal controller for linear systems with Additive White Gaussian Noise (AWGN) and incomplete 23 state information [65]. The linear system equations for any discrete LQG problem can be written as: S n+1 =A n S n +B n U n + z n O n =C n S n + w n (2.1) whereS n is the state vector, A n and B n are the state transition matrices, U n is the LQG control vector, z n is the system noise with covariance Z n , O n is the LQG system's observation vector, C n is the state-to-observation transformation matrix, and w n is the observation noise with covariance W n at time n. An LQG controller rst predicts the next state based on the current state and the signals generated by the LQR. Next, it applies the system observations using Kalman ltering to update the estimates further and generates the control signals based on the updated state estimates. For a nite time horizon LQG problem [66] with N being the horizon, the cost function can be written as: J =E S T N FS N + N1 X n=0 S T n Q n S n + U T n H n U n ! (2.2) where F 0; Q n 0; H n > 0 are the weighting matrices. The discrete time LQG controller for this optimization problem is: ^ S n+1 =A n ^ S n +B n U n +K n+1 (O n+1 C n+1 fA n ^ S n +B n U n g) U n =L n ^ S n and ^ S 0 =E[S 0 ] (2.3) 24 where ^ denotes estimates, K n is the Kalman gain which can be solved via the algebraic Riccati equation [67], and L n is the feedback gain matrix. The Kalman gain can be calculated as: K n =P n C T n (C n P n C T n +W n ) 1 P n+1 =A n P n P n C T n C n P n C T n +W n 1 C n P n A T n +Z n P 0 =E S 0 ^ S 0 S 0 ^ S 0 T (2.4) The feedback gain matrix equals L n = (B T n R n+1 B n +H n ) 1 B T n R n+1 A n R n =A T n R n+1 R n+1 B n B T n R n+1 B n +R n 1 B T n R n+1 A n +Q n R N =F: (2.5) 2.3 Backpressure Routing The general idea behind dynamic queue-aware routing algorithms such as the Back- pressure (BP) [68] algorithm and the Heat Diusion (HD) algorithm [2] is that they do not require any explicit path computation. Instead, the next-hop for each packet depends on queue-dierential weights that are functions of the local queue occupancy information and link state information at each node. It is a general assumption in (theoretical) queue-aware routing algorithms such as BP that the networks operate in slotted time. Furthermore, a wireless network is represented as 25 a graph (V;E) with verticesV and edgesE. However, the adjacent links or edges of a wireless network cannot be used simultaneously due to many constraints such as interference. In that context, a maximal schedule is dened as a set of links such that no two links interfere with each other and no other link can be added to that set without causing interference. We will denote a maximal schedule as: =f ij ji6= j and i;j2Vg2f0; 1g jEj , where ij = 1 if the link ij (or link ji) is included in the schedule. The set of all such maximal schedule is referred to as a scheduling set, denoted as . Next, we brie y discuss the Backpressure routing algorithm, rst proposed by Tassiulas and Ephremides [68], and extended by Neely et al. [69, 70]. The original BP routing algorithm [68] consists of three major steps: BP weighing, BP scheduling, and BP forwarding. The BP algorithm uses the in- formation about estimated channel capacities ij (n) and the queue backlogs q i (n) to make the routing decisions at each time slot n. This follows a brief description of the BP routing steps including the penalty optimization extension introduced by Neely et al. 2.3.1 BP Weighing For each link ij in the network, nd the queue dierential, q ij (n) =q i (n)q j (n). Next, assign some weights to the links based on the queue dierential as follows. w ij (n) = ij (n)q ij (n) (2.6) 26 In the original BP, only the queue stabilities are considered. To incorporate the routing cost into the BP, the drift-plus-penalty approach [69, 70] was proposed, which we refer to as the V-parameter BP algorithm. In this approach, a route usage cost is added as a negative penalty in the weight calculation as follows. w ij (n) = ij (n)(q ij (n)V: ij ) (2.7) where V2 [0;1) determines the importance of the link penalty and ij is the link penalty which depends on the link utility or cost function along with some penalty functions. 2.3.2 BP Scheduling Find or choose a scheduling vector 2 that maximizes the sum of the weights of the activated links. In other words, choose a scheduling vector such that (n) = arg max 2 X ij2E ij w ij (n) (2.8) In case of ties, the scheduling vector is chosen randomly from the solution set. 2.3.3 BP Forwarding Based on the scheduling vector from the BP scheduling step, if a link is active at time-slotn i.e., ij (n) = 1, and if the link weightw ij (n)> 0, then transmit packets 27 on that link at full capacity ij (n). Null packets are sent if a node does not have enough packets to send. 2.4 Publish Subscribe Protocol and MQTT In this section, we brie y explain the core concepts of MQTT-SN and MQTT to better understand ROMANO. Message Queuing Telemetry Transport (MQTT) is a publish-subscribe based machine to machine application layer networking protocol for the Internet of Things (IoT). The core idea is that a set of \subscriber" nodes are connected to a set of \publisher" nodes via a \broker" and the concept of a \topic". Each publisher publishes its messages to the broker by tagging them with a topic ID. The broker receives the published messages and sends them to all the subscribers of that topic. When there are multiple subscribers to a topic, the broker dispatches copies of a published message via sequential unicast. This is further illustrated in Fig. 2.2. MQTT works on top of the Transmission Control Protocol (TCP) which guar- antees reliable message transfer. MQTT also provides its own Acknowledgments (ACKs) for additional reliability via three dierent Quality of Service (QoS) modes numbered in the order of increasing complexity: QoS 0, QoS 1, and QoS 2. The QoS feature of MQTT handles the required message retransmissions to provide message delivery guarantee in an unreliable lossy network with frequent packet losses. In that regard, the QoS 0 refers to at most once message transfer guarantee, the QoS 28 Figure 2.2: Illustration of Publish-Subscribe Communication: A set of publisher nodes publishes their data to a broker by associating the data with a topic. The broker relays the data to all the subscribers of that topic 1 refers to at least once message transfer guarantee, and the QoS 2 refers to exactly once message transfer guarantee. MQTT for Sensor Nodes (MQTT-SN) is a variant of MQTT that is focused on resource-constrained devices such as battery powered sensors. MQTT- SN uses the User Datagram Protocol (UDP) rather than TCP and has smaller message headers to reduce the overall communication overhead. However, MQTT-SN still maintains reliability through the QoS levels used in MQTT. The typical format of an MQTT-SN Publish message is as follows. 1 Table 2.1: MQTT-SN Publish Message Format length Msg Type Flags Topic id MsgId Data (octet 0) (1) (2) (3-4) (5-6) (7:n) 1 For a more detailed description of MQTT-SN, interested readers are referred to http://mqtt. org/new/wp-content/uploads/2009/06/MQTT-SN_spec_v1.2.pdf. 29 The elds Length, Msg Type, Flags, and Msd Id are used by MQTT-SN for proper message delivery whereas the \Topic id" determines the receiving endpoints of a message and the \Data" eld contains the actual message. 30 Chapter 3 Related Works Till last decade, there was no signicant focus on the RWN related research topics, mostly due to lack of proper technologies and hardware. Thus, most of the existing works on RWN topics are very recent. However, there exist a range of works related to collaborative robotics and wireless sensor networks that are very much relevant to our studies. In this section, we present a summary of the existing works related to each of the studies. 3.1 Relative Localization and Tracking In this section, we present the existing works related to our proposed ARREST system for RSSI based relative localization and positioning. This set of related works can be subdivided into three major classes: Tracking related works, Relative Localization related works, and LQG based control related works. 31 3.1.1 Tracking Localization and Tracking of moving targets have been a very active eld of research in the robotics research domain. Over last two decades, researchers have proposed a range of interesting techniques for tracking dierent moving objects such as hu- mans, robots, and animals. To this extent, the most common architectures are based on Vision and Laser Range Finder systems. Researchers have proposed a class of ecient sampling and ltering algorithms for vision-based tracking such as the Kalman ltering and the particle ltering [56, 71]. Among the pioneer works, the work of Papanikolopoulos, Khosla, and Kanade [55] in combining vision algo- rithms with dierent controller schemes, ranging from a PID to complicated LQG controller, is mentionable. Among recent works, Jung and Sukhatme [56] proposed an adaptive particle lter based approach for tracking a moving object in the im- age space with a single camera based robot while omnidirectional camera-based tracking system is proposed in [72]. In [73], a Laser Range Finder based track- ing of multiple moving objects that relies on a sequence of temporal snapshots is proposed for an autonomous wheelchair guidance system. There also exist some works that combine vision with rangender such as the work of Lindstr om and Eklundh [57], and Kleinehagenbrock et al. [74]. However, any camera/vision based approach has many limitations such as the visibility requirement, limited eld of vision of traditional cameras, larger form-factor of the robots, and costly image processing software requirements. On the other hand, while the laser range based 32 methods do not suer from the visibility problem, they are limited to direct line of sight between the target and the tracker and require complicated processing. In contrast, our proposed ARREST architecture employs RF signals for localization and tracking, which can be developed with low-cost, small form-factor hardware, and can be applied in scenarios with limited visibility and non-line-of-sight such as inside cluttered indoor environments, rubbles, forests, and undergrounds. 3.1.2 Relative Localization Another class of related works lies within the large body of works in the eld of RF Localization in wireless sensor network [58] where robots are employed for localizing static nodes. The work of Graefenstein et al. [75] that employs a rotating antenna on a mobile robot to map the RSSI of a region and exploit the map to localize the static nodes, is mentionable in this context. Similar works have been proposed in the context of tracking sh or wild animals [76, 77], where the target is assumed to be a static radio-tagged sh/animal. The main problem addressed in these works are proper path planning and sensing location selection for sucient data collection. On a related topic, hardware for the localization and tracking of a moving target (sh) are proposed in [78] where the navigation of the tracker robots rely on a combination of GPS and Compass. Similar work for wildlife tracking using aerial robots is shown in [79]. Related to RF-based relative positioning works, Zickler and Veloso [80] proposed a data-driven approach that relies completely on the Robot's 33 received RSSI for localization and tethering purpose. In their discrete grid based Bayesian probabilistic approach, the target communicates its odometer reading with the tracker while the tracker moves to multiple positions relative to the target and collects multiple RSSI measurements. Oliveira et al. [81] proposed an RSSI based, anchor-less, relative localization system for a group of mobile robots, which relies on pairwise RSSI measurements between the robots, and applies Kalman lter and the Floyd{Warshall algorithm for relative localization. Some researchers have also employed infrared [82] and ultrasound devices [83] for relative localization. Vasisht, Kumar, and Katabi [84] have applied a MIMO-based system to relatively localize a single node. Simulation of an RSSI based constant distance following technique is demonstrated in [85] where the leader movement path is predetermined and known to the Follower. However, unlike these works, the TrackBot in the ARREST system relies solely on RSSI data not only for the localization of the mobile Leader with unknown movement pattern but also for autonomous motion control with the goal of maintaining a bounded distance. The closest state-of-the-art related to our work is presented in [86]. In this work, the authors developed a system that follows the bearing of a directional antenna for eective communication. However, to our knowledge, the maintenance of guaranteed close proximity to the Leader was not discussed in [86], which is the most important goal in our work. Moreover, this work employs both RSSI and sonar to determine the orientation of the transmitter 34 antenna along with comparatively costly and high power consuming processing hardware with the larger form factor. 3.1.3 LQG Based Control On LQG related works, Bertsekas [66] has demonstrated that an LQG controller can provide the optimal control of a robot along a known/pre-calculated path when the uncertainty in the motion, as well as the observation noise, are Gaussian. Ex- tending this concept, Van Den Berg, Abbeel, and Goldberg [87] proposed an LQG based robotic path planning solution to deal with uncertainties and imperfect state observations. In [88], Van den Berg et al. proposed yet another LQG based control system for obstacle avoidance in robotic motions. There exist many other LQG based robotic path planning and control systems [89, 90]. To the best of our knowl- edge, we are the rst to combine the RSSI based relative position, angle, and speed estimation with LQG control for localization and tracking of a moving RF-emitting Object. 3.2 Interference Power Bound for CSMA Based Wireless Network In our venture for a generic model (during the second study) to estimate the num- ber of robots to deploy (by estimating the maximum allowed inter-node distance 35 to maintain the target SINR), we explored the existing literature in search for a proper model of interference and Signal to Interference plus Noise Ratio (SINR) range analysis in a CSMA/CA based wireless network. There exist a large body of works that characterize the mean interference power distribution in CSMA net- works ([91, 92]) by employing the concepts of point process such as Poisson point process, Mat'ern hard-core process, and simple sequential inhibition [93]. The basic idea of this class of work is to represent the locations of the interferers as spatial point processes, more specically, hard-core point processes where the nodes fulll a criterion of being a certain distance apart to take into account CSMA among themselves. Through the application of dierent point process properties such as thinning and superpositions, researchers [91, 94, 92, 95] have estimated the proba- bility distributions of the mean interference powers in the presence of CSMA/CA. Interested readers are referred to [96] for a detailed survey on this class of works. Among the other class of works, the work of Hekmat and Van Mieghem [97] is the most relevant to us. They demonstrated that the interference power in the presence of CSMA is actually upper bounded and can be best estimated by use of hexagonal lattice structure. However, this work as well as most of the other works include some assumptions such as the receiver being located at the center of a contention region, which is only acceptable if the devices follow the 802.11 RTS/CTS standards [98]. Interestingly, in practice, very few commercially avail- able products actually employ the RTS/CTS mechanism. Furthermore, the Internet 36 of Things (IoT) and Wireless Sensor Network (WSN) standard 802.15.4, which is also a standard choice for robotic network platforms, does not use RTS/CTS mech- anism, in order to avoid ineciencies. Thus, it is actually the transmitter that employs the CSMA and should be located at the center of the contention region, whereas, the receiver is free to be anywhere inside the transmitter's communication range. In such cases, the SINR and the interference mean values as well as the bounds for a link are, in fact, functions of the separation distance (d) between the endpoints of the link. In our second study, unlike the existing works, we character- ize the SINR or the interference as a function of the separation distance (d) and apply the modied bounds to estimate the number of robots to be deployed to satisfy the communication performance goals. 3.3 Data Collection Routing Protocols In this section, we present a brief survey of the existing literature that is directly related to the proposed HDCP routing protocol for RWN in our third study. In the existing network theory literature, there exists a range of throughput optimal poli- cies [99, 100, 101] alongside the well-known Backpressure routing [69] algorithm. The HD algorithm also provides the same throughput optimality guarantee in the- ory. However, what motivated us to implement HD were the striking additional expected performance capabilities (based on the theoretical results)| that it also oers a Pareto-optimal trade-o between routing cost and queue congestion. 37 There have also been several reductions of Backpressure routing to practice in the form of distributed protocols, pragmatically implemented and empirically evaluated for dierent types of wireless networks [102, 103, 104]. Most relevant to the present work is the Backpressure Collection Protocol (BCP) developed by Moeller et al. [102], the rst-ever implementation of dynamic queue-aware routing in wireless sensor networks. Our third study is informed by the BCP approach in implementing the Backpressure routing in a distributed manner. We also directly compare the performance of the new HDCP protocol with BCP. Besides BCP, there are a number of other prior works on routing and collec- tion protocols for wireless sensor networks, including the Collection Tree Protocol (CTP) [105], Glossy [106], Dozer [107] and Low-power Wireless Bus [108]. We provide a side by side comparison of HDCP with the well-known CTP and BCP protocols. We believe this provides a meaningful comparison with a state of the art minimum cost quasi-static routing protocol as well as a state of the art queue and cost-aware dynamic routing protocol. In recent years there has been a signicant focus on developing networking protocols that are IP-friendly, such as RPL [109]. While this study does not focus on providing an IP-compliant version of HD, there is prior work on extending BCP to handle IP packets [110] and we believe that a similar approach could be adopted to enable IP operation for HDCP. 38 In the prior works, Banirazi et al. have presented the idealized Heat Diusion routing algorithm [2, 111]. All of these are network theory papers that spell out a centralized algorithm, assume global synchronization, assume that at each time step an NP-hard Maximum Weight Independent Set problem can be solved and that all queues are of an unlimited size, and under these assumptions prove various properties of the HD algorithm. The only evaluations presented in these works are idealized MATLAB simulations. Our third study is clearly inspired by and built upon the earlier works on HD routing, but is the rst to develop and implement it as a realistic distributed protocol (HDCP) and evaluate it on a real testbed. 3.4 Pub-Sub Based Robotic Communication and Control In our fourth study, we propose an overlay communication protocol as an applica- tion layer protocol for an RWN that uses the well-known MQTT-SN as the protocol underneath. The widespread alternatives to MQTT-SN are MQTT, Constrained Application Protocol (CoAP) [112], and XML-RPC (ROS). Amaran et al. [113] pre- sented a comparison of these protocols, showing that MQTT-SN and CoAP have similar performance and advantages over MQTT and XML-RPC (ROS). Addition- ally, they showed that MQTT-SN messages are slightly more ecient than CoAP, 39 which motivates our choice of MQTT-SN. Recently, a middleware named Data Dis- tribution Service (DDS) is gaining popularity in the space of Industrial IoT due to its delay and throughput guarantees [114]. However, the delay and throughput guarantees are materialized at a cost of increased bandwidth consumption and con- trol trac overhead [115]. On contrary, MQTT-SN has signicantly less bandwidth consumption and control overhead which we believe to be a key communication re- quirement in dense robotic swarms. Nonetheless, since ROMANO is an overlay protocol, it can be easily ported to DDS. Another mentionable protocol for high bandwidth and low latency systems is the Lightweight Communication and Mar- shalling (LCM) protocol [116] with the key dierence with MQTT-SN being the \high bandwidth" requirement. Thus, we opt for the MQTT-SN protocol instead. While MQTT-SN has been proposed and used in the context of sensing in static IoT sensor deployments, MQTT-SN has not yet been used for a network of robots. Many researchers have envisioned/proposed utilizing MQTT in the context of robotic control. Aroon [117] demonstrated the feasibility of remotely controlling a single robot over a cloud platform via MQTT. Kazala et al. [118] have also presented a proof of concept implementation of using the basic functionality of MQTT for data exchange among multiple robots. However, to the best of our knowledge, there are no publications presenting a low power MQTT-SN based overlay protocol that allows nodes to easily facilitate communication endpoints (one-to-one, one-to- many, many-to-one, many-to-many) among a robot swarm. SENORA, proposed 40 in [119], includes an inter-robot communication protocol which takes into account robot location for medium access and peer-to-peer communication, but the authors do not detail how generic communication would be facilitated among robots (e.g. one-to-one or one-to-many) which our protocol addresses. The authors of [120] proposed a messaging architecture for inter-robot communication with the target application specically for integration into a surveillance system. In contrast, our work targets generic multi-robot systems along with various application-specic real implementation details. Sauer et al. [121] presented the concept of an overlay protocol built on top of the CoAP but do not present any implementation details or performance evaluation. The lack of details makes it impossible for us to replicate and compare with the existing work. On the other hand, ROS messages are widely used to connect robot swarms. For example, Yan et al. [122] presented a prototype system built on ROS messages for robot communication and described the ease of scaling their system, although they do not include any performance evaluation. However, while ROS messages are powerful, their packet header overhead and the computation requirement to run ROS do not make it ideal or bandwidth-ecient for low capacity robots consisting of only microcontrollers using IEEE 802.15.4 radios. Nonetheless, it should be still possible to tunnel ROMANO messages through ROS, if so desired by an application developer. 41 3.5 RF Mapping RF signal based localization and mapping have been extensively studied in the ex- isting literature. In this context, the work of Mosto et al. [8, 123] on the mapping of an environment using two moving RF transceivers robots is relevant. In their works, the robots follow a predetermined set of paths for collecting a set of RF samples which are later processed using the concept of compressible sampling to map obstacles. They exploit the attenuation introduced by dierent obstacles to map them. Our goal is slightly dierent as we are interested in passively localizing the objects/surfaces by extracting multipath components from the received signal at a single receiver while the transmitter and receiver remain in the line of sight with respect to each other. This also separates our work from the standard RF Sensor Network based passive localization works [124] where a xed network of RF devices monitor changes in the RF communication channel properties in order to passively localize an object. There also exist some passive localization works that employ UWB radios and MIMO systems to localize objects. Aditya and Molisch [125] pre- sented one such solution where a set of transmitters and receivers use the blocking characteristics of pairwise communication links to passively localize objects. Gul- mezoglu, Guldogan, and Gezici have proposed a similar UWB radio based solution in [126]. There also exist some works that use RFID [127] and multiple receiving antennas for localization. The work of Tan, Chetty, and Jamieson [128] on us- ing 8-element uniform circular phased arrays for through-wall passive sensing and 42 mapping is also relevant. The proposed system, called TrueMapper, was built on top of costly, power consuming USRP radios. Fadel et al. [129, 130] have worked on a custom solution called RF-capture that employs a directional antenna array to sense human motion. They capture the re ections of a human body with each antenna transceiver in the array, which are later processed jointly to generate an image. Chetty, Smith, and Woodbridge [131] also presented a wi based multi- static radar system for through-the-wall passive sensing. There also exist some systems [132, 45] that use phase information of the RF signal along with RSSI to implement synthetic aperture radar (SAR) based imaging and localization. How- ever, most of the cheap, commercially available RF modules do not provide access to the phase information. What separates our work is the application of a single RF transmitter-receiver antenna pair instead of multiple antennas or antenna ar- rays to achieve passive localization of re ecting objects with acceptable performance that can be implemented with low-cost o-the-shelf hardware. 43 Chapter 4 RSSI Based Relative Position Control for RWN In this study, we focus on a class of relative localization and tracking problems in RWN where the term \tracking" refers to the relative positioning and con- trol of a robot that is required to stay in the bounded proximity of an uncon- trolled/controlled moving target, which can be a leader robot or a human. 1 We present Autonomous Rssi based RElative poSitioning and Tracking (ARREST), a new robotic mobile sensing system for tracking and following a moving RF-emitting object, which we refer to as a Leader, solely based on signal strength information. This kind of system can expand the horizon of autonomous mobile tracking, dis- tributed robotics, and robotic routers into many scenarios with limited visibility such as night time or adverse weather operations, forests that are dense or on re, cluttered environments, and underground settings [4, 11, 3, 12, 136]. Our proposed tracking agent, which we refer to as the TrackBot, uses a single rotating, o-the- shelf, directional antenna, novel angle, and relative speed estimation algorithms, 1 The material in this chapter is based in part on the works in [133, 134, 135]. 44 and Kalman ltering to continually estimate the relative position of the Leader with decimeter level accuracy (which is comparable to a state-of-the-art multiple access point based RF-localization system) and the relative speed of the Leader with accuracy on the order of 1 m/s. The TrackBot feeds the relative position and speed estimates into a Linear Quadratic Gaussian (LQG) controller to generate a set of control outputs to control the orientation and the movement of the TrackBot with the objective of staying withing a threshold distance, D th of the leader. We perform an extensive set of real-world experiments with a full- edged prototype to demonstrate that the TrackBot is able to stay within 5m of the Leader with: (1) more than 99% probability in line of sight scenarios, and (2) more than 70% prob- ability in no line of sight scenarios, when it moves 1.8X faster than the Leader. For ground truth estimation in real-world experiments, we also developed an integrated Time Dierence of Arrival (TDoA) based distance and angle estimation system with centimeter-level relative localization accuracy in the line of sight scenarios. 4.1 Problem Formulation In this section, we present the details of our tracking problem and our mathematical formulation based on both a 2D global frame of reference,R G , and the TrackBot's 2D local frame of reference at time t,R F (t). Let the location of the Leader at time t be represented as X L (t) = (x L (t);y L (t)) inR G . The Leader follows an unknown path,P L . Similarly, let the position of the TrackBot at any time instant 45 Figure 4.1: The TrackBot Prototype. This prototype system is built using commer- cial o-the-shelf products. The black lines illustrate the wire connections between dierent hardware components. t be denoted by X F (t) = (x F (t);y F (t)). The maximum speeds of the Leader and the TrackBot arev max L andv max F , respectively. For simplicity, we discretize the time with steps oft> 0 and use the notationn to refer to then th time step i.e.,t =nt. Let d[n] =jjX L [n]X F [n]jj 2 be the distance between the TrackBot and the Leader at time-slot n, wherejj:jj 2 denotes theL 2 norm. Then, withD th denoting the max distance allowed between the Leader (L) and the TrackBot (F), the objective of tracking is to plan the TrackBot's path,P F , such that P (d[n]D th ) 1 8n whereP(:) denotes the probability. However, realistic deployment scenarios typically do not have a global frame of reference. Thus, we formulate a local frame of reference,R F [n], with the origin representing the location of the TrackBot, X F [n]. Let the robot's forward and back- ward movements at any time instant n be aligned with the X-axis ofR F [n]. Also, let the direction perpendicular to the robot's forward and backward movements be 46 Figure 4.2: Global and Local Coordinate System Illustration aligned with the Y-axis ofR F [n]. This local frame of reference is illustrated in Fig. 4.2. Note that in our real system all measurements by the TrackBot are in R F [n]. In order to convert the position of the Leader inR F [n] fromR G or vice versa for simulations and emulations, we need to apply coordinate transformations. Let the relative angular orientation ofR F [n] with respect toR G be rot [n] and the position of the Leader inR F [n] be X rel L [n] = (x rel L [n];y rel L [n]). Then: 2 6 6 6 6 6 6 4 x L [n] y L [n] 1 3 7 7 7 7 7 7 5 = 2 6 6 6 6 6 6 4 cos( rot [n]) sin( rot [n]) x F [n] sin( rot [n]) cos( rot [n]) y F [n] 0 0 1 3 7 7 7 7 7 7 5 2 6 6 6 6 6 6 4 x rel L [n] y rel L [n] 1 3 7 7 7 7 7 7 5 (4.1) and rel [n] = arctan(y rel L [n]=x rel L [n]) is the Leader's direction inR F [n]. To restate the objective of tracking in terms of the local coordinates, P (d[n]D th ) 1 8t where d[n] =jjX rel L [n]jj 2 = (x rel L [n] 2 +y rel L [n] 2 ) 1=2 . 47 4.2 The ARREST System In this section, we discuss our proposed system solution for RSSI based relative position sensing and tracking. In the ARREST system, the Leader is a robot or a human carrying a device that periodically transmits RF beacons, and the TrackBot is a robot carrying a directional, o-the-shelf RF receiver. As shown in Fig. 4.3, the ARREST architecture consists of three layers: Communication ANd Estimation (CANE), Control And STate update (CAST), and Physical RobotIc ControllEr (PRICE). In order to track the Leader, the TrackBot needs suciently accurate estimations of both the Leader's relative position (X rel L ) and relative speed (v rel ). Thus, at any time instant n, we dene the state of the TrackBot as a 3-tuple: S[n] = d e [n]; v e rel [n]; e rel [n] T where the superscript e refers to the estimated values, d e [n] =jjX rel L [n]jj 2 refers to the estimated distance at time n, v e rel [n] refers to the relative speed of the TrackBot along the X-axis ofR F [n] with respect to the Leader, and e rel [n] refers to the angular orientation (in radians) of the Leader in R F [n]. CANE: The function of the CANE layer is to measure RSSI values from the beacons and approximate the Leader's position relative to the TrackBot, (i.e.,d e [n] and e rel [n]). The CANE layer is broken down into three modules: Wireless Com- munication and Sensing, Rotating Platform Assembly, and Relative Position Esti- mation. At the beginning of each time slot, n, the Wireless Communication and Sensing module and the Rotating Platform Assembly perform a 360 RSSI sweep 48 by physically rotating the directional antenna while storing RSSI measurements of successful beacon receptions into the vector r v [n]. The Relative Position Estimation module uses r v [n] to approximate the relative position of the Leader by leveraging pre-estimated directional gains of the antenna, detailed in Section 4.3. Figure 4.3: The ARREST Architecture CAST: The functions of the CAST layer is to maintain the 3-tuple state esti- mates and to generate control commands based on current and past observations to send to the PRICE layer. The CAST layer consists of two main modules: the Lin- ear Quadratic Gaussian (LQG) Controller and the Strategic Speed Controller. The CAST layer also includes a special, case-specic module called Multipath Angle Cor- rection for severely cluttered environments (explained further in Section 4.5.3.4). 49 The Strategic Speed Controller estimates the relative speed of the Leader by ex- ploiting past and current state information and generates the speed control signal in conjunction with the LQG controller. The term \Strategic" is used to emphasize that we propose two dierent strategies, Optimistic and Pragmatic, for the relative speed approximation as well as speed control of the TrackBot (detailed in Sec- tion 4.3.3). The LQG controller, detailed in Section 4.2.1, incorporates past state information, past control information, and relative position and speed approxima- tions to (1) generate the system's instantaneous state, (2) determine how much to rotate the TrackBot itself, and (3) determine what should be the TrackBot's rela- tive speed. The state information generated by the LQG controller is directly sent to the Strategic Speed Controller to calculate the absolute speed of the TrackBot. PRICE: The goal of the PRICE layer is to convert the control signals from the CAST layer into actual translational and rotational motions of the TrackBot. It consists of two modules: Movement Translator and Robot Chassis. The Movement Translator maps the control signals from the CAST layer to a series of platform- specic Robot Chassis motor control signals (detailed in Section 4.4). 4.2.1 Proposed LQG Formulation In our proposed solution, we rst formulate the movement control problem of the TrackBot as a discrete time Linear Quadratic Gaussian (LQG) control problem. An LQG controller is a combination of a Kalman Filter with a Linear Quadratic 50 Figure 4.4: Proposed LQG Controller System Regulator (LQR) that is proven to be the optimal controller for linear systems with Additive White Gaussian Noise (AWGN) and incomplete state information [65]. The linear system equations for any discrete LQG problem can be written as: S[n + 1] =A n S[n] +B n U[n] + Z[n] O[n] =C n S[n] + W[n] (4.2) whereA n andB n are the state transition matrices, U[n] is the LQG control vector, Z[n] is the system noise, O[n] is the LQG system's observation vector, C n is the state-to-observation transformation matrix, and W[n] is the observation noise at time n. A LQG controller rst predicts the next state based on the current state and the signals generated by the LQR. Next, it applies the system observations to update the estimates further and generates the control signals based on the updated state estimates. In our case, O[n] = d m [n]; v m rel [n]; m rel [n] T (the superscript m refers to measured values). Moreover, in our case, the state transition matices 51 A n =A, B n =B, C n =C are time invariant and the time horizon is innite as we do not have any control over the Leader's movements. For a innite time horizon LQG problem [66], the cost function can be written as: J = lim N!1 1 N E N X n=0 S[n] T QS[n] + U[n] T HU[n] ! (4.3) where Q 0; H> 0 are the weighting matrices. The discrete time LQG controller for this optimization problem is: ^ S[n + 1] =A ^ S[n] +BU[n] +K(O[n + 1]CfA ^ S[n] +BU[n]g) U[n] =L ^ S[n] and ^ S(0) =E(S(0)) (4.4) where^denotes estimates, K is the Kalman gain which can be solved via the alge- braic Riccati equation [67], and L is the feedback gain matrix. In our system, the state transition matrix values are as follows: A = 2 6 6 6 6 6 6 4 1 t 0 0 1 0 0 0 1 3 7 7 7 7 7 7 5 B = 2 6 6 6 6 6 6 4 0 t 0 0 1 0 0 0 1 3 7 7 7 7 7 7 5 C = 2 6 6 6 6 6 6 4 1 0 0 0 1 0 0 0 1 3 7 7 7 7 7 7 5 (4.5) wheret is the time granularity for the state update. Ideally, withint, the TrackBot executes one set of movement control decisions while it also scans RSSI for the next set of control decision (detailed in Sections 4.5.1 and 4.5.2). Note that, to solve 52 this optimization problem, we also require the covariance data for the noise, i.e., WW =E(WW T ); and ZZ =E(ZZ T ). We assume the system noise, Z[n], to be Gaussian and the measurement noise, W [n], to be approximated as Gaussian. Furthermore, we tweak the LQG controller to send out a rotational control signal after a state update and before generating the LQR control signals, U[n]. The rotational control signal rotates the TrackBot assembly by e rel [n] and sets e rel [n] = 0. This is performed to align the robot toward the estimated direction of the Leader before calculating the movement speed. Thus, we use only the Kalman Filtering part of the LQG controller for angle/orientation control. The reason behind not using the full LQG controller for TrackBot's orientation control lies in the fact that the LQG controller considers a sudden rapid change in direction ( 180 ) as a noise and takes a while to correct the course of the TrackBot. A block diagram of our LQG control system model is presented in Fig. 4.4. 4.3 RSSI Based Relative Position and Speed Observations In this section, we discuss our methodologies to map the observed RSSI vector, r v [n], into the controller observation vector, O[n]. 53 4.3.1 Distance Observations The RSSI is well known to be a measure of distance if provided with sucient transceiver statistics such as the transmitter power, the channel path loss exponent, and the fading characteristics. One of the standard equations for calculating the received power for an omnidirectional antenna is as follows [18]: P r;dBm =P t;dBm +G dB L ref 10 log 10 d m [n] d ref + P ref r;dBm =P t;dBm +G dB L ref + =) d m [n] d ref 10 ( P ref r;dBm P r;dBm) 10 (4.6) where P r;dBm is the received power in dBm, P t;dBm is the transmitter power in dBm, G dB is the gain in dB,L ref is the path loss at the reference distance d ref in dB, is the path loss exponent, d m [n] is the distance between the transmitter and receiver, is the random shadowing and multipath fading noise in dB, and P ref r;dBm is the received power at reference distance, d ref . Eqn. (4.6) is also valid for the average received power for a directional antenna with an average gain of G dB . To calculate the received power for a particular direction , we just need to replace G dB in (4.6) with the directional gain of the antenna, G dB (). To apply (4.6) in ARREST, the TrackBot needs to learn the channel parameters such as the,L ref , and d ref . In our proposed system, we assume that the TrackBot has information about the initial distance to the Leader, d m (0). Furthermore, G dB () and P t;dBm are known as a part of the system design process. Upon initialization of ARREST, 54 the TrackBot performs an RSSI scan by rotating the antenna assembly to generate r v (0) and harnesses the average received power (P r;dBm ) information to estimate the environment's as follows. = P ref r;dBm P r;dBm 10 log 10 d m (0) d ref (4.7) Next, the TrackBot applies the estimated and P r;dBm = avgfr v [n]g on (4.6) to map r v [n] to the observed distance to the Leader, d m [n]. 4.3.2 Angle Observations One of the main components of our ARREST architecture is the observation of the Angle of Arrival (AoA) of RF beacons solely based on the RSSI data, r v [n]. There exist three dierent classes of RF-based solutions to determine the AoA. The rst class, antenna array based approaches, employs an array of antennas to determine the AoA by leveraging the phase dierences among the signals received by the dierent antennas [137]. The main diculty of implementing this class is that very few multi-antenna o-the-shelf radios provide access to the phase information. The second class, multiple directional antenna based approaches, employs at least two directional antennas oriented in dierent directions [138] to determine AoA. In this class, the dierences among RSSI values from all antennas are utilized to determine the AoA. However, utilizing current o-the-shelf antenna arrays or multiple directional antennas increases the cost, form factor, and complexity of a 55 TrackBot implementation. We avoid the multiple directional antenna based option also because it requires separate radio drivers for each antenna as well as proper time synchronizations. Thus, we develop methods contributing to the third class of solutions, which is the use of a single, rotating antenna and the knowledge of the antenna's directional gain pattern to approximate the AoA of RF beacons. The core of these methods, called pattern correlation, is to correlate the vector of RSSI measurements, r v [n], with another vector representing the antenna's known, normalized gain pattern, g abs . At the beginning of each time slot n, the TrackBot performs a 360 sweep of RSSI measurements to generate the vector, r v [n]. Then, r v [n] is normalized: g m = r v [n]max(r v [n]). The TrackBot also generates dierent shifted versions of g abs () as follows. r v [n] = [r 180 ;r 178:2 ; ;r 1:8 ;r 0 ;r 1:8 ;r 178:2 ] g m = [r 0 180 ;r 0 178:2 ; ;r 0 1:8 ;r 0 0 ;r 0 1:8 ;r 0 178:2 ] g abs () = [g (180+) ; ;g (0+) ; ;g (178:2+) ] (4.8) where r refers to the RSSI measurement, g refers to the antenna gain, and r 0 = r maxfr v g refers to the observed gain for the antenna orientation of with respect to the X-axis ofR F [n]. The step size of 1:8 is chosen based on our hardware implementation's constraints. Thus, the possible antenna orientations () are limited to =f180; ;1:8; 0; ; 178:2g. Next, the TrackBot em- ploys dierent pattern correlation methods for the AoA observation. Below, we 56 describe three methods in increasing order of complexity. The rst method was originally demonstrated by [75]. Through real-world experimentation, we develop two additional improved methods. 4.3.2.1 Basic Correlation Method The rst method (originally demonstrated by [75]) of determining AoA correlates g m with g abs ()82 and calculates the respective L 2 distances. The observed AoA is the at which the L 2 distance is the smallest: m rel = arg min 2 X k2 ! k jjr 0 k g (k+) jj 2 I r 0 k (4.9) where the indicator function I r 0 k indicates whether the sample r 0 k exists or not to account for missing samples in real experiments, and ! k = 1 is a constant. 4.3.2.2 Clustering Method While the rst method works well if enough uniformly distributed samples ( 100 in our implementation) are collected within the 360 scan, it fails in scenarios of sparse, non-uniform sampling due to packet loss. In real experiments (mainly indoors), the collected RSSI samples can be uniformly sparse or sometimes batched sparse (samples form clusters with large gaps ( 30 ) between them). Denition 4.3.1. An angular cluster () is a set of valid samples for a contiguous set of angles: =fkjI r 0 k = 18k2f f ; f + 1:8; ; l g g. 57 To prevent undue bias from large cardinality clusters that can cause errors in es- timating the correlation, we assign a weight (! k ) to each sample (k) and use the pattern correlation method as in Eqn. (4.9). In our weighting scheme, we assign ! k = 1 jj where k2 . 4.3.2.3 Weighted Average Method Based on real-world experiments, we nd that the angle observation based on the basic correlation method, say 1 m , gives reasonable error performance if the average cluster size, denoted by a , is greater than the average gap size between clusters, a . Conversely, the angle observation based on the clustering method, say 2 m , is better if a << a . Thus, as a trade-o between both the basic correlation method and the clustering method, we propose a weighted averaging method described below. m rel = 8 > > > < > > > : a a 1 m + (1 a a ) 2 m if a a 1 m if a > a (4.10) In the rest of the study, we use the weighted average method for angle observations. 4.3.3 Speed Observations To fulll the tracking objective, the TrackBot needs to adapt its speed of movement (v F [n]), according to the Leader's speed (v L [n]). In our ARREST architecture, the Strategic Speed Controller uses the relative position observations (d m [n]; m rel [n]) 58 from the CANE layer and the past LQG state estimates to determine the current relative speed, v m rel [n], as well as the Leader's speed, v m L [n]. In this context, we employ two dierent observation strategies. The rst strategy, which we refer to as the Optimistic strategy, assumes that the Leader will be static for the next time slot and determines the relative speed as follows: v m rel [n] =v e rel [n] (d m [n]d e [n] cos m rel [n]) t v e L [n + 1] = 0 (4.11) On the other hand, the Pragmatic Strategy assumes that the Leader will continue traveling at the observed speed,v m L [n]. This strategy determines the relative speed as follows: v L [n] = (d e [n]d m [n] cos m rel [n]) 2 + (d m [n] sin m rel [n]) 2 1=2 t v [n] = arctan d m [n] sin m rel [n] d m [n] cos m rel [n]d e [n] m rel [n] v e L [n + 1] =v m L [n] =v L [n] cos( v [n]) v m rel [n] =v F [n]v m L [n] (4.12) For an illustration of dierent components of this process, please refer to Fig. 4.5. Next, the LQG controller uses the observation vector O[n] to decide the next state's relative speed, v e rel [n + 1] which is used by the Speed Controller to generate the TrackBot's actual speed for next time step,v F [n + 1] =v e L [n + 1] +v e rel [n + 1]. Note that the speed of the TrackBot, v F [n], is exactly known to itself at any time n. In 59 addition to the dierent assumptions about the Leader's speed, the two strategies also dier in how the noise is modeled in the correlation between distance and speed estimations: the Optimistic Strategy assumes that the noise in speed observations are uncorrelated with the noise in distance observations, whereas the Pragmatic strategy assumes strong correlation between distance and speed estimation noise. We compare the performance of both strategies based on emulation and real world experiments in Sections 4.5.1.1 and 4.5.2.1, respectively. Figure 4.5: Illustration of Dierent Components for Relative Speed Observation 4.4 TrackBot Prototype 4.4.1 Hardware We implemented a TrackBot with our ARREST architecture inside a real, low-cost robot prototype presented in Fig. 4.1. For a concise description of our prototype, we list the hardware used for implementation of each of the ARREST components 60 in Table 4.1. We also discuss details of the Time Dierence of Arrival (TDOA) based localization system integrated with our ARREST architecture for ground truth estimation separately in Section 4.5.3. Table 4.1: ARREST Hardware Implementation Module Hardware Wireless Communica- tion and Sensing OpenMote[139]; Rosewill Directional Antenna (Model RNX-AD7D) CANE Rotating Platform As- sembly Nema 17 (4-wire bipolar Stepper Motor); EasyDriver - Stepper Motor Driver; mbed NXP LPC1768 [140] Relative Position Esti- mation mbed NXP LPC1768 [140] CAST mbed NXP LPC1768 [140] PRICE Movement Translator mbed NXP LPC1768 [140] Robot Chassis Baron-4WD Mobile Platform, L298N Stepper Motor Driver Controller Board, HC-SR04 Ultrasonic Sensor [141] OpenMote [139] TI 32-bit CC2538 @ 32 MHz with 512KB Flash memory, 32KB RAM, 2.4GHz IEEE 802.15.4-based Transceiver connected via SMA plug mbed NXP- LPC1768 [140] -processor 32-bit ARM Cortex-M3 core @ 96MHz, 512KB FLASH, 32KB RAM; Interfaces: built-in Ethernet, USB Host and Device, CAN, SPI, I2C, ADC, DAC, PWM and other I/O interfaces Rosewill RNX- AD7D Direc- tional Antenna Mode 1: Frequency: 2.4GHz, Max Gain: 5dBi, HPBW: 70 Mode 2: Frequency: 5GHz, Max Gain: 7dBi, HPBW: 50 Nema 17 Step- per Motor Dimension: 1:65 00 1:65 00 1:57 00 , Step size: 1.8 degrees (200 steps/rev), Rated current: 2A, Rated resistance: 1.1 Ohms HC-SR04 [141] Operating Voltage: 5V DC, Operating Current: 15mA, Measure Angle: 15 , Ranging Distance: 2cm - 4m In the TrackBot prototype, the directional antenna and the OpenMote are mounted on top of a stepper motor using a plate. While we use two micropro- cessors (the OpenMote and the mbed), the system can be implemented using one microprocessor. We choose to use two in this prototype to work around wiring issues and work around the lack of sucient GPIO pins on the OpenMote. The 61 OpenMote is only used for RF sensing while the mbed is used to implement the rest of the ARREST modules. For programming of the mbed, we use the mbed Real-Time Operating System [142]. The mbed sends control signals to the stepper motor to rotate it in precise steps of 1:8 . Each consecutive 360 antenna rotations alternate between clockwise and anti-clockwise because this: (1) prevents any wire twisting between the mbed and OpenMote and (2) compensates for the stepper mo- tor's movement errors. The mbed communicates with other H/W components via GPIO pins and High-level Data Link Control (HDLC) Protocol [143] based reliable serial line communication. In the current prototype, the maximum speed of the robot is 30cm=s. Due to synchronization issues on the mbed when trying to simultaneously rotate the antenna and move the robot chassis, the antenna assembly sometimes does not return to its initial position after a complete rotation. To solve this issue while avoiding complex solutions (e.g., via a feedback-based oset control mechanism), the TrackBot instead rst performs an RSSI scan and then moves the chassis. Ideally, the antenna can rotate 360 in 1s while collecting 200 samples. However, we choose to slow the scan down to a duration of 2s to cope with the occasional occurrence of sparse RSSI samples. Moreover, to keep the movement simple, the TrackBot rst rotates to the desired direction and then moves straight with the desired speed. The wheels of the robot are controlled using PWM signals from the mbed with a period of 2s. We choose a 2s period for robot rotation as one 2s 62 pulse width equates to a chassis rotation amount of 180 . We also choose the same period length (2s) for forward movement which caps the speed of the robot at 60=6 = 10cm=s (including 2s of RSSI scan). The whole system is powered by ve AA batteries which can run for a total of 34 hours. We also implemented a very simple obstacle avoidance mechanism by employing a single HC-SR04 rangender in the front bumper of the chassis and protection bumpers on the other sides. While moving forward, if the ultrasound detects an object at a distance less than 10cm, it stops the TrackBot's movement immediately. The Leader node is currently implemented as an OpenMote transmitting bea- cons with the standard omnidirectional antenna and a transmit power of 7dBm. For programming of the OpenMotes, we use the RIOT operating systems [144, 145]. The Leader implementation is capable of transmitting 200 packets/second. 4.4.2 ARREST System Parameter Setup 4.4.2.1 Cost Parameters Setup In the cost function of our LQG formulation, the matrix Q is a 33 positive denite diagonal matrix: Q =diagfQ d ;Q v ;Q g. Our main goal is to keep the distance as well as the relative angle to be as low as possible while keeping emphasis on the distance. From this perspective, we perform a set of experiments to nd a good trade-o between Q v , Q , and Q d where we vary one parameter while keeping the rest of them xed. Based on these experiments, we opt for the following settings: 63 Q v = 0:1, Q = 1, and Q d = 10v max L where v max L is the maximum speed of the Leader. With these settings, our system performs better than any other explored settings. Furthermore, H is chosen to be a 3 3 Identity matrix. 4.4.2.2 Noise Covariance Matrix Parameters Setup In our implementation, the system noises are assumed to be i.i.d normal random variables with ZZ being a 33 identity matrix. On the other hand, the observation noise covariance matrix requires separate settings for the dierent strategies. For the Optimistic strategy, we assume that the observation noises are uncorrelated, whereas, for the Pragmatic strategy, the distance estimation errors and the relative speed estimation errors are highly correlated with variances proportional tov max L . A set of empirically determined values of WW for the Optimistic and the Pragmatic strategies are as follows. Op WW = 2 6 6 6 6 6 6 4 4 0 0 0 2 0 0 0 1 3 7 7 7 7 7 7 5 ; Pg WW = 2 6 6 6 6 6 6 4 1 v max L 0 v max L (v max F ) 2 0 0 0 0:1 3 7 7 7 7 7 7 5 (4.13) whereOp andPg refers to the Optimistic and the Pragmatic strategies, respectively. 64 4.5 Experiments and Performance Analysis 4.5.1 Baseline Analysis via Emulation In this section, we perform a thorough evaluation and setup the dierent parameters such as the LQG covariance matrix (discussed in Section 4.4.2) of the ARREST architecture via a set of emulation experiments. We use the emulation experiment results as a baseline for our real-world experiments. We employ our hardware prototypes, discussed in Section 4.4, to collect sets of RSSI data in cluttered indoor and outdoor environments for a set of representative distances,D, and angles . Next, we use the collected samples to interpolate the RSSI samples for any random congurationC = (d; rel ), where d2R + and rel 2 [180; 180), as follows: r e =r s 10log 10 (d=d near )+N (0; 2 ), wherer s is a random sample for congurationC near = (d near ; near ) such thatd near = arg min d i 2D jd i dj and near = arg min i 2 j i rel j. Note that we add an extra noise of variance 2 = 2 on top of the noisy samples (with 2 4) for congurationC near . To estimate the , we use (4.7) to calculate ij for each pair of distances, d i ;d j 2D and take the average of them. We choose a value of t = 1s in (4.5) to match the maximum achievable speed of our stepper motor as, ideally, the interval between any two consecutive movement control decisions could be 1s where the TrackBot carries out any movement control decision within the respective 1s interval. 65 0 2 4 6 8 10 Leader Maximum Speed in m/s 0 10 20 30 Distance (d org ) in m ARREST--Pragmatic ARREST--Optimistic Baseline Algorithm (a) Varying Leader Speed 0 2 4 6 8 10 TrackBot Maximum Speed in m/s 0 1 2 3 Distance (d org ) in m ARREST--Pragmatic ARREST--Optimistic Baseline Algorithm (b) Varying TrackBot's Speed Figure 4.6: (a)-(b)Tracking Performance Comparison Among Dierent Speed Esti- mation Strategies 4.5.1.1 The Optimistic Strategy vs. The Pragmatic Strategy In this section, we compare the performance among the two proposed strategies, Optimistic and Pragmatic, and a Baseline algorithm. In the Baseline algorithm, the TrackBot estimates the relative position via the basic correlation method (discussed in 4.3.2.1). Once the direction is determined, the TrackBot rotates to align itself toward the estimated direction and then moves with a speed of minfv max F ; d e [n] t g. In Fig. 4.6a, we compare the average distance between the TrackBot and the Leader for varying v max L while setting v max F = 1:8v max L . Figure 4.6a clearly demonstrates that the Pragmatic strategy performs better than the Optimistic strategy as well as the Baseline algorithm, due to adaptability and accuracy of the speed informa- tion. The poor performance of the Optimistic strategy is due to its indierence towards the actual speed of the Leader which causes the TrackBot to lag behind for higher velocities. Conversely, we compare the average distance between the 66 Leader and the TrackBot for varying v max F , while the Leader's maximum speed is xed atv max L = 1m=s. The experiment outcomes, presented in Fig. 4.6b, show that the performance of both strategies are comparable, while the Optimistic strategy outperforms the Pragmatic strategy for v max F 3v max L . The reason behind this is the Leader is constantly changing movement direction while the TrackBot always travels along the straight line joining the last estimated position of the Leader and the TrackBot which may not be the same as the Leader's direction of movement. This results in oscillations in the movement pattern for the Pragmatic strategy while the Optimistic strategy avoids oscillations since it assumes the Leader to be static. The worst performance of the Baseline approach is attributed to lack of speed adaptation by taking past observation into account. One more noticeable fact from Fig. 4.6b is that ifv max F =v max L , the tracking per- formance is the worst. This is quite intuitive because for this speed conguration, the TrackBot is unable to compensate for any error or initial distance while the Leader constantly moves at a speed close to v max L . Thus, the relative speed needs to be positive for proper tracking. In order to nd a lower bound on the TrackBot's speed requirement, we perform another set of experiments by varying v max F from v max L to 3v max L . Based on the results, we conclude that for v max F 1:6v max L , the tracking system fails and the distance increases rapidly. On the other hand, for v max F > 1:6v max L the performance remains the same. Thus, in our experimental setup, we opt for v max F = 1:8v max L . 67 4.5.1.2 Absolute Distance Statistics One main focus of our ARREST architecture is to guaranteeP (jjX L [n] X F [n]jj 2 D th ) 1 8n. The value ofD th could be chosen as a function ofv max L . However, according to our target application context, we select D th = 5m as we consider a distance more than 5 meters to be large enough to lose track in an indoor en- vironment. With this constraint, we nd that our present implementation of the ARREST system fails in the tracking/following objective if the Leader moves faster than 3m/s. In order to verify whether our ARREST architecture can guarantee the distance requirement for Leader withv max L 3m=s, we perform a set of emulations with t = 1s, where the Leader travels along a set of random paths. In all cases, the instantaneous distances between the TrackBot and the Leader during the emu- lation are less than 5m with probability 1. The nonzero probability of distances higher than 5m is due to randomness in the Leader's motion including a complete reversal of movement direction. 4.5.1.3 Estimation Errors In order to learn the statistics of dierent estimation errors, we perform a range of emulation experiments, where the Leader follows a set of random paths and v max L 3m=s. In Fig. 4.7a, we plot the empirical CDF of the absolute errors in the distance estimates maintained by our system. Figure 4.7a clearly illustrates that the instantaneous errors are less than 100cm with very high probability ( 90%) and 68 0 0.5 1 1.5 2 X 0 0.2 0.4 0.6 0.8 1 CDF, F(X) (a) 0 45 90 135 180 X 0 0.2 0.4 0.6 0.8 1 (b) 0 0.5 1 1.5 2 2.5 3 X 0 0.2 0.4 0.6 0.8 1 (c) Figure 4.7: Emulation Based Performance: (a) Absolute Distance Estimation Er- rors (in m), (b) Absolute Angle Estimation Errors (in degrees), and (c) Absolute Speed Estimation Errors (in m/s) that the absolute error values are bounded by 1:5m. These statistics are reasonable for pure RSSI-based estimation systems (explained further in Section 4.5.4.1). We also plot the CDF of the absolute angle estimation errors over the duration of the emulations in Fig. 4.7b. It can be seen that the absolute angle errors are less than 40 with high ( 80%) probability, which is justied as the Half Power Beam Width (HPBW) for the antenna we are using is approx 70 . Further improvements may be possible by using an antenna with greater directionality or other radios (such as UWB radios). The non-zero probability of the angle error being more than 40 is again due to the random direction changes in the Leader's movements. Similarly, we analyze the absolute speed estimation errors in terms of CDF, illustrated in Fig. 4.7c. The absolute errors in the speed estimations of the Leader are less than 1m=s with 90% probability. 69 Table 4.2: Summary of Emulation Results Pragmatic Strategy performs best for 1:6v max L <v max F < 3v max L while Optimistic Strategy performs best for v max F 3v max L The ARREST system fails if v max L > 3m=s. For v max L 3m=s and v max F = 1:8v max L , the TrackBot stays within 5m of the Leader with probability 100%. Absolute distance estimation errors are < 100cm with probability 90% and < 150cm with probability 100%. Absolute angle estimation errors are < 40 with probability 80%. Absolute speed estimation errors are less than 1m=s with probability 90%. 4.5.2 Real Experiment Results: Small Scale To analyze the performance of the ARREST architecture, we use the TrackBot prototype to perform a set of small-scale experiments, followed by a range of large- scale experiments. In this section, we present the results of our small-scale real- world experiments. Based on the valuable insights from the emulation results, we choose TrackBot's speed to be at least 1.8X the Leader's speed. The TrackBot makes a decision every 6s. Between each decision, the TrackBot takes 2s for both the antenna rotation and RSSI scan, 2s for the chassis rotation, and 2s for the chassis translation. However, in the state update equations, t = 4s because the actual chassis movement takes place for only 4s. With this setup, we perform a set of real tracking experiments in three dierent environments: A cluttered oce space, illustrated in Fig. 4.8a ( 10m 6m), with a lot of oce desks, chairs, cabinets, and re ecting surfaces. 70 (a) Indoor in Meters in Meters 0 5 10 15 20 0 5 10 15 20 Leader Trackbot (b) Hallway (c) Indoor (No Line of Sight) −3 −2 −1 0 1 2 3 −3 −2 −1 0 1 2 3 in Meters in Meters Leader Trackbot (d) VICON System Figure 4.8: Full Path Traces from Small Scale Real World Experiments A hallway, illustrated in Fig. 4.8b ( 18m long and 3m wide), with pillars as well as sharp corners. A VICON camera localization [146] based robot experiment facility, illus- trated in Fig. 4.8d ( 6m 6m). For the rst two environments, we use manual markings on the oor to localize both the Leader and the TrackBot. For the last environment, the VICON facil- ity provides us with camera-based localization at millimeter scale accuracy. We 71 perform a set of experiments in each of these environments for an approximate total period of one month with individual run lasting for 30 minutes during dier- ent times of the day. For these experiments, the Leader is a human carrying an OpenMote transmitter. 4.5.2.1 The Optimistic Strategy vs. The Pragmatic Strategy Similar to our emulation based analysis, we perform a real system based compari- son of the proposed speed adaptation strategies as well as the Baseline Algorithm (introduced in Section 4.5.1.1). However, in this set of experiments, we do not vary the maximum speed of the TrackBot or the Leader due to prototype hardware limitations. Instead, we compare the absolute distance CDF statistics of these three strategies in Fig. 4.9a for v max F = 10cm=s and v max F = 1:8v max L . Figure 4.9a validates that Pragmatic strategy performs best among all three strategies when v max F = 1:8v max L . Moreover, the baseline strategy performs the worst due to lack of speed adaptation as well as lack of history incorporation. In summary, our real experiment based results concur with the emulation results. 4.5.2.2 Estimation Errors To analyze the state estimation errors in our ARREST architecture similar to the emulations, we perform a range of prototype based experiments, where the v max F = 1:8v max L and the Leader follows a set of random paths. In Fig. 4.9b, we plot the empirical CDF of the absolute errors in the distance estimates maintained 72 0 2 4 X 0 0.2 0.4 0.6 0.8 1 CDF, F(X) Optimistic Pragmatic Baseline (a) 0 1 2 X 0 0.2 0.4 0.6 0.8 1 (b) 0 20 40 60 80 100 X 0 0.2 0.4 0.6 0.8 1 Simplex Clustering Weighted Average (c) Figure 4.9: Real Experiment Based Performance for Small Scale: (a) Absolute Distance in Meters, (b) Absolute Distance Estimation Error in Meters, and (c) Absolute Angle Estimation Error in Degrees by our TrackBot. Figure 4.9b clearly illustrates that the instantaneous absolute errors in our distance estimates are 100cm with very high probability ( 90%), and are bounded by 1:5m. These statistics are also reasonable for pure RSSI based estimation systems and concur with the emulation results. Next, in Fig. 4.9c, we compare the angle estimation error performance of the TrackBot for all three AoA observation methods introduced in Section 4.3.2 where we intentionally introduce random sparsity in the RSSI measurements. Figure 4.9c illustrates that our pro- posed clustering method and weighted average method perform signicantly better than the basic correlation method which is expected since the rst two take into account the clustered sparsity (Detailed in Section 4.3.2). The instantaneous ab- solute angle errors are less than 40 with high probability ( 90%) for all three 73 methods which is justied because the HPBW specication for the antenna is ap- prox 70 . Figure 4.9c also illustrates that the weighted angle observation method slightly outperforms the clustering method for AoA observation. The apparent sim- ilarity between the performance of the clustering method and the weighted average method is attributed to the consistent lower cluster sizes compared to the gap sizes ( a << a ) in our experiments. 4.5.2.3 Tracking Performance In Fig. 4.8a, we present a representative path trace from the experiments in the indoor scenario. Similarly, in Fig. 4.8b we present a real experiment instance in the Hallway. Lastly, Fig. 4.8d illustrates an example trace from the VICON system. All three gures illustrate that our system performs quite well in the respective sce- narios and stays within 2m from the Leader for the duration of the experiments. These results suggest that our system works equally well in dierent environments: cluttered and uncluttered. To verify that further, we perform a set of experiments with a static Leader not in the line of sight of the TrackBot for 50% of the Track- Bot's path. Our TrackBot was able to nd the Leader in 75% of such experiments. In Fig. 4.8c, we present one instance of such experiment. The main reason behind this success lies in the TrackBot's ability to leverage a good multipath signal (if exists). In absence of a direct line of sight, the TrackBot rst follows the most promising multipath component and by doing so it eventually comes in a line of 74 sight with the Leader and follows the direct path from that point on. In most of these experiments ( 90%), the TrackBot travels a total distance of less than 2X the distance traveled by the Leader. This implies that our system is ecient in terms of energy consumption due to robotic maneuvers. Nonetheless, these small real-world experiments also point out that our current system does not work if there exists no strong/good multipath signal in NLOS situations where \strong multipath" implies that one multipath signal's power is signicantly higher than other multipath signals. We detail multipath related prob- lems and our method of partly circumventing it in Section 4.5.3.4. Table 4.3: Summary of Small Scale Real-World Experiments Pragmatic Strategy performs best for 1:8v max L =v max F . Absolute distance estimation errors are < 100cm with probability 90% and < 150cm with probability 100%. Absolute angle estimation errors are < 40 with probability 90%. Weighted average AoA observation method performs the best. The TrackBot stays within 2m of the Leader with probability 98% in line of sight contexts. The ARREST system works with probability 75% for NLOS contexts, although it fails if no \strong multipath" exists. 4.5.3 Real Experiment Results : Large Scale The small-scale experiments, presented in Section 4.5.2, were limited in terms of deployment region ( 60 sq. meters) due to the dimensions of the VICON system 75 and the eort plus time required for large-scale experiments with manual measur- ing/markings. To perform large scale and long duration experiments based evalu- ations, we integrated a version of a well known Time Dierence of Arrival based localization [147] ground truth system in our TrackBot. This helped us avoid the need for tedious manual markings and measurements. For more ecient experi- ments, we also developed a robotic leader (illustrated in Figure 4.10), which we will refer to as the LeaderBot in this section, to act as both Leader as well as the reference node for the TDoA localization system. Figure 4.10: Illustration of a 3pi LeaderBot. This robot is used as the leader robot as well as the TDoA localization anchor for large-scale experiments. The main idea behind TDoA systems is to use a reference node that transmits two dierent types of signals, say RF and Ultrasound, simultaneously. Now, the localizing/receiver node receives these two signals at dierent instances of time due to the propagation speed dierence between RF and Ultrasound, say c. With 76 proper timestamps, the receiver can now calculate the time dierence of arrival of these two signal, say t, to estimate the distance as c t. We extend this concept slightly further by placing both the receiver RF antenna and the ultrasound on the TrackBot's rotating platform. We rotate the platform in steps of 18 (just a design choice) and perform TDoA based distance estimation for each orientation of the assembly. The TDoA system returns a valid measurement if and only if the assembly is oriented toward a direct line of sight or a re ected signal path. Assuming that there exists a line of sight, the orientation with the smallest TDoA corresponds to the actual angle between the LeaderBot and the TrackBot, and value of the smallest TDoA corresponds to the distance. 4.5.3.1 LeaderBot and TDoA Ranging The LeaderBot is built upon the commercially available small Pololu 3pi robot [148]. In our LeaderBot, we use two Openmotes: one Openmote acts as the Leader bea- coner (Beacon Mote) and operates on 802.15.4 channel 26; the other Openmote (Range Mote) is used to remotely control the 3pi robot's movements and to perform the TDoA based localization on 802.15.4 channel 25. We use two Openmotes for cleaner design as well as to avoid operation interference between remote control- ling and beaconing. We use a MB 1300 XL-MaxSonar-AE0 [149] as the ultrasound beaconer, powered by the 3pi robot. The LeaderBot is illustrated in Fig. 4.10. On the TrackBot, we also add a MB 1300 XL-MaxSonar-AE0 [149] ultrasound on the 77 rotating platform along side with the directional antenna to receive the ultrasound beacons. In these experiments, the Openmote on the TrackBot switches between Tracking mode and the Ranging mode for ground truth estimation by switching its operating threads as well as the Openmote channel. Step by step method of ranging is as follows. 1. Before ranging, the TrackBot and the LeaderBot nish up their last movement step and stops. 2. TrackBot switches channel from 26 (Tracking channel) to 25 (Ranging Chan- nel). 3. TrackBot's Openmote sends a ranging request (REQ) packet to the Leader's RangeMote. 4. Upon receipt of the REQ packet, the RangeMote and the LeaderBot prepares for ranging by temporarily switching o the remote control feature and sends a Ready (RDY) packet to the TrackBot. 5. Upon receiving RDY packet, the TrackBot's Openmote turns ON the ultrasound- RF ping receiving mode by setting some ags in the MAC layer to prepare for interception of the packet and sends a GO packet. 6. Upon receiving the GO packet, the RangeMote on the 3pi sends exactly one RF packet and exactly one ultrasound ping @42kHz. 78 7. If both transmissions are received, the TrackBot's Openmote estimates the TDoA and sends it to the mbed which then rotates the platform to the next orientation. If the TDoA process fails, the Openmote timeout and returns 0 to the mbed. 8. After rotating the platform by one step, the mbed controls the Openmote to repeat the procedure from Step 3 to Step 7. 9. If a full 360 rotation of the platform is complete, the mbed processes the TDoA data to estimate the angle and the distance. The TrackBot's Openmote switches back to channel 26 for Tracking mode. Before evaluating the ARREST system on the basis of the TDoA ground truth system, we rst evaluate the performance of the TDoA system. We found that the worst case distance estimation errors in TDoA systems are in the order of 1020 cm, as illustrated in Fig. 4.11a. The angle estimation statistics presented in Fig. 4.11b demonstrates highly accurate performance in angle estimations. The slight chances of getting an error of 18 are justiable by our choice of ranging rotation step size of 18 . Thus, our TDOA system is accurate enough to be considered as a ground truth in the line of sight situations. Nonetheless, we monitor the ranging outputs to trigger retries in case of very inaccurate outputs or momentary failures. Moreover, in non-line of sight situations, we still rely on manual measurements as the TDoA system fails in such scenarios. 79 -0.2 0 0.2 0.4 Distance Est. Errors in Meters 0 2 4 6 8 PDF (a) -48 -30 -12 6 24 42 Angle Est. Errors in Degree 0 0.05 0.1 0.15 PDF (b) Figure 4.11: TDOA based Localization System Performance: (a) Distance Estima- tion Errors and (b) Angle Estimation Errors 4.5.3.2 Dierent Experimental Settings With the aforementioned setup, we performed a range of experiments over months of duration with each run lasting for 1 2 hours. For the ARREST setup, we use the Pragmatic policy with the weighted average angle estimation because of its superior performance in our emulations and small-scale experiments. The LQG setup is also kept same as the small-scale experiments. To diversify the situation we have performed experiments in four dierent classes of settings. Large ( 15m 10m) oce rooms with lots of computers, re ective surface, and cluttered regions. Long hallways ( 200m long and 5 10m wide) with lots of turns. Open ground oor spaces ( 30m 30m) with pillars. Homelike environments with couches, furniture, and obstacles. 80 4.5.3.3 Performance Analysis In Fig. 4.12a, we present the statistics of the absolute distance between the TrackBot and the LeaderBot throughout the duration of the experiments in all four scenarios. Figure 4.12a shows that the absolute distance is bounded by 3.5 meters in all four scenarios which further veries our small scale experiment results presented in Fig. 4.9. Another noticeable fact from the gure is that ARREST system performs worst in the cluttered oce scenarios which is justiable due to presence of a lot of re ecting surfaces as well as obstacles. 0 1 2 3 4 5 (X) 0 0.2 0.4 0.6 0.8 1 CDF, F(X) Office Space Open Space Hallway Home (a) 0 1 2 3 4 5 6 (X) 0 0.2 0.4 0.6 0.8 1 Office Space Open Space Hallway Home (b) 0 90 180 270 360 450 (X) 0 0.2 0.4 0.6 0.8 1 Office Space Open Space Hallway Home (c) Figure 4.12: Real Experiment Based Performance for Large Scale: (a) Absolute Distance in Meters, (b) Absolute Distance Estimation Error in Meters, and (c) Absolute Angle Estimation Error in Degrees Similar statistics can be seen in the absolute LQG distance error plot presented in the Fig. 4.12b. Figure 4.12b shows that the instantaneous absolute distance errors are 100cm with 90% probability, except in the oce scenario ( 70%). The comparatively higher distance errors for oce scenarios is due to overestimation of 81 distances in NLOS scenarios and in presence of strong multipath signals. However, this does not aect the performance much as the temporarily predicted higher distance tends to only lead to a temporary higher velocity of the TrackBot. In summary, the distance error statistics is also similar to the distance error statistics from the small-scale experiments. Similar pattern can be observed in the angle estimation error plots presented in Fig. 4.12c. Again the oce space performance is worst. The open space performance is prominently better than the other scenarios due to the absence of any sort of multipath signals. The instantaneous angle errors are less than 40 with high probability ( 85%) in overall statistics. However the scenario specic errors statistics (error being less than 40 ) vary from 75% probability in indoor setting to 100% probability in the outdoor settings. This slight discrepancy between small scale and large scale angle error performance is mainly due to dierent environment settings as evident from the Fig. 4.12c itself. In Fig. 4.13, we present a sample illustrative trace of a large scale hallway experiment, drawn based on manual reconstruction from a video recording and markings on the oor. 4.5.3.4 Multipath Adaptation Similar to small-scale experiments, we perform a set of experiments with a static Leader not in the line of sight of the TrackBot for 50% of the TrackBot's path. Due to the TrackBot's ability to leverage a good multipath signal, the TrackBot 82 Figure 4.13: Full Path Trace for a Sample Large Scale Experiment (Blue =) Leader, Red =) TrackBot) was able to nd the Leader in 70% of the cases. However, we also notice that it fails dramatically if the TrackBot falls into a region with no direct path as well as no strong multipath signals (i.e., there exist multiple similar strength multipath signals). To overcome that, we add a Multipath Angle Correction module in the CAST layer (refer to Fig. 4.3). This module triggers a randomized movement for a single LQG period if: (1) the TrackBot hits an obstacle for 3 4 consecutive LQG periods or, (2) the LQG estimated distance to the transmitter doesn't change much over 3 4 consecutive periods. This policy basically leads the TrackBot to a random direction with the hope of getting out of such region. However, we noticed that if the TrackBot keeps following randomized direction for consecutive LQG periods, it harms the tracking performance. Thus, we have set a minimum time duration (Five LQG periods in our implementation) between any two consecutive 83 randomized movements. Note that, all these timing choices are made empirically via a range of real experiments. With this strategy, we noticed an improvement on the TrackBot's success rate from 70% to a success rate of 95% in such scenarios. However, the trade-o in such context is that the convergence in case of a far away Leader ( 8m) is now slower by 15%. Table 4.4: Summary of Large Scale Real-World Experiments Absolute distance estimation errors are< 100cm with probability 90% except in the case of cluttered oce environments. Average Absolute angle estimation errors are < 40 with probability 85%. The TrackBot stays within 3:5m of the Leader with probability 100% in all scenarios of tracking. In NLOS scenarios, addition of a conditional randomization improves the success rate from 70% to 95% but slows the converges by 15% for static far-away Leader. 4.5.4 Miscellaneous 4.5.4.1 Raw RSSI Data Analysis Based on all our evaluations, we conclude that the presence of multipath signals does not hamper the performance if there exists a direct line of sight. To justify this further and to gather more insights on the system's performance, we perform a raw RSSI data analysis and calculate the unltered error statistics. In Fig. 4.14a, we plot the RSSI pattern based distance estimation error statistics which demonstrates that the accuracy of the directional antenna pattern based distance estimations are in the order of less than 1 meter with 90% probability. On the other hand, Fig. 4.14b shows that the RSSI pattern based angle estimation error are less than 40 with 84 very high probability ( 80%) with some deviations due to multipath and random changes in movement directions. Again, note that the error up to 40 is acceptable due to our choice of directional antenna. We also verify the performance of the RSSI based estimation for varying sampling rate. For these set of experiments, we x the distance and angle between the TrackBot and the Leader and properly set the channel parameters before each experiment. Figures 4.15a and 4.15b present the average distance errors and average angle estimation errors with 95% condence interval for varying sampling rate. Figure 4.15b shows that the angle estimation performance deteriorates as the sampling rate is decreased which is self-justied. The distance estimation actually does not vary much with the sampling rate. -5 -3 -1 1 3 5 Distance Est. Errors in Meters 0 0.5 1 1.5 PDF (a) -180 -120 -60 0 60 120 180 Angle Est. Errors in Degree 0 0.005 0.01 0.015 PDF (b) Figure 4.14: Raw Data Analysis: (a) Distance Estimation Errors and (b) Angle Estimation Errors Our numbers may even appear to be better than those typically reported for RSSI based localization (where typical accuracies are 2m 5m or higher), but this is attributed to the fact that the distance estimates use the average of 40 85 200 samples, one from each sample's respective antenna orientation. This analysis also suggests that we can use sampling rate of 100 samples/rev to achieve similar performance. Nonetheless, we stick with 200 sample/rev as we notice a loss of maximum 70 90 samples per revolution in severe scenarios. 0 50 100 150 200 Sample Count / Rotation 0 0.1 0.2 0.3 0.4 0.5 Distance Errors in Meter (a) 0 50 100 150 200 Sample Count / Rotation 0 20 40 60 80 100 Angle Errors in Degree (b) Figure 4.15: Estimation Performance for Varying Sampling Rate: (a) Distance Estimation Errors and (b) Angle Estimation Errors 4.5.4.2 Dierent Sensing Modalities While our proposed ARREST architecture employs pure RSSI based distance, an- gle, and speed estimations, the same architecture can be easily adapted to use other technologies such as cameras or infrared sensors. In such cases, we just need to modify the CANE layer of the ARREST architecture and feed the relative posi- tion approximations to the CAST layer. Now, each of these estimation technologies i.e., camera-based or RF based estimations, have dierent accuracies in terms of 86 distance and angle estimations. To analyze the tracking performance of the AR- REST system, oblivious to the actual technology used in CANE layer, we perform a set of simulation experiments where we control the average errors in the distance and the angle estimations. Figure 4.16a illustrates one instance of such experiments where we x the average angle error (0 in this case) and vary the average distance estimation error. Figure 4.16a shows that the eect of positive estimation errors (d org d e > 0, whered org is the actual distance) have a more detrimental eect on the tracking performance than negative errors. This is justied as positive distance estimation errors imply always falling short in the movements, whereas, negative errors imply over-estimations and more aggressive movements. It is also noticeable that there exists an optimal value of average distance estimation error. The value of this optimal distance error depends on the maximum Leader speed as well as av- erage angle error. Next, we plot the relation between average tracking distance and average angle error while the average distance error is kept to be 0 in Fig. 4.16b. It is obvious and quite intuitive that the best tracking performance is obtained for an average angle estimation error of 0. Note that, we do not control the speed error separately as it is directly related to the angle and distance estimations. This anal- ysis demonstrates the versatility of our ARREST architecture to tolerate a large range of estimation errors. More specically, it tolerates up to 5m average distance error and 45 average absolute angle error in a successful tracking application. This analysis also shows that while RSSI based system is not optimum, it has reasonable 87 performance compared to the best possible ARREST system (with zero distance and angle estimation error). -5 -4 -3 -2 -1 0 1 2 3 4 5 Mean Distance Est. Error (in m) 0 2 4 6 Avg Tracking Dist (in m) RSSI Based Worst Avg Distance Error (a) -50 -25 0 25 50 Mean Angle Est. Error (in Degrees) 0 2 4 6 RSSI Based Worst Avg Angle Error (b) Figure 4.16: Performance of the ARREST System in Terms of Controlled Estima- tion Errors: (a) Fixed Angle Estimation Error, and (2) Fixed Distance Estimation Error 4.6 Discussion In this study, we proposed ARREST, a pure RF based relative localization and tracking system, for autonomously following an RF-emitting object. The proposed ARREST system employs a rotating directional antenna to approximate the rela- tive distance, orientation, and speed, that is further utilized by an LQG controller to improve the estimates and to autonomously control the motion of the following agent i.e., the TrackBot. Through a set of emulations and real-world experiments using our TrackBot prototype, we demonstrated the performance and error statis- tics of our system. Moreover, for ground truth evaluation we developed another 88 system for relative localization in line-of-sight situations by using the concept of TDoA for simultaneous RF and Ultrasound transmissions. Note that while the problem formulation of this study deals with only close bounded proximity (D th ) maintenance, it can be easily switched to a dierent yet similar objective where the Trackbot is required to stay at a distance, D l th dD h th with D l th and D h th being the lower and upper bounds of the distance, respectively. One simple method for doing that would be to replace d[n] with (d[n]D l th ) and D th with (D h th D l th ). Based on the application context, one can switch between these two types of for- mulations. Nonetheless, there exist some potential directions for further research such as incorporating game theory and optimality conditions into the system. 89 Chapter 5 Interference Power Bound Analysis for Network Formation Control in RWN In this study, we consider a fundamental problem concerning the deployment of a robotic wireless network: to fulll various end-to-end performance requirements, a \sucient" number of robotic relays must be deployed to ensure that links are of acceptable quality. Prior work has not addressed how to nd this number. 1 We use the properties of Carrier Sense Multiple Access (CSMA) based wireless communi- cation to derive an upper bound on the spacing between any transmitter-receiver pair, which directly translates to a lower bound on the number of robots to deploy. We focus on SINR-based performance requirements due to their wide applicability. We show that the bound can be improved by exploiting the geometrical structure of a network, such as a linearity in the case of ow-based robotic router networks. Furthermore, we also use the bound on robot count to formulate a lower bound 1 The material in this chapter is based in part on the work in [150]. 90 on the number of orthogonal codes required for a high probability of interference- free communication. We demonstrate and validate our proposed bounds through simulations. 5.1 Problem Description In this section, we detail our problem formulations. For compactness, we list the symbols used for base problem formulation in Table 5.1 and symbols related to our goals in Table 5.2, respectively. Say, we have a transmitter node T and a re- ceiver node X that are placed at d distance apart, alongside with a larger number of interfering wireless nodes. Each node of this interference limited network (i.e., the interference dominates over noise) employs Channel Sense Multiple Access with Collision Avoidance (CSMA/CA) [18] for wireless media access and has a trans- mission power ofP t . The radio range of each node is subdivided into three regions, centered at the node's location: a circular connected/contention region of radius D 1 , an annular transition region with inner radiusD 1 and outer radiusD 2 (includ- ing the boundaries), and a disconnected region which is the entire region outside the circle with radius D 2 > D 1 ; where the values of D 1 and D 2 depend on the actual RSSI thresholds of the devices used [151]. Undoubtedly, in the presence of fading, the regions are not so nicely structured, nonetheless, can be approximated by proper choice of D 1 and D 2 . Now, the CSMA restricts simultaneous transmis- sions from the nodes in the contention region ofT , while the nodes in the transition 91 region are aware ofT 's transmission with very low probabilities and, therefore, are the potential interferers. However, only a subset of the nodes in the transition re- gion can be active simultaneously, due to CSMA among themselves, which requires any two simultaneous interferers to be at leastD 1 distance apart. The interference power from a node in the disconnected region is considered insignicant. Table 5.1: General Parameters Symbol Description T Transmitter X Receiver d ij Distance between node i and j d Distance between T and X i.e., d TX Path Loss Exponent N (0; 2 ) Log normal Fading Noise with variance 2 P t Transmitted Signal Power P r Received Signal Power P I Received Interference Power I C Interference Set Cover M Number of Flows Table 5.2: System Parameters Symbol Description SIR th The Target Minimum SIR SIR X (d) Minimum Achievable SIR at X for d separation D 1 Contention Region Outer Radius D 2 Transition Region Outer Radius Required Probability of SIRSIR th Minimum probability of interference free communication d max Maximum distance allowed between T and X N O Number of Orthogonal Codes N max I Maximum Number of Interfering Nodes N R Minimum Number of Nodes to Deploy 92 Denition 5.1.1. A set of interfering nodes (I C ) such that D 2 d iT D 1 and d ij D 1 8 i;j2I C , is referred to as an Interference Set Cover. Now, there are four main objectives of this work as follows. Objective 5.1.1. Find a mapping between d and the minimum achievable SIR at X, SIR X (d). Objective 5.1.2. Find the range, 0 < d d max , such that the outage probability i.e.,P(SIR X (d)<SIR th )< where 0 0:5 is the choice of the designer. Now, one can employ a set of orthogonal codes to further restrict the interference in a CSMA network. In such cases, the maximum value of interference power decreases, based on the number of codes employed, possibly leading to near zero interference. In this context, our goal is as follows. Objective 5.1.3. CharacterizeSIR X (d) as a function of the number of orthogonal codes (N O ) employed for concurrent transmissions, and nd a bound N 0 O such that P(1 I0 = 1)8N O >N 0 O , where the indicator function 1 I0 refers to interference free communication and 0:5 is a designer choice. For our SIR and Interference bound analysis, we consider two dierent scenarios in this study. In the rst scenario, the node pair in focus is placed in a \dense" network, where a countably many uncontrollable wireless nodes are co-located in the area of interest. Secondly, we consider our target application of robotic router placement, where the goal is to place a set of robots such that they form multihop 93 links between a set of maximum M concurrent communication end-point pairs. This application context restricts the possible conguration of the interfering nodes within a class of network formations, such as straight line formation, that voids the earlier dense network assumption. At any time instance, we associate a set of routers with each ow i 2 f1; 2;Mg that form a chain between the communication endpoints. For a xed set of communication endpoints of a ow i, the minimum number of nodes (N R i ) to be allocated to ow i depends on d max which in turn controls the minimum number of nodes to be deployed, N R P M i=1 N R i . Objective 5.1.4. Find a better and tighter bound on interference as well as SIR by exploiting the application specic restrictions on the network congurations. Next, analyze the improvement in the number of robots required, with this improved bound. 5.2 Outline of the Proposed Solution In this section, we summarize our methodologies for achieving the target objectives while the details are discussed later on. 5.2.1 Methodology for Mapping from d to SIR X For a xed value of the separation distance d between T and X, we estimate the maximum feasible interference as well as minimum feasible SIR, by exploiting 94 the geometry of the connectivity region and transition region. For received power modeling, we opt for the standard lognormal fading model [18], where the received power is distributed lognormally with mean power calculated using simple path loss model. Thus, the received power can be represented as: P r (d) =Q:P t d 10 10 (5.1) where Q is some constant. Next, we introduce the following claim as our whole estimation process revolves around this claim. Claim 5.2.1. In presence of Independent and Identically Distributed (I.I.D) fading noise, the Interference Set Cover (see Denition 5.1.1) with maximum mean power as well as the maximum number of interferers will give us better stochastic bound than any other Interference Set Cover. Justication. This claim is justied by the fact that, if the fading noise is I.I.D, the Interference Set Cover with the maximum number of nodes will give the highest variance. Thus, the Interference Set Cover with highest mean as well as highest number of nodes will be a better bound than any other Interference Set Cover. Now, the main steps for representing SIR X as a function of d are as follows. Step 5.2.1. We rst identify the Interference Set Cover(s) (I C ) that will potentially give us the best estimate of the maximum feasible mean interference power, for a xed d, using the greedy algorithm. 95 Step 5.2.2. We estimate the maximum cardinality of an Interference Set Cover, N max I . This number is used in a later step to compensate for non-optimal greedy solutions from Step 5.2.1. Step 5.2.3. To get the maximum interference power, we add up the interference powers of the nodes of the Interference Set Covers selected in Step 5.2.1, according to Eqn (5.1). Thus the total interference power atX is a sum of lognormal variables as follows. P I C(d) =Q: X j2I C P t d jX 10 10 (5.2) Step 5.2.4. We multiply the interference power estimate in Step 5.2.3 by a cor- rection factor = maxf1; N max I jI C j g, where j:j denotes the cardinality of a set, to account for the Interference Set Covers with less than N max I number of nodes, i.e., jI C j<N max I . Now, the modied interference power is: P I C(d) =:Q: X j2I C P t d jX 10 10 (5.3) Step 5.2.5. We calculate the SIR value for each of the Interference Set Covers selected in Step 5.2.1 in dB, as follows. SIR X (d) = 10 log 10 P t d 10 10 : P j2I C P t d jX 10 10 ! (5.4) 96 5.2.2 Methodology for Selecting d max In order to properly selectd max , rst of all, we need to estimate the distribution of theSIR X (d) using Eqn (5.4), which is not very straightforward as it involves divi- sion and summation of a large set of lognormal random variables. The traditional log normal summation methods involve sampling and ltering to t the distribu- tion into an approximated log normal [152]. We opt for similar approach where we collect a good number of samples, say 50000, from each of the contributing log normal distributions, for a xedd, to generate the SIR samples (SIR X (d)) and use the SIR samples to determine the mean, SIR X (d) , the variance of the SIR, 2 SIR X (d) and the empirical probability distribution function (PDF) of the SIR X (d). Note that in presence of fading, using simple path loss model, we can easily get the mean powers received from each interferer, which can be used to estimate E(Pr ) E(P I ) , but, not the mean SIR, i.e.,E(SIR) =E Pr P I 6= E(Pr ) E(P I ) . Step 5.2.6. To properly select d max , we rst choose an acceptable value for SIR th and . Next, we use the samples of SIR X (d) to estimate the outage probability (d) = P(SIR X (d) < SIR th ), for a uniformly selected values of d2 [0;D 1 ]. The highest value of d that satises (d)< is the estimated d max . 5.2.3 Orthogonal Code Bound For Interference Free Network First of all, say, N O number of orthogonal codes are used and each node chooses a code randomly (all codes are equally likely to be chosen) and independently. The 97 new code specic interference power bound for a randomly selected Interference Set Cover (I C ) will be: P I C(djO T ) = jI C j X j=1 P j I C 1 fO j =O T g E(P I C(d)) = 1 (N O ) jI C j X j=1 E(P j I C ) (5.5) whereO T is the code chosen by the transmitter in focus (T ), P j I C denotes the interference power due to j th interferer inI C , and the indicator function 1 fO j =O T g denotes whether the j th interferer have chosen same code as the transmitter i.e., O T . Notice that, the Interference Set Cover with maximum mean interference power will still give us the maximum mean estimated interference power in presence of orthogonal codes. Step 5.2.7. We use the estimated Interference Set Cover from Step 5.2.1 to deter- mine the new SIR bounds as follows. SIR I C(djO T ) = P t d 10 10 : P j2I C P t d jX 10 10 :1 fO j =O T g (5.6) Now, at any time instance, maximumN max = (N max I + 1) number of nodes can be active simultaneously. Given that N O N max , we deduce that: P(1 I0 = 1) N max Y i=1 1 i 1 N O (5.7) 98 Proof. Say, at any time instance, the number of active interferers isN I 2 [0;N max I ]. Given that N I number of nodes are active and N O N I , the probability of inter- ference free communication is as follows. P(1 I0 = 1jN I ) = N O C N I N I ! (N O ) N I = N I Y i=1 1 i 1 N O =)P(1 I0 = 1jN 1 I )P(1 I0 = 1jN 2 I ) if N 1 I N 2 I N O (5.8) Thus, the probability of interference free transmission for N O N max , where N max =N max I + 1, can be expressed as follows. P(1 I0 = 1) = N max X j=0 P(1 I0 = 1jN I =j)P(N I =j) = N max X j=0 j Y i=1 1 i 1 N O P(N I =j) N max Y i=1 1 i 1 N O N max X j=0 P(N I =j) Using (5.8) N max Y i=1 1 i 1 N O (5.9) From Eqn (5.7), we can see that for N O N max , Q N max i=1 1 i1 N O is a strictly increasing function of N O . Step 5.2.8. To nd the optimum value of N O , we estimate Q N max i=1 1 i1 N O for increasing value of N O (starting from N max ), and select the minimum value of N O such that Q N max i=1 1 i1 N O . 99 5.3 Identication of Maximum Power Interference Set Cover In the section, we identify the Interference Set Covers that result in the highest total interference power at a given receiver location, X, for both scenarios i.e., dense random network and robotic router network. 5.3.1 Dense Random Network In [97], Hekmat and Van Mieghem showed that the mean interference power in CSMA Network is bounded by the interferers located along the hexagonal rings centered at the receiver's location, where the i th ring with each side length equal toiD 1 contains 6i nodes. While the assumption of putting the receiver at the center is valid in the presence of RTS/CTS mechanism in CSMA, in the reality, RTS/CTS mechanism is NOT employed in most of the enterprise wireless networks as well as the Internet of Things (IoT) networks. In such cases, the transmitter is the node to be located at the center of the rings while the receiver is free to be located anywhere in the connected region ofT and, as a result, the maximum feasible inter- ference is actually dependent on the separation distance (d). However, hexagonal packing is known to be the densest packing in circular spaces which leads us to be- lieve that the distance-dependent interference is also bounded by the interference power of the set of interferers located at hexagonal rings (similar to [97] but in an 100 annular ring) around the transmitter's location. With this assumption, our focus becomes restricted to all possible sets of locations that form such hexagonal pack- ing. Moreover, we prove that with the separation distance d > 0, we only need to consider two dierent angular orientations of such hexagonal packing, as illustrated in Figures 5.1a and 5.1b. (a) Conguration1 (b) Conguration2 Figure 5.1: Illustration of the Interference Set Covers For Estimation of Interference Upper Bound in a Dense Network In the rst type of conguration, which we refer to as Conguration 1, the clos- est interferer is located at the intersection of the inner boundary of the annulus and the line joining T and X (Illustrated in Figure 5.1a). This conguration is generated by taking a greedy iterative approximation approach, where we start with an emptyI C and, in each iteration, we select a point on the annulus that is closest to the receiver X and is not located in the connected regions of the nodes already added toI C . In the second conguration, which we refer to as Conguration 2 101 (illustrated in Figure 5.1b), the number of closest interferers is two and they are exactly D 1 distance apart from each other as well as from the transmitter. With this new initial condition, we can nd the rest of the nodes, again, using the greedy approach. The positions of the interfering nodes for both of these Interference Set Covers are detailed in Table 5.3. These two congurations form the bound of the interference power for any conguration within same class i.e, with the similar relative position between nodes with hexagonal corner positioning. Next, we calcu- late the interference and SIR for these two congurations according to Eqn. (5.3) and (5.4). Then, we choose the maximum of these two interference estimates as our interference estimate and the minimum of these two SIR estimates as our SIR estimate. We perform this using the sampling method discussed in Section 5.2.2, where we collect a large number of pairs of samples from these two congurations and take the highest interference power sample (or lowest SIR sample) from each pair as a sample for our estimated bound. However, since this is a greedy solution, the resulting Interference Set Cover combination may not include the maximum number of interferer and, therefore, does not guarantee maximum possible interference power. Now say the greedy logic includes n interferes. Then according to the greedy logic, it is guaranteed that the topn interfering nodes of the maximum power Interference Set Cover will have less or equal interference power compared to the interference power from the greedily found Interference Set Cover. To guarantee that our estimated interference 102 Table 5.3: Interference Set Cover Node Locations for a Dense Network Line Number Conguration 1 Conguration 2 (Illustrated in Figs 5.1a and 5.1b) l 0 f(jD 1 ; 0)g f(0;jD 1 )g N 0 =b D2D1 D1 c 8j2f1; 2; ;N 0 + 1g 8j2f1; 2; ;N 0 + 1g l k where k is odd f( D1 (1+2j) 2 ; p 3 2 kD 1 )g f( p 3 2 kD 1 ; D1 (1+2j) 2 )g N k =b (D 2 2 3 4 k 2 D 2 1 ) 1 2 D1 c 8k2f1;b 2D2 p 3D1 cg 8j2f0; 1; ;N k g 8j2f0; 1; ;N k g l 0 k where k is odd f( D1 (1+2j) 2 ; p 3 2 kD 1 )g f( p 3 2 kD 1 ; D1 (1+2j) 2 )g N k =b (D 2 2 3 4 k 2 D 2 1 ) 1 2 D1 c 8k2f1;b 2D2 p 3D1 cg 8j2f0; 1; ;N k g 8j2f0; 1; ;N k g l k where k is even f(jD 1 ; p 3 2 kD 1 )g f( p 3 2 kD 1 ;jD 1 g N k =b (D 2 2 3 4 k 2 D 2 1 ) 1 2 D1 c 8k2f1;b 2D2 p 3D1 cg 8j2f0; 1; ;N k g 8j2f0; 1; ;N k g l 0 k where k is even f(jD 1 ; p 3 2 kD 1 )g f( p 3 2 kD 1 ;jD 1 g N k =b (D 2 2 3 4 k 2 D 2 1 ) 1 2 D1 c 8k2f1;b 2D2 p 3D1 cg 8j2f0; 1; ;N k g 8j2f0; 1; ;N k g power is no less than the maximum possible interference power, we multiply our estimated interference power by a correction factor, (discussed in Step 5.2.4). We determine the maximum number of concurrent interfering nodes (N max I ) by formulating the problem as a circle packing problem [153] as follows. Note that, there exists a range of approximation solution to the circle packing problem [153], which can be directly applied to solve this problem. In this study, we do not discuss any circle packing solution. Denition 5.3.1. Pack Problem: Maximize the number of circles with radius D 1 2 that can be packed inside an annulus with inner and outer radius: D 1 2 and D 2 + D 1 2 , respectively. Lemma 5.3.1. The cardinality of the solution to the Pack Problem is also the maximum cardinality of an Interference Set Cover. 103 Proof. A valid solution to the Pack Problem can be directly mapped to a valid Interference Set Cover. To prove that, let us consider the set of centers, S P , for the circles in the Pack Problem solution. For any valid solution to the Pack Problem, the distance between the centers of the circles are at least R 1 which satises the Interference Set Cover distance condition. Now, the center of any circle to be packed must lie in the annulus with radius R 1 and R 2 as the radius of the circles are R 1 2 . Thus S P is a valid Interference Set Cover. Next, assume the solution to the pack problem, n, does not contain the maximum number of interferers. So there must exist an Interference Set Cover with more than n interferer. However, if we formulate a set of circles with the centers to be same as the Interference Set Cover but with a radius equal to R 1 2 , it is also a valid circle packing solution with higher cardinality. This is a contradiction. Thus the earlier assumption is not true. Conversely, say that the solution to the Pack problem has a higher cardinality than the max cardinality of Interference Set Cover, we can always map the Pack problem solution to a new Interference Set Cover with higher cardinality than the earlier solution. This is also a contradiction, thus, proves the lemma. 104 5.3.2 Interference Estimation for Robotic Router Network In this section, we focus on the interference estimation for our application specic context of a robotic wireless network in an obstacle-free environment. Before that, we make an assumption, based on two related works [7, 9], as follows. Assumption 5.3.1. For a ow based robotic network in an obstacle-free environ- ment, if the goal is to optimize the ow performance in terms of SIR, the best conguration of robots allocated to that ow is to stay on the straight line joining the static endpoints. This assumption is justied by the work presented in [7] which shows that the best conguration of robots in order to optimize packet reception rate (which is di- rectly related to SIR) of a ow-based network is to evenly place them along the line segment joining the static endpoints. The work of Yan and Mosto [9] further jus- tify the linear arrangement of same ow nodes for Signal to Noise Ratio (SNR) based optimization goal. In our analysis, we employ Assumption 5.3.1 to restrict the feasible positions of the interfering nodes, thereby, leading to better and tighter bounds on interference. In this context, we divide the interference into two compo- nents: Intra- ow interference and Inter- ow interference. These two components refer to the interference power from the nodes in the same ow as the transmitter T and interference power from the nodes of dierent ows, respectively. 105 Intra-Flow Interference Our intra- ow interference estimation is based on the following lemma. Lemma 5.3.2. The maximum expected intra- ow interference power for a link corresponds to the sum of interference powers from nodes located at distancesfD 1 ; 2 D 1 ;kD 1 g from the transmitter node T along the line segment joining the ow endpoints, where k:D 1 D 2 (illustrated in Fig. 5.2). Proof. Assumption 5.3.1 states that in the nal conguration, the routers should be placed along the line segment joining the sink and source, sayl opt . Now, assume that the rst interferer in the worst case interference combination is located at D 1 + distance from the source, alongl opt , instead ofD 1 where 0<< (D 2 D 1 ). Since, the distance between two interferer have to be greater thanD 1 for concurrent transmission, the resulting set of interferers are located atI 1 =fD 1 +; 2D 1 + ; ;kD 1 +g wherekD 1 +D 2 . Now, the Interference Power is inversely proportional to distance, more specically d where 2 6 is the path loss exponent. Now say, the receiver is located at distanced from the transmitter on the same side as the interferers. Therefore, the power of the interferer located atD 1 + is less the the power of interferer located at D 1 as 1 (D 1 d) 1 (D 1 +d) . Similarly if the receiver is located at distance d from the transmitter on the other side i.e, the distance between the rst interferer and the receiver is D 1 + +d, the power of the interferer located at D 1 + is less the the power of interferer located at D 1 as 1 (D 1 +d) 1 (D 1 ++d) Thus, if we exchange the rst interferer position withD 1 i.e, 106 I 2 =fD 1 ; 2D 1 +; ;kD 1 +g wherekD 1 +D 2 then we get set of location with total interference power higher than that of I 1 . This is a contradiction. Thus the earlier assumption is wrong, thus, proves the lemma. Figure 5.2: Illustration of the Highest Power Intra-Flow Interference Set Cover Therefore, the maximum number of intra- ow interferers is 2 b D 2 D 1 D 1 c + 1 , where the factor 2 accounts for both sides. Inter-Flow Interference In realistic scenarios, there will be more than one ows in the network where robots assigned to dierent ows can interfere as well. We refer to such interference as the Inter- ow interference. Now, the interferers can be located in the annular transition region around the transmitter, while the nodes allocated to same ow stay on the straight line joining the endpoints of the re- spective ow (according to Assumption 5.3.1). In this section, we start the bound estimation for a two ow network, followed by a network with M ows. In this context, we make a key assumption about the maximum power Interference Set Cover for the multi- ow scenario, as follows. 107 Assumption 5.3.2. For any transmitter-receiver node pair of a ow, the intra- ow maximum power Interference Set Cover estimated in section 5.3.2 is always part of the maximum power Interference Set Cover in presence of multiple ows. (a) Two ow Case (b) M Flow Case Figure 5.3: Illustration of the Multiple Flow Interference Estimation (Blue Nodes: Intra-Flow Interferer, Red Nodes: Inter-Flow Interferer) The reason behind this assumption is mainly the fact that in practical deploy- ment, some node-pairs might not have any inter- ow interference at all (e.g., single ow network). Therefore, neglecting any of the intra- ow interfering nodes will lead to an incorrect estimate of the interference in such cases. Under the given assump- tion, our next step is to nd another line segment that will generate the maximum inter- ow interference power, for two ow cases. In general case with M ows, we need to ndM 1 other line segments such that carefully placed set of interferers on those segments result in the highest inter- ow interference power. Now, follow- ing the greedy approach mentioned in the Section 5.3.1, the second ow should 108 containY 2 orY 3 or both, in Figure 5.3a, since they are the next closest points toX after the Intra- ow interference set cover nodes are accounted for. We prove this by introducing two lemmas as follows. Lemma 5.3.3. The length of the chords of an annulus with inner radius D 1 and outer radiusD 2 , located atd r <D 1 distance from the centre increases monotonically with d r . Proof. Lets take a random chord of the annulus, located at d r distance from the center withd r <D 1 . Then the length of the chord is equal tog(d r ) = p D 2 2 d 2 r p D 2 1 d 2 r . Now taking derivative of g(:) as follows. g 0 (d r ) = d r p D 2 2 d 2 r + d r p D 2 1 d 2 r = 1 q ( D 2 dr ) 2 1 + 1 q ( D 1 dr ) 2 1 > 0 as D 2 >D 1 and d r <D 1 (5.10) This implies that g(:) is a strictly increasing function of d r , which proves our lemma. Lemma 5.3.4. Among the possible line segments through Y 2 or Y 3 or both, we just need to consider l Z and l W in Figure 5.3a for estimating the bound on the interference power for two ow case. Proof. WLOG, we assume that Y 2 must be part of the interfering set cover. Next, for proving this claim, we subdivide the angular region around point Y 2 into four 109 regions, demonstrated in Figure 5.3a. For region I and IV we can show that the maximum interference power from any ow, placed along any line in that region, is upper bounded by the interference power from a ow located on l Z as shown in Figure 5.3a. For any random line l in Zone I, the next interfering nodes on either side of Y 2 are, say, P 1 and P 2 while the same for l Z are Z 1 ;Z 3 , respectively. From triangular geometry,jjXP 1 jjjjXZ 1 jj asjjY 2 P 1 jj =jjY 2 Z 1 jj = D 1 whereas jjXP 2 jjjjXZ 3 jj (Due to the presence of node Y 4 ). Thus the interference power from Z 1 is greater than or equal to P 1 , and the interference from Z 3 is greater or equal to the interference from P 2 . This way we can show that the maximum interference power from a ow located along l Z is always ahead of the same for l with the same number of interferers on either side of Y 2 . Furthermore, using the properties of an annulus along with Lemma 5.3.3, it can be easily shown that the length of l is less than the length of l Z and therefore can support less number of simultaneously interfering nodes than l Z . Thus, the maximum interference power from a ow onl is less than the maximum interference power from a ow onl Z . Due to symmetry, we can similarly prove that the interference power from a ow located along any line l in Zone IV is always upper bounded by the maximum interference power from a ow located along l Z . Now, for region II and III, we claim that interference power from a ow located along any random line segment l is always upper bounded by the maximum in- terference power of a ow located along l W . In such cases, the power from P 2 is 110 less than the power from Y 3 , whereas the power from P 1 is greater than the power from W 1 , or vice versa. Thus, there is no straightforward dominance of the power from either line segment. Instead, the sum of the power dominates forl W . To show this, we perform a brute force simulation algorithm where we rst add up the total interference power fromY 3 andW 1 , andP 1 andP 2 , respectively, which veried that the former is always higher than later. Similarly, we perform a simulation to show that the maximum interference power from a ow along l is always upper bounded by the maximum interference power from a ow along the line l W . Table 5.4: Interference Set Cover Node Locations for a Flow Based Network Line Number (Illustrated in Figures 5.3b) l W;k f((2k + 1) D 1 2 ;( p 3 2 D 1 +jD 1 ))g 8k2f0;b (D 2 D 1 ) 2D 1 cg 8j2f0; 1; ;N W;k g l 0 W;k f((2k + 1) D 1 2 ;( p 3 2 D 1 +jD 1 ))g 8k2f0;b (D 2 D 1 ) 2D 1 cg 8j2f0; 1; ;N W;k g N W;k =b D 2 2 f(2k+1)D 1 g 2 4 1 2 p 3 2 D 1 D 1 c Using lemma 5.3.4 and the greedy logic, we can nd the set of nodes onl W (orl Z ) that will result in highest interference power, detailed in Table 5.4. Surprisingly, the maximum power interference set cover node locations on l Z are same as the line l 1 of Conguration 1. Now, the inter ow interference power is maxfP l W I (d);P l Z I (d)g, where P l W I and P l Z I denotes the total maximum interference power for nodes in line l W and l Z , respectively. Next, we extend this concept to M ow scenario i.e., 111 maximum M 1 interfering ows. For a xed pair of transmitter and receiver node of a ow with M 1 interfering ows, we need to consider two class of congurations. The mean inter- ow interference power bound of the rst class of congurations is calculated by summing up the total interference power of the rst M 0 lines from the setfl 1 ;l 0 1 ;l 2 ;l 0 2 ; ;l K ;l 0 K g in Figure 5.1a, where K =b 2D 2 p 3D 1 c and M 0 = minfM 1; 2Kg. Now, for the bound estimation of the second class of congurations, we consider the line segment joining the closest pair of nodes at any point in time. More precisely, we choose M 0 pairs of nodes from the pairs illustrated in Figure 5.3b asf(Z 1 ;W 1 ); (Z 2 ;W 2 ); (Z 0 1 ;W 0 1 ); (Z 3 ;W 3 ); ; (Z 0 K ;W 0 K )g where K = b (D 2 D 1 =2) D 1 c + 1 , M 0 = minfM 1; 2Kg, and the pairs are sorted in terms of the respective distances to the receiver. Thus, the ows situated along lines l W;i and l 0 W;i , i2f1; 2; ;Kg determine the second type of interference bound in our estimation. Next, we compare these two bounds and take the maximum of them as the estimated interference power bound. 5.4 Simulation Results In this section, we verify our proposedd dependent bounds on the interference and SIR, through a set of MATLAB 8.1 based experiments performed on a machine with 3.40 GHz Intel i7 processor and 12GB RAM. For this set of experiments, we x the values of the transmitter powers and the path loss exponent at P t = 1Watt and = 2:2, respectively. The value of = 2:2 is motivated by our experiences 112 −10 −8 −6 −4 −2 0 2 d Interference Power (dB) D 2 /D 1 =3 1 2 3 4 5 6 −20 −15 −10 −5 0 5 10 Separation Distance (d) SIR (dB) Empirical Average Empirical Min Empirical Max General Min Bound (a) 1 2 3 4 5 Separation Distance (d) 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 P{SIR <SIR estimated } D 2 /D 1 =3 E{Signal} E{Interferece} E{SIR} E{SIR}−σ{SINR} (b) 1 2 3 4 5 Separation Distance (d) 0 0.05 0.1 0.15 0.2 0.25 0.3 P{SIR<SIR estimated } D 2 /D 1 =3 TheoreticalE{SIR} EmpiricalE{SIR} EmpiricalE{SIR}−σ{SINR} (c) Figure 5.4: (a) Validation of Estimated Interference Power (Top) and SIR (Bottom) Bounds in dB, for Dense Network with No Fading (b) Probability that Actual SIR is Lower than the Estimated Minimum SIR in Presence of Log-Normal Fading with Variance 2 = 4 (c) Probability that Actual SIR is Lower than the Estimated Minimum SIR with NO Fading but in Presence of 10 Orthogonal Codes from real-world experiments presented in Chapter 4. As a measure of the annular transition region area, we choose the ratio of D 2 D 1 = f3; 6g as the typical RSSI 113 CCA thresholds are separated by 10dB to 15dB [151]. The absolute value of D 1 is randomly selected to be 6m as the major factors that controls the performance is the D 2 D 1 ratio, not the absolute values of D 1 and D 2 . First, we verify the bounds for a general dense network, where the interfering nodes are uniformly distributed over the annular transition region around T . To verify the bounds, we randomly generate 1000 sets of interfering nodes, for a xed value ofd, using Algorithm 1. In Figure 5.4a, we compare our estimated interference power and estimated SIR, with the interference powers and SIR of the generated I S sets, for no fading scenario and D 2 D 1 = 3. Figure 5.4a clearly validates our d dependent interference and SIR bounds for a general dense network in absence of fading. Next, we perform similar experiments but in the presence of lognormal fading of variance 2 = 4 and D 2 D 1 = 3. In this set of experiments, we empirically compute the probabilities,P(SIR I S < SIR X (d) ) ,P(SIR I S < SIR X (d) SIR X (d) ) and P(SIR I S < E(Signal) E(Interference ) and plot the results in Figure 5.4b. Figure 5.4b shows that the estimated SIR mean (from Eqn (5.4)) is higher than the actual SIR for around 25% of the cases, while SIR X (d) SIR X (d) is higher than the actual SIR for only 10% of the case. Thus, if we were to choose a deterministic value for the bound rather than a distribution, SIR X (d) SIR X (d) is considered as a good estimate. Next, we validate our orthogonal code based SIR bounds for a code alphabet of cardinality 10, while the maximum number of simultaneously interfering node is 38 (For D 2 =D 1 = 3). The results are plotted in Figure 5.4c, which shows 114 that our proposed bound also works well in presence of orthogonal codes for log normal fading scenario. Algorithm 1 Generate a random set of Interferer procedure Generate( ) Initialize a Dense Set of Nodes:I D InitializeI S as a empty set whileI D is not Empty do Randomly select v2I D I S =I S [v B v =fiji2I D & d iv <D 1 g I D =I D nB v end while end procedure Similar to the generic dense wireless network, we perform a set of bound tests for the robotic network scenario for D 2 D 1 = 3. In this case, we randomly select two pairs of endpoints (i.e., we consider a 3 ow network) along the circumference of the outer circle with radiusD 2 , which are the ow endpoint for the two other ows. Next, we place a dense set of points along each of the randomly selected ow seg- ments as well as the line segment joining the transmitter T and the receiver X to include the intra- ow interference. Then, we use Algorithm 1 to generate 1000 sets 115 −15 −10 −5 0 5 Separation Distance (d) Interference Power (dB) D 2 /D 1 =3 Empirical Average Empirical Max Empirical Min Application Specific Max Bound General Max Bound 1 2 3 4 5 6 −20 −15 −10 −5 0 5 10 15 Separation Distance (d) SINR (dB) (a) -5 -4 -3 -2 -1 0 1 2 3 4 5 SIR th in dB 0 5 10 15 20 25 30 35 40 45 in % Difference in the Number of Robots to be Deployed 1-Flow 2-Flow 3-Flow (b) 1 2 3 4 5 Separation Distance (d) 0 0.05 0.1 0.15 0.2 0.25 0.3 P{SIR <SIR estimated } D 2 /D 1 =3 E{Signal} E{Interferece} E{SIR} E{SIR}−σ{SINR} (c) Figure 5.5: For a 3 Flow Network: (a) Validation of Estimated Interference Bound (Top) and SIR Bound (bottom) with No Fading (b) Illustration of Less Number of Robots to be Deployed with Our Application Specic Bound (No Fading) (c) Probability that Actual SIR is Lower than the Estimated Minimum SIR with Log- Normal Fading (Variance 2 = 4) of interfering nodes for each value of d and for each of the 500 randomly gener- ated sets of ow endpoints. In all cases, the total interference power is bounded 116 by our proposed theoretical maximum interference power, for no fading scenario, as illustrated in Figure 5.5a. Figure 5.5a also shows that our application specic bounds are much tighter than the generic bound. In order to illustrate the impact of this improvement, we also plot the dierence in the number of robots required to cover a distance of 100m for dierent values of SIR th 2 [5dB; 5dB] in Fig- ure 5.5b for D 2 D 1 = 3. Figure 5.5b clearly illustrates that with our improved bound, the required number of robots to guarantee some target SIR requirements, is signif- icantly lower than the generic bound based number of robots estimations, ranging from a maximum of 45% for single ow network to a minimum of 10% for a three ow network. The improvement is signicant for less number of ows, as for a higher number of ows ( 6 7 ows) the general dense network bound becomes dominant, which is quite intuitive. Next, similar to the generic bound, in Figure 5.5c we illustrate the SIR bound in presence of fading to show that the estimated SIR X (d) SIR X (d) is higher than the actual SIR for only 10% of the case, for D 2 D 1 = 3. 5.5 Discussion In this study, we proposed a method for estimation of the maximum interference and minimum achievable SIR for a link of length d in an unknown environment while CSMA-CA or equivalent MAC layer protocols are employed. First, we demon- strate a strong dependency of these bounds on the transmitter-receiver separation 117 distanced. Next, by considering two dierent scenarios: generic dense network and robotic router network; we demonstrate that we can formulate better and tighter bounds by exploiting the network topology structure which in fact improves our main goal of estimating the number of nodes to be deployed for our robotic router network in order to guarantee some network performance. We also performed a set of MATLAB based simulation results that validate our ndings. The analysis and bounds presented in this chapter will guide an RWN system designer in the proper selection of some of the deployment parameters such as the number of robots required to fulll the communication demands. 118 Chapter 6 Routing and Data Collection Protocol for RWN In this chapter, we present our third study which is focused on ecient routing and data collection in a network of robots. 1 While there exists a large body of routing related works in mobile ad-hoc networks [155, 156], most of these works do not take into account the controllability as a new routing dimension. Moreover, the controllability demands an ecient routing protocol with delay guarantees. We want to ll in this gap of the controllability aware routing and data collection by building on top of a recently-developed queue-aware backpressure routing policy for multi-hop wireless networks, inspired by Thermodynamics, called the Heat Diu- sion (HD) algorithm [2]. To this end, we present the rst-ever decentralized version on the implementation of the Heat Diusion (HD) algorithm [2] for data collection in RWN. We refer to this distributed version of HD protocol as the Heat Diu- sion Collection Protocol (HDCP). We choose a back-pressure based routing for our study as backpressure protocols are proven to be eective for data collection with 1 The material in this chapter is based in part on the work in [154]. 119 low overhead in wireless networks with dynamic link qualities [102]. This leads us to believe that it is also an eective choice of routing protocol for a network of robots. We choose HD algorithm in specic as it minimizes the overall queue congestion of the network among the class of throughput optimal algorithms that make decision based on only current queue occupancies and channel statistics as well as provides additional signicant improvements in average queue sizes (delay) and average routing costs (such as ETX) compared to traditional Backpressure routing [68]. Table 6.1: List of Symbols Variables Symbol Value Set Description q i Z 0 The Queue Backlog at Node i q ij Z The Queue Dierential Between Node i and Node j ij R + 0 Capacity of Link ij ! ij R The Calculated Weight of Link ij f ij Z 0 The Number of Packets to be Sent for HD Parameters Symbol Value Set Description [0; 1] Pareto Optimal Trade-o Control Parameter for HD 6.1 The Heat Diusion Routing: Theory and Concepts In this section, we detail the basic concepts behind the Heat Diusion Routing algorithm by building on top the concepts presented in Section 2.3. The Heat Diusion (HD) [2] routing has been derived from the combinatorial analogue of 120 classical Heat-Diusion equation in Thermodynamics. It uses the information about estimated link capacities, ij (n), link cost factor, ij (n), and queue backlogs, q i (n) 8i2V, to make the routing decisions to put f ij packets at each time slot n. The optimization goal of the HD algorithm for a wireless network in theory can be described as follows [2, 111]: Minimize: (1)Q +R Subject to: (1) Throughput optimality, and (2) Network constraints (6.1) where R = P ij2E ij (f ij ) 2 is the Dirichlet average routing cost, Q = P i2V q i is the average network queue size, and2 [0; 1] is the control parameter to determine the trade-o between these two optimization goals. Note that is the only controllable parameter in the HD formulation. Throughput optimality for a routing algorithm refers to its ability to maintain all queues stable for all sets of arrival rates for which it is possible by an omniscient router to maintain stable queues. Network constraints include constraints on link rates as well as interference constraints. Next, we give more concrete details on the HD routing algorithm. For clarity, we summarize the symbols used in Table 6.1. Similar to the classic BP routing algorithm, the HD routing algorithm has three steps: Link Weighing, Scheduling, and Forwarding. 121 6.1.1 Link Weighing Calculate the number of packets the link will transmit if it is activated at time-slot n. In the original literature, this quantity is denotes by c f ij (n), calculated as follows: c f ij (n) = minf ij (n)q ij (n) + ; ij (n)g ij (n) = (1) += ij (n) (6.2) where the Lagrange parameter is dened in Eqn (6.1). Now, the link weights are calculated as follows: w ij (n) = 2 ij (n)q ij (n) c f ij (n) c f ij (n) 2 (6.3) 6.1.2 Scheduling Find a scheduling vector 2 such that: (n) = arg max 2 X ij2E ij w ij (n) (6.4) and the ties are broken randomly. 122 6.1.3 Forwarding At this step, send c f ij (n) number of packets over the link ij if ij (n) = 1 and w ij (n) > 0. However, c f ij (n) may be a fractional number. Therefore the actual number of packets transmitted is: f ij (n) = 8 > > > < > > > : d c f ij (n)e if ij (n) = 1 0 otherwise (6.5) Note that, unlike BP routing, a node running HD routing sends f ij (n) number of packets rather than transmitting at the full capacity, ij (n). In Table 6.2, we summarize the side by side comparison of the BP and the HD algorithms. For a more detailed comparative analysis of the theoretical BP and HD algorithms, interested readers are referred to the original HD paper [2]. Table 6.2: Contrasting HD policy with V-parameter BP policy (adapted from [2]) Weighing c f ij (n) BP min ij (n); q i (n) HD min 1 += ij (n) q ij (n) + ; ij (n) w ij (n) BP ij (n) q ij (n)V ij (n) ij (n) + HD 2 1 += ij (n) q ij (n) c f ij (n) c f ij (n) 2 Scheduling (n) = arg max 2 P ij2E ij w ij (n) Forwarding f ij (n) = 8 > > > < > > > : d c f ij (n)e if ij (n) = 1 0 otherwise 123 6.2 The Heat Diusion Collection Protocol: From Theory to Reality In this section, we detail the Heat Diusion Collection Protocol (HDCP) and the modications made to the theoretical HD protocol for practical implementation. 6.2.1 Predecessors Before detailing the HDCP, we present a brief overview of two of the well-known data collection routing protocols for a side by side comparison: Backpressure Col- lection Protocol (BCP) and Collection Tree Protocol (CTP). Moreover, these two protocols gave us insights on molding the promising theoretical HD algorithm into a real implementation. 6.2.1.1 The Collection Tree Protocol The Collection Tree Protocol (CTP) [105] is a tree based, best-eort, anycast data collection protocol that was rst introduced in [157]. There have been many practi- cal implementations of CTP among which CTP Noe, presented in [105], is the most popular one. The main idea of CTP is to maintain minimum cost trees to a set of nodes that advertise themselves as the data sink/tree roots. The distance/cost used in this context is in terms of the well-known metric called ETX. Each node 124 calculates the shortest distance to a sink/root in terms of ETX and uses the respec- tive next hop neighbor to send the data. In CTP, there exist two types of packets: data packets and routing packets. While the data packets are used for actual data transmission, the routing packets are used solely to setup/update the tree. For setting up the tree, CTP uses a variant of the Trickle algorithm [158]. CTP uses an adaptive beaconing technique to identify the neighbors, to calculate the shortest path, and to adapt to node failures or link quality changes. To avoid routing loops, CTP uses a datapath validation technique. In this technique, if a node receives a packet from a node with lower or equal distance/cost (in terms of ETX) to a root, it triggers a router repair phase and retries after a timeout. In contrast, neither BCP nor HDCP relies on a predetermined routing path. 6.2.1.2 The Backpressure Collection Protocol The Backpressure Collection Protocol (BCP) [102] is a distributed dynamic rout- ing protocol which practically implements the idealized V-parameter BP algorithm without the need for a global max weight scheduling. In this protocol, the link penalty, ij (n), in (2.7) is replaced by ETX ij (n), which is the ETX estimate for link ij at time-slot n. Therefore, the modied weighing function is as follows: w ij (n) = ij (n)(q ij (n)V:ETX ij (n)) (6.6) 125 In this distributed protocol, each node calculates the weight for each of its outgoing links locally and chooses the neighbor with the maximum positive weight, if any, to forward the next packet. It is shown in [102] that a last-in-rst-out (LIFO) queue implementation of BCP is better than rst-in-rst-out (FIFO) in terms of delay performance. Also, oating or virtual queues are implemented to deal with the problem of limited buer size. 6.2.2 The Heat Diusion Collection Protocol The original HD algorithm is a centralized protocol where at each time slot the op- timum non-interfering schedule must be computed. In our distributed implementa- tion of the Heat Diusion Collection Protocol (HDCP), every node decides the next hop locally and greedily based on the weight calculations. Moreover, following the logic of BCP the penalty/cost factor ij (n) in (6.2) is replaced by ETX ij (n) which is the estimated ETX of the link ij at time-slot n. Thus, the modied equations to calculate the link weights are as follows: c f ij (n) = minf ij (n)q ij (n) + ; ij (n)g ij (n) = (1) +=ETX ij (n) w ij (n) = 2f(1) +=ETX ij (n)gq ij (n) c f ij (n) c f ij (n) 2 (6.7) Now, each node calculates the weight for each of its outgoing links and chooses the link with the maximum positive weight. Note that, most of the variables 126 in the weight calculation can be estimated or calculated during the operation if provided with a value of. We explain the choice of in the next section, followed by detailed descriptions of other components of the HDCP such as distributed weight calculation, link ETX estimation, and our proposed link switching method to improve the link qualities. Moreover, unlike the centralized algorithm's NP- hard maximum weight independent set time scheduling to avoid interference, our distributed protocol handles interference by adaptive retransmissions and CSMA based MAC access. 6.2.2.1 The Parameter In theory, for dierent choices of, we should get dierent performance for HDCP as the optimization goal changes for dierent values of (Note that this parameter is not part of the CTP and BCP formulations). If we choose = 0, Eqn. (6.7) will be simplied to: c f ij (n) = minfq ij (n) + ; 1g w ij (n) = 2q ij (n) c f ij (n) c f ij (n) 2 (6.8) Now, forq ij (n)> 0, c f ij (n) = 1 as the queue dierential can take only integer values. Therefore, Eqn (6.8) can be rewritten as follows: w ij (n) = 8 > > > < > > > : 2q ij (n) 1 if q ij (n)> 0 0 Otherwise (6.9) 127 Therefore, the optimization goal becomes similar to the goal in the original \pure" BP routing (by Tassiulas and Ephremides [68]) and it does not include the mini- mization of ETX. Also, as the link weights solely depend on the queue dierentials, the delay performance should be better provided that the links are all very good 2 . On the contrary, since this protocol does not try to minimize the ETX, it can choose a bad link 3 if the queue gradient on that link is the largest. As a consequence, the average number of retransmissions faced by a packet also increases which is directly translated to larger end to end delay. Therefore, if the overall path costs in terms of ETX is the dominant factor in the end to end delay calculation, HDCP with = 0 may perform poorly in practice. On the other hand, if = 1, Eqn. (6.7) will be as follows: c f ij (n) = minf q ij (n) + ETX ij (n) ; 1g w ij (n) = 2 q ij (n) ETX ij (n) c f ij (n) c f ij (n) 2 (6.10) Similar to the previous case, we can simplify (6.10) as follows: w ij (n) = 8 > > > > > > > > < > > > > > > > > : 2 q ij (n) ETX ij (n) 1 if q ij (n) ETX ij (n) 1 q ij (n) ETX ij (n) 2 if 0< q ij (n) ETX ij (n) < 1 0 Otherwise (6.11) 2 A link is very good/perfect if the ETX of the link is 1 which implies that every packet transmission is successful on that link. 3 We consider a link to be very bad if the ETX is 5 i.e., one successful transmission per every ve transmissions. 128 In this case the optimization goal is mainly the reduction of overall path costs in terms of ETX. Thus the overall ETX for a path should be improved for this case. However, this might result in a slight increase in hop counts if the links are very lossy. The rst and last cases in Eqn. (6.11) correctly fulll our routing requirement. But the second case causes ineciency in the real testbed experiments. In such cases, even if the ETX cost is very high for a link and the queue dierential is as low as 1, a node will try to send the packet to that link according to the original HD rule. Moreover, in practical experiments, the probability of falling under such a situation is very high. Thus, it will negatively aect the overall performance of the HDCP and needs to be avoided. Furthermore, provided that we have avoided any such situations and have a good link with ETX = 1, a queue dierential of 1 will still result in a positive weight thereby causing the protocol to forward the packet. This results in an absence of a steady state queue gradient on such links. This can potentially increase the number of hops traversed by the packets and also deteriorates the goodput. In order to avoid both of these situations, we replace the ij (n) in Eqn (6.2) by VETX ij (n) which modies Eqn. (6.7) as follows: w ij (n) = 2f(1) + VETX ij (n) gq ij (n)f ij (n)f ij (n) 2 (6.12) where f ij (n) =d c f ij (n)e. By setting V 2, we make it certain that there exists a steady state queue gradient towards the sink. Therefore, a node will consider a link only if q ij (n) is 129 greater thanETX ij (n). Thus, for a link with very high ETX, the queue dierential has to be higher in order to consider that link. Furthermore, this strategy also sat- ises the Backpressure criterion as forq ij (n)< 0 =) w ij (n)< 0. In Section 6.4.2, we present a practical experiment based analysis of the performance improvement as a result of this change in weight calculation. 6.2.2.2 Updating Weights In order to calculate the weights in a distributed manner, each node requires up- dated information about the queue sizes of its neighboring nodes without aecting the performance of the routing task. In our distributed implementation of HDCP, we employ two techniques to do that. First, during a long period of inactivity, each node periodically broadcasts a beacon with its current queue status similar to common wireless access points. If a neighboring node receives this broadcast, it will update its locally stored queue dierential information. Second, when a node sends a data packet, it includes its current queue state in that packet's header. Due to the nature of wireless links, every packet is received by all the neighboring nodes (we assume that no advanced MAC protocol is employed that schedules nodes to communicate in pairs at dierent times). Once a data packet is received by a node, it snis the header of the packet to extract the queue information and updates the local queue information database, even if the respective node is not the destination of the packet. Note that, BCP follows similar technique for updating link weights. 130 In CTP, there is no concept of queue dierential based link weights. Rather, CTP uses beaconing based ETX information to predetermine the routing paths. 6.2.2.3 Queue Implementation Similar to BCP, the practical implementation of the HDCP can have a FIFO queue or a LIFO queue implementation. Based on the observation in [102] that LIFO queue implementation has a signicantly better performance in terms of end-to- end delay (which we also observed empirically), we present only the LIFO queue implementation of the HDCP protocol in this study. We also adopt the virtual \ oating" queue approach proposed in [102] to prevent packet buer over ows due to the steady-state queue gradient. 6.2.2.4 Link Metric Estimation One of our contributions in this study is to propose a new method of ETX cal- culation for implementations of dynamic routing. Initially, we opted to follow the ETX calculation technique from original BCP paper [102]. In that implementation the estimation of ETX ij for link ij is performed in an online manner where the metric is updated by taking an exponential weighted moving average of the number of retransmission attempts of the most recently transmitted packet. This is a very eective way of ETX estimation for routing protocols that do not switch next hop during retransmission i.e., use the same linkij for all the retransmission attempts. 131 However, for Backpressure-based dynamic routing protocols, the next hop calcu- lation is performed before each retransmission, for path diversity. In such cases, we have to be very careful in calculating moving average since the same link may not be used for all the retransmissions. Therefore, an attempt to update the ETX for the most recently used link with the total number of retransmission attempts might lead to an erroneous ETX estimation. To avoid this aw, we can keep track of all the links used as well as the number of tries on that link and update either only the last used link or all the links after a successful packet transmission or a packet drop. As an alternative, we propose a 2-state discrete-time Markov Chain based ETX estimation. In this method, we assume that each link can be either good (`1') or bad (`0') at a certain point in time. With each state, we associate two transition probabilities: good to good (p 11 ), good to bad (p 10 ), bad to good (p 01 ) and bad to bad (p 00 ). Now the ETX ij can be calculated as 1 p 01 when the last state observed was a 0, and as 1 p 11 when the last state was 1. We maintain four counters associated with each routing table entry to keep track of dierent state transitions, denoted as c 00 , c 01 , c 10 and c 11 . We also add a Boolean variable to keep track of the last state of the link, i.e., if the value is true, the last known state was good. We initialize the c 01 and c 11 to be 1 and the others to be 0. Now, every time a packet is transmitted (or retransmitted), the algorithm waits for a certain period of time to receive the acknowledgment (ACK). 132 If received, the state of the link is set to be good (`1') otherwise it is set to be bad (`0'), and then based on the last state, the respective counter is increased by one. The counters may be reset after reaching a maximum value, to keep the ETX estimates fresh. In our experiments, we have not done this as it did not appear to aect the performance. Now, based on the counters, the ETX is calculated (it can be shown that this corresponds to a maximum likelihood estimate of the underlying Markov Chain parameters) as follows: ETX ij = 8 > > > < > > > : c 00 +c 01 c 01 if last State = 0 c 10 +c 11 c 11 if last State = 1 (6.13) All the results presented in this study are based on this new, more justiable method of ETX calculation, which we apply to both BCP and HDCP for a fair comparison. 6.2.2.5 Link Switching In this study, we propose an enhancement of HDCP by introducing link switching. The main concept of link switching is to maintain an ordered set of best (in terms of the weights) K neighbors (K can be any positive integer) at each node. When a packet is sent, it is rst sent to the rst neighbor on this list. If the transmission fails, the retransmission attempt is made immediately to the next neighbor in the 133 list and so on. If the list is exhausted during retransmissions, the process restarts again from the rst neighbor in the list. A node should fulll some selection criterion to be included in the list such as the link weight should be within some threshold of the best link. In our experiments, we set a threshold on the ETX and weight i.e., if a positively weighted link's ETX is no worse than the best link's ETX + 1, we add that link to the list. In section 6.4.2, we present a practical experiment based analysis of the performance improvement as a result of this change. However, we introduce this switching in HDCP only because we empirically found that it does not help to improve the performance of BCP. Note that the concept of link switching is not part of the existing BCP and CTP implementations. 6.3 Implementation Details Similar to any data collection routing protocol, a number of common routing pa- rameters need to be set properly in the real implementation of HDCP (in our case in the Contiki OS implementation) such as maximum queue size and the maximum number of retransmissions. In this section, we discuss the choices of such parame- ters and the reason behind them in details. First of all, we set the value of ij (n) in Eqn. (6.2) to be 1 as a node cannot send more than one packet simultaneously. 134 6.3.1 Retransmission Retransmission is very crucial for the performance of any wireless network. For eective retransmission, the parameters such as retransmission timeout and maxi- mum number of retransmissions have to be properly chosen. Retransmission is also directly related to the acknowledgment mechanism and the choice of ARQ. Since the choice of ARQ aects the HDCP, the BCP, and the CTP algorithms equally, we have implemented a simple Stop and Wait ARQ mechanism where a node can send only one packet at a time and wait for its acknowledgment before moving to the next packet. If the acknowledgment is not received within a certain time, commonly referred as retransmission timeout, the node retransmits the same packet. Now, the value of this retransmission timeout directly aects the goodput of the system and needs to be properly chosen. Note that, the ARQ mechanism is employed on top of the existing hardware level acknowledgment mechanism that tries a maximum of 3 times to properly transfer the packet to the next hop in case of unicast trans- missions (e.g., software acknowledgments). We do not remove the hardware level acknowledgment (One key feature of the CTP algorithm) for a fair comparison as well as to avoid the unreliability issues in pure software acknowledgments. In our experiments, the transmission and propagation time for a packet is in the order of tens of milliseconds. It would then perhaps be expected that the best setting for the retransmission should be on the order of around 10ms or so. Never- theless, we empirically found that it is best to set the timeout for retransmitting a 135 lost packet to be chosen randomly between 10 to 200 ms. We believe that this large range is needed because of the link coherence time in our testbed which is located in a busy oce building environment. For instance, in [159], it is indicated that the coherence time for IEEE 802.15.4 radios can be about 175ms. Retransmitting a lost packet quicker than the coherence time runs a higher risk of seeing another packet loss. Furthermore, we use CSMA/CA as the link access protocol, which also introduces some delay. The maximum number of retransmission attempts is set to 5 based on the original BCP code, which we empirically observed to perform well on our testbed. After ve retransmission attempts, if a packet is not acknowledged, the node will drop it and move to the next packet. 6.3.2 Retry Whenever a node generates or receives a packet, it tries to send it immediately (after about 4 5 ms) if no other packet is being transmitted or waiting in the queue. However, when the node wants to transmit the packet, there might not be any suitable neighbor (in terms of having a positive weight) to forward the packet. In that case, the node needs to decide how much time should it wait before retrying. We refer to this wait time as the Retry time. One viable option is to constantly keep trying which is not ecient in terms of energy consumption due to radio wake times. Also once this situation happens, it might take a while to have a good neighbor. 136 In this work, we set the retry time to be chosen randomly between 50ms to 100ms. The intuition behind choosing this value is again the transmission time for a packet being in the order of tens of milliseconds. Based on our experiments, we have also observed that the typical packet transfer time (the time duration between the transmission and reception of a packet) is 10ms. Therefore, by choosing a value between 50ms and 100ms, we give the neighboring nodes enough time to potentially transfer several packets which is likely to be enough to create a positive weight. 6.3.3 Queue Buer In practical low power low memory devices, the possible queue buer allocations are severely restricted. We xed the maximum queue size to be 25 as this is the highest possible number of queue buer that our device can accommodate alongside other required memories. Along with this buer, there also exists a small memory allocated to store only the recent packet for the retransmission purpose. 6.3.4 Beacon Timer Beaconing is a very important part of the practical implementation of both HDCP and BCP. When a node has nothing to send for a long time, beacons are sent periodically, so that the neighboring nodes can keep their Backpressure database updated. Also, beaconing is mandatory for a sink node since it has nothing to send. Therefore we implement two dierent beaconing rates in our system. The rst type 137 of beaconing is for source nodes and the period for that is around 5 seconds. The second type of beacons, which we refer to as the fast beacons, are used by the sink nodes and the period for that beacon is around 2 seconds. These values are chosen based on the original BCP code. 6.3.5 Inbound Packet Filtering Inbound packet ltering is very important to improve the performance of both HDCP and BCP in the presence of retransmissions. If no ltering is used, a node might receive multiple copies of the same packet due to retransmissions. Therefore the node might have multiple copies of the same packet stored in the buer simul- taneously, which is not ecient. To avoid this kind of situations, we implement an inbound packet lter to drop any duplicate packets after sending proper acknowl- edgments. In our implementation, each node maintains a history (packet source information and the original sequence number) of 25 most recent packets received by the node. We choose this number to match the queue buer size. Every time a node receives a packet, it checks the history, performs the necessary action such as packet drop or store, and updates the history. Further, to prevent packet looping, we implement a TTL counter which decre- ments at each hop. In our experiments, sources set the initial TTL for each packet conservatively to 10 (the maximum hop distance from any node to the sink in our testbed is only 3). 138 6.3.6 End to End Delay Calculations For calculating end to end delay of each packet, we maintain a separate eld called HDCP Delay in the HDCP header, initialized with a value of 0. At the source node, the packet is timestamped at the generation (Say, A source ) and just before departure (Say, D source ), and the value HDCP Delay eld is set to be (D source A source ). Similarly, we time-stamp the packet at each intermediate node, I k : upon arrival (A I k ) and just before departure (D I k ); and add the time dierence with the value of HDCP Delay , i.e., HDCP Delay = HDCP Delay + (D I k A I k ). Thus, the value of the eldHDCP Delay upon arrival on the sink denotes the end to end delay suered by that packet. For illustration, assume that the travel path of a packet is source!I 1 !!I M !sink, where A I 1 ; ;A I M are the arrival times of the packet at the intermediate nodes, and D I 1 ; ;D I M are the respective departure times. Then the end to end delay is: P i=M i=1 jD I i A I i j +jD Source A source j. Note that, we do not add the propagation delays as the value of propagation delays are negligible compared to the queuing delay (which we measure) in our testbed setup. 6.3.7 Experimental Setup To analyze the performance of HDCP in a real network and compare it with BCP and CTP, we have implemented the HDCP and the BCP algorithms on Contiki OS and used the CTP implementation available with the Contiki OS. We perform a set of evaluation experiments on an indoor wireless network testbed called Tutornet 139 [160] with forty-ve IEEE 802.15.4-based Tmote-sky nodes distributed over a oor with roughly 80; 000 sq.ft of an area. This testbed is also available for administered public use for approved research purposes including benchmarking protocols. The network topology is presented in Fig. 6.1 where the marked node is the sink and the rest of the nodes are the source nodes and the furthest node is three hops away from the sink. We use the channel number 26 with Tmote sky power level 31 for this purpose. The number of neighbors to each node varies from 19 to 35 with an average of 29. Nonetheless, typically only about 7-8 of the neighbors are connected via good links (ETX 1). Thus the topology is very diverse with a considerable number of dierent paths between any two nodes in the network. On the negative side, a considerable amount of interference exists among the nodes, which limits the bandwidth. The data packets in our experiments are all 26 Bytes in size. Figure 6.1: Real Experiment Testbed Topology 140 All the experiments are performed on weekdays during daytime with lots of moving people and physical objects around. Each experiment is performed for 35 min: the network settles down during the rst 5 min and the data is collected during the next 30 min. Each experiment is repeated at least 10 times to improve the condence levels. Note that, we discuss the experimental setup for low power stack and for node failures in Sections 6.4.5 and 6.4.7, respectively. We evaluate HDCP's performance in terms of dierent values of and dierent packet generation rates. We select the value ofV to be 2 for both BCP and HDCP which has been empirically determined to be an ecient operating point for BCP in the original BCP paper (which we could also verify in our own experiments). 4 6.4 Real Testbed Experiment Results and Analysis In this section, we evaluate the HDCP protocol under dierent congurations ( values) and also compare them with LIFO BCP with virtual queue implementation and CTP. 4 The source codes of these experiments are publicly available at https://github.com/ ANRGUSC/HDCP. 141 6.4.1 Variation of the Parameter We perform a set of practical experiments on the testbed with dierent values of and packet generation rates of 1 packet per 4 seconds per source (i.e., 0.25 PPS) as well as 1 packet per 2 seconds (0.5 PPS). The dierence in performance is not prominent between the two source rates. Thus, we present the results only for the higher rate of 0.5 PPS in this section. The goodput of each source node is dened to be the number of packets received by the sink from it over a one-second interval. For visual clarity, all the plots presented in this section are sorted in terms of the goodput of the individual nodes for the experiment with = 0. The end to end delay calculation for each packet is performed by adding up all the queuing and processing delays in all intermediate nodes, as discussed in Section 6.3.6. This ignores the propagation times which in any case are negligible compared to the processing delays. First, we analyze the goodput characteristics of HDCP for dierent choices of . In Fig. 6.2a, we compare the goodput of each of the forty-four nodes for six dierent choices of. Figure 6.2a clearly shows that the goodput for = 1 and 0:8 are signicantly better than the other choices of. It also demonstrates that = 0 results in a gradual decrease in the goodput to sink where only a few nodes are able to reach the maximum possible rate. Figure 6.2a also shows that the choice of 2f0; 0:2; 0:4; 0:6g does not signicantly aect the goodput performance. Based on these observations, we hypothesize that the goodput performance of the network 142 is mostly dependent on the ETX of the path and, therefore, for higher values the goodput performance metrics are better. Figure 6.2c, which shows that the average path costs for 2f0:8; 1g in terms of ETX for individual sources are signicantly less than the average path costs for other choices of, validates this hypothesis. In Fig. 6.2c, we also analyze the average hop counts observed by the packets. It shows a similar pattern as the path costs since total ETX of the path is proportional to the number of hops traversed by the packet. In Fig. 6.2d (Bottom), we analyze the variation in the average end-to-end delay suered by the packets generated from individual nodes for dierent values of . It shows that the average delay performance for = 1 is the best among dierent choices of while any other choice of results in a worse delay performance. Similar statistics are seen in Fig. 6.2d (Top) in terms of the average queue sizes for individual nodes. This Fig. 6.2d demonstrates that for = 1 the average queue- sizes are almost three to four times smaller than that of the average queue sizes for 2f0; 0:2; 0:4; 0:6g. We also plot the delay CDF in Fig. 6.2b for the packets generated from mote 38 in the testbed which is the mote farthest from the sink. It also shows that = 1 is best in terms of end-to-end delay. Summarizing all these results, we can say that HDCP performs really well if the value of is close to 1. For lower values of , we nd the performance does not dier by too much from the performance when = 0 (the reason for this is further discussed in section 6.5). Therefore, we only consider HDCP with = 1 and = 0 143 (the latter as a baseline scheme, which does not take into account ETX) for the rest of the study. 10 20 30 40 Node ID 0 0.1 0.2 0.3 0.4 0.5 Goodput to Sink (Packets/sec) =0 =0.2 =0.4 =0.6 =0.8 =1 (a) 0 200 400 600 Delay in seconds (X) 0 0.2 0.4 0.6 0.8 1 F[X] =0 =0.2 =0.4 =0.6 =0.8 =1 (b) Node ID 2 4 6 8 Average ETX per packet =0 =0.2 =0.4 =0.6 =0.8 =1 10 20 30 40 Node ID 1 2 3 4 Average Hop Count =0 =0.2 =0.4 =0.6 =0.8 =1 (c) Node ID 5 10 15 20 Avg. Queue size =0 =0.2 =0.4 =0.6 =0.8 =1 10 20 30 40 Node ID 5 10 15 20 Avg. Delay (in s) =0 =0.2 =0.4 =0.6 =0.8 =1 (d) Figure 6.2: Performance Plots of HDCP Implementation for 0.5 PPS with Dierent Values of : (a) Average Goodput to Sink (b) End-to-End Delay CDF Plot for Mote 38 (c) Average ETX per Packet (Top) and Average Hop Count (Bottom) (d) Average End-to-End Delay (Bottom) and Average Queue Size for Each Node (Top) 144 6.4.2 Modied HDCP vs Unmodied HDCP In this section, we present a comparison of an HDCP implementation based on the original weighing model suggested by the theory (Eqn. (6.7)) with our HDCP implementation where the link weight model is modied as in (6.12) as well as with our proposed link switching approach. For this purpose, we perform a set of experiments with both versions of HDCP for a xed value of = 1 and xed packet generation rate of 0.25 PPS i.e., 1 packet per 4 seconds. Note that, for visual clarity, all the plots presented in this section are sorted in terms of the goodputs for unmodied HDCP implementation. In Fig. 6.3a, we demonstrate that without the modications we have proposed, the goodput performance of HDCP suers signicantly. This is mostly due to the selection of links with higher ETX as well as lack of proper queue gradient towards the sink, as discussed in Section 6.2.2.1. This is further veried by the Fig. 6.3b which clearly shows that the average path costs in terms of ETX for unmodied HDCP are very high compared to our HDCP implementation. Next, we compare the performance of unmodied and modied HDCP in terms of average end to end delay as well as average queue size of individual nodes in Fig. 6.3c. It shows that the delay performance of unmodied HDCP is worse than modied HDCP for half of the nodes while it is better for the rest half of the nodes. Thus, on average, the modication does not attribute to any delay improvements. On the other hand, it is also clear from the Fig. 6.3c that there exists a steady 145 10 20 30 40 Node ID 0 0.05 0.1 0.15 0.2 0.25 0.3 Goodput to Sink (Packets/Sec) Unmodified HDCP Modified HDCP (a) Node ID 0 5 10 Average ETX / Packet Unmodified HDCP Modified HDCP 10 20 30 40 Node ID 0 5 10 Average Hop Count / Packet Unmodified HDCP Modified HDCP (b) Node ID 0 2 4 6 Average End to End Delay / Packet (in s) Unmodified HDCP Modified HDCP 10 20 30 40 Node ID 1 2 3 4 5 6 Avg Queue Size / Packet Unmodified HDCP Modified HDCP (c) Figure 6.3: Performance Comparison between Modied and Unmodied HDCP Implementation with = 1 for 0.25 PPS: (a) Average Goodput (b) Average ETX per Packet (Top) and Average Hop Count (Bottom) (c) Average End-to-End Delay (Top) and Average Queue Size (Bottom) queue gradient in modied HDCP in contrary to the case of unmodied HDCP, where most of the nodes have queue size of 1 thereby lacking a proper queue gradient towards the sink. This also validates our justication for the modication of weights 146 in HDCP as indicated in Section 6.2.2.1. Thus, overall we improve the performance of HDCP by slightly compromising the average queue sizes. 6.4.3 Performance Comparison with BCP and CTP for Fixed Packet Generation Rate In this section, we compare the performance of HDCP with the performance of the BCP protocol and the CTP protocol for the xed packet generation rate of 0.5 PPS, i.e., 1 packet per 2 seconds. Note that, for simplicity of presentation, all the plots presented in this section are sorted in terms of the goodputs for the BCP algorithm. In Fig. 6.4a, we plot the goodputs for CTP, BCP and HDCP with = 0 and 1, respectively. We observe that HDCP with = 1 outperforms the CTP algorithm in terms of goodput while CTP outperforms HDCP for = 0. However, BCP and HDCP with = 1 perform almost identically. For = 0, the weights of the links are fully determined by the queue dierentials and it does not depend on ETX at all, resulting in bad performance. For CTP, a node relies on a single periodically calculated path to sink and does not take advantage of multiple available paths to sink thereby compromising the goodput for high packet generation rate such as 0.5 PPS. On the other hand, BCP and HDCP with = 1 focus on reducing the total ETX cost of a source to sink path while not being restricted to a single pre-calculated path. Thus, the BCP and the HDCP algorithm with = 1 appear 147 10 20 30 40 Node ID 0 0.1 0.2 0.3 0.4 0.5 Goodput to Sink (Packets/Sec) BCP CTP HDCP =0.0 HDCP =1.0 (a) Node ID 2 4 6 8 Average ETX / Packet BCP CTP HDCP =0.0 HDCP =1.0 10 20 30 40 Node ID 1 2 3 4 Average Hop Count / Packet BCP CTP HDCP =0.0 HDCP =1.0 (b) Node ID 2 4 6 8 10 12 14 16 18 Average End to End Delay / Packet (in s) BCP CTP HDCP =0.0 HDCP =1.0 10 20 30 40 Node ID 2 4 6 8 10 12 14 16 18 Avg Queue Size / Packet BCP CTP HDCP =0.0 HDCP =1.0 (c) Figure 6.4: Comparison Plots between HDCP, BCP and CTP for 0.5 PPS: (a) Average Goodput to Sink (b) Average ETX (Top), Average Hop Count to Sink (Bottom) (c) Average End-to-End Delay (Top) and Average Queue Size (Bottom) to be able to take advantage of the multiple paths available to the sink in order to cope with high packet generation rates thereby improving the throughput region. Similar to the goodput analysis, we present the average hop count and average ETX of the entire path observed by the packets generated from individual sources in 148 Fig. 6.4b. It shows that, again, HDCP with = 1 and BCP both slightly outperform CTP on average whereas HDCP with = 0 performs the worst. This is also justied based on our discussion presented in the previous section. The performance of HDCP with = 1 and the performance of BCP are again almost same. Based on these results, we hypothesize that the similarity between BCP and HDCP with = 1 is due to the similarity in their neighbor rankings, despite dierences in the structure of the weight expression. This is further explored in section 6.5. We also compare the delay performance and queue size of HDCP with BCP and CTP in Fig. 6.4c. Figure 6.4c shows that the delay performance of HDCP for = 1 is signicantly better than HDCP with = 0. However, based on Fig. 6.4c, the delay performance for BCP is almost same as HDCP with = 1 while both of them outperforms CTP. The similarity between BCP and HDCP with = 1 is justied based on the previous results. In Fig. 6.4c, we also demonstrate that the average queue size of HDCP with = 1 is signicantly low compared to BCP and HDCP with = 0. The queue size of CTP seems to be the lowest for some nodes, however, we believe this is misleading as CTP experiences the most packet drops among the various protocols at this oered load. The packet drops in CTP occur partly due to retransmission packet drops caused by higher intra-network interference (re ected in the higher ETX and higher delay values), and partly due to some other parameters in its implementation such as forwarding packet lifetime and an in-built congestion control. However, for any higher packet generation rate, 149 we observe that the queue size for CTP increases rapidly (resulting in even more losses) as does its delay. 6.4.4 Varying Packet Generation Rate In this section, we present and analyze the eects of the packet generation/source rates on the performance of HDCP and compare it with the performance of the BCP and CTP algorithms. We performed a set of experiments with six dierent packet generation rates: 1/12 PPS (i.e., 1 packet per 12 seconds), 1/8 PPS, 1/4 PPS, 1/2 PPS, 4/5 PPS, and 1 PPS. In Fig. 6.5a, we present the goodput variation due to the change in packet generation rate for HDCP with = 0 and 1 as well as the goodput variations of the BCP and the CTP algorithms. It is clear from Fig. 6.5a that for lower packet generation/source rates, HDCP performs almost similar to the BCP and CTP algorithm in terms of goodput to sink. But, as we increase the oered load, HDCP and BCP gradually outperform the CTP algorithm. In our experiments, HDCP outperforms CTP in terms of goodput for packet generation rates higher than 1 packet per 4 seconds. From the Fig. 6.5a, we can estimate that the full throughput region (the maximum oered load at which the protocol is able to match the ideal curve) for HDCP is about 60 to 100% higher than that for CTP in this particular testbed and topology (of course the relative performance improvement is certainly likely to depend on the network topology.) Another thing to notice that, the average goodput for = 1 is always higher than = 0 which agrees with our 150 earlier ndings and arguments concerning the ineciencies introduced by ignoring the ETX costs of links. Yet again, the performance of BCP closely follows the performance of HDCP with = 1 which is, again, due to the similarity in their neighbor rankings in terms of the weights. This is further explained in section 6.5. 0 0.5 1 Offered Load in PPS 0 0.2 0.4 0.6 0.8 1 Average Goodput / Node in PPS Ideal BCP CTP HDCP =0.0 HDCP =1.0 (a) 0 0.2 0.4 0.6 0.8 1 0 5 10 15 Offered Load in PPS Average End to End Delay / Node (in s) BCP CTP HDCP β=0.0 HDCP β=1.0 (b) 1 2 3 4 5 6 7 Offered Load in PPS Average ETX / Node BCP CTP HDCP β=0.0 HDCP β=1.0 0 0.2 0.4 0.6 0.8 1 1 2 3 4 5 Offered Load in PPS Average Hop Count / Node BCP CTP HDCP β=0.0 HDCP β=1.0 (c) Figure 6.5: (a)Variation of Goodput for Varying Oered Load (b) Variation of Average End to End Delay for Varying Oered Load (c) Variation of Average Path Cost in Terms of ETX (Top) and Average Hop Count (Bottom) for Varying Oered Load 151 Next, we investigate the eects of increasing packet generation rates on the average path costs in terms of ETX and the average number of hops traversed by the packets. We plot the average ETX and average hop counts due to dierent source rates for HDCP, BCP and CTP in Fig. 6.5c. It is observable from Fig. 6.5c that for any packet generation rate overall path cost for HDCP with = 1 is comparable to BCP while CTP outperforms both for packet generation rate lower than 0.25PPS and converges with them for higher rates. Moreover, the average path cost for HDCP with = 0 is higher than = 1 which is justied by our discussion in the previous section. Similar statistics are available from the plot of average numbers of hops encountered by each packet due to its direct relation with the overall path ETX. The similarity between HDCP with = 1 and BCP is, again, justied based on our earlier discussions. The apparent `good' performance of CTP is due to its increasing incapability of sending packets with long path costs to the sink as it encounters congestion drops. Lastly, we analyze the eect of packet generation rate on the average delay in Fig. 6.5b. Although CTP and BCP outperform HDCP for source rates lower than 0.25PPS by a small margin, Fig. 6.5b demonstrates the superiority of the HDCP for = 1 in overall delay performance as it continues to guarantee lower delay for higher packet generation rates. Another interesting fact to notice is that for BCP and HDCP, the delay increases steadily with packet generation rate whereas the delay for CTP increases rapidly with packet generation rate. This is likely because 152 BCP and HDCP can take advantage of multiple paths to sink whereas the CTP relies on only one path. Therefore, CTP reaches congestion earlier than BCP and HDCP which results in the rapid increase in delay. Again, the similarity between BCP and HDCP with = 1 is due to the similarity in the neighbor ranking in terms of the weights. To summarize, our experiments lead us to conclude that optimized combinations of queue-awareness and ETX (implemented in BCP and HDCP with = 1) provide the best choice for routing, better than routing based on ETX alone (CTP), which in turn performs better than queue-aware routing alone (HDCP with = 0). 6.4.5 Low Power Communication Stack Based Experiments 0 0.01 0.02 Goodput to Sink (Packets/Sec) BCP CTP HDCP =0.0 HDCP =1.0 5 10 15 20 25 30 35 Node ID 0 5 10 Average ETX / Packet BCP CTP HDCP =0.0 HDCP =1.0 Figure 6.6: Performance Comparison of HDCP with BCP and CTP for a Low Power Communication Stack: (Top) Goodput to Sink, (Bottom) Average ETX Path Costs to Sink 153 In order to verify the performance of HDCP on a low power communication stack, we performed a set of experiments with 35 sources and a sink (rst 36 nodes of the testbed). For these experiments, we used CX-MAC protocol, a version of X-MAC [161] that is provided in Contiki, with a duty cycle of 5% for HDCP, BCP, and CTP. However, the choice of CX-MAC protocol over the other protocols is just a matter of the availability of Contiki implementation. Furthermore, since we are using a duty cycle, we also need to cut-back our source rates to a very low rate. For the presented set of experiments, we used a packet generation rate of 1 packet per 60 seconds (i.e., 1/60 PPS). We present the results in Fig. 6.6. Fig. 6.6 shows that the HDCP protocol with = 1 performs well in a low power communication stack, at a very low duty cycle setting where even CTP shows some deterioration in the fairness of goodput. However, in this setting the performance of the baseline with = 0 is much worse, leading us to conclude that it is a very poor setting indeed. Now, in order to estimate the actual energy consumptions, we record the dierent energy consumption components using the Contiki PowerTrace tool (in terms of the percentage of time spent in dierent radio phases: Transmit, Listen/receive). Based on our traces, in HDCP with 5% duty cycle, the radio of each node is on for 5:92% of the total execution time, out of which the node is transmitting and receiving approximately 0:65% and 5:27% of the total execution time, respectively. Now, to get the actual energy consumption, one can use the current and voltage ratings from the specications of the devices used. For example, in Tmote-sky the 154 rated voltage of operation is approx 3:3V and the average current consumptions are 17:4mA and 19:7mA for radio transmission and radio reception, respectively. This results in approximately 113:78mJ energy consumption in each Tmote-Sky for the experiment period of 30 minutes. 6.4.6 External Interference In this section, we evaluate the performance of the HDCP protocol with the opti- mized = 1 in the presence of external interference and compare it with both BCP and CTP. This is necessary because the 802.15.4 radios share the frequency band with WiFi, Bluetooth, and other Zigbee radios and as a result of their performance often suers from severe interference. To emulate such scenarios, we performed a set of experiments with forty sources and a single sink (Node 1) while four nodes are used as interference sources on channel 26. The interfering nodes are inactive for the rst ve minutes of the experiment, periodically transmit for next fteen minutes, and become inactive again for the last ve minutes of the experiment. During the on period, each of the interfering nodes transmits 110 Byte packets at a rate of 100PPS for 15 seconds and then does not transmit anything for the next 15 seconds, and so on. Furthermore, we reduced the power level of all 41 nodes from level 31 to level 15 whereas the interfering nodes were kept at level 31, in order to intensify the eect of interference. The outcome of this set of experiments is presented in Fig. 6.7a that plots the delivery percentage of the packets over a series 155 of 30 seconds time window for HDCP with = 1, BCP and CTP. It demonstrates that while CTP performance signicantly suers from the interference, the HDCP protocol maintains its good packet delivery ratio, similar to BCP. 0 500 1000 1500 0 0.2 0.4 0.6 0.8 1 Delivery% BCP CTP HDCP =1.0 (a) 0 500 1000 1500 0 0.2 0.4 0.6 0.8 1 Delivery% BCP CTP HDCP =1.0 + weighted ETX calculation HDCP =1.0 + GE model based ETX calculation (b) Figure 6.7: Thirty Second Windowed Average Sourced Packet Delivery Ratio for: (a) Synthetically Generated Interfering 802.15.4 Channel 26 Trac (b) Real Inter- ference Scenario on 802.15.4 Channel 13 The above-mentioned settings are used to stay consistent with the interference settings presented in the original BCP paper[102]. However, it is well known that the simple Gilbert-Eliot model used for ETX estimation might work perfectly with some specic synthetic interference models and might fail in realistic interference scenarios. In order to explore the performance of the HDCP algorithm, in presence of real interference, we performed a set of experiments with 44 source nodes and 1 sink node, running on channel 13 of the 802.15.4 standard which is known to be one of the most interfered channels. We also compare the performance of HDCP based on the Gilbert-Eliot (GE) ETX model with the performance of BCP with the GE 156 model as well as with HDCP based on the ETX model used in the original BCP paper [102]. The results presented in Fig. 6.7b clearly demonstrate that even in the presence of constant real interference, the HDCP algorithm with Gilbert-Eliot ETX model performs comparable to the BCP algorithm and the HDCP algorithm with the basic ETX model presented in [102], while outperforms the CTP algo- rithm. Furthermore, both Figs. 6.7a and 6.7b show that the BCP and the HDCP algorithms can achieve approx 85% delivery ratio in presence of interference while the CTP achieves approx 70%. 6.4.7 Node Failures In this section, we evaluate the performance of the HDCP protocol with the opti- mized = 1 in the presence of node failures/joins and compare it with both BCP and CTP. This is necessary because node failures and node joins are very common events in an RWN. To emulate such scenarios, we performed a set of experiments with twenty sources, single sink, and twenty-ve forwarding nodes, i.e., total forty- six nodes in the network. All nodes were set to transmit at the maximum power level, i.e., level 31 and on channel 26. In our experiments, we randomly turned o four of the forwarding nodes (i.e., 10% nodes) after ve minutes from the beginning and then turn them back on after ten minutes from the beginning. Each 157 source node was set to transmit at 1/2 PPS. A sample outcome of this set of exper- iments is presented in Fig. 6.8 which plots the delivery percentage of the packets over a series of 30 seconds time windows for HDCP with = 1, BCP, and CTP. 0 250 500 750 1000 Time (Seconds) 0 0.2 0.4 0.6 0.8 1 Delivery% BCP CTP HDCP =1.0 Node Joins Node Failures Figure 6.8: Thirty Second Windowed Average Sourced Packet Delivery Ratio for 10% Node Failures Figure 6.8 demonstrates that CTP performance signicantly suers after the node failures and could not recover from that due to very high packet generation rate and the reliance on a single predetermined path from each source to the sink. On the other hand, the performance of both the HDCP protocol and the BCP protocol are unaected by the node failure/join events. This pertains to the fact that both HDCP and BCP do not rely on a single path and, thus, able to take advantage of the alternate paths in the network, after the node failures. This validates that queue-aware routing algorithms such as BCP and HDCP perform well in presence of high node dynamics while the predetermined route based algorithms such as CTP suer after node failures. The similarity in performance between BCP 158 and HDCP is again due to the similarity in the neighbor rankings in terms of the weights (explained in Section 6.5). 6.5 Similarity Analysis Between HDCP and BCP In this section, we analyze the BCP and the HDCP algorithms to identify the reasons behind the similarity in their performance. The performance of both the BCP and the HDCP depend on the rankings of the neighbors (based on the link weighing functions) of a node, which in turn translates to the selection of routing paths to sink. From a theoretical standpoint, the performance of HDCP and BCP will be dierent in a network if their respective rankings of the neighbors under same queue size conditions are dierent. Conversely, we hypothesize that the similar rankings of neighbors for both the HDCP and the BCP protocol will result in similar performance. 6.5.1 Theoretical Analysis In order to analyze the scenarios that will result in dierent or similar rankings of neighbors for HDCP and BCP, we compare the simplied weighing functions of BCP and HDCP with = 1, which can be written as follows: w bcp ij (n) =q ij (n) 2:ETX ij (n) w hdcp ij (n) = q ij (n)ETX ij (n) ETX ij (n) (6.14) 159 1 Sink (0) 3 2 q 10 ;ETX 10 q 31 ;ETX 31 q 20 ;ETX 20 q 32 ;ETX 32 Figure 6.9: A Simple Topology For Ranking Similarity Analysis Between HDCP and BCP provided that V = 2 and q ij (n) 2ETX ij (n) 1, i.e., the links have non zero weights according to both BCP and HDCP weighing schemes. First of all, we try to identify the range of the possible network congurations that will result in dierent rankings for HDCP and BCP. For this purpose, we analyze a toy topology illustrated in Fig. 6.9. Assume that the ETX 31 and ETX 32 are 1 and e 1, respectively. Now, the weights of the respective links according to BCP will be: w BCP 31 =q 31 2 and w BCP 32 =q 32 2e (6.15) Similarly, the weights for the links according to the HDCP rule for = 1 will be (provided that q 31 2 and q 32 2e): w HDCP 31 =q 31 1 and w HDCP 32 = q 32 e 1 (6.16) Now, w BCP 31 >w BCP 32 if e> (q 32 q 31 )=2 + 1 w HDCP 31 >w HDCP 32 if e> q 32 q 31 (6.17) 160 Thus, if q 32 q 31 < e < (q 32 q 31 )=2 + 1, the rankings of the outgoing links of node 3 are dierent, while the rankings are the same for all other values of e. As an example, say, q 31 = 4 and q 32 = 6, then only for 3=2 < e < 2, the rankings are dierent. However, according to Eqn. (6.14) as well as Eqn. (6.17), for ETX = 1 both schemes will put similar weights on the links but with dierent negative osets (2 for BCP and 1 for HDCP). Thus, the steady state performance will be same for both but with slightly lesser queue sizes in HDCP, which is also veried by our experiments. To verify whether the presence of too many perfect links is one of the reasons behind the similar performance of HDCP and BCP, we plot the CDF of the ETX traces collected from all the nodes during a real collection experiment, in Fig. 6.10a. In Fig. 6.10b, we plot the CDF of the average link costs (average ETX per link) of the shortest paths between every possible pair of nodes in the testbed. Figure 6.10a illustrates that a signicant number ( 40%) of links are perfect links (ETX 1) while Fig. 6.10b implies that approximate 40% of the shortest paths consists of only perfect links (ETX 1). Furthermore, approximate 60% of the shortest paths in the network between any possible node pair consists of links with average ETX of 1:25, as shown in Fig. 6.10b. All these statistics suggest similarity in the rankings of neighbors as well as the similarity in performance for the BCP and the HDCP algorithms. In summary, since we do not observe much of a dierence in the performance of the HDCP and the BCP algorithms, we conjecture that in our 161 experimental setup, the probabilities for dierent rankings of the neighbors (more specically, top 2 neighbors) are very low. 5 10 15 Link ETX 0 0.2 0.4 0.6 0.8 1 F(ETX) Empirical CDF (a) 1 1.25 1.5 1.75 2 2.25 2.5 Shortest Path ETX per Hop 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 F(ETX) Empirical CDF (b) Figure 6.10: (a) Empirical CDF of the Link ETX Values for Our Testbed (b) Empirical CDF of the Average ETX per Link for the Shortest Paths Between Any Pair of Nodes Next, in order to verify whether similarity in neighbors' ranking will result in similar performance, we perform a theoretical analysis of the steady-state queue gradients for both HDCP and BCP. The steady-state queue sizes depend on the smallest cost path to the sink. Say, for a node i, there exists k2f1; 2; ;Kg possible paths and each path consists of one or more linksl k . Then the steady state queue size for nodei in BCP will bew bcp i = min k2f1;2;;Kg h P l k j=1 2ETX k;j i , while in HDCP the steady state queue size will bew hdcp i = min k2f1;2;;Kg h P l k j=1 ETX k;j i , whereETX k;j represents the ETX of thej th link of thek th path from nodei to the sink. Thus, we can say that the steady-state path to sink for each node in HDCP is same as the BCP. Now, if the packet generation rate is low, every packet will 162 always follow the steady state gradient and, thereby, follow the same path leading to similar performance. Now, if the packet generation rate is high, in the worst case we will have a batch arrival of packets at some node, sayi. Let us assume that when node i disseminate the batch arrival packets, all the neighboring nodes of i are unchanged, i.e., no packet arrival (except the node i) or departure takes place. In this situation, node i will keep on transmitting to the neighbor that is part of the best path to sink, until a point when the weight for the respective link becomes worse than the 2nd best link. In the following, we analyze at what point, i.e., after how many packet transmissions, node i will switch to the second best link. BCP: Node i prefers a neighbor node m over another neighbor node n, i: q i q m 2etx im >q i q n 2etx in (6.18) where q i ;q m ;q n represent the queue sizes at node i, m, and n, respectively and etx im ;etx in represents the etx of the links im and in, respectively. Now, say after x number of transmissions, the 2nd link is considered: =) (q i x) (q m +x) 2etx im = (q i x)q n 2etx in =) x =q n q m + 2 (etx in etx im ) (6.19) Now, WLOG assume that the nodem is part of the best path to the sink from nodei, while noden is part of the second best path. Then,etx im etx in =) 163 xq n q m . If etx im <etx in , x =q n q m + 2 (etx in etx im )>q n q m . On the other hand if etx im > etx in implies (q m < q n ) for feasibility of the rankings in focus, which impliesx =q n q m 2(etx im etx in ) (q n q m ). HDCP: Nodei prefers a neighbor nodem over another neighbor noden, i: q i q m etx im > q i q n etx in (6.20) where q i ;q m ;q n represent the queue sizes at node i, m, and n, respectively, and etx im ;etx in represent the etx of the links im and in, respectively. Now, say after x number of transmissions, the 2nd link is considered: =) (q i x) (q m +x) etx im = (q i x)q n etx in =) x(2 etx im etx in ) =q i (1 etx im etx in )q m +q n etx im etx in =) x =q i (1 etx im etx in ) (2 etx im etx in ) q m (1 etx im etx in ) (2 etx im etx in ) q m ( etx im etx in ) (2 etx im etx in ) +q n etx im etx in (2 etx im etx in ) =) x = 1 2 (1 z) (q i q m ) + z (q n q m ) where z = etx im etx in (2 etx im etx in ) (6.21) Now, WLOG assume that the node m is part of the best path to the sink while noden is the second best path. Similar to BCP,etx im etx in =) x q n q m . It also suggest that in HDCP, the number of transmissions before 164 switching depends on a weighted sum of the queue dierential of the best link (q i q m ) and the queue dierential of the 2nd best and the best neighbor (q n q m ), where the weights depend on the ratio ( etx im etx in ). If etx im < etx in , 0:5 z 1 that implies more weight on (q n q m ) thereby increasing the chances of switching as q i maxfq m ;q n g which also implies x 1+z 2 (q n q m ) (q n q m ). On the other hand, etx im > etx in =) (q m < q n ) for feasibility of the rankings in focus and z > 1 that suggests x = z (q n q m ) z1 2 (q i q m ) 1+z 2 (q n q m ). The above analysis suggests that if the outgoing best and 2nd best link of a node have similar ETX, both BCP and HDCP will switch after exactly same number of transmissions under same queue conditions. Even in other cases for any particular network, the switching patterns are similar and just switches after a slightly dierent number of transmissions, which is a function of (q n q m ). Therefore, the observed performance of BCP and HDCP will be similar. However, this analysis is pertinent to the fact that both HDCP and BCP have same rankings of the neighbors (at least best two neighbors) which validates our hypothesis. Based on the theoretical analysis, we conjecture that the similarity of perfor- mance between HDCP and BCP in our testbed experiments is due to the similarity of rankings of the neighbors in most of the nodes. To verify this conjecture, we perform a Kendall Tau test of the ranking data collected from our real experiment setup, as follows. 165 6.5.2 Kendall's Tau Test In the previous sections, we observed that the optimized versions of BCP and HDCP with = 1 are very similar to each other in performance. We hypothesized that this may be due to the similarity in the neighbor rankings for the two protocols. In order to verify our hypothesis, we collected a set of routing table snapshots from three representative nodes, located at one hop, two and three hop distance from the sink, respectively, during a real collection experiment. These snapshots contain the information about their neighbors such as backpressure and ETX information from the real experiment. Based on those snapshot values, we calculated the Kendall's Tau distance between the neighbor rankings generated by the weight calculation in BCP on one hand, and the neighbor rankings generated by the weight calculation in HDCP for dierent values of on the other, for all neighbors that have a positive weight in at least one of the two protocols under comparison. Kendall's Tau distance between two rankings indicates the fraction of pairs that are ordered the same in the two rankings. If it is 0, then the two rankings are identical. Higher values indicate more dierent rankings. We present the results in Fig. 6.11. It clearly shows that while there is a lack of correlation between lower values of , for ! 1 there is a strong correlation between HDCP and BCP. This veries our hypothesis and justies the results shown in this study. 166 0 0.2 0.4 0.6 0.8 1 0 0.1 0.2 0.3 0.4 0.5 Average Kendall Tau Distance node40 node20 node36 Figure 6.11: Variation of Kendall's Tau Distance between HDCP and BCP Neigh- bor Rankings for Dierent Values of Another noticeable fact is that for 2 [0; 0:6] the Kendall Tau distance with respect to BCP remains almost the same. We performed additional Kendall's Tau correlation analysis between neighbor rankings of HDCP for every possible pair of 2f0; 0:2; 0:4; 0:6g and the average distance for each case was found to be less than 0:1. This is the reason behind the similarity in performance of HDCP with 2f0; 0:2; 0:4; 0:6g. 6.6 Discussion We have proposed and implemented a new data collection and routing protocol for robotic wireless networks and wireless sensor networks called HDCP that is the rst practical realization of a theoretical algorithm called the Heat Diusion algorithm which is inspired by Thermodynamics. We have evaluated HDCP on a real wireless network testbed. We have compared the performance of HDCP with 167 two well-known protocols on this testbed: CTP and BCP. Based on the results, we can conclude that HDCP with an optimized parameter setting of = 1 performs as well as BCP and outperforms CTP with respect to throughput performance, interference resilience, and low power operation, while all three generally oer about the same end-to-end delay on average in the full throughput region. The equivalent performance of HDCP to the previously published BCP is a somewhat surprising nding of this study. From a mathematical perspective, this is not obvious as they employ quite dierent equations for the weight calculations and indeed in our prior theoretical works, Heat Diusion has been found to perform better than Backpressure scheduling in some respects. But as we have shown, nev- ertheless, the two protocol implementations provide very similar neighbor rankings in a real network. We believe our nding also lends some support to the notion that it may not be possible to get any higher performance in practice with a dynamic routing protocol that takes into account both queue states and link quality. In summary, HDCP is a well-designed routing protocol with a smaller end- to-end delay that does not rely on precomputed routing paths yet provide better or comparable performance to the existing alternatives. The delay and network dynamics adaptability of the protocol makes it suitable for an RWN where the control packets need to be fast and eciently routed between the participating devices to achieve the deployment objectives. 168 Chapter 7 Unied Communication Protocol for Control and Sensing in RWN In this chapter, we present our fourth study on a low-power application layer com- munication protocol with low bandwidth consumption for an RWN that abstracts the notion of control and data transfer under a unied overlay networking. 1 The typical application contexts of an RWN imposes a heavy demand on the underlying communication between the robotic agents in terms of eciency, reliability, and scalability. The robots inherently work under heavy power constraints which in turn imposes energy consumption constraint on the communications hardware and protocols as well. Another major factor related to the scalability of the network is the limited communication bandwidth which leaves the supported number of simultaneous wireless communications up to the design of the communication pro- tocols and packet formats. Thus, the communication protocols in a dense network 1 The material in this chapter is based in part on the work in [162]. 169 of wireless robots must be lightweight with low bandwidth requirements. However, we have noticed a lack of such application layer communication protocols engineered specically for ecient control and data collection in a network of heterogeneous robots. In this study, we present the Robotic Overlay coMmunicAtioN prOtocol (RO- MANO), a lightweight, application layer overlay communication protocol for a uni- ed sensing and control abstraction of a network of heterogeneous robots mainly consisting of low power, low-compute-capable robots. ROMANO is built to work in conjunction with the well-known Message Queuing Telemetry Transport for Sensor Nodes (MQTT-SN) protocol, a lightweight publish-subscribe communication proto- col for the Internet of Things and makes use its concept of \topics" to designate the addition and deletion of communication endpoints by changing the subscriptions of topics at each device. We also develop a portable implementation of ROMANO for low power IEEE 802.15.4 radios and deployed it on a small testbed of com- mercially available, low-power, and low-compute-capable robots called Pololu 3pi robots. Based on a thorough analysis of the protocol on the real testbed, as a measure of throughput, we demonstrate that ROMANO can guarantee more than a 99:5% message delivery ratio for a message generation rate up to 200 messages per second. The single hop delays in ROMANO are as low as 20ms with linear dependency on the number of robots connected. Lastly, as proof of concepts, we 170 implement four dierent applications of ROMANO in a network of robots: (1) sim- plied control of the robots, (2) seamless sharing of sensor data, (3) control of any functions of a robot such as peer-to-peer radio transmission, and (4) communication and control between multiple networks of robots over internet. 7.1 The Proposed ROMANO Protocol We have discussed the basic concepts of a MQTT-SN communication in Section 2.4. In this section, we discuss the details of ROMANO protocol as well as how RO- MANO build on top of MQTT-SN. From a pool of dierent types of MQTT-SN messages, the ROMANO utilizes mainly the MQTT-SN Publish Messages. The typical format of an MQTT-SN Publish message is presented in Table 2.1. ROMANO utilizes the variable length \Data" eld of a MQTT-SN Publish Message for sending ROMANO messages between nodes and the TopicId eld (containing the topic id value or short topic name) for identifying communication endpoints. 7.1.1 Requirements: At a minimum, ROMANO requires each end device/robot to run a MQTT-SN client on a multi-threaded OS. Each of the devices needs to be connected to a MQTT-SN broker/forwarder while the broker nodes are bridged together either directly or over the internet. Furthermore, the broker device also runs a ROMANO 171 server program. Each end device (robot or sensor node) needs to follow a standard connection establishment/initialization phase to initiate ROMANO as follows. Set up a MQTT-SN connection to a MQTT-SN broker where the device's IPV6 address is used as the device identier. Subscribe to a topic named after the last 8 characters of the device's IPv6 address which we refer to as the ROMANO ID. For example, a device with address fe80 :: 212 : 4b00 : abcd : 1234 subscribes to the topic \abcd1234". 2 The ROMANO ID can be used to communicate to a specic device. Publish the ROMANO ID on a predened topic \init-info" and wait for a xed amount of time (2 seconds in our implementation) for an acknowledgment to be published by the ROMANO server on the respective ROMANO ID topic. If no acknowledgment is received on time, the node retries indenitely. Subscribe to the topic \common" which ROMANO uses for broadcast com- munication. 7.1.2 The ROMANO Protocol Our proposed ROMANO protocol can be described as follows. According to the ve-layered Internet model of networks, the ROMANO pro- tocol falls under the application layer alongside the MQTT-SN protocol. More 2 One can use the whole IPv6 address as the topic. However, ROMANO uses the last 8 characters to keep ROMANO ID small while accommodating up to 2 32 devices. 172 Figure 7.1: (Left) The ROMANO Network Stack, (Right) ROMANO Data Types specically, the ROMANO and the MQTT-SN protocols form a nested, lay- ered structure inside the application layer as presented in Fig. 7.1. ROMANO uses the MQTT-SN topics to dene the communication endpoints. Any publisher to a certain topic is the transmitter node while all the sub- scribers of that topic are the receivers. Any node of a ROMANO network can be a transmitter at any instance of time for any topic while the receiver nodes need to subscribe rst with the broker and remain connected. Thus, ROMANO allows all types of communication: one-to-one (unicast), one-to- many (multicast), one-to-all (broadcast), many-to-one, and many-to-many. 173 ROMANO uses the MQTT-SN data section for the overlay communication where a complete ROMANO message is embedded in the MQTT-SN data section. ROMANO has the feature of controlling the subscriptions of a node. One of the ROMANO message types, MQTT Subscribe can instruct the receivers to subscribe to a particular topic (say, `test-topic') so that they can register themselves as receivers of that topic (`test-topic'). ROMANO also has the feature of instructing the receivers to publish certain types of data (e.g. telemetry data) to certain topics (e.g. `telemetry'). This feature can be used for active polling of sensor/control data for a specic robot such as the leader. The ROMANO overlay protocol allows any node (e.g. robot or sensor) in the network to control the movements of a robot via the same abstraction regardless of whether they are either connected directly, connected via an ad hoc network, or connected over the internet. ROMANO has an optional periodic `heartbeat' messaging feature to notify its presence to all the connected nodes, which can be used for neighbor discovery or end-to-end reliable message transfer. 174 7.1.3 Message Formats: The communication in ROMANO follows certain message structures as described in this section. The base messaging format in ROMANO is presented in Table 7.1. The ROMANO data type eld dictates the communication type. The default types are presented in Fig. 7.1 (Right). Table 7.1: ROMANO Message Format ROMANO Data Type ROMANO MSG Length ROMANO Data (1 octet) (1 octet) (1-253 octets) The ROMANO MSG Length section denotes the length (say, k + 1 octets) of the whole ROMANO message, and the ROMANO Data Section contains the data of variable length. Each of the ROMANO message types (except type ROMANO Connection Ack which only uses the Data Type and the Data length section) have their own formats, summarized in Table 7.2. Most of the message formats are self- explanatory except the ROMANO MQTT Publish Request message and Movement Control message. In MQTT Publish Request messages, the MQTT Topic Length eld (say, m octets) marks the end of the Topic ID eld (to publish data to) from the beginning of the ROMANO message where the Topic ID eld starts at the 3rd octet. The `data to publish' section in the Publish Request message denes the cus- tom type of data to publish. The ROMANO movement control message can be used to control dierent types of movements. We have also dened some basic move- ment control message type listed in Table 7.3. One can dene up to 2 16 dierent movement control functions (using the allocated 2 octets) with custom arguments. 175 In principle, entire sequences of useful movements could be encoded into a single movement control message; for example, a semi-circular motion clockwise around an obstacle, specied by a radius parameter. ROMANO outputs each movement command to the built-in ROMANO control data mailbox queue (a structure made available for both C and C++) which is serviced by the thread running a robot's movement controller. The implementation of a movement controller is still inde- pendent of ROMANO, but controllers are required to retrieve commands from the ROMANO control data mailbox. 7.1.4 ROMANO for Bootstrapping of Robots: One key feature of ROMANO is that it is designed with the aim of easier inte- gration of robots in a network as well as bootstrapping new devices with coherent congurations. In a network of robots, due to many reasons such as the network dynamics and failures, robots/devices might come and go. In such cases, whenever a new device joins the network, it needs to be congured for consistency. In this regard, ROMANO allows a plug and play type system where the robots joining the network just need to run a ROMANO client with proper access to its resources such as movement controller logic and state information. Now any robot or a human connected to the network can use ROMANO to dynamically congure the robot based on the network and application demands on the y. This reduces the amount of manual conguration required in a robot before its deployment. This feature has 176 Table 7.2: ROMANO Message Formats Message Format for Request Connected Nodes Info, Heartbeat Message, and Connection Request ROMANO Data Type MSG Length ROMANO ID (octet 0) (1) (2 - 9) Normal Data / Connected Nodes Info message Format ROMANO Data Type MSG Length Data (octet 0) (1) (2 - k) MQTT SUB/UNSUB Control Message Format ROMANO Data Type MSG Length Topic to subscribe to or unsub- scribe from (octet 0) (1) (2 - k) MQTT PUB Request Message Format ROMANO Data Type MSG Length MQTT Topic Length, (m) Topic ID Data to Publish (octet 0) (1) (2) (3 - m) ( m+1 - k) Movement Control Message Format ROMANO Data Type MSG Length Movement Control Type Movement Control Data (octet 0) (1) (2 - 3) (4 - k) Sensor Data Message Format ROMANO Data Type MSG Length Sensor Type Sensor Data (octet 0) (1) (2 - 3) (4 - k) Table 7.3: Movement Control Types Movement Control Type Movement Type Value Control Data Move Front 0x0000 Distance Move Back 0x0001 Distance Move Left 0x0002 Distance Move Right 0x0003 Distance Rotate Left 0x0004 Angle Rotate Right 0x0005 Angle 177 been incorporated into our in-house wireless robotic network testbed called the IRIS testbed for quick and easy bootstrapping of the entire testbed without the need to manually recongure every time. 7.2 Real Implementation and Experimentation: 7.2.1 Core Implementation: In this section, we present our real implementation of the proposed ROMANO pro- tocol in a testbed of ve cheap, low power, and commercially available robots called Pololu 3pi [148]. A 3pi, illustrated in Fig. 7.2, also comes with an expansion board that can accommodate an XBee form factor device for IEEE 802.15.4 communi- cation and a mbed board. For communication, we use a commercially available product for IoT called the OpenMote [139], and for the mbed device, we use the LPC1768 model of mbed [140]. We choose this particular set of hardware due to the following reasons. (1) These devices are compatible with each other and have very low computation power, very small communication energy consumption, small form factor, and also comparably low cost. (2) These devices form the base of our in-house scalable, portable, cheap, open-source wireless robotic IoT testbed called the IRIS testbed that is used for research on low power robotics with a major focus on communication and networking. 178 Figure 7.2: ROMANO Implementation Stack on Pololu 3pi In this testbed, we implemented the ROMANO in a modular distributed man- ner over a mbed and an OpenMote. The mbed device does not have a radio, but it has more processing power and memory than the OpenMote. The OpenMote comes with a radio but does not have enough General Purpose Input Output (GPIO) pins and memory to act as the robot controller. Thus, we implemented ROMANO across both devices with controllers on the mbed and the communication software stack on the OpenMote with UART bridging data between the two. For reliable UART communication, we have implemented a low power version of a reliable data transfer protocol called the High-level Data Link Control (HDLC) [143]. Our stack imple- mentation is illustrated in Fig. 7.2. For software development, we use a well-known open source OS for IoT called RIOT-OS on the OpenMote and the open-source real-time operating system MBED-OS 5 on the mbed. Note that, for implementing 179 the ROMANO protocol, one device with both a radio and microcontroller is also sucient. In our current implementation, the MQTT-SN broker is running on a Rasp- berry Pi running Raspbian with an OpenMote connected via USB to act as the 802.15.4/6LoWPAN gateway device. All the 3pis are connected to the broker as well as the internet via either a direct link or a multihop link (illustrated in Fig. 7.3). For routing in the multihop network we use a well-known routing proto- col for 802.15.4 networks called RPL [109]. We use IPv6 for addressing instead of IPv4 due to its wide applicability in IoT systems as well as its compatibility with existing IPv4 systems. The IEEE 802.15.4 standard operates on the same spectrum as WiFi but with dierent communication channels and modulations. In the USA, the IEEE 802.15.4 standard oers 16 dierent channels numbered from 11-26. We performed the experiments using channel 26 of the IEEE 802.15.4 standard to avoid external interference from WiFi networks. 7.2.2 Performance Analysis With the experimental setup detailed in Section 7.2.1, we performed a set of ex- periments to analyze the performance of the proposed ROMANO protocol. In this section, we focus on three important communication/networking aspects in a robotic network: scalability, end-to-end delay of communication, and throughput. 180 Figure 7.3: Our Testbed Architecture for the ROMANO Experimentation We performed a series of stress tests with the experimental setup to nd the per- formance boundaries of ROMANO. To test message delivery ratio, we ran a set of experiments where the ROMANO server script publishes messages to the connected robots via ROMANO for message generation rates of 1, 10, 20, 50, 75, 100, 200, 300, 400, and 500 Message(s) Per Second (MPS). For each rate, we ran 10 experiments, each with 5000 messages. We nd that the message delivery percentage is 99:5% for a messaging rate of 200 MPS or less. For higher message generation rates the testbed system fails after a while due to the radio buer over ow (summarized in Table 7.4). After careful investigation, we nd that this buer over ow is due to 181 the radio hardware limitations and not due to the limitations of the ROMANO protocol. This is further justied by the fact that, until the radio buer over ows, the message delivery ratio is 99:5%. Table 7.4: Message Delivery Ratio for Dierent Message Generation Rates MPS Message Delivery Ratio Comments Minimum Maximum 100 99:9% 100% No Radio Buer Failure 200 99:5% 100% No Radio Buer Failure 300 44% 100% Radio Buer Over ow after roughly 2200 message 400 15% 100% Radio Buer Over ow after roughly 1300 Messages 500 13% 96% Radio Buer Over ow after roughly 600 Mes- sages To study the scalability as well as the delay, we performed a set of experiments where the server published message at a rate of 20 MPS to the topic \common" while we varied the number of robots. The results, presented in Fig. 7.4, demon- strates that typically the minimum delay is 20ms which is justiable as typical packet transfer time in an IEEE 802.15.4 network is 10 20ms. Figure 7.4 also demonstrates that the individual delay experienced by the robots are dierent. This dierence in delay is deterministic ( 8 ms) and due to the operation principle of MQTT-SN (not ROMANO) where the broker dispatches broadcast messages via sequential unicast messages to one subscriber node at a time. This suggests that there is a linear relationship between the maximum delay over ROMANO with the number of subscribed robots on that topic. 182 In terms of reliability, ROMANO can provide a device to broker reliability by using reliability feature of the MQTT-SN with dierent QoS modes. In the current version, ROMANO does not have any end-to-end reliability. But one can easily add some level of reliability by using the feature of heartbeat message where each device periodically sends a `heartbeat' message to the `common' topic to inform all nodes about its presence and adding a logic to send messages to a device only if a heartbeat message was received. If a heartbeat message has not been received, the sender can queue it until the destination device rejoins the network. 1 2 3 4 5 Number of Connected Robots 0 10 20 30 40 50 Delay in milliseconds ROBOT 5 ROBOT 4 ROBOT 3 ROBOT 2 ROBOT 1 Figure 7.4: Scalability Analysis of the ROMANO Protocol Note that in this study we do not compare this performance with other protocols as we were unable to nd another overlay protocol for robotic networks with a focus on lightweight, low power communications. Of course, ROS architecture gives similar features as our proposed ROMANO protocol. Nonetheless, to our knowledge, there exists no generic lightweight low power version of ROS. In this 183 study, we do not focus on higher power robots with fully functional computers running Linux with WiFi. 7.2.3 Application Implementation Experiments To test and analyze how our protocol works, we have implemented and tested four dierent applications detailed as follows. The videos from the experiments are available athttps://anrg.usc.edu/www/research/robotic-networks/romano/. 7.2.3.1 ROMANO for control of a group of robots In this implementation, we mainly use the ROMANO Movement control message format. We have implemented a movement control thread in each robot, which wakes up upon receiving a movement control message via the ROMANO protocol and executes the movement instructions (e.g. move left or right by a xed amount). The movement control messages can be published to any topics. Therefore, to control a subgroup of robots in a swarm, nodes can either publish to all target ROMANO IDs or publish to a special topic subscribed by only the target subgroup. To form a group, we can simply use the MQTT Sub/Unsub Control Message to individually instruct the member robots to subscribe/unsubscribe to the respective group topic. 184 7.2.3.2 ROMANO Path Copy In this application, we implement a very simple system where one 3pi robot runs line-follower code that uses the ve onboard re ective light sensors to follow a black trail on the ground while it shares its telemetry information via ROMANO to a certain topic. All the other robots listen for the telemetry and use the telemetry to replicate the path. This illustrates how easily sensor data or any kind of data can be shared between a group of low power low capability robots, and this also shows how ROMANO can be used to control one robot from another. 7.2.3.3 ROMANO to Control Peer-to-Peer UDP Communication In this implementation, two robots use ROMANO to control the UDP packet trans- missions of one another and disperse while both robots maintain a certain radio communication link quality level. We add two dierent custom packet types for this purpose: \UDP-SEND-REQ" (0x11) and \UDP-SEND-GO" (0x12). To illustrate the application, we describe a sample sequence of events between a robot A and robot B (presented in Fig. 7.5) as follows. First, robot A publishes a UDP-SEND- REQ message to robot B and receives a UDP-SEND-GO reply. Upon receiving UDP-SEND-GO, Robot A transmits a broadcast UDP packet. Upon receiving the UDP packet, Robot B record the Radio Signal Strength Information (RSSI) of that packet. If the RSSI is above a user dened threshold RSSI th , the controller of Robot B moves it away from A by a xed step sized s . Similarly, if the value is less 185 than RSSI th , Robot B will move closer to Robot A to improve the link quality. After the movement step, robot A becomes ready to reply to a UDP-SEND-REQ message from robot B (B is sending UDP-SEND-REQ messages at a regular inter- val until A replies). This process continues indenitely, and B will follow the same procedure as A. The movement is restricted to forward and backward movement along a black line to leverage the 3pi's re ective sensors for simplicity. The whole process is randomly initiated by one of the robots given the two are within range of their radios. Figure 7.5: Illustration of using ROMANO to control peer-to-peer UDP communi- cation 186 7.2.3.4 ROMANO over Internet Until now, we discussed employing ROMANO over a single 802.15.4 network. In this application, we show how ROMANO can be used between two networks of robots bridged via the internet. The 802.15.4 networks use IPv6 address and MQTT-SN protocol for communication while over the internet communication use IPv4 address and MQTT protocol, illustrated in Fig. 7.6. It shows that ROMANO is compatible with both IPv6 and IPv4 as well as both MQTT and MQTT-SN. In this set of experiments, we continually send movement control commands to a robot which in turn relays that information to another robot in a dierent network bridged via the internet. Figure 7.6: Application of ROMANO for communication between two robotic net- works connected over internet. 187 7.2.4 Outcomes of the Application Specic Experiments Now, we brie y discuss some of our interesting ndings from the application spe- cic implementations and experiments. In the rst set of experiments i.e., con- trol of a group of robots via ROMANO, the system performed as expected with 100% delivery of control messages. We were able to seamlessly switch between controlling dierent groups of robots as well as individual robots. For the sec- ond set of experiments, i.e., sensor data sharing between robots, we observed that while the messages the delivered in order with around 99.5% message de- livery ratio, the delays between consecutive messages are not uniform. This has to do with the wireless channel access time, variable delay in the software stack, and the queueing of messages at the MQTT broker. Therefore, in the stream- ing sensor data type application, one needs to be careful about the control logic implementation. To illustrate, if each of the shared sensor data has a major impact on the operation of the robots, extra precaution needs to be taken for late or missing messages. The results of the third experiment i.e., controlling UDP transmission with ROMANO, concur with our expected outcomes. It is ex- pected that the robots will disperse until they reach each other's communication boundary and will keep oscillating to-and-fro in the boundary region. The videos available at https://anrg.usc.edu/www/research/robotic-networks/romano/ clearly shows that the experiment outcomes align with the expected outcomes. The outcomes of the last and nal experiment i.e., ROMANO over the internet, also 188 follow our expected outcomes. One interesting observation, in this case, is that both robots follows same control instructions but with a substantial time oset. This delay is mainly caused by the propagation time over the internet as well as the relaying delay. 7.2.5 Code Complexity Analysis In this section, we compare the code complexity of the ROMANO based implemen- tations. One key feature of the ROMANO protocol is that it simplies the job of an application developer for an RWN. Due to complexity and inter-dependencies, an RWN application developer, ideally, needs to have knowledge about a range of diverse topics such as communication stack, wireless communication, and control. This hinders the progress of the RWN domain as typical application developers lack deep knowledge about embedded communication stacks and networking. In that context, ROMANO oers a simple abstraction that does not require deep under- standing of the underlying communication stack. Moreover, it reduces the amount of eort required from application developers to implement a new functionality. We characterize the eort required from a developer in terms of the line of codes (LOC) to be written for each application. To this end, we compared the LOC for implementing the functionalities required for the above mentioned four applications with and without ROMANO in our in-house RWN testbed. To calculate the LOC without ROMANO, we count both the application specic number of lines that is 189 implemented on top of ROMANO, say x, and the lines of codes it uses (through function calls etc.) from ROMANO, say y. Then the LOC for writing that appli- cation with ROMANO isx and the LOC for writing it without ROMANO isx +y. The results are presented in Table 7.5. Table 7.5: Code Complexity Analysis in Terms of Lines of Codes Functionality With ROMANO Without ROMANO Subscribe/Publish 7 889 Movement Control 107 962 Path Copy 209 1027 UDP Control 257 1295 In the rst application, discussed in Section 7.2.3.1, we mainly require two functionalities: (1) dynamic update of the MQTT-SN subscriptions on the RWN nodes without any need of manual conguration and (2) movement control of the robots over MQTT-SN. To implement the rst functionality, ROMANO reduces the LOC by more than 100 fold, as shown in Table 7.5. The LOC for MQTT-SN based movement control is also reduced by approximately 800 lines by the usage of ROMANO. Moreover, in our testbed implementation, ROMANO simplies the coding to only one embedded platform i.e., MBED, instead of the originally re- quired multi-platform code. The second application, i.e., ROMANO based path copy (discussed in Section 7.2.3.2), is also implemented with approx. 800 less LOC than implementation without ROMANO. The third application, i.e., ROMANO 190 based UDP transmission control application (discussed in Section 7.2.3.3), requires approx. 1000 less LOC due to usage of ROMANO. This is the most complex im- plementation among the four application. Lastly, the ROMANO over internet, dis- cussed in Section 7.2.3.4, requires only the Movement Control functionality which is already discussed in the context of the rst application. Also note that the LOC with ROMANO for all cases except the Subscribe/Publish mainly includes the ap- plication specic robotic control code. In all cases, the application specic LOC does not include any 802.15.4 standard protocol stack coding. In summary, RO- MANO signicantly reduces the LOC required to implement complex applications in an RWN as well as simplies the process. 7.3 Discussion In this study, we presented a novel overlay protocol called ROMANO that works on top of MQTT-SN to provide a light-weight, scalable and low power communication abstraction for sensing and control in a wireless network of robots. We also de- veloped a real system on a robotic testbed consisting of ve Pololu 3pi robots and performed a set of evaluations for the proposed ROMANO protocol. Through a set of four dierent application implementations, we demonstrate how the ROMANO protocol can be used in dierent application contexts of a robotic wireless network. Morever, we imagine an RWN to include a group of comparably high power robots such as the Trackbot from Study 1, which will act as a distributed set of ROMANO 191 brokers and MQTT Servers. In such an RWN, ROMANO can be easily used for all sorts of communication towards achieving certain end goals. 192 Chapter 8 Passive RF Sensing in RWN Over last decade, Radio Frequency (RF) signal based sensing has become very popular among researchers due to its ubiquitous nature and a wide range of ap- plicability. 1 One obvious application context is the mapping of unknown areas with a network of robots [63, 8]. In this study, we present a proof-of-concept low-power IEEE 802.15.4 standard based bistatic radar [62] system for localizing unknown radio-wave re ecting objects in an unknown environment. Unlike prior multi-antenna based approaches, we employ a single standard low power omnidirec- tional transmitter with known transmission parameters and a single rotating direc- tional receiver antenna to collect a set of directional RSSI samples and, thereafter, exploit the directionality information of the samples to determine the locations of the re ecting objects. To this end, we employ the well-known Maximum Likelihood Estimator (MLE) to extract the required information from the collected RSSI sam- ples. Note that a bistatic radar [62] is a well-known RF system that is composed of 1 The material in this chapter is based in part on the work in [163]. 193 a transmitter and a receiver separated by a large distance compared to the distance to an object. A bistatic-radar employs the dierence in the path lengths traveled by a direct path signal and a multipath signal re ected by an object to passively localize the object. One motivation for our investigation into building this system was our interest- ing ndings in the course of our rst study. In the ARREST experimentation during our rst study, we observed that the received angular RSSI pattern at the Track- Bot includes prominent hints of multi-path components which in turn indicates the presence of re ective surfaces. This motivated us to look into the possibility of employing the TrackBot system for mapping purpose instead of localization and tracking. Through a set of simulation and real experiments with the Trackbot, we demonstrate the potential of the proposed concept. To our knowledge, this is the rst bistatic radar system demonstrated with low-cost low power o-the-shelf 802.15.4 radios. 8.1 Problem Formulation In this section, we explain the problem formulation and our proposed system design in details. Let there exist a set ofN re ecting point objects 2 in a 2D unknown envi- ronment with known dimensions, say D G D G square region. Denote the location 2 For simplicity, we ignore the dimensions of the re ecting objects and represent them by the points of re ection on the objects. 194 of the point re ectors as X R =fX i R = (x i R ;y i R )ji = 1;Ng. Our objective is to estimate the unknown N and also the unknown location set X R . Our proposed system consists of a single directional antenna based receiver (R x ) with known gain pattern, g a =fg (180+i) : i2Z and i2 [0; 360=)g where is the angular scanning granularity and g () refers to the antenna gain along direction, and a single omnidirectional antenna based transmitter (T x ). Now, let the environment be modeled as a 2D discrete grid space with origin at the receiver location and positive y-axis direction of the 2D space along the 0 orientation of the receiver. The length of a side of each grid (d G ) is a parameter to control the granularity of the estimation. The number of grid point is n 2 G with the set of locations denoted as X G = fX i G = (x i G ;y i G )ji = 1;n 2 G g. Let us assume that the re ector locations and the transmitter location are restricted to the set of the grid points, X G . Let us also denote the locations of the transmitter and the receiver as X Tx and X Rx , respectively, and the distance between the T x -R x pair as d. The directional rotating receiving antenna collects a set of RSSI samples 3 for dierent angular orientation of the antenna, starting from180 (orientation toward negative y axis of the 2D reference frame) to 180 in steps of , to generate a RSSI vector, r o =fr (180+i) :i2Z and i2 [0; 360=)g. This RSSI vector is used by the proposed MLE based re ector localization algorithm, detailed in Section 8.2. 3 We do not employ the RF phase information as it is not readily available (unlike RSSI) in most of the cheap, low power o-the-shelf radios. 195 For the wireless channel modelling, we use standard log-normal fading model [18]. For directional antenna, the model can be described as follows. P Rx () =C:g () :P Tx :10 =10 d () (8.1) where P Rx () is the received signal power along direction with respect to the antenna orientation,g () is the directional gain of receiving antenna,C is a constant, P Tx is the transmitter power, d () is the distance travelled by signal incident along angle, is the path loss exponent, and N (0; 2 ) is the log normal fading noise with variance 2 . If the signal is a re ected signal, there will be some attenuation by the re ecting object which we denote byA(), where is the angle of incidence on the re ecting object. However, for simplicity, we take a constant valueA as the attenuation constant. Also, note that the coecient of re ection is just 1 for the direct path component. Now, for each orientation of the receiver antenna, say, o with respect to positive y-axis, the measured RSSI is actually a sum of dierent multipath components and can be represented as follows. r 0 o = X 2[180 ;180 ) C:A:g (o) :P Tx :10 =10 d () (8.2) where actually signies the angle of the multipath component with respect to the positive y axis (i.e, the rotating antenna's base orientation). Now using (8.2) for each possible set of re ector locations, X R , and transmitter location, X Tx , we 196 can mathematically estimate the resulting RSSI vector as r v =fr 0 (180+i) : i2 Z and i2 [0; 360=)g. Now the objective can be summarized as follows: nd the most likely location set X R such that, for a known (or unknown) location of the transmitter X Tx , the probability P(r v = r o ) is the highest, where r o is the RSSI observation vector and the cardinality of the set X R i.e., N, is also unknown. Figure 8.1: Illustration of our bistatic radar equivalent system 8.2 Maximum Likelihood Estimation In this section, we describe our maximum likelihood estimation [164] based ap- proach for localizing a set of re ector objects. First, let us simplify the problem by restricting our focus to a single re ector scenario with known transmitter location, 197 X Tx . Next, we calculate the log likelihood of each of the grid point X i G to be the re ector location, X R , as follows: logL(r o jX R =X i G ;X Tx ) = X o2[180 ;180 ) logP(r 0 o =r o jX R =X i G ;X Tx ) (8.3) where we use Eqn (8.2) to estimate the probability P(r 0 o = r o jX R = X i G ;X Tx ). Then we choose the grid position with the maximum value of the likelihood function as the estimated re ector location. X R = arg max X i G logL(r o jX R =X i G ;X Tx ) (8.4) This requires O(n 2 G ) numbers of likelihood estimations where the number of grid points, n 2 G , depends on the search granularity, d G , and the size of the environ- ment, D G . Now, if the location of the transmitter X Tx is also unknown, the MLE formulation can be written as follows. fX;X Tx g = arg max fX i G ;X j G g logL(r o jX R =X i G ;X Tx =X j G ) = arg max fX i G ;X j G g X o2[180 ;180 ) logP(r 0 o =r o jX R =X i G ;X Tx =X j G ) (8.5) where i;j2f1;n 2 G g. This requires O(n 4 G ) numbers of likelihood estimation. Gen- erally speaking, for a known number of re ectors (N), the MLE based approach iterates through dierent subsets of the grid points, X G , as the possible set of the 198 transmitter and re ector(s) locations and calculates the likelihood probability of the observation vector r v . Through comparing these likelihoods of the measured RSSI vector, we obtain the most likely location set for the re ectors and the trans- mitter. Now, if N is also unknown, we need to perform likelihood for a range of values of N as well. In such contexts, the MLE formulation can be expressed as follows. fX;X Tx ;Ng = arg max fX R ;X j G ;kg logL(r o jX R ;X Tx =X j G ;N =k) = arg max fX R ;X j G ;kg X o2[180 ;180 ) logP(r 0 o =r o jX R ;X Tx =X j G ;N =k) (8.6) where X R X k G is a k dimensional vector with n 2k G possible values for N =k and j2f1;n 2 G g. 8.3 Performance Evaluations 8.3.1 Simulation Experiment Results To verify the localization performance of the MLE algorithm, we performed a set of simulation experiments. The simulated RSSI data were generated based on the standard path loss model [18] with log-normal fading noise with a maximum standard deviation of 2 = 5. The path loss exponent, , was set to be 1:856 in order to match our real experiments, detailed later. The transmitter power P T X 199 is set to be 7dBm to match the maximum transmission power of Openmotes [139] used in real experiments. To simulate the resultant RSSI for an environment with re ecting objects (X R ), the simulated RSSI values for the transmitter was superposed with simulated multi- path RSSI values contributed by each of the re ective surfaces. We use a granularity of = 1:8 to match the granularity of our real system implementation. The grid granularity, d G , is set to be 1m since the standard RSSI based localization errors are in the order of meters. The distance traveled by multipath components are calculated using cosine rule as follows: d r = p d 2 +d 2 o 2:d:d o :cos( o ) +d o whered is the distance between the transmitter and the receiver,d o is the distance between the re ector and the receiver, and o is the angle formed by the transmitter and the re ecting object, at the receiver (illustrated in Fig. 8.1). We performed the simulation experiment for a single re ector with a known location of the transmitter as well as with unknown location of the transmitter. In Fig. 8.2, we present the probability heat map for a single re ector with known transmitter location. In this instance, the transmitter was placed at (0; 3) while the receiver was located at (0; 0). The re ector was placed at (3; 3). Figure 8.2 shows that the grid locations close to the actual position of the re ector have higher probability according to MLE than any other grid locations. To further analyze the performance, we vary the position of the re ector as well as the transmitter. In Fig. 8.3, we present the error performance statistics for a xed location of the 200 Figure 8.2: Probability heat map of dierent possible positions of the re ector for known position of transmitter (0; 3) and receiver (0; 0). re ector at (3; 3) while the distance to the transmitter, d, is varied from 1m to 10m. Figure 8.3 illustrates that the performance of the MLE is worse when the transmitter is much closer to the receiver than the re ector i.e., d << d o . In this case, the power of the re ected signal is much lower than the direct path power from a nearby transmitter. As the distance between the transmitter and the receiver (d) increases, the error decreases. Based on this observation, we hypothesize that MLE detection performance improves when direct path power and the multipath power are comparable, and deteriorates when the multipath power is much smaller compared to the direct path power. To further verify this hypothesis, we xed the 201 location of the transmitter at (0; 3) and varied the distance between the receiver and the re ector (d o ) from 1m to 10m. The experiment outcomes, illustrated in Fig. 8.4, shows that with increasing distance to the re ector, the performance prominently deteriorate. This validates our hypothesis. 2 4 6 8 10 −2 0 2 4 6 8 Distance between Tx and Rx in meters Location estimation error in meters Figure 8.3: Error Statistics for varying distance between T x and R x while the re ector is kept xed at (3; 3) 2 4 6 8 10 0 2 4 6 8 10 Distance between Reflector and Rx in meters Location estimation error in meters Figure 8.4: Error statistics for varying distance to the re ector from the receiver while the T x is kept xed at (0; 3) We also performed a small set of experiments with unknown locations of the transmitter. In this set of experiments, the distance betweenT x andR x was varied 202 while the re ector is kept static at (2; 2). The results are summarized in Table 8.1. These results concur with the earlier results i.e., when the distanced is comparable or higher than the distance d o , the performance of the MLE based estimation is better. It also shows that the error in the detection of the transmitter location is very small (< 1m) in all three cases. Table 8.1: Simulation experiment based error statistics (in meters) for unknown transmitter and unknown re ector T x R x (Mean, Std) of Errors (Mean, Std) of Errors Distance (d) in T x location in re ector location 1m (0; 0) (3:7708; 3:9555) 2m (0:4; 0:2667) (2:2494; 0:5166) 3m (0:7; 0:4556) (2:5891; 1:0524) 8.3.2 Real Experiment Results To test the practicality of the concept, we use the TrackBot system presented in Fig. 4.1 where we mainly employ the rotating platform with the directional antenna as illustrated in Fig. 8.5. For completeness, we provide a brief overview of the portion of TrackBot system used for the experimentation. The rotating receiver module of the TrackBot system, which we use for this study, consists of a stepper motor, a stepper motor driver, and an embedded sensor node (Openmote [139]) with an external directional antenna. Openmote is an open hardware platform for implementing open source IoT standard protocols. It consists of a TI 32-bit CC2538 @ 32 MHz with 512KB Flash memory, 32KB RAM, and 2.4GHz IEEE 802.15.4-based Transceiver connected via SMA plug. The directional 203 antenna used is Rosewill Model RNX-AD7D that works for both WiFi bands, i.e., 2.4MHz and 5GHz, with maximum Gain of 5dBi and 7dBi, respectively. The Half Power Beam Widths (HPBW) of the antenna are 70 and 50 for 2.4GHz and 5GHz, respectively. Figure 8.5: Real System for Experimentation: We only employ the rotating plat- form with the directional antenna (left) of the TrackBot (right) developed in the course of Study 1. The whole idea of using an antenna with such a wide directional HPBW is to demonstrate that the system can be built with cheap, o-the-shelf antennas instead of costly, custom solutions. In this system, the transceiver of the Openmote is switched with the directional antenna. The Openmote with the directional antenna is mounted on a stepper motor using a mounting plate. The stepper motor used for this purpose is a Nema 17, 4-wire bipolar motor of dimension 1:65 00 1:65 00 1:57 00 with step size of 1:8 (200 steps/rev). The Rated current is 2A and the rated resistance is 1.1 Ohms. The motor driver used for this purpose is an EasyDriver - Stepper Motor Driver. We use an mbed NXP LPC1768 for precise control of the motor via the Easydriver. The Openmote sends interrupts to the mbed whenever 204 it collects an RSSI measurement and sends the data through serial communication, whereas the mbed generates proper output to turn the motor periodically by one step, i.e., 1:8 . In our implementation, the rotation directions are alternated in consecutive cycles in order to avoid wire twisting issues. The transmitter is this case is a standalone Openmote. For programming of the Openmotes, we used the open source RIOT OS [144] for low power IoT Devices. The rotating antenna platform completes a full scanning in 2s to generate the output RSSI vector, r o . This RSSI data is then fed to a computer via USB for processing. The size of the entire robot is roughly 8 00 8 00 8 00 . With this system, we collected a set of real measurement data via a range of experiments in a controlled anechoic chamber environment with precise control over the re ector locations. The anechoic chamber prevents uncontrollable re ection of radio waves from any surrounding surface not accounted for. The transmitter was placed at 0 with respect to the receiver antenna assembly. We performed the experiment for three sets of congurations with a single re ector. We used a metallic plate as a re ector with the center located at (1; 1) in the 2D space illustrated in the problem formulation. An illustration of the experiment is presented in Fig. 8.1. For each conguration, we collected 100 sets of RSSI vector. We fed this vectors to a MATLAB code to process the data and estimate the location of the re ector. We varied the distance d between the transmitter and the receiver to be 1m, 2m, and 3m, respectively. The granularity of the search grid, d G , is set to be 0:5m 205 in this set of experiments. For this set of experiments, we calculated the path loss exponent ( = 1:856) and the constants in Eqn (8.2) based on some initial RSSI measurements. We use a transmission power of P Tx = 7dBm which is the maximum transmission power of the Openmote. Note that, in these experiments, some extra unaccountable errors are still introduced by the fact that the re ector is not a point source. The error statistics for this set of experiments is presented in Table 8.2. The results suggest that the proposed system performs well with an error in the order of meters. The similar performance in all three cases is justied by the fact thatd andd o are comparable for all three cases. With this system, one can potentially achieve reasonable mapping performance up to 6m separations among the transmitter, the receiver, and the re ectors. Table 8.2: Error statistics for real-world experiments in meters T x R x Distance (d) Mean of Errors Std of Errors 1m 0.9m 0.1m 2m 1.4m 0.1m 3m 0.7m 0.2m 8.4 Discussion In this study, we have presented a proof of concept method of employing a single RF transmitter and a single RF receiver toward passively localizing re ecting objects which can be potentially extended to a full- edged mapping of the environment. We use an MLE based estimation method for this purpose. Based on some base 206 simulation and real-world experiments, we demonstrated that the proposed system works with reasonable performance for a single unknown re ector with both known and unknown location of the transmitter. This system can be easily integrated with the ARREST system presented in Chapter 4 to build an integrated system for relative localization, tracking, and mapping in an RWN deployment context. Nonetheless, the MLE based approach is denitely not scalable as the search space increases exponentially with the number of unknowns. Thus, the research direction for a more scalable and ecient approach with similar performance guarantees is still open. 207 Chapter 9 Conclusion With robots being heavily integrated into our daily life, there is an increasing focus towards employing a network of robots to collaboratively perform a set of tasks such as exploration of unknown terrains or providing temporary communi- cation backbone. This has led researchers to invest signicant attention towards the cutting-edge eld of Robotic Wireless Networks with main focus on the inte- grated communication and control systems. The controllability of the robotic nodes has opened up a whole new dimension in the design of tradition solutions such as communication protocols and localization techniques for RWN. Moreover, the net- working between controllable moving agents has imposed additional demands on the traditional communication protocols such as light-weight communication, low- bandwidth communication, and timeliness. In this thesis, we addressed key problems pertaining to ve key areas of research in RWN: 208 Localization and Relative Positioning Communication-Aware Robot Positioning Network Layer Protocol: Routing Protocols Application Layer Protocol: Unied Protocol for Control and Sensing RSSI Models, Measurements, and RF mapping All these work combined leads towards a Robotic Wireless Network system where the developed miniRadar system is used for modeling communication char- acteristics as well as mapping of an unknown environment, the ARREST system is used for relative localization and maintaining certain distance that is required for connectivity and good communication links, the HDCP routing protocol is used as the underlying routing protocol, ROMANO is the overlay application layer com- munication and control protocol, and nally the calculated bound is used to choose the number of robots to deploy to support certain communication demands. There- fore, this thesis is not just meant to provide solutions to some individual problems. Rather, it is meant to provide starting points and guidelines for building a complete robotic wireless network system with the main focus on communication oriented application such as using the RWN to support a temporary wireless communication backbone. All the studies are presented with sucient details and pointers to open- source material for any researcher to replicate the systems for further research. 209 Reference List [1] Kalman-Filtering, \https://en.wikipedia.org/wiki/Kalman_filter." [2] R. Banirazi, E. Jonckheere, and B. Krishnamachari, \Heat-diusion: Pareto optimal dynamic routing for time-varying wireless networks," in Proceedings of the IEEE International Conference on Computer Communications (INFO- COM), 2014. [3] J. Penders, L. Alboul, U. Witkowski, A. Naghsh, J. Saez-Pons, S. Her- brechtsmeier, and M. El-Habbal, \A robot swarm assisting a human re- ghter," Advanced Robotics, vol. 25, no. 1-2, pp. 93{117, 2011. [4] R. R. Murphy, \Trial by re [rescue robots]," IEEE Robotics & Automation Magazine, vol. 11, no. 3, pp. 50{61, 2004. [5] V. Gazi and K. M. Passino, Swarm Stability and Optimization. Springer, 2011. [6] E. Aahin and A. Wineld, \Special issue on swarm robotics," Swarm Intelli- gence, vol. 2, no. 2-4, pp. 69{72, 2008. [7] R. K. Williams, A. Gasparri, and B. Krishnamachari, \Route swarm: Wireless network optimization through mobility," in Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2014. [8] Y. Mosto, \Cooperative wireless-based obstacle/object mapping and see- through capabilities in robotic networks," IEEE Transactions on Mobile Com- puting, vol. 12, no. 5, pp. 817{829, 2013. [9] Y. Yan and Y. Mosto, \Robotic router formation in realistic communication environments," IEEE Transactions on Robotics, vol. 28, no. 4, pp. 810{827, 2012. [10] S. Gil, D. Feldman, and D. Rus, \Communication coverage for independently moving robots," in Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2012. 210 [11] A. Ollero, J. Alc azar, F. Cuesta, F. L opez-Pichaco, and C. Nogales, \Heli- copter teleoperation for aerial monitoring in the comets multi-uav system," in Proceedings of the 3rd IARP Workshop on Service, Assistive and Personal Robots, 2003. [12] S. Thrun, S. Thayer, W. Whittaker, C. Baker, W. Burgard, D. Ferguson, D. Hahnel, D. Montemerlo, A. Morris, and Z. Omohundro, \Autonomous exploration and mapping of abandoned mines," IEEE Robotics & Automation Magazine, vol. 11, no. 4, pp. 79{91, 2004. [13] M. McClure, D. R. Corbett, and D. W. Gage, \The darpa landroids program," in Proceedings of the SPIE Defense, Security, and Sensing, 2009. [14] R. R. Murphy, J. Kravitz, S. L. Stover, and R. Shoureshi, \Mobile robots in mine rescue and recovery," IEEE Robotics & Automation Magazine, vol. 16, no. 2, pp. 91{103, 2009. [15] M. D. Weiss, J. Peak, and T. Schwengler, \A statistical radio range model for a robot manet in a subterranean mine," IEEE Transactions on Vehicular Technology, vol. 57, no. 5, pp. 2658{2666, 2008. [16] S.-H. Baeg, J.-H. Park, J. Koh, K.-W. Park, and M.-H. Baeg, \Building a smart home environment for service robots based on rd and sensor net- works," in Proceedings of the IEEE International Conference on Control, Au- tomation and Systems (ICCAS), 2007. [17] IEEE Networked Robots Report, \http://www-users.cs.umn.edu/ ~ isler/ tc/." [18] T. S. Rappaport, Wireless communications: principles and practice, vol. 2. Prentice Hall PTR New Jersey, 1996. [19] G. A. Hollinger, S. Choudhary, P. Qarabaqi, C. Murphy, U. Mitra, G. Sukhatme, M. Stojanovic, H. Singh, and F. Hover, \Communication pro- tocols for underwater data collection using a robotic sensor network," in Pro- ceedings of the IEEE GLOBECOM Workshops (GC Wkshps), 2011. [20] H. Pham and S. Jha, \An adaptive mobility-aware mac protocol for sensor networks (ms-mac)," in Proceedings of the IEEE International Conference on Mobile Adhoc and Sensor Systems (MASS), 2004. [21] M. Ali, T. Suleman, and Z. A. Uzmi, \Mmac: A mobility-adaptive, collision- free mac protocol for wireless sensor networks," in Proceedings of the IEEE International Performance, Computing, and Communications Conference (IPCCC), 2005. 211 [22] A. Jhumka and S. Kulkarni, \On the design of mobility-tolerant tdma-based media access control (mac) protocol for mobile sensor networks," in Dis- tributed Computing and Internet Technology, pp. 42{53, Springer, 2007. [23] S. R. Das, E. M. Belding-Royer, and C. E. Perkins, \Ad hoc on-demand distance vector (aodv) routing," 2003. [24] I. D. Chakeres and E. M. Belding-Royer, \Aodv routing protocol implemen- tation design," in Proceedings of the IEEE International Conference on Dis- tributed Computing Systems Workshops, 2004. [25] S. E. Deering, \Internet protocol, version 6 (ipv6) specication," 1998. [26] D. Johnson, Y.-c. Hu, and D. Maltz, \The dynamic source routing protocol (dsr) for mobile ad hoc networks for ipv4," tech. rep., RFC 4728, 2007. [27] T. Clausen and P. Jacquet, \Optimized link state routing protocol (olsr)," tech. rep., RFC 3626, 2003. [28] D. Johnson, N. Ntlatlapa, and C. Aichele, \Simple pragmatic approach to mesh routing using batman," 2008. [29] S. Wang, A. Gasparri, and B. Krishnamachari, \Robotic message ferrying for wireless networks using coarse-grained backpressure control," IEEE Transac- tions on Mobile Computing, vol. PP, no. 99, pp. 1{1, 2016. [30] D. W. Gage, \Network protocols for mobile robot systems," in Proceedings of the Intelligent Systems & Advanced Manufacturing, pp. 107{118, Interna- tional Society for Optics and Photonics, 1998. [31] Robot Operating System, \http://www.ros.org/." [32] R. Olfati-Saber and R. M. Murray, \Consensus problems in networks of agents with switching topology and time-delays," IEEE Transactions on Automatic Control, vol. 49, pp. 1520{1533, Sept 2004. [33] L. Xiao, S. Boyd, and S. Lall, \A scheme for robust distributed sensor fusion based on average consensus," in Proceedings of the ACM/IEEE International Conference on Information Processing in Sensor Networks, 2005. [34] M. Franceschelli and A. Gasparri, \Gossip-based centroid and common ref- erence frame estimation in multiagent systems," IEEE Transactions on Robotics, vol. 30, pp. 524{531, April 2014. [35] Z. Lin, B. Francis, and M. Maggiore, \Necessary and sucient graphical con- ditions for formation control of unicycles," IEEE Transactions on Automatic Control, vol. 50, pp. 121{127, Jan 2005. 212 [36] P. Yang, R. A. Freeman, and K. M. Lynch, \Multi-agent coordination by de- centralized estimation and control," IEEE Transactions on Automatic Con- trol, vol. 53, pp. 2480{2496, Dec 2008. [37] M. Guo, M. M. Zavlanos, and D. V. Dimarogonas, \Controlling the relative agent motion in multi-agent formation stabilization," IEEE Transactions on Automatic Control, vol. 59, pp. 820{826, March 2014. [38] D. V. Dimarogonas and K. J. Kyriakopoulos, \Connectedness Preserving Dis- tributed Swarm Aggregation for Multiple Kinematic Robots," IEEE Trans- actions on Robotics, vol. 24, no. 5, pp. 1213{1223, 2008. [39] D. P. Spanos and R. M. Murray, \Robust connectivity of networked vehicles," in Proceedings of the IEEE Conference on Decision and Control (CDC), 2004. [40] Z. Yao and K. Gupta, \Backbone-based connectivity control for mobile net- works," in Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), 2009. [41] D. V. Dimarogonas and K. H. Johansson, \Bounded control of network con- nectivity in multi-agent systems," IET control theory & applications, vol. 4, no. 8, pp. 1330{1338, 2010. [42] F. Knorn, R. Stanojevic, M. Corless, and R. Shorten, \A framework for decen- tralised feedback connectivity control with application to sensor networks," International Journal of Control, vol. 82, no. 11, pp. 2095{2114, 2009. [43] M. Schuresko and J. Cort es, \Distributed motion constraints for algebraic connectivity of robotic networks," Journal of Intelligent and Robotic Systems, vol. 56, no. 1-2, pp. 99{126, 2009. [44] R. K. Williams, A. Gasparri, G. S. Sukhatme, and G. Ulivi, \Global con- nectivity control for spatially interacting multi-robot systems with unicycle kinematics," in Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), 2015. [45] S. Gil, S. Kumar, D. Katabi, and D. Rus, \Adaptive communication in multi- robot systems using directionality of signal strength," The International Jour- nal of Robotics Research, vol. 34, no. 7, pp. 946{968, 2015. [46] G. Tuna, B. Nefzi, and G. Conte, \Unmanned aerial vehicle-aided commu- nications system for disaster recovery," Journal of Network and Computer Applications, vol. 41, pp. 27{36, 2014. [47] P. Ghosh, R. Pal, and B. Krishnamachari, \Towards controllability of wireless network quality using mobile robotic routers," CoRR, vol. abs/1607.07848, 2016. 213 [48] H. Liu, H. Darabi, P. Banerjee, and J. Liu, \Survey of wireless indoor posi- tioning techniques and systems," IEEE Transactions on Systems, Man, and Cybernetics, Part C: Applications and Reviews, vol. 37, no. 6, pp. 1067{1080, 2007. [49] G. Sun, J. Chen, W. Guo, and K. R. Liu, \Signal processing techniques in network-aided positioning: a survey of state-of-the-art positioning designs," IEEE Signal Processing Magazine, vol. 22, no. 4, pp. 12{23, 2005. [50] I. Guvenc and C.-C. Chong, \A survey on toa based wireless localization and nlos mitigation techniques," IEEE Communications Surveys & Tutorials, vol. 11, no. 3, pp. 107{124, 2009. [51] I. Amundson and X. D. Koutsoukos, \A survey on localization for mobile wireless sensor networks," in Mobile Entity Localization and Tracking in GPS- less Environnments, pp. 235{254, Springer, 2009. [52] Y. Mao, C. You, J. Zhang, K. Huang, and K. B. Letaief, \A survey on mobile edge computing: The communication perspective," IEEE Communications Surveys & Tutorials, vol. 19, no. 4, pp. 2322{2358, 2017. [53] M. Narang, S. Xiang, W. Liu, J. Gutierrez, L. Chiaraviglio, A. Sathiaseelan, and A. Merwaday, \Uav-assisted edge infrastructure for challenged networks," in Proceedings of the IEEE Conference on Computer Communications Work- shops (INFOCOM WKSHPS), 2017. [54] X. Wang, A. Chowdhery, and M. Chiang, \Networked drone cameras for sports streaming," in Proceedings of IEEE International Conference on Dis- tributed Computing Systems (ICDCS), 2017. [55] N. P. Papanikolopoulos, P. K. Khosla, and T. Kanade, \Visual tracking of a moving target by a camera mounted on a robot: A combination of control and vision," IEEE Transactions on Robotics and Automation, vol. 9, no. 1, pp. 14{35, 1993. [56] B. Jung and G. S. Sukhatme, \Detecting moving objects using a single cam- era on a mobile robot in an outdoor environment," in Proceedings of the International Conference on Intelligent Autonomous Systems (IAS), 2004. [57] M. Lindstr om and J. Eklundh, \Detecting and tracking moving objects from a mobile platform using a laser range scanner," in Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2001. [58] G. Han, H. Xu, T. Q. Duong, J. Jiang, and T. Hara, \Localization algorithms of wireless sensor networks: a survey," Telecommunication Systems, vol. 52, no. 4, pp. 2419{2436, 2013. 214 [59] Y. Yan and Y. Mosto, \Robotic router formation-a bit error rate approach," in Proceedings of the Military Communications Conference (MILCOM), 2010. [60] A. Dunkels, O. Schmidt, N. Finne, J. Eriksson, F. Osterlind, N. Tsiftes, and M. Durvy, \The contiki os: The operating system for the internet of things," 2011. [61] MQTT-SN, \http://mqtt.org/." [62] N. J. Willis, Bistatic radar, vol. 2. SciTech Publishing, 2005. [63] Y. Mosto, \Compressive cooperative sensing and mapping in mobile net- works," IEEE Transactions on Mobile Computing, vol. 10, no. 12, pp. 1769{ 1784, 2011. [64] M. S. Grewal, \Kalman ltering," in International Encyclopedia of Statistical Science, pp. 705{708, Springer, 2011. [65] M. Athans, \The role and use of the stochastic linear-quadratic-gaussian prob- lem in control system design," IEEE Transactions on Automatic Control, vol. 16, no. 6, pp. 529{552, 1971. [66] D. P. Bertsekas, Dynamic programming and optimal control, vol. 1 & 2. Athena Scientic Belmont, MA, 1995. [67] P. Lancaster and L. Rodman, Algebraic riccati equations. Clarendon press, 1995. [68] L. Tassiulas and A. Ephremides, \Stability properties of constrained queue- ing systems and scheduling policies for maximum throughput in multihop radio networks," IEEE Transactions on Automatic Control, vol. 37, no. 12, pp. 1936{1948, 1992. [69] L. Georgiadis, M. J. Neely, and L. Tassiulas, Resource allocation and cross- layer control in wireless networks. Now Publishers Inc, 2006. [70] M. J. Neely, \Stochastic network optimization with application to commu- nication and queueing systems," Synthesis Lectures on Communication Net- works, vol. 3, no. 1, pp. 1{211, 2010. [71] D. Schulz, W. Burgard, D. Fox, and A. B. Cremers, \Tracking multiple mov- ing targets with a mobile robot using particle lters and statistical data as- sociation," in Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), 2001. 215 [72] I. Markovi c, F. Chaumette, and I. Petrovi c, \Moving object detection, track- ing and following using an omnidirectional camera on a mobile robot," in Proceedings of the IEEE International Conference on Robotics and Automa- tion (ICRA), 2014. [73] E. Prassler, J. Scholz, and A. Elfes, \Tracking multiple moving objects for real-time robot navigation," Autonomous Robots, vol. 8, no. 2, pp. 105{116, 2000. [74] M. Kleinehagenbrock, S. Lang, J. Fritsch, F. Lomker, G. A. Fink, and G. Sagerer, \Person tracking with a mobile robot based on multi-modal an- choring," in Proceedings of the IEEE International Symposium on Robot and Human interactive Communication (RO-MAN), 2002. [75] J. Graefenstein, A. Albert, P. Biber, and A. Schilling, \Wireless node local- ization based on rssi using a rotating antenna on a mobile robot," in Proceed- ings of the IEEE Workshop on Positioning, Navigation and Communication (WPNC), 2009. [76] P. Tokekar, J. Vander Hook, and V. Isler, \Active target localization for bear- ing based robotic telemetry," in Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2011. [77] J. N. Twigg, J. R. Fink, L. Y. Paul, and B. M. Sadler, \Rss gradient-assisted frontier exploration and radio source localization," in Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), 2012. [78] P. Tokekar, E. Branson, J. Vander Hook, and V. Isler, \Tracking aquatic invaders: Autonomous robots for monitoring invasive sh," IEEE Robotics & Automation Magazine, vol. 20, no. 3, pp. 33{41, 2013. [79] P. Tokekar, V. Isler, and A. Franchi, \Multi-target visual tracking with aerial robots," in Proceedings of the IEEE/RSJ International Conference on Intel- ligent Robots and Systems (IROS), 2014. [80] S. Zickler and M. Veloso, \Rss-based relative localization and tethering for moving robots in unknown environments," in Proceedings of the IEEE Inter- national Conference on Robotics and Automation (ICRA), 2010. [81] L. Oliveira, H. Li, L. Almeida, and T. E. Abrudan, \Rssi-based relative lo- calisation for mobile robots," Ad Hoc Networks, vol. 13, pp. 321{335, 2014. [82] J. Pugh, X. Raemy, C. Favre, R. Falconi, and A. Martinoli, \A fast onboard relative positioning module for multirobot systems," IEEE/ASME Transac- tions on Mechatronics, vol. 14, no. 2, pp. 151{162, 2009. 216 [83] F. Rivard, J. Bisson, F. Michaud, and D. L etourneau, \Ultrasonic relative positioning for multi-robot systems," in Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), 2008. [84] D. Vasisht, S. Kumar, and D. Katabi, \Decimeter-level localization with a single wi access point," in Proceedings of the USENIX Symposium on Net- worked Systems Design and Implementation (NSDI), 2016. [85] J. Elson, \Simulation of constant-distance robot following using ra- dio proximity beacons." http://www.circlemud.org/jelson/writings/ constant-following/constant-following.html, 1999. [86] B.-C. Min and E. T. Matson, \Robotic follower system using bearing-only tracking with directional antennas," in Robot Intelligence Technology and Ap- plications 2, pp. 37{58, Springer, 2014. [87] J. Van Den Berg, P. Abbeel, and K. Goldberg, \Lqg-mp: Optimized path planning for robots with motion uncertainty and imperfect state information," The International Journal of Robotics Research, vol. 30, no. 7, pp. 895{913, 2011. [88] J. Van Den Berg, D. Wilkie, S. J. Guy, M. Niethammer, and D. Manocha, \Lqg-obstacles: Feedback control with collision avoidance for mobile robots with motion and sensing uncertainty," in Proceedings of the IEEE Interna- tional Conference on Robotics and Automation (ICRA), 2012. [89] J. Tornero, R. Piza, P. Albertos, and J. Salt, \Multirate lqg controller ap- plied to self-location and path-tracking in mobile robots," in Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2001. [90] J. Van Den Berg, S. Patil, R. Alterovitz, P. Abbeel, and K. Y. Goldberg, \Lqg- based planning, sensing, and control of steerable needles," in Algorithmic Foundations of Robotics IX, pp. 373{389, Springer, 2010. [91] M. Haenggi, \Mean interference in hard-core wireless networks," IEEE Com- munications Letters, vol. 15, no. 8, pp. 792{794, 2011. [92] R. K. Ganti and M. Haenggi, \Interference and outage in clustered wireless ad hoc networks," IEEE Transactions on Information Theory, vol. 55, no. 9, pp. 4067{4086, 2009. [93] A. Busson and G. Chelius, \Capacity and interference modeling of csma/ca networks using ssi point processes," Telecommunication Systems, vol. 57, no. 1, pp. 25{39, 2014. 217 [94] H. ElSawy and E. Hossain, \Modeling random csma wireless networks in general fading environments," in Proceedings of the IEEE International Con- ference on Communications Workshops (ICC), 2012. [95] A. Busson and G. Chelius, \Point processes for interference modeling in csma/ca ad-hoc networks," in Proceedings of the 6th ACM symposium on Performance evaluation of wireless ad hoc, sensor, and ubiquitous networks, 2009. [96] P. Cardieri, \Modeling interference in wireless ad hoc networks," IEEE Com- munications Surveys & Tutorials, vol. 12, no. 4, pp. 551{572, 2010. [97] R. Hekmat and P. Van Mieghem, \Interference in wireless multi-hop ad-hoc networks and its eect on network capacity," Wireless Networks, vol. 10, no. 4, pp. 389{399, 2004. [98] G. Bianchi, \Performance analysis of the ieee 802.11 distributed coordination function," IEEE Journal on Selected Areas in Communications, vol. 18, no. 3, pp. 535{547, 2000. [99] J. Dai and W. Lin, \Asymptotic optimality of maximum pressure policies in stochastic processing networks," The Annals of Applied Probability, vol. 18, no. 6, pp. 2239{2299, 2008. [100] D. Shah and D. Wischik, \Optimal scheduling algorithms for input-queued switches," in Proceedings of the IEEE International Conference on Computer Communications (INFOCOM), 2006. [101] M. Naghshvar, H. Zhuang, and T. Javidi, \A general class of throughput optimal routing policies in multi-hop wireless networks," IEEE Transactions on Information Theory, vol. 58, no. 4, pp. 2175{2193, 2012. [102] S. Moeller, A. Sridharan, B. Krishnamachari, and O. Gnawali, \Routing without routes: The backpressure collection protocol," in Proceedings of the ACM/IEEE International Conference on Information Processing in Sensor Networks, 2010. [103] J. Nunez-Martinez, J. Mangues-Bafalluy, and M. Portoles-Comeras, \Study- ing practical any-to-any backpressure routing in wi- mesh networks from a lyapunov optimization perspective," in Proceedings of the IEEE International Conference on Mobile Adhoc and Sensor Systems (MASS), 2011. [104] M. Alresaini, M. Sathiamoorthy, B. Krishnamachari, and M. J. Neely, \Back- pressure with adaptive redundancy (bwar)," in Proceedings of the IEEE In- ternational Conference on Computer Communications (INFOCOM), 2012. 218 [105] O. Gnawali, R. Fonseca, K. Jamieson, D. Moss, and P. Levis, \Collection tree protocol," in Proceedings of the ACM Conference on Embedded Networked Sensor Systems, 2009. [106] F. Ferrari, M. Zimmerling, L. Thiele, and O. Saukh, \Ecient network ood- ing and time synchronization with glossy," in Proceedings of the ACM/IEEE International Conference on Information Processing in Sensor Networks, 2011. [107] N. Burri, P. Von Rickenbach, and R. Wattenhofer, \Dozer: ultra-low power data gathering in sensor networks," in Proceedings of the ACM/IEEE Inter- national Conference on Information Processing in Sensor Networks, 2007. [108] F. Ferrari, M. Zimmerling, L. Mottola, and L. Thiele, \Low-power wireless bus," in Proceedings of the ACM Conference on Embedded Networked Sensor Systems, 2012. [109] T. Winter, \Rpl: Ipv6 routing protocol for low-power and lossy networks," March 2012. [110] S. Nori, S. Deora, and B. Krishnamachari, \Backip: Backpressure routing in ipv6-based wireless sensor networks," USC CENG Technical Report CENG- 2014-01. [111] R. Banirazi, E. Jonckheere, and B. Krishnamachari, \Dirichlet's principle on multiclass multihop wireless networks: minimum cost routing subject to stability," in Proceedings of the ACM International Conference on Modeling, Analysis and Simulation of Wireless and Mobile Systems, 2014. [112] C. Bormann, A. P. Castellani, and Z. Shelby, \Coap: An application protocol for billions of tiny internet nodes," IEEE Internet Computing, vol. 16, no. 2, pp. 62{67, 2012. [113] M. H. Amaran, N. A. M. Noh, M. S. Rohmad, and H. Hashim, \A compari- son of lightweight communication protocols in robotic applications," Procedia Computer Science, vol. 76, pp. 400{405, 2015. [114] W. Kang, K. Kapitanova, and S. H. Son, \Rdds: A real-time data distri- bution service for cyber-physical systems," IEEE Transactions on Industrial Informatics, vol. 8, no. 2, pp. 393{405, 2012. [115] Y. Chen and T. Kunz, \Performance evaluation of iot protocols under a con- strained wireless access network," in Proceedings of the International Con- ference on Selected Topics in Mobile & Wireless Networking (MoWNeT), pp. 1{7, IEEE, 2016. 219 [116] A. S. Huang, E. Olson, and D. C. Moore, \Lcm: Lightweight communications and marshalling," in Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2010. [117] N. Aroon, \Study of using mqtt cloud platform for remotely control robot and gps tracking," in Proceedings of the IEEE International Conference on Electrical Engineering/Electronics, Computer, Telecommunications and In- formation Technology (ECTI-CON), 2016. [118] R. Kazala, A. Taneva, M. Petrov, and S. Penkov, \Wireless network for mobile robot applications," IFAC-PapersOnLine, vol. 48, no. 24, 2015. [119] M. A. Rahman, M. S. Miah, W. Gueaieb, and A. E. Saddik, \Senora: A p2p service-oriented framework for collaborative multirobot sensor networks," IEEE Sensors Journal, vol. 7, pp. 658{666, May 2007. [120] J. Claro, B. Dias, B. Rodrigues, J. P. Piment~ ao, P. Sousa, and S. Onofre, \Au- tonomous robot integration in surveillance system: Architecture and com- munication protocol for systems cooperation," in Proceedings of the IEEE International Conference on Power Electronics and Motion Control, 2014. [121] P. Sauer, T. Hausten, and P. Hofstedt, \Using internet of things technology to create a really platform independent robotics framework," in Proceedings of the IEEE International Symposium on Systems Engineering (ISSE), 2016. [122] B. Yan, D. Shi, J. Wei, and C. Pan, \Hibot: A generic ros-based robot- remote-control framework," in Proceedings of the Asia-Pacic Conference on Intelligent Robot Systems (ACIRS), 2017. [123] C. R. Karanam and Y. Mosto, \3d through-wall imaging with unmanned aerial vehicles using wi," in Proceedings of the ACM/IEEE International Conference on Information Processing in Sensor Networks, 2017. [124] N. Patwari and J. Wilson, \Rf sensor networks for device-free localization: Measurements, models, and algorithms," Proceedings of the IEEE, vol. 98, no. 11, pp. 1961{1973, 2010. [125] S. Aditya, A. F. Molisch, and H. Behairy, \Bayesian multi-target localization using blocking statistics in multipath environments," in Proceedings of the IEEE International Conference on Communication Workshop (ICCW), 2015. [126] B. Gulmezoglu, M. B. Guldogan, and S. Gezici, \Multiperson tracking with a network of ultrawideband radar sensors based on gaussian mixture phd lters," IEEE Sensors Journal, vol. 15, no. 4, pp. 2227{2237, 2015. 220 [127] J. Wang and D. Katabi, \Dude, where's my card?: Rd positioning that works with multipath and non-line of sight," ACM SIGCOMM Computer Communication Review, vol. 43, no. 4, pp. 51{62, 2013. [128] B. Tan, K. Chetty, and K. Jamieson, \Thrumapper: Through-wall building tomography with a single mapping robot," in Proceedings of the 18th Inter- national Workshop on Mobile Computing Systems and Applications, 2017. [129] F. Adib, C.-Y. Hsu, H. Mao, D. Katabi, and F. Durand, \Capturing the hu- man gure through a wall," ACM Transactions on Graphics (TOG), vol. 34, no. 6, p. 219, 2015. [130] F. Adib, Z. Kabelac, D. Katabi, and R. C. Miller, \3d tracking via body radio re ections," in Proceedings of the USENIX Symposium on Networked Systems Design and Implementation (NSDI), 2014. [131] K. Chetty, G. E. Smith, and K. Woodbridge, \Through-the-wall sensing of personnel using passive bistatic wi radar at stando distances," IEEE Trans- actions on Geoscience and Remote Sensing, vol. 50, no. 4, pp. 1218{1226, 2012. [132] S. Kumar, E. Hamed, D. Katabi, and L. Erran Li, \Lte radio analytics made easy and accessible," ACM SIGCOMM Computer Communication Review, vol. 44, no. 4, pp. 211{222, 2014. [133] P. Ghosh, J. A. Tran, and B. Krishnamachari, \ARREST: A RSSI based approach for mobile sensing and tracking of a moving object," in Proceedings of the IEEE International Workshop on Wireless Networking and Control for Unmanned Autonomous Vehicles (WiUAV), Globecom, 2017. [134] P. Ghosh, J. A. Tran, and B. Krishnamachari, \ARREST: A RSSI based approach for mobile sensing and tracking of a moving object," IEEE Trans- actions on Mobile Computing, vol. Under Revision, 2017. [135] P. Ghosh, J. A. Tran, and B. Krishnamachari, \ARREST: A rssi based ap- proach for mobile sensing and tracking of a moving object," arXiv preprint arXiv:1707.05493, 2017. [136] V. Kumar, D. Rus, and S. Singh, \Robot and sensor networks for rst re- sponders," IEEE Pervasive Computing, vol. 3, no. 4, pp. 24{33, 2004. [137] J. Xiong and K. Jamieson, \Arraytrack: a ne-grained indoor location sys- tem," in Proceedings of the USENIX Symposium on Networked Systems De- sign and Implementation (NSDI), 2013. 221 [138] J.-R. Jiang, C.-M. Lin, F.-Y. Lin, and S.-T. Huang, \Alrd: Aoa localization with rssi dierences of directional antennas for wireless sensor networks," International Journal of Distributed Sensor Networks, vol. 2013, 2013. [139] Openmote, \http://www.openmote.com/." [140] mbed LPC1768, \https://developer.mbed.org/platforms/." [141] HC-SRO4, \https://cdn.sparkfun.com/datasheets/Sensors/ Proximity/HCSR04.pdf." [142] RTOS, \http://www.ni.com/white-paper/3938/en/." [143] E. Gelenbe, J. Labetoulle, and G. Pujolle, \Performance evaluation of the hdlc protocol," Computer Networks, vol. 2, no. 4-5, pp. 409{415, 1978. [144] RIOT OS, \https://riot-os.org/." [145] E. Baccelli, O. Hahm, M. Gunes, M. Wahlisch, and T. C. Schmidt, \Riot os: Towards an os for the internet of things," in Proceedings of the IEEE Inter- national Conference on Computer Communications (INFOCOM) Workshops, 2013. [146] VICON, \https://www.vicon.com/." [147] A. Savvides, C.-C. Han, and M. B. Strivastava, \Dynamic ne-grained local- ization in ad-hoc networks of sensors," in Proceedings of the ACM Interna- tional conference on Mobile computing and networking (MobiCom), 2001. [148] Pololu-3pi, \https://www.pololu.com/product/975." [149] MB1300-XL-MaxSonar-AE0, \http://www.maxbotix.com/Ultrasonic_ Sensors/MB1300.htm." [150] P. Ghosh and B. Krishnamachari, \Interference power bound analysis of a network of wireless robots," in Proceedings of the International Conference on Communication Systems and Networks, pp. 7{23, Springer, 2017. [151] Y. Zeng, P. H. Pathak, and P. Mohapatra, \A rst look at 802.11 ac in action: energy eciency and interference characterization," in Proceedings of IFIP Networking Conference, 2014. [152] A. Safak, \Statistical analysis of the power sum of multiple correlated log- normal components," IEEE Transactions on Vehicular Technology, vol. 42, no. 1, pp. 58{61, 1993. 222 [153] M. Hi and R. M'hallah, \A literature review on circle and sphere pack- ing problems: models and methodologies," Advances in Operations Research, vol. 2009, 2009. [154] P. Ghosh, H. Ren, R. Banirazi, B. Krishnamachari, and E. A. Jonckheere, \Empirical evaluation of the heat-diusion collection protocol for wireless sensor networks," Computer Networks, vol. 127, pp. 217{232, 2017. [155] M. Mauve, J. Widmer, and H. Hartenstein, \A survey on position-based routing in mobile ad hoc networks," IEEE Network, vol. 15, no. 6, pp. 30{39, 2001. [156] S. Taneja and A. Kush, \A survey of routing protocols in mobile ad hoc net- works," International Journal of Innovation, Management and Technology, vol. 1, no. 3, p. 279, 2010. [157] R. Fonseca, O. Gnawali, K. Jamieson, S. Kim, P. Levis, and A. Woo, \The collection tree protocol (ctp)," TinyOS TEP, vol. 123, no. 2, 2006. [158] P. Levis, N. Patel, D. Culler, and S. Shenker, \Trickle: A self-regulating algorithm for code propagation and maintenance in wireless sensor networks," in Proceedings of the USENIX Symposium on Networked Systems Design and Implementation (NSDI), 2004. [159] S. Farahani, ZigBee wireless networks and transceivers. Newnes, 2011. [160] Tutornet, \http://anrg.usc.edu/www/tutornet/." [161] M. Buettner, G. V. Yee, E. Anderson, and R. Han, \X-mac: a short preamble mac protocol for duty-cycled wireless sensor networks," in Proceedings of the ACM Conference on Embedded Networked Sensor Systems, 2006. [162] P. Ghosh, J. A. Tran, D. Dsouza, N. Ayanian, and B. Krishnamachari, \Ro- mano: A novel overlay lightweight communication protocol for unied control and sensing of a network of robots," arXiv preprint arXiv:1709.07555, 2017. [163] P. Ghosh, J. Xie, and B. Krishnamachari, \miniradar: A low power ieee 802.15. 4 transceiver based implementation of bistatic radar," in Proceedings of the 4th ACM Workshop on Hot Topics in Wireless (HotWireless), Mobi- Com, 2017. [164] J. Aldrich, \Ra sher and the making of maximum likelihood 1912-1922," Statistical Science, vol. 12, no. 3, pp. 162{176, 1997. 223
Abstract (if available)
Linked assets
University of Southern California Dissertations and Theses
Conceptually similar
PDF
Multichannel data collection for throughput maximization in wireless sensor networks
PDF
Gradient-based active query routing in wireless sensor networks
PDF
Robust routing and energy management in wireless sensor networks
PDF
Remote exploration with robotic networks: queue-aware autonomy and collaborative localization
PDF
The interplay between networks and robotics: networked robots and robotic routers
PDF
Cooperation in wireless networks with selfish users
PDF
Learning, adaptation and control to enhance wireless network performance
PDF
Dynamic routing and rate control in stochastic network optimization: from theory to practice
PDF
Transport layer rate control protocols for wireless sensor networks: from theory to practice
PDF
Rate adaptation in networks of wireless sensors
PDF
Enabling virtual and augmented reality over dense wireless networks
PDF
High-performance distributed computing techniques for wireless IoT and connected vehicle systems
PDF
Design of cost-efficient multi-sensor collaboration in wireless sensor networks
PDF
Data-driven optimization for indoor localization
PDF
A protocol framework for attacker traceback in wireless multi-hop networks
PDF
Realistic modeling of wireless communication graphs for the design of efficient sensor network routing protocols
PDF
Algorithmic aspects of throughput-delay performance for fast data collection in wireless sensor networks
PDF
Congestion control in multi-hop wireless networks
PDF
Distributed wavelet compression algorithms for wireless sensor networks
PDF
Motion coordination for large multi-robot teams in obstacle-rich environments
Asset Metadata
Creator
Ghosh, Pradipta
(author)
Core Title
Relative positioning, network formation, and routing in robotic wireless networks
School
Viterbi School of Engineering
Degree
Doctor of Philosophy
Degree Program
Electrical Engineering
Publication Date
07/26/2018
Defense Date
06/07/2018
Publisher
University of Southern California
(original),
University of Southern California. Libraries
(digital)
Tag
networks,OAI-PMH Harvest,robotic router,robotics,sensor networks,wireless communication
Format
application/pdf
(imt)
Language
English
Contributor
Electronically uploaded by the author
(provenance)
Advisor
Krishnamachari, Bhaskar (
committee chair
), Annavaram, Murali (
committee member
), Ayanian, Nora (
committee member
), Govindan, Ramesh (
committee member
)
Creator Email
iampradiptaghosh@gmail.com,pradiptg@usc.edu
Permanent Link (DOI)
https://doi.org/10.25549/usctheses-c89-28281
Unique identifier
UC11668702
Identifier
etd-GhoshPradi-6496.pdf (filename),usctheses-c89-28281 (legacy record id)
Legacy Identifier
etd-GhoshPradi-6496.pdf
Dmrecord
28281
Document Type
Dissertation
Format
application/pdf (imt)
Rights
Ghosh, Pradipta
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
networks
robotic router
robotics
sensor networks
wireless communication