Asymptotically Optimal Path Planning and Surface Reconstruction for Inspection O by OCT 16 201 Georgios Papadopoulos LIBRARIES S.M., Massachusetts Institute of Technology (2010) Diploma, National Technical University of Athens (2007) Submitted to the Department of Mechanical Engineering in partial fulfillment of the requirements for the degree of Doctor of Philosophy at the Department of Mechanical Engineering at the MASSACHUSETTS INSTITUTE OF TECHNOLOGY September 2014 @ Massachusetts Institute of Technology 2014. All rights reserved. Signature redacted A uthor ....................... ........... D'epartment of Mechanical Engineering June 16, 2014 Certified by.................. Signature redacted Nicholas M. Patrikalakis Kawasaki Professor of Engineering Thesis Supervisor Accepted by ...................... Signature redacted SigDavideE. .d David E. Hardt Chairman, Department Committee on Graduate Students Department of Mechanical Engineering Asymptotically Optimal Path Planning and Surface Reconstruction for Inspection by Georgios Papadopoulos Submitted to the Department of Mechanical Engineering on June 16, 2014, in partial fulfillment of the requirements for the degree of Doctor of Philosophy at the Department of Mechanical Engineering Abstract Motivated by inspection applications for marine structures, this thesis develops algorithms to enable their autonomous inspection. Two essential parts of the inspection problem are (1) path planning and (2) surface reconstruction. On the first problem, we develop a novel analysis of asymptotic optimality of control-space sampling path planning algorithms. This analysis demonstrated that asymptotically optimal path planning for any Lipschitz continuous dynamical system can be achieved by sampling the control space directly. We also determine theoretical convergence rates for this class of algorithms. These two contributions were also illustrated numerically via extensive simulation. Based on the above analysis, we developed a new inspection planning algorithm, called Random Inspection Tree Algorithm (RITA). Given a perfect model of a structure, sensor specifications, robot dynamics, and an initial configuration of a robot, RITA computes the optimal inspection trajectory that observes all surface points on the structure. This algorithm uses of control-space sampling techniques to find admissible trajectories with decreasing cost. As the number of iterations increases, RITA converges to optimal control trajectories. A rich set of simulation results, motivated by inspection problems for marine structures, illustrate our methods. Data gathered from all different views of the structure are assembled to reconstruct a 3D model of the external surfaces of the structure of interest. Our work also involved field experimentation. We use off-the-shelf sensors and a robotic platform to scan marine structures above and below the waterline. Using such scanned data points, we reconstruct triangulated polyhedral surface models of marine structures based on Poisson techniques. We have tested our system extensively in field experiments at sea. We present results on construction of various 3D surface models of marine structures, such as stationary jetties and slowly moving structures (floating platforms and boats). This work contributes to the autonomous inspection problem for structures and to the optimal path, inspection and task planning problems. Thesis Supervisor: Nicholas M. Patrikalakis Title: Kawasaki Professor of Engineering 3 4 Acknowledgments I would like to first thank my advisor, Prof. N. M. Patrikalakis, for his continuous support and direction. He was always available to discuss ideas and has provided me with the necessary materials and guidance to successfully pursue my research. I also would like to express my appreciation to my thesis committee members Professors M. S. Triantafyllou and F. S. Hover of MIT and Dr. H. Kurniawati (of the University of Queensland, Australia and formerly of SMART / CENSAM of Singapore) for their guidance and comments. Dr. Kurniawati has co-authored several publications with me and has always been willing to share ideas in robotics research and to provide important technical input. I would also like to thank my S.M. thesis advisor, Prof. J. J. Leonard of MIT, for his support and direction during my first years at MIT and my undergraduate advisor, Prof. E. G. Papadopoulos (of the National Technical University of Athens, Greece), who introduced me to different aspects of robotics. I also wish to express special appreciation to Professors E. Frazzoli, S. Karaman, and T. P. Sapsis of MIT for useful technical discussions. Especially Prof. Karaman, as an expert in optimal sampling-based path planning, was always available to discuss topics of common interest. Last but not least, I would like to thank my wife Tina and my parents for their support during the course of my studies. This work was supported by the Singapore-MIT Alliance for Research and Technology (SMART), Center for Environmental Sensing and Modeling (CENSAM). 5 6 Contents 21 1 Introduction 21 1.1 Motivation ....................................... 1.2 Challenges in the Inspection Planning Problem . . . . . . . . . . . . 23 1.3 Optimality Through the Control Space . . . . . . . . . . . . . . . . . 29 1.4 Challenges in Surface Reconstruction by Marine Vehicles . . . . . . . 29 1.5 Publications ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 1.6 Outline of the Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2 Related Work 33 2.1 Inspection Planning Problem . . . . . . . . . . . . . . . . . . . . . . . 33 2.2 Coverage Planning Problem . . . . . . . . . . . . . . . . . . . . . . . 36 2.3 Path Planning ..................................... 37 2.4 Surface Reconstruction .......................... 40 2.4.1 3D Model Reconstruction using Ground Robots . . . . . . . . 40 2.4.2 3D Model Reconstruction using Marine Vehicles . . . . . . . . 43 3 Surface Reconstruction Using Marine Vehicles 47 3.1 Introduction ........ . . . . . . . . . . . . . . . . . . . . . . . . 48 3.2 Robotic Platform for Marine Field Experiments . . . . . . . . . . . . 48 3.3 Surface Reconstruction Algorithms . . . . . . . . . . . . . . . . . . . 50 3.3.1 Registration Algorithm . . . . . . . . . . . . . . . . . . . . . . 51 3.3.2 Above-Water Surface Reconstruction Algorithm . . . . . . . . 52 3.3.3 Combined Map .......................... 56 7 3.4 Experimental Results . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 3.5 Summary 74 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Asymptotically Optimal Planning for Systems with Differential Constraints 77 4.1 Problem Definition ............................ 78 4.2 Planners that Sample the Control Space .................... 79 4.2.1 Algorithm Description ....................... 79 4.2.2 Complexity ...... 80 4.3 4.4 4.5 Analysis ........... ............................ ....................... 82 4.3.1 Optimality ............................ 4.3.2 The Lyapunov Approach .......................... 91 4.3.3 Convergence Rate .............................. 93 4.3.4 Different Sampling Strategies 97 Simulation Results ...... . 83 .................. ............................ 4.4.1 Case Study: Pendulum on a Cart . . . . . . . . . . . . . . . . 4.4.2 Additional Simulation Results ...................... 97 97 100 Summary and Discussion ......................... 102 5 Asymptotically Optimal Inspection Planning for Systems with Differential Constraints 109 5.1 Problem Definition ............................ 110 5.2 Proposed Algorithms ................................ 112 5.3 Analysis ........................................ 115 5.3.1 Optimality of RITA ....................... 116 5.3.2 Completeness of RITA .......................... 117 5.4 Results ......................................... 120 5.4.1 2D Workspace Results ...................... 121 5.4.2 TSP-Art-gallery ............................... 128 5.4.3 3D Workspaces ............................... 130 5.4.4 Implementation ............................... 137 8 5.5 Summary and Discussion ......................... 137 6 Robustness of Approximate Optimal Trajectories 139 Introduction ................................ 140 6.2 Deterministic Theoretical Bounds ........................ 141 6.3 Probabilistic Theoretical Bounds ........................ 142 6.4 Monte-Carlo Framework for General Trajectory Evaluation . . . . . 144 6.5 Summary and Discussion . . . . . . . . . . . . . . . . . . . . . . . . 145 . . 6.1 7 Conclusions and Future Work 7.1 147 . . . . . . . . . . . . . . . . . . . . . 147 7.1.1 Surface Reconstruction . . . . . . . . . . . . . . . . . . . . . 147 7.1.2- Path Planning . . . . . . . . . . . . . . . . . . . . . . . . . . 148 7.2 Contributions .......... . . . . . . . . . . . . . . . . . . . . . 151 7.3 Future Work ............ . . . . . . . . . . . . . . . . . . . . . 153 7.3.1 Path Planning ...... . . . . . . . . . . . . . . . . . . . . . 153 7.3.2 Inspection Planning. . . . . . . . . . . . . . . . . . . . . . . 154 7.3.3 Surface Reconstruction . . . . . . . . . . . . . . . . . . . . . 155 . . . . Conclusions ........... A Probability to Get at Least one Trajectory that is e-close to Any Approximation of the Optimal Trajectory 157 B Convergence Rate for the First Milestone for the Discrete System 161 9 10 List of Figures 1-1 Thunder Horse oil platform after the Hurricane Dennis in 2005 [15J. . 1-2 Diver inspecting a platform in the Gulf of Mexico; the picture is taken from "TheOceanCorporation" [1]. . . . . . . . . . . . . . . . . . . . . 23 24 1-3 An illustration of a TSP-art-gallery approach: In this example, even if the observation points are chosen correctly the resulting trajectory is not close to optimal because the TSP algorithm computes the visiting order ignoring the obstacles. . . . . . . . . . . . . . . . . . . . . . . . 25 1-4 Different planning problems: the path planning problem, the optimal path planning problem, the optimal inspection planning problem and the optimal task planning problem. . . . . . . . . . . . . . . . . . . . 1-5 The simple planning problem is a PSPACE-hard and a PSPACEcomplete problem (adapted from [1001). . . . . . . . . . . . . . . . . . 2-1 27 28 An illustration of greedy strategy that always chooses to move to a configuration within R radius from its current position, that can see the largest unseen structure. The environment contains two structures, i.e., the "U" shaped at the bottom and the line at the top. In this example, the greedy strategy may fluctuate moving down and up, while the shortest trajectory would move to cover the structure on the top first, before going down. . . . . . . . . . . . . . . . . . . . . . . . . . 11 35 3-1 (a) The ASV with Velodyne LiDAR mounted on top of it. Two pontoons are attached to the ASV to improve its stability. (b) The Velodyne LiDAR and the mounting platform for placing the LiDAR in an inverted configuration on the ASV. (c) The BlueView MB2250 micro. . . . . . 49 . . . . . . . . . . 53 bathymetry sonar is mounted in a sideways configuration. 3-2 The online map: we use big simplification cell size. 3-3 The off-line map: Less simplified data are used to get the vehicle's trajectory (a set of transformation matrices) and then the vehicles' trajectory is used to project raw data resulting in a dense point cloud. 54 3-4 Trajectories generated during the first 100 seconds of one of the experiments: Trajectories corresponding to different At form a sequence with decreasing difference. . . . . . . . . . . . . . . . . . . . . . . . . 3-5 The coordinate systems of LiDAR and sonar. b, and 8R, 55 denote the translation vector and the rotation matrix that transform the sonar data to the Velodyne coordinate system . . . . . . . . . . . . . . . . . 57 3-6 Sonar coordinate system: Sonar gives returns up to a range of 10 m with an angle of 45 degrees. . . . . . . . . . . . . . . . . . . . . . . . 58 3-7 Surface reconstruction of both parts of marine structures, above and below waterline. The ICP algorithm is used to find the transformation matrices between different poses (using the laser scanner data). Then we use the transformation matrices to register the laser scanner data under the same coordinate frame and register the unregistered 2D sonar data as 3D data to the same coordinate frame. Then we use a probabilistic framework such as the occupancy grid based maps to clean up the point clouds, and then we use known surface reconstruction algorithms (ball pivoting algorithm and the Poisson reconstruction algorithm) to reconstruct a 3D surface model of the marine structure. 59 3-8 Filtering the sonar data. . . . . . . . . . . . . . . . . . . . . . . . . . 61 12 3-9 Reconstruction of a jetty in Pandan Reservoir, Singapore. (a) The target jetty. (b) Side view of the jetty model constructed by our algorithm. (c) Top view of multiple frames of the 3D LiDAR data before processing. (d) Top view of the constructed 3D model based on GPS and compass information. (e) Top view of the constructed 3D model generated by our algorithm. . . . . . . . . . . . . . . . . . . . . . . . 63 3-10 Reconstruction of a slowly moving boat in rough sea water environment, in Selat Pauh, Singapore. (a) Our operating area. (b) The target boat. (c) Side view of multiple frames of the 3D LiDAR data before processing. (d) Side view of the constructed 3D model based on GPS and compass information. (e) Side view of the constructed 3D model generated by our method. (f) Top view of multiple frames of the 3D LiDAR data before processing. (g) Top view of the constructed 3D model based on GPS and compass information. (h) Top view of the constructed 3D model generated by our method . . . . . . . . . . 64 3-11 Low resolution "real-time" model. . . . . . . . . . . . . . . . . . . . . 66 3-12 The mesh-based high quality map for the above-water part of the jetty, using a high probability threshold for occupied cells and the ball pivoting surface reconstruction algorithm. Cell-size=8cm. . . . . . . . . 67 3-13 The mesh-based high quality map for the above-water part of the jetty, using a low probability threshold for occupied cells and the ball pivoting surface reconstruction algorithm. Cell-size=8cm. . . . . . . . . . . . . 67 3-14 The mesh-based high quality map for the above-water part of the jetty, using a low probability threshold for occupied cells and the Poisson surface reconstruction algorithm. Cell-size=8cm. . . . . . . . . . . . . 13 68 3-15 Zoom in of the mesh-based high quality map for the above-water part of the jetty, using a low probability threshold for occupied cells and the Poisson reconstruction algorithm. Upper part, shows the pillars of the structure. Below left part, shows a surface of a human body (during the experiments we have people sitting and possibly moving on the jetty). Below right, shows two large buoys that are used to avoid direct collision of boats on the jetty. Cell-size=8cm. . . . . . . 69 3-16 Combined map: a) Picture of the front part of the structure. b) Point cloud-based map, front view. c) Point cloud-based map, side view. d) Above- and below-water mesh-based map. . . . . . . . . . . . . . . . 70 3-17 Upper part: A point cloud representation of the above- and belowwater parts of the structure. The color indicates the density of the points. Lower part: An occupancy grid based map of the above- and below-water parts of the structure. The color represents the probability of the cells to be occupied. Low probability gives blue colors and high probability gives red colors. . . . . . . . . . . . . . . . . . . . . . . . 73 3-18 Comparison between our results and pictures of the actual jetty taken from google maps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 3-19 Different types of oil platforms, the majority of the platforms are floating and slowly moving. The picture is from the Office of Ocean Exploration and Research . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 4-1 We can see the optimal control input (I*(t)), a representation of the optimal control input (u*(t)) and a control input that is close to the representation of the optimal control input (u(t) e.g. a control an algorithm that samples the control space returns). . . . . . . . . . . . 84 4-2 Pendulum on a cart . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 4-3 Pendulum on a cart: A typical close-to-optimal trajectory. . . . . . . 99 14 4-4 Cart and pole simulation results. Upper: Simple-uniform without pruning. Middle: Simple-uniform with pruning. Bottom: ExpandTreeRRT with pruning. The iterations shown are the valid iterations (do not count collisions), the actual iterations are approximate 2 times more. 4-5 101 Pendulum on a cart, statistics (results obtained by choosing a node to expand uniformly and using pruning). Left hand side: the statistics for the case constant integration time At = is is used. Right hand side: the case the integration time is uniformly sampled from [0, 3s] is used. The iterations shown are the valid iterations (do not count collisions), the actual iterations are approximate 2 times more. . . . . . . . . . . 102 . . . . . . . . . . . . . . 103 4-6 Close-to-optimal path as a function of time. 4-7 Close-to-optimal trajectory, in this case the integration time is uniformly sampled from [0, 3]sec. . . . . . . . . . . . . . . . . . . . . . . 4-8 104 Holonomic agent in a space without obstacles: We can see the optimal tree and the optimal trajectory at certain numbers of iterations. The green area in the upper left part of each figure indicates the goal region. 105 4-9 Holonomic agent in a space without obstacles: the statistics for 50 runs in logarithmic scale . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 4-10 The second case: two trajectories the algorithm returns for certain number of iterations and the statistics. 4-11 The second case: the statistics. . . . . . . . . . . . . . . . . . 106 . . . . . . . . . . . . . . . . . . . . . 107 4-12 Dubin's airplane: Different views of a close-to-optimal trajectory (preliminary results). 5-1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 For the biased-RITA, each node to be expanded is chosen with probability proportional to the inverse of the density of the nodes within its neighborhood, here the first 3 nodes would be sampled with probability 5-2 2/8 and the last 2 with probability 1/8. . . . . . . . . . . . . . . . . . 115 A cartoon illustration of v-partitioning. 119 15 . . . . . . . . . . . . . . . . 5-3 First case study: we can see the average cost as a function of the running time in linear scale (left part) and in log-log scale (right part). In the upper part of the figure we can see results generated using Weighted-RITA, and in the lower part of the figure we can see results generated using Uniform-RITA. . . . . . . . . . . . . . . . . . . . . . 123 5-4 First case study, one run: The algorithm finds the first admissible trajectory (cost 120.6 units) after 0.7 seconds. The first admissible solution found does not belong to the same homotopy class as the optimal trajectory. We keep running the algorithm, and at 71.5 seconds it switches to a different homotopy class and finds another admissible trajectory with cost 114.9 units. The algorithm improves the current solution within the same homotopy class (at time 117.3 seconds and cost 100.85 units). At time 171.4 seconds it finds another admissible trajectory with cost 92.5 units. After 400.3 seconds, it finds a better trajectory (this particular one of cost 68.7 units), which belongs to the same homotopy class as the optimal trajectory, and eventually this trajectory converges to a near-optimal one (63.8 units after 951.1 seconds). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 5-5 First case study: Above part) Comparison between the trajectory that the algorithm converges to and the optimal holonomic trajectory. We see that the optimal holonomic trajectory is close to the one the algorithm generates. Upper right and below part) The effect of additional obstacles (gray color) close to the structure of interest. . . . . . . . ..126 5-6 First case study: we can see the average cost as a function of the running time in linear scale (left part) and in log-log scale (right part). In the upper part of the figure we can see results generated using Weighted-RITA, and in the lower part of the figure we can see results generated using Uniform-RITA. . . . . . . . . . . . . . . . . . . . . . 127 16 5-7 Second case study, (a-d) the algorithm finds the first admissible solution after running for 43.5 seconds (cost 219 units). It improves the current solution within the same homotopy class (113.7 seconds for cost 200 units). Then the algorithm explores few other homotopy classes and finally it converges to a trajectory with cost close to the optimal one (177.6 units in 51 min). (e-f) Different homotopy classes of trajectories with cost close to the optimal one. (i-j) Results with additional obstacles (obstacles in gray color). . . . . . . . . . . . . . . 129 5-8 TSP-art-gallery approach: upper left shows the best inspection trajectory out of 40 runs (cost 212 units), upper right: shows a typical trajectory (cost 265 units), lower right: the TSP solver failed to compute a good visiting order because the obstacles were not considered for the TSP problem, lower right: It fails to find a feasible trajectory because one of the observation points was chosen to be close to the obstacles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 5-9 The size of marine structures and their mooring lines is huge. . . . . . 133 5-10 Top and isometric views of typical runs for each one of the missions. a-b) close-to-optimal trajectory for the "ring" mission, c-d) close-tooptimal trajectory for the "knot" mission and in e-f) close-to-optimal trajectory for the "maze" mission. . . . . . . . . . . . . . . . . . . . 135 5-11 Several views of typical runs for each one of the missions. a-b) closeto-optimal trajectory for the "oil rig" mission, c) a 3D CAD model of a real oil rig, d-f) close-to-optimal trajectory for the "Submarine" mission. 136 6-1 Effect of additive control and state noise . . . . . . . . . . . . . . . . 146 7-1 The set of all path planning problems is a subset of the set of all inspection planning problems and the set of all the inspection planning problems is a subset of the set of all the task planning problems. 17 . . . 149 18 List of Tables 5.1 Weighted-RITA: Average running times and iterations to get the first feasible inspection trajectory and close-to-optimal inspection trajectories134 5.2 Uniform-RITA: Average running times and iterations to get the first feasible inspection trajectory and close-to-optimal inspection trajecto- .................................134 ries . . 19 20 Chapter 1 Introduction 1.1 Motivation Autonomous inspection of structures is a complex problem with several applications to the marine, terrestrial and space environments. Efficient methods for structural inspection have become increasingly important to ensure the safety and functionality of structures. Higher shipping traffic and increased terrorist threats demand faster and more frequent ship and harbor inspection. Likewise, greater demands on land infrastructure create the need for faster bridge and road network inspection. The need for faster and more frequent structural inspection has increased the demand for structural inspection using autonomous robots. Two essential parts of the autonomous (robotic) inspection problem are path planning and surface reconstruction. The inspection (path) planning is the problem of finding an inspection trajectory that is informative enough to gather data (such as sonar and LiDAR data) from different views of a given structure that guarantee that all surfaces of the structures would be visible at a later time -during the algorithm execution. Given data gathered from all different views of a given structure, the surface reconstruction problem is the problem of registering all data under the same coordinate system to get a point based representation of the structure and then use meshing algorithms to reconstruct a 3D CAD model of the structure of interest. In this thesis, we focus on both the inspection planning problem and the surface 21 reconstruction problem. Another essential part of the autonomous inspection problem is the inference problem. In this part of the problem, the method performs inference over the obtained model to identify features of interest; in this work we do not focus on the inference part of the problem. Contributions (e.g. algorithms and theoretical results) developed in this thesis can be applied for any kind of structure such as terrestrial structures, road networks, bridges, space stations and marine structures. However, this thesis is motivated by the inspection of marine structures, and therefore this is the focus of this work. The inspection problem of marine structures is a very important problem with several applications including, evaluation and re-evaluation of the structures' condition, identification of missing or broken parts, detection of foreign objects attached to the structures (e.g. mines or explosives), and navigation purposes. Depending on the application, the required resolution can vary from about 7cm (e.g. mine detection tasks) to 0.5m (missing or broken parts) or even to 1m for navigation tasks. Marine structures are exposed to challenging conditions such as water currents, water waves, corrosion, and frequently several hurricanes per year. This exposure results in unpredictable damages to the marine structure, which could be life threatening for the people on and around such structures. Therefore, to ensure safety, thorough structural inspections are required regularly or after a platform is affected by natural disasters. For example, after Hurricane Dennis in 2005 [15], structural inspection of Thunder Horse oil platform (Fig. (1-1)) was needed as soon as possible to identify damages on the platform and re-evaluate the platform's condition. Currently, such inspections are performed by human workers through visual observation. They inspect the above-water part of the structures aboard small boats, and use diving equipment for the submerged portions of structures. In Figure (1-2), we can see a diver inspecting the underwater part of a platform in the Gulf of Mexico [1]. In both situations, inspectors often lack the time and comfort to inspect the structures and re-evaluate structures' status properly. In addition, visual examination does not give inspectors the ability to track important structural changes. Scanning the structures, using robots, and automatically reconstructing 3D models from the 22 Figure 1-1: Thunder Horse oil platform after the Hurricane Dennis in 2005 [15]. scanned data would give the inspectors the opportunity to inspect structures from their offices, thereby reducing the safety risks of the inspectors and increasing the accuracy of the inspection results. 1.2 Challenges in the Inspection Planning Problem Efficient methods for structural inspection have become increasingly important to ensure safety. Higher shipping traffic and increased terrorist threats demand faster and more frequent ship and harbor inspection. Likewise, greater demands on land infrastructure create the need for faster bridge and road network inspection. The need for faster and more frequent structural inspection has increased the demand for structural inspection using autonomous robots. An efficient inspection planning algorithm is critical for developing such autonomous robots. Inspection planning is the problem of finding an inspection trajectory, i.e., 23 Figure 1-2: Diver inspecting a platform in the Gulf of Mexico; the picture is taken from "TheOceanCorporation" [1]. a trajectory for the robot to scan all points on the structures. In this thesis, we focus on the inspection planning problem where the model of the structure and the environment are perfectly known prior to planning, and the robot has no control nor sensing error. More specifically, we would like to compute optimal or close to optimal inspection trajectories for robots with non-linear dynamics. Although many inspection planning methods have been proposed, most are not suitable for robots with differential constraints. Most methods [29, 36, 37, 38] separate the inspection planning problem into two NP-hard problems and then solve each subproblem sequentially. The first sub-problem is the art gallery problem, which finds the smallest set of observation points that the robot needs to visit to guarantee 100% coverage. The second sub-problem is the traveling salesman problem (TSP), which finds the shortest trajectory to visit all observation points that have been generated by the art gallery solver. This separation approach is difficult to apply when the robot is non-holonomic and operates in cluttered environments, as the observation points generated by the art gallery problem may not be reachable from other observation points in the set. Furthermore, even if we generate the smallest set of observation points and even if we find the shortest trajectory to visit all points in the set of observation points, the generated inspection trajectory may not be the shortest trajectory for scanning all points on the boundary of the structure. 24 In addition, because most of the existing TSP solvers do not take into account neither vehicle dynamics, nor obstacles in the configuration space (e.g. the cost for connecting each one of the nodes is based on the euclidian distance), then the resulting visiting order results in trajectories that are far from optimal. In Fig. (1-3) we can see an example where the observation points are chosen correctly however the resulting trajectory is not close to optimal because the TSP algorithm computes the visiting order ignoring the obstacles. There is ongoing work on the multi-goal path planning community that tries to address the TSP problem in the presence of obstacles using heuristics (e.g. [114]), and in the presence of differential constraints without obstacles (e.g. [115]). Algorithms, presented later in this thesis can be used to address (in a probabilistic way, using randomized algorithms) the TSP problem in the presence of differential constrains and obstacles, however, this is not within the scope of our work. In short, most existing inspection planning methods are often not suitable to find a short inspection trajectory for robots with non-holonomic constraints. 9I Figure 1-3: An illustration of a TSP-art-gallery approach: In this example, even if the observation points are chosen correctly the resulting trajectory is not close to optimal because the TSP algorithm computes the visiting order ignoring the obstacles. In summary, because the computation of the observation points and the visiting order cannot be computed independently, even for holonomic systems, by separating the inspection planning problem to the TSP and the art-gallery problem optimal or close to optimal inspection planning may be impossible to be achieved. Instead, we model the problem as an optimization planning problem and we propose a solution based on tools and ideas developed by the path planning community and novel ideas 25 we present in this thesis. As we show later in this thesis this approach achieves optimal inspection planning. A general way to define a planning problem is as follows. Given a dynamical system, the obstacle free space (e.g. a subset of the state space that is obstacle free) and task specifications, we define an admissible path to be any obstacle free path that represents a solution to the system dynamics and does not violate the task specifications. Then an optimal task planning problem computes among all admissible paths the one that minimizes a cost function. The simplest category of task planning problems is the path planning problem; for the simple path planning problem an admissible path is an obstacle free path that starts from a given state, reaches the goal region and represents a solution to the system dynamics. Similarly, among all admissible paths the optimal path planning problem computes the one that minimizes a given cost function. In addition, for the optimal inspection planning problem we define an admissible path to be an obstacle free path that observes all details on a given structure. Figure (1-4) gives an overview of the path planning problem, the optimal path planning problem, the optimal inspection planning problem and the general task planning problem (for more details refer to the next chapters). It is important to notice that it is extremely difficult to study the above problems in the state space since each planning problem (e.g. path planing, inspection planning, task planning) needs a separate analysis. In fact, the path planning community treats the inspection planning problem and the path planning problem in a different way separating it into the TSP and the art-gallery problems. Instead, of searching for an admissible path, if we search the control space for an admissible trajectory (path in the control space) similar analysis holds for each one of the planning problems. For instance, we assume that there is an optimal trajectory (control input) and our focus is to compute it (or approximate it). In this work, we will first study the simple path planning problem and then we extend our approach to the inspection planning problem. Unfortunately, even the simple path planning problem is proven to be a PSPACEhard problem, in fact it was proven to be a PSPACE-complete problem (with re26 Path Planning Optimal Path Planning Optimal Inspection Planning Given: Given: Given: [11 Dynamical system: ' (t) = f 0(t), U(t), t) [1] Dynamical system: ;Y(t) = f(-IM, u(t), t) [1] X0t = [21 Free space: Si, [2} ree [31 Initial state: Sin [2 Pree space: St [3} Initial state: Sin [41 Goal region: GoalfRegion c Stra [4] Goal region: GoalRegion C Sfee 141 Compute: [1] Path y : [0, Tc --+ S Such that: Y(O) = Sin 7(TG) E GoalRegion 7(t) E SfreeVt E [0, Tc Dynamical system: 0~(t), u(t), 0) space: Se. [3J Initial state: Sin Structure Primitives: STR Optimal Task Planning Given: [1] Dynamical system: Wt = f(-Y(t), u(t), 0) [21 ree space: Sje [31 Initial state: Sin [41 'ask specifications: TASK Define admissible path: -y : [0, TJ - S such that Define admissible path: Y : [0, TGJ -+ S such that y(O) = Sin 'Y(0) = Sin -y(Tc) E GoalRegion -y(t) E Str.Vt E [0,TGI 7(t) E Sfr.Vt E [0,Tcl = STR, where V(-y(t)) C STR Compute: -y verifies all TASK speci- -(t) E Sfre.Vt E 10, Tca Compute: y* = argmaxmEr(D(y)), where: D(y): Cost function r: Set of admiss. paths UtCJ0TorG V(-y(t)) *-= argmax_,Er(D(7)), where: D( 7 ): Cost function F: Set of admiss. paths Define admissible path: y : [0, Tel - S such that ()= Sin fications Compute: y* = arg max1 tr(D(-y)), where: D(y): Cost function F: Set of admiss. paths Figure 1-4: Different planning problems: the path planning problem, the optimal path planning problem, the optimal inspection planning problem and the optimal task planning problem. spect to the number of dimensions) [111, 117, 18]. PSPACE-complete problems are the hardest problems among all PSPACE problems, and PSPACE problems may be harder than NP problems (see Figure (1-5)). Because the dimensionality of the inspection problem for agents with differential constraints can be large, this thesis introduces the use of sampling-based motion planners [21] to compute close-to-optimal inspection trajectories. Significant scientific work has been dedicated on sampling-based motion planners: Probabilistic RoadMap (PRM) [69], Expansion Space Tree algorithm (EST) [61], Rapidly-exproring Random Trees algorithm (RRT) [80]; however, until today the problem of asymptotically optimal motion planning for sampling-based motion planners still remains an open problem for systems with differential constraints. Sampling-based approaches [21], [81], are the most successful approaches for solving simple path planning problems for high-dimensional systems. Up to a few years ago, sampling-based motion planners were only known to be probabilistically com27 PSPACE -^, NPC- LOG S ace O% Time% Figure 1-5: The simple planning problem is a PSPACE-hard and a PSPACE-complete problem (adapted from [100J). plete, in the sense that given enough time, they will find an admissible trajectory with probability one whenever such a trajectory exists. The question of optimality was addressed recently in [671. They developed sampling-based algorithms that are asymptotically optimal, such as PRM* and RRT*.l Although PRM* and RRT* perform well for robots with simple dynamics, such as holonomic robots, extending asymptotically optimal sampling-based planners to systems with complex dynamics remains an open problem. The difficulty lies in the fact that both RRT* and PRM* perform their sampling in the configuration space and therefore require a steering function that drives the robot from one configuration to the other. Unfortunately, steering functions are often difficult to find and may not even exist for systems with complex dynamics, such as systems with non-holonomic constraints. We believe that for the general case, where we have non-linear underactuated robots, sampling the control space directly may be a better choice. By sampling the control space directly, the difficulty of dealing with challenging dynamics and the necessity of the use of a steering function is alleviated. In fact, in this thesis we show that asymptotic optimality in sampling-based motion planning, inspection planning and general task planning (given the optimal admissible trajectory is a finite 1 where asymptotically optimal means, given enough time, the probability the planner returns a trajectory close to the optimal trajectory, is one. 28 time trajectory) can be achieved without the use of a steering function. Our analysis only requires Lipschitz continuity of the differential constraints and the cost function. 1.3 Optimality Through the Control Space Currently, the optimality property for sampling-based motion planning algorithms that sample the state-space (e.g. RRT* [67]) is established only for linear-fullycontrollable systems and a small subset of non-linear systems. The extension of the optimality proof for algorithms that sample directly the control space (without a steering function) is not obvious and it has been an open problem in robotics since 1997. One of the key differences is that in the case we have a steering function and we sample points uniformly at random from the state space, e.g. the RRT* algorithm, each iteration of the RRT* algorithm is independent of the previous one. As a result the Borel-Cantelli lemma [67] can be used to show that the probability of sampling arbitrarily close to the optimal path approaches to 1 as the number of iterations increases. In the case the control space is sampled uniformly at random the above does not hold, and as a result Borel-Cantelli lemma cannot be used. In addition, the metric space used for the RRT* case (for fully controllable systems) is based on the Euclidean distance in the state space. In contrast, the approach we present in this thesis is general enough to use any cost function that is continuous. 1.4 Challenges in Surface Reconstruction by Marine Vehicles There is a plethora of scientific work [95, 92] dedicated to the reconstruction of 3D models for land-based structures, however very few works have been dedicated to marine environments. Unpredictable disturbances such as water currents, and the marine environment itself pose significantly more challenges compared to the challenges posed by terrestrial (shore) environments. Water currents generate disturbance 29 forces on marine vehicles, resulting in large roll and pitch angles. Furthermore, many marine structures are floating platforms, which move under strong currents. On top of that, GPS (Global Positioning System) access close to big marine structures is not reliable and other localization sensors developed for marine vehicles lag behind the ones developed for ground robots. The 3D surface reconstruction problem often requires gathering 3D point clouds and registering them under the same coordinate frame. In the case of stationary structures, 2D laser scanners and localization sensors (GPS, Inertial Measurement Unit (IMU), Doppler Velocity Logger (DVL) or wheel encoders) can be used to gather 3D data from stationary environments [57]. In addition, advanced SLAM techniques can be used to optimize the estimated trajectory and the resulting map [131, 116]. On the other hand, in the case of slowly moving structures special care should be taken in both gathering the 3D point clouds and registering them under the same coordinate frame. In the absence of knowledge over the motion of the structure, data gathered using 2D laser scanners combined with localization units cannot be used to reconstruct point cloud representations of structure views. From our discussion above, it is clear that when dealing with moving structures, 3D laser scanners with a wide field of view that allows significant overlap between subsequent laser scans should be used to gather point clouds. Then, registration algorithms that are invariant to motion, such as the Iterative Closest Point (ICP) [14], can be used to register all data gathered under the same coordinate frame resulting in a point cloud representation of the structure of interest. In the case of stationary structures, researchers commonly use estimates of vehicle positions to initialize the ICP algorithm, [95], however this is not always feasible in the case of moving structures. Part of this thesis (Chapter (3)) presents the hardware and software designs for scanning and reconstructing 3D surface models of marine structures. We alleviate the difficulty caused by disturbances, moving structures, and sensor errors by hardware and software design. In terms of hardware, we select sensors that would ease construction of 3D models from scanned data when no positioning sensors are available. 30 Furthermore, we develop a software system that constructs 3D point cloud models of marine structures from the scanned data and by using known surface reconstruction techniques reconstructs 3D surface models of marine structures. We have successfully tested our system in various conditions in Singapore waters between 2009 and 2011, including operating in the water with up to 2m/s water currents, and constructing 3D models of slowly moving structures. All the structures are constructed without any information from positioning sensors, such as GPS and DVL. The problem of reconstructing surfaces from registered point clouds still remains an open problem. There are several algorithms that reconstruct surfaces from point clouds, some of them reconstruct exact surfaces (interpolating surface) by a triangulation that uses a subset of the input point cloud as vertices [13], [5]. These approaches perform well in clean point clouds and present problems when the point clouds are noisy. Some other approaches reconstruct approximating surfaces by using best-fit techniques [55] [70], [3]. These approaches are robust to noise in the point clouds, however they tend to over-smooth the surfaces and thus important part of the structure geometry may be lost. A comparison between several state-of-the-art surface reconstruction techniques can be found at [12]. 1.5 Publications Our surface reconstruction work was presented to several referee conference papers e.g. [76, 108] and published to Journal of Field Robotics (JFR) [107]. Our inspection planning work was presented to IEEE ICRA 2013 [102] and submitted to TRO [104]. Our path planning work is currently under-review to International Journal of Robotics Research [105], preliminary results can be found online in the "arXiv.org" [101]. An important part of robotics and especially marine robotics is the localization problem. It is well-known that there is no GPS access available underwater, this makes navigation of underwater vehicles a challenging problem. This thesis does not focus on the localization problem, however we have worked on the localization problem in previous contributions including several referee conference papers [106, 42, 41], a book 31 chapter published by Springer-Verlag [43] , and an International Journal of Robotics Research paper [44]. 1.6 Outline of the Thesis In Chapter (2) we describe related work on both the path planning part of the problem and the surface reconstruction problem. Regarding the path planning problem we will start with early results that explore the complexity of the problem and then focus on sampling-based motion (path) planners. In addition, we will also describe previous work on the inspection planning problem that use greedy methods, heuristics, and art-gallery-based approaches. We start the main part of this thesis with Chapter (3) where we describe hardware and software designs for scanning and reconstructing 3D surface models of marine structures. The proposed system was tested extensively in Singapore's coastal waters and a rich set of experimental results is presented. Doing the surface reconstruction experiments in Chapter (3), we realized how difficult is to compute robot trajectories that guarantee 100% structure coverage. The above open question motivated us to focus on the inspection planning problem which is modeled as a path planning optimization problem. In Chapter (4) we focus on the simple path planning problem; we provide an analysis that indicates that asymptotically optimal path planning can be achieved using sampling in the control space and thus asymptotically optimal path planning for non-linear systems can be achieved without the use of a steering function. We also provide simulation results. Taking advantage of the analysis presented in Chapter (4), in Chapter (5) we provide a novel inspection planner that achieves asymptotically optimal inspection planning using sampling in the control space. A rich set of simulation results is provided. The planner developed in Chapter (5) does not take into account uncertainty and noise. However, in Chapter (6) we study the robustness of close-to-optimal trajectories in the presence of control and state noise. In Chapter (7) we summarize our work with conclusions, contributions and future work. In the Appendix (A) and Appendix (B) we derive some probability equations that are useful for Chapter (4). 32 Chapter 2 Related Work 2.1 Inspection Planning Problem Given a perfect model of a structure, sensor specifications, robot's dynamics, an environment map and an initial configuration of a robot, an inspection planning algorithm computes an inspection trajectory (or path) that observes the entire surface of the structure of interest. The problem of inspection planning has attracted the interest of several researchers over the last 20 years. Choset's group proposed planners for coverage, exploration and sensor-based coverage using cell decomposition methods [20, 22], Voronoi diagrams [2], and various heuristics [6]. Approaches based on cell decomposition methods yield good results but are restricted to low-dimensional state spaces. In this subsection we will concentrate on related work concerning inspection planning approaches (e.g. sensor-based coverage and structure coverage) whereas in the next subsection we will concentrate in the Coverage Planning Problem (CCP). We first discuss early methods that discretize the free space, use graph representations of the free space and search methods and heuristics to compute admissible paths. One of the first sensor-based coverage approaches for surfaces in 3D environments utilizes the use of 2D terrain-covering algorithms in successive horizontal planes laying at different depths and several heuristics. The proposed method can be used to map the seabed using AUVs (simulation results are provided) [51, 82]. The underling 2D terrain-covering algorithm uses cell decomposition methods and zig-zag 33 patterns to cover each one of the cells and their projected volume with respect the depth. Atkar et al. [8, 7] proposed the use of coverage algorithms for generating paths for autonomous/robotic painting applications. This approach utilizes a Morse decomposition method and a Reeb graph representation of the space that captures the topology of the surface of interest. It gives good results for the target application however it cannot handle additional obstacles in the configuration space and it is not scalable for different coverage problems. Recently Cheng et al. [19] proposed a method that uses fine discretization optimization methods to compute time-optimal trajectories that provide complete 3dimensional coverage with applications to urban environments with 2.5-dimensional features. The basic approach is to approximate the features of interest with a set of non-planar coverage surfaces and to design a motion plan that guarantees the coverage surface is swept completely with a conical-field-of-view sensor. Simulation and experimental results are provided for a sensor attached to an unmanned aerial vehicle (UAV). Most of today's inspection planning methods can be divided into two approaches. One approach [29, 36, 37, 38] separates the problem into two sub-problems, the art-gallery problem and the TSP. Although most art-gallery solvers in computational geometry [99] do not consider sensor limitations, such as range limit, Gonzalez-Banos et.al. [48] have developed a method that takes into account sensor limitations. They use a randomized algorithm to select observation points that provide 100% coverage of the environment [47]. Danner and Kavraki [29] proposed the first randomized inspection planning algorithm that uses a similar method to the one Gonzalez-Banos proposed to compute the guard points and then connects them to form inspection paths. The visiting order of the guard points is obtained by approximating the TSP solution; Danner and Kavraki also expand their work to simple 3D environments. A similar approach was taken by Englot and Hover [38] with application to complex 3D structures such as ship hulls. Their approach was probably the first one that handles large structure sizes. Methods based on this separation approach often have difficulties to plan trajectories for robots with non-holonomic constraints operating 34 in cluttered environments, because some observation points generated by art-gallery solvers may be difficult or even impossible to reach from other observation points. Furthermore, these methods do not provide optimality guarantees, even if each subproblem is solved optimally. Englot and Hover [38] provide a probabilistic completeness analysis of the algorithm and propose a smoothing algorithm that shortens the inspection paths by taking advantage of the asymptotically optimal RRT* algorithm; without guarantee of global optimality. Another approach (e.g., [53]) relies on a sub-modular objective function to guarantee that greedy algorithms generate near-optimal solutions. However, when the objective is to minimize the length of the inspection trajectory, as in our case, the problem is not sub-modular, and a greedy method may have difficulties as described in Figure (2-1). 404 R L Figure 2-1: An illustration of greedy strategy that always chooses to move to a configuration within R radius from its current position, that can see the largest unseen structure. The environment contains two structures, i.e., the "U" shaped at the bottom and the line at the top. In this example, the greedy strategy may fluctuate moving down and up, while the shortest trajectory would move to cover the structure on the top first, before going down. 35 2.2 Coverage Planning Problem A very similar problem to the inspection planning problem (e.g. the structure cov- erage problem, the sensor-based structure coverage problem) is the Coverage Path Planning (CCP) problem. For a given visibility sensor, environment map and robot dynamics, the Coverage Path Planning is the task of determining an obstacle-free path that covers all the parts of the obstacle free space. An admissible solution to the CPP problem could also represent an admissible solution to the inspection planning problem, however the opposite does not hold. Most of the previous CCP approaches deal with 2D workspaces, holonomic robots and assume disk-shaped sensor foot-prints with diameter of the same size of the robot physical diameter. Choset and his group have studied the CPP problem extensively [23]. Among the first approaches they proposed were approaches based on cell decomposition methods. All the cell decomposition based methods require: " Exact decomposition of the free space into cells. " Computation of the adjacency graph. " Search methods to compute a path that visits all of the cells at least once. " Local planning strategies to cover each one of the cells (e.g. zig-zag motion pattern or mowing the lawn pattern). The trapezoidal decomposition is the simplest cell decomposition approach that guarantees a complete coverage of the space [79]. Because it decomposes the space into trapezoidal shaped cells, each cell can be covered by simple back-and-forth motion [98]. On the other hand, because of the simplicity of the trapezoidal shaped cells, this approach generally results in a huge number of cells increasing the difficulty of the problem. To address this problem, Choset and Pignon proposed the boustrophedon cell decomposition method that takes into account the shape of the obstacles in the space and generates convex and non-convex shaped cells [241. Both the trapezoidal cell decomposition and the boustrophedon cell decomposition can only handle 36 planar polygonal spaces. To address this issue, Acar et at. proposed a cell decomposition approach based on critical points on Morse functions [2]. The Morse-based cell decomposition approach can handle arbitrarily shaped obstacles in the state space. By choosing different Morse functions arbitrarily shaped cells can be obtained (e.g circular, trapezoidal etc.). Another family of CPP approaches is the grid-based method that discretizes the free space into uniform grid-cells. As opposed to cell decomposition methods that result in complete coverage, grid based approaches result in resolution-complete cov- erage. Gabriely and Riman [45] developed the Spiral-Spanning Tree Coverage gridbased approach that discretizes the free space into uniform grid-cells and uses algorithms (from graph-theory) to compute a tree that "visits" all grids. Zelinsky et at. [135] proposed another grid based coverage approach; the proposed approach uses a wavefront algorithm and gradient following methods to compute a path that passes from all grid-cells. Additional related work for the CPP problem can be found in [23, 46]. 2.3 Path Planning Given a dynamical system, the obstacle-free space (e.g. a subset of the state space that is obstacle-free) and task specifications, we define an admissible path to be any obstacle-free path that represents a solution to the system dynamics and does not violate the task specifications. Then an optimal task planning problem computes an admissible path that minimizes a cost function. The simplest category of task planning problems is the path planning problem; for the simple path planning problem an admissible path is an obstacle-free path that starts from a given state, reaches the goal region and represents a solution to the system dynamics. Similarly, among all admissible paths the optimal path planning problem computes the one that minimizes a given cost function. In addition, for the optimal inspection planning problem we define an admissible path to be an obstacle-free path that observes all details on a given structure. 37 Early scientific work on the path planning problem has illustrated that the simple path planning problem is an intractable problem [111, 117, 181. Studying the "piano mover's" problem (a simple path planning problem) using differential geometry methods Reif [111] has shown that the simple "piano mover's" problem (and therefore the simple path planning problem) is a PSPACE-hard problem. Few years later, Schwartz and Sharir [117] proposed the first complete algorithm that solves the "piano mover's" problem with doubly exponential running time. Given that Reif [1111 has shown that the simple "piano mover's" problem is a PSPACE-hard problem, it was unknown for about ten years whether the problem is PSPACE-complete problem or much harder. In his Ph.D dissertation Canny [18] proposed an exponential-time and polynomial-space algorithm illustrating that the path planning problem is in fact a PSPACE-complete problem. Since the path planning problem is a PSPACE-complete problem, all practical algorithms that solve the path planning problem relax the completeness requirement one way or another. There are two families of practical path planning algorithms: the deterministic path planning algorithms and the sampling-based path planning algorithms. Deterministic algorithms often give up the completeness property, on the other hand, sampling-based planners relax the completeness requirement to the probabilistic completeness requirement. A sampling-based planner is called a probabilistic complete algorithm if, given that an admissible trajectory exists, the probability will return an admissible trajectory approaches to one as the number of iterations increases [21]. Much scientific work has been dedicated to the path/motion planning problems [79, 21, 81]. Among the first path planning algorithms developed were the "bugi" and "bug2" algorithms [89]. very simple actions (e.g. The bug algorithms use workspace information and the agent moves only on straight lines and follows the boundaries of the workspace). The introduction of the "configuration space" and the "free space" by Lozano-Perez [88] has enabled researches to study the problem in its correct base. Several approaches have been proposed including: potential fields [71, 9], discretization methods [54, 97] and sampling-based approaches [69, 68]. 38 Planners based on potential fields construct a potential field on the configuration space in a such way that obstacles push away the agent and the goal configuration attracts the agent [71]. Thus an admissible trajectory can be computed using gradient-following methods. However, until today the construction of a potential field over a general configuration space that has a unique global minimum remains an open problem, thus these methods easily get trapped in local minima. On the other hand, discretization methods such as cell decomposition methods and decompositions based on Voronoi diagrams yield good results but are restricted to low-dimensional spaces. Over the past two decades, several sampling-based motion planners have been proposed. Sampling-based planners can be divided into two broad categories, i.e., graphbased approaches (multi-query) and tree-based approaches (single-query). Graphbased approaches first construct a random graph in the configuration space and then use the graph to find admissible paths. This approach includes Probabilistic RoadMap (PRM)[69], [681, and it variants [125],[741,[35],[60], [4]. Tree-based approaches construct a random tree and stop construction whenever the constructed tree contains a path from a given initial configuration to the goal region. This approach includes the widely used Rapidly-exploring Random Trees algorithm (RRT) [801 and its variants e.g. [134]. Another type of tree-based sampling based planner is the Expansive Space Tree (EST)[61]. In terms of handling differential constraints, the main difference between the RRT planner and the EST planner is that the former performs its sampling in the configuration space and the latter performs its sampling in the control space. Recently, Karaman and Frazzoli showed that RRT and PRM converge to a nonoptimal trajectory and they developed asymptotical optimal planners e.g. RRT* and PRM* [67],[66]. However, a steering function is required to guarantee optimality and thus they are not suitable for general systems with differential constraints. Perez et al. [110] proposed the use of the RRT* algorithm combined with LQR methods to solve path planning problems with challenging dynamics. Similarly, Tedrake et al. [126] proposed the LQR-Trees for feedback motion planning. However, these methods perform well only close to the linearization area. As a result the optimality properties 39 of the RRT* do not hold for the LQR-RRT based algorithms. More recently, Dobson and Bekris [331 proposed an algorithm that relaxes asymptotic optimality to near- optimality, to speed-up computing the solution. However, they still require a steering function. One of the main contributions of this thesis is to perform an analysis on samplingbased motion planning algorithms and shed some light on its challenges. As we show in Chapter (4), asymptotically optimal planning can be achieved by directly sampling the control space. Furthermore, by modifying existing planners, we proposed a new family of asymptotically optimal planners. As the number of iterations increases, the control input these algorithms sample approaches the optimal control input. 2.4 Surface Reconstruction The 3D model reconstruction problem can be considered a special category of the Simultaneous Localization and Mapping (SLAM) problem [128]. SLAM was originally introduced by Smith et al. [123] and solved using EKF approaches and feature based maps [1241. Dissanayake et al. [321 prove that the solution to the SLAM problem is possible and propose another solution to the EKF-SLAM problem. Thrun, Montemerlo et al. [129] [90] approach the problem from a probabilistic point of view, which was the foundation of the modern approaches that followed: Batch smoothing least squares optimization methods [31], its incremental equivalent [65] and incorporating loop closures [26] [27]. 2.4.1 3D Model Reconstruction using Ground Robots The 3D model reconstruction problem has attracted substantial research interest over the last 10 years. Although 3D model reconstruction by marine robots has not been studied extensively due to its difficulty, comparable processes have been researched using ground robots. Several robotic platforms were used and different mapping algorithms were proposed. Two different types of sensors (visual sensors and laser sensors) have been used, and each type has strengths and weaknesses. 40 Visual sensors are less expensive, but they do not provide data in R3 . However, by using machine learning techniques or vehicle motion or stereo vision, this method can obtain 3D data, making reconstruction feasible [91] [62]. Currently, vision-based 3D model reconstruction can be mainly accomplished in indoor environments where the distances are small and the brightness is limited. In the early stages of large-scale outdoor mapping research, 2D laser scanners were used to gather 3D point data. Howard et al. [57] gathered 3D data by mounting a 2D laser scanner on a segway. They fused GPS and INS measurements to get estimates of vehicle trajectory and reconstructed 3D point cloud representations of outdoor environments. Thrun et al. [130] reconstructed 3D point cloud maps of indoor environments using two laser scanners (2D). The first laser scanner was mounted horizontally and was used, combined with odometry measurements, to localize the vehicle. The second laser scanner was mounted vertically to scan the environment. Because the vertical scanner is not able to scan horizontal surfaces Zhao and Shibasaki [136] used 2D laser scanners mounted vertically and shifted 45 degrees to be able to capture horizontal surfaces. In their work, they used GPS and an expensive INS to localize the vehicle; estimates of vehicle trajectory and the laser scanner data were used to reconstruct 3D maps of outdoor environments. In later research, vehicles were capable of directly gathering 3D point clouds by coupling a 2D laser scanner with a low cost nodding actuator or by using a 2D spinning laser scanner. Harrison and Newman [50] developed a system able to gather 3D point clouds by coupling a 2D laser scanner with a low cost nodding actuator. They used odometry measurements and feature extraction algorithms to localize the robot and finally to reconstruct point cloud maps of outdoor environments. A similar approach was taken by [25]. Recently, Bosse and Zot [17] used a 2D spinning laser scanner to reconstruct 3D point cloud maps of outdoor environments. They used scan matching algorithms such as the ICP without using any other navigation sensor. A similar approach was taken by Holenstein et al. [52] in reconstructing watertight surfaces of caves using 3D laser data. A similar approach was taken by Nuchter et al. [95].They used a ground robot 41 equipped with dead-reckoning sensors and a rotating 2D laser scanner to reconstruct occupancy grid based maps of outdoor environments. The algorithm proposed was based on the ICP algorithm and dead reckoning measurements obtained onboard that were used to initialize the ICP algorithm. In addition efficient data structures such as KD-trees, were used to accelerate the ICP algorithm. In another work, Nuchter et al. [96] proposed an algorithm that does not use any navigation sensor. This new approach is based on the existence of skyline features. The skyline features were extracted from panoramic 3D scans and encoded as strings enabling the use of string matching algorithms for merging the scans. Initial results of the proposed method in the old city center of Bremen are presented. They also use the ICP algorithm for fine registration. Significant progress on 3D model reconstruction was achieved by Newman and his group [92]. Newman and his group utilized a combination of stereo vision and laser data to first localize the vehicle and then reconstruct 3D maps of the environment. They employed the Sliding Window Filter developed by Sibley [119] (that marginalizes poses that are further away as opposed to full pose batch optimization methods) to approximate the locally optimal trajectory. The proposed system also identifies and utilizes loop closures; their loop-closure system, FAB-MAP is described in [26] [27]. After estimating a good trajectory, they use the laser scanner data obtained and the estimated trajectory to produce a 3D point cloud map of the environment. They managed to illustrate good localization results using stereo cameras and loop closures for missions over 142km [1201. The majority of the work presented in the previous paragraphs reconstruct point cloud maps. Konolige et al. [73], instead of using point cloud representation of the environment, proposed the use of occupancy grid based maps. They developed a ground vehicle equipped with stereo cameras, GPS and wheel encoders. Using feature extraction methods they computed visual odometry. The visual odometry, the GPS and dead reckoning were used to localize the vehicle and reconstruct occupancy grid maps of outdoor environments. In an extension of their work [72] they incorporated loop closures and formulated the problem as a Bayes graph estimation problem which 42 was solved using non-linear least squares techniques which computes the trajectory that minimizes the least squares error. In recent research, Tong et al. [131] designed a vehicle and algorithms for mapping planetary work site environments. The vehicle used was a rover equipped with a 2D laser scanner mounted on a pan-tilt mechanism to utilize 3D data capture, stereo camera to provide visual odometry measurements and IMU. Advanced feature extraction algorithms were used to extract features. Extracted features and IMU measurements were used to localize the vehicle using advanced full pose non-linear least squares SLAM techniques. 2.4.2 3D Model Reconstruction using Marine Vehicles 3D model reconstruction by marine robots deals mostly with underwater surfaces and reconstruction of bathymetric maps. In the early years of bathymetric mapping, Singh et al. [121] presented results taken from deep seas around Italy. Their approach utilized a Long Base-Line (LBL) system that localized the underwater vehicle and a set of sonar sensors (side-scan sonar and an actuated pencil profiling sonar ) to scan the seabed. At the same time, Bennett and Leonard [111 reconstructed bathymetric maps of the Charles River using the AUV Odyssey II with use dead-reckoning sensors on board and a single altimeter sonar. In more recent years bathymetric research has been focussing on using SLAM algorithms to localize the vehicle. Ruiz et al. [127] used a side-scan sonar and onboard sensors to reconstruct bathymetric maps. They manually extracted features out of the sonar data and they used SLAM techniques to localize the vehicle and get better estimates of bathymetric maps. A similar approach was taken by Shkurti et al. [118]. They designed a new vehicle called The AQUA Underwater Robot, which is equipped with IMU and cameras. By extracting features on the seabed and using IMU measurements they are able to reconstruct the bathymetric map of small areas. Their approach utilizes an EKF SLAM approach. Roman et al. [112] reconstructed bathymetric maps by fusing navigation measurements and relative poses given by the ICP algorithm. 43 Johnson et al. [63], using an underwater vehicle, presented results on large scale 3D model reconstruction and visualization of bathymetric maps from Australian coastal waters. The proposed vehicle was equipped with stereo cameras, sonars, a DVL, accelerometers, depth sensors, GPS (it surfaces to acquire GPS fixes) and was also using Ultra-short Base Line (USBL). Using stereo cameras they extracted features that are used to compute visual odometry. The visual odometry was combined with readings from other sensors on board to estimate vehicle trajectory and then the vehicle trajectory was used to reconstruct the map of the seafloor using reading from cameras. They also used meshing algorithms to reconstruct mesh representations of the seafloor. In a different direction of the surface reconstruction problem using marine vehicles, Fairfield et al. [40] and [39] used a hovering underwater vehicle to reconstruct surfaces of caves and tunnels. Their method consisted of a Rao-Blackwellized particle filter with a 3D evidence grid map representation. In addition, they used occupancy based grid representation of the environment. More recently, significant progress has been achieved on surface reconstruction for ship hull inspection by Hover et al. [56]. The closest work to that presented in this work (Chapter (3)) is Leedekerken et al. [83]. In Leedekerken et al. [83], a set of 2D laser scanners is combined with a high-accuracy localization unit that combines GPS-IMU and DVL. The use of highaccuracy localization units enable Leedekerken et al. [83] to present high-accuracy surface reconstruction results from non-moving structures. In contrast, our work uses a powerful LiDAR Velodyne laser scanner and assumes a GPS-denied environment without using any other localization sensors such as IMU or DVL. In addition, Leedekerken et al. [83] use a forward-looking sonar that mostly provides bathymetry data rather than data on the submerged part of the structure, whereas we scan the below-water part of the marine structure of interest with a side-looking sonar. Another key difference between our approach and other surface reconstruction approaches (including [83]) is that our approach can reconstruct 3D models of moving structures such as floating platforms and boats. Results, presented later in this thesis, indicate that the proposed algorithm can reconstruct 3D models of slowly moving 44 structures. Slowly moving structures are commonly found in the offshore oil industry. Reconstructing models of large 3D moving structures is not easily done using known SLAM techniques that first compute vehicle trajectory and then project laser scanners or cameras data using vehicle trajectory. In the case of moving structures this cannot be done because vehicle trajectory and laser data obtained from different views are not sufficient to describe the structure. In this work, we are not interested in vehicle trajectory, instead we compute an equivalent trajectory (set of transformation matrices) that minimizes registration error between different scans. In the case of stationary structures, the equivalent trajectory obtained should be close to the actual one. 45 46 Chapter 3 Surface Reconstruction Using Marine Vehicles Over the last ten years, significant scientific effort has been dedicated to the problem of 3D surface reconstruction for complex structures. However, the critical area of marine structures remains insufficiently studied. The research presented here focuses on the problem of 3D surface reconstruction in the marine environment. This Chapter summarizes our hardware, software, and experimental work on surface reconstruction over the last five years. We propose the use of off-the-shelf sensors and a robotic platform to scan marine structures both above and below the waterline, and we develop a method and software system that uses the Ball Pivoting Algorithm (BPA) and the Poisson reconstruction algorithm to reconstruct 3D surface models of marine structures from the scanned data. We have tested our hardware and software systems extensively in the field in the Singapore coastal zone, including operating in rough waters, where water currents are around 1-2m/s. We present results on construction of various 3D models of marine structures, including stationary jetties and slowly moving structures such as floating platforms and moving boats. Furthermore, the proposed surface reconstruction algorithm makes no use of any navigation sensor such as GPS, DVL or INS. 47 3.1 Introduction As we illustrated in the introduction of this thesis, the inspection problem can be decomposed into the inspection planning problem and the surface reconstruction problem. In the next three chapters we focus on the path and inspection planning problems and we develop algorithms that compute optimal inspection trajectories, whereas here we focus on the surface reconstruction problem. In addition, our inspection planing work does not depend on the eventual inspection application. In this chapter, we focus on marine structure surface reconstruction problem. As a starting point we assume that we have data such as laser scanner data and sonar data that covers all details of a given structure and we would like to put together this data to reconstruct 3D models (e.g. CAD models and point cloud representations) of the structure of interest. We will start this chapter by describing a novel vehicle (a robotic kayak) we assembled to gather data from marine structures (Section (3.2)). Section (3.3) explains our surface reconstruction algorithms. In Section (3.4) we present our experimental results, and we close summarizing our work in Section (3.5). Performing the experiments presented in this chapter, we realized how difficult is to design agent paths to make sure that all parts of a given structure would be eventually visible during execution time, and this is part of our motivation for the work presented in Chapter (4), Chapter (5) and Chapter (6). 3.2 Robotic Platform for Marine Field Experiments Our goal is to generate 3D models for marine structures. Given the complexity of the marine environment, we would like to use a small but powerful vehicle with high maneuverability that will be able to access hidden places of the structure without crashing into the structure (due to water currents). For this purpose, we use a SCOUT Autonomous Surface Vehicle (ASV) - a kayak with a 3m length, 0.5m width, and 90kg mass [28]. The ASV is equipped with a 245N thruster for propulsion, as well as a steering servo (Fig. (3-1 (a))). 48 No localization sensors such as GPS, INS, or DVL are used in this work, but the vehicle is nevertheless equipped with a GPS (Garmin GPS-18) and a compass (Ocean Server OS5000) so that, in the future, it will be able to expand our current work in all possible directions. To facilitate data capturing and autonomous control capability, the main compartment of the ASV is equipped with a Main Vehicle Computer (MVC). The MVC consists of a pair of single-board computers connected through an Ethernet cable. Each single-board computer is equipped with 1GB RAM. In addition, one of the single-board computers is equipped with a 120GB hard drive to enable a large data capturing capability. The ASV can be controlled remotely using a remote control or autonomously using the well-known autonomy operating system MOOS [93],[10]. (a) (b) (c) Figure 3-1: (a) The ASV with Velodyne LiDAR mounted on top of it. Two pontoons are attached to the ASV to improve its stability. (b) The Velodyne LiDAR and the mounting platform for placing the LiDAR in an inverted configuration on the ASV. (c) The BlueView MB2250 micro-bathymetry sonar is mounted in a sideways configuration. 49 Registration algorithms frequently fail because the two point clouds to be combined have no common features. Given that our goal is to perform surface reconstruction without using any navigation sensors, we use a laser scanner with a wide field of view that allows significant overlap between subsequent scans. In addition, we use a laser scanner that completes a scanning action much faster than the vehicle and structure motion, so that we do not need to incorporate vehicle and structure motion within a single scan. This makes the procedure simpler and reduces the computational cost of the algorithm. One sensor that meets the desired specifications is the Velodyne HDL-64E S2 shown in Fig. (3-1(b)). The Velodyne HDL-64E S2 is a 3D LiDAR (Light Detection and Ranging) which completes each scanning action in 0.1 second (scanning frequency =10 Hz). The Velodyne LiDAR was initially developed for the 2007 Urban DARPA Grand Challenge [841. Its original configuration was supposed to be mounted on car roofs to perform scanning actions in which a full 360-degree horizontal picture with vertical arc of 26.80* (from 2* to -24.80) is captured. The Velodyne is mounted on the kayak in an inverse configuration to maximize the scanning surface. To reduce the amplitude of the rolling motion caused by surface waves, we installed stabilizing pontoons (see Fig. (3-1(a))). To scan the below-water part of the marine structure of interest, we use a 3D Micro-bathymetry sonar (BlueView MB2250 micro-bathymetry sonar). The MB225045 sonar uses 256 beams with one degree beam width in elevation. Since we are interested in mapping marine structures, instead of mounting the sonar in a forwardlooking configuration such as [83], we mount it sideways on the vehicle (Fig.(3-1(c))). 3.3 Surface Reconstruction Algorithms The goal of this Chapter is to illustrate that a 3D model of marine slow-moving structures in a sea environment can be constructed through the use of a single LiDAR without using any other scanning or navigation sensor. Since this work is an early one to be done on surface reconstruction of marine structures that are partially submerged 50 in GPS-denied environment, we wish to simplify our testing procedures; thus, we do not use advanced techniques like feature extraction and loop closures. In addition, as explained in Chapter (1), advanced SLAM techniques that optimally localize the agent and reconstruct maps, in their current state, are not easily used to reconstruct the shape of moving structures. Based on the vehicle design described in the previous section, we propose algorithms to construct the 3D model of partially submerged marine structures. We propose three different algorithms; the first one (Algorithm(1)) is used to reconstruct point cloud representations of the above-water part of marine structures; the second one, (Algorithm(2)) is used to reconstruct mesh models of the above-water part of marine structures; and the third algorithm (Algorithm(3)) is used to reconstruct 3D models (point cloud representations, mesh representations and occupancy grid based maps) of both parts (the above- and below-waterline parts) of partially submerged marine structures. We use scan matching techniques to construct the 3D model for above-water part. We then use the transformations, computed by the scan matching algorithm for the above-water part, to construct the 3D model from a sequence of 2D sonar data from the below-water part. We then combine the 3D model of above- and below-water parts to construct a complete 3D model of the partially submerged marine structure. We construct two types of maps: a low quality and a high quality map. The low quality map can be constructed on-line and would be useful for navigation purposes. The high quality map is constructed off-line and can be used for inspection purposes. 3.3.1 Registration Algorithm To scan a marine structure, the vehicle is driven around the structure of interest, gathering 3D laser data. The data is logged and saved in the ASV's computer in data structures called point clouds. Each point cloud represents a set of points in R3 gathered by a complete 3600 rotation of the LiDAR. Since the scanning action is performed much faster than the vehicle's speed, all points within a point cloud are expressed within a common orthogonal reference frame that is aligned to the center 51 of the LiDAR at the starting point of the scanning cycle. Given 2 point clouds M in RMX3 and Mj in RDX3 that include common features, we need to compute the transformation iT that transforms each point mk of M to & each point d, of M,. This problem was originally proposed and solved by Besl McKay in 1992 using the ICP algorithm [14], by minimizing the following metric: M E('Rj,,b,) = D EZ (wk,11mk- (iRjdl +4 bj)11 2) (3.1) k=1 1=1 Here, Wk,l is a binary variable as follows: wk=1 if mk is the closest point to d, within a close limit and is equal to zero otherwise. 'Rj and 'bj are the rotation matrix and the translation vector defined in [951. The minimization is done using non-linear optimization tools such as the Levenberg-Marquardt algorithm [85]. 3.3.2 Above-Water Surface Reconstruction Algorithm The vehicle gathers point clouds (M1 , M2 ,...M,- 1 , M) with frequency of 10 Hz. We sequentially merge these 3D point clouds, each in their respective coordinate systems, into a single coordinate system. The transformations between sequential point clouds (0 T1 ,1 T2 -,- T._1,"- Tn) is given by the TCP algorithm described in the above section. The first point cloud in the sequence is transformed into the coordinate system of the second point cloud. The union of the first two point clouds is then transformed into the coordinate system of the third point cloud, and so on. This process continues until we transform all the point clouds into the coordinate system of the last point cloud in the sequence. The Velodyne LiDAR generates around 8 MB of data per second (250,000 points per scanning cycle and 10 scanning cycles per second). The computational cost and memory requirements to deal with this amount of data are huge, making ICP impossible to run on-line. The time for &single merging process in the worst-case is O(NlogN) where N is the number of points in the current map. This worst-case complexity is dominated by searching for corresponding points. For online-mapping, we speed up the search process by using the ASV maximum speed to bound the 52 maximum possible displacement d, and hence limit our search space. Furthermore, we fix a maximum number of possible iterations to ensure termination within the required time. In addition, we reduce these computational demands in two other ways. First, instead of using the raw data as gathered, we use data from scanning actions performed every At seconds. Second, we perform spatial sub-sampling on each point cloud by discretizing the bounding box of the point cloud into a regular grid with user-specified resolution; thus, all the points inside a single grid cell are represented by a single point. By limiting cells to a given size (resolution), we both reduce the amount of data to a reasonable quantity and also reduce the errors (assuming zero mean noise). To get the on-line map, we simplify the data as described above using a large simplification cell size and large At, as shown in Fig. (3-2) and Algorithm (1). This on-line map is a low-resolution map that can be used for navigation. Laser Scanner Simplification Algorithm Registration Algorithm Merge Simplified Data Figure 3-2: The online map: we use big simplification cell size. Algorithm 1 Construct3DModel(P, s, t) Construct a 3D model from a sequence of point clouds P. The input s and t are the user-specified spatial and temporal resolution, respectively. 1: MergedData = SpatialSubSampling(P[1], s). 2: for i = t to JP| step t do 3: P' = SpatialSubSampling(P[i], s). 4: Let TO be the identity transformation matrix. 5: T = ICP(MergedData,P', TO). 6: MergedData = Transform (MergedData, T). 7: MergedData = MergedData U P'. 8: end for 9: Return MergedData. To get a higher quality map, we want to use as much data as we can handle. To do so, we generate an occupancy grid-based map under a probabilistic framework 53 such as OctoMap [1331. Because the LiDAR generates a huge amount of data, we still use simplified data (albeit less simplified than above), rather than raw data, in order to get the transformation matrices. We then use the transformation matrices to merge the raw data, resulting in a single, dense 3D point cloud. An occupancy grid-based map is then generated using OctoMap. The resulting grid-based map is used to get the mesh of the structure using the ball-pivoting algorithm [13]. This process is shown in Fig. (3-3) and in Algorithm (2). This high-resolution map must be generated off-line, and can be used for inspection or for further analysis (depending on the application). Laser Scanner Raw Data Save Raw Data Simplification Algorithm Registration Algorithm Transformation Matrices octoMap Merg Raw Meshing Figure 3-3: The off-line map: Less simplified data are used to get the vehicle's trajectory (a set of transformation matrices) and then the vehicles' trajectory is used to project raw data resulting in a dense point cloud. Algorithm 2 Construct3DModel(P, s, t) Construct a 3D high quality models (mesh representation, dense point clouds, occupancy grid) from a sequence of point clouds P. The input s and t are the user-specified spatial and temporal resolution, respectively. 1: MergedData = SpatialSubSampling(P[1], s). 2: for i = t to IPI step t do 3: P' = SpatialSubSampling(P[i], s). 4: Let TO be the identity transformation matrix. 5: T = ICP(MergedData,P', TO). 6: DenseMergedData=Transform (P[i], T). 7: DenseMergedData = DenseMergedDataU P[i]. 8: MergedData = Transform (MergedData, T). 9: MergedData = MergedData P'. 10: end for 11: OccupancyGrid=Octomap(DenseMergedData) U 12: MeshModel=BallPivoting(OccupancyGrid). 13: Return MergedData, OccupancyGrid, MeshModel. 54 Two parameters drastically affect the computational cost of our method: At and cell size. A small At results in big computational costs, leaving time intervals between scans that are too small to solve the problem in real-time. On the other hand, given that we are not using other localization sensors, a large At may result in the failure of the ICP algorithm, since the algorithm cannot merge point clouds gathered from sequential locations that are not sufficiently close to each other (i.e., get stuck in a local minimum). In Fig. (3-4), we can see the trajectories that the ICP algorithm produces for different values of At (C1, C 2 ... C). We observe that trajectories corresponding to different values of At form a sequence with decreasing differences as At goes to zero (i.e., the sequence trajectories have the Cauchy property and thus there exists a limit). Therefore, for this particular dataset, the benefit of reducing At below 1 second is not worth the computational cost for either the online mapping or the offline mapping. sec 2.5 sec -2sec + 1.5 sec 0 1sec -3 25 - -- 20 - 15 E 10. 5. 0 -20 A to -15 -10 -5 0 5 10 Xm Figure 3-4: T rajectories generated during the first 100 seconds of one of the experiments: Trajectories corresponding to different At form a sequence with decreasing difference. Regardless of cell size, as long as it is small enough to capture geometrical features 55 that are important to the ICP algorithm, it does not affect the localization. For the off-line map, simplification cell size generally does not matter, as long as the localization works properly, since we are using vehicle's trajectory to project dense raw data'. However, for the on-line map, the cell size is bounded by the accuracy we want to have in the map. 3.3.3 Combined Map In order to create a complete 3D model of the entire partially submerged marine structure, we use the 3D Micro-bathymetry sonar described in the previous section to get the below-water part of the marine structure, and then we combine this data with the model of the above-water part of the structure. The vehicle's trajectory generated by our above-water mapping algorithm is used to register the 2-D sonar data into the global 3D map. The vehicle's sonar generates 2-D data in the polar coordinate system (r, 0, I), where r and 0 are the ranges and the angles of the returns and I is the intensity (see Fig. (3-6)). Since we want to project 2-D sonar data into the Cartesian global coordinate frame generated by the above-water surface reconstruction algorithm, we transform the 2-D sonar data to an equivalent local Cartesian frame using the equations below: ax, = r cos 4 (3.2) = r sin k (3.3) 8z, ', = 0 (3.4) The sonar data is then transformed into the current LiDAR coordinate system using Equation (3.5). This allows the sonar data to be treated and propagated as 'In the offline map, the voxel size and the probability threshold given in the OctoMap algorithm are important and reflect the resolution we want to capture. 56 Figure 3-5: The coordinate systems of LiDAR and sonar. 'b, and 'R, denote the translation vector and the rotation matrix that transform the sonar data to the Velodyne coordinate system 57 equivalent to Velodyne data as described in section (3.3.2) (3.5) "x, = [T][X] where [ 8TJ] is the transformation matrix from the sonar coordinate system to the Velodyne system, as shown in Fig. (3-5) and 'X, = [X", 8 z, y,]T. At the present time, the registration between sonar and LiDAR data is done by manually measuring the transformation from sonar frame to the LiDAR frame. A registration algorithm to perform the registration between LiDAR and sonar data can be easily implemented in practice. The proposed algorithm for surface reconstruction of the combined model is shown in Fig. (3-7) and Algorithm (3) ZS U Figure 3-6: Sonar coordinate system: Sonar gives returns up to a range of 10 m with an angle of 45 degrees. Sonar data is noisy, so to clean up the data, we extract objects from the raw sonar data using cluster filtering methods. The main concern is to separate the object from the noise. For this purpose, we use simple background removal on the 2D intensity map. Initially, we capture a sonar reading when no objects are within the sonar's range. The 2-D intensity map Fig. (3-8(b)) of this scan becomes the "background" intensity map. For robustness, we do not compare the object intensity map and 58 A sequence of 3FMerge point clouds A 3b-point cloud 1A 3D pomnt 'cloud of the Narmne structure 57": transformation matrix A sequence of 20 A 3D-point cloud OW*intensity maps A 3D triang ular mesh mo el of the marine structure of interest (using octrees and BPA) Figure 3-7: Surface reconstruction of both parts of marine structures, above and below waterline. The ICP algorithm is used to find the transformation matrices between different poses (using the laser scanner data). Then we use the transformation matrices to register the laser scanner data under the same coordinate frame and register the unregistered 2D sonar data as 3D data to the same coordinate frame. Then we use a probabilistic framework such as the occupancy grid based maps to clean up the point clouds, and then we use known surface reconstruction algorithms (ball pivoting algorithm and the Poisson reconstruction algorithm) to reconstruct a 3D surface model of the marine structure. 59 Algorithm 3 Construct3DModel(P, S, s, t,b8 ,,R 8 ,) Construct a 3D models (of the above- and below-water parts of marine structures) from a sequence of point clouds P. The input s and t are the user-specified spatial and temporal resolution, respectively. 1: MergedData = SpatialSubSampling(P[1], s). 2: for i = t to 1P1 step t do 3: P' = SpatialSubSampling(P[i], s). 4: 5: 6: Let TO be the identity transformation matrix. T = ICP(MergedData,P', TO). MergedData = Transform (MergedData, T). MergedData = MergedData U P'. {St,,}=FindSonarLogs(t,t - 1) SonarMergedData/=SonarRegistration ({Stn,}, T,b',,R,). SonarMergedData=SonarMergedData U SonarMergedData 7: 8: 9: 10: 11: end for 12: 13: 14: 15: 16: OccupancyGrid=Octomap(DenseMergedData) OccubancyGridSonar=Octomap(SonarMergedData) SonarAndVelodyneGrid=OccupancyGrid U OccupancyGridSonar MeshModel=BallPivoting(SonarAndVelodyneGrid). Return MeshModel, SonarAndVelodyneGrid. background intensity map for each pixel. Instead, we use the background map to find a good threshold to determine if an intensity at a particular pixel can be considered as object or just noise. This is done by dividing the background intensity map into 6 clusters, Fig. (3-8(b)), based on the background intensity map and then use the most frequent intensity in each region as the threshold. Given an object intensity map, we divide the map into 6 regions as in the background intensity map, and consider a point to be part of an object whenever its intensity is higher than the threshold for the region. Fig. (3-8(a)) compares the raw sonar data to the data that has been cleaned using clustering filtering methods. 3.4 Experimental Results To evaluate our algorithms, we performed a set of experiments in the Singapore area between January 2009 and August 2010. Results presented in this section were initially presented in our ISOPE 2011 and IROS 2011 conference papers [76, 1081 and were published to Journal of Field Robotics [1071. Results given here are post60 7M IS 2ws in to (a) In the left figure we can see a frame of raw noisy sonar data, in the figure in the right we can see the filtered sonar data using a filter based on clustering. (b) An empty sonar frame divided into 6 clusters. Figure 3-8: Filtering the sonar data. 61 processing results, since none of our surface reconstruction algorithms were running in real-time. The experiments were done under the umbrella of the CENSAM project [1091. Our goal was to test our system in rough water environments. However, before testing our system in rough water, we performed preliminary experiments in calm water to ensure the system is ready for rough water testing. To test the system in rough water, first we need to decide the location and the time of testing. We would like to find marine structures, such as jetties, that would be as close as possible to open waters. Therefore we chose a jetty in a small island (of size less than a square kilometer). To decide the time and the dates of the experiments we look at the tide and water current predictions to ensure that the environment is challenging enough but not too extreme that could possibly be too risky (water currents with speeds greater than 4 m/s are considered, for our case, dangerous environments). In order to go to the operational area we had to use a ship and a few auxiliary boats. We ran the experiments onboard a boat (e.g. Pandan Reservoir experiment, or the boat reconstruction experiment) or from a workstation at the marine structure of interest (e.g Selat Pauh experiment). The first experiment was performed in a calm water environment, in Pandan Reservoir, Singapore and we reconstructed point clouds and alpha shape representations of the above part of a jetty (see Fig. (3-9(a))). The vehicle was also equipped with a sonar micro-bathymetry sensor but for technical reasons we did not manage to gather reliable sonar data to reconstruct the below-water part of the structure. To give an illustration of the difficulty in merging the scanned data, Fig (3-9(c)) shows the resulting 3D point clouds scanned by the LiDAR, plotted in one coordinate system. Fig. (3-9(d)) shows the resulting point clouds representation of the structure when the coordinate systems are transformed to the first coordinate system based on the GPS and compass information alone. Fig. (3-9(b)) and Fig. (3-9(e)) show the results of our 3D model reconstruction algorithm on the above data set. The second experiment was performed in rough sea environment in Selat Pauh in the Singapore Straits (Fig. (3-10(a))). The water currents at Selat Pauh are around 62 (a) (c) (b) (d) (e) Figure 3-9: Reconstruction of a jetty in Pandan Reservoir, Singapore. (a) The target jetty. (b) Side view of the jetty model constructed by our algorithm. (c) Top view of multiple frames of the 3D LiDAR data before processing. (d) Top view of the constructed 3D model based on GPS and compass information. (e) Top view of the constructed 3D model generated by our algorithm. 2m/s. In addition, Selat Pauh is a busy strait with a significant amount of ship traffic, causing high frequency water wakes that significantly disturb small marine vehicles. In that particular experiment we reconstruct point clouds representation for a slowly moving boat, illustrated in Fig. (3-10(b)). Although the boat is moving slowly, the water currents and wakes cause the boat to drift and heave significantly. As an illustration of the effect of water currents and wakes on the scanned data, Fig. (3-10(c)) and Fig. (3-10(f)) show the 3D point clouds scanned by the LiDAR over a 2-seconds period, plotted in the same coordinate system. Fig. (3-10(d)) and Fig. (3-10(g)) show the data when the coordinate systems are transformed to the first coordinate system based on GPS and compass information alone. Fig. (3-10(e)) and Fig. (3-10(h)) show the results of applying our 3D model reconstruction algorithm to the above data set. In our last experiment we present results from two missions performed with a jetty 63 ('),() (e C>C (0(g Figure 3-10: Reconstruction of a slowly moving boat in rough sea water environment, in Selat Pauh, Singapore. (a) Our operating area. (b) The target boat. (c) Side view of multiple frames of the 3D LiDAR data before processing. (d) Side view of the constructed 3D model based on GPS and compass information. (e) Side view of the constructed 3D model generated by our method. (f) Top view of multiple frames of the 3D LiDAR data before processing. (g) Top view of the constructed 3D model based on GPS and compass information. (h) Top view of the constructed 3D model generated by our method. located at Pulau Hantu (a small island a few kilometers away from Singapore). We deployed our vehicle from a ship near Pulau Hantu and drove it about the jetty to gather data. We present two missions. The first mission lasted 3 min and gathered data for the above-water part of the jetty. In this mission, we drove the vehicle a distance of about 200 m making sure that the vehicle approached the structure from different views to recover all the hidden parts of the structure. The second mission lasted 1 min and gathered data from the above- and below-water parts of the floating 64 platform that was located in front of the jetty (see Fig. (3-16(a)). We present three different maps of the jetty and the floating platform. The first map is a low-quality point cloud-based map that could be generated online and can be used for navigational purposes (Fig. (3-11(b),3-11(c)) ). The second map is a higher quality mesh-based map ( Fig. (3-12,3-13,3-14,3-15)). The third one combines both the above- and the below-water parts of the marine structure (Fig. (3-16(b),3-16(c))). In Fig. (3-11(b),3-11(c)) we can see the low-resolution point cloud-based maps of the jetty for different cell sizes. We can verify that the one that was generated with 30 cm cell size can be generated real-time. For both cases At = 1 second. In Fig. (3-12,3-13) we present different views of the high-quality mesh-based maps of the jetty (the mesh was reconstructed using the ball pivoting surface reconstruction algorithm). The voxel size used in the occupancy grid generation was 8cm and At =1 second. Here we present two different high quality maps; the first one (Fig. (3-12)) was generated using a high probability threshold for occupied cells, and the second one (Fig. (3-13)) was generated using a low probability threshold for occupied cells resulting in a dense map. In Fig. (3-14) we can see the mesh-based high quality map for the above-water part of the jetty, using a low probability threshold for occupied cells and the Poisson surface reconstruction algorithm. From our results we can see that the Poisson surface reconstruction algorithm produces better results than the results the ball pivoting algorithm gives. In addition the computation time of the Poisson surface reconstruction algorithm is on the order of minutes for a point cloud that includes about 1 million points. On the other hand the ball pivoting algorithm took several hours to run. In Fig. (3-15) we can see the Poisson surface reconstruction results focused on certain parts of the structure. The upper part, shows the pillars of the structure, we can see that the algorithm can capture the pillars' geometry pretty well. The lower left part, shows a surface of a human body; during the experiments we have people sitting and possibly moving on the jetty, thus the inside part of the structure presents some anomalies. In the lower right part of Fig. (3-15) we can see two large buoys that are used to avoid direct collision of boats on the jetty. 65 (a) The marine structure of interest. (b) Low-resolution map, cell size= 30cm, the mission lasts 3mins, is generated in 3mins (3GHz CPU). (c) Low-resolution map, cell size= 18cm, the mission lasts 8mins (3GHz CPU). 3mins, is generated in Figure 3-11: Low resolution "real-time" model. 66 Fig. (3-16) shows results from both parts of a marine structure. Specifically, Fig. (3-16(b)) and Fig. (3-16(c)) show the point based map for both the above- and below-water parts for the floating platform. Fig. (3-16(d)) is a zoomed-in view of the combined mesh-based map. We notice that the buoy that supports the floating platform is flattened due to regular contact with boats. In all cases, the mesh is generated using meshlab (a tool developed with the support of the 3D-CoForm project) [132]. Figure 3-12: The mesh-based high quality map for the above-water part of the jetty, using a high probability threshold for occupied cells and the ball pivoting surface reconstruction algorithm. Cell-size=8cm. Figure 3-13: The mesh-based high quality map for the above-water part of the jetty, using a low probability threshold for occupied cells and the ball pivoting surface reconstruction algorithm. Cell-size=8cm. 67 Figure 3-14: The mesh-based high quality map for the above-water part of the jetty, using a low probability threshold for occupied cells and the Poisson surface reconstruction algorithm. Cell-size=8cm. 68 Figure 3-15: Zoom in of the mesh-based high quality map for the above-water part of the jetty, using a low probability threshold for occupied cells and the Poisson reconstruction algorithm. Upper part, shows the pillars of the structure. Below left part, shows a surface of a human body (during the experiments we have people sitting and possibly moving on the jetty). Below right, shows two large buoys that are used to avoid direct collision of boats on the jetty. Cell-size=8cm. 69 (a) Picture of the front part of the structure (b) Above- and below-water parts of marine structure, point cloud-based map. In red color below water part, in blue color above water part. (c) Above- and below-water parts of marine structure, point cloud-based map. In red color below water part, in blue color above water part. (d) Above- and below-water Small details. mesh-based map: Figure 3-16: Combined map: a) Picture of the front part of the structure. b) Point cloud-based map, front view. c) Point cloud-based map, side view. d) Above- and below-water mesh-based map. 70 Results Validation In this section we validate our experimental results. Probably, the best way to evaluate our results is to use a mesh comparison method, such as the one developed by Roy et al. [113] that compares 3D models and produces statistics on mesh similarity. Unfortunately, we have no access to 3D models of the jetties we reconstructed, however we infer our results quality in the following ways: " We compute the quality of all ICP registrations using as a metric the ICP "goodness" as defined in [16]. For the cases we studied in this work, the mean "goodness" for all ICP registrations is 96.5% with standard deviation about 2%. At the same time the ICP took on average 277 iterations to converge. Another way to capture a numerical quality of the accuracy of the registration is described by Douillard et al. [34]. " To show consistent reconstruction from both parts of the marine structure of interest we present an occupancy grid based map of the above- and belowwater parts of the structure and the probability of each cell to be occupied. The color indicates the probability of the cells to be occupied, Fig. (3-17). Low probability gives blue colors and high probability gives red colors. From this figure we can clearly see the waterline and three areas: The above-water part of the structure, the below-water part of the structure and the interface area between the LiDAR and the sonar data. The probability of above-water part of the structure cells to be occupied is close to uniform and less dense than the ones from the below water part of the structure. Generally, laser scanners produce denser point clouds than sonars, however this is not the case here because to avoid huge data sets we simplify/regularize our raw data using very small simplification cell-size (e.g few millimeters to few centimeters). Still we can see that the above-water part of the structure is reconstructed consistently. The underwater part of the structure is also reconstructed consistently and the probability of the cells of the underwater part of the structure to be occupied is 71 high (the cells with the highest probability are located in the far left side of the structure where the mission started from and the vehicle probably was sitting there accumulating sonar data from the same position for a few seconds). In the interface area between the LiDAR and sonar data the probability of a cell to be occupied, as expected, is lower than the below-water part of the structure but is high enough to achieve surface reconstruction in the interface area. In the far right area of the underwater part of the structure, we do not get enough sonar returns. This is probably due to the fact that in this particular location the vehicle started turning towards the left and thus the side looking sonar (with a very narrow beam) instead of pointing next to the kayak was pointing towards to previously scanned areas (e.g. in the left side of the platform, behind the kayak) and, we then stopped the mission. This problem can be solved using a better sonar sensor such as the Didson sensor (used by Hover et al. [56].) or designing trajectories -that take into account vehicle dynamics- to be informative enough to reconstruct structures e.g. [103] and/or next chapters. e We measure characteristic lengths of the jetty using google maps and compare them to the ones we get from the reconstructed jetty. To reduce the effect of constant errors such as conversion from "Velodyne units" to metric units and errors due to the direction the aerial picture was taken from, instead of comparing the actual lengths we reconstruct dimensionless numbers that characterize the structure, Fig. (3-18). In our case we have L1/W1 = 4.9, which is close to those obtained using the google maps, L2 /W 2 = 4.8 (Error 2%). In addition, L1/D1 = 3.5, which is also close to L 2/D 2 = 3.4 (Error 2.8%), the ones obtained using the google maps. Where L 1 , W, D, are the characteristic lengths of the reconstructed jetty and L 2, W2 , D2 are the characteristic lengths of the jetty as measured using Google maps. 72 Waeline Bew Waterline ........ .. g .. . . ........ Figure 3-17: Upper part: A point cloud representation of the above- and below-water parts of the structure. The color indicates the density of the points. Lower part: An occupancy grid based map of the above- and below-water parts of the structure. The color represents the probability of the cells to be occupied. Low probability gives blue colors and high probability gives red colors. Figure 3-18: Comparison between our results and pictures of the actual jetty taken from google maps. 73 3.5 Summary In this chapter, we present a hardware and software system to reconstruct 3D surface models of marine structures that are partially submerged. In particular, the work described in this chapter achieved the following results. " Using off-the-shelf sensors and a commercial robotic kayak [281, we assembled a novel surface vehicle that is capable of using a powerful 3D laser scanner (Velodyne) and a side-looking sonar to scan marine structures both above and below the waterline. " Using Velodyne and sonar data, without using any other navigation sensor such as GPS, DVL or INS, we propose a method to reconstruct 3D models of partially submerged slowly moving marine structures. " We present various surface reconstruction experimental results including results from sea environments with water currents around 1m/s-2m/s. More specifically, we present three experimental results of mapping the above-water part of marine structures and one experimental result of mapping both the above- and below-water parts of marine structures. To the best of our knowledge, these are new results on 3D surface reconstruction experiments from rough waters and slowly moving structures. Experiments presented here are as realistic as possible. We present results in rough waters with moving structures (floating platforms and boats) under tidal effects (1-3 m) and water disturbances arising from big ships moving in the busy Singapore waters. The results show that our robotic system for 3D model construction of marine structures is reliable to operate in a rough sea water environments. The resulting scanned data indicates that the LiDAR's mounting platform does not pose significant degradation in the quality of the scanned data. Furthermore, because of the high scanning frequency of the Velodyne LiDAR and sufficient overlap between point clouds generated by different scanning cycles the simple merging algorithm we propose is sufficient to construct a rough 3D model of marine structures. 74 We also show results indicating that the proposed algorithm can reconstruct 3D models of slowly moving structures. Slowly moving structures are commonly found in the offshore oil industry (e.g. Fig. (3-19)). Reconstructing models of large 3D moving structures is not easily done using standard SLAM techniques that first compute vehicle trajectory and then project laser scanners or cameras data using vehicle trajectory. In the case of moving structures this cannot be done because vehicle trajectory and laser data obtained from different views are not sufficient to describe the structure. In contrast to the SLAM problem, we are not interested in vehicle trajectory, instead we compute an equivalent trajectory (set of transformation matrices) that minimizes the registration error between different scans. In the case of non-moving structures, the equivalent trajectory obtained should be close to the actual one. We caution that extremely strong currents excite vehicle roll and pitch motions, causing some of the LiDAR scans to be empty (taken with the LiDAR looking at the sky). 2 If we try to merge one of these LiDAR scans, the ICP algorithm is likely to fail. To avoid this problem, before we apply the surface reconstruction algorithm we filter out LiDAR scans with extremely low amount of data. Figure 3-19: Different types of oil platforms, the majority of the platforms are floating and slowly moving. The picture is from the Office of Ocean Exploration and Research. Executing the experiments we present in this chapter, we realize how difficult is to compute trajectories that guarantee 100% structure coverage. In the rest of this thesis we are focusing on the path planning and inspection planning problem. 2 In our case we try to minimize this effect by installing pontoons on the kayak. 75 76 Chapter 4 Asymptotically Optimal Planning for Systems with Differential Constraints Over the last 20 years significant effort has been dedicated to the development of sampling-based motion planning algorithms such as Rapidly-exploring Random Trees (RRT) and its asymptotically optimal version (e.g. RRT*). However, asymptotic optimality for RRT* only holds for linear and fully actuated systems or for a small number of non-linear systems (e.g. Dubin's car) for which a steering function is available. The purpose of this chapter is to show that asymptotically optimal motion planning for agents with differential constraints can be achieved without the use of a steering function. A novel analysis on asymptotic optimality of a family of algorithms that directly sample the control space is presented. This analysis only requires Lipschitz continuity on the differential constraints and the cost function. Furthermore, building upon existing planners, we propose a new asymptotically optimal family of planners. As the number of iterations increases, the sequence of control inputs these algorithms sample, approaches the optimal control trajectory, with probability one. Simulation results are promising. Theoretical results from this chapter will be used to solve the inspection planning problem in the next chapter. 77 4.1 Problem Definition Suppose the set of all possible robot states is S and the set of all possible control inputs is U. Then the equation of motion is given by: 4(t) = f (7(t), (t), t) (4.1) Where for each time t, 7(t) E S is a state, 4(t) is the time derivative of the state and and 0(t) E U is a control input. Assuming that S and U are manifolds of dimensions n and m where m < n, using appropriate charts we can treat S as a subset of R" and U as a subset of R". Furthermore we assume that f is a Lipschitz-continuous function with respect to state and control with maximum Lipschitz constant to be less than Lp E R+. Supposed Sfie C S is the collision free subset of the state space. Then we define path to be a time parametrized mapping from time to the obstacle free state space e.g. 7 : [0, TI --+ Sf. We also define trajectory or control function to be a time parametrized mapping from time to the control space e.g. 0 : [0, TI -+ U. From Lipschitz-continuity it can be shown that for each trajectory (control function) there is a unique path that represents the solution to equation of motion [1221. Let Sgo. c S be the goal region. We would like to compute the control function (trajectory) and the resulting path that drives the agent from the initial state -y(t = 0) to the goal region and minimizes a given cost function. More formally, let D(O) be the resulting cost for control function 0 and D to be the set all admissible trajectories. An admissible trajectory is a trajectory that induces an obstacle free state-space path (through Equation (4.1)) and stops within the goal region. Among all admissible trajectories we would like to compute the one that minimizes the cost function, e.g 0* = arg min D() 78 (4.2) 4.2 Planners that Sample the Control Space In this section we describe the proposed family of algorithms. Since we are interested in systems with challenging dynamics, all of the proposed algorithms sample the control space directly. Such algorithms are not new[61][87], but the question of whether such planners can converge to the optimal solution is still largely open. To answer this question, we first present two minor modifications of existing planners as detailed in Section 4.2.1. 4.2.1 Algorithm Description Each of the proposed algorithms constructs a tree T = {M, E} ( M is the set of nodes of the tree and E is the set of edges of the tree), where the root is the initial state qo. Each node q E M in the tree corresponds to a collision-free state while each edge qq' E E corresponds to a control input u E U that drives the robot from q to q' in a given time, without colliding with any of the obstacles while satisfying the equation of motion, Equation (4.1). Each node q E M is annotated with the cost of reaching q from qo. The algorithms are presented in Algorithm 9 - Algorithm 12. To construct the tree, a node is chosen for expansion and then a control input is sampled uniformly at random. We present two different methods for selecting which node to expand. The first method chooses the node for expansion uniformly at random (Algorithm 11), the second method chooses the node for expansion in an RRT style, Algorithm 12, (with a Voronoi bias, similar to Sparse-RRT[87). Once a node to be expanded is selected, the planner samples a control input uniformly at random, choose a time-interval At on how long the sampled control input will be applied to the system, and use forward propagation to compute the resulting state. As we will see in Section 4.3, the integration time At has to be chosen wisely. In order to guarantee asymptotic optimality, the integration time has to either be sampled uniformly from zero to a maximum integration time or to decrease slowly and approach to zero as the number of iterations approaches to infinity. When constant integration time is used the integration time has to be sufficiently small; In the results section we present results for both cases (constant integration time and 79 uniformly sampled integration time). To improve computational efficiency, we can prune nodes that have cost larger than the cost of other nodes in their neighborhood (see Algorithm 8). Every time we add a node, we search its neighborhood to find other nodes within a range R(t). R(t) monotonically shrinks as the number of iterations increases and starts from a given number e.g. Ro. If there is a node within a ball of radius R(t) with cost less than the cost of the new node, then we do not add the new node otherwise we add it. On the other hand, given that we add the new node, we remove all the other nodes that have cost greater than the cost of the new node. We also make sure not to delete nodes that are part of the best trajectory found so far. There are many different variants of the above algorithms that may substantially improve computational time. However, in this chapter, we focus on answering the open question of whether a planner that samples the control space directly can converge to the optimal solution. To this end, we will analyze the simplest version of this class of planners, i.e., the uniform variant (Algorithm 11). The idea is if we can show that asymptotic convergence holds even for this simplest algorithm, then it is more likely there will be a more efficient strategy to sample the control space such that asymptotic optimality holds, and therefore spending more effort finding a better strategy to directly sample the control space would be a worth while pursuit. In addition to the analysis, we also present performance comparison between the three different sampling strategies mentioned above, on various motion planning problems involving robots with complex dynamics. 4.2.2 Complexity The pruning is the most expensive part of the proposed framework. To compute the neighbors within a range, the complexity is 0(log(N)) (where N is the number of nodes in the tree). To do the cost comparison of each one of the neighbors, the complexity is O(N) (N, is the number of neighbors, because of the pruning part N, << N). To remove nodes from the tree, the complexity is O(N)) if we choose to free the allocated memory or O(N) if we do not. Therefore the complexity of the proposed algorithm is 0(log(N)) per iteration. 80 Algorithm 4 Planner(MethodTobeUsed) 1: Initialize: Set Initial configuration, Set Configuration Space, Obstacle Data Structure, , BestCost=+oo, while (PlanningTime=TRUE) do R(t)=Shrink(Ro,t) if Simple-Uniform then [Child, Parent, TrajFromParent, u}=ExpandTreeUniform(T); end if if Weighted then [Child, Parent, TrajFromParent, u]=ExpandTreeWeighted(T); end if if ExpandTreeRRT then [Child, Parent, TrajlromParent, uJ=ExpandTreeRRT'(T); end if if (CollisionFree(TrajFromParent) A PossiblyOptimal(Child) then if (Prune(T,Child,R(t))=True) then NodeCost=Cost(Parent)+Cost(TrajFromParent) if (NodeCost<BestCost) then NodeList=NodeList U Child EdgeList=EdgeList U ParentChild BestCost=NodeCost BestNode=Child end if end if end if end while 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: Algorithm 5 ExpandTreeUniform(T) 1: Sample a node: q' <- rand() 2: Sample control input: ui +-rand() 3: Propagate: [qn,,, TraFrornParent]< 4: return qn,0 , q1, TraFromParent,ul At g(q', u/)dt Algorithm 6 ExpandTreeWeighted(T) 1: Compute the number of nodes in the neighborhood: Dn(q), Vq E M 2: Probability to choose a node: PR(q) oc 1/(Dn(q)), Vq E M 3: Sample a node: q' 4- rand(Pn(q)) 4: Sample control input: ul <- rand() 5: Propagate: [qn,., TraFromParent| fe g(q', ui)dt 6: return qew, q1, TraFromParent,ui Algorithm 7 ExpandTreeRRT'(T) 1: 2: 3: 4: Sample a node at random: q' E Cr.ee Find the nearest: q .. = FindNearest(T) Sample control input: u/4- rand() Propagate: [qn,., TraFromParentJ - At g(qn. u/)dt 5: return qneu, q.., TraFromParent,u 81 Algorithm 8 Prune(T, Child,R(t)) 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: [Neighbors]=NeighborsWithinRange(Child,R(t)) for (i = 0;i <sizeof(Neighbors);i + +) do CurrentNeighbor=Neighbors(i) if CurrentNeighbor-+cost <Child-+cost then return False else ToBeRemoved(CurrentNeighbor) end if end for Remove(ToBeRemoved) return True 4.3 Analysis In this section we will provide a novel analysis on the optimality of planners that directly sample the control space. As we show here, asymptotically optimal planning for systems with differential constraints (e.g. non-holonomic systems) can be achieved without the use of a steering function. We start by showing that under certain conditions, as the number of samples goes to infinity, the probability a planner, that directly samples the control space, samples a sequence of controls that are "near" to the optimal control function goes to one. Afterwards, we show that under certain conditions, two nearby sequences of controls will -induce state space paths that have similar costs. The optimality proof described in this section is proven for the case in which we choose a node to expand uniformly at random and without doing pruning that removes nodes from the tree (since our analysis considers only valid iterations, e.g. the ones that resulted in nodes into the tree, it is applicable for the case we do prunning that does not remove nodes from the tree). We believe that similar properties hold for the other (RRT). In the case we have non-linear systems, as we see from the results section, the convergence for an RRT-style algorithm is slower than the uniform one. Given we know the properties of the underlining sampling strategy (e.g. choose a node to expand and pruning characteristic), immediate results from the analysis below could allow researchers to evaluate any sampling strategy. 82 4.3.1 Optimality First, let's define the notion of "nearby" sequence of control inputs more formally as Definition 1. Let u = (Uo, ul, ... , u1) and u' = (u',i,. ., u) be two sequences of control inputs. Then, u and u' are E-close whenever maxiE[o,max(k,) IHui - U'l1 < E, where ui = 0 for i > k and un' = 0 for i > 1. Let q*(t) : [0, T] -+ reach the goal state. U denote the optimal trajectory, where T, is the time to Suppose the optimal trajectory is approximated with a step function, which is represented as a sequence of control inputs u* = (U, u*,...U*) where n = j, u' =q4*((i- 1) . At) for i E [1, n], and each control input in the sequence is applied for At time. We can then state our assumptions as, " The optimal trajectory 4*(t) exists within the control authority and the geometry we have, in addition the optimal trajectory is twice differentiable. This assumption inay or may not imply controllability (depending on the location of the goal region). " Equation (4.1) (the equation of motion) is Lipschitz continuous on both state and control arguments. " The cost function is Lipschitz continuous. We also consider the standard 6-clearance assumption [21]. This assumption is not essential for the convergence of the family of planners that sample the control space to the optimal trajectory (e.g. 6 is arbitrarily small). If 6 is large then we will be able to get admissible trajectories faster than the case 6 is small, however the convergence to the optimal trajectory does not explicitly depend on 6. Before going into the details of our analysis we would like to outline our proof. Let 0* : [0, T] -+ U be the optimal trajectory and u* : [0, T] -+ U to be a piecewise approximation of the optimal trajectory. 1 In addition, we consider the trajectory u : [0, Tg] --+ U to be a trajectory returned by a planner that samples directly the 'for this analysis we are using piecewise constant functions (e.g. step functions) with constant time intervals At; similar analysis can be derived for different functions and different choices of At. 83 control space. It is important to say that u is of the same form as u* (e.g. both of them are piecewise constant functions). In addition, the norm we use later in this chapter is the Li-Norm. The above trajectories are illustrated in the Figure (4-1). We would like to prove that by sampling directly the control space the probability U - u*t U*t^ u(t)- Figure 4-1: We can see the optimal control input (<D*(t)), a representation of the optimal control input (u* (t)) and a control input that is close to the representation of the optimal control input (u(t) e.g. a control an algorithm that samples the control space returns). to get a trajectory u that is c-close to any approximation of the optimal trajectory approaches to 1 as the number of samples increases. Before proving the asymptotic optimality property for the proposed family of planners, we first need to relate the 6-clearance property (which is defined in the state space) to properties on the control space such as the c-close property and the discretization interval At. To this end, we relate the distance between two trajectories (e.g. the optimal one and the one the proposed algorithm returns) with the distance between their induced state space paths. Any sampling based algorithm chooses discrete control inputs (trajectory), however the optimal control input (trajectory) is continuous. In our analysis we would like to take into account both distance due to approximation errors and due to the c-close property. Lemma 1. Suppose 0(t) : [0, T --+ U and 0'(t) : [0, Tg] -+ U are two trajectoriesthat 84 start at time 0 and end at the same time T. Let -yo(t) and -y4 (t) be the state space paths induced by each trajectory, based on the equation of motion, Equation (4.1). If at each t E [0,T,, f is Lipschitz continuous in both state and control arguments, then ( - 7y(t)I 74t) Eu(eLpt - 1) maximum Lipschitz constant and Eu Eu(eP9 - 1), Vt E [0, T], where, L is the = maxtE[o,TJ 114'(t) - #(t)II Proof. We consider two control trajectories with the same time duration applied to the equations of motion with the same initial conditions, and we would like to study the distance of the resulting paths in the state space at each time. Direct application of Lipschitz continuity on the equations of motion gives: 11AY1(t) - 4v(0)| =||f (70((t),O), 0 - A701t#(t), )01 <; LPIyg(t) - yV(t)|I + LIk#(t) - #1(t)|| In the above equation (4.3) 11.11 indicates the L, Norm. Because the equation of motion is Lipschitz continuous, it is important to note that for every trajectory there is a unique path at each time [122]. Let Eu = maxtE[o,T] |1'(t) - #(t)I and let Es(t) = the L 1 norm we have Ih'y(t) - -yy(t)II. Then, for Es(t) !5 |Ir(t) - -y(t)I. Direct substitution to Equation (4.3) yields the differential inequality below that describes the evolution of the error on the state space: Es(t) LEs(t) + LEU (4.4) Solving the above differential equation and applying the boundary condition we get: Es(t) Eu(eJO - 1) ! Eu(eLPT9 - 1),Vt E [0, TJ (4.5) 0 Given the maximum distance of two trajectories in the control space (E-close trajectories), the above Lemma shows a bound on the distance of the induced paths on the state space. 85 Lemma 2. Let 0(t) : [0, T,] -+ U be a continuous-time trajectory with maximum absolute value of the slope plus the remainder (the Peano form of the remainder) in all dimensions of 4(t) equal to a.2 Suppose [0, Tg is discretized into uniform interval At and u(t) : [0,TgJ -+ U is a step function approximation of 4(t) where u(t) = 4( [kj At). If 74(t) is the state-spacepath induced by 0(t) and -yu(t) is the state-space path induced by u(t), then Ih'4(t) - 7-(t)I maAt(eLpt - 1). Proof. Using Taylor expansion series for 0(t) (in all dimensions of the control space) we get: II4(t) - u(t)Il ZaAt = maAt,Vt E [0,T,] (4.6) Using results from Lemma (1) we get: |1-y.(t) - -yu(t)II 5 maAt(eLPt - 1),Vt E [0,Tg (4.7) Notice that the results in the above lemma hold for both the case we use constant integration time and the case we uniformly sample the integration time from an interval (e.g. At = [0, r]). In the case, that the integration time is sampled uniformly form an interval e.g. [0, r], r > 0, then At in the above equation is consider such that 4(t) is approximated by piecewise constant functions each of them applied for at most time At ( to cover a trajectory with time duration T it takes -2 expected number of milestones). Applying the above two lemmata to the optimal trajectory, to its representation (approximation) and to a trajectory that is c-close to the representation of the optimal trajectory, we can define the appropriate At for a given 6 and e to be: II7+*.- 'ya| (maAt + e)(eLU - 1) 6 (4.8) 2we do not consider pathological cases where the derivative can be infinity at a few singular points e.g. the tangent function at zero. From the Taylor theorem using the Peano form of the remainder we have that f(t) = f(to) + (f'(to) + hi(t))At, hi(t) goes to zero faster than At 86 Using the above requirement for At, we can prove the following convergence theorem. Theorem 1. Let u* denote the optimal sequence of control inputs when the time domain is discretized uniformly into At intervals. Then, for any c > 0 and At that satisfies Equation (4.8), as the number of samples goes to infinity, the probability the proposed planer samples at least one sequence of control input u that has the same number of elements as u* and is E-close to u*, goes to one. Proof. Each path from the root to a node of the tree T encodes a particular sequence of control input ( e.g jF, the edges of the tree are labeled with control input). The probability the proposed algorithm selects a particular sequence to be extended is the . same as the probability it selects a node of T to be expanded, which is 1 Let pi be the probability the proposed algorithm samples a control input within e distance from ul. Because the new planner samples control inputs uniformly at random (from the control space) then, for all i E [0, Iu* I, p = p > V01(B) Where Vol(.) is the volume function. 3 Let Pk be the probability that from j valid samples (e.g. for up to j iterations), the proposed algorithm generates at least one control sequence u that is c-close to at least the first kth subsequence of u*, i.e, Jul = k and dist(uj, u?) <; c for i E [1, k]. As we show in Appendix (A), this probability can be written as: P,k P_1,A - (1 - ~1'k )P_1,kj or (4.9) ) Po-rk-9 P,A Pl,k -+- (Pj_1,-1 - Pj.1,k) (4.10) The above equation holds for all j > kVk E [1,n]. For the case j = k,Vk E [1,nj we have Pkk > L. In addition for the base case (k = 1) we have: Pj,1 > P-1,1 + -(4 - Pj-1,1),IVi > 1 (4.11) Furthermore, induction on j and k would show that and Pik is monotonically increasing with respect to both j for a given k for 3 In this chapter we are using the Li-norm, j > k and k > 1, of course with an in the case the L2-norm is used we have, p = 87 VD upper bound of 1. In addition, for any finite iteration P.1,k is smaller than Pp_1,A_ (one is subset of the other). Our goal is to show that Poo,k = Poo,k-1 = Poo,k-2 = = P00 ,1 = 1. At first we will prove that Po,, 1 = 1. Let's focus on the inequality in Equation (4.11) and rewrite it to the following: ,Vj > 1 P, 1 - P-1,1 ;> (1 - Pj- 1,1 ) (4.12) We can then calculate the following summation (Pi,1 - Pj_1,1) > j=2 j=2 P,,1 ~ P1,1 (L - ! j=2 E 311 -j)j1, Taking p to the limit at oo gives us im((P,,1 - P1, ) >1 (1 - A 2 ) (4.13) - JAA j=2 Since limZ-oo k,=+1 4 = oo, A 2 > 1. However, since A 2 is an upper bound of a probability value, A 2 < 1. Therefore A 2 must be 1, and is the least upper bound of P_,1,1 (Equation (4.14) does not allow A2 < 1). Since P_,1 is monotonically increasing in j, it will eventually approach to A 2 = 1, thus Po,, 1 = 1. In the rest of the proof we will show that Poo,k = Pm,k-l,Vk and thus Po,k = 1 for all k. 88 Let's now focus on the inequality in Equation (4.10) and rewrite it to the following: Pj,k P-1,k - > (Pj-1,k-1 - Pj-1,k) *, .7 Vj > k (4.15) 1,k - Pj-,k) -l,k- + - Pj-1,k) - We can then calculate the following summation j=k+1 i=k+1 PIA,k - Pk,k E j=k+1 P-1,kt-1~ P-1,k) Taking p to the limit at oo gives us lim (P,k - Pk,k) IA--+0 lim. IA-*00 E (4.16) ((P-l,k-1 - Pj-1,k) - =k+l Now, we can set a lower bound (P- 1,k- 1 - P 1,k) > A', and rewrite Equation (4.16) as lim (PS,k - Pk,k) A'1 lim (4.17) - Using similar arguments we used for the base case (k = 1), we get A' = 0. Due to monotonicity properties and because Xj-,1 ,t is a subset of Xj-1,k.1 (see Appendix A) thus P.1,k < P j -1,k-1 for all finite j > k then POO,k = POOk-1 = ... = POO,1 1. = In the case we sample At e.g At = [0, r], identical analysis holds. As we show in Appendix (A) we just have to replace p with p-, Vp, r, At > 0. T In the above analysis we use the following: X_1,k is a subset of X_1,k_1 thus f_,k) $ Pi-1,k < Pj-1,k-1 for all finite j > k. This is true because P(X-1,kfX-1 0, for all finite j (each of the nodes in the tree can be chosen for expansion with probability '). Now, the question is how far away the cost of u is from the optimal cost. 89 Lemma 3. Let 4*(t) : [0, Tg U be the optimal trajectory and u* be the sequence of -- control inputs that approximate 0*(t) with time intervals with time duration at most4 At, and u : [0, T] -+ U to be a trajectory that is c-close to 0*(t), where At is given by Equation (4.8). Suppose -yt*(t) (t), u*(t) (t) and 'yu(t) (t) are the state space paths induced by 0* (t), u* (t), and u(t) respectively. Then, jD(-y,. (t), t) - D(7y(t), t)II < LDE(eLPt - 1) < LDE(eL.9 - 1), Vt E [0, T], where E = (e + maAt) and LD is the maximum Lipschitz constant for the cost function. Proof. We consider 3 trajectories and the resulting 3 paths, the first trajectory is the optimal trajectory, the second trajectory is an approximation of the optimal trajectory and the last one is a trajectory that is c-close to the approximation of the optimal trajectory (that can be potentially sampled by planners that explore the control space). Using Lipschitz continuity on the cost function we get: 11 D(-yo.(t),7 t) - D(-yu(t),7 t)| 1!5 L (|170.( ) - -t W(1)1) (4.18) Where LD is the maximum Lipschitz constant. From Lemma (1) and Lemma (2) we have: I|'7o.(t) - -yu(t)|I E(eLp t - 1) E(eLPTO - 1),Vt E [0,Tg1 (4.19) Using Equation (4.18) and Equation (4.19) we get: J|D(74 .(t), t) - D( 7-(t), t)I LDE(e' - 1) LDE(eT - 1),Vt E [0, Tg] (4.20) 0 Theorem 2. The proposedfamily of algorithms, that sample directly the control space, 4 it assumes both constant integration time and sampled integration time. 90 return a trajectory that induces a path with cost that asymptotically approaches the optimal cost. Let 0* : [0, Tg] -+ U be the optimal trajectory and u* be the sequence of control inputs that approximates 0* with time intervals At, and ui : [0, Tg -+ U to be a trajectory that is c-close to u* returned by the algorithm until iterationj, where At is given by Equation (4.8). Suppose -y., -.. and -(, are the state space paths induced by 0*, u*, and ui respectively. If D(7y,) is the cost of the path induced by trajectory ui after sampling j samples in the control space then: lim [P( lim ID( 7?) - D(y*)| 5 cd)} = 1 .- +.o Where ed 'O+ E R+ Proof. From Lemma (3) and for any At, f > 0 we get Ed E = (E LDE(eLPT9 - 1), where + maAt), then there are choices of c = E* and At = At* such that Ed is arbitrarily small: f* < LD(W* + maAt)eLPT9 - 1) Where f* E R+ is arbitrarily small, e.g. we can always find c*, At* such that E* (4.21) < Ed. From Theorem (1) we know that for any At, f > 0 the probability of sampling a trajectory that is arbitrarily close to the optimal trajectory (for any At, c) approaches to 1 as the number of samples increases. 0 It is important to see that in order to get convergence to the optimal cost we have to sample At, otherwise (e.g. in the case a constant integration time is used) we can only get convergence to approximate optimal trajectories (depending on At). 4.3.2 The Lyapunov Approach Similar results to Theorem (1) can be obtained using the Lyapunov approach. We consider the system in Equation (4.10) and Equation (4.11), which is in the discrete domain and describes the probability to get at-least one trajectory with k milestones. 91 We multiply both sides of the above system times -1 and add 1 in both sides and we get: 1 - P,1 1-Pj,k We define QAp 1 P-1,1 - - 3 < 1 -P-1,A-- 3 (1 P-1,1)Vj >1 - Pj-(,P-1 i-Pj-,k),Vj>k,k>2 (4.22) (4.23) = 1 - P,k,Vk. In terms of Q,A the above System is written as follows: Qj,1 -1,1 - !j-1,1,vj Qj,Ag Q _1,k - 3 (4.24) > 1 - Qj- 1,_ 1),Vj > k, k > 2 (Q-,1,k (4.25) We transform this system to its equivalent in the continuous time domain and we get: Q(t),k Where 1 = -t(),1)Vt Q(t),1 < -(Q(t),k 6t Q(t),k-1),Vt - tk = 6tk (4.26) E R+ is a time scaling constant that takes the iteration i to time domain t, e.g. t = 6ti. The initial conditions of the above system are given as follows: Q(t=t 1 ),1 = (1 Q(t=t 2 ),2 = (1 - Q(t=tA,),k =( - P) p 2 /2) Setting the "velocities" in the System in Equation (4.26) equal to zero we can compute the equilibrium point (Qe,, ,Vk) as follows: Qeq,k = Q-q,k-1 = ... Qeq, = 0 92 In order to show that the System in Equation (4.26) reaches to the equilibrium point (e.g. Qeq,, = Qeq,k-i = ... Qeq, = 0) we will use the Lyapunov approach. We consider the following Lyapunov function: k (Q(t),,) V(Q(t),1, Q(t),2---, Q(t),k) = 2 (4.27) =1 Taking the time derivative of the above Lyapunov function we get: k (Qp(t),1 I (*2---, Q(t),k) = 2 (4.28) (Q(t),j) (*),j) Using the System in Equation (4.26), we get ,7 Q(t),k) Z(Q(t),1, Q(t),2 ... :5 t Q(t),1)2 +- (4.29) (Q(t)',)(Q(t),i ~_Q(t),i-1) It is important to see that the Lyapunov function is equal to zero at the equilibrium point and its derivative is always negative (except at the equilibrium point). Therefore, the system in Equation (4.26) reaches its equilibrium value (e.g. Q,, = Qeq,k-1 = ... Qeq,i = 0). 4.3.3 Convergence Rate In this subsection we perform an analysis of the convergence rate for algorithms that sample the control space directly (using uniform sampling and without pruning that removes nodes from the tree). In the previous subsection we have shown that the system in Equation (4.26) approaches its Equilibrium point (e.g. Qeq,, = Qeq,k-I = ... Qq,, = 0) and therefore P,A; = 1,Vk. The question arises here is how fast the system in question approaches to its equilibrium point. 93 We re-write the system in Equation (4.26) in the following form: Q(t),k + Q(t),k-1,Vt > PQ(t),k tk = Jtk Q(t),k-2,Vt >.tk_1 = 6t(k - 1) Q(t),k-1 - PQ(t),k-1 Q(t),2+ Q(t),2 PQ(t),l,Vt > t 2 = 6t(2) + Q(t),1 0,vt > tl = 5t Q(t),1 At first we will solve for Q(t),1. Separating variables (t and Q(t),1) and integrating both parts we get: In (Q(t),1) ! in (t-) + In (C) (4.30) where C is the integration constant. To compute C we use the initial conditions e.g. for t = ti, Q(t),, = (1 - p). Using the initial condition and after some algebraic manipulation we get: (4.31) Q(t),1 5 (t~'P)(1 - p)ei Similar results we get for the discrete system, see Appendix (B). Now we will compute Q(t),2. To do so we multiply both sides of the differential = ef- OP= and we get: equation in question with p(t) 1 + EQ(t),2t' 5 tpQ(t),1 P For the left hand side of the above equation we get: Q(t), 2t" + PQ(t), 2t (4.32) = dt ,2 ) 10(t),2tp Using results from the previous milestone we get: d((tp)Q(t),2 ) < P(i - p)e, -t dt 94 (4.33) Separating variables and using the initial conditions (e.g. Q(t2 ),2 = (1 Q(t),2 5 (tP)[ai ln(t) + a 2 ] we get: (4.34) where a, = p(1 - p)tI, a 2 = (1 - ')tp - ai In(t 2 ). Using similar techniques we can show that: Q(t),3 5 (t~P)[b1 (ln(t)) 2 + b 2 ln(t) + b31 where b 1 = ', b 2 = a 2p, b3 =(1- (4.35) bl(ln(t 3)) 2 - b2 ln(th). )t- For Q(t),4 we get: Q(t),4 5 (t~P)[ci(ln(t))3 + c2 (ln(t))2 + c3 In(t) + C4] (4.36) wr 2, C3 = =pb3, ,C2 =c4= (1 - )t - c(ln(t4)) 3 -c 2(n4 2-c 3 ln(t4). Now we can clearly see a pattern for the solution to the system in Equation (4.26). For the general case we will use induction. We assume that: Q(t),n-1 5 (t-P)[d(Il(t))n- 2 + d2 (ln(t))n-3...dn- 2 ln(t) + dn-1 (4.37) where di,Vi = [1,n - 1] are constants. Using the n-th equation from the system in Equation (4.26) we have: Q(t),n + Q(t),n < (t-P)[d(1n(t))n-2 + d2 (ln(t))n-3...dn- 2 In(t) + dn1 (4.38) Multiplying both sides with tV we get: O(t),nt'+ Q(),nt' tP(t~P)[di(lin(t))n"2 + d2 (ln(t))n-3...dn-2 ln(t) + dn-1] < = t [d (ln(t))n- 2 + d2 (ln(t))n~ 3 ... dn- 2 Iln(t) + dn-1] 95 (4.39) Integrating both parts we get [d 1 (ln(t))n-2 + d2 (bn(t))n-3...dn-21n(t) + dn-]idt + C Q(t),nt' (4.40) where C is an integration constant. Using integration tables we know that: (441) (ln(t))ndt _(1n(t))n+1 Using the above mathematical formula, we get: Q(t),n 5 t-p[e1(n(t))n-1 + e2 (ln(t))"- 2 + e3 (ln(t))n- 3 ... en_ 1 (ln(t)) + en] (4.42) ,Vi E [1, n - 1] and en is the constant C computed using where the constants ei = the initial conditions (e.g. Q(tn) = (1 - e)). It is important to notice that leading term in Equation (4.42) is given by: e1 (ln(t))n-1twhere el = t 1 '). (n-1)! Using the "L'Hopital's Rule" n - 1 times [30] we see that it goes to zero (as expected) for any finite n. Another form of Equation (4.42) is as follows: Q(t), 5 t-I[e' (ln(t))n-1 (n - 1)! +e (1n(t))n-2 2 (n - 2)! (1n(t))n-3 +e3 ( (n - --- 3)! '- 1 (ln(t)) +en] e (4.43) where e' are constants with respect to time, however they depend on n e.g. e' approaches to zero for large n. The above inequality gives a bound on the probability "not to get at least one trajectory with at least n milestones that is E-close to an approximation of the optimal trajectory (with n milestones and sufficiently small At such that n = []J )" for any positive p, which is proportional to E. In the case, that the integration time is sampled uniformly form an interval e.g. [0, r], r > 0, then the probability not to get at least one trajectory that is E-close to any approximation of the optimal trajectory, with n milestones (each of them resulted in after applying control input for at most At), is given by a similar inequality (change p to pg). 96 However to cover an optimal trajectory with time duration T it takes -Mexpected number of milestones. 4.3.4 Different Sampling Strategies Both the optimality proof and the convergence analysis hold for planners that sample directly the control space by choosing a node to expand uniformly at random, applying control input at random and without using pruning (that removes nodes from the tree). One can use artificial intelligence methods to guide sampling and thus improve the convergence rate. For example, let the probability to choose the "correct" node for expansion to be fi(1) > R (where fi : R+ -+ R+, a > 1), then to get a bound on the convergence rate for a such algorithm we just replace p to p*a in Equation (4.43). One way to do this is to use advance pruning techniques or artificial intelligence methods, however when we use advance pruning techniques it is very difficult to compute the convergence rate. In addition, we see in the previous section the convergence rate depends directly on p. We recall that p is the probability to choose a control input that is within a ball of radius E centered at the optimal one. In the case we use uniform sampling of the control space p is given by the ratio of the volume of that ball divided by the volume of the control space. Therefore, if we use artificial intelligence methods to guide the control sampling process then we can directly increase p and therefore effect the convergence of the proposed approach. Studying and analyzing different sampling strategies is not within the scope of this research; we recall that the goal of this work is to show that sampling in the control space directly can achieve asymptotically optimal planning. 4.4 4.4.1 Simulation Results Case Study: Pendulum on a Cart This section presents performance comparison between the simplest sampling strategy we have analyzed in the previous section with more sophisticated strategies, i.e., 97 uniform with pruning and expandTreeRRT with pruning, which is a simplified version of Sparse-RRT[87]. For this comparison, we use the problem of "Pendulum on a Cart" with obstacles (see Figure (4-2)). F x *p. Figure 4-2: Pendulum on a cart This is a highly-non-linear 2d order under-actuated system with infinite number of equilibrium points both stable and unstable. The system's state space is 4dimensional, X E R 3 x I, with X = [x, v, 0, Q]T, where x indicates the displacement of the cart ( with mass M), v is the velocity of the cart (e.g. v = .), 0 indicates the angle of the pendulum (with mass m, inertia I and length L), and Q is the angular velocity of the pendulum (e.g. Q = 0 ). Using the Euler-Lagrange equations we can derive the equations of motion, the state-space form of the equation of motion is given: (t) = 2 2 2 (I + mL )(F(t) + mLQ (t) sin(G(t))) + (mL) cOs(O(t)) sin(O(t))g (t) 0(t) v(t) (M + m)(I + mL 2 ) - (mL) 2 cos 2 (O(t)) = = Q(t) 2 (-mLcos(O(t)))(F + mLQ (t)sin(O(t))) + (M + m)(-mgLsin(a(t))) (M + m)(I + mL 2 ) - (mL) 2 cos 2 (O(t)) (4.44) For this problem we would like to minimize control effort and time to the goal, thus 98 we define as a cost function the following: D(F) = jTY(aF2 + at) dt. where: at = I7, (4.45) af = 1000"', M = 10kgm = 5kg,I = 10kgm 2 ,L = 2.5m (see Figure (4-2)), g = 9.86T, the input to the system is a force F acting on the cart in the x direction, for this case F is uniformly sampled e.g. F = [0, 300]N. The initial conditions are all zero, the workspace is such that: x = [0, 60]m, and includes obstacles as shown in Figure (4-3). The goal region is located in the right side (48m < x < 52m) in the upright position ((180 - 10)0 < 0 < (180 + 10)0) with -3.14rad/s < Q < 3.14rad/s and (-4m/s < v < 4m/s). Figure 4-3: Pendulum on a cart: A typical close-to-optimal trajectory. We implemented the algorithms in C++ in a Dell computer that runs Linux on 18 Intel Xeon(R) x86 - 64 processors at 2.9 GHz and 64GB RAM (we did not use all the processors). Each one of the results presented here represents average results over 21 runs. Figure (4-4) shows the cost of the trajectories generated by simpleuniform (the algorithm we used for analysis), simple-uniform with pruning, and expandTreeRRT with pruning. As expected, the expandTreeRRT method computes an admissible trajectory faster than the uniform approaches. What is interesting is the expand T reeRRT with pruning converges to a further lower cost (2 x 108) much slower than simple-uniform with and without pruning. This happens because the optimal solution occupies only a small region of the state space. To reach a near optimal 5 the goal here is not to stabilize the system in the upright position. After a method like the one described here brings the system close to the upright position, one can use closed loop control methods to stabilize it there. 99 solution fast, one needs to sample more densely near the region of optimal solution. RRT's expansion strategy which tries to cover the entire state space well will actually "under sample" state space region that are near optimal solution and "over sample" other regions that do not contribute in generating the optimal trajectory. Note that this does not mean that the expansion strategy in simple-uniform is a suitable one, rather the simulation results indicate that finding sampling strategy that biases sampling towards regions near optimal trajectory would be a more fruitful avenue. In addition to comparing sampling strategies, we also try to understand the effect of different ways of setting time discretization. Figure (4-5) shows the statistics for the case of constant integration time At = is and in the case we sample integration time from [0, 3s}. In both cases the results were taken using simple-uniform with pruning. When we use constant integration time (which is sufficiently small) we get results similar to the ones we get when we sample the integration time, however the results for constant integration time, for small number of iterations are slightly better than the ones we get by sampling the integration time. In the Figure (4-6) we can see the states evolution as a function of time for the close-to-optimal path presented in Figure (4-3). For this case, the control input is given in Figure (4-7). Notice that for this case the integration time is not constant. 4.4.2 Additional Simulation Results We consider 3 cases. In the first case we consider a holonomic point robot (first order integrator) moving in a 2-D configuration space without obstacles. The cost function for this case is the distance traveled. This problem is very simple and therefore we a priory know its optimal cost (65.7m). In Figure (4-8) we can see the tree and the trajectory the algorithm returns after at certain numbers of iterations. In Figure (4-9) we can see the average cost and the standard deviation for 50 runs of the algorithm. In this case the results were taken using the "RRT" way to choose a node for expansion, uniform sampling of the control space and pruning. In the second case we consider a point robot moving with a minimum turning radius (e.g. Dubin's car). In this case we also minimize distance traveled. In Figure 100 Carat 10 -x Men Mean+ a -Mean- u -- 6 5 a4 3 2 0 1 2 3 6 5 4 x Id, fterations Const A, - 108 Mean - 6 Mean+ o Mean -a - 5.5 5 4.5 4- 0 o3.5- 0 2.5 0 1 2 3 5 4 Iteraions 6 X10 Const At 108 - - 8 Mean Mean+ a Mean - o 76 0 4 3. 21 0 1 2 3 Iterations 4 5 6 x 10 Figure 4-4: Cart and pole simulation results. Upper: Simple-uniform without pruning. Middle: Simple-uniform with pruning. Bottom: ExpandTreeRRT with pruning. The iterations shown are the valid iterations (do not count collisions), the actual iterations are approximate 2 times more. 101 Const A, _ 10 CIO' ~~.-.... San n A, Mean Men+ Mean -Mean 5.5 Mean- 6 -Mean +a -a 5 Ag 5 4.5 i 40 3.5 3 3 25 0 , 1 * 2 3 Iterations 4 5 1.5 .. 6 x id' 0 1 2 ke . 3 oraionS . 4 . 2 6 5 x 10 Figure 4-5: Pendulum on a cart, statistics (results obtained by choosing a node to expand uniformly and using pruning). Left hand side: the statistics for the case constant integration time At = Is is used. Right hand side: the case the integration time is uniformly sampled from [0, 3s] is used. The iterations shown are the valid iterations (do not count collisions), the actual iterations are approximate 2 times more. (4-10) we can see two trajectories the algorithm returns at 2 different numbers of iterations and in Figure (4-11) the average cost and the standard deviation for 50 runs of the algorithm. In this case, the results were taken using the "RRT" way to choose a node for expansion, uniform sampling of the control space and pruning. In the last case, we study an aerial vehicle that moves with a minimum turning radius and constant elevation per unit time. In this case we use the PQP collision library for the collision checking part and the "weighted" way to choose a node for expansion without pruning. Preliminary results can be found in Figure (4-12). 4.5 Summary and Discussion Currently, researchers in the optimal path planning community have devoted significant amount of time to solve the problem of optimal path planning for systems with differential constraints using methods that directly explore the configuration space. These methods sample the configuration space and rely on steering functions to connect the configuration space with the control space. However, for general non-linear 102 Pendulum: x Pendulum: v An. 1g. 50 10 40 x - 20[ go 5 .I - * I E 30 .-'' I a 0 10 0 2 4 6 lime 8 10 0 12 2 6 Time s 4 s 8 10 12 10 12 Pendulum: 9 Pendulum: 0 1 0 0 -5 0 U 0 c -2 -10 .. %I .' '* -3 -15 -4 I 2 4 6 ime s 8 10 12 2 4 6 Time s Figure 4-6: Close-to-optimal path as a function of time. 103 8 Pendulum: Control Input 150 100 50Z 0 -50 -100 -150 0 2 4 6 8 10 12 Time s Figure 4-7: Close-to-optimal trajectory, in this case the integration time is uniformly sampled from [0, 3]sec. systems, a steering function is not always available. In addition, rigorously speaking, even if in the case of systems with linear and fully-controllable dynamics, asymptotically optimal path planning using steering functions cannot be achieved because most of the steering functions (if there exists one) presents asymptotic behaviors which means they cannot achieve exact connection on the explored samples. We believe that a better way to approach the optimal path-planning problem for systems with differential constraints is to use methods that directly sample the control space. In this chapter we have illustrated that asymptotically optimal motion-planning for agents with differential constraints can be achieved without the use of a steering function. Going back to first principles, we present a novel analysis on asymptotic optimality of a family of algorithms that directly sample the control space. Furthermore, by modifying existing planners, we proposed a new family of asymptotically optimal planners. As the number of iterations increases, the control input these algorithms sample approaches the optimal control input. An important part of these algorithms is the choice of the "integration time" (At). In order to guarantee asymptotic optimality and completeness, we need to either sample it or to decrease. From our experience, sampling the integration time presents better results. By sampling 104 Z/ 'A ap"5- 71 I? XG, '0" 74or /A v A'anAre SO ot'a r-v iterations, Cost= 66.93 10000 iterations, Cost =74.77 100000 1000000 iterations, Cost=66.3 10000000 iterations, Cost=65.9 Figure 4-8: Holonomic agent in a space without obstacles: We can see the optimal tree and the optimal trajectory at certain numbers of iterations. The green area in the upper left part of each figure indicates the goal region. 105 Holonomic Vehicle 110 -Optimal Cost -Mean -Mean+ o Mean - o 100- 900 0 0 80- 70 Rfl .1 I 103 p 10 10 i0 Iterations Figure 4-9: Holonomic agent in a space without obstacles: the statistics for 50 runs in logarithmic scale. (a) Cost 103 m, 1000000 iterations (b) Cost 96.96 m, 5000000 iterations Figure 4-10: The second case: two trajectories the algorithm returns for certain number of iterations and the statistics. 106 Dubins Car 145- - 140 -- Mean+o -Mean -a Mean - 135 130E 125- 1200 0 115110105100950 0.5 1 1.5 2 2.5 Iterations x 106 Figure 4-11: The second case: the statistics. the integration time, we can achieve both long and short actions and we rely on the pruning part to prune short actions during first iterations of the algorithm and prune long actions during the last iterations of the algorithm (fine actions give finer results). 107 v~w ,IN Figure 4-12: Dubin's airplane: Different views of a close-to-optimal trajectory (preliminary results). 108 Chapter 5 Asymptotically Optimal Inspection Planning for Systems with Differential Constraints In this chapter we investigate the inspection planning problem. Building on Chapter (4), in this chapter we propose a new inspection planning algorithm, called Random Inspection Tree Algorithm (RITA). Given a perfect model of a structure, sensor specifications, robot dynamics, and the initial configuration of a robot, RITA computes the optimal inspection trajectory that observes the entire surface of the structure. RITA computes both observation points and the trajectory to visit the observation points simultaneously. It uses sampling-based techniques to find admissible trajectories with decreasing cost. Building on the optimality proof of the previous chapter, we show that RITA is an asymptotically optimal inspection planner thus, as the number of iterations increases, the control input the algorithm samples approaches to the optimal control input. To illustrate our theory and algorithms, we present a set of simulation results. 109 5.1 Problem Definition In the previous chapter we worked on the path/motion planning problem for systems with differential constraints. For the above formulation (of the path/motion planning problem in the previous chapter) special care is taken to model and analyze the path/motion planning problem in the control space, thus we search for a trajectory, as opposed to a path in the configuration or state space, that optimizes an objective function with respect to some variables in the presence of constraints on those variables. The above constraints can be either hard constraints or soft constraints. The definition of the path/motion planning problem introduced in the previous chapter is general and as such it can be used to address both simple motion planning problems and challenging task planning problems, therefore, the problem definition of the inspection planning problem is similar to the problem definition of the simple path/motion planning problem, however the definition of the admissible trajectory is different in each problem. Here we will formally define the inspection planning problem repeating certain parts from the previous chapter for completeness. Let us first discuss the structures to be inspected and the workspace. The workspace contains the structure to be inspected and obstacles. Obstacles will not be inspected, however they effect the complexity of the problem by changing the properties of the inspection problem and the free space as defined below. We model each structure and obstacle as a simple polygon for 2D workspaces and as simple polyhedra for 3D workspaces. To inspect the structures, we use a robot with first-order differential constraints equipped with a visibility sensor. The proposed approach can be used for both discrete and continuous sensing actions. Suppose the set of all possible robot states is S and the set of all possible control inputs is U. Then the equation of motion is given by: (t) = f(07(t),(t),t) (5.1) Where for each time t, -y(t) E S is a state, 4(t) is the time derivative of the state and and 0(t) E U is a control input (also called trajectory). Assuming that S and U 110 are manifolds of dimensions n and m where m < n, using appropriate charts we can treat S as a subset of Rn and U as a subset of R'. Furthermore we assume that the f is a Lipschitz-continuous function with respect to state and control with maximum Lipschitz constant to be less than L E R+. Supposed Sf.e c S is the collision free subset of the state space. Then we define path to be a time parametrized mapping from time to the obstacle free state space induced by control through Equation (5.1) e.g. 7 : [0, TJ -+ Sf... We also define trajectory or control function to be a time parametrized mapping from time to the control space e.g. q : [0, T] -+ U. From Lipschitz-continuity it can be shown that for each trajectory (control function) there is a unique path that represents the solution to equation of motion [122]. Suppose STR is the union of all points that lie on the boundary of the structures in the workspace. We would like to generate the control function (trajectory) 0* and the resulting path 7* from a given initial state ( y(t = 0)), such that when the robot follows 7*, it can see (covers) all points in STR from at least one point in y* and minimizes a given cost function. More formally, let D(4) be the resulting cost for control function 0 and <D to be the set all admissible trajectories. In this chapter we define an admissible trajectory to be a trajectory that induces an obstacle free statespace path (through Equation (5.1)) that starts from a given initial state ( -Y(t = 0)) and covers STR, in the sense that UtE o[, VIS(7(O)) = STR (where VIS(.) is the visibility model). Among all admissible trajectories we would like to compute the one that minimizes the cost function, e.g q* = arg min D() (5.2) and the resulting path 7*. The proposed framework is flexible enough to use any cost function that is Lipschitz continuous and spans any subset of the control space, visibility space, and state space. In this chapter we use as a cost function the distance travelled. 111 5.2 Proposed Algorithms Contrary to many inspection planning methods, RITA does not separate the inspection planning problem into the art gallery and the TSP problems. Instead, it approximates the optimal inspection trajectory 0* and the resulting path -Y* (or -YO.) by addressing the control and visibility aspects of the in inspection planning problem simultaneously. RITA approximates the optimal trajectory (if one exists) incrementally. It uses sampling-based motion planning to search the control space U to first find an admissible trajectory, and then improve it subsequently by continuing to search for shorter admissible trajectories. RITA constructs a tree T = {M, E}, where the root of the tree is the initial state (or configuration) qO. Each node q E M in the tree corresponds to a collision-free state while each edge qq' E E corresponds to a control input u E U that drives the robot from q to q' in a given time, without colliding with any of the structures and obstacles while satisfying the equation of motion, Equation (5.1). Each node q E M is annotated with the cost of reaching q from qO, and with a set of visible points, i.e., the set of points STR' C STR that the robot sees if it moves according to the path from qo to q in T. The proposed framework is flexible enough to use both continuous and discrete (e.g on the nodes or in few points within the nodes) scanning actions; results in this work are taken using discrete scanning actions. A path from qO to a node q in T is an admissible trajectory whenever q is annotated with STR as its set of visible points. To construct the tree, any sampling-based motion planning algorithm [21] can be used. In this work, we use a similar planner to the one in [59], as it samples the control space directly, and hence does not require inverse-dynamic computation, which may be difficult to compute for systems with complex dynamics. We developed 2 different versions of RITA, the first is the weighted-RITA that uses as weights the inverse density of the nodes to bias the search in less explored areas. The second one is the uniform-RITA that uses uniform sampling. We also proposed (but do not implement) the use of a planner that chooses a node to expand in an RRT style 112 (RRT'-RITA) and applies control input at random (see ExpandTreeRRT'()). In order to guarantee asymptotic optimality (as we see in the previous chapter) the integration time At has to be either sampled or slowly decrease -and approach to zero as the number of iterations approach to infinity- or to be sufficiently small. Algorithm 9 Path Planning for inspection (MethodToBeUsed) 1: Initialize: Set Initial configuration, Set Structure and Obstacle data structure, BestCost=+oo 2: while (PlanningTime=TRUE) do 3: if Biased Mode then 4: [Child, Parent, TrajFromParent, u]=ExpandTreeWeighted(T); 5: else 6: [Child, Parent, TrajFromParent, u]=ExpandTreeUniform(T); 7: else 8: [Child, Parent, TrajFromParent, u]=ExpandTreeRRT'(T); 9: end if 10: if (CollisionFree(TrajFromParent) A PossiblyOptimal(Child) then 11: NodeCost=Cost(Parent)+Cost(TrajFromParent) 12: if (NodeCost<BestCost) then 13: NodeList=NodeList U Child 14: EdgeList=EdgeList U ParentChild 15: NewVisibility=Visib(Child) 16: Child.GlobalVisib=Parent.GlobalVisibuNewVisibility 17: Child.Unseen=S \ Child.GlobalVisib 18: if (Child.Unseen=0) then 19: BestCost=NodeCost 20: BestNode=Child 21: end if 22: end if 23: end if 24: end while Algorithm 10 ExpandTreeWeighted(T) 1: 2: 3: 4: 5: Compute the number of nodes in the neighborhood: D.(q), Vq E M Probability to choose a node: P.(q) oc 1/(D.(q)), Vq E M Sample a node: q' +- rand(PR(q)) Sample control input: u +-rand() Propagate: [q,.,, TraFromParent]+- f g(q',ul)dt 6: return qn, q1, TraFromParent,u Algorithm 11 ExpandTreeUniform(T) 1: 2: 3: 4: Sample a node: q' +- rand() Sample control input: u/ +- rand() Propagate: [qi,,., TraFromParent]+-ff g(q', u)dt return qnew, q1, TraFromParent,u/ 113 Algorithm 12 ExpandTreeRRT'(T) 1: Sample a node at random: q' E Ciree 2: Find the nearest: q.r = FindNearest(T) 3: Sample control input: u +- rand() 4: Propagate: [q,,,TraFromParent - ft g(q..r, 2)dt 5: return qn,., q..r, TraFromParent,W The tree T is constructed incrementally (Algorithm 9). At each iteration of the algorithm, we try to expand the tree using the "ExpandTreeWeighted(" (or "ExpandTreeUniform(" ), which expands the tree by randomly choosing a node to expand and a control input to apply. In the case the "ExpandTreeWeighted(" is used, the node to expand q' is chosen with probability proportional to the inverse of the number of nodes within its neighborhood (a small ball with q' as its center, Fig. (51)). ExpandTreeWeighted() (or ExpandTreeUniform() ) function takes as its input the current Tree and returns a candidate new node qne., the new node's parent q', the node's trajectory from q' to qe,, and the control input used. If q,. and the trajectory from q' to qn,, are obstacle free, then we compute the cost to reach qn,. through q'. The cost for the best admissible solution found up to the current time is recorded and used to reject node candidates if they result in trajectories longer than the best one found up to that point. If the new node qe,, is not rejected, then RITA inserts qs,. as a child of q' in T, annotates the edge qneq with u, and computes the set of points STR' C STR that is visible when the robot moves from q' to qne. (in the case we use continuous scanning actions) or it computes the visibility of qn, (in the case we use discrete scanning actions, for this work we used discrete scanning actions). To speed up the search for the optimal trajectory, RITA rejects nodes that could not be part of the optimal trajectory (PossiblyOptimal function in line-10 of Algorithm 9). RITA excludes controls that drive the search to areas in which there is no probability that parts of the optimal trajectory will be present. To do so, RITA defines the Minkowski sum of the convex hull of the structure of interest and the ob- stacles within the workspace with a sphere radius (R,8 n, + Rturnng), where Rm,, denotes the maximum range of the sensor and Rta,-ing is the minimum turning radius 114 1/8 n2n n. 2/8 n 2/8 2/8 Figure 5-1: For the biased-RITA, each node to be expanded is chosen with probability proportional to the inverse of the density of the nodes within its neighborhood, here the first 3 nodes would be sampled with probability 2/8 and the last 2 with probability 1/8. of the agent (derived from dynamics). The optimal trajectory must lie within the Minkowski sum defined above. Therefore, if a control u drives the agent to node q, whose projection in the workspace is located outside of the Minkowski sum described above, then q is rejected. In addition, we use the idea of macro actions [94], each time we choose a node for expansion we apply the same control input for a predefined number of times thus, we add more than one node per iteration. In this way we get both actions that cover small and large distances in the configuration space. 5.3 Analysis In this section we will show that uniform-RITA asymptotically approaches the optimal inspection trajectory. Our analysis uses results from the previous chapter. We also perform an analysis on the completeness of the proposed framework that takes into account properties of the visibility space and properties of the free space this completeness analysis. In addition, in Papadopoulos et al. [102] we show the relation of the proposed framework to RRG algorithms. 115 5.3.1 Optimality of RITA Here we show that uniform-RITA samples trajectories that are sufficiently close to any approximation of the optimal inspection trajectory and thus sufficiently close to the optimal one (asymptotic optimality). Results from this section are based on the results proven on the previous chapter. We use similar notations and assumptions from Chapter (4) and we will repeat them here for completeness. Apart from the assumptions introduced in the previous chapter, here we introduce an additional assumption that takes into account the visibility model used and the geometry of the state space. Let 4* : [0, Tg] -+ U denote the optimal inspection trajectory and -to. : [0, TgJ -+ Shee to be the induced optimal path. Suppose the optimal inspection trajectory is approximated with a set of step functions1 , which is represented as a sequence of control inputs u* = (u4, u*, . .. , u*), where n = [TJ, u = 4((i-1) -At) for i E [1, n], and each control input in the sequence is applied for At time and yu : [0, T,] - S is the induced approximate optimal path. We also consider the trajectory the proposed inspection algorithms return, u : [0, T] -+ U, to be an c-close to u* trajectory, that is of the same form (e.g. piecewise constant) and of the same time duration of u* and -Yu: [0, T,] -+ S to be the induced path. We can then state our assumptions as, " The optimal trajectory 0* (t) is differentiable twice. " We also assume the standard 6-clearance assumption [671. This assumption is not essential for the convergence of the family of planners that sample the control space to the optimal trajectory (e.g. 6 is arbitrarily small). If 6 is large then we will be able to get admissible trajectories faster than the case 6 is small, however from our analysis does not follow that the convergence to the optimal trajectory depends on 6. " Equation (5.1) (the equation of motion) is Lipschitz continuous on both state and control arguments. 'the proposed framework is flexible to use any base function, e.g. linear, cosine functions etc. 116 * The cost function is Lipschitz continuous. * The optimal trajectory 0* induces an optimal path -yo., -y : [0, T,] -+ Svi", that is A-elastic, where A E R+. Supposed BA(70.) = UtET 9IBA(7+*(t)), where BA(7. (t)) is the ball of radius A centered at -yo. (t). Then, -y. is called A-elastic when any path yo : [0, T] -* Sfir that lies entirely in BA (-y-) n Sir, covers the entire STR. Similarly to the previous chapter, where we related the 6-clearance (which is a property of the state space or configuration space) to the control space, here we would like to relate the 6-clearance and the A-elasticity to the control space. Let, A= min(6, A) E R+ (5.3) Then, similarly to Equation (4.8), we get I17* - -yu| 5 (miAt + E)(e4lTg - 1) < A Theorem 3. Let trajectories *,u*, u and the induced trajectories (5.4) -y,' be as defined above, then for any At > 0 and any E > 0 respecting Equation (5.4), uniformRITA returns a trajectory with cost that is sufficiently close to any approximation of the optimal trajectory and thus sufficiently close to the optimal trajectory. Proof. The proof follows from Theorem (2). 5.3.2 E Completeness of RITA The probabilistic completeness property is a weaker property compare to the optimality property, for example given an algorithm convergences to the optimal inspection trajectory (in probability) then it is also a probabilistic complete algorithm. Because uniform-RITA is proven to be an optimal algorithm then it is also a probabilistic complete algorithm. We recall that the A-elasticity property encapsulates joint properties of the visibility model used and the geometry of the free space, however it is 117 not easy to exactly understand the effect of each factor separately. We have already established the probabilistic completeness of unifrom-RITA, however to get a better understanding of the effect of the visibility model and the free space we proposed another analysis on the probabilistic completeness. We simplify our analysis and we introduce a simplified version of RITA, called ideal-RITA. Ideal-RITA is the same as RITA, but it replaces the sampling strategy in Algorithm 10 with Ideal-Expand, as described in Algorithm 13. The notation RI(q) is the set of configurations reachable in I units of time from q, [59. The completeness analysis below is different than the one in Englot and Hover [38] since each of them refer to a different algorithm. In addition, our analysis uses properties of the "reachable space" and thus takes into account differential constraints. Algorithm 13 Ideal-Expand(T = (M, E)) 1: Sample a milestone qe, uniformly at random from R(M). 2: Sample a milestone q1 that can reach ml. 3: Compute a control input: u/ to move from q/ to qe. 4: return q, TraFromParent, ul Probabilistic completeness in this case means that if an admissible trajectory, i.e., one that covers all points in STR, exists, then given enough time, ideal-RITA will find it with high probability. This notion of completeness is slightly different from that which is commonly used in motion planning, i.e. covering the entire Cf,... or Sfee. To show the probabilistic completeness of ideal-RITA, we first need to define the following property of the inspection planning problem. Definition 2. Let STR be the set of all points on the boundary of the structure to be inspected. We define a v-partitioning of STR as the set S = {S1, S2,... , Sn, where n E N+ and for each i E [1, n], Si C STR and there exists a non-empty and connected set A(Si) C Sp,, whose volume is Vol(A(Si)) ;> v -Vol(SSe) and each state (or configuration) in A(S) can see all points in S. An inspection planningproblem is (k, v)-inspectionProblemwhenever the smallest v-partitioningof STR has k elements. Figure (5-2) illustrates the above definition. Intuitively, the problem is easy to 118 S~S S Sk S2 / A1 ' I' I A2 Ak Figure 5-2: A cartoon illustration of v-partitioning. solve when k is small and v is large. To analyze the probabilistic completeness of RITA, we need Sfee to be (a, /3)-expansive [59]. The (a, /3)-expansive property for robots with differential constraints have been defined by Hsu et al. [59]; we rewrite this definition here for completeness. Definition 3. Let a, O E (0,1] be constants, q E Sf, 1 R(q) C Sf, be the set of states (or configurations) reachable from q, and Rj(q) C R(q) be the set of states (or configurations) reachable from q within 1 time-steps. Then, for any q E Sfr,, R(q) is (a, /3)-expansive if for every connected subset C' c R(q), Vol(/3-lookout(C')) > a - Vol(C'), where 3-lookout(C') = {q E C' I Vol(RI(q)\C') > 3 - Vol(R(C')\C')}. The set Sfe is (a, /3)-expansive if for every q E S5.e, R(q) is (a, ,3)-expansive. Using the above definitions and the results by Hsu et al. [59]2, we can compute a lower bound on the number of sampled milestones, such that the structure STR is covered with high probability. More precisely, we show that: Theorem 4. Given a (k, v)-inspectionProblem and an (a, /)-expansive collision-free space as defined in [59], a sequence M of n milestones generated by the ideal-RITA 2 David Hsu et al. [59] defined important properties in the configuration space as opposed to our work that we define similar properties in the state space. 119 completely covers the structure STR with probability at least 1 - 2kf (13, v)e~7MU." where f (#, v) = In(2/v) and r = Ln/kj. Proof. Let L be the event that STR C VIS(M) and let L' be the event that M contains at least one configuration that lies in each A(Sj) for i E [1, k]. Based on the definition of (k, v)-inspectionProblem, it is clear that L' C L and hence P(L) P(L'). Suppose M is divided into k subsequences where each subsequence contains r consecutive milestones, and L' is the event that the ith subsequence contains a configuration in A(S). Then, P(L' n L's n ... n V'g) P(VL) = 1 - P(L1 U L'2 U ... U L') > 1 - P(Log (5.5) t=1 Using the results in [59], P(L) <; 2f(#8, v)e-~-u7 and we can rewrite Equation (5.5) as P(L') 1- 2kf(#8, v)e~fU_7. Since P(L) P(L'), we get the results we want. [ Notice from Theorem (4) that with the same number of milestones, ideal-RITA can cover STR with higher probability when we have smaller k and larger v, which fits our intuition. 5.4 Results We implemented uniform-RITA and weighted-RITA in C++ and run a set of simulations (the code is not optimized). Here we present a set of simulation results. At first we present simulations results from 2D workspaces and then we present simulation results from 3D workspaces. We also provide a set of simulation results using a TSP-art-gallery approach. 120 5.4.1 2D Workspace Results We consider a 2D workspace and the following robot's dynamics. x = u, sin 0 (5.6) = U, cos 0 The configuration space (or the state space) is 3D and the control space is 2D. The sensor model is such that it observes everything within a maximum radius R,.g that is not occluded by the structure. The visibility for a given trajectory is computed by projecting the footprint of the sensor on the workspace and using linear algebra methods to identify parts that are occluded by the structure and the obstacles in the workspace. We consider 2 different case studies in both case studies the integration time At is uniformly sampled from [0, 2]seconds. In the first case, the range of the sensor is 20 units, u, is the speed of the agent with values between 0.5 and 3 units per second, and Q is the angular velocity with values between -0.25 and 0.25 rad/s. These parameters result in a minimum turning radius of 2 units. The initial configuration for the first case study is qO = [0,0, 0 ]T. The second case is more challenging with a small visibility range and several narrow passages. Because the maximum range of the sensor is small compared to the environment, the agent has to navigate inside several of the narrow passages. The range of the sensor is 15 units, u, is the speed of the agent with values between 0.5 and 4 units per second, and Q is the angular velocity with values between -0.25 and 0.25 rad/s. These parameters result in a minimum turning radius of 2 units. The initial configuration for the second case study is qo = [45,0,7r/21T. For both case studies we also consider additional obstacles that are located close to the structure of interest. We also present mode-carol runs for each on of the cases to get running time and performance statistics. The computer used to generate the results runs on a 121 3GHz processor and Ubuntu 10.04 as the Operating System. It is important to note that our 2D implementation is not optimized and thus running times given below only represent and characterize our implementations. On the other hand our 3D implementation is better than the 2D implementation and the running times given for the 3D results could be used to understand the actual running time for RITA. First Case Study On average, weighed-RITA finds the first admissible solution within 0.24 seconds with standard deviation 0.34 seconds. It generates a solution close to the optimal (below 65 units) after 11 minutes, with standard deviation 4.6 minutes. Fig. (5- 3, lower) shows the average cost for monte-carlo runs as a function of the actual running time. Similarly, uniform-RITA finds the first admissible solution within 0.23 seconds with standard deviation 0.24 seconds. It generates a solution close to the optimal (below 65 units) after 10 minutes, with standard deviation 12 minutes. Fig. (5-3, upper) shows the average cost for monte-carlo runs as a function of the actual running time. Fig. (5-4) shows the generated admissible trajectory across different time of one of the simulation runs. In this particular run, the algorithm finds the first admissible trajectory (cost 120.6 units) after running for 0.7 seconds. It is important to note that the first admissible solution found does not belong to the same homotopy class as the optimal trajectory. We keep running the algorithm, and at 71.5 seconds it switches to a different homotopy class and finds another admissible trajectory with cost 114.9 units. The algorithm improves the current solution within the same homotopy class (at time 117.3 seconds and cost 100.85 units). At time 171.4 seconds it finds another admissible trajectory with cost 92.5 units. After 400.3 seconds, it finds a better trajectory (this particular one of cost 68.7 units), which belongs to the same homotopy class as the optimal trajectory, and eventually this trajectory converges to a near-optimal one (63.8 units after 951.1 seconds). Fig. (5-5, above left) shows a comparison between the trajectory that the algorithm converges to ( here we show another run; at this particular run RITA converges to a trajectory with cost 64.82 units after 74.73 seconds ) and the optimal holonomic 122 Weighted-RITA: LOG-LOG Mean cost coil Mean cost Weighted-RITA: Won 150 21 120 C) cost 215 130 0 LOG-LOG Mean 22 140 V Weighted-RITA: 225 I 110 2.05 0 0 100 2 1.951 80 1.91 70 1.85 0 100 200 300 500 Time Sec 400 &0) 700 I1 1 0 800 0.5 1 1.5 2 25 3 Time Sec Uniform-RITA: LOG-LOG Mean cost Uniform: Mean cost value 150. 1.92 140 1.9 130 120 1.88 g 110 0 0 1.86 0 o 10090- 1.84 80. 1.82 70B60. 0 100 200 300 0.5 400 Time Sec 1 1.5 Time Sec 2 2.5 Figure 5-3: First case study: we can see the average cost as a function of the running time in linear scale (left part) and in log-log scale (right part). In the upper part of the figure we can see results generated using Weighted-RITA, and in the lower part of the figure we can see results generated using Uniform-RITA. 123 4 40- 40- K. 35- 30 25- 2520- / 20 / 30E - 5 0 0 10 t 20 30 4 0 o3 13 seconds =0.7 30 40 t = 71.5 seconds 45 40- 40 3530 25 ( 25- 20 13 10:i 0 E N 1C 10 30 30 40 0 3 10 20 20 40 50 t = 171.4x seconds t = 117.3' seconds 40 40 N 35-U 20 10 - 10- - 25 20. / 30 25- 10 - = t = 400.3 seconds 10 20 30scd t = 951.1 seconds Figure 5-4: First case study, one run: The algorithm finds the first admissible trajectory (cost 120.6 units) after 0.7 seconds. The first admissible solution found does not belong to the same homotopy class as the optimal trajectory. We keep running the algorithm, and at 71.5 seconds it switches to a different homotopy class and finds another admissible trajectory with cost 114.9 units. The algorithm improves the current solution within the same homotopy class (at time 117.3 seconds and cost 100.85 units). At time 171.4 seconds it finds another admissible trajectory with cost 92.5 units. After 400.3 seconds, it finds a better trajectory (this particular one of cost 68.7 units), which belongs to the same homotopy class as the optimal trajectory, and eventually this trajectory converges to a near-optimal one (63.8 units after 951.1 seconds). 124 trajectory (59 units). The results indicate that the length of the trajectory RITA converges to, is close to the lower bound (optimal holonomic trajectory). The proposed algorithm can also handle additional obstacles in the workspace. In Fig. (5-5, upper right and below) we show the results RITA gives if we include obstacles close to the structure of interest. In this particular run, the cost decreases from 124.4 to 73.3 units for 0.07 seconds to ihour running time. Second Case Study On average, weighted-RITA finds the first admissible solution within 12.87 seconds (with standard deviation 25.4 seconds) and gets a solution close to the optimal (below 185 units) after 44 minutes respectively (with standard deviation 85 minutes). As Figure (5-6) shows, by running it longer, the length of the generated admissible trajectory becomes shorter. Fig. (5-6, upper) shows the average cost for Monte-Carlo runs as a function of the actual running time. Similarly, on average, uniform-RITA finds the first admissible solution within 375 seconds (with standard deviation 3.68 seconds) and gets a solution close to the optimal (below 185 units) after 30 minutes respectively (with standard deviation 50 minutes). Fig. (5-6, lower) shows the average cost for Monte-Carlo runs a function of the actual running time. Fig. (5-7,a-d) shows the generated admissible trajectory across different time of one of the simulation runs. In this run, the algorithm finds the first admissible solution after running for 43.5 seconds (cost 219 units). It improves the current solution within the same homotopy class, as shown in Fig. (5-7,b) (113.7 seconds for cost 200 units). Then the algorithm explores few other homotopy classes and finally it converges to a trajectory with cost close to the optimal one (177.6 units in 51 minutes). For this case study, due to symmetry, there are different homotopy classes of trajectories with cost close to the optimal one (or the same one). In Fig. (5-7,e-f) we can see 2 different runs that resulted in 2 different trajectories with cost close to the optimal one (177.26 units in 67 seconds and 177.66 units in 100 minutes). 3 3 we stopped all runs within 2 hours, if we keep running the algorithm for more time it switches back and forth between homotopy classes, continuing to improve the cost. 125 40 40 35 30 - 30 25 - 20 2015 10 -1005- -10 0 10 x 20 30 40 50 30 40 50 40- 30 30 20U- N20 -- - 40- - x U 10 10 0- 0. -10 0 10 20 30 40 50 -10 x -10 0 10 20 x Figure 5-5: First case study: Above part) Comparison between the trajectory that the algorithm converges to and the optimal holonomic trajectory. We see that the optimal holonomic trajectory is close to the one the algorithm generates. Upper right and below part) The effect of additional obstacles (gray color) close to the structure of interest. 126 Weighted-RITA: Mean cost Weighted-RITA: LOG-LOG Mean cost 260 P 44. 250 2.42 2.4 - 240 2.38 230.. o 2200 [ 0 210- 2.36 2.34 2.32 2001 2.3 2.28 0 1000 2000 3000 lime Sec 4000 5000 0 0.5 Uniform-RITA: Mean cost 1 1.5 2 2.5 Time Sec 3 3.5 Uniform-RITA: Mean cost 2-. 230 220[ 2100 0 200190. 235- K U 0 0 2.3F 2.25L 180 0 1000 2000 3000 4000 5000 0.5 Time Sec 1 1.5 2 2.5 Time Sec 3 3.5 4 Figure 5-6: First case study: we can see the average cost as a function of the running time in linear scale (left part) and in log-log scale (right part). In the upper part of the figure we can see results generated using Weighted-RITA, and in the lower part of the figure we can see results generated using Uniform-RITA. 127 These runs show that the algorithm indeed explores all homotopy classes that need to be explored, until reaching a trajectory sufficiently close to the optimal one. Fig. (5-7,g-h) shows some of the results RITA gives if we include obstacles close to the structure of interest. In this particular run, the cost decreases from 213.9 to 191.5 units for 65 seconds to 2 hours running time. 5.4.2 TSP-Art-gallery We also implemented an approach based on TSP-art-gallery, similar to the approach presented to [36], on C++ (again the code is not optimized). At first we sample and resample observation points until finding a small set of observation points that covers the structure, then we use the Concorde TSP solver to compute the visiting order and then we use an EST planner to compute closed to optimal trajectories that connect the observation points 4. As described in the introduction, the separation of the inspection problem to the TSP and art-gallery problem is difficult to apply when the robot is non-holonomic and operates in cluttered environments, as the observation points generated by the art gallery problem may not be reachable from other observation points in the set. In summary, the problems the TSP-art-gallery presents are as follows: " In the case there are K observation points, in order to compute trajectories that visit all observation points we have to explore the whole configuration space K times. " The configuration the observation points would be visited is not known a-priori and in the case we have non-holonomic vehicles it is crucial. " TSP solvers failed to compute the optimal visiting order because they do not take into account obstacles. " The art-gallery solvers could probably place several observation points close to obstacles, this is likely to result in agent with non-holonomic dynamics to get 'we run the EST algorithm sufficiently large number of iterations such that each of the trajectories that connects the observation points will be improved several times. 128 40- 30 10 I 407 10- 20.10 10 -10. -0-20 0 20 4 X 120 W 0 30 40 2C-1 x (a) t = 43.5 seconds (b) t = 113.7 seconds (c) t = ~76.8 seconds 70 4010 10 10 40 30 -- E0- 20 10 10 -10 0- 24 -20 0 -20 (d) 0 51 40u -2C 0 t 20 - 0 $0 X (e) t = 67.1 seconds 51 minutes 70 10 50 50 40- 107 = 100 minutes 40- U. U > 30 (f) t N 30 1007 -10 -20 0 20 40 EQ X (h) t = 2 hours (g) t = 39 minutes Figure 5-7: Second case study, (a-d) the algorithm finds the first admissible solution after running for 43.5 seconds (cost 219 units). It improves the current solution within the same homotopy class (113.7 seconds for cost 200 units). Then the algorithm explores few other homotopy classes and finally it converges to a trajectory with cost close to the optimal one (177.6 units in 51 min). (e-f) Different homotopy classes of trajectories with cost close to the optimal one. (i-j) Results with additional obstacles (obstacles in gray color). 129 trapped as a result, the algorithm fails to compute an inspection trajectory or it takes long time to compute one. On the other hand approaches based on TSP and art-gallery methods require less memory compared to the one we propose here and this is very important for complex structures. We run a set of simulation results for the second case described in the previous subsection. The average time of the runs depends on: the number of iterations (or number of improvements) the planner that connects 2 sequential observation points takes, and in the number of iterations the algorithm takes to compute a small number of observation points (see [361). In Fig. (5-8) we can see some of the results the TSP- art-gallery approach gives, in our case the average running time is about 10 mins to get an inspection trajectory with average cost of 265 units (Fig. (5-8, lower left)) . The cost of the best trajectory we got (out of 40 runs) is about 212 units (Fig. (5-8, upper left)). In addition, the algorithm fails to return a feasible inspection trajectory 1 out of 6 times because some of the observation points are chosen to be close to obstacles and the agent due to its dynamics can not escape (Fig. (5-8, lower right)). Fig. (5-8, lower left) shows one run that the TSP solver failed to compute a good visiting order because the obstacles were not taken into account during the computation. 5.4.3 3D Workspaces Academic Applications and Algorithm Evaluation We also implemented uniform-RITA and weighted-RITA for general 3D workspaces in C++. To handle general 3D structures we use the PQP collision library [781. The visibility checking was also done using the PQP library. We consider the following 130 Figure 5-8: TSP-art-gallery approach: upper left shows the best inspection trajectory out of 40 runs (cost 212 units), upper right: shows a typical trajectory (cost 265 units), lower right: the TSP solver failed to compute a good visiting order because the obstacles were not considered for the TSP problem, lower right: It fails to find a feasible trajectory because one of the observation points was chosen to be close to the obstacles. 131 robot's dynamics. u, sin 6 (5.7) u.cos6 ZAz The configuration space now is 4D ([X, y, 6, zIT) and the control space is 3D ([u,, D, Az]). Thus the agent moves with a minimum turning radius in planes parallel to the blue plane (see Fig. (5-10)) and constant elevation per unit time towards the Z direction (perpendicular to the blue plane). Where u, takes values from [0.6,21, Q takes values from [-M, Qrad/s and Az takes values form [-2,2lunits/s. These parameters result in a minimum turning radius (in the blue plane) of 2 units. The sensor model is such that it observes everything within a maximum radius Rr.,ng (sphere) that is not occluded by the structure. In all the missions the range of the sensor is 8 units. The visibility for a given trajectory is computed by projecting the footprint of the sensor on the workspace and using the PQP library to identify parts that are occluded by the structure and the obstacles in the workspace. We consider 3 case studies, in the first case study we compute close to optimal trajectories to inspect a link (ring) of a huge chain (that is cominonly found in the offshore oil industry, see Fig. (5-9)), in the second case study we compute close to optimal trajectories to inspect a knot (that is also commonly found in the oil industry, see Fig. (5-9)). In the 3rd case study we compute close to optimal trajectories to inspect a maze with spheres (10000 faces). In all cases the size of the workspace is 20 x 20 x 20 units. In the Table (5.1) and Table (5.2) we can see the statistics for the Weighed-RITA and Uniform-RITA respectively. In Fig. (5-10) we can see top views and isometric views of typical runs for each one of the missions. In the top we can see a resulting close-to-optimal 5 trajectory for the "ring" mission, in the middle we 5 The exact optimal cost is very difficult to compute. However, for the "Ring" case, because we know the maximum perimeter of the torus and the cost function is just the distance traveled we can try to estimate a-priori a cost value that is close to the optimal for the case we have a holonomic 132 part can see a resulting close-to-optimal trajectory for the "knot" mission and in the lower part we can see a resulting close-to-optimal trajectory for the "maze" mission. In all runs, the agent's initial configuration is at the intersection of the green red and blue planes ([-10, -10, -10, 45deg]T). P r267m Pudido spar ENffTowr Figure 5-9: The size of marine structures and their mooring lines is huge. Industrial Applications We also tested RITA on industrial applications. We consider the same equations of motion as before, however we reduce the range of the sensor to 6 units. We consider 2 case studies, the first one is a simplified model of the lower part of a real oil rig and the second one is a torpedo shaped vehicle (e.g. a type of a submarine). The size of the mesh is about 10000 faces for the oil rig, and about 35000 faces for the torpedo shaped vehicle. The results can be found in Fig. (5-11). vehicle e.g. about 70 units. In addition, as we can see from the 2D case studies the algorithm returns trajectories that are close to optimal. 133 Table 5.1: Weighted-RITA: Average running times and iterations to get the first feasible inspection trajectory and close-to-optimal inspection trajectories Mean cost of the 1st feasible solution STD of the mean cost of the 1st feasible solution Mean cost of a close-to-optimal solution STD of the cost of a close-to-optimal solution Mean time to the 1st feasible solution (sec) STD of the time to the 1st feasible solution (sec) Mean time to close-to-optimal solution (sec) STD. time to close-to-optimal solution (sec) Ring 104.41 10.18 81.11 2.87 29.7 20.6 870 701 Mean iterations to 1st feasible solution 3.92104 STD of the iterations to 1st feasible solution Mean iterations to close-to-optimal solution STD of the iterations to close-to-optimal solution 2.77 10 1.4 106 1(r Knot 117.55 18.14 91.3 3.14 323 204 2678 1620 3.12 105 2.17 105 2.1 10' 1.3 106 Maze 139.23 12.07 107.67 2.73 904 570 4303 1168 1.6 105 9 10" 6.3 105 2.25 105 Table 5.2: Uniform-RITA: Average running times and iterations to get the first feasible inspection trajectory and close-to-optimal inspection trajectories Mean cost of the 1st feasible solution STD of the mean cost of the 1st feasible solution Mean cost of a close-to-optimal solution STD of the cost of a close-to-optimal solution Mean time to the 1st feasible solution (sec) STD of the time to the 1st feasible solution (sec) Mean time to close-to-optimal solution (sec) STD time to close-to-optimal solution (sec) Ring 108.82 14.61 80.14 3.2 32.52 16.71 887.22 400 Mean iterations to 1st feasible solution 4 104 STD of the iterations to 1st feasible solution Mean iterations to close-to-optimal solution STD of the iterations to close-to-optimal solution 2.21 10 1.47 106 6.05 101 134 Knot 123.41 14.92 88.27 3.1 316 199 3476 1349 2.21 105 1.37 105 2.66 106 1.05 10 Maze 154.6 17.53 105.9 4.2 70 33 5507 684 12364 6261 1.95 10 1.01 105 I4 b a I" K 'K 'K d c . . I.' S \~/ / / * / 0** e f Figure 5-10: Top and isometric views of typical runs for each one of the missions. a-b) close-to-optimal trajectory for the "ring" mission, c-d) close-to-optimal trajectory for the "knot" mission and in e-f) close-to-optimal trajectory for the "maze" mission. 135 .9 -/ fix a b C d It e f Figure 5-11: Several views of typical runs for each one of the missions. a-b) close-tooptimal trajectory for the "oil rig" mission, c) a 3D CAD model of a real oil rig, d-f) close-to-optimal trajectory for the "Submarine" mission. 136 5.4.4 Implementation To increase the speed of the proposed algorithm we use the idea of macro actions [941, each time we choose a node for expansion we apply the same control input for a predefined number of times thus, we add more than one node per iteration. In this way we get both actions that cover small and large distances in the configuration space. For instance, for the 2D cases we reapply the same control input 5 and 8 times respectively and for the 3D cases ("ring", "knot" "maze") we apply the same control input 8 times. To minimize the memory usage, even if we take observation actions at each of the intermediate points ("sub-nodes") we do not keep their visibility in memory. Instead, the visibility of the "sub-nodes" is curried out in the last node in the sequence (e.g. the intermediate nodes serve as a trajectory from the parent node). 5.5 Summary and Discussion This Chapter proposes a new inspection planning algorithm, called Random Inspection Tree Algorithm (RITA). Given a perfect model of a structure, sensor specifications, robot's dynamics, and an initial configuration of a robot, RITA computes the optimal inspection trajectory that observes all points on the structure. This chapter proposes a new way of approaching the inspection planning problem. Instead of separating the inspection problem to the art-gallery and TSP we proposed the used of sampling-based techniques to find admissible trajectories with decreasing cost. As the number of iterations (of the algorithm) increases the control input the algorithm samples approaches to the optimal control input. Despite of the promising results there is room for improvement. In this Chapter we have developed the framework to solve the inspection problem using samplingbased motion planners. From our experience with sampling-based motion planners we can see that different sampling strategies (RRT, RRG, adaptive etc.) can be used to accelerate RITA. It would also be interesting to see how RITA behaves with different cost functions (e.g. penalize the number of observation actions). We would also like to extend RITA to take into account uncertainty. 137 138 Chapter 6 Robustness of Approximate Optimal Trajectories In the previous two chapters we have developed algorithms for optimal planning under perfect knowledge over vehicle dynamics, environment map and sensing. However, real world comes with uncertainty. In this chapter, we would like to study robustness properties of optimal inspection trajectories with respect to noise in the control inputs and disturbance forces from the environment. For example, we would like to compute the level of control noise before a trajectory during execution time becomes nonadmissible (e.g collides with the structure, or looses coverage properties). Using Lipschitz continuity and assuming that the trajectories returned by the proposed algorithms are elastic and have some clearancel, we derive theoretical deterministic bounds on the maximum noise levels (on the control inputs) we can handle. Unfortunately, the deterministic bounds are not useful enough and therefore we have to rely on and derive probabilistic bounds, for example we compute the probability of failing as a function of the noise properties. In the last section of this chapter, we introduce a framework based on Monte Carlo methods to evaluate trajectories in the presence of both noise in the control inputs and disturbance forces that effect the states directly. 1The elasticity property was formally define in Chapter (5), while the clearance property for this chapter is defined formally later in this chapter. 139 6.1 Introduction We consider again the three trajectories and the three induced paths described in the previous chapter. Let #*(t) : [0, Tg] -+ U denote the optimal inspection trajectory and -o. : [0, Tg] -+ Si,, to be the induced optimal path. Suppose the optimal inspection trajectory is approximated with a set of step functions 2 , which is represented as a sequence of control inputs u* = (U,, u,..., u*), where n = J, * = 4* ((i - 1) -At) for i E [1, n], and each control input in the sequence is applied for At time and -U : [0, TJ -+ S is the induced approximate optimal path. We also consider the trajectory the proposed inspection algorithms return, u : [0, T] -+ U, to be an eclose to u* trajectory that is of the same form (e.g. piecewise constant) and of the same time duration of u* and -yu : [0, T] -+ S to be the induced path. In addition, we consider the trajectory during execution time , ii*, to be a set of step functions similar to u*, e.g. i* = (uI + nu,1 , u + ,2,...,u* + n,), where n,, is the control noise. Let nu,i E U, Vi E [1, n] to be a vector of random variables for which each entry is distributed according the following probability density function: P(.), P: R -- [0, 1]. We also assume that u* has 61-clearance and A 1-elasticity such that: A, = min(Ai, 6) (6.1) It is important to notice that in general the clearance assumption is a property of the state space. In this chapter (as opposed to the previous chapter) we use a different definition. A trajectory u* : [0, T,] -+ U has 6-clearance if it induces a path in the state space (e.g. y* : [0, TgJ -+ S) such that for any t E [0, TgJ there exists a ball of radius 6 centered at yu. that is obstacle free e.g. BA(7.u (t)) C Svee, Vt E [0, Tg]. Given P(.) as a uniform probability density function with bounded support e.g. -.-Lfor P(X =) 2 = 2C 0 r -C( X elsewhere ( (6.2) the proposed framework is flexible to use any base function, e.g. linear, cosine functions etc. 140 we would like to study the robustness to control noise of the approximate optimal trajectory u*, ie. we would like to: * compute the level of the control noise such that the trajectory during execution time, u*, is still an admissible trajectory (e.g. does not collide with the structure and covers the entire structure). * compute the level of control noise such that the probability the trajectory during execution time remains an admissible trajectory is greater than a given threshold. 6.2 Deterministic Theoretical Bounds To compute the level of the control noise such that the trajectory during execution time, 12*, is still an admissible trajectory (e.g. does not collide with the structure and covers the entire structure) we use the Lipschitz continuity property of the equations of motion and results from Chapter (4). Direct application of the Equation (4.5) from Chapter (4) for the approximate optimal trajectory, u*, the trajectory during execution time, *, and their induced paths (e.g. 7. ,7'.) gives: Eu(eP' - 1) Es(t) Eu(eLPT9 - 1),Vt E [0,Tg] (6.3) We recall that Es(t) is the Li Norm of the difference between -yu. and 7f. (e.g. Es(t) = I'y|..(t) - ya.(t)JJVt E [0, Tg) induced by trajectories u* and 12* such that EU = maxtE[o,T9, |u*(t) - 1*(t)I1, Vt E [0, Tg. Because the approximate optimal trajectory is assumed to have the properties of 61-clearance and Ar-elasticity, thus the trajectory during execution time (U^*) is still 141 an admissible trajectory if the following holds: Es(t) E L(ept -1) Eu(eLp - 1) Eu(e pT 1 ,vt E Eu(epT -1) A1 EU A1 A- Where Eu = maxtE[o, 9 IIu*(t) - - 1) ! A 1 ,Vt E [0,7T1 [OTg} ,Vt E [0, T] (6.4) i*(t)j1,Vt E [0,Tg], since both u* and ^* are rep- resented by a sequence of step functions each of them applied for a constant time duration At, then, EU = maxVEh1,l(I|n,iJ). For all i n,,,i is a vector with independent random variables distributed according to P(.). In the above expression, denotes the L1-Norm, therefore, Eu = 2mC. We can now relate A, }1.11 with the noise support C: C 6.3 52m(e A, pT - (6.5) 1) Probabilistic Theoretical Bounds The deterministic bound, as derived in the above section ( see Equations (6.5)), takes into account the worst case scenario on both the response of the dynamical system in question (exponential divergence) and the noise level. Therefore the deterministic bound results in control noise level that is extremely small and as such probably not useful for certain cases. On the other hand, if we are interested in computing the level of control noise such that the probability of success 3 to be greater than a given threshold, then we can get more useful/realistic bounds. In the context of this chapter and based on the above assumptions, we define the event "A" to be the event a trajectory during execution time, e.g. 12*, to be an admissible trajectory. Then, the probability for the event "A" to happen is equal to: Pr(A) 3 Pr(Es(t= T) 5 A) e.g. a trajectory during execution time (e.g. U*) to still remain an admissible trajectory. 142 (6.6) Using results from Equation (6.4), we get, Pr(Es(t = T,) A,) Pr(EU(eLPT - 1) Pr(A) Pr(Eu 5 1) = A1 (6.7) 1)-P9 ) Pr(A) Equation (6.7) gives the probability for the trajectory during execution time (and its induced path) to be an admissible trajectory (path) in terms of: * the probability density function ( more specifically, in terms of the Cumulative Density Function (CDF) ) of EU = maxviE[1,n](I|nU,iIJ), which depends on the control noise and the dimension of the control space U. * the clearance and the elasticity properties of the approximate optimal trajecto- A1 . ries * the dynamics of the agent (through the Lipschitz constant L,). * the time duration of the trajectories, e.g. T,. _-). Since Eu = maxVE[o,nl1](Jn.,iJ) We would like to compute Pr(Eu and for all i, n, ,1 is a vector with independent random variables distributed according to P(.) then, Pr(Eu eu) = Pr(Z ln'i,II < eu, i=1 Pr(Eu e) = Iln11f2,u| !5 e , E |lni'3,ul 5 e-... E In'Iul| i=1 M=1 eu) 1=1 Pr(Z IInuII 5 e)Pr(Z Ilni2,uI| < eu)...Pr(Z |hnn,uII 5 eu) i=1 i=1 i=1 m Pr(EU 5 eu) = [Pr(Z lln,,uI !5 eu)]n i=1 Were 7 ,, is the ith entry to the n, vector. Because ||n i,U1j represents the absolute value of n'Iu (a random variable with probability density function in Equation (6.2)), then ||nii,,| is a random variable with probability density function given by the 143 (6.8) equation below: A ( ,for 0<xz< C 0 elsewhere P(X = X) = Then, Pr(E'n, [lnii,uIl (6.9) e,) can be computed using nth convolution of P(X = x) or the Irwin-Hall Distribution [491. Substituting e = Pr(A) ;> Pr(Eu we get: (e[Pr(pj- )' E ni=I =m,,1 _)]n (eLvTe (6.10) 1 In the presence of noise on the control inputs, the above equation, Equation (6.10), represents a lower bound on the probability the trajectory during execution time to be an admissible trajectory. It is important to notice the dependence of the above bound on the dimension m of the control space. 6.4 Monte-Carlo Framework for General Trajectory Evaluation In the previous subsections we derived theoretical bounds that characterize the robustness of the approximate optimal trajectory in the presence of control noise. For the general case, theoretical bounds are not easy to be derived, thus we propose the use of the Monte-Carlo framework to evaluate the robustness of a given trajectory in the general case where we have control noise, state noise or/and additional forces acting on the agent etc. In Figure (6-1), we can see the average probability of getting an admissible trajectory for several runs of the algorithm as a function of the noise levels considered in the experiments. In each run the resulting approximate optimal trajectory was evaluated using the Monte-Carlo framework, each Monte-Carlo run generated and evaluated 200 trajectories and paths. The probability of getting an admissible trajec144 tory for each Monte-Carlo is computed by the ratio of the admissible paths divided by the number of all runs. To get the average probability of getting an admissible trajectory we simply get the average over all runs. For each of the Monte-Carlo runs, the generated trajectory was taken by corrupting the approximate optimal control input and the state with random noise taken from the underlining probability density functions. In this particular case we show results from the inspection planning missions (the "ring" and the "knot" experiments). We assume that the control noise in each dimension of the control inputs (forward speed, rotational velocity, and elevation per unit time) is taken from a uniform probability density function given in Equation (6.2) where C is given as a certain percentage of the approximate optimal control input at each time step. In addition, the state noise is also take from a uniform probability density function with C equal to a certain percentage of 20 (the maximum distance in the workspace) for the x, y, z states and of 360deg. for the 0 state. For example, in the case we have 0.5% noise in the control inputs (as defined above) and 0.5% noise in the states (as defined above), then the probability of getting an admissible trajectory is equal to 92% for the "ring" mission and equal to 81% for the "knot" mission. 6.5 Summary and Discussion The proposed algorithms described in the previous sections do not take into account uncertainty or disturbance forces acting on the agent during execution time. In this chapter, we show that under certain assumptions (e.g. elasticity and clearance assumptions on the computed trajectory), the resulting trajectories are robust to noise in the control inputs and states. In this chapter we derived theoretical deterministic bounds on the level of the control noise such that the resulting trajectory/path during execution time to be an admissible trajectory/path. Because the deterministic bounds are not useful enough, we derived probabilistic bounds on the level of the control noise such that the probability of getting an admissible trajectory during execution time to be less than a threshold. In addition, we proposed the use of the Monte-Carlo 145 Robustness 100 90 ---------- ..---.. .....------- --------------.-- ---- - - Ring K n ot -- LL 0 . ---.. .... . .. ......... .......-----. ---------- 3 0 -..................................- 10 0 0.005 0.01 0.015 0.02 0.03 0.025 Noise Level 0.035 0.04 0.045 0.05 Figure 6-1: Effect of additive control and state noise framework to evaluate evaluate the robustness of a given trajectory in the general case where we have control noise, state noise or/and additional forces acting on the agent etc. This chapter concludes our work on path/motion/inspection planning. In the next Chapter we will close with conclusions and future work. 146 Chapter 7 Conclusions and Future Work 7.1 Conclusions Motivated by inspection applications for marine structures this thesis develops algorithms to enable their autonomous inspection. Two essential parts of the inspection problem are (1) path planning and (2) surface reconstruction. This thesis contributes to both parts of the autonomous (robotic) structural inspection problem and to the optimal path, inspection and task planning problem. Regarding the path planning part of problem, we compute trajectories that are informative enough to gather data (such as sonar and LiDAR data) from all different views of a given structure that guarantee that all hidden parts of it would be visible.- In the surface reconstruction part of the problem, we assembled data gathered from all different views of the structure to reconstruct a 3D CAD model of the external surfaces of the structure. 7.1.1 Surface Reconstruction An essential part of the inspection problem is the surface reconstruction part. In the surface reconstruction part of the problem we assembled data gathered from all different views of the structure to reconstruct a 3D CAD model of the structure of interest. As a starting point we assume that we have data such as laser scanner data and sonar data that covers all details of a given structure and we would like 147 to assemble this data to reconstruct 3D models (e.g. CAD models and point cloud representations) of the structure of interest. Chapter (3) focuses on the problem of 3D surface reconstruction in the marine environment. This chapter summarizes our hardware, software, and experimental techniques on surface reconstruction over the last few years. We use off-the-shelf sensors and a standard robotic platform to scan marine structures both above and below the waterline, and we developed a method and software system that uses the Ball Pivoting Algorithm (BPA) and the Poisson reconstruction algorithm to reconstruct 3D surface models of marine structures from the scanned data. We have tested our hardware and software systems extensively in field experiments in the Singapore coastal zone, including operating in rough waters, where water currents are around 1-2m/s. We present results on construction of various 3D models of marine structures, including slowly moving structures such as floating platforms, moving boats and stationary jetties. Furthermore, the proposed surface reconstruction algorithm makes no use of any navigation sensor such as GPS, DVL or INS. Executing the experiments we present in Chapter (3), we realize how difficult is to compute 1) admissible trajectories that guarantee 100% structure coverage and 2) close-to-optimal trajectories that guarantee 100% structure coverage. In the second part of this thesis we focused on the path-planning part of the problem. 7.1.2 Path Planning Although many inspection planning algorithms, have been proposed most of them fail to compute optimal or close-to-optimal inspection trajectories that take into account vehicle dynamics for high-dimensional systems. These approaches decompose the problem to the TSP and the art-gallery problem and solve each problem separately. Because the computation of the observation points and the visiting order cannot be computed independently, even for holonomic systems, by separating the inspection planning problem to the TSP and the art-gallery problem optimal or close to optimal inspection planning may be difficult to achieve. Instead, we model the problem as an optimization planning problem and we propose an approach that achieves optimal 148 inspection planning based on tools and ideas developed by the path planning community and novel ideas we present in this thesis. We formulate the inspection planning problem in a general way. In fact, we frame it as a general planning problem or as a task planning problem. A general way to define a planning problem is as follows. Given a dynamical system, the obstacle-free space (e.g. a subset of the state space that is obstacle-free) and task specifications, we define an admissible path to be any obstacle-free path that represents a solution to the system dynamics and does not violate the task specifications. Then an optimal task planning problem computes among all admissible paths the one that minimizes a cost function. The simplest category of task planning problems is the path planning problem; for the simple path planning problem an admissible path is an obstacle-free path that starts from a given state, reaches the goal region and represents a solution to the system dynamics. It is clear that, the set of all path planning problems is a subset of the set of all inspection planning problems and the set of all the inspection planning problems is a subset of the set of all the task planning problems (see Figure (7-1)). Task Planning Inspection Planning Path Planning Figure 7-1: The set of all path planning problems is a subset of the set of all inspection planning problems and the set of all the inspection planning problems is a subset of the set of all the task planning problems. At first, we studied the simple path planning problem (Chapter (4)). Because we are interested in high-dimensional systems we took a sample-based approach. Over 149 the last 20 years significant effort has been dedicated to the development of samplingbased motion planning algorithms such as Rapidly-exploring Random Trees (RRT) and its asymptotically optimal version (e.g. RRT*). However, asymptotic optimality for RRT* only holds for linear and fully actuated systems or for a small number of non-linear systems (e.g. Dubin's car) for which a steering function is available. These approaches sample the configuration space and rely on steering functions to connect the configuration space with the control space. However, for general non- linear systems, a steering function is not always available and as a result the optimality guarantees of the RRT* algorithm do not hold for general non-linear systems. Instead of sampling the state space, in this thesis we propose a method that samples the control space directly. Instead of trying to cover the state space, we are devoting our efforts to sample a control input (a trajectory) that is arbitrarily close to the optimal one, and as a result we alleviate the necessity of using a steering function. We present a novel analysis on asymptotic optimality of a family of algorithms that directly sample the control space. This analysis only requires Lipschitz continuity on the differential constraints and the cost function. This analysis shows, for the first time, that optimal path planning (and inspection planning, and general task planning) can be achieved by sampling the control space directly. We also provide simulation results for several cases including the well-studied pendulum-on-a-cart problem in the presence of obstacles. In the way we define each one of the path planning problems (simple path plan- ning, inspection planning and task planning) their definition is identical. The only difference is on the definition of admissible paths. Because the analysis in Chapter (4) is done on the control space, we do not really need to worry about the details of the induced paths in the state space (e.g. to reach the goal region or to visit several goals in a given order or not). Therefore, as far as all the assumptions are valid, the analysis in Chapter (4) holds for all the planning problems. Based on this observation, in Chapter (5) we developed a new inspection planning algorithm, called Random Inspection Tree Algorithm (RITA). Given a perfect model of a structure, sensor specifications, robot's dynamics, and an initial configuration of a robot, RITA 150 computes the optimal inspection trajectory that observes all points on the structure. Instead of separating the inspection problem to the art-gallery and TSP we propose the use of sampling-based techniques to find admissible trajectories with decreasing cost. As the number of iterations (of the algorithm) increases, the control input the algorithm samples approaches to the optimal control input. To alleviate the difficulty of dealing with challenging dynamical systems RITA samples directly the control space. We also provide a rich set of simulation results motivated by inspection problems for marine structures. Our contributions in Chapter (4) and Chapter (5) do not consider uncertainty and disturbance forces acting on the vehicle during execution time. However, real world comes with uncertainty and disturbance forces acting on the agent. In Chapter (6), we studied the robustness of the close-to-optimal trajectories (trajectories returned by the proposed algorithms in Chapter (4) and Chapter (5)). Using Lipschitz continuity, and under certain other assumptions we showed that, the resulting trajectories are robust to noise in the control inputs and states. We derived theoretical deterministic bounds on the level of the control noise such that the resulting trajectory/path during execution time to be an admissible trajectory/path. Because the deterministic bounds are not useful enough, we derived probabilistic bounds on the level of the control noise such that the probability of getting an admissible trajectory during execution time to be less than a threshold. In addition, we proposed the use of the Monte-Carlo framework to evaluate the robustness of a given trajectory in the general case where we have control noise, state noise or/and additional forces acting on the agent etc. 7.2 Contributions The contributions of this thesis are as follows: * We provide a novel analysis that demonstrates that the optimal path planning problem for general non-linear dynamical systems can be achieved using random sampling in the control space. This analysis does not require a steering function. 151 " We perform a novel analysis on the convergence rate of algorithms that sample directly the control space. In addition, we provide a closed form solution for the behavior of a such algorithm. " Building upon existing planners, we propose a new asymptotically optimal family of planners. As the number of iterations increases, the sequence of control inputs these algorithms sample, approaches the optimal control trajectory, with probability one. Simulation results are provided. " Building on results from our previous contributions on the path planning problem, we propose the first asymptotically optimal sampling-based inspection planning algorithm, called Random Inspection Tree Algorithm (RITA). RITA computes both observation points the trajectory to visit the observation points simultaneously. It uses sampling-based techniques (in the control space) to find admissible trajectories with decreasing cost. " We present a set of simulation results from 2D and 3D workspaces and agents with differential constraints. " Using off-the-shelf sensors and a commercial robotic kayak [28], we assembled a novel autonomous surface vehicle that is capable of using a powerful 3D laser scanner (Velodyne) and a side-looking sonar to scan marine structures both above and below the waterline. " Using Velodyne and sonar data, without using any other navigation sensor such as GPS, DVL or INS, we propose a method to reconstruct 3D models of partially submerged slowly moving marine structures. " We present various surface reconstruction experimental results including results from sea environments with water currents around 1-2m/s. More specifically, we present three experimental results of mapping the above-waterline part of marine structures and one experimental result of mapping both the above- and below-waterline parts of marine structures. To the best of our knowledge, these are the first results on 3D surface reconstruction field experiments in rough seas 152 and slowly moving structures. Experiments presented here are as realistic as possible. We present results in rough waters with moving structures (floating platforms and boats) under tidal effects (1-3 m) and water disturbances arising from big ships moving in the busy Singapore coastal zone. 7.3 Future Work There are several directions for future work and further improvement. There are directions for future work for each one of the problems we address in this thesis (e.g. path planning, inspection planning and surface reconstruction) and for the inspection problem as a whole. Probably the first priority for future work is to implement the inspection planning algorithm on a real vehicle in the ocean. In order to be able to do this though, our inspection planning algorithms need extension to be able to able to cope with uncertainty. 7.3.1 Path Planning Regarding our path planning contributions, despite the promising results, there is room for improvement. We do not argue that we have definitively solved the general optimal path planning problem for non-linear systems. Instead, we are shedding some light on it and its challenges. As we see from the results section, the number of iterations needed to get a trajectory with close-to-optimal cost is large. One can argue that non-holonomic problems are significantly more complex than linear problems. However, we believe that the number of iterations can significantly be reduced if instead of using uniform sampling of the control space, we use similar methods researchers have been using to guide the sampling in the configuration space to sample the control space. The proposed framework (planning in the control space) can be used to solve optimal control problems e.g. Model Predictive Control (MCP) problems. We can generate the proposed optimal controller off-line and use it in real-time. Given that we can achieve faster convergence rates than the ones we have now (e.g. using clever 153 sampling), then this framework (planning in the control space) can be used to design optimal controllers in real-time. 7.3.2 Inspection Planning A long term goal is to develop a system capable of autonomously inspecting marine structures in the presence of uncertainty. As described in this thesis, we have already developed an inspection planning algorithm that computes close-to-optimal inspection trajectories and a framework that reconstructs 3D CAD models of the structure of interest from scanned data. The proposed surface reconstruction framework can handle uncertainty (e.g. noisy point clouds), however the inspection planning algorithm in its current form can only handle small uncertainty. To be able to accomplish autonomous inspection of marine structures in realistic environments in the presence of large uncertainty, we have to develop an efficient inspection planning algorithm that would be able to handle uncertainty in the environment map, in the observation actions, and in the control actions (disturbance forces e.g. water currents). To tackle the inspection planning problem under uncertainty, the use of the Partially Observable Markov Decision Process (POMDP) framework [64] ( a mathematical principled way for making decisions under uncertainty) is suggested. This problem is extremely challenging because it involves decision making in the "belief space" which is continuous and high-dimensional. Similarly to this thesis, to treat the above challenges the use of sample-based representations of the "belief space" [75] is suggested. The goal is to compute an optimal "Policy" (a mapping from the "belief space" to the control space, controller) that minimizes a given "Reward" function that is chosen such that it penalizes distance travelled and at the same time rewards small variance on the obtained 3D model of the structure. A key difference of the inspection planning problem to standard POMDP problems is that in the standard case the reward function depends directly on the states as opposed to the inspection planning problem that depends on the "belief space", therefore standard POMDP solvers have to be modified to be used for the inspection problem. In addition, in order to be able to cope with larger 3-D structures (such as the 154 ones in [38]) we have to increase both the convergence rate of RITA and its memory management. Similarly, to the simple path planning algorithm proposed in this thesis, we would like to find an efficient way to guide sampling in the control space to improve convergence. 7.3.3 Surface Reconstruction Despite the above promising results, there is still plenty of room for improvement. In this work, we have assumed a GPS-denied environment, without using any other navigation sensors such as DVL or INS. Of course whenever possible, we are interested in using GPS and other navigation sensors. Furthermore, we would like to use advanced SLAM techniques such as feature extraction and loop closures to bound localization accuracy, which crucially affects the quality of the map. However, as indicated above, special treatment should be considered in the case of moving structures such as floating platforms [86, 58]. In addition, more research needs to be done on integrating data from above and below the waterline parts of a marine structure. More specifically, we would like to use registration algorithms to better align the two parts. Another possible direction of future work will be the combination of the ICP solver with randomization methods to find the global minimum in Equation (3.1). As the number of sample points increases, ICP solvers combined with randomization methods are expected to converge to the globally optimal transformation matrix (given that the samples are chosen correctly), however this needs to be demonstrated in future research. 155 156 Appendix A Probability to Get at Least one Trajectory that is c-close to Any Approximation of the Optimal Trajectory Constant integration Time Let the event Xi,A be the following event: " From j valid samples (up to j iterations), an algorithm, that samples the control space, generates at least one control sequence u that is E-close to at least the first k"h subsequence of u*, i.e, lul = k and dist(ui,u4) < E for i E [0, k]. Then using the total probability theorem and condition on the events X,-1,k and X1.1,k (up to the previous iteration the underlining algorithm (does not) return(s) at least one trajectory with the desired characteristics) is given by1 : Pr(Xi,,) = Pr(XkIXj._,k)Pr(X .,) 1 + Pr(X,kIXj-1,k)(1 - Pr(X-1,)) =* Pr(Xj,,) = Pr(X_ 1,k) + Pr(Xj,kIXj_1,k)(1 - Pr(X_l,k)) 'For simplicity, in the main part of this paper we use Pi,k instead of Pr(Xi,k). 157 (A.1) To compute the term Pr(XkIXj1,k) in the above equation, we use the total probability theorem condition on the events X_1,-1 and Xj-1,k-1. + Pr(Xj,k1X1 .i,k) = Pr (Xj,kix,.1, flgjlkl)Pr(.-l,k-lXj.-l,k) Pr (Xj,k IX,-1,k X_1, k1)Pr(X-1,k-1 IX.-1,k) (A.2) Because X_1,k is a subset of Xp.1,k-1, then Pr(X,kIX,.1,k flX,. 1,k- 1 ) = Pr(Xj,kl5I1,k-1) 0. In addition, by the definition of p for the second term in the above equation we get Pr(X,jkIX1,k n XJI,k-1) > 4. Where 1 is the probability to sample any node for expansion (in the case we use uniform sampling). Similar analysis holds for the case we do not use uniform sampling. Using the above we get: Pr(Xj,kjfg_1,k) Pr(X,k) P Pr(Xj_1,k_1j75-1,k) Pr(Xj-l,k) + Pr(X_1,._1I._1,k)(1 - Pr(X-,1,k)) (A.3) Using the Bayes' theorem (alternatively Bayes' law or Bayes' rule), we get ,-1 (A.4) =Pr(Xj-1,kIXj_1,k_1)Pr(Xj-1,-1) Pr(X-1,) Using Equation (A.3) and Equation (A.4) we get: Pr(Xi,,) Pr(X,k) Pr(X.1,k) + jPr(Xj-l,kXj-l,kl)Pr(X_1,k_1) = Pr(Xp_1,k) + e(1 - Pr(XjlIXj.l,k_1))Pr(X-1,k-1) (A.5) Using, the definition of conditional probabilities and because Xj-1,k is a subset of Xj-1,k_1 Pr(Xj_1,klXj-1,k-1) = Pr(Xj_1,knOXj_1,k_1) -Pr(Xj-1,k) Pr(Xl,kf 1) Pr(X 1_1 ,k_1) 158 (A.6) = Substituting Equation (A.6) in Equation (A.5) we get: p Pr(x-k Pr(Xj,,) > Pr(X_,ik) +-(1 j Pr(Xj,k) Pr(Xl,k) + E(Pr(X_,k-_) - P(X - 1,k) 60(X Pr(Xj-1,k-1) : )Pr(Xi,_,k-_) 1 ,k)) (A.7) (A.8) The above Equation holds for all j > k, /k E [1, n]. For the case j = k, Vk E [1, n] we have Pk,k *. In addition for the base case we have: Pr(Xj,1) ! Pr(Xj-1,) + ~ ' )Pr(Xj-1,o) Pr(Xy_1 ,O) Pr(X_,1,) + ((1 - Pr(X_1,k)) I - _( j Pr(Xj,,) (A.9) Sampling Integration Time Identical derivation follows for the case we sample integration time. For example we define event Xi,k be the following event: " From j valid samples (up to j iterations), an algorithm, that samples the control space and time, generates at least one control sequence u that is E-close to at least the first k"h subsequence of u*, i.e, lul = k and dist(ui, u*) <e for i E [0, k] each of them applied for time at most At = [0, r]. Then the probability Pr(Xj,A Ixi -,,kn X 1,k-1i,) > -. Thus for the case we sample At: Pr(Xj,k) p At Pr(Xj,,k) ----- (Pr(X 1 ,,k Pr(Xj,k) Pr(Xj-1,k) - -- (Pr(X_1 ,k_1) - Pr(Xj_1,k)) where p' = p-A 159 1 ) - Pr(X-1,k)) 160 Appendix B Convergence Rate for the First Milestone for the Discrete System Here we will perform an analysis on the discrete system for the convergence rate for the first milestone (e.g. k = 1). Again, we consider uniform sampling without pruning. To simplify our notations, instead of using inequalities we will use equalities and work with bounds. We consider another system as follows: pi,1 = -1,1 + (1 - Pj- 1, 1 ) ,Vj > k, k = 1 (B.1) Thus, l',1 < P, 1 , we define Q, = 1 - P3,1 thus Qj = Q,-1(1- i ),Vj>k, k=1 (B.2) Q, goes to 0. Let a, be the It is easy to see that as the number of iterations increase convergence rate then we have: Qj = j-"] Q,-1 = (j 161 - 1)-" (B.3) (B.4) Substituting this equation on the above equations we get: log (3. *1 3 log (1 -- log (1 -) 3 p ) = log (1 10og(1-) 3 ) - log ( . (B.5) Using Taylor series [77] we have log(1 - x) ~ -x, x < 1 E R thus the convergence rate for large j is equal to p. More formally, using "L'Hopital's Rule" [30] we get: - (1 lim log l--og0 (1- = n j-0oo. =p (B.6) p The above results agree with our analysis for the continuous equivalent system. 162 Bibliography [11 TheOceanCorporation, http://www.oceancorp.com/index.html. [2] E. U. Acar and H. Choset. Sensor-based Coverage of Unknown Environments: Incremental Construction of Morse Decompositions. Intl. Journal of Robotics Research, 21(4):345-366, 2002. [3] Pierre Alliez, David Cohen-Steiner, Yiying Tong, and Mathieu Desbrun. Voronoi-based Variational Reconstruction of Unoriented Point Sets. In Pro- ceedings of the ACM InternationalConference Proceeding Series, pages 39-48, 2007. [4] N. M. Amato, 0. B. Bayazit, L. K. Dale, C. Jones, and D. Vallejo. OBPRM: An Obstacle-based PRM for 3D Workspaces. In Proceedings of the Workshop on Algorithmic Foundationsof Robotics, pages 155-168, 1998. [5] Nina Amenta and Marshall Bern. Surface Reconstruction by Voronoi Filtering. Discrete and ComputationalGeometry, 22:481-504, 1998. [6] P. N. Atkar, A. Greenfield, D. C. Conner, H. Choset, and A. A. Rizzi. Uniform Coverage of Automotive Surface Patches. Intl. Journal of Robotics Research, 24:883-898, 2005. [7] P.N. Atkar, H. Choset, and A.A. Rizzi. Towards Optimal Coverage of 2- dimensional Surfaces Embedded in R3 : Choice of Start Curve. In Proceedings of the IEEE/RSJIntl. Conf. on Intelligent Robots and Systems (IROS), volume 4, pages 3581-3587, 2003. 163 [8] P.N. Atkar, H. Choset, A.A. Rizzi, and E.U. Acar. Exact Cellular Decomposition of Closed Orientable Surfaces Embedded in R3 . In Proceedings of the IEEE Intl. Conf. on Robotics and Automation (ICRA), pages 699-704, 2001. [9] Jerome Barraquand, Bruno Langlois, and J-C. Latombe. Numerical Potential Field Techniques for Robot Path Planning. IEEE Transactions on Systems, Man and Cybernetics, 22(2):224-241, 1992. [10] M.R. Benjamin, J.J. Leonard, H. Schmidt, and P. Newman. An Overview of MOOS-IvP and a Brief Users Guide to the IvP Helm Autonomy Software. Technical Report CSAIL-2009-028, MIT, June 2009. [11] Andrew A. Bennett and John J. Leonard. A Behavior-based Approach to Adaptive Feature Detection and Following with Autonomous Underwater Vehicles. IEEE Journal of Oceanic Engineering, 29(2):213-226, 2000. [12] Matt Berger, Josh Levine, Luis Gustavo Nonato, Gabriel Taubin, and Claudio T. Silva. An End-to-End Framework for Evaluating Surface Reconstruction. Technical report, University of Utah, 2011. [13] Fausto Bernardini, Joshua Mittleman, Holly Rushmeier, Claudio Silva, and Gabriel Taubin. The Ball-Pivoting Algorithm for Surface Reconstruction. IEEE Transactions on Visualization and Computer Graphics, 5:349-359, 1999. [14] Paul J. Besl and Neil D. McKay. A Method for Registration of 3-D Shapes. IEEE Trans. Pattern Anal. Mach. Intell., 14(2):239-256, 1992. [15] Jack Beven. Tropical Cyclone Report Hurricane Dennis. Technical report, National Hurricane Center, 2005. [16] J.L. Blanco-Claraco. Contributionsto Localization, Mapping and Navigation in Mobile Robotics. PhD thesis, University of Malaga, Malaga, Spain, November 2009. 164 [17] Michael Bosse and Robert Zlot. Continuous 3D Scan-matching with a Spinning 2D Laser. In Proceedings of the IEEE Intl. Conference on Robotics and Automation (ICRA), pages 4312-4319, 2009. [18] John F. Canny. The Complexity of Robot Motion Planning. MIT Press, Cambridge, MA, USA, 1988. [19] Peng Cheng, J. Keller, and V. Kumar. Time-optimal UAV Trajectory Planning for 3D Urban Structure Coverage. In Proceedings of the IEEE/RSJ Intl. Conf. on Intelligent Robots and Systems (IROS), pages 2750-2757, 2008. [20] H. Choset. Coverage of Known Spaces: The Boustrophedon Cellular Decomposition. Autonomous Robots, 9:247-253, 2000. [21] H. Choset, K. M. Lynch, S. Hutchinson, G. A. Kantor, W. Burgard, L. E. Kavraki, and S. Thrun. Principles of Robot Motion: Theory, Algorithms, and Implementations. The MIT Press, 2005. [22] H. Choset and P. Pignon. Coverage Path Planning: The Boustrophedon Cellular Decomposition. In Proceedings of the International Conference on Field and Service Robotics, 1997. [23] Howie Choset. Coverage for Robotics - A Survey of Recent Results. Annals of Mathematics and Artificial Intelligence, 31:113-126, 2001. [24] Howie Choset and Philippe Pignon. Coverage Path Planning: The Boustrophedon Decomposition. In International Conference on Field and Service Robotics, 1997. [25] D. Cole and P. Newman. Using Laser Range Data for 3D SLAM in Outdoor Environments. In Proceedings of the IEEE Intl. Conference on Robotics and Automation (ICRA), pages 1556-1563, 2006. [26] M. Cummins and P. Newman. Probabilistic Appearance Based Navigation and Loop Closing. In Proceedings of the IEEE Intl. Conference on Robotics and Automation (ICRA), pages 2042-2048, 2007. 165 [27] M. Cummins and P. Newman. Highly Scalable Appearance-Only SLAM - FABMAP 2.0. In Proceedings of the Robotics: Science and Systems (RSS), Seattle, USA, 2009. [28] J. Curcio, J. Leonard, and A. Patrikalakis. SCOUT - A Low Cost Autonomous Surface Platform for Research in Cooperative Autonomy. In Proceedings of the IEEE/MTS OCEANS Conference and Exhibition, Washington DC, 2005. [29] T. Danner and L. E. Kavraki. Randomized Planning for Short Inspection Paths. In Proceedings of the IEEE Intl. Conf. on Robotics and Automation (ICRA), pages 971-976, San Fransisco, CA, 2000. [301 Guillaume de L' Hopital. Analyse des Infiniment Petits pour l'Intelligence des Lignes Courbes. 1696. [31] F. Dellaert and M. Kaess. Square Root SAM: Simultaneous Localization and Mapping via Square Root Information Smoothing. IntL. Journal of Robotics Research, 25(12):1181-1203, 2006. [32] M. W. M. Gamini Dissanayake, Paul Newman, Steven Clark, Hugh F. Durrantwhyte, and M. Csorba. A solution to the Simultaneous Localization and Map Building (SLAM) Problem. IEEE Transactionson Robotics and Automation, 17:229-241, 2001. [33] A. Dobson and K. E. Bekris. Sparse Roadmap Spanners for Asymptotically Near-Optimal Motion Planning. Intl. Journal of Robotics Research, 33(1):18- 47, 2014. [34] Bertrand Douillard, Navid Nourani-Vatani, Matthew Johnson-Roberson, Stefan Williams, Chris Roman, 2D Pizarro, Ian Vaughn, and Gabrielle Inglis. FFTbased Terrain Segmentation for Underwater Mapping. In Proceedings of the Robotics: Science and Systems (RSS), Sydney, Australia, 2012. [35] Chinwe Ekenna, Sam Ade Jacobs, Shawna Thomas, and Nancy M. Amato. Adaptive Neighbor Connection for PRMs: A Natural Fif for Heterogeneous 166 Environments and Parallelism. In Proceedings of the IEEE/RSJ Intl. Conf. on Intelligent Robots and Systems (IROS), 2013. [36] B. Englot and F. Hover. Inspection Planning for Sensor Coverage of 3-D Marine Structures. In Proceedings of the IEEE/RSJ Intl. Conf. on Intelligent Robots and Systems (IROS), 2010. [37] B. Englot and F.S. Hover. Sampling-Based Coverage Path Planning for Inspection of Complex Structures. In Proceedings of the InternationalConference on Automated Planning and Scheduling, pages 29-37, Sao Paulo, Brazil, 2012. [38] B. Englot and F.S. Hover. Sampling-Based Sweep Planning to Exploit Local Planarity in the Inspection of Complex 3D Structures. In Proceedings of the IEEE/RSJ Intl. Conf. on Intelligent Robots and Systems (IROS), Vilamoura, Portugal, 2012. [39] N. Fairfield and D. Wettergreen. Active Localization on the Ocean Floor with Multibeam Sonar. In Proceedings of the IEEE/MTS OCEANS Conference and Exhibition, pages 1-10, 2008. [40] Nathaniel Fairfield, George A. Kantor, and David Wettergreen. Real-Time SLAM with Octree Evidence Grids for Exploration in Underwater Tunnels. Journal of Field Robotics, 24(1-2):3-21, 2007. [41] Maurice F. Fallon, Georgios Papadopoulos, and John J. Leonard. Cooperative AUV Navigation using a Single Surface Craft. In Field and Service Robotics (FSR), 2009. [42] Maurice F. Fallon, Georgios Papadopoulos, and John J. Leonard. A Measurement Distribution Framework for Cooperative Navigation using multiple AUVs. In IEEE Intl. Conf. on Robotics and Automation (ICRA), pages 4803-4808, May 2010. [43] Maurice F. Fallon, Georgios Papadopoulos, and John J. Leonard. Cooperative AUV Navigation using a Single Surface Craft. In Karl Iagnemma An167 drew Howard and Alonzo Kelly, editors, Springer Tracts in Advanced Robotics Volume 62: Field and Service Robotics, Results of the 7th International Conference, pages 331-340. Springer-Verlag, 2010. [44] Maurice F. Fallon, Georgios Papadopoulos, John J. Leonard, and Nicholas M. Patrikalakis. Cooperative AUV Navigation using a Single Maneuvering Surface Craft. Intl. J. of Robotics Research, 29(12):1461-1474, October 2010. [45] Y. Gabriely and E. Rimon. Spiral-STC: An On-line Coverage Algorithm of Grid Environments by a Mobile Robot. In Proceedings of the IEEE Intl. Conf. on Robotics and Automation (ICRA), pages 954-960, 2002. [46] Enric Galceran and Marc Carreras. A Survey on Coverage Path Planning for Robotics. Robotics and Autonomous Systems, 61(12):1258-1276, 2013. [47] H. Gonzalez-Baios and J.-C. Latombe. Planning Robot Motions for RangeImage Acquisition and Automatic 3D Model Construction. In Proceedings of the AAAI Fall Symposium Series, Integrated Planning for Autonomous Agent Architectures, pages 23-25, Orlando, FL, 1998. [48] H. Gonzalez-Bafios and J.-C. Latombe. A Randomized Art Gallery Algorithm for Sensor Placement. In Proceedings of the 17th Annual ACM Symposium on Computational Geometry, pages 232-240, 2001. [49] Philip Hall. The Distribution of Means for Samples of Size N Drawn from a Population in Which the Variate Takes Values Between 0 and 1, All Such Values Being Equally Probable. Biometrika, 19(3-4):240-245, 1927. [50] Alastair Harrison and Paul Newman. High Quality 3D Laser Ranging Under General Vehicle Motion. In Proceedings of the IEEE Intl. Conference on Robotics and Automation (ICRA), 2008. [51] Susan Hert, Sanjay Tiwari, and Vladimir Lumelsky. A Terrain-Covering Algorithm for an AUV. Autonomous Robots, 3:91-119, 1996. 168 [52] Claude Holenstein, Robert Zlot, and Michael Bosse. Watertight Surface Reconstruction of Caves from 3D Laser Data. In Proceedings of the IEEE/RSJ Intl. Conference on Intelligent Robots and Systems (IROS), pages 3830 -3837, 2011. [53] G.A. Hollinger, B. Englot, F. Hover, U. Mitra, and G.S. Sukhatme. UncertaintyDriven View Planning for Underwater Inspection. In Proceedings of the IEEE Intl. Conf. on Robotics and Automation (ICRA), pages 4884-4891, St. Paul, MN, 2012. [541 John Hopcroft, Deborah Joseph, and Sue Whitesides. Movement problems for 2-Dimensional Linkages. SIAM Journal on Computing, 13(3):610-629, 1984. [551 Hugues Hoppe, Tony DeRose, Tom Duchamp, John McDonald, and Werner Stuetzle. Mesh Optimization. In Proceedings of the 20th annual conference on Computer graphics and interactive techniques, SIGGRAPH '93, pages 19-26, New York, USA, 1993. ACM. [56] Franz S. Hover, Ryan Eustice, Ayoung Kim, Brendan Englot, Hordur Johannsson, Michael Kaess, and John J. Leonard. Advanced Perception, Navigation and Planning for Autonomous In-water Ship Hull Inspection. Intl. Journal of Robotics Research, 31(12):1445-1464, 2012. [57] A. Howard, D. F. Wolf, and G. S. Sukhatme. Towards 3D Mapping in Large Urban Environments. In Proceedings of the IEEE/RSJ Intl. Conference on Intelligent Robots and Systems (IROS), pages 419-424, 2004. [58] Chen-Han Hsiao and Chieh-Chih Wang. Achieving Undelayed Initialization in Monocular SLAM with Generalized Objects Using Velocity Estimate-based Classification. In Proceedings of the IEEE Intl. Conference on Robotics and Automation (ICRA), pages 4060-4066, 2011. [59] D. Hsu, R. Kindel, J.C. Latombe, and S. Rock. Randomized Kinodynamic Motion Planning with Moving Obstacles. Intl. Journal of Robotics Research, 21(3):233-255, 2002. 169 [60] D. Hsu, J.C. Latombe, and H. Kurniawati. On the Probabilistic Foundations of Probabilistic Roadmap Planning. In Proc. Int. Symp. on Robotics Research, 2005. [61] David Hsu, Jean-Claude Latombe, and Rajeev Motwani. Path Planning in Expansive Configuration Spaces. International Journal of Computational Geometry and Applications, 3(20-25):2719-2726, 1997. [62] Shahram Izadi, David Kim, Otmar Hilliges, David Molyneaux, Richard Newcombe, Pushmeet Kohli, Jamie Shotton, Steve Hodges, Dustin Freeman, Andrew Davison, and Andrew Fitzgibbon. KinectFusion: Real-time 3D Reconstruction and Interaction Using a Moving Depth Camera. In Proceedings of the 24th Annual ACM Symposium on User Interface Software and Technology, pages 559-568. ACM, 2011. [63] Matthew Johnson-Roberson, Oscar Pizarro, Stefan B. Williams, and Ian Mahon. Generation and Visualization of Large-scale Three-dimensional Reconstructions from Underwater Robotic Surveys. Journal of Field Robotics, 27(1):21-51, 2010. [64] Leslie Pack Kaelbling, Michael L. Littman, and Anthony R. Cassandra. Planning and Acting in Partially Observable Stochastic Domains. Artificial Intelligence, 101:99-134, 1998. [65] M. Kaess, A. Ranganathan, and F. Dellaert. iSAM: Incremental Smoothing and Mapping. IEEE Trans. Robotics, 24(6):1365-1378, Dec 2008. [66] S. Karaman and E. Frazzoli. Optimal Kinodynamic Motion Planning Using Incremental Sampling-based Methods. In Proceedings of the 49th IEEE Conference on Decision and Control, 2010. [67] S. Karaman and E. Frazzoli. Sampling-based Algorithms for Optimal Motion Planning. Intl. Journalof Robotics Research, 30(7):846-894, 2011. 170 [68] Lydia E. Kavraki, M. N. Kolountzakis, and Jean-Claude Latombe. Analysis of Probabilistic Roadmaps for Path Planning. In Proceedings of the IEEE Intl. Conf. on Robotics and Automation (ICRA), pages 3020-3026, Minneapolis, MN, 1996. [69] Lydia E. Kavraki, P. Svestka, Jean-Claude Latombe, and M. Overmars. Probabilistic Roadmaps for Path Planning in High Dimensional Configuration Spaces. IEEE Transactions on Robotics and Automation, 12(4):566-580, 1996. [70] Michael Kazhdan, Matthew Bolitho, and Hugues Hoppe. Poisson Surface Reconstruction. In Proceedings of the Fourth EurographicsSymposium on Geometry Processing, 2006. [71] 0. Khatib. Real-time Obstacle Avoidance for Manipulators and Mobile Robots. Intl. Journal of Robotics Research, 5(1):90-98, 1986. [721 K. Konolige and M. Agrawal. FrameSLAM: From Bundle Adjustment to RealTime Visual Mapping. IEEE 'rans. Robotics, 24(5):1066-1077, 2008. [731 Kurt Konolige, Motilal Agrawal, Robert C. Bolles, Cregg Cowan, Martin Fischler, and Brian Gerkey. Outdoor Mapping and Navigation Using Stereo Vision. In Proceedings of the InternationalSymposium on ExperimentalRobotics, 2006. [74] H. Kurniawati and D. Hsu. Workspace-based Connectivity Oracle: An Adaptive Sampling Strategy for PRM Planning. In Algorithmic Foundations of Robotics VII. Springer-Verlag, 2006. [751 H. Kurniawati, D. Hsu, and W. S. Lee. SARSOP: Efficient Point-based POMDP Planning by Approtimating Optimally Reachable Belief Spaces. In Proceedings of Robotics: Science and Systems (RSS), 2008. [76] H. Kurniawati, J.C. Schulmeister, T. Bandyopadhyay, G. Papadopoulos, F.S. Hover, and N. M. Patrikalakis. Infrastructure for 3D Model Reconstruction of Marine Structures. In Proceedings of the Int. Offshore and Polar Engineering 171 Conference, InternationalSociety of Offshore and Polar Engineers (ISOPE), 2011. [77] Joseph Louis Lagrange. Theorie des fonctions analytiques: contenant les principes du calcul diffirentiel, di4gagds de toute consideration d'infiniment petits, d'ivanouissans, de limites et de fluxions, et riduits & l'analyse alg6brique des quantitis finies. Mme. Ve. Courcier, 1813. [781 Eric Larsen, Stefan Gottschalk, Ming C. Lin, and Dinesh Manocha. Fast Proximity Queries with Swept Sphere Volumes. Technical report, University of North Carolina, 1999. [79] Jean-Claude Latombe. Robot Motion Planning. Kluwer Academic Publishers, Norwell, MA, USA, 1991. [80] Steven M. Lavalle. Rapidly-Exploring Random Trees: A New Tool for Path Planning. Technical report, Iowa State University, 1998. [81] Steven Michael LaValle. Planning Algorithms. Cambridge University Press, New York, 2006. [82] Tae-Seok Lee, Jeong-Sik Choi, Jeong-Hee Lee, and Beom-Hee Lee. 3D Terrain Covering and Map Building Algorithm for an AUV. In Proceedings of the IEEE/RSJ Intl. Conf. on Intelligent Robots and Systems (IROS), pages 44204425, Piscataway, NJ, USA, 2009. [83] J. C. Leedekerken, M. F. Fallon, and J. J. Leonard. Mapping Complex Marine Environments with Autonomous Surface Craft. In Proceedings of the Intl. Symposium on Experimental Robotics (ISER), Delhi, India, December 2010. [84] Leonard, How, Teller, Berger, Campbell, Fiore, Fletcher, Frazzoli, Huang, Karaman, Koch, Kuwata, Moore, Olson, Peters, J Teo, R Truax, Walter, Barrett, Epstein, Maheloni, Moyer, Jones, Buckley, Antone, Galejs, and Krishnamurthy. A perception driven autonomous urban vehicle. Journal of Field Robotics, 25(10), 2008. 172 [85] Kenneth Levenberg. A Method for the Solution of Certain Non-Linear Problems in Least Squares. Quarterly of Applied Mathematics, 2:164-168, 1944. [861 Kuen Han Lin and Chieh Chih Wang. Stereo-based Simultaneous Localization, Mapping and Moving Object Tracking. In Proceedings of the IEEE/RSJ Intl. Conference on Intelligent Robots and Systems (IROS), pages 3975-3980, 2010. [87] Z. Littlefield, Y. Li, and K. E. Bekris. Efficient Sampling-based Motion Planning with Asymptotic Near-Optimality Guarantees for Systems with Dynamics. In Proceedings of the IEEE/RSJ Intl. Conf. on Intelligent Robots and Systems (IROS), 2013. [88] T. Lozano-Perez. Spatial Planning: A Configuration Space Approach. IEEE Transactions on Computers, C-32(2):108-120, 1983. [89] Vladimir J. Lumelsky and Alexander A. Stepanov. Path-planning Strategies for a Point Mobile Automaton Moving Amidst Unknown Obstacles of Arbitrary Ahape. Algorithmica, 2:403-430, 1987. [90] M. Montemerlo, S. Thrun, D. Roller, and B. Wegbreit. FastSLAM 2.0: An improved particle filtering algorithm for simultaneous localization and mapping that provably converges. In Proceedings of the 18th International Joint Conference on Artificial Intelligence, pages 1151-1156, 2003. [91] R.A. Newcombe and A.J. Davison. Live Dense Reconstruction with a Single Moving Camera. In Proceedings of the IEEE Int. Conference Computer Vision and Pattern Recognition, pages 1498 -1505, 2010. [92] P. Newman, G. Sibley, M. Smith, M. Cummins, A. Harrison, C. Mei, I. Posner, R. Shade, D. Schroter, L. Murphy, W. Churchill, D. Cole, and I. Reid. Navigating, Recognizing and Describing Urban Spaces With Vision and Laser. Intl. Journalof Robotics Research, 28(11-12):1406-1433, 2009. [93] P.M. Newman. MOOS - A Mission Oriented Operating Suite. Technical Report OE2003-07, Department of Ocean Engineering, MIT, 2003. 173 [94] M. A. H. Newton, J. Levine, and M. Fox. Genetically Evolved Macro-actions in Al Planning Problems. In Proceedingsof the 24th Workshop of the UK Planning and Scheduling Special Interest Group (PlanSIG 2005), pages 163-172, 2005. [951 A. Niichter, K. Lingemann, J. Hertzberg, and H. Surmann. 6D SLAM-3D Mapping Outdoor Environments. Journal of Field Robotics, 24(8-9):699-722, 2007. [96 Andreas Nuchter, Stanislav Gutev, Dorit Borrmann, and Jan Elseberg. Skylinebased Registration of 3D Laser Scans. Geo-spatialInformation Science, 14:8590, 2011. [97] Colm Odunlaing and Chee K. Yap. A Retraction Method for Planning the Motion of a Disc. Journal of Algorithms, 6(1):104 -111, 1985. [98] Timo Oksanen and Arto Visala. Coverage Path Planning Algorithms for Agricultural Field Machines. Journal of Field Robotics, 26(8):651-668, 2009. [991 Joseph O'Rourke. Art Gallery Theorems and Algorithms. The International Series of Monographs on Computer Science. Oxford University Press, New York, NY, 1987. [100] Christos H. Papadimitriou. Computational Complexity. Addison Wesley, 1994. [101] G. Papadopoulos, H. Kurniawati, and N. M. Patrikalakis. Analysis of Asymptotically Optimal Sampling-based Motion Planning Algorithms for Lipschitz Continuous Dynamical Systems. arXiv.org, 12 May 2014. [102] G. Papadopoulos, H. Kurniawati, and N. M. Patrikalakis. Asymptotically Optimal Inspection Planning using Systems with Differential Constraints. In Proceedings of the IEEE Intl. Conf. on Robotics and Automation (ICRA), pages 4126-4133, May 2013. [103] G. Papadopoulos, H. Kurniawati, and N. M. Patrikalakis. Asymptotically Optimal Inspection Planning using Systems with Differential Constraints. In Pro174 ceedings of the IEEE Intl. Conference on Robotics and Automation (ICRA), pages 4126-4133, May 2013. [104] G. Papadopoulos, H. Kurniawati, and N. M. Patrikalakis. Asymptotically Optimal Inspection Planning using Systems with Differential Constraints for Complex 3D Structures. IEEE 7rans. Robotics, 2014. to be submitted by june 30th. [105] G. Papadopoulos, H. Kurniawati, and N. M. Patrikalakis. Analysis of Asymptotically Optimal Sampling-based Motion Planning Algorithms for Lipschitz Continuous Dynamical Systems. Intl. Journal of Robotics Research, 2014. submitted. [106] Georgios Papadopoulos, Maurice F. Fallon, John J. Leonard, and Nicholas M. Patrikalakis. Cooperative Localization of Marine Vehicles using Nonlinear State Estimation. In IEEE/RSJ Intl. Conf. on Intelligent Robots and Systems (IROS), Taipei, Taiwan, 2010. [107] Georgios Papadopoulos, Hanna Kurniawati, Ahmed Shafeeq Bin Mohd Shariff, Liang Jie Wong, and Nicholas M. Patrikalakis. Experiments on surface reconstruction for partially submerged marine structures. Journal of Field Robotics, 31(2):225-244, 2014. [108] Georgios Papadopoulos, Hanna Kurniawatit, Ahmed Shafeeq Bin Mohd Shariff, Liang Jie Wong, and Nicholas M. Patrikalakis. 3D-surface Reconstruction for Partially Submerged Marine Structures using an Autonomous Surface Vehicle. In Proceedings of the IEEE/RSJ Intl. Conference on Intelligent Robots and Systems (IROS), pages 3551-3557, 2011. [109] Nicholas M. Patrikalakis, Gabriel Weymouth, Hanna Kurniawati, Pablo Valdivia y Alvarado, Tawfiq Taher, Rubaina Khan, Joshua C. Leighton, and Georgios Papadopoulos. Modeling and Inspection Applications of a Coastal Distributed Autonomous Sensor Network. In ASME OMAE InternationalConference on Ocean, Offshore and Arctic Enginnering, Rio de Janeiro, 2012. 175 [110] A. Perez, R. Platt, G.D. Konidaris, L.P. Kaelbling, and T. Lozano-P6rez. LQRRRT*: Optimal Sampling-Based Motion Planning with Automatically Derived Extension Heuristics. In Proceedings of the IEEE International Conference on Robotics and Automation, pages 2537-2542, May 2012. [111] J.H. Reif. Complexity of the Mover's Problem and Generalizations. In 1979, 20th Annual Symposium on Foundations of Computer Science, pages 421-427, 1979. [112] C. Roman and H. Singh. A Self-Consistent Bathymetric Mapping Algorithm. Journal of Field Robotics, 24(1):23-50, 2007. [113] Michael Roy, Sebti Foufou, and Frdric Truchetet. Mesh Comparison Using Attribute Deviation Metric. Journal of Image and Graphics, 4:1-14, 2004. [114] Mitul Saha, Gildardo Sanchez-Ante, Tim Roughgarden, and Jean claude Latombe. Planning Multi-Goal Tours for Robot Arms. In Proceedings of the IEEE Intl. Conf. on Robotics and Automation (ICRA), 2003. [115] Ketan Savla, Emilio Frazzoli, and Francesco Bullo. Traveling Salesperson Problems for the Dubins Vehicle. IEEE Transactions on Automatic Control, 53(6):1378-1391, 2008. [116] Sebastian Scherer, Joern Rehder, Supreeth Achar, Hugh Cover, Andrew Chambers, Stephen Nuske, and Sanjiv Singh. River Mapping from a Flying Robot: State Estimation, River Detection, and Obstacle Mapping. Autonomous Robots, 33(1-2):189-214, 2012. [117] Jacob T. Schwartz and Micha Sharir. On the Piano Movers Problem. II. General Techniques for Computing Topological Properties of Real Algebraic Manifolds. Advances in Applied Mathematics, 4(3):298 - 351, 1983. [118] Florian Shkurti, loannis Rekleitis, and Gregory Dudek. Feature Tracking Evaluation for Pose Estimation in Underwater Environments. In Proceedings of 176 the 2011 IEEE Canadian Conference on Computer and Robot Vision, pages 160-167, May 2011. [119] G. Sibley. Sliding Window Filters for SLAM. Technical report, University of Southern California, Center for Robotics and Embedded Systems, 2006. [120] G. Sibley, C. Mei, I. Reid, and P. Newman. Vast-scale Outdoor Navigation Using Adaptive Relative Bundle Adjustment. Intl. Journal of Robotics Research, 29(8):958-980, 2010. [121] Hanumant Singh, Louis Whitcomb, Dana Yoerger, and Oscar Pizarro. Microbathymetric Mapping from Underwater Vehicles in the Deep Ocean. Computer Vision and Image Understanding, 79(1):143 - 161, 2000. [122] Jean-Jacques E. Slotine and Weiping Li. Applied Nonlinear Control. NJ: Prentice-Hall, Englewood Cliffs, 1991. [123] R. Smith and P. Cheeseman. On the Representation and Estimation of Spatial Uncertainty. Intl. Journal of Robotics Research, 5(4):56-68, 1986. [124] R. Smith, M. Self, and P. Cheeseman. Estimating Uncertain Spatial Relationships in Robotics. Autonomous robot vehicles, Springer-Verlag, New York, USA, 1990. [125] Z. Sun, D. Hsu, T. Jiang, H. Kurniawati, and J. Reif. Narrow Passage Sampling for Probabilistic Roadmap Planners. IEEE 'hans. Robotics, 21(6):1105-1115, 2005. [126] Russ Tedrake, Ian R. Manchester, Mark Tobenkin, and John W. Roberts. LQRTrees: Feedback Motion Planning via Sums of Squares Verification. Intl. Journal of Robotics Research, 29:1038-1052, 2010. [127] I. Tena Ruiz, S. de Raucourt, Y. Petillot, and D.M. Lane. Concurrent Mapping and Localization Using Sidescan Sonar. IEEE Journal of Oceanic Engineering, 29(2):442 - 456, 2004. 177 [128] S. Thrun, W. Burgard, and D. Fox. ProbabilisticRobotics. The MIT Press, Cambridge, MA, 2005. [129] S. Thrun, M. Montemerlo, D. Koller, B. Wegbreit, J. Nieto, and E. Nebot. FastSLAM: An Efficient Solution to the Simultaneous Localization and Mapping Problem with Unknown Data Association. Journal of Machine Learning Research, 4(3):380-407, 2004. [1301 Sebastian Thrun, Wolfram Burgard, and Dieter Fox. A Real-time Algorithm for Mobile Robot Mapping with Applications to Multi-robot and 3D Mapping. In Proceedingsof the IEEE Intl. Conference on Robotics and Automation (ICRA), pages 321-328, 2000. [131] Chi Hay Tong and Timothy D. Barfoot. Three-Dimensional SLAM for Mapping Planetary Work Site Environments. Journal of Field Robotics, 29:381-412, 2012. [132] Visual Computing Lab ISTI - CNR. Meshlab, July 2010. http://meshlab.sourceforge.net/. [133] K. M. Wurm, A. Hornung, M. Bennewitz, C. Stachniss, and W. Burgard. OctoMap: A Probabilistic, Flexible, and Compact 3D Map Representation for Robotic Systems. In Proc. of the ICRA 2010 Workshop on Best Practicein 3D Perception and Modeling for Mobile Manipulation, Anchorage, AK, USA, May 2010. [134] A. Yershova and S.M. LaValle. Improving Motion-Planning Algorithms by Efficient Nearest-Neighbor Searching. IEEE Trans. Robotics, 23(1):151-157, 2007. [135] A. Zelinsky, R.A. Jarvis, J. C. Byrne, and S. Yuta. Planning Paths of Complete Coverage of an Unstructured Environment by a Mobile Robot. In Proceedings of International Conference on Advanced Robotics, pages 533-538, 1993. [136] Huijing Zhao and Ryosuke Shibasaki. Reconstructing Textured CAD Model of Urban Environment Using Vehicle-Borne Laser Range Scanners and Line 178 Cameras. In Proceedings of the Second International Workshop on Computer Vision Systems, pages 284-297, London, UK, 2001. Springer-Verlag. 179