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
/
Informative path planning for environmental monitoring
(USC Thesis Other)
Informative path planning for environmental monitoring
PDF
Download
Share
Open document
Flip pages
Contact Us
Contact Us
Copy asset link
Request this asset
Transcript (if available)
Content
INFORMATIVE PATH PLANNING FOR ENVIRONMENTAL MONITORING by Jonathan Douglas Binney A Dissertation Presented to the FACULTY OF THE USC GRADUATE SCHOOL UNIVERSITY OF SOUTHERN CALIFORNIA In Partial Fulfillment of the Requirements for the Degree DOCTOR OF PHILOSOPHY (COMPUTER SCIENCE) December 2012 Copyright 2012 Jonathan Douglas Binney Table of Contents List of Tables v List of Figures vi Abstract xi Chapter 1 Preliminaries 1 1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2.1 Path Planning and Probabilistic Search . . . . . . . . . . . . 4 1.2.2 Path Planning and Probabilistic Search . . . . . . . . . . . . 6 1.2.3 Sensor Placement . . . . . . . . . . . . . . . . . . . . . . . . 8 1.2.4 Applied Adaptive Sampling for Oceanography . . . . . . . . 9 1.2.5 Informative Path Planning . . . . . . . . . . . . . . . . . . . 9 1.3 Related Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.4 Marine Environmental Monitoring . . . . . . . . . . . . . . . . . . . 14 1.4.1 Gliders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.4.2 Currents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.5 Path Planning Formalism . . . . . . . . . . . . . . . . . . . . . . . 17 1.5.0.1 Representing Robot Motion as a Graph . . . . . . 17 1.5.0.2 Extending Graphs to Include Samples . . . . . . . 18 1.6 Gaussian Process Modeling . . . . . . . . . . . . . . . . . . . . . . . 19 1.7 Objective Functions for Sensor Placement . . . . . . . . . . . . . . 23 1.7.1 Average Reduction in Variance . . . . . . . . . . . . . . . . . 23 ii 1.8 Objective Functions for IPP . . . . . . . . . . . . . . . . . . . . . . 24 1.9 Formal IPP Definition . . . . . . . . . . . . . . . . . . . . . . . . . 25 1.9.1 Single Robot Informative Path Planning . . . . . . . . . . . 25 1.9.2 Multiple Robot Informative Path Planning . . . . . . . . . . 27 Chapter 2 Submodular Orienteering 28 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.2 Motivation and Background . . . . . . . . . . . . . . . . . . . . . . 28 2.2.1 Time-varying Objective Functions . . . . . . . . . . . . . . . 29 2.2.2 Edge-based Samples . . . . . . . . . . . . . . . . . . . . . . 31 2.3 Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.3.2 Requirements on h(P,τ) . . . . . . . . . . . . . . . . . . . . 33 2.3.3 How h(P,τ) Expresses the Edge-based Sample Case . . . . . 34 2.3.4 How h(P,τ) Expresses the Time-varying Case . . . . . . . . 35 2.3.5 Pseudocode . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 2.3.6 Approximation Guarantee . . . . . . . . . . . . . . . . . . . 37 2.3.7 Running Time . . . . . . . . . . . . . . . . . . . . . . . . . . 38 2.3.8 Equilateral Graphs . . . . . . . . . . . . . . . . . . . . . . . 39 2.4 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 2.4.1 Finite Horizon Planning . . . . . . . . . . . . . . . . . . . . 41 2.4.2 Simple Example . . . . . . . . . . . . . . . . . . . . . . . . 42 2.4.3 ROMS Simulated Dataset Results . . . . . . . . . . . . . . . 45 2.4.4 Field Results . . . . . . . . . . . . . . . . . . . . . . . . . . 50 2.4.5 Discussion of Results . . . . . . . . . . . . . . . . . . . . . . 54 2.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 2.6 Proof of approximation guarantee . . . . . . . . . . . . . . . . . . . 58 iii Chapter 3 Branch and Bound 63 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 3.2 The Single Robot Algorithm . . . . . . . . . . . . . . . . . . . . . . 64 3.3 The Multi-Robot Algorithm . . . . . . . . . . . . . . . . . . . . . . 68 3.4 Single Robot Results . . . . . . . . . . . . . . . . . . . . . . . . . . 69 3.4.1 Simulated Results . . . . . . . . . . . . . . . . . . . . . . . . 69 3.4.1.1 Varying the Characteristic Length . . . . . . . . . 70 3.4.1.2 Finite Horizon Planning . . . . . . . . . . . . . . . 71 3.4.1.3 Adding Pilot Measurements . . . . . . . . . . . . . 71 3.4.2 ASV Wireless Signal Strength Experiment . . . . . . . . . . 73 3.5 Multi-Robot Results . . . . . . . . . . . . . . . . . . . . . . . . . . 75 3.5.1 Two Robot Planning . . . . . . . . . . . . . . . . . . . . . . 75 3.5.2 Three Robot Planning . . . . . . . . . . . . . . . . . . . . . 77 3.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Chapter 4 Conclusions 86 4.1 Algorithms for Single Robot IPP . . . . . . . . . . . . . . . . . . . 86 4.2 Algorithms for Multi-Robot IPP . . . . . . . . . . . . . . . . . . . . 89 4.3 Recommendations for Future Work . . . . . . . . . . . . . . . . . . 90 4.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Bibliography 91 iv List of Tables 3.1 Runtime in seconds for each of the brute force and BNB algorithms. The first row is the budget (each edge has unit length, so this is the maximum number of edges in the path.) DNF indicates that the algorithm was still running after 10 minutes and was manually terminated. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 v List of Figures 1.1 Position and a planned path for one of our underwater gliders near Catalina island. We deploy the gliders in the Southern California Bight (SCB), to collect data including temperature, conductivity and salinity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 The Slocum Glider, resting at the surface before diving. . . . . . . . 15 2.1 How to convert a simple 3 node graph into a time expanded graph which has copies of each node for each of 3 discrete timesteps. . . . 30 2.2 A graph with 3 nodes, and 3 sample points along each edge. These arelocationsatwhicharobottraversingthatedgeofthegraphwould take sensor measurements. . . . . . . . . . . . . . . . . . . . . . . . 31 2.3 Graphusedasanexampleproblem. Thereare33nodes(bluecircles) connected by undirected edges. Sample positions along each edge are marked by red triangles. . . . . . . . . . . . . . . . . . . . . . . . . 42 2.4 Path produced by GRG algorithm. The path starts and ends at the bottom left node. Colors only to make it easier to follow the path as it crosses itself. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 2.5 Path produced by brute force planner with a horizon of one (greedy). The path starts and ends at the bottom left node. Colors added only to make it easier to follow the path as it crosses itself. . . . . . . . . 44 vi 2.6 Expected mean square error (EMSE) values for the the paths pro- duced by GRG, and for brute force (BF) planning with various hori- zons. Lower EMSE values are better. . . . . . . . . . . . . . . . . . 45 2.7 Runtimes in seconds for GRG and for brute force (BF) planning with various horizons. Tests were done on using single threaded implementations in python on a Pentium core i5 processor. . . . . . 46 2.8 The region (marked in yellow) chosen for the simulated dataset. . . 47 2.9 Graph used for the results in section 2.4.3, overlaid on a snap- shot from one moment in time of the temperatures in the simulated dataset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 2.10 Correlations shown between a one reference point and all other way- points and the intermediate sample points on the edges. The refer- ence point is marked with an ’x’ (at hour 24). Red indicates points thatarehighlycorrelatedwiththereferencepoint, andblueindicates points which are less correlated. . . . . . . . . . . . . . . . . . . . . 49 2.11 Path produced by GRG algorithm on the ROMS simulated dataset. The path starts and ends at the bottom left node. Colors added only to make it easier to follow the path as it crosses itself. . . . . . . . . 50 2.12 Expected mean square error (EMSE) values for the ROMS simulated dataset. ShowsEMSEforthepathsproducedbyGRG,andforbrute force (BF) planning with various horizons. Lower EMSE values are better. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 2.13 Runtimes in seconds for GRG and for bruteforce (BF) planning with various horizons on the ROMS simulated dataset. Tests were done using single threaded implementations in python on an Intel core i5 processor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 2.14 (a) Waypoint graph overlaid on an overhead view of the location for the field experiment. The location of the wireless router is marked by a red ’x’. (b) ASV used to collect wireless signal strength data for section 2.4.4. More information about the platform can be found in [1]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 vii 2.15 Expected mean square error (EMSE) values achieved by the path planning algorithms for the lake wireless signal strength experiment. Plot (a) shows the results when planning paths that start and end at the bottom middle node, and plot (b) shows the results when planning paths that start and end at the top left node. Lower EMSE values are better. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 2.16 Wireless signal strength data (in db) collected to evaluate the per- formance of the planners. The location of the base station is marked near the bottom with a red ’X’. Because of wind, the ASV does not perfectly track the edges of the graph. . . . . . . . . . . . . . . . . 55 2.17 Actual mean square error (MSE) values achieved by the path plan- ningalgorithmsforthelakewirelesssignalstrengthexperiment. Plot (a) shows the results when planning paths that start and end at the bottom middle node, and plot (b) shows the results when planning paths that start and end at the top left node. Lower EMSE values are better. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 2.18 Runtimes in seconds for GRG and for bruteforce (BF) planning with various horizons for the lake signal strength experiment. Plot (a) shows the results when planning paths that start and end at the bottom middle node, and plot (b) shows the results when planning paths that start and end at the top left node. Tests were done using singlethreadedimplementationsinpythononanIntelcorei5processor. 57 3.1 An illustration of our branch and bound algorithm with a budget of 6. (a) Only the start and end nodes have been fixed. With a budget of 6, there is still some feasible path which would visit any given node in the graph. (b) The algorithm has fixed one edge in the path. There is a remaining budget of 5, and no feasible path reaches the nodes marked in white, so they have been removed from the reachable set. (c) Another edge has been fixed, and more nodes have been removed from the reachable set. . . . . . . . . . . . . . . 79 3.2 Running times for various values of the length scale in the GP kernel. The y-axis is shown in log scale. The brute force running times are identical for each of the three length scales used. . . . . . . . . . . . 80 viii 3.3 Speedup factor (brute force running time divided by branch and boundrunningtime)forafinitehorizonplannerwithvarioushorizon lengths. Although we vary the horizon, we fix the overall budget at 14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 3.4 One of the trials for each number of pilot measurements. Pilot mea- surement locations are marked by red circles. The planner is given a start location at the bottom left node, an end location at the top right node, and a maximum budget of 14 (each edge has unit length). Pilot measurements are places where samples have already been taken, for instance by static sensors. The planner must choose a path that best augments the set of pilot measurements. . . . . . . 81 3.5 Running time speedup (brute force running time divided by branch and bound running time) for varying number of pilot measurements. For each number of pilot measurements, 5 trials were done, and the standard deviations of the speedup is shown by the error bars. . . . 82 3.6 Autonomous surface vessel (ASV) used to collect wireless signal strength pilot data for the results presented in this section. . . . . . 82 3.7 Graph used for these results. The overlaid graph shows the allowed movements for the ASV. Each edge is assigned a cost of 1. The goal of the ASV is to accurately model the wireless signal strength between it and the wireless access point (marked with a red ’x’) over the entire area covered by the graph. Pilot trajectory used for collecting training data is shown in purple. . . . . . . . . . . . . . . 82 3.8 Optimal path for a budget of 24 (each edge in the graph has cost 1). The path starts and ends at the bottommost node in the graph. The location of the wireless access point is marked with a red ’x’. . 83 3.9 Objective values achieved after planning each robot’s path once, twice, and three times. . . . . . . . . . . . . . . . . . . . . . . . . . 84 3.10 (a) Paths planned sequentially using BNB for each path. (b) After re-planning each path once. (c) After re-planning each path twice. . 85 ix 4.1 Diagram of the speed/optimality trade-offs of three algorithms for IPP. Greedy is extremely fast, but far from optimal. Branch and bound (BNB) and generalized recursive greedy (GRG) have some overlap in terms of speed, but for many problems GRG is faster. The only algorithm which guarantees a perfectly optimal solution is BNB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 x Abstract Mobile aquatic, aerial, and terrestrial robots open up rich opportunities for en- vironmental monitoring. Sensors mounted on a robot can be moved to take mea- surements in multiple locations, allowing an effective spatial sampling density much higher than the number of robots. In order to most effectively exploit mobile robots in this manner, path planning methods which consider the usefulness of measure- ments are needed. This thesis studies and develops discrete planning algorithms for optimal usage of mobile robots in environmental monitoring applications. Specifi- cally, we address cases where a probabilistic model (e.g., a Gaussian process) is used to predict a scalar field. In this context, the usefulness of a set of measurements collected by a robot or team of robots can be quantified as the expected reduction in entropy or mean squared error, providing a well defined objective function for the planner. We present path planning approaches which take advantage of the char- acteristics of these objective functions to efficiently plan optimal or near optimal paths for one or more robots. This thesis makes the following contributions. First, we present extensions to a submodular orienteering algorithm which increases its usefulness for environmental xi monitoring applications. Specifically, we show how to handle temporally changing fields, and how to efficiently incorporate sensors which take measurements while the robot is moving. Second, we present a branch and bound algorithm which adapts an upper bound from feature selection literature to efficiently find the optimal solution to an informative path planning problem. Finally, we provide results from tests of the algorithms on real robotic problems, including ocean monitoring using underwater gliders, and lake monitoring using an autonomous surface vehicle. xii Chapter 1 Preliminaries 1.1 Introduction Figure 1.1: Position and a planned path for one of our underwater gliders near Catalina island. We deploy the gliders in the Southern California Bight (SCB), to collect data including temperature, conductivity and salinity. This thesis studies the problem of planning paths for robots carrying sensors which can measure phenomena in the environment. We will refer to this as informa- tive path planning (IPP). Robotic sensor platforms have the potential to greatly 1 improve our ability to collect scientific information, especially in aquatic environ- ments. Currently, this is typically done using sensor packages towed by boats, or by using autonomous underwater vehicles (AUVs) sampling along routes pre-set by expert humans. We believe that algorithms which can autonomously plan intelli- gent routes for IPP without human help can provide an even greater increase in ability to collect useful data. There are several reasons for this: • As mobile robot hardware becomes cheaper and more capable, the time re- quired for humans to manually set their paths may a bottleneck. • When using complex probabilistic models of environmental phenomena, op- timal information gathering paths may be non-intuitive. (we see this later when looking at time-varying phenomena). • Especially in underwater domains, communication with the robots may be limited. The robot may need to re-plan without human intervention, depend- ing on the sensor measurements it has obtained. At the same time, there are still many challenges with regards to IPP. We will discuss these in more detail later in the thesis, but they are worth mentioning here: • Domainexpertsoftenrelyonintuitionwhendecidingwheretheywantarobot to sample. Translating this intuition into concrete objective functions which a planner can optimize requires more cooperation between domain experts and computer scientists. 2 • A planner is only as good as its objective function. Imperfect models of environmental phenomena can result in even an optimal planner choosing paths which do not provide the most useful information. Wepartiallyaddresstheseproblemsbyemployingawidelyusedprobabilisticmodel for scalar fields, Gaussian processes. The entropy, mutual information, or mean squared error of a GP provides us with a reasonable and well defined objective function for our planner. Because this thesis focuses on planning, not modeling, we accept the imperfections of the models we use. In theory, swapping in more accurate models should result in better results, although there may be some quirks to deal with. The planners which we present in this thesis can work on a variety of objective functions besides reduction of uncertainty in a GP. This is because the correctness of the algorithms relies only on a few characteristics of the objective function, which is treated as a black box. In particular, we rely on either submodularity or monotonicity of the objective function. We will go into more detail about what these are and why they apply to certain objective functions in IPP later. In chapter 2, we extend a submodular orienteering algorithm to work on more realistic IPP scenarios. In chapter 3, we present an alternative branch and bound algorithm which requires only monotonicity in the objective function, rather than submodularity. We then present an extension of the branch and bound algorithm to multi-robot IPP. We also test our algorithms on toy problem sets, on a simulated 3 dataset, and in the field. In the final chapter, we summarize the differences between the algorithms from the first two chapters, and give some ideas for future directions in IPP research. 1.2 Related Work 1.2.1 Path Planning and Probabilistic Search Quite a bit of research has been done on the problem of planning paths for mobile robots. The problems can be roughly decomposed based on the objective function that they seek to optimize, whether they are discrete or continuous, and the method they use to do the optimization. In the case where the objective is to find the shortest path between two points on a discrete graph, dynamic programming methods such as Dijkstra’s algorithm can be used to find the solution in polynomial time [2], and further heuristics can be use to improve speed, resulting in algorithms such as A-star [3]. In the continuous setting, randomized approaches such as rapidly exploring random trees [4]can be used to find feasible paths, or extended using re-planning to look for short paths. Thekeycharacteristicthatallowstheuseoftreesordynamicprogrammingmethods to work well for the shortest path problem is that each part of the optimal path is a smaller optimal path between its endpoints. For more complicated objective functions, such as the one we use in this thesis, this may not be the case. One 4 problem with a more complicated objective function is probabilistic search. The goal is to to quickly find a target, which may be moving according to a probabilistic motion model. In this case, each sub-path of the optimal path cannot be solved for on its own, since it depends on the other parts of the optimal path. Intuitively, this is because searching an area is likely to provide less reward if it has already been searched by another portion of the path. This characteristic of the objective function is shared by informative path planning - taking measurements in a location is likely to be less useful if it has already been measured. The connection between probabilistic search and informative path planning is discussed in [5]. Another path planning problem which is related to informative path planning is the work of Prentice and Roy on “Belief Roadmaps” [6]. Belief roadmaps extend the work of Kavraki et al. on “Probabilistic Roadmaps” [7] in order to plan paths which not only get the robot from the start to the goal, but do so in a way that allows the robot to be reasonably certain about where it is. By choosing paths which pass close to parts of the environment which the robot can use to localize itself, the covariance of the robot’s pose distribution is kept within some bound. In informative path planning, the goal is the reverse: the robot chooses path which minimize its uncertainty about a scalar field in the environment. This is a much higher dimensional quantity than the robot’s pose, and so in this work we focus on a method for reducing the number of paths which must be considered. 5 Path planning for mobile robots is a large field, and the references here provide only a cursory overview of some representative works, in order to help the reader get a sense for how informative path planning relates to other path planning problems. 1.2.2 Path Planning and Probabilistic Search Quite a bit of research has been done on the problem of planning paths for mobile robots. The problems can be roughly decomposed based on the objective function that they seek to optimize, whether they are discrete or continuous, and the method they use to do the optimization. In the case where the objective is to find the shortest path between two points on a discrete graph, dynamic programming methods such as Dijkstra’s algorithm can be used to find the solution in polynomial time [2], and further heuristics can be use to improve speed, resulting in algorithms such as A-star [3]. In the continuous setting, randomized approaches such as rapidly exploring random trees [4]can be used to find feasible paths, or extended using re-planning to look for short paths. Thekeycharacteristicthatallowstheuseoftreesordynamicprogrammingmethods to work well for the shortest path problem is that each part of the optimal path is a smaller optimal path between its endpoints. For more complicated objective functions, such as the one we use in this thesis, this may not be the case. One problem with a more complicated objective function is probabilistic search. The goal is to to quickly find a target, which may be moving according to a probabilistic 6 motion model. In this case, each sub-path of the optimal path cannot be solved for on its own, since it depends on the other parts of the optimal path. Intuitively, this is because searching an area is likely to provide less reward if it has already been searched by another portion of the path. This characteristic of the objective function is shared by informative path planning - taking measurements in a location is likely to be less useful if it has already been measured. The connection between probabilistic search and informative path planning is discussed in [5]. Another path planning problem which is related to informative path planning is the work of Prentice and Roy on “Belief Roadmaps” [6]. Belief roadmaps extend the work of Kavraki et al. on “Probabilistic Roadmaps” [7] in order to plan paths which not only get the robot from the start to the goal, but do so in a way that allows the robot to be reasonably certain about where it is. By choosing paths which pass close to parts of the environment which the robot can use to localize itself, the covariance of the robot’s pose distribution is kept within some bound. In informative path planning, the goal is the reverse: the robot chooses path which minimize its uncertainty about a scalar field in the environment. This is a much higher dimensional quantity than the robot’s pose, and so in this work we focus on a method for reducing the number of paths which must be considered. Path planning for mobile robots is a large field, and the references here provide only a cursory overview of some representative works, in order to help the reader get a sense for how informative path planning relates to other path planning problems. 7 1.2.3 Sensor Placement Sensor placement is the problem of where to place a set of sensors to best monitor the quantity of interest. This requires some model of the scalar field, and a way of quantifying the usefulness of a set of sensor locations, given that model. Unlike the informative path planning problem that we study in this work, however, there is no path length constraint - the sensors can be placed at any locations. Instead of a path length constraint, there is typically a limit on the number of locations at which sensors can be placed. Sensor placement using mutual information of a Gaussian process has been studied by Krause et al. [8], who show that the problem is NP-complete, but that a greedy algorithm provides a 1− 1/e approximation. This approximation comes from the submodular property of mutual information. Submodularity expresses the idea of “diminishing returns” for a set function: adding a new sensor location gives less benefit when added to a larger existing set of sensor locations. Unfortunately, the constant factor approximation achieved by the greedy algorithm does not hold once a path length constraint is added, and so does not provide provably good solutions for the informative path planning problem. 8 1.2.4 Applied Adaptive Sampling for Oceanography Researchers who study how to model and predict ocean processes have also studied the problem of how to decide where to take measurements. Adaptive modeling approaches for ocean observing are presented by Lermusiaux in [9] and the problem of how to route autonomous vehicles to do adaptive sampling for such models is studied by Wang et al. in [10]. Another approach to adaptive sampling using autonomous undersea vehicles is presented by Heany et al. [11], who use genetic algorithms to determine sampling locations for an AUV. These works are only a few examples of a large field of research which deals with the problem of modeling and sampling complex oceanographic processes. The work we present in this chapter is quite different from these; we use a much simplified model and highly discretized planning space, in order to allow for an optimality guarantee in the single robot case. We hope to extend the ideas in our algorithm to work with more complicated models in the future. 1.2.5 Informative Path Planning For the path planning approaches we discuss, the possible waypoints for the robot are described by the nodes of a graph, and possible movements between the way- points are described by the edges of the graph. A path is then chosen to maximize a function, called the "objective function". Existing solutions to the informative 9 path planning problem can be classified in terms of the restrictions applied to the objective function. One possible restriction is to require that the objective function be a sum of a constant reward given for each individual node visited. This approach was taken in [12], which used an algorithm from [13] to provide a constant factor approximation for the orienteering problem. This assumption was also used in [14], combined with mixed integer linear programming to plan a path for an autonomous underwater vehicle. The assumption that the objective function is the sum of an objective obtained at each node is quite limiting for informative path planning. It implies that the reward obtained by visiting a location does not depend on what other locations are visited. In reality, visiting a location often decreases the usefulness of visiting nearby locations. The diminishing returns in information through sampling nearby locations can be captured by submodular objective functions. Entropy of a subset of random vari- ables and mutual information between sensed and unsensed sampling locations are twoveryusefulsubmodularobjectivefunctions. Branchandboundisusedtochoose a maximum entropy subset of correlated random variables in [15]. Mutual infor- mation between sensed and unsensed locations is a submodular objective function that has been used for sensor placement (without path constraints) [16] [17]. These works take advantage of a greedy selection algorithm for maximizing a submodular, non-decreasing function from [18] that has a 1− 1 e approximation guarantee. 10 Combining the path constraint from [12] and [14] with a submodular objective function leads to the very difficult “submodular orienteering problem” (SOP). A log(OPT ) approximation algorithm for SOP is given in [19], but the algorithm does not run in polynomial time. It has a quasi-polynomial complexity which leads to long running times, especially for long paths. [20] and [21] consider informative path planning with a submodular objective function by using the recursive greedy approximation algorithm from [19]. To speed up their algorithm, they try a branch and bound approach, as well as spatial decomposition. They formulate the spatially decomposed problem as choosing a path over a set of “cells” which contain multiple sampling locations, and then choosing sampling locations within each cell without considering travel costs. In order to ensure that the spatially decomposed problem has a path of value as great as the optimal path in the original problem, they must extend the allowable path length to 2 √ 2B + 4L, where B is the length of an optimal solution in the original problem, and L is the width of the cells in the decomposition. The problem of spatiotemporal planning of a sequence of cycles was considered in [22] which described an algorithm for planning a sequence of paths, one for each timestep, all starting and ending at the same node (as in sensor network data gathering tours). It plans a number of paths, each of which considered time to be fixed. It requires that each path in the sequence start and end at the same node. 11 An algorithm for planning paths for multiple robots to do exploration and mapping of spatially clustered phenomena is presented in [23]. The problem is decomposed into two parts; first interesting/useful locations are chosen, and then an approxi- mation algorithm for the k-traveling salesman problem is used to plan the robot paths. The problem with decomposing the choice of sample locations from the path planning is that it ignores all of the useful measurements that are taken as the robot travels between locations. [24] and [25] describe an dynamic programming formula- tion of the informative path planning problem which allows trading off adaptivity withplanningoveralonghorizon. Whenplanninglongpaths, however, theproblem of choosing the optimal path remains exponential in complexity. 1.3 Related Problems Theproblemofroboticsearchiscloselyrelatedtoinformativepathplanning. When using a probabilistic model for the target, the the probability of detection can be submodular. The relationship between informative path planning and the robot search problem is discussed in [5] and [26]. They combine a finite horizon planner for a single robot with sequential allocation in the multiple robot case. Planning paths which minimize the uncertainty of robot pose instead of an external quantity is addressed in [6]. They describe a “belief roadmap” approach which builds upon the commonly used probabilistic roadmap approach from [27] and [7]. 12 In general, uncertainty in robot pose increases over time because of uncertainty in the motion model. Belief roadmaps handle this by planning paths which visit locations at which the robot’s sensors can see features in the environment that allow it to re-localize. The related problem of planning safe paths under the assumption that the robot’s sensor measurements will reduce localization error is addressed in [28]. Many variants of planning paths on graphs have been studied in the fields of op- erations research and algorithmic approximation theory. The traveling salesman problem (TSP) consists of finding the shortest path that visits all nodes in a graph, and has been the subject of extensive study [29] [30] [31] [32]. The related prob- lem of orienteering, or maximizing the sum of reward collected subject to a path length constraint, has also been the subject of a number of approximation algo- rithms [33] [34] [13]. The problem of maximizing or minimizing a general submodular function, possi- bly subject to constraints, has also received quite a bit of study. An overview of submodular optimization techniques, with a focus on minimization, is presented in [35]. Exact, polynomial time algorithms for submodular minimization [36] and symmetric submodular minimization [37] are known. A constant factor approxi- mation to maximization of a submodular function subject to a matroid constraint is given in [38]. 13 Partially observable Markov decision processes (POMDPs) are a commonly used framework for planning problems in which there is uncertainty both in the transi- tions between states and in the current state. For robot path planning, the states are often locations or poses of the robots, and so uncertainty in the state comes from imperfect localization. Uncertainty in state transitions can correspond to un- certainty in the motion model of the robot. In general, solving POMDPs exactly is extremely computationally difficult; a great deal of research has gone into heuristics for faster solvers [39]. 1.4 Marine Environmental Monitoring Although the algorithms we present can be used on any mobile robot, the examples in this document are motivated primarily by the problem of marine environmental monitoring. Autonomous underwater vehicles (AUVs) have been used for many years by the scientific community to study physical and biological processes in the ocean. Typically, the AUV is given a predefined path which they then execute, either sending back data as they go, or storing it for later retrieval. Our goal is to come up with algorithms that will allow AUVs to intelligently plan theirownpaths, adaptingtonewinformation, andtakingadvantageofprobabilistic models of ocean processes. Especially as robot systems become cheaper, autonomy will be a key tool in getting the most out of a large system of robots. We envision a 14 system where powerful computer systems on shore manage large systems of AUVs, each of which has enough onboard computation to allow short term autonomy 1.4.1 Gliders The autonomous underwater vehicles which have motivated us to look .at this problem are the Webb Slocum gliders [40], one of which is pictured in Fig. 1.2. The gliders are approximately 2 meters long, and move very slowly through the ocean by altering their buoyancy and gliding up and down on small wings. They use very little power and can be deployed continuously for up to a month at a time. Figure 1.2: The Slocum Glider, resting at the surface before diving. As part of USC CINAPS [41] we regularly deploy two of these gliders to do en- vironmental monitoring in the ocean off the coast of Southern California. We work together with marine biologists and oceanographers in an attempt to develop robotic systems which can assist them in their scientific goals. Among other things, the sensors on the glider can measure temperature and salinity. 15 1.4.2 Currents When working with a slow moving AUV, currents play an important role. A tra- jectory that has a relatively short euclidean distance could take a long time for the AUV to traverse if it is fighting the current. If the velocity of the current is greater than the maximum velocity of the AUV, then traversing the path may be impossible. Conversely, choosing paths that work with the current may make it possible to cover greater distances in shorter times. We get predicted currents from the regional oceanic modeling system (ROMS) [42]. This system takes as input a variety of different sources including remote sensing and in situ sampling, and uses a finite element model to provide estimated and predicted ocean currents, temperature, and salinity for each 2.2x2.2km section of the ocean. The system provides forecasts each 48 hour period, and has archived data for the past several years. We use currents to determine the costs of each edge in the graph. Because it is easier to travel with the current than against it, this results in a directed graph. Becausethecurrentschangeovertime, theedgeweightsofthegraphvaryovertime. To express this, we write the cost of an edge e at timet asc e (t). If an edge crosses several elements of the ROMS grid, then we sum the travel times over each segment to get c e (t). For this work, we assume that the speed of the AUV (independent of currents) is constant. This assumption is reasonable for an underwater glider, which we control by simply giving waypoints. 16 1.5 Path Planning Formalism 1.5.0.1 Representing Robot Motion as a Graph For the purposes of this thesis, we will be considering the discrete path planning problem. Given a graph G composed of vertices V = {v 1 ,v 2 ...,v n }, and edges E ={e 1 ,e 2, ...,e m }, we want to find a path P which is a sequence of edges which the robot will traverse. Each node in the graph represents a configuration of the robot. Although in some motion planning problems the configuration could include direction and velocity, that will not be true of the problems we are examining. Because of the size and speed of the robots we use in comparison with the scale of the areas in which they will be operating, we will treat the robot as a point in a two dimensional space, with an x and y coordinate. Each edge in the graph represents a possible motion that takes the robot to one configuration (position) to another. In some cases, there may be multiple edges between a pair of nodes. Although we could avoid this through the use of simple graph transformations, we find that allowing multiple edges between pairs of nodes lets us express real problems more clearly. Associated with each edgee i in the graph is a costC(e i ) which we will typically set to be the time required for the robot to traverse the edge. The cost (or “length”) of a path P is the sum of the costs of each edge in P, 17 C(P ) = X e∈P C(e) . Iftheedgecostsvarywithtime,thenwewritethecostedgee j attimeτ asC(e i ,τ). Calculating the length of a path in this case is straightforward; the pseudocode is given in Fig. 1.1. Algorithm 1.1 C(P,τ) c = 0 for each edge e in P do c =c +C(e,τ +c) end for return c In cases where the robot can travel at various different speeds, we simply add multiple edges between each pair of nodes, with one edge for each possible travel time. In IPP, we will be constraining our planner to find paths that have a cost less than some budget C(P )<B. 1.5.0.2 Extending Graphs to Include Samples Because we use the nodes in the graph to represent the spatial position of the robot, we need another way of representing samples. For this, we add a functionh(P ) (or h(P,τ) in the time-varying case as we will later see) which maps from a sequence of edges visited in the graph to the set of locations at which the robot will collect samples. The sensors that we use sample at a constant rate, and so they sample at predictable positions as the robot traverses an edge. Because of this, the set of 18 sample locations visited by a path is the union of the set of sample locations visited along each edge traversed in the path, h(P ) = [ e∈P h(e) For the case where we are monitoring a time-varying field and the time of the sample must be included in its location, this gets (only slightly) more complicated. The pseudocode for constructing the set of spatiotemporal measurement locations along a path is given in Fig. 1.2 Algorithm 1.2 h(P,τ) samples⇐{} for each edge e in P do samples⇐ samples∪h(e,τ) τ =τ +C(e,τ) end for return samples 1.6 Gaussian Process Modeling To do informative path planning, we need a model of the underlying field that we are monitoring. This model is what allows us to decide which samples would be most useful to take; in this case quantified by the mutual information of the unmeasured locations with respect to the measured locations. The contribution of this paper is about path planning rather than modeling, and we treat the model as 19 a black box which lets us calculate mutual information given some set of samples. For concreteness, we describe here the specific model that we use in our examples. We assume that the field exists in a D dimensional space, and takes a scalar value at each location in that space. AllD dimensions can be spatial, or one can be time. We model the possible values of the field as a multivariate Gaussian, where every location in the D dimensional space is a random variable. In reality, we only care about the values at a discrete set of locations, described by the set of all possible samples that the robot can take while moving on the graph G. We denote the locations of samples by X ={x 0 ,x 1 ,...,x n }, and the corresponding value of the scalar field at each of these locations is denoted by Y ={y 0, y 1 ,...,y n }. In order to calculate the mutual information of any two sets of samples, we need the covariance matrix of the prior distribution of the variables. We consider two cases: one where we have a large amount of past data for this field, and another where we do not. If large amounts of past data for the scalar field are available, then it is possible to use the empirical covariance of the data as the covariance matrix of the prior, as done in [8]. These data could come from remote sensing, from past robot deployments, or from a static sensor network. In the case where large amounts of past data are not available and the empirical covariance matrix cannot be calculated, a Gaussian process (GP) can be used [43]. First, a small amount of data are collected, typically by having the robot take a relatively small number of samples on a simple, preprogrammed path. These 20 samples are used to estimate the hyperparameters of the kernel function of the GP. The kernel function can then be used to create a kernel matrix, which is used in place of the empirical covariance. In our work, we often use the simple radial basis function (RBF) kernel k(x i ,x j ) =σ f exp(− kx i −x j k 2l 2 ), where l is a scaling parameter that controls how quickly variables lose correlation over distance. Roughly speaking, the hyper-parameter l describes how quickly the field de-correlates with distance. A large value for l means that even spatially dis- tant locations are quite correlated, whereas a small value forl means that variables are almost completely independent. When the correlation varies more in some di- mensions than other, individual scaling variables can be learned for each dimension k(x i ,x j ) =σ f exp (x i −x j ) T W (x i −x j ), whereW isadiagonalmatrixofhyperparameterswhichscaleeachdimension. With this kernel, the primary assumption about the underlying field is that the closer two locations are, the more similar their values are. A more complex kernel could be used, but as modeling is not the focus of this work, we restrict ourselves to these simple kernels. 21 The hyper-parameters are typically learned from previously collected data. For some simple toy examples, we will fix the hyper-parameters at various values to examine the affect of the kernel shape on the performance of our algorithms. In other cases, we will use a short, manually planned pilot run to learn the hyper- parameters. A characteristic of GP’s that is useful for IPP is that once the hyper-parameters havebeenfixedthekernelfunctiondependsonlyonthesamplelocationsX, andnot on the output variables Y. Because of this, it is possible to calculate the predicted variance of each of the variables given a set of sampled locations, before the samples are actually taken. Adopting notation similar to [43], for two subsets of sample locations A⊂ X and B⊂ X we will use K(A,B) to denote the matrix where element i,j is equal to k(a i, b j ). The ordering of elements within each set is chosen arbitrarily, as it will not affect the value of the objective function. Using this notation, we can calculate the posterior covariance matrix of all variablesX after taking a set of samplesA as Σ post =K(X,X)−K(X,A)[K(A,A) +σ n I] −1 K(A,X). (1.1) Where σ n is the measurement noise. The measurement noise depends on the type of sensor used, but is often much smaller than the variance of the field itself, and so makes a fairly small contribution. 22 1.7 Objective Functions for Sensor Placement In order to define an objective function that describes how “informative” the mea- surements taken by a vehicle are, we look to the extensive literature on sensor placement. One popular objective function for sensor placement algorithms is reduction in entropy, which is a measure of how “uncertain” a distribution over a set of random variables is [15]. Mutual information is commonly used because it is submodular [16] [44], but we will instead use the average reduction in variance. 1.7.1 Average Reduction in Variance Given a set of measurement locationsA, Eq. 1.1 calculates the covariance of the predictive distribution of the scalar field. Using this covariance matrix, there are a few quantities which describe different ways in which the prediction is “good”. The one which we use in this thesis is the average reduction in variance, defined as f ARV (A) = 1 N [sum(diag(K(X ∗ ,X ∗ )))−sum(diag(cov(f ∗ ))]. Here N is the number of locations in X ∗ . These are the locations at which we wish to predict the value of the scalar field. Any set of locations could be used - for instance an evenly spaced grid of locations over the area being considered. For 23 the results in this chapter we use the set of all locations at which the robot could possibly have taken measurements. Average reduction in variance is a very natural way to express how much more certainthepredictionsofthescalarfieldareafteraddingthemeasurementsthatthe robotwillcollectalongitspath. Itcanalsobethoughtofasthe“expectedreduction in mean square error”, which we compare in our results to the actual reduction in mean square error after collecting the measurements and making predictions. Average reduction in variance, or equivalently expected reduction in mean square error (EMSE), is monotonic [44], a quality which our branch and bound planner will use. In some casesf ARV (A) may also be submodular [45], which is required for optimality of the submodular orienteering algorithm we use for informative path planning. 1.8 Objective Functions for IPP When defining an informative path planning problem, we can use any of the sensor placement objective functions described in section 1.7, with one modification. The sensorplacementobjectivefunctionsaredefinedonsetsofsamplelocations,whereas IPP deals with choosing a path. To bridge the gap, we need a function that can take as an argument a path, and return the set of sample locations that the path includes. We write the modified objective function as 24 f(h(P )), where f(·) is the original sensor placement objective function, and h(P ) is the function which takes a path and returns the set of sample locations it includes. In the case of modeling a time-varying field, we write this as f(h(P,τ)), where the added parameterτ is the start time of the path, and is used to figure out what time each sample would be taken. The returned sample locations specify both the location and time of each sample that would be acquired. 1.9 Formal IPP Definition 1.9.1 Single Robot Informative Path Planning More formally, the single robot problem is to find a path P ∗ which maximizes the objective function, P ∗ = arg max P f(h(P )), (1.2) subject to: 25 • C(P )<B • startnode(P ) =v s • endnode(P ) =v e where: • f(·) is the objective function we wish to maximize, which takes a set of mea- surement locations and returns a scalar describing how “good” a set of mea- surements is expected to be. Average reduction in variance is one example of such a function. • h(P ) is a function which takes a robot path, and returns the setA of mea- surement locations which will be visited along the path. • C(P ) is the cost of the path, defined as the sum of the costs of each edge in the path: C(P ) = P e∈P C(e). • B is the maximum length of the path. The path length constraint may seem simple, but it results in a very difficult prob- lem. If we use a planner with a limited horizon, then there is always the risk that shortsighted choices will result in a highly informative location near the end of path being just out of reach. 26 1.9.2 Multiple Robot Informative Path Planning For the multiple robot case with m robots, we now havem different paths to plan. We define Q ={P 1 ,P 2 ...,P m } to be a set of paths, with one path for each robot. Now we can modify Eq. 1.2 for the multi-robot problem: Q ∗ = arg max P f(h(Q)), (1.3) where each path P j ⊂Q must satisfy: • C(P j )<B • startnode(P j ) =v s,j • endnode(P j ) =v e,j Herewehaveslightlyabusednotationbyusingh(Q)tomeanthesetofmeasurement locations visited by a set Q of robot paths, instead of the set of measurement locations visited by a single pathh(P ). The set of measurement locations achieved by a setQ of paths is the union of the set of measurements achieved by each robot path, h(Q) = [ P j ⊂Q h(P j ). For simplicity, we use the same budget for all robots. It would also be possible to have a different budget for each robot, depending on its range. 27 Chapter 2 Submodular Orienteering 2.1 Introduction Inthischapterweprovideanalgorithmthatcanhandlebothtime-varyingfieldsand edge-based samples. We give a rigorous mathematical description of the algorithm, and prove an approximation guarantee for it. We also give both quantitative and qualitative results for a realistic environmental monitoring dataset from a widely- used ocean modeling system. 2.2 Motivation and Background The algorithm described in [19], recursive greedy, is the only known logarithmic approximation to the global solution of the graph-based path planning problem with submodular objective functions. The logarithmic approximation guarantee for 28 the recursive greedy algorithm requires that the objective function be a submodular function of the set of nodes visited along the path of the robot. This works well for robotswhichtakesamplesonlywhentheystop, andforfieldswhichdonotvaryover time. In this paper, we extend the recursive greedy algorithm to handle submodular functions defined on the edges of the graph. This is important in settings where waypoints are optimized for a mobile robot that samples as it moves. We extend the recursive greedy algorithm to handle objective functions that vary in time, such as the case of a mobile robot doing informative path planning for a time-varying field. We prove that the resulting algorithm, generalized recursive greedy (GRG), still provides a logarithmic approximation approximation guarantee and evaluate our algorithm using data from a well-known ocean modeling system. 2.2.1 Time-varying Objective Functions An important class of objective functions is composed of functions which depend on the time at which each node is visited. This could be the case, for example, if the goal is to estimate a scalar field which changes with time. The value of taking a sample at a given location can then depend on the time at which it is taken. One approach to this problem is to expand the graph, making a copy of each node for each time at which it can be visited. For example, the top graph in Fig. 2.1 can be expanded into the graph shown below it. In the expanded graph, time progresses downward. A path planning algorithm can then be used on the expanded graph, 29 and the objective function can incorporate time by checking to see which copy of eachnodewasvisited. Unfortunately, thisapproachleadstoasignificantincreasein the number of nodes in the graph, which can lead to an unreasonable running time increase for algorithms such as recursive greedy. Instead, our algorithm does path planning on the original graph, but works with time-varying objective functions. t 1 t 2 t 3 Figure 2.1: How to convert a simple 3 node graph into a time expanded graph which has copies of each node for each of 3 discrete timesteps. Allowing time varying objective functions is particularly important for long paths, or planning for multiple robots. If it is possible to traverse the area of interest several times, it becomes important to space out readings of nearby locations over time. Theoriginalrecursivegreedyalgorithmmakesnosuchdistinction,andassigns the same value to measuring a location several times in quick succession as it does to making measurements of that location spaced out over time. Our algorithm allows the objective function to give the highest values to paths that sample the area of interest most effectively in both time and space, as quantified by mutual information. 30 2.2.2 Edge-based Samples Another important class of objective function is composed of functions which de- pend on the edges traversed, instead of (or in addition to) the nodes visited. This is true for sensors that sample continuously as the robot moves, which is true of a great many sensors. In such cases, the samples taken may be much closer together than waypoints in the path planning graph. The graph in Fig. 2.2 gives an example of such a case, with the three samples taken along each edge marked by stars. Figure 2.2: A graph with 3 nodes, and 3 sample points along each edge. These are locations at which a robot traversing that edge of the graph would take sensor measurements. 2.3 Algorithm 2.3.1 Overview The original recursive greedy algorithm [19] provides an approximate solution to the submodular orienteering problem. This is the problem of finding a path from a nodes to a nodet in a graphG which maximizes a submodular functionf(V (P )) of the nodes visited by the path. The recursive greedy algorithm works by recursively 31 optimizing the gain obtained by adding a new partial path to the current set. At each level of recursion, all possible middle nodes for the path are tried, as are all possible ways to split the budget between the halves of the path. For each of these possibilities, the algorithm calls itself recursively to find the best path for the first half, then fixes that half and solves for the best path for the second half. Becauseoftherecursivewayinwhichitworks, recursivegreedyhasanO((2nB) i T f ) running time, wheren is the number of nodes in the graph,B is the maximum cost of the path,i is a maximum recursion depth chosen to be at least 1+dlogke, where k is the number of nodes in the optimal path, and T f is the maximum running time of the objective function. This running time, while sub-exponential, is still extremely sensitive to the number of nodes in the graph, and to the length of the path. The reason that recursive greedy is attractive for IPP is that it provides an log-factor approximation guarantee for the solution it finds. We describe this more in Sec. 2.3.6. At each step, recursive greedy keeps track of the nodes visited by parts of the path it has committed to, expressed by the function: f X (P ) =f(V (P )∪X)−f(X), (2.1) 32 where V (P ) is the set of vertices that make up the path P, and X is the set of samples which have already been taken. In order to capture the starting time τ, we generalize this to f X (P,τ) =f(h(P,τ)∪X)−f(X) (2.2) where we have replaced V (P ) with h(P,τ), a function which takes a path P and a starting time τ, and returns the set of samples that the robot would take. In the simplest case, we could choose h(P,τ) = V (P ), in which case we get the original recursive greedy algorithm. By using other functions for h(P,τ), however, the algorithm can handle the time-varying and edge-based cases. We are able to prove that as long as h(P,τ) satisfies a simple property (described next), the approximation guarantee of recursive greedy still holds. 2.3.2 Requirements on h(P,τ) For a path P 1 that starts at time τ 1 and has length τ 2 −τ 1 , and a path P 2 which starts at the end node of P 1 at time τ 2 , we require that h(P 1 ·P 2 ,τ 1 ) =h(P 1 ,τ 1 )∪h(P 2 ,τ 2 ), (2.3) 33 where P 1 ·P 2 is the concatenation of paths P 1 and P 2 . This assumption is all that we need to preserve the approximation guarantee of the original recursive greedy algorithm. 2.3.3 How h(P,τ) Expresses the Edge-based Sample Case As the robot moves, the path P consists not only the set of nodes visited, but also the order in which they were visited. Because of this, the set of edges visited is known, and it is simple to construct a function h(P,τ) which takes a path and returns the sample points which would be obtained along the edges. In this case, τ is not needed and can be ignored. If we split the path of the robot into two parts, P 1 and P 2 , the robot first takes the samples it would get as it traveled along the edges of P 1 , and then collects the samples that it would get as it traveled along the edges of P 2 . Because of this, Eq. 2.3 is trivially satisfied. The recursive greedy algorithm assumes that the set of samples on which the ob- jective function depends is the same as the set of nodes that the robot visits in the planning graph. If we wanted, we could add every sample location as a separate node in the planning graph, and do planning over this more complex graph. Unfortunately, the computational complexity of the recursive greedy algorithm de- pends strongly on the number of nodes in the graph, and in this case it would 34 quickly become intractable. Instead, we present a method which does path plan- ning on the original graph, but computes the objective function over the set of samples that the robot would collect as it moved along each edge of its path. We show that the original approximation guarantee (see Thm. 1.) holds. 2.3.4 How h(P,τ) Expresses the Time-varying Case To handle this case without increasing the computational complexity of the algo- rithm, we need to make the assumption that the edge costs in the graphG represent the time required to move from one node to the other. Once we make this assumption, given that we know the start time, τ, of the path, it is possible to calculate the time at which each node in the path will be visited. h(P,τ) returns a set of (node, time) pairs such that the objective function can depend on the time at which each node is visited. As in the edge-based case, if we split the path into two parts P 1 and P 2 , the robot first collects the samples h(P 1 ,τ 1 ) as it travels along P 1 , and then collects the samples h(P 2 ,τ 2 ) as it travels along P 2 . Here τ 1 is the starting time of P 1 , and τ 2 is the starting time of P 2 , as required by Eq. 2.3. We could use recursive greedy to find the optimal path in the time-expanded graph from Fig. 2.1, which would allow the value of our objective function to depend on the time at which the robot visited each node. The problem with this approach, as with using an expanded graph in the edge-based case, is that it greatly increases 35 the number of nodes, which makes the running time much worse. If for every node we create B copies (for the B timesteps that the path will take), then the running time of recursive-greedy increases from O((2nB) i T f ) to O((2nB 2 ) i T f ). In our experience, this leads to impractically long running times in practice. Instead, we are able to do planning over the original graph, but map from the path in the original graph to a set of samples which are taken at a given time. 2.3.5 Pseudocode In Algorithm 2.1, we give the pseudocode for the modified algorithm (GRG). In addition to using our modified f X , the algorithm keeps track of the start and end times of the paths as it recurses, similar to the algorithm for recursive greedy with time windows in [19]. At each step, the algorithm looks for a path from node s to nodet, starting at timeτ start and ending at timeτ end , to augment the set of samples X that have already been taken. The parameter i keeps track of the depth of the recursion, so that the algorithm knows when to terminate. It tries every possible middle nodev, and every possible middle timeτ, and recurses to find the best first half and second half paths. Before evaluating the objective function, it applies a function h(P,τ)must be submodular in the samples taken by the robot, and the samples obtained are allowed to depend on the time at which the robot visits each location. 36 Algorithm 2.1 GRG(s,t,τ start ,τ end ,X,i) if l(s,t,τ start )>τ end −τ start then return Infeasible P⇐s,t if i = 0 then return P m⇐−∞ for v∈V do for τ start ≤τ≤τ end do P 1 ⇐ GRG(s,v,τ start ,τ,X,i− 1) P 2 ⇐ GRG(v,t,τ,τ end ,X∪h(P 1 ,τ start ),i− 1) if f X (P 1 ·P 2 ,τ start )>m then P⇐P 1 ·P 2 m⇐f X (P,τ start ) end if end for end for return P 2.3.6 Approximation Guarantee For monotonic, submodular set functions, recursive greedy is guaranteed to find a path whose objective value is at most logarithmically (in the number of nodes in the path) worse than the optimal path. More formally, it will always return a solution P such that f X (P )≥ f X (P ∗ ) d1+logke , where P ∗ is the optimal solution [19]. Although we allow more general objective functions than in [19], the same approx- imation guarantee holds. This is very important, because global approximation guarantees are generally difficult to obtain for path planning with non-trivial ob- jective functions. 37 Theorem 1 For any objective function of the form f(h(P,τ)) where f(·) is a monotonic submodular set function and h(P,τ) satisfies Eq. 2.3, generalized re- cursive greedy returns a solution P such thatf X (P,τ)≥ f X (P ∗ ,τ) d1+logke , where P ∗ is the optimal solution. A proof of this theorem is given in the appendix. 2.3.7 Running Time Because the recursion of the algorithm works on the original graphG, and does not depend on the function h(·), the running time is O((2nB) i T f ), as in the original algorithm. Although we treat the function f(A) as a black box, it should be noted that typically the running time T f of f(h(P )) will be longer if h(P ) returns more samples. Forthevariancereductionobjectivefunctionwhichweuse, theasymptotic running time is dominated by the Cholesky decomposition needed to calculate the posterior distribution. The Cholesky decomposition runs in O(n 3 s ), wheren s is the total number of possible samples. This brings the total running time of GRG to O((2nB) i n 3 s ). For the original recursive greedy algorithm, n s = n, because the samples and the nodes in the graph are the same. For choices of h(P,τ) which return more samples, there will be an increase in the running time, but it will be only a polynomial increase. 38 2.3.8 Equilateral Graphs As a side note, we mention that using graphs where all edges are of equal length leads to an additional speed up for both recursive greedy and for GRG. By applying a simple scaling factor, we can set all edge costs to be one. At each step of the recursive-greedy algorithm, all possible middle vertices and all possible allocations of B between the first and second half are tried. In the case where all edges have length one, we know that the length of the first half of the path isdk/2e and the length of the second half of the path is B−dk/2e. Because of this it is not necessary to try all possible values for the split at each step, significantly improving the running time. Instead of a running time ofO((2nB) i T f ) we now have O((2n) i T f ), which is a significant improvement for large values of B (long paths). We could get additional (non-asymptotic) speedups by employing the branch and bound techniques used in [21] It does not always make sense to use a graph in which all edges are of the same length. In cases where the mobility of the robot is approximately the same in all areas being considered, this is a good approximation. In cases where the mobility varies quite a bit over the area, it is a poor approximation and will result in paths with lengths that do not accurately represent the amount of time or power that are required to complete them. In the aquatic case, this approximation may be reasonable for an AUV which moves much faster than the current, but quite poor 39 for slower AUVs in areas with strong currents. For a ground robot, the assump- tion would be good for cases where the terrain does not vary much in terms of navigability. Although using graphs with equal length edges provides some advantages and we use it for the results in this chapter, nothing in our algorithm requires such a graph. The GRG algorithm that we have presented and the accompanying approximation guarantee apply to general graphs. 2.4 Results The are many instance of informative path planning problems, each with different characteristics. Graphs can have different structure, different objective functions andunderlyingprobabilisticmodelscanbeused, andthetimebudgetcanbevaried. We have chosen three problems, each with different properties, to examine the performance of our algorithm. The first problem uses a triangular grid based graph, and a simple GP with fixed hyper-parameters. The second problem has a similar graph, but a much more complex Gaussian model using an empirical covariance matrixcalculatedfromsimulatedoceantemperaturedata. Thethirdproblemagain uses a simple GP, this time to model wireless signal strength on the surface of a lake. We learn the hyper-parameters from an initial run, and then later collect data 40 along all edges in the graph to test the actual variance reduction achieved when real samples are taken along the path chosen by our algorithm. 2.4.1 Finite Horizon Planning For comparison, we have implemented a simple brute force planner with limited horizon. This planner works by trying all plans out to the fixed horizon, and choosing the best one. Then it fixes the first step of the planned path, and plans a newpathstartingatthenextnode. Whenaninfinitehorizonisused, thisalgorithm reduces to pure brute force search of all possible paths and will find the optimal solution. Whenahorizonofoneisused, thealgorithmbecomepurelygreedy, always choosing the next node which provides the most immediate gain in the objective function. As the horizon is increased, the running time of this planner increases exponentially. Although intuition would suggest that increasing the horizon of this planner will result in finding a better path, this is not always true. Paths which look good over a slightlylongerhorizonmayprovetobeworseoveranevenlongerhorizon. Unlessan infinite horizon is used, the exact objective value achieved by the planner depends somewhat on luck. Unfortunately, even for the simple graphs in our examples, using an infinite horizon would require an infeasible amount of computation time. Still, we find it useful to plan paths using multiple different horizons, to provide multiple different plans which we can compare against the solution found by GRG. 41 2.4.2 Simple Example We first test the algorithm on one of the simplest possible cases; a stationary GP with a simple covariance function. The graph used is shown in Fig. 2.3. We use a radial basis function (RBF) kernel with one scaling parameter. All edges are undirected and of unit length. This example assumes that the robot takes measurements along the graph edges as it moves, bu that the field it is monitoring does not vary significantly over time. The locations at which the robot would sample as it travels along each edge are marked by red triangles. Because we can take advantage of the ability of GRG to handle edge-based samples, the running time does not depend on the number of samples on each edge (except when adding samples causes the objective function itself to be harder compute). Figure 2.3: Graph used as an example problem. There are 33 nodes (blue circles) connected by undirected edges. Sample positions along each edge are marked by red triangles. 42 Figure 2.4: Path produced by GRG algorithm. The path starts and ends at the bottom left node. Colors only to make it easier to follow the path as it crosses itself. The path chosen by GRG is shown in Fig. 2.4. Because it plans ahead, it is able to choose a nicely spaced out path while observing the budget constraint. In contrast, the path chosen by a purely greedy algorithm (a planner that looks one step ahead and greedily chooses the edge which gives the most gain) is shown in Fig. 2.5. It quickly moves to the middle of the graph, and ends up not having enough budget remaining to space out the rest of the path. A purely greedy planner is fairly naive, so we have also implemented a brute force planner for longer horizons. A brute force planner with a horizon plans head a fixed number of steps, and picks the best path for those steps. Then it adds the first edge to its solution path, and replans. The expected mean square error achieved by GRG is compared to brute force planners with various horizons in Fig. 2.6. GRG 43 Figure 2.5: Path produced by brute force planner with a horizon of one (greedy). The path starts and ends at the bottom left node. Colors added only to make it easier to follow the path as it crosses itself. outperforms the finite horizon approach even up to a horizon of 6. It may seem somewhat counterintuitive that the performance does not strictly improve as the horizon increases, this does sometimes happen. Looking slightly further ahead can cause the algorithm to make a choice which is actually worse. The computation times for both GRG and the brute force method with various horizons is shown in Fig. 2.7. These results are given as the runtime, in seconds, for an unoptimized python implementation on a standard PC. As expected, brute force with a horizon of one (pure greedy) is by far the fastest. As the horizon is increased, the runtime of brute force increases exponentially, and running it with a horizon of 6 takes longer than GRG. Looking back at Fig. 2.6, we can see that even though brute force with a horizon of 6 takes longer to compute than GRG, it 44 GRG BF horizon=1 BF horizon=2 BF horizon=3 BF horizon=4 BF horizon=5 BF horizon=6 0.0 0.5 1.0 1.5 2.0 2.5 Expected MSE (% of initial EMSE) Figure 2.6: Expected mean square error (EMSE) values for the the paths produced by GRG, and for brute force (BF) planning with various horizons. Lower EMSE values are better. does not achieve as low of an EMSE. The running times and EMSE values achieved will depend on the graph and objective function of each specific problem, but the general takeaway is that the choice of algorithm will depend on the importance of finding a path that is close to optimal versus the amount of time and computation power available. 2.4.3 ROMS Simulated Dataset Results The problem examined in section 2.4.2 was chosen for its simplicity, and used a simple GP kernel. In such a case, informative path planning is basically a cover- age problem, since the correlation between samples depends only on the distance 45 GRG BF horizon=1 BF horizon=2 BF horizon=3 BF horizon=4 BF horizon=5 BF horizon=6 0 200 400 600 800 1000 1200 1400 1600 Runtime (seconds) Figure 2.7: Runtimes in seconds for GRG and for brute force (BF) planning with various horizons. Tests were done on using single threaded implementations in python on a Pentium core i5 processor. between them. Informative path planning becomes truly interesting when we have a complicated and non-stationary kernel function. To show this, we have created a simulated dataset using data from the Regional Ocean Modeling System (ROMS) [42], [46]. This system uses a computational model of the ocean combined with sensor inputs from ocean current sensors and remote sensing to predict currents, temperature, and salinity for the area of the Pacific ocean off of the Southern California coast. ROMS provides predicted cur- rent, temperature, and salinity values for each 2.2 x 2.2km patch of the ocean, at various depths, for each hour. ROMS calculations are released each day at 13:00 GMT, and provide predictions for the next 72 hours. 46 For this problem we choose water temperature as our quantity of interest. We will be planning a path for an AUV that has a time budget of 48 hours. Because the water temperature varies significantly over this length of time, we explicitly model change over time in our Gaussian process. Figure 2.8: The region (marked in yellow) chosen for the simulated dataset. The area we chose for this dataset, shown in yellow in Fig. 2.8, is just off of the Northern tip of Santa Catalina island. A rectangular “region of interest” was chosen, defined by the latitude, longitude of the corners. For this experiment, we planned on a 2D plane, the slice of ocean at a depth of 35 meters. To define our informative path planning problem, we construct the graph shown in Fig. 2.9 over the region of interest. Here we have overlaid the graph on a snapshot of the temperatures in the region at one instant in time. We have constructed the graph for a hypothetical AUV that moves at a velocity of 1 km/hr (currents are ignored). Each edge in the graph is 3 km long, and so has a cost of 3 hours. For the 47 0 5000 10000 15000 Distance East (meters) 0 2000 4000 6000 8000 10000 Distance North (meters) Figure 2.9: Graph used for the results in section 2.4.3, overlaid on a snapshot from one moment in time of the temperatures in the simulated dataset. results in this section, we give the AUV a time budget of 48 hours, which allows it to traverse 16 edges in the graph. We assume that the robot samples at the nodes, and once as it traverses an edge. Now that we have defined the locations (both spatial and temporal) of all possible samples that the robot can take, we use ROMS data from 50 consecutive days was used to calculate the empirical covariance of all of the possible sample points. We then calculate the empirical covariance of the temperature predictions. A plot of thecalculatedcovariancebetweenoneexamplepointinthemiddleoftheregionand all other points at each time can be seen in Fig. 2.10. Interestingly, the correlation shows a periodic trend with time. The path chosen by GRG for the ROMS simulated dataset is shown in Fig. 2.11. Interestingly, it does not appear to achieve good spatial coverage as did the solution 48 Hour 0 Hour 6 Hour 12 Hour 18 Hour 24 Hour 30 Hour 36 Hour 42 0.72 0.76 0.80 0.84 0.88 0.92 0.96 1.00 Figure 2.10: Correlations shown between a one reference point and all other way- points and the intermediate sample points on the edges. The reference point is marked with an ’x’ (at hour 24). Red indicates points that are highly correlated with the reference point, and blue indicates points which are less correlated. to the simple problem in section 2.4.2. We attribute this to the varying correlations over time. As we can see in Fig. 2.12, GRG achieves better EMSE than a brute force planner, even when the planning horizon is extended to 6 steps. Runtimes of the algorithms are shown in Fig. 2.13. For horizon lengths greater than 5, brute force planning takes significantly longer than GRG. 49 0 0 1 1 1 1 2 2 2 2 3 3 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 6 7 7 7 8 8 8 8 8 8 9 9 9 9 9 9 10 10 10 11 11 11 11 11 12 12 12 12 12 12 13 13 13 13 13 14 14 14 15 15 15 15 15 15 16 16 16 16 16 16 17 17 17 18 18 18 18 18 19 19 19 19 19 19 20 20 20 20 20 21 21 22 22 22 22 23 23 23 23 24 24 Figure 2.11: Path produced by GRG algorithm on the ROMS simulated dataset. The path starts and ends at the bottom left node. Colors added only to make it easier to follow the path as it crosses itself. 2.4.4 Field Results Thetwopreviousexampleproblemswehavepresentedsofarshowonlytheexpected reduction in mean square error, given the model. Due to unmodeled effects and stochasticity, expected mean square error (EMSE) may not correspond perfectly to mean square error (MSE) once real measurements have been taken and used to make predictions. To examine this, we deployed the autonomous surface vehicle (ASV) shown in Fig. 2.14b at a lake in Southern California. More information on the hardware of the platform can be found in [1]. An overhead view of the experiment location can is given in Fig. 2.14a. Because of the relatively small scale of the area we are operating in (~200 by ~300 meters), the quantities which the aquatic sensors on the boat can measure do not appear to 50 GRG BF horizon=1 BF horizon=2 BF horizon=3 BF horizon=4 BF horizon=5 BF horizon=6 0.00 0.02 0.04 0.06 0.08 0.10 0.12 Expected MSE (% of initial EMSE) Figure 2.12: Expected mean square error (EMSE) values for the ROMS simulated dataset. Shows EMSE for the paths produced by GRG, and for brute force (BF) planning with various horizons. Lower EMSE values are better. vary significantly. Instead, we build a GP model of the wifi signal strength from the wireless router which we use to communicate with the boat. A grid shaped waypoint graph is constructed over the region in which the boat can safely operate. Ignoring a scaling factor, we assume all edges a traversal cost of one. Using a short initial run, hyperparameters are learned for an isotropic, stationary GP with an RBF kernel. Then, using this kernel, paths are planned to minimize EMSE. We have run our algorithm for two cases: one where the robot must start and finish its path at the lower middle node, and one where it must start and finish its path at the top left node. It is desirable for the start and end waypoints to be the same because it is easiest to deploy and retrieve the vehicle at the same location on the shore. 51 GRG BF horizon=1 BF horizon=2 BF horizon=3 BF horizon=4 BF horizon=5 BF horizon=6 0 1000 2000 3000 4000 5000 6000 7000 Runtime (seconds) Figure 2.13: Runtimes in seconds for GRG and for bruteforce (BF) planning with various horizons on the ROMS simulated dataset. Tests were done using single threaded implementations in python on an Intel core i5 processor. The EMSE values achieved by each of the path planners for the lake signal strength dataset is shown in Fig. 2.15. GRG achieves similar or lower lower expected mean square error values than the the finite horizon planners. Some of the finite horizon planners are able to stumble upon good solutions due to the simplicity of the graph, but none perform significantly better than GRG. It is interesting to note that increasing the horizon of the brute force planner does not always improve the resulting path. Although this is counterintuitive, it does happen. Looking further ahead can cause the planner to choose a path which appears better, but turns out to be worse over an even longer horizon. The only guarantee is that with a full horizon, the brute force algorithm will find an optimal path. Unfortunately this requires an impractical amount of computation time. 52 0 100 200 300 400 500 600 Distance East (meters) 0 100 200 300 400 500 Distance North (meters) (a) (b) Figure 2.14: (a) Waypoint graph overlaid on an overhead view of the location for the field experiment. The location of the wireless router is marked by a red ’x’. (b) ASVusedtocollectwirelesssignalstrengthdataforsection2.4.4. Moreinformation about the platform can be found in [1]. To evaluate the prediction accuracy that would be achieved after collecting mea- surements along the planned path and making predictions, the ASV was used to collect wireless signal strength data along all edges on the graph (shown in Fig. 2.16). We then used the data which would be collected along each planned path to predict the values of the signal strength measurements taken along all of the edges. The resulting mean square error values are shown in Fig. 2.17a. The mean square errors are considerable higher than the corresponding EMSE, partly attributable to the fact that we are using a GP with a simple covariance function which is far from a perfect model of signal strength. Still, the results seem to show that the path produced by GRG is reasonable. 53 GRG BF horizon=1 BF horizon=2 BF horizon=3 BF horizon=4 BF horizon=5 BF horizon=6 BF horizon=7 BF horizon=8 BF horizon=9 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 Expected MSE (% of initial EMSE) (a) GRG BF horizon=1 BF horizon=2 BF horizon=3 BF horizon=4 BF horizon=5 BF horizon=6 BF horizon=7 BF horizon=8 BF horizon=9 0.0 0.5 1.0 1.5 2.0 2.5 3.0 Expected MSE (% of initial EMSE) (b) Figure 2.15: Expected mean square error (EMSE) values achieved by the path planning algorithms for the lake wireless signal strength experiment. Plot (a) shows the results when planning paths that start and end at the bottom middle node, and plot (b) shows the results when planning paths that start and end at the top left node. Lower EMSE values are better. Looking at the algorithm runtimes in Fig. 2.18a we can see that running the brute force planner with a horizon longer than 8 steps takes significantly longer than running GRG. Due to the shape of the graph (two main areas connected by a narrow strip), a finite horizon planner starting at one end might not see far enough ahead to know to save enough time to explore the other region sufficiently. 2.4.5 Discussion of Results The results from these three example problems show that there are cases where GRG provides a good balance between computational efficiency and solution qual- ity. Given a particular spatiotemporal monitoring problem, a number of factors will 54 0 100 200 300 400 500 600 Distance East (meters) 0 100 200 300 400 500 Distance North (meters) 88 84 80 76 72 68 64 60 56 Figure 2.16: Wireless signal strength data (in db) collected to evaluate the perfor- mance of the planners. The location of the base station is marked near the bottom with a red ’X’. Because of wind, the ASV does not perfectly track the edges of the graph. determine the choice of algorithm. For extremely small graphs, or when computa- tion time is not an issue, brute force could be used to find the optimal path. For large graphs, or when computation is extremely limited, a heuristic solution such as the greedy algorithm may provide a “good enough” solution. For in-between cases, GRG may be the best choice. An important characteristic of the spatiotemporal monitoring problem is that the monitoring path chosen for the robot depends on the model chosen for the under- lying phenomenon. In section 2.4.4, we saw that even though GRG chose paths which the GP model predicted would result in low EMSE, the true MSE is still unexpectedly high. This seems to be due mostly to the aspects of the phenom- ena being measured (wireless signal strength) that cannot be adequately handled 55 GRG BF horizon=1 BF horizon=2 BF horizon=3 BF horizon=4 BF horizon=5 BF horizon=6 BF horizon=7 BF horizon=8 BF horizon=9 0 2 4 6 8 10 Expected MSE (% of initial EMSE) (a) GRG BF horizon=1 BF horizon=2 BF horizon=3 BF horizon=4 BF horizon=5 BF horizon=6 BF horizon=7 BF horizon=8 BF horizon=9 0 1 2 3 4 5 6 7 8 9 Expected MSE (% of initial EMSE) (b) Figure 2.17: Actual mean square error (MSE) values achieved by the path planning algorithms for the lake wireless signal strength experiment. Plot (a) shows the results when planning paths that start and end at the bottom middle node, and plot (b) shows the results when planning paths that start and end at the top left node. Lower EMSE values are better. by the simple GP model used. For this work we are interested in analyzing the path planning algorithm, and so we accept this drawback. In the future, however, we are interested in finding more realistic domain specific models, and testing our algorithm on them. 2.5 Conclusion Submodular objective functions are powerful enough to express realistic notions of sensing quality (such as mutual information), but still allow for an approximate path planning algorithm that runs in sub-exponential time. Previous works have used the recursive greedy submodular orienteering approximation algorithm to do path planning, but were limited to objective functions that are submodular in the 56 GRG BF horizon=1 BF horizon=2 BF horizon=3 BF horizon=4 BF horizon=5 BF horizon=6 BF horizon=7 BF horizon=8 BF horizon=9 0 100 200 300 400 500 Runtime (seconds) (a) GRG BF horizon=1 BF horizon=2 BF horizon=3 BF horizon=4 BF horizon=5 BF horizon=6 BF horizon=7 BF horizon=8 BF horizon=9 0 50 100 150 200 250 300 350 Runtime (seconds) (b) Figure 2.18: Runtimes in seconds for GRG and for bruteforce (BF) planning with various horizons for the lake signal strength experiment. Plot (a) shows the results when planning paths that start and end at the bottom middle node, and plot (b) shows the results when planning paths that start and end at the top left node. Tests were done using single threaded implementations in python on an Intel core i5 processor. set of nodes visited. As we have shown, this can be a very limiting assumption, and rules out two very important cases; the edge-based samples and time-varying models, respectively. We have presented a method, generalized recursive greedy, which incorporates more general objective functions, that are submodular not in the set of vertices visited, but in the set of samples which will be taken as the robot traverses the path. Using these objective functions, we have shown how to do path planning for the time-varying case, and for the case in which samples are taken along the edges of the graph as the robot moves. In addition, we have provided a proof that the original approximation guarantee holds. 57 Although we have focused on the provable approximation guarantee in this work, there are many other promising directions for path planning using submodular objective functions. In the future, we plan to use the method for multiple robot path planning. Allowing the objective function to take into account the time at which the samples are taken should make it possible to plan multi-robot paths that obtain good coverage in both time and space. We also plan to address ways of speeding up the path planning, so that it can be used on larger graphs. 2.6 Proof of approximation guarantee This proof closely follows the one in [19], but has been modified to include the function h(P,τ). Like the original proof, it works by induction on k, the length of an optimal path. We keep most of the notation the same; the important difference is that we redefined f X in Eq. 2.2, and have modified the proof to account for the new, more general definition. A few words on notation: P ∗ is the optimal path. P ∗ 1 and P ∗ 2 are the first and second halves of the optimal path, respectively. P 1 starts at time τ 1 , and P 2 starts at time τ 2 . P 1 and P 2 are the first and second halves of the path that recursive greedy chooses, respectively. Because the algorithm tries every possible middle node and every possible middle time at each step when it splits the path, we can 58 always choose a P 1 which starts and ends at the same nodes and at the same time as P ∗ 1 . The same is true for P 2 . The base case, when k = 1, is simply P = (s,t). In this case, the algorithm tries the path (s,t) and so f X (P,τ) =f X (P ∗ ,τ). By induction, we are able to assume f X (P 1 ,τ 1 )≥ 1 dlogke f X (P ∗ 1 ,τ 1 ) (2.4) f X 0(P 2 ,τ 2 )≥ 1 dlogke f X 0(P ∗ 2 ,τ 2 ) (2.5) where X 0 =X∪h(P 1 ,τ 1 ). Now in the inductive step, we must show that when we join these two paths together into a longer path, the approximation guarantee is preserved. 59 f X 0(P ∗ 2 ,τ 2 ) =f(h(P ∗ 2 ,τ 2 )∪ (h(P 1 ,τ 1 )∪X)) −f(h(P 1 ,τ 1 )∪X) (2.6) =f(h(P 1 ·P ∗ 2 ,τ 1 )∪X)−f(h(P 1 ,τ 1 )∪X) (2.7) =f X (P 1 ·P ∗ 2 ,τ 1 ) +f(X) − (f X (P 1 ,τ 1 ) +f(X)) (2.8) =f X (P 1 ·P ∗ 2 ,τ 1 )−f X (P 1 ,τ 1 ) (2.9) This is true because we know from Eq. 2.3 thath(P 1 ,τ 1 )∪h(P ∗ 2 ,τ 2 ) =h(P 1 ·P ∗ 2 ,τ 1 ). Substituting this back into Eq. 2.5 gives f X 0(P 2 ,τ 2 ) ≥ 1 dlogke (f X (P 1 ·P ∗ 2 ,τ 1 )−f X (P 1 ,τ 1 )) (2.10) ≥ 1 dlogke (f X (P ∗ 2 ,τ 2 )−f X (P,τ 1 )) (2.11) This is because of the monotonicity of f(·). Specifically, 60 f X (P 1 ·P ∗ 2 ,τ 1 )−f X (P 1 ,τ 1 ) =f(h(P 1 ·P ∗ 2 ,τ 1 )∪X)−f(X) − (f(h(P 1 ,τ 1 )∪X)−f(X)) (2.12) ≥f(h(P ∗ 2 ,τ 2 )∪X)−f(X) − (f(h(P,τ 1 )∪X)−f(X)) (2.13) =f X (P ∗ 2 ,τ 2 )−f X (P,τ 1 ) (2.14) We are able to go from Eq. 2.12 to Eq. 2.13 because f(·) is monotonic, and we know from Eq. 2.3 that h(P ∗ 2 ,τ 2 )⊂h(P 1 ·P ∗ 2 ,τ 1 ), h(P,τ 1 )⊃h(P 1 ,τ 1 ). Adding Eq. 2.4 and Eq. 2.11 gives f X (P 1 ,τ 1 ) +f X 0(P 2 ,τ 2 ) ≥ 1 dlogke (f X (P ∗ 1 ,τ 1 ) +f X (P ∗ 2 ,τ 2 )−f X (P,τ 1 )) (2.15) f X (P,τ 1 )≥ 1 dlogke (f X (P ∗ ,τ 1 )−f X (P,τ 1 )) (2.16) Becauseofsubmodularity. Specifically,weusethefactthatf X (P ∗ 1 ,τ 1 )+f X (P ∗ 2 ,τ 2 )≥ f X (P ∗ ,τ 1 ). 61 Finally, we rearrange terms in Eq. 2.16 to complete the inductive step of the proof. f X (P,τ 1 )≥ 1 1 +dlogke f X (P ∗ ,τ 1 ) (2.17) 62 Chapter 3 Branch and Bound 3.1 Introduction In this chapter we present a branch and bound algorithm for finding the optimal solution to the single robot informative path planning problem. The only require- ment on the objective function is that it be monotonic; in other words taking more measurements must always help you. The algorithm we present is an extension of feature selection methods, but with an added path length constraint. As with the submodular orienteering case, adding a path length constraint makes the problem considerably more challenging. Thefeatureselectionproblemissimilartosensorplacement, butinsteadofchoosing a subset of possible sensor locations, the goal is to choose the best subset of features from some larger set in order to maximize an objective function of the chosen subset. For monotonic objective functions, branch and bound methods have been 63 used extensively; for instance the work of Narendra and Fukunaga [47], and the efficiency optimizations of Somol et al. [48]. One advantage to the branch and bound approaches which use monotonicity over the sensor placement algorithms which use submodularity is that monotonicity is a looser restriction on the objective function. Monotonicity requires only that adding additional elements to the chosen set will never decrease the objective value for that set. In the context of choosing where to take sensor measurements, this translates to “more measurements are always good”. The objective function which we use in this chapter, average reduction in variance, is monotonic but not necessarily submodular. For this reason, we have pursued a branch and bound approach, which is guaranteed to find the optimal solution in the single robot case. After presenting an optimal branch and bound algorithm for the single robot case, we discuss and show preliminary results for a (sub-optimal) multi robot version of the algorithm. 3.2 The Single Robot Algorithm The pseudocode for our planner is given in algorithm 3.1. The algorithm works recursively to find a path from node v s to node v e , subject to a maximum budget B. The argument P is the path which has been planned so far. X pilot is the set of measurements which have been taken before running the planner (for example by 64 any static sensors already in place). We use L(v i ,v j ) to denote the length of the shortest path between two nodes. P ∗ and m ∗ are the best path seen so far and its objective value, and are global variables. After the algorithm runs, P ∗ will be the optimal path. In algorithm 3.1, on line 9, a recursive call is made for each outgoing edge from the current node, to plan the remaining path. This is just a recursive brute force search, looking for the best possible path. On line 8, the algorithm checks the upper bound. If the upper bound for the sub-path that has been planned so far is lower than a previously found solution (found on some other branch of recursion), then further recursion is not necessary - this branch of the search tree can be pruned. Algorithm 3.1 IPP-BNB(v s ,v e ,B,P,X pilot ) 1: is_leaf = true 2: for each edge leaving v s do 3: P new =P· [edge] 4: v new = end node of edge 5: B new =B−cost of edge 6: if L(v new ,v e )≤B new then 7: is_leaf = false 8: if UBOUND(v new ,v e ,B new ,P new ,X pilot )>m ∗ then 9: IPP-BNB(v new ,v e ,B new ,P new ,X pilot ) 10: end if 11: end if 12: end for 13: if is_leaf then 14: m⇐f ARV (samples on P∪X pilot ) 15: if m>m ∗ then 16: P ∗ ⇐P 17: m ∗ ⇐m 18: end if 19: end if 20: return 65 The pseudocode for the upper bound is given in algorithm 3.2. The set R is the reachable set - all sample locations which could be reached by a feasible path, given the current start and end nodes and the remaining budget. We treat the sample locations as being on an edge, and check the reachability of each edge on line 3. The reason for having samples along edges instead of just at nodes is to allow for samples taken as the robot moves between waypoints. For the results in this chapter, however, we use 2 samples for each edge - one at each end, so all sample locations are actually nodes in the graph. Algorithm 3.2 UBOUND(v s ,v e ,B,X pilot ) 1: R ={} 2: for each edge in the graph do 3: if L(v s ,start node of edge) + cost of edge + L(end node of edge,v e ) ≤ B then 4: R⇐R∪{samples on this edge} 5: end if 6: end for 7: return f ARV (R∪X pilot ) The execution of the algorithm is shown visually in Fig. 3.1. For the purpose of this explanation, we use a graph with unit length edges and a budget of B = 6. At the top of our search tree, we fix only the start and end nodes of the path, as shown in Fig. 3.1a. Initially, there is some feasible path which would reach any given node in the graph without exceeding the budget, and so all nodes are in the reachable set. For each possible edge leaving the start node, we recursively call our algorithm. The state during the first such recursive call is shown in Fig. 3.1b. There is a 66 budget of 5 remaining, and so there is no feasible path that will reach the nodes marked in white and still be able to reach the end node within the budget. We remove those nodes from the reachable set and recalculate the upper bound. If the upper bound is lower than the objective achieved by another path we have already explored, then we can stop exploring this part of the search tree. If we cannot yet prune this portion of the tree, a recursive call is made for each possible next edge. The state during this next recursive call is shown in Fig. 3.1c. Two more nodes have been removed from the reachable set, and the upper bound is re-evaluated.. We continue recursively in this way until either the upper bound is lower than the objective achieved by some path that has already been examined, or the budget is exceeded. We have also implemented the finite horizon version of IPP-BNB, but do not give pseudocode because it is only a slight change. Instead of recursing until there is no more budget, the algorithm takes the best path up to the horizon, fixes the first edge in the path, and then plans again out to the horizon. In the full horizon case, since we only prune out solutions for which the upper bound is worse than a solution already considered, IPP-BNB will always find the optimal solution. 67 3.3 The Multi-Robot Algorithm Algorithms in the literature have focused on two main approaches: sequential al- location and partitioning. Sequential allocation provides a 1− 1 e approximation guarantee when used with submodular objective functions. Although a constant factor approximation guarantee is often considered quite good in the field of approximation algorithms, in this particular case it can actually be quite bad. Reducing the entropy or mean square error of a field by 63% might be completely insufficient to address the desired scientific goals. Allocating additional robot resources to make up for the non-optimal planner could be costly. Partitioninghasitsownproblems. Typically,partitionsaredeterminedbeforepaths are planned. A poor choice of partitions could lead rule out the optimal solution. In addition, some graphs cannot easily be partitioned. In non-metric graphs, for instance, there may not be a notion of which nodes are “close” to each other. To understand this, consider the case of ocean currents. If there is a strong current traveling from the North to the South, it may take a very short time for a robot to move from a node in the north to a node in the south. Making the movement in the opposite direction, however, would require moving against the current and could take a very long time. In this case, should these two nodes be assigned to the same partition? There is not any “right answer”. 68 In this work, we start with a sequential allocation approach, where the first path is planned using BNB-IPP, then the second path is planned, then the third, etc. We then use re-planning to attempt to overcome some of the drawbacks of sequential allocation. The plot in Fig. 3.9a shows the result. The blue path is planned first, then fixed, then the red path is planned. Notice that the blue path is trying to explore the entire space, not leaving a specific area for the second path to explore. This is a drawback of the sequential allocation approach. To mitigate this, we re-plan. Algorithm 3.3 IPP-BNB-MULTI(V s ,V e ,B,P,X pilot ) 1: Q ={} 2: for each iteration do 3: for each robot j do 4: X⇐X pilot ∪ h S i∈Q,i6=j h(Q[i]) i 5: Q[j]⇐IPP−BNB(V s [j],V e [j],B[j], [],X) 6: end for 7: end for 3.4 Single Robot Results 3.4.1 Simulated Results Because the branch and bound algorithm finds the optimal solution, there is little use in showing the objective values achieved for various IPP scenarios. Instead, we examine the running time needed to find the optimal solution, and compare this to the brute force approach. 69 For these results we use a 5x5 square graph with all edge lengths set to one. We use a squared exponential kernel. In a field trial, the hyper-parameters of the GP (just the characteristic length in this case) would be learned from an initial, manually planned run of the vehicle. To account for this, we look at the effect of varying the characteristic length on the runtime of our algorithm. 3.4.1.1 Varying the Characteristic Length Here we vary the characteristic length l of the kernel, to see how this affects the running time of our algorithm. The characteristic length determines how quickly measurements become de-correlated over distance. Withl = 1, only nodes that are very close to each other have much correlation in their values. With l = 10, even nodes on opposite sides of the graph are almost perfectly correlated. Foreachofthreedifferentcharacteristiclengths, Fig. 3.2showstherunningtimesof brute force and our algorithm. As expected, the running time of brute force search does not change; regardless of the values of the objective function, all possible paths are tried. Interestingly, our branch and bound algorithm provides a greater speedup for l = 2 and l = 10 than it does for l = 1. The intuition for this that when the nodes are almost uncorrelated, very few paths are poor enough to prune. Even if a path takes the robot into an area where many other samples have already been taken, a high objective value can be achieved as long as the robot does not 70 sample the exact same location multiple times. Still, even in the case of l = 1, our algorithm achieves a significant speedup versus brute force search. 3.4.1.2 Finite Horizon Planning In section 3.4.1.1, we planned with no horizon, and so the algorithm found the optimal solution. Here, we examine how our planner affects running time for the finite-horizon case. In Fig. 3.3, we have fixed the budget to 14, and the characteristic length to l = 2. For very small horizons, we can see that adding branch and bound to the planner actually makes it slower (speedup < 1). This is because when planning for a small horizon, the branches of the search tree that get pruned are relatively small, and pruning them does not make up for the overhead of calculating the upper bound. As the horizon gets larger, branch and bound provides a significant speedup. In the future, it would be interesting to try to predict the speedup gained by using branch and bound for various kernel functions, hyper-parameter values, horizon lengths, and graph sizes, and use this to decide when to calculate the bound. 3.4.1.3 Adding Pilot Measurements Next we test the effect of adding pilot measurements. These measurements could be locations that have been manually sampled before the experiment or static sensors that are already in place. In either case, they are measurements which are available 71 to the planner before planning a path. The goal of the planner is then to choose a path that provides measurements which best augment the pilot measurements. In this section we have again fixed the characteristic length of the kernel to l = 2. The result of planning with various numbers of pilot measurements is shown in Fig. 3.4a-3.4c. In each case we randomly place the pilot measurements at nodes of the graph, and then plan an augmenting path. As expected, the robot chooses paths which avoid the locations already sampled, in order to collect new data. To quantify the effect that adding pilot measurements has on the speedup gained by our branch and bound method, we ran 5 trials for each number of pilot mea- surements. The average and standard deviation of the speedups gained are plotted in Fig. 3.5. As we increase the number of pilot measurements, we see a greater speedup from usingthebranchandboundmethodversusbruteforcesearch. Theintuitionbehind this is that when there are pilot measurements, the upper bound in our planner can prune parts of the search tree that would take measurements near those pilot sam- ples. Put another way, conditioning on the pilot samples adds interesting structure to the GP covariance matrix, which our planner can use to discard paths that have no hope of taking useful measurements. 72 3.4.2 ASV Wireless Signal Strength Experiment In order to test the performance of IPP-BNB on a more realistic scenario, we deployed the autonomous surface vehicle (ASV) shown in Fig. 3.6 at a lake in Southern California. More information on the hardware of the platform can be found in [1]. An aerial view of the area for the deployment is shown in Fig. 3.7. A section of the lake free of high speed boat traffic was chosen. We used the ASV to model the received signal strength (RSS) between itself and the basestation (marked with a red ’x’) over the area covered by the graph. This information could be useful, for instance, when deciding where to place extra basestations to ensure connectivity for other robot deployments. The graph of possible boat movements, shown in blue, is a regular grid with nodes too close to shore removed. The length of each edge in the graph is the same, and is normalized to one. Before starting, we need to learn the hyper-parameters of the Gaussian process which we will use to model the signal strength. This is done using data collected on a short pilot run of the ASV, marked in purple in Fig. 3.7. After learning the hyper-parameters, we ran our planner with multiple different budgets. The start and end location given to the planner are both the bottommost node, which is closes to the point on the beach where we launched the ASV. 73 IPP-BNB is guaranteed to find the optimal solution, so we compare the running time of the algorithm against a brute force approach that tries all possible paths, computing the object values for each. The resulting running times are showing in Table 3.1. 2 4 6 8 10 12 14 16 18 20 22 24 Brute Force 0.001 0.002 0.014 0.121 1.193 12.885 130.485 DNF DNF DNF DNF DNF IPP-BNB 0.001 0.004 0.019 0.066 0.193 0.370 0.734 1.311 3.657 5.846 19.209 123.075 Table 3.1: Runtime in seconds for each of the brute force and BNB algorithms. The first row is the budget (each edge has unit length, so this is the maximum number of edges in the path.) DNF indicates that the algorithm was still running after 10 minutes and was manually terminated. As expected the running time of the brute force approach is exponential in the allowed budget. IPP-BNB also appears to follow an exponential trend, but is much faster for longer budgets. Given a maximum planning time of 10 minutes, the brute force approach is only able to calculate the optimal path for up to a budget of 14, whereas IPP-BNB is able to calculate it up to a budget of 24. For very small budgets (less than 8), the brute force approach is actually faster, because calculating the upper bound takes some time and is not able do much pruning for such small search trees. For longer budgets, the speedup is quite large however. As an example, the optimal path calculated by IPP-BNB is shown in Fig. 3.8. For this particular graph, being able to plan over a long horizon is quite important, because it allows the planner to trade off time needed to take measurements at the north end of the area with time needed to take measurements at the south end. Although the optimal path may appear fairly simple, the power of the algorithm is 74 that it guarantees the optimal path for any graph, as long as the objective function is monotonic in the set of measurement locations. 3.5 Multi-Robot Results To validate the multi-robot algorithm, we provide some results on a couple of relatively simply simulated cases. For the first case, we use 2 robots moving on a 4-connected regular grid, combined with a GP using an RBF kernel with fixed hyper-parameters. For the second example, we use the same GP model, but with 3 robots on an 8 connected graph. 3.5.1 Two Robot Planning In the simplest case of multi-robot IPP, we construct an 8x8 graph of 4-connected nodes. Each edge has unit length, and each of the two robots is given a budget of 20. A radial basis function kernel is used, with fixed hyper-parameters set by hand. On this 4-connected graph, the complexity of brute force planning of an optimal path of length k for a single robot would be approximately 4 k . With two robots, the cost of optimal planning would be approximately 16 k . Although the branch and bound algorithm from section 3.2 allows us to calculate theoptimalpathforasinglerobotinareasonableamountoftime, optimalplanning 75 for the joint paths of both robots is still intractable. The results from using the sequentialre-planningapproachdescribedinsection3.3areshowninFig. 3.9a-3.9c. In Fig. 3.9a, we see the result after one step of the sequential algorithm. The blue path was planned first, and attempts to cover as much of the grid as possible. Then the red path is planned for the second robot, in an attempt to best augment the measurements that will be taken along the first robot’s path. The new paths after re-planning each path once is shown in Fig. 3.9b. The blue path has moved to the left side, since the red path is already sampling more to the right. This time the blue path is being planned with knowledge of second robot’s path which was chosen during the first step of the algorithm. The result is that the chosen paths do a much better job of splitting up the areas of the graph which each robot visits. We thenre-plan foreachrobotoncemore, and getthe pathsin Fig. 3.9c. The paths are almost the same as after the first re-planning, and if we continue re-planning the paths do not change at all - we have reached a local optimum. Although the planner used for each path is optimal, the joint plans are not necessarily optimal. The objective functions achieved after each re-plan are shown in Fig. 3.9. Here we can clearly see the improvement after the first re-plan, but no improvement after that. This shows that for multi-robot IPP, quite a bit can be gained by re-planning, even after only a couple of steps. 76 3.5.2 Three Robot Planning For a slightly more complex example of multi-robot planning using the sequential replanningalgorithm, weaddathirdrobotandincreasetheconnectivityofthegrid. In Fig. 3.10 we can see the result of replanning with three robots, all starting and finishing at the bottom left node. After one re-plan, the plans have started to find different areas to explore. There is still quite a bit of change in the second re-plan, suggesting that when planning for more robots, more re-plans may be useful. Although the re-planning steps are guaranteed to never decrease the objective func- tion value achieved, we have no good bound on how many re-planning steps are needed to reach a local optimum. For these results planning for 2 and 3 robots on simple grids with radial basis kernel functions, only a few steps were needed. For more complicated problems, more research is needed. 3.6 Conclusions We have presented an optimal branch and bound algorithm for informative path planning for a single robot, and a heuristic for efficiently extending the algorithm to multiple robots. Although the algorithm is very simple, it provides a surpris- ing speedup for the smooth and monotonic “average variance reduction” objective function often used for IPP. 77 The main advantage of the single robot branch and bound algorithm is that it is guaranteed to find the optimal solution. One interesting direction for future work would be to try and create an “anytime” version of the algorithm and analyze its performance. Although the current algorithm can be stopped at any time, because it explores the space of possible paths in a deterministic way, it may consistently perform poorly for some graphs and objective functions. We would also like to further analyze the performance of the multi-robot version of the algorithm. In the simple test cases presented in this chapter, it appears to converge to very reasonable solutions, but there may be graphs for which it performs arbitrarily poorly. A few properties of the problem which may affect the effectiveness of the multi-robot algorithm are the structure of the graph, the structure of the kernel function, the number of robots used, and the length of the robot paths. 78 (a) Initialization: start and end specified, planning commences. (b) After recursing once. (c) After recursing twice. Figure 3.1: An illustration of our branch and bound algorithm with a budget of 6. (a) Only the start and end nodes have been fixed. With a budget of 6, there is still some feasible path which would visit any given node in the graph. (b) The algorithm has fixed one edge in the path. There is a remaining budget of 5, and no feasible path reaches the nodes marked in white, so they have been removed from the reachable set. (c) Another edge has been fixed, and more nodes have been removed from the reachable set. 79 10 11 12 13 14 15 16 Budget 10 − 2 10 − 1 10 0 10 1 10 2 10 3 10 4 Running Time (seconds) Brute force BB, l =1.0 BB, l =2.0 BB, l =10.0 Figure 3.2: Running times for various values of the length scale in the GP kernel. The y-axis is shown in log scale. The brute force running times are identical for each of the three length scales used. 2 4 6 8 10 12 14 Budget 0 2 4 6 8 10 12 Speedup Factor Figure 3.3: Speedup factor (brute force running time divided by branch and bound running time) for a finite horizon planner with various horizon lengths. Although we vary the horizon, we fix the overall budget at 14. 80 (a) No pilot measurements. (b) One pilot measurement. (c) Four pilot measurements. Figure 3.4: One of the trials for each number of pilot measurements. Pilot mea- surement locations are marked by red circles. The planner is given a start location at the bottom left node, an end location at the top right node, and a maximum budget of 14 (each edge has unit length). Pilot measurements are places where samples have already been taken, for instance by static sensors. The planner must choose a path that best augments the set of pilot measurements. 81 10 11 12 13 14 Budget 0 2 4 6 8 10 12 14 Speedup Factor 0 pilots 1 pilot 4 pilots Figure 3.5: Running time speedup (brute force running time divided by branch and boundrunningtime)forvaryingnumberofpilotmeasurements. Foreachnumberof pilot measurements, 5 trials were done, and the standard deviations of the speedup is shown by the error bars. Figure3.6: Autonomoussurfacevessel(ASV)usedtocollectwirelesssignalstrength pilot data for the results presented in this section. Figure 3.7: Graph used for these results. The overlaid graph shows the allowed movements for the ASV. Each edge is assigned a cost of 1. The goal of the ASV is to accurately model the wireless signal strength between it and the wireless access point (marked with a red ’x’) over the entire area covered by the graph. Pilot trajectory used for collecting training data is shown in purple. 82 0 100 200 300 400 500 600 Distance East (meters) 0 100 200 300 400 500 Distance North (meters) 0 1 1 1 2 2 3 3 3 4 4 4 4 5 5 5 6 6 7 7 7 8 8 8 8 9 9 9 9 10 10 10 11 11 12 12 12 13 13 13 13 14 14 14 15 15 15 16 16 16 17 17 17 18 18 18 19 19 20 20 20 21 21 21 22 22 22 23 23 23 23 24 24 24 25 25 25 26 26 26 26 27 27 27 27 28 28 28 28 29 29 29 29 30 30 31 31 32 32 32 33 33 33 33 34 34 34 35 35 36 Figure 3.8: Optimal path for a budget of 24 (each edge in the graph has cost 1). The path starts and ends at the bottommost node in the graph. The location of the wireless access point is marked with a red ’x’. 83 0 0 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 7 7 8 8 8 9 9 9 9 10 10 10 10 11 11 11 11 12 12 12 12 13 13 13 13 14 14 14 14 15 15 15 16 16 16 17 17 17 17 18 18 18 18 19 19 19 19 20 20 20 20 21 21 21 21 22 22 22 22 23 23 23 24 24 24 25 25 25 25 26 26 26 26 27 27 27 27 28 28 28 28 29 29 29 29 30 30 30 30 31 31 31 32 32 32 33 33 33 33 34 34 34 34 35 35 35 35 36 36 36 36 37 37 37 37 38 38 38 38 39 39 39 40 40 40 41 41 41 41 42 42 42 42 43 43 43 43 44 44 44 44 45 45 45 45 46 46 46 46 47 47 47 48 48 48 49 49 49 49 50 50 50 50 51 51 51 51 52 52 52 52 53 53 53 53 54 54 54 54 55 55 55 56 56 57 57 57 58 58 58 59 59 59 60 60 60 61 61 61 62 62 62 63 63 Path 0 Path 1 (a)Resultusingsequentialallocationto extend IPP-BNB to the two robot case. The blue path is planned first, then the red path is planned assuming that the blue path is fixed. 0 0 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 7 7 8 8 8 9 9 9 9 10 10 10 10 11 11 11 11 12 12 12 12 13 13 13 13 14 14 14 14 15 15 15 16 16 16 17 17 17 17 18 18 18 18 19 19 19 19 20 20 20 20 21 21 21 21 22 22 22 22 23 23 23 24 24 24 25 25 25 25 26 26 26 26 27 27 27 27 28 28 28 28 29 29 29 29 30 30 30 30 31 31 31 32 32 32 33 33 33 33 34 34 34 34 35 35 35 35 36 36 36 36 37 37 37 37 38 38 38 38 39 39 39 40 40 40 41 41 41 41 42 42 42 42 43 43 43 43 44 44 44 44 45 45 45 45 46 46 46 46 47 47 47 48 48 48 49 49 49 49 50 50 50 50 51 51 51 51 52 52 52 52 53 53 53 53 54 54 54 54 55 55 55 56 56 57 57 57 58 58 58 59 59 59 60 60 60 61 61 61 62 62 62 63 63 Path 0 Path 1 (b) After re-planning once. 0 0 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 7 7 8 8 8 9 9 9 9 10 10 10 10 11 11 11 11 12 12 12 12 13 13 13 13 14 14 14 14 15 15 15 16 16 16 17 17 17 17 18 18 18 18 19 19 19 19 20 20 20 20 21 21 21 21 22 22 22 22 23 23 23 24 24 24 25 25 25 25 26 26 26 26 27 27 27 27 28 28 28 28 29 29 29 29 30 30 30 30 31 31 31 32 32 32 33 33 33 33 34 34 34 34 35 35 35 35 36 36 36 36 37 37 37 37 38 38 38 38 39 39 39 40 40 40 41 41 41 41 42 42 42 42 43 43 43 43 44 44 44 44 45 45 45 45 46 46 46 46 47 47 47 48 48 48 49 49 49 49 50 50 50 50 51 51 51 51 52 52 52 52 53 53 53 53 54 54 54 54 55 55 55 56 56 57 57 57 58 58 58 59 59 59 60 60 60 61 61 61 62 62 62 63 63 Path 0 Path 1 (c) After re-planning twice. BNB S BNB S BNB S 0.00 0.02 0.04 0.06 0.08 0.10 0.12 Expected MSE (% of initial EMSE) Figure 3.9: Objective values achieved after planning each robot’s path once, twice, and three times. 84 0 0 0 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 7 7 7 8 8 8 8 8 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 15 15 15 15 15 16 16 16 16 16 17 17 17 17 17 17 17 17 18 18 18 18 18 18 18 18 19 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 22 22 22 22 22 22 22 22 23 23 23 23 23 24 24 24 24 24 25 25 25 25 25 25 25 25 26 26 26 26 26 26 26 26 27 27 27 27 27 27 27 27 28 28 28 28 28 28 28 28 29 29 29 29 29 29 29 29 30 30 30 30 30 30 30 30 31 31 31 31 31 32 32 32 32 32 33 33 33 33 33 33 33 33 34 34 34 34 34 34 34 34 35 35 35 35 35 35 35 35 36 36 36 36 36 36 36 36 37 37 37 37 37 37 37 37 38 38 38 38 38 38 38 38 39 39 39 39 39 40 40 40 40 40 41 41 41 41 41 41 41 41 42 42 42 42 42 42 42 42 43 43 43 43 43 43 43 43 44 44 44 44 44 44 44 44 45 45 45 45 45 45 45 45 46 46 46 46 46 46 46 46 47 47 47 47 47 48 48 48 48 48 49 49 49 49 49 49 49 49 50 50 50 50 50 50 50 50 51 51 51 51 51 51 51 51 52 52 52 52 52 52 52 52 53 53 53 53 53 53 53 53 54 54 54 54 54 54 54 54 55 55 55 55 55 56 56 56 57 57 57 57 57 58 58 58 58 58 59 59 59 59 59 60 60 60 60 60 61 61 61 61 61 62 62 62 62 62 63 63 63 Path 0 Path 1 Path 2 (a) 0 0 0 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 7 7 7 8 8 8 8 8 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 15 15 15 15 15 16 16 16 16 16 17 17 17 17 17 17 17 17 18 18 18 18 18 18 18 18 19 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 22 22 22 22 22 22 22 22 23 23 23 23 23 24 24 24 24 24 25 25 25 25 25 25 25 25 26 26 26 26 26 26 26 26 27 27 27 27 27 27 27 27 28 28 28 28 28 28 28 28 29 29 29 29 29 29 29 29 30 30 30 30 30 30 30 30 31 31 31 31 31 32 32 32 32 32 33 33 33 33 33 33 33 33 34 34 34 34 34 34 34 34 35 35 35 35 35 35 35 35 36 36 36 36 36 36 36 36 37 37 37 37 37 37 37 37 38 38 38 38 38 38 38 38 39 39 39 39 39 40 40 40 40 40 41 41 41 41 41 41 41 41 42 42 42 42 42 42 42 42 43 43 43 43 43 43 43 43 44 44 44 44 44 44 44 44 45 45 45 45 45 45 45 45 46 46 46 46 46 46 46 46 47 47 47 47 47 48 48 48 48 48 49 49 49 49 49 49 49 49 50 50 50 50 50 50 50 50 51 51 51 51 51 51 51 51 52 52 52 52 52 52 52 52 53 53 53 53 53 53 53 53 54 54 54 54 54 54 54 54 55 55 55 55 55 56 56 56 57 57 57 57 57 58 58 58 58 58 59 59 59 59 59 60 60 60 60 60 61 61 61 61 61 62 62 62 62 62 63 63 63 Path 0 Path 1 Path 2 (b) 0 0 0 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 7 7 7 8 8 8 8 8 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 15 15 15 15 15 16 16 16 16 16 17 17 17 17 17 17 17 17 18 18 18 18 18 18 18 18 19 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 22 22 22 22 22 22 22 22 23 23 23 23 23 24 24 24 24 24 25 25 25 25 25 25 25 25 26 26 26 26 26 26 26 26 27 27 27 27 27 27 27 27 28 28 28 28 28 28 28 28 29 29 29 29 29 29 29 29 30 30 30 30 30 30 30 30 31 31 31 31 31 32 32 32 32 32 33 33 33 33 33 33 33 33 34 34 34 34 34 34 34 34 35 35 35 35 35 35 35 35 36 36 36 36 36 36 36 36 37 37 37 37 37 37 37 37 38 38 38 38 38 38 38 38 39 39 39 39 39 40 40 40 40 40 41 41 41 41 41 41 41 41 42 42 42 42 42 42 42 42 43 43 43 43 43 43 43 43 44 44 44 44 44 44 44 44 45 45 45 45 45 45 45 45 46 46 46 46 46 46 46 46 47 47 47 47 47 48 48 48 48 48 49 49 49 49 49 49 49 49 50 50 50 50 50 50 50 50 51 51 51 51 51 51 51 51 52 52 52 52 52 52 52 52 53 53 53 53 53 53 53 53 54 54 54 54 54 54 54 54 55 55 55 55 55 56 56 56 57 57 57 57 57 58 58 58 58 58 59 59 59 59 59 60 60 60 60 60 61 61 61 61 61 62 62 62 62 62 63 63 63 Path 0 Path 1 Path 2 (c) Figure 3.10: (a) Paths planned sequentially using BNB for each path. (b) After re-planning each path once. (c) After re-planning each path twice. 85 Chapter 4 Conclusions 4.1 Algorithms for Single Robot IPP In this thesis, we have examined variants on two very different approaches to infor- mative path planning - recursive greedy for submodular orienteering, and branch and bound for planning with a monotonic objective function. Here are some of the tradeoffs of each approach. Advantages of the generalized recursive greedy (GRG) algorithm: • Guaranteed sub-exponential (although super-polynomial) running time • Running time can be improved for certain special cases (e.g. graphs with all equal edge lengths) • Easy to parallelize 86 Disadvantages of GRG: • Approximation guarantee is actually quite poor (even though the algorithm does pretty well in practice) • Running time can be quite long in practice, even though it is technically sub-exponential • Requires submodular objective function for approximation guarantee (ex- pected MSE, for instance, is not always submodular) Advantages of branch and bound (BNB) algorithm: • Guaranteed to find the optimal solution • Can run very fast for some problems • Easy to parallelize Disadvantages of BNB: • Not guaranteed to be faster than brute force In practice, we find BNB to be even faster than GRG in for many problems. The relative speeds depend on the structure of the graph (many nodes is hard for GRG), and the structure of the GP (useful structure the covariances can be exploited by BNB). BNB is the only algorithm of the three which guarantees a perfectly optimal 87 Speed of Computation Optimality of Solution Greedy BNB GRG Figure 4.1: Diagram of the speed/optimality trade-offs of three algorithms for IPP. Greedy is extremely fast, but far from optimal. Branch and bound (BNB) and generalized recursive greedy (GRG) have some overlap in terms of speed, but for many problems GRG is faster. The only algorithm which guarantees a perfectly optimal solution is BNB. 88 solution. Ind addition, BNB requires only monotonicity in the objective function to guarantee optimality, whereas GRG requires submodularity for its approximation guarantee. For certain graphs (e.g. those with a relatively small number of nodes), however, GRG may be much faster than BNB. In trying to solve a specific class of IPP problem, we would recommend trying the algorithms to see which one performs best. 4.2 Algorithms for Multi-Robot IPP In the branch and bound work described in this thesis, we have explored using sequential allocation with re-planning. This involves planning a path for one robot, then planning the best augmenting path for the next robot, and so on. Once paths have been planned for all robots, we re-plan the paths for each robot one at a time. Although this is not guaranteed to find the jointly optimal set of robot paths, we have found it to work quite well in practice. The re-planning steps often improve significantly on pure sequential allocation, and no initial partitioning must be chosen. A caveat that we should mention is that if a non-optimal planner such as greedy is chosen to plan the individual robot paths, doing re-planning may not be as useful. 89 4.3 Recommendations for Future Work There are still many interesting variants of IPP which could be researched: • Are there better upper bounds that can be used for BNB? • How does the problem change when the team of robots is heterogeneous? • How does IPP change when applied to domain specific models besides GP’s? • Aretheresmartwaystoallowhumanstoinfluencetheplanningprocess, while still leveraging IPP algorithms to reduce human workload? 4.4 Conclusion In this thesis we have presented two very different approaches to informative path planning. Generalized recursive greedy uses submodularity based algorithms from sensor placement literature. Our branch and bound algorithm is inspired by mono- tonicitybasedbranchandboundalgorithmsforfeatureselection. Wehaveanalyzed the performance of each algorithm, and looked at how they apply to specific use cases in environmental monitoring using mobile robotics. We have also presented and analyzed a multi-robot extension to our branch and bound algorithm which we think is very promising. Finally, we have tested our algorithms in the field using an autonomous surface vessel measuring wireless signal strength in a lake. 90 Reference List [1] Heidarsson, Hordur K. and Sukhatme, Gaurav S., “Obstacle detection from overhead imagery using Self-Supervised learning for autonomous surface vehicles,” in IEEE/RSJ International Conference on Intelligent Robots and Systems, [Online]. Available: http://cres.usc.edu/cgi-bin/print_pub_details.pl? pubid=718 [2] Dijkstra, E W, “A note on two problems in connection with graphs,” vol., no., 1959. [3] Hart, P. E and Nilsson, N. J and Raphael, B., “A formal basis for the heuristic determination of minimum cost paths,” vol., no., Jul. 1968. [4] LaValle, Steven M. and Kuffner Jr, James J., “Randomized kinodynamic plan- ning,” vol., no., p., 378, 2001. [5] Hollinger, Geoffrey and Singh, Sanjiv, “Proofs and experiments in scalable, near-optimal search by multiple robots,” Proceedings of Robotics: Science and Systems IV, Zurich, Switzerland, 2008. [6] Prentice, Samuel and Roy, Nicholas, “The belief roadmap: Efficient planning in belief space by factoring the covariance,” vol., no., 2009. [Online]. Available: http://portal.acm.org/citation.cfm?id=1640509 [7] Kavraki, Lydia E. and Svestka, Petr and Latombe, Jean-Claude and Overmars, Mark H., “Probabilistic roadmaps for path planning in High-Dimensional con- figuration spaces,” vol., no., 1996. [8] Krause, Andreas and Singh, Ajit and Guestrin, Carlos, “Near-Optimal sensor placements in gaussian processes: Theory, efficient algorithms and empirical studies,” vol., 2008. [Online]. Available: http://portal.acm.org/citation.cfm?id= 1390689&dl= [9] Lermusiaux, Pierre F.J., “Adaptive modeling, adaptive data assimilation and adaptive sampling,” vol., no., Jun. 2007. [Online]. Available: http: //adsabs.harvard.edu/abs/2007PhyD..230..172L [10] Wang, Ding and Lermusiaux, Pierre F.J. and Haley, Patrick J. and Eickstedt, Donald and Leslie, Wayne G. and Schmidt, Henrik, “Acoustically focused adaptive sampling and on-board routing for marine 91 rapid environmental assessment,” vol., Nov. 2009. [Online]. Available: http://www.sciencedirect.com/science/article/pii/S0924796309001675 [11] Heaney, Kevin D and Gawarkiewicz, Glen and Duda, Timothy F and Lermusiaux, Pierre F. J, “Nonlinear optimization of autonomous undersea vehicle sampling strategies for oceanographic data-assimilation,” vol., no., Jun. 2007. [Online]. Available: http://onlinelibrary.wiley.com/doi/10.1002/rob. 20183/abstract [12] Zhang, Bin, “Adaptive sampling with a robotic sensor network,” Ph.D. disser- tation, University of Southern California, May 2008. [13] Blum, Avrim and Chawla, Shuchi and Karger, David R. and Lane, Terran and Meyerson, Adam and Minkoff, Maria, “Approximation algorithms for orienteering and Discounted-Reward TSP,” vol., no., 2007. [Online]. Available: http://portal.acm.org/citation.cfm?id=1328752 [14] Yilmaz, N.K. and Evangelinos, C. and Lermusiaux, P. and Patrikalakis, N.M., “Path planning of autonomous underwater vehicles for adaptive sampling using mixed integer linear programming,” vol., no., 2008. [15] Ko, Chun-Wa and Jon Lee and Queyranne, Maurice, “An exact algorithm for maximum entropy sampling,” vol., no., Aug. 1995. [Online]. Available: http://www.jstor.org/stable/171694 [16] Guestrin, Carlos and Krause, Andreas and Singh, Ajit Paul, “Near- optimal sensor placements in gaussian processes,” in Proceedings of the 22nd international conference on Machine learning. [Online]. Available: http://portal.acm.org/citation.cfm?id=1102385&dl=GUIDE, [17] Krause, A. and Guestrin, C. and Gupta, A. and Kleinberg, J., “Near-optimal sensor placements: maximizing information while minimizing communication cost,” inThe Fifth International Conference on Information Processing in Sensor Networks, [18] Nemhauser, GL and Wolsey, LA and Fisher, ML, “An analysis of approximations for maximizing submodular set functions. i,” vol., no., 1978. [Online]. Available: http://dx.doi.org/10.1007/BF01588971 [19] Chekuri, Chandra and Pal, Martin, “A recursive greedy algorithm for walks in directed graphs,” in 46th Annual IEEE Symposium on Foundations of Computer Science, 2005., [20] Singh, Amarjeet and Krause, Andreas and Guestrin, Carlos and Kaiser, William and Batalin, Maxim, “Efficient planning of informative paths for multiple robots,” in Proceedings of the 20th international joint conference on Artifical intelligence. [Online]. Available: http://portal.acm.org/citation.cfm? id=1625275.1625631 92 [21] Singh, Amarjeet and Krause, Andreas and Guestrin, Carlos and Kaiser, William, “Efficient informative sensing using multiple robots,” vol., 2009. [22] Meliou, Alexandra and Krause, Andreas and Guestrin, Carlos and Hellerstein, Joseph M., “Nonmyopic informative path planning in spatio-temporal models,” in Proceedings of the 22nd national conference on Artificial intelligence - Volume 1. [Online]. Available: http://portal.acm.org/citation.cfm?id=1619645.1619742 [23] Low, Kian Hsiang and Gordon, G.J. and Dolan, J.M. and Khosla, P., “Adaptive sampling for Multi-Robot Wide-Area exploration,” in Robotics and Automation, 2007 IEEE International Conference on, [Online]. Available: 10.1109/ROBOT.2007.363077 [24] Low, Kian Hsiang and Dolan, John M. and Khosla, Pradeep, “Adaptive multi-robot wide-area exploration and mapping,” in Proceedings of the 7th international joint conference on Autonomous agents and multiagent systems - Volume 1. [Online]. Available: http://portal.acm.org/citation.cfm?id=1402392 [25] ——, “Information-Theoretic approach to efficient adaptive path planning for mobile robotic environmental sensing,” in Proceedings of the Nineteenth Interna- tional Conference on Automated Planning and Scheduling, 2009. [26] Hollinger, Geoffrey and Singh, Sanjiv and Djugash, Joseph and Kehagias, Athanasios, “Efficient multi-robot search for a moving target,” vol., no., Feb. 2009. [Online]. Available: http://ijr.sagepub.com/cgi/content/abstract/28/2/ 201 [27] Amato, Nancy M. and Wu, Yan, “A randomized roadmap method for path and manipulation planning,” vol., 1, [Online]. Available: 10.1109/ROBOT.1996. 503582 [28] Du Toit, Noel and Burdick, JW, “Robotic motion planning in dynamic, clut- tered, uncertain environments,” in Proceedings of the 2010 International Confer- ence on Robotics and Automation, 2010. [29] Vazirani, Vijay V., Approximation algorithms. Springer, 2001. [30] Miller, C. E. and Tucker, A. W. and Zemlin, R. A., “Integer programming formulation of traveling salesman problems,” vol., no., 1960. [Online]. Available: http://portal.acm.org/citation.cfm?id=321046 [31] Lin, S. and Kernighan, B. W., “An effective heuristic algorithm for the Traveling-Salesman problem,” vol., no., Mar. 1973. [Online]. Available: http://or.journal.informs.org/cgi/content/abstract/21/2/498 [32] Papadimitriou, Christos H., “The euclidean travelling salesman problem is NP-complete,” vol., no., Jun. 1977. [Online]. Avail- able: http://www.sciencedirect.com/science/article/B6V1G-45FC4D1-5R/2/ 5aab73aa6072523b8fdbce055ea15ee9 93 [33] Blum, A. and Chawla, S. and Karger, D.R. and Lane, T. and Meyerson, A. and Minkoff, M., “Approximation algorithms for orienteering and discounted- reward TSP,” in Foundations of Computer Science, 2003. Proceedings. 44th An- nual IEEE Symposium on, [34] Bansal, Nikhil and Blum, Avrim and Chawla, Shuchi and Meyerson, Adam, “Approximation algorithms for deadline-TSP and vehicle routing with time- windows,” in Proceedings of the thirty-sixth annual ACM symposium on Theory of computing. [Online]. Available: http://portal.acm.org/citation.cfm?id=1007385 [35] Fujishige, Satoru, Submodular functions and optimization. Elsevier, 2005. [36] Orlin, James B., “A faster strongly polynomial time algorithm for submodular function minimization,” vol., no., Nov. 2007. [Online]. Available: http://www.springerlink.com/content/t682705354208847/ [37] Queyranne, Maurice, “Minimizing symmetric submodular functions,” vol., no., Jun. 1998. [Online]. Available: http://www.springerlink.com/content/ r1l8732n4u6866w2/ [38] Calinescu, Gruia and Chekuri, Ra and Pal, Martin and Vondrak, Jan, “Maximizing a submodular set function subject to a matroid constraint,” vol., p., 2007, 2007. [Online]. Available: http://citeseerx.ist.psu.edu/viewdoc/ summary?doi=10.1.1.87.5410 [39] Kurniawati, Hanna and Hsu, David and Lee, Wee Sun, “SARSOP: efficient point-based POMDP planning by approximating optimally reachable belief spaces,” in Proceedings of Robotics: Science & Systems, 2008. [Online]. Available: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.150.7850 [40] “Webb research corporation - slocum glider,” http://www.webbresearch.com/slocumglider.aspx, 2010. [Online]. Available: http://www.webbresearch.com/slocumglider.aspx [41] Smith, Ryan N. and Das, Jnaneshwar and Heidarsson, Hordur and Pereira, Arvind A. and Arrichiello, Filippo and Cetinic, Ivona and Darjany, Lindsay and Garneau, Marie-Eve and Howard, Meredith D. and Oberg, Carl and Ragan, Matthew and Seubert, Erica and Smith, Ellen C. and Stauffer, Beth and Schnetzer, Astrid and Toro-Farmer, Gerardo and Caron, David A. and Jones, Burton H. and Sukhatme, Gaurav S., “USC CINAPS builds bridges: Observing and monitoring the southern california bight,” IEEE Robotics and Automation Magazine, Mar. 2010, special Issue on Marine Robotic Systems. [Online]. Available: http://cres.usc.edu/cgi-bin/print_pub_details.pl?pubid=627 [42] Shchepetkin, Alexander F. and McWilliams, James C., “The re- gional oceanic modeling system (ROMS): a split-explicit, free-surface, topography-following-coordinate oceanic model,” vol., no., 2005. [Online]. Available: http://www.sciencedirect.com/science/article/B6VPS-4DD8795-1/ 2/46fb4c064977a1deb25bcf699388bbef 94 [43] Rasmussen, Carl Edward and Williams, Christopher K. I., Gaussian Processes for Machine Learning. the MIT Press, 2006. [44] Krause, Andreas and McMahan, H. Brendan and Guestrin, Carlos and Gupta, Anupam, “Robust submodular observation selection,” vol., Dec. 2008. [Online]. Available: http://jmlr.csail.mit.edu/papers/v9/krause08b.html [45] Das, Abhimanyu and Kempe, David, “Algorithms for subset selection in linear regression,” in Proceedings of the 40th annual ACM symposium on Theory of computing. [Online]. Available: http://portal.acm.org/citation.cfm?id=1374384 [46] Li, Zhijin and Chao, Yi and McWilliams, James C. and Ide, Kayo, “A Three-Dimensional variational data assimilation scheme for the regional ocean modeling system,” vol., no., Nov. 2008. [Online]. Available: http: //dx.doi.org/10.1175%2F2008JTECHO594.1 [47] Narendra, P. M and Fukunaga, K., “A branch and bound algorithm for feature subset selection,” vol., no., Sep. 1977. [48] Somol, P. and Pudil, P. and Kittler, J., “Fast branch & bound algorithms for optimal feature selection,” vol., no., 2004. [Online]. Available: 10.1109/TPAMI.2004.28 95
Abstract (if available)
Linked assets
University of Southern California Dissertations and Theses
Conceptually similar
PDF
Data-driven robotic sampling for marine ecosystem monitoring
PDF
Adaptive sampling with a robotic sensor network
PDF
Risk-aware path planning for autonomous underwater vehicles
PDF
Any-angle path planning
PDF
Information theoretical action selection
PDF
Iterative path integral stochastic optimal control: theory and applications to motor control
PDF
Learning objective functions for autonomous motion generation
PDF
Intelligent robotic manipulation of cluttered environments
PDF
Learning from planners to enable new robot capabilities
PDF
Active sensing in robotic deployments
PDF
Advancing robot autonomy for long-horizon tasks
PDF
Long range stereo data-fusion from moving platforms
PDF
Optimization-based whole-body control and reactive planning for a torque controlled humanoid robot
PDF
Data-driven autonomous manipulation
PDF
Rethinking perception-action loops via interactive perception and learned representations
PDF
Target assignment and path planning for navigation tasks with teams of agents
PDF
Multi-robot strategies for adaptive sampling with autonomous underwater vehicles
PDF
From active to interactive 3D object recognition
PDF
A robotic system for benthic sampling along a transect
PDF
Discrete geometric motion control of autonomous vehicles
Asset Metadata
Creator
Binney, Jonathan Douglas
(author)
Core Title
Informative path planning for environmental monitoring
School
Viterbi School of Engineering
Degree
Doctor of Philosophy
Degree Program
Computer Science
Publication Date
10/14/2012
Defense Date
01/31/2012
Publisher
University of Southern California
(original),
University of Southern California. Libraries
(digital)
Tag
environmental monitoring,OAI-PMH Harvest,path planning,robotics
Language
English
Contributor
Electronically uploaded by the author
(provenance)
Advisor
Sukhatme, Gaurav S. (
committee chair
), Caron, David A. (
committee member
), Schaal, Stefan (
committee member
)
Creator Email
jon.binney@gmail.com
Permanent Link (DOI)
https://doi.org/10.25549/usctheses-c3-104369
Unique identifier
UC11288359
Identifier
usctheses-c3-104369 (legacy record id)
Legacy Identifier
etd-BinneyJona-1247.pdf
Dmrecord
104369
Document Type
Dissertation
Rights
Binney, Jonathan Douglas
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
environmental monitoring
path planning
robotics