UFDC Home  myUFDC Home  Help 



Full Text  
PAGE 1 1 PATH PLANNING WITH TEMPORAL CONSTRAINTS FOR SENSING MISSION S WITH AGILE VEHICLES By PREETHI KUMAR A THESIS PRESENTED TO THE GRADUATE SCHOOL OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE D EGREE OF MASTER OF SCIENCE UNIVERSITY OF FLORIDA 2012 PAGE 2 2 2012 Preethi Kumar PAGE 3 3 To my mother, f ather and brother for the ir love, motivation and support PAGE 4 4 ACKNOWLEDGMENTS This thesis is a result of the support and encouragement shown by my prof essors, peers, family and friends. Firstly I wish to convey my heartfelt gratitude and thanks to my Research Advisor Dr. Rick Lind for his guidance and advice throughout my research work. His invaluable suggestions and help (both related to the research wo rk and my career) have helped me polish my research skills and better myself and I am greatly indebted to him. I thank Dr. Prabir Barooah and Dr. Jacob Hammer for being a part of my thesis committee and for motivating me through their courses to pursue a career in control engineering. I also wish to thank all my professors for their brilliant knowledge sharing and guidance throughout my other coursework. I wi sh to thank my peers in the Flight Controls Lab for their continued support and timely help. I woul d cherish the time spent in this lab, the enriching scientific discussions, and the group lunches throughout my life. Finally I wish to thank my family and my friends for their persistent backing and moral support without which this work would have been impossible. PAGE 5 5 TABLE OF CONTENTS page ACKNOWLEDGMENTS ................................ ................................ ................................ .. 4 LIST OF TABLES ................................ ................................ ................................ ............ 7 LIST OF FIGURES ................................ ................................ ................................ .......... 8 LIST OF ABBREVIATIONS ................................ ................................ ........................... 10 ABSTRACT ................................ ................................ ................................ ................... 11 CHAPTER 1 INTRODUCTION ................................ ................................ ................................ .... 13 1.1 Motivation ................................ ................................ ................................ ......... 13 1.2 Foundation ................................ ................................ ................................ ........ 13 1.3 Research Statement ................................ ................................ ......................... 14 1.4 Approach ................................ ................................ ................................ .......... 15 2 MOTION PLANNING ................................ ................................ .............................. 17 2.1 Motion Primitives ................................ ................................ ............................... 17 ................................ ................................ ................... 18 ................................ ................................ ...................... 22 2.2 Random Dense Tree Planning Method ................................ ............................. 23 2.2.1 2 D P lanner U sing RDT ................................ ................................ ........... 24 2.2.1.1 Local g oal s election ................................ ................................ ........ 25 2.2.1.2 Node s election ................................ ................................ ............... 26 2.2.1.3 Node e xpansion ................................ ................................ ............. 26 2.2.1.4 Evaluation ................................ ................................ ...................... 27 2.2.2 3 D P lanning U sing RDT ................................ ................................ ......... 28 3 TEMPORAL CONSTRAINTS ................................ ................................ ................. 30 3.1 Temporal RDT Algorithm ................................ ................................ .................. 30 3.1.1 Benchmark Computation ................................ ................................ ......... 31 3.1.2 Segmentation ................................ ................................ .......................... 32 3.1.3 Local T ime Assignment ................................ ................................ ........... 34 3.1.4 Local Goal Selection ................................ ................................ ................ 34 3.1.5 Node Selection ................................ ................................ ........................ 34 3.1.6 Node Expansion ................................ ................................ ...................... 36 3.1.7 Evaluation ................................ ................................ ................................ 36 ................................ ................................ ...... 38 ................................ ............................... 41 PAGE 6 6 4 TEMPORAL SENSING MISSIONS ................................ ................................ ........ 45 4.1 Sensing Primitives ................................ ................................ ............................ 45 4.2 Temporal Path planning for S ensing M issions ................................ .................. 50 4.2.1. Order Fixed Sensing Mission ................................ ................................ 5 1 4.2.2 Temporally Ordered Sensing Mission ................................ ...................... 55 4.2.3. Order Variable Temporal Sensing Mission ................................ ............. 59 5 COOPERATIVE PLANNING EXAMPLE ................................ ................................ 63 6 CONCLUSION ................................ ................................ ................................ ........ 67 LIST OF REFERENCES ................................ ................................ ............................... 69 BIOGRAPHICAL SKETCH ................................ ................................ ............................ 72 PAGE 7 7 LIST OF TABLES Table page 3 1 Accuracy vs. Average Computation time in the 2D case ................................ .... 40 3 2 Accuracy vs. Average Computation time in the 3D case ................................ .... 44 4 1 Path Time Requirements for the Order fixed sensing mission ............................ 52 4 2 Summary of results of the Order Fixed sensing mission ................................ .... 52 4 3 Path Time Requirements for Temporally ordered sensing mission .................... 56 4 4 Computed Time Requirements for the Temporally ordered sensing mission ..... 56 4 5 Summary of results of the Temporally ordered sensing mission ........................ 58 4 6 Start point and Sensing Primitives for Order Variable sensing mission .............. 60 PAGE 8 8 LIST OF FIGURES Figure page 2 1 ................................ ......... 20 2 2 B) LRL ................................ ......................... 22 2 3 RDT Planning steps A) Local goal selection and Node Selection, B) Node Expansion ................................ ................................ ................................ ........... 24 2 4 Obstacle field for the 2 D RDT planner ................................ ............................... 25 2 5 ................................ ........................ 28 2 6 3 D Path Planning using RDT ................................ ................................ ............. 29 3 1 Benchmark paths for different sets of start and end points ................................ 32 3 2 Segmentation lines (8 segments) for equal time weights for various start and end points ................................ ................................ ................................ ........... 33 3 3 Deciding the local target time for the time error metric ................................ ....... 35 3 4 Temporal path that takes ................................ ................................ ............. 37 3 5 Temporal path that takes ................................ ................................ ............. 37 3 6 Temporal path that takes 30s ................................ ................................ ............. 40 3 7 Projection for the node selection step in 3D RDT ................................ ............... 42 3 8 3D Temporal RDT path that takes 40s ................................ ............................... 44 4 2 A) Sampling of target space; B) Chosen sensing primitive ................................ 49 4 3 Planning Environment, Targets and Sensing Primitives ................................ ..... 53 4 4 Order fixed sensing mission simulation. A) Path from Start to Target 2; B) Path from T arget 2 to Target 3 ................................ ................................ ........... 53 4 5 Order fixed sensing mission simulation. A) Path from Target 3 to Target 1; B) Path from Target 1 to end point ................................ ................................ .......... 54 4 6 Order fixed sensing mission simulation. A) Top view of complete path; B) Side view of complete path ................................ ................................ ................. 54 4 7 Temporally ordered mission simulation. A) Path from Start to Target 1; B) Path from Target 1 to Target 3. ................................ ................................ .......... 57 PAGE 9 9 4 8 Temporally ordered mission simulation. A) Path from Target 3 to Target 2; B) Path from Target 2 to End. ................................ ................................ ................. 57 4 9 Temporally ordered sensing mission simulation. A) Top view of complete path; B) Side view of complete path ................................ ................................ ... 58 4 10 Order variable sensing mission simulation. A) Path from Start to Tar get 3; B) Path from Target 3 to Target 2 ................................ ................................ ........... 61 4 11 Order variable sensing mission simulation. A) Path from Target 2 Target 1; B) Path from Target 1 to Start ................................ ................................ ............. 62 4 12 Order variable sensing mission simulation. A) Complete Mission Top View; B) Complete mission side view ................................ ................................ ........... 62 5 1 Top view of Obstacle field, sensing primitive, start and end points ..................... 64 5 2 ................................ ....................... 65 5 3 Obstacles along path 1 and planning environment obstacles for Pa th 2 ............ 65 5 4 ................................ ................................ 66 5 5 Top and Side view of vehicle paths in a cooperative mission ............................. 66 PAGE 10 10 LIST OF ABBREVIATION S FOV Field Of View LIDAR Light Detection and Ranging RADAR Radio Detection and Ranging RDT Random Dense Tree SONAR So und N avigation and R anging UAV Unmanned Aerial Vehicle PAGE 11 11 Abstract of Thesis Presented to th e Graduate School of the University of Florida in Partial Fulfillment of the Requirements for the Degree of Master of Science PATH PLANNING WITH TEMPORAL CONSTRAINTS FOR SENSING MISSIONS WITH AGILE VEHICLES By Preethi Kumar May 2012 Cha ir: Richard C. Lind, Jr. Major: Aerospace Engineering The miniaturization of control systems technology has led to a class of highly agile, easily maneuverable Unmanned Aerial Vehicles that can be used for search and surveillance missions in obstacle ric h environments. UAV missions for best sensing effectiveness in urban areas have been planned in literature for stationary targets [10]. While dealing with targets that move or rotate, it will be necessary to sense the target at a particular instance of tim e. Further, the structure of the target might be such that it needs to be sensed from two different angles at the same time in order to obtain a complete picture. Thus, in addition to sensing effectiveness, the time at which a target is sensed must also be taken into consideration. Such time considerations are also useful when multiple vehicles are coordinated and maneuvered for better payload capacity. This thesis presents a path planning algorithm that generates kinematically feasible trajectories for sma ll UAVs to maneuver through urban environments, while satisfying user specified time constraints during multi target sensing missions. A Temporal Random Dense Tree algorithm is defined to find paths that take a pre decided time to travel from a start to an end configuration. The algorithm is extended to include trajectories generated for maximum sensing effectiveness of a target. Temporal PAGE 12 12 missions with multiple targets are designed where the order of sensing needs to be taken into consideration. The algorit hm is finally extended to include two vehicles that coordinate and maneuver in the same planning environment. PAGE 13 13 CHAPTER 1 INTRODUCTION 1.1 Motivation The global UAV market is constantly increasing due to advances in their design, development and control [1 ] Recent developments in the autonomization of UAVs have resulted in a variety of new applications in the civil sector. Monitoring the traffic or pollution levels and rescue missions in disaster struck area s are common examples of civilian applications. S uch applications require that the UAV be agile and easy to operate in urban environments that are cluttered with obstacles such as buildings and trees [2 5] This in turn emphasizes the need for off line path planning algorithms that can maneuver the UAV a utonomously in a given obstacle field. As more algorithms become available to pre compute trajectories, the focus is now shifting towards autonomizing a swarm of UAVs to coordinate and maneuver [ 2 ] This capability would require temporal constraints to be imposed on the UAVs so that the swarm can be maintained in formation without any collisions. A temporal constraint refers to constraining the motion of a UAV such that it reaches a given point in the configuration space at a given time. Further, temporal c onstraints are also needed when a moving or a shape changing target needs to be sensed at a particular time, after it had reached a desirable state. 1.2 Foundation Path planning is a widely researched area in UAV design and development. The breadth of algo rithms available in literature is large. From graph theory to probabilistic methods, a variety of techniques exist to find the minimal time path between a start and an end point in a given obstacle field [ 11, 24 26] Of these, p robabilistic planning PAGE 14 14 approa ches are considered in this thesis [ 19 ] Such methods sample the configuration space to collect points that could result in a possible solution path. In particular, we consider a Random Dense Tree (RDT) algorithm. The RDT algorith m takes into consideration any kinematic constraints that the vehicle in question may have. This feature is particularly advantageous while dealing with agile UAVs that need to be aggressively maneuvered for obstacle avoidance in cluttered environments. to find a minimal length path between a start and end point [ 6 ]. This algorithm has been extended to the 3D case, thus making path planning [ 7 ] Combining this algorithm with RDT as a trajectory planning tool has b een previously accomplished [ 8 ]. In this thesis, modifications to these algorithms are provided in order to i nclude temporal constraints. Algorithms for the inclusion of such distance constraints have been formulated [ 9 ]. However, these algorithms use the graph search method to compute the optimal path, thus not focusing on the dynamic constraints of the system. This thesis aims to account for the kinematic constraints. The developed algorithm is then extended to account for sensing motion primitives that were developed in [10]. 1.3 Research Statement Given a start point, an end point, the obstacle field and a target time, this research aims at finding a dynamically feas ible path that a given vehicle could follow in order to reach the end point at the target time. The shortest time path is treated as a bench mark to determine the feasibility of the target time. If the target time is less that the shortest path time, the m ission is deemed impossible. On the other hand, if the target time is much greater than the shortest time, the objective is to find a path that would loop PAGE 15 15 around the obstacles until the target time criteria is met at the end point. The approach is then ext ended to include multiple targets. This brings into question the visitation order. The first and second approaches let the user decide the visitation order, and take the vehicle to each target at a user specified time. The third approach considers a final goal time to decide the order of visitation. 1.4 Approach Chapter 1 introduces the research by discuss ing the motivation behind it and providing its possible applications. The problem is then formally defined by providing a Research Statement. Chapter 2 la ys the foundation needed to understand the research. Basic path algorithm used (RDT) is then described in detail. The application of RDT to a planar vehicle and a 3D vehic le is then discussed. Chapter 3 focuses on how the planning algorithm is modified in order to impose the temporal constraints. It first takes the planar vehicle example described in Chapter 2 and applies the modified algorithm to find new paths that execu te in user specified tar get times. An example is given to prove that a longer path is found in case of a larger target time. The approach is then extended to the 3D case and a n example is provided again A study of computation time versus the tolerance lev el within which the target time is reached is done. An appropriate trade off is then arrived at, based on the level of accuracy required by the sensing mission. Chapter 4 discusses what sensing primitives are. It then combines sensing primitives with motio n planning to provide a complete understanding of sensing mission PAGE 16 16 requirement s Different ways to complete the sensing mission are then discussed, keeping in mind that the user specified target time is the prime criterion. Chapter 5 provides a cooperative path planning example using the temporal algorithms for sensing missions that was arrived at in Chapter 4. This serves as a proof of the variety of applications to which temporal path planning can be applied. Chapter 6 concludes the research work carried out and proposes ideas for future work in this area. PAGE 17 17 CHAPTER 2 MOTION PLANNING Motion planning can be divided into two steps choosing motion primitives and including them in the path planning algorithm Section 2.1 deals with defining what motion primit ives are. Primitives are first described for the 2D case according to the 2.2 desc ribes how the motion primitives can be combined with the probabilistic Random Dense Tree (RDT) algorithm in order to plan the entire trajectory in 2D space. Later, necessary concepts are defined to extend the path planning to the 3D case. 2.1 Motion Primi tives governing dynamics. When a set of motion primitives are executed in a pre defined order, each for a specified period of time, a complete trajectory is obtained. In other words, a collection of motion primitives describe s the state space of the vehicle throughout time. In this thesis, all motion primitives are considered at trim conditions. Two kinds of primitives are needed to describe a complete trajectory straight pri mitives and turn primitives. Turn primitives can further be classified into left and right turns. Let represent the trim condition. The state equations for the trim primi tives are given in Equation 2.1 and the trim condition is defined in Equation 2.2. 2.1 2. 2 PAGE 18 18 In Equation 2. 2 is a constant. The complete trajectory is formulated by solv ing for the sequence of straight line and turn primitives uration. of a car. This model can be used to define the continuous time dynamics while describing motion primitives for the car [11] It encompasses the 2 dimensional position of the car, and the heading angle This model assumes that the car moves with a constant forward velocity T he maximum turn rate is also assumed to be a constant The model is described using E quation 2.3. 2.3 The velocity can be considered as a scaling factor that will be equated to 1 in the following discussions. This implies that the car travels forward with a unit velocity. In order to compute motion primitives for a different velocity, the results just need to be scaled by an appropriate factor. The trim condition for the motion primitives are defined by Equation 2.4. Equation 2.4 a represents the straight line motion, while 2.4 b and 2.4 c represent the left and right turns respectively. 2.4 a 2.4 b 2.4 c Substituting th e trim condition into Equation 2. 3 the state equations for the trim motion primitive are obtained. When integrated over time, the state space equations PAGE 19 19 produce algebraic expressions for the trim condi tions, which when solved will result in the trim duration. The turn and straight primitives can be considered to be a transformation on the initial state vector. Let denote the transformation representing the left turn, denote the straight line motion. The respective transformations are described in 2. 5 2. 5 a 2. 5 b 2. 5 c The turn and straight primitives are combined in sets of either two (2 element Turn Straight primitives) or three (3 element Turn Straight Turn or Turn Turn primitives) s trajectory primitives yield the shortest time path in an obstacle free environment. It is also previously proven that using the 2 element primitives results in a solution that does not guarantee the heading requirement at the end point. Using the 3 eleme nt primitives guarantees that the solution satisfies the position and orientation requirements at the end point. There are six possible 3 element trajectories that are defined by the set The local path planning problem now reduces to choosing one element from this set and assigning a primitive time to each PAGE 20 2 0 segment of the primitive. The primitive time can be obtained by equating the primitive equations ( 2. 5 ) to the desired end point and orientation. In order to simplify this process, The initial position is translated t o the origin and the final position is translated to a point at a distance on the The initial and final heading angles are also specified with respect to the The initial state ve ctor then becomes and the final desired state vector becomes Figure 2 1 I In order to compute the time take by each 3 element trajectory primitive to connect the start and the end point, 3 primitive times need to be computed. This is achieved by applying successive transformations listed in 2. 5 in the order of each element. Algebraic expressions for the time durations [15] of the s ix possible cases are listed in 2. 6 2.11 Left Straight Left Primitive: 2. 6 a 2. 6 b 2.6 c PAGE 21 21 Right Straight Right Primitive: 2. 7 a 2.7 b 2. 7 c Right Straight Left Primitive: 2. 8 a 2. 8 b 2. 8 c Left Straight Right Primitive: 2. 9 a 2. 9 b 2. 9 c Right Left Right Primitive: 2.1 0 a 2.1 0 b 2.1 0 c L eft Right Left Primitive: 2.1 1 a 2.1 1 b 2.1 1 c PAGE 22 22 The total time taken for the execution of the 3 element primitive is simply the sum of the three individual primitive times. When used as a local planning tool, all six trajectory primitives will be computed between the local start and end points. The primitive that yields the shortest total time wil l then be selected as the path to be followed and added to the complete trajectory. A few sample 3 element trajectory primiti ves generated from Equ ation s 2.6 2.1 1 are given in Figure 2 2. Figure 2 2 In order to extend the concept of path planning to the 3D space, the 3 element trajectory primitives must be extended include an extra turn segment. This path planning indirectly uses an ext [7 8, 10] The extra primitive is required in order to satisfy not only the final position, but also the final vector of motion. In case of the ctor of motion is determined by the heading angle and the flight path angle. In order to satisfy these requirements, a rotation is first performed that places the vector of motion and the desired final vector of motion in the same plane. This co planarity then guarantees that the problem can be solved using the maneuver 5 4 3 2 1 0 0 0.5 1 1.5 2 2.5 3 X (m) Y (m) Left Right Left B) 4 3 2 1 0 2 1.5 1 0.5 0 0.5 1 Y, (m) X, (m) Left Straight Left A) PAGE 23 23 primitive. There are 12 possible 4 element trajectory primitives out of which the shortest time pa th is chosen to be the solution to the local path planning problem in an obstacle free environment. 2.2 Random Dense Tree Planning Method Section 2.1 described a local planning methodology for the 2D and the 3D case. Section 2.2 describe s a probabilistic p ath planning method that uses this local planning result (use of 3 element trajectory primitives in the 2D case and 4 element trajectory primitives in the 3D case). By using the trajectory primitives in the overall planning approach, the dynamic constraint s of the vehicle are accounted for [13 14 19 ] Random Dense Tree ( RDT ) is a sampling based path planning method. The general idea of such a probabilistic planning algorithm is to sample the configuration space and collect some of the sampled points to for m a trajectory. The configuration space of a vehicle is the vector space spanned by the collection of its position and orientation variables) configuration space is 3 dimensional, with tw o position variables and an orientation (heading angle). The sample points that form the trajectory are collected based on the local planning strategy described in Section 2.1 The sample collection process is A typical RDT planner uses the following steps to grow trees that connect the initial configuration to the final configuration. PAGE 24 24 1. Local Goal Selection: A loc al goal is randomly selected from the configuration space. 2. Node Selection: Based on a distance metric, a node is selected from the existing tree to connect to the local goal. 3. Node Expansion: A local planning strategy connects the node to the local goal in the shortest possible time. A branch is thus added to the existing tree. 4. Evaluation: The branch is evaluated for any obstacle collision and for connectivity to the goal. The algorithm is repeated till a path is found between the initial and final configura tions. Depending upon requirements, the algorithm can be made to repeat till successful paths, or a maximum permissible computation time. Figure 2 3 gives a pictori al representation of the four steps described above. Figure 2 3 RDT Planning steps A) Local goal selection and Node Selection, B) Node Expansion Sections 2.2.1 and 2.2.2 describe detailed examples for a 2 D and a 3 D RDT based motion planner that is us ed in this thesis to later impose temporal constraints. 2.2.1 2 D Planner using RDT Section 2.2.1 describes how each step in the RDT algorithm is executed in order The problem can formally be defined as follows PAGE 25 25 Given the initial configuration find the shortest time path taken by a and a maximum trim turn rate of to reach the end configuration while avoidi Figure 2 4 Obstacle field for the 2 D RDT planner 2.2.1.1 Local Goal Selection The local goal selection step involves sampling the configuration space for a by 3 variables However, the path planning problem only requires an initial and terminal heading constraint to be satisfied. There are no constraints on the intermediate heading angles. Thus, it becomes unnecessary to sample the entire configuration spac e. Instead, a subspace known as the Position space that is spanned PAGE 26 26 by is sampled in this problem. The sampling process involves choosing a point from a uniform distribution between and Using a uniform distribution ensures that the search for the shortest time path is exhaustive and gives equal importance to all points in the position space. This in turn guarantees that the resulting path is not a local minimum, but a global solution. 2.2.1.2 N ode Selection The node selection step computes a distance metric between existing nodes in the tree and the chosen random point Previous research [10] has compared the following distance metrics Straight line Euclidian distance. Distance generated by obstacle free, 2 element, turn straight trajectory primitives. Distance generated by 2 element, turn straight trajectory primitives taking into consideration all the obstacles. Of the three primitives, it was found that using the obstacle free 2 element turn straight trajectory primitives as the distance metric yielded the best trade off between accuracy and computation time. While the Euclidian distance was the easiest to consideration. On the other hand, considering obstacle avoidance at this early stage of planning in creased the computation time unreasonably. 2.2.1.3 Node Expansion The node that is selected from the previous step is first connected to the random sample point using the turn straight trajectory primitive (a branch) This branch is then divided into a se ries of points. These points are fed to an obstacle collision algorithm. If all points on the turn straight primitive are collision free, then the branch is added to the PAGE 27 27 tree. If a point on the branch collides with an obstacle in the planning environment, then the branch is pruned or trimmed short till the previous collision free point. The trimmed branch is then added to the tree. 2.2.1. 4 Evaluation T he recently added branch is checked for connectivity to the goal configuration using 3 element trajectory p rimitives. The branch is first divided into intermediate nodes. Each node is connected to the goal using each of the six 3 element trajectory primitives in the set The resulting 6 trajectories are checked for obstacle collision. If there exists a trajectory that is collision free and connects the goal to the branch node, then its cost is noted. The cost is then obtaine d for all the nodes that are collision free. The path with the lowest cost is added to the tree and completes the planning problem. In order to improve the solution time, the process can be repeated more than once. For example, finding three successful pat hs, each shorter in time than its predecessor could be the stopping criteria for the algorithm. Figure 2 5 is explains the RDT algorithm through four steps A. A random point is chosen from the position space B. The node closest to is s elected. C. A collision free 2 element turn straight primitive is extended from B to which is added as a new node in the tree. D. The point is checked for obstacle free goal connectivity using 3 element trajectory primitives. The primi tive with the lowest time cost is selected as the path to connect the goal. The total cost for the computed path would be the sum of the time taken by the chosen trajectory primitive s leading to each node in the path The usage of RDT in dynamically constr ained 2D motion planning has thus been explained. PAGE 28 28 Figure 2 5 2.2.2 3 D Planning using RDT T he 2 D RDT planning algorithm described in Section 2.2.1 can be directly extended to the 3 D after certain parameter mo difications [8, 10, 20 21 ] In this case, the position space that is to be sampled is spanned by the 3 position variables Thus, the local goal selection would involve choosing a random point from the uniform distribution between and The distance metric used in the Node selection step is different from the 2 D case. Using the 2 eleme nt trajectory primitive as the distance metric becomes extremely time consuming in the 3 D case. Thus, the Euclidian distance metric is used to select the node closest to the sampled random point. However, use of the Euclidian distance metric often selects nodes that are within one turning radius of the vehicle. This results in trees that involve a lot of long turn segments between and In order to avoid this, the distance metric PAGE 29 29 includes a constraint to choose only nodes that are at least one tur ning radius away from the random point. Further, the turn angle necessary to reach the sampled point is constrained to be less than The node expansion step connects the random point to each node using 3D 2 element trajectory primitives, which are ess entially an initial rotation in addition to the 2D 2 element trajectory primitives described in 2.1.1. In the final evaluation step, 4 element trajectory primitives described in 2.1.2 are used to connect to the target configuration An example of a path ob tained using the planner described is presented in Figure 2 6. In this example, the vehicle has an initial position of and an initial vector of motion as The final position requirement is The desired final vector of motion is Figure 2 6 3 D Path Planning using RDT PAGE 30 30 C HAPTER 3 TEMPORAL CONSTRAINTS Path planning algorithms work to minimize a cost function. In most cases, the co st function is the path time or the total distance. However, as the complexity of UAV missions increase, the demands on the path planning algorithms are changing. Research focus is now on how to maneuver multiple UAVs, rather than just planning for one path. Such co operative maneuvering missions require that a set of vehicles come within a close, yet safe proximity of each other at a pre decided time so that information can be exchanged. This in turn requires that temporary constraints be placed on the configura tion space at a particular time are known as temporal constraints. In the past, task assignment and scheduling problems used temporal constraints [29 30]. In multicriteria path planning, the temporal aspect is introduced by giving a lesser weightage to min imizing time requirements [23]. This ensures that other constraints such as minimizing the energy are met before finding a solution path However, reaching a given point at an exactly given time has not been considered previously. Section 3 1 discuss es how the shortest time path finding RDT algorithm can be modified to include temporal constraints. The cost in this case becomes the error between a desired time and the actual time taken. 3.1 Temporal RDT Algorithm In order to account for temporal constraint s, the RDT algorithm introduced in Chapter 2 will be modified. In particular, the node selection step that chooses the node nearest to the local goal will be modified. The concept involves dividing the entire planning environment into segments. This reduce s the overall temporal planning PAGE 31 31 problem to a set of local problems. Each local problem is simply the choice of an appropriate node that minimizes the time error between the actual and the local expected time. The following list describes the implementation of RDT with Temporal Constraints. 1. Benchmark Computation: Find the shortest obstacle free path between start and end points. 2. Segmentation: equal portion of the benchmark path. 3. Local time a ssignment: Depending on the final target time, assign each segment a local target time. 4. Local Goal Selection: A local goal is randomly selected from the configuration space. This step is unmodified from the original RDT algorithm. 5. Node Selection: Unlike th e original RDT where a distance metric is used to select the nearest node, an error metric is defined. The error is a measure of the difference between the time taken by the vehicle to traverse the distance from start to the local goal via the node and the local time assigned in step 3. 6. Node Expansion: A local planning strategy connects the node to the local goal in the shortest possible time. A branch is thus added to the existing tree. 7. Evaluation: The branch is evaluated for any obstacle collision and for connectivity to the goal. These steps are repeated till a stopping criterion is met. In order to reach the end configuration at the specified time, the stopping criteria is defined as the time error tolerance. Sections 3.1.1 to 3.1.7 describe each step of the temporal RDT algorithm in detail. Each step is also illustrated with an example for better clarity. The overall approach used in to divide the entire obstacle space into equally 3.1.1 Benchmark Computation The simplest path between two points is the straight line path that is representative of the Euclidian distance. This path only requires linear motion without PAGE 32 32 accelerating, the time taken by the vehicle to reach a p oint on the straight line is simpl y proportional to the Euclidian distance of the point from the start. Thus, when this path is divided into equidistant segments, the time taken to execute each segment will be a constant. This path will later serve as a be nch mark for time error computations. Figure 3.1 shows sample benchmark paths between various sets of start and end points. Figure 3 1 Benchmark paths for different sets of start and end points 3.1.2 Segmentation The concept of breaking down the planni ng problem to a set of local node selection problems requires the planning environment to be divided into equally weighted segments. The segments are weighted such that the vehicle takes equal time PAGE 33 33 to traverse through each one of them. In order to achieve this, a benchmark path is calculated as discussed before. This path is then divided into equidistant segments. The dividing lines are then extended to segment the entire planning area. This results in the planning environment being segmented by lines perpe ndicular to the benchmark path. The number of segments is a design choice. This parameter decides the trade off between computation time and accuracy. Figure 3 2 shows the Segmentation step performed on different sets of start and end points. It should be noted that the vehicle takes exactly the same time to traverse through each of these segments. Thus, the segments become equally weighted in time. Figure 3 2 Segmentation lines (8 segments) for equal time weights for various start and end points PAGE 34 34 3.1.3 Local time Assignment The planning environment has now been segmented into equally weighted segments. The next step is to assign each segment a time. The node selection step in the Temporal RDT algorithm uses a time metric rather than a distance metric tha t is used by the RDT. This time metric will be compared against a local time in each segment in order to do the node selection. This step assigns that local time against which the time metric will be compared. The assignment of the local time to each segme nt is straight forward. The segmentation is done in such a way that each segment is traversed in exactly the same amount of time. Thus, if the target time to reach the end point is and if there are segments, then each segment should be trav elled in seconds. Thus, the time taken from the start to the segment will be as given in Equation 3 1. 3.1 For each segment obtained in Section 3.1.2 a will be assigned based on the target time. 3.1.4 Local Goal Selection This step of the Temporal RDT is the same as that in original algorithm. It involves the selection of random point from the configuration space. As before, the local goal will be picked from a uniform distribution to guarantee e xploration of the entire configuration space. 3.1.5 Node Selection The node selection process in the temporal RDT algorithm is different from the original RDT algorithm. Instead of using the distance metric a time error metric is used. PAGE 35 35 As discussed before the first step in the node selection process is to compute the two element trajectory primitives between the local goal and the existing nodes. The obstacle free 2 element primitives are calculated to save computation time. The time taken by the computed path is then added to the time taken by the vehicle to traverse from the initial point to that node. This gives the total path time needed to reach the new goal from the start. The next step in the node selection process is to find out which segment the local goal lies in. This information is then used to find out the local target time assigned to that segment. The error metric is the difference between the local target time and the actual path time. The node chosen will have the lowest error metric. A to lerance is usually defined for how large a time error is permissible. The first node that satisfies the error tolerance criterion is chosen as the new node. Figure 3 3 Deciding the local target time for the time error metric PAGE 36 36 In Figure 3 3 the local goal lies in the 5 th segment that has a target time of Thus, the error metric for the node comparison is given in Equation 3 2. 3.2 3.1.6 Node Expansion The node expansion step involves finding the 2 element tr ajectory primitive from the node selected in the previous step to the local goal. The branch is then evaluated for obstacle collision. If the branch is collision free with all the obstacles in the planning environment, then it is added to the tree. If not, the branch is shortened until no obstacles are hit. The shortened branch is then added to the tree. 3.1.7 Evaluation The branch added in the previous step is divided into sub divisions and each division is evaluated for connectivity to the goal. In additi on to connectivity to the goal, a time error metric must again be satisfied in order to reach the end point in the target time. While doing so, the error metric is considered to be the difference between the total path time and the target time. This time e rror metric must be within a permissible error tolerance. Low values of error tolerance ensure accuracy, but turn out to be a burden on the computation time. For the 2D case, an error tolerance of is achievable for a nominal computation time. Also, target path times as large as twice the shortest time path are viable. In order to demonstrate the Temporal RDT algorithm, a no obstacle planning mission between and is show n here. Two missions are simulated i n Figure s 3 4 and 3 5 for comparison Figure 3 4 shows a path that only takes to reach the end point. Whereas, Figure 3 5 shows a path that takes to reach the end PAGE 37 37 point. I t can be seen that the path takes to reach the end point has additional loops. Such loops cause the vehicle to come back to the point where the loop started after the execution. This ensures that additional time is added to the pa th. Figure 3 4 Temporal path that takes Fig ure 3 5 Temporal path that takes PAGE 38 38 3. 2 Consider the planning environment given in Figure 2 4. For the same planning environment, the planning problem with temporal constraints is specified as follows: configuration traveling with unit forward velocity and a maximum trim turn rate of to reach the end configuration while avoiding In orde r to solve this problem, the bench mark path between and is first computed. This path is then divided into segments. If each segment is shorter than the turn radius of the vehicle, then the nodes chosen in each segment would also be less than a turn radius away from the local goal. This would result in a lot of turns greater that In order to avoid this strain on the vehicle, the number of segments is chosen as that given in Equation 3 3. 3.3 Here is the Euclidian distance between the start and the end poin t is the turn radius of the vehicle. This method of choosing the number of segments ensures that eac h segment is larger than the turn diameter of the vehicle. In this example, the planning area is divided into segments. Each segment is long, which is greater than the vehicle turn diameter of In the local target time assignment step, each s egment is allotted a time period of The actual target time for each segment, is then calculated from Equation 3 1. The next step is to pick a local goal and to find out which segment it lies in. PAGE 39 39 In the node selection step, ob stacle free 2 element turn straight trajectory primitives are extended between existing nodes and the local goal. The total path time taken to reach the local goal via each node is then calculated. The error metric for each node is computed as the differen ce between and the total path time. The node that has the lowest error metric is then chosen to proceed to the next step. The maximum tolerance on the error metric is defined in Equation 3 4. 3.4 This error tolerance ensures that the chosen node is in the same segment as the local goal. Although this is not a strict requirement, it helps in choosing a maximum tolerance criterion. In this example, the error tolerance is Since the vehicl e is assumed to travel with unit forward velocity, the time error tolerance is same as the length of each segment in the bench mark path. The node expansion step extends a branch fro m the selected node to the new local goal. The local goal is then added as a new node in the tree The node evaluation step che c ks the newly added node for connectivity to the final goal I n addition to checking for goal connectivity a second error tolerance must be satisfied so that the final time constraint on the path is ach ieved. This second tolerance serves as a boundary on the accuracy of the actual path time. That is, an error tolerance of 1.5s would mean that the The average computation time is calculated for di fferent final error tolerance values and is shown in Table 3 1 The average was computed over 10 trials. PAGE 40 40 T able 3 1 Accuracy vs. Average Computation time in the 2D case Error Tolerance/ Accuracy (s) Average Computation Time (s) 2.5 13.27 2.0 22.19 1. 5 39.63 1.0 160.58 It was found that a final error tolerance of provided the ideal trade off between the computation time and accuracy. An accuracy of required four times as much computation time. Thus, the final error tolerance is chosen as The path computed with a target time of is shown in Fig ure 3 6. The actual time taken to execute this path is The computation time is Figure 3 6 Temporal path that takes 30s PAGE 41 41 The temporal RDT algorithm can be extended to the 3D case by using the 3D R DT algorithm described in S ection 2.2.2. The modifications described in 3.1 for the temporal constraints will be applied to the 3D RDT algorithm. The segmentation step in the 2D temporal algorithm is modified to a projection step that is easier to compute in the 3D space. Each step of the 3D temporal RDT algorithm is briefly explained in this Section 3.3 An example path is finally given to illustrate the algorithm. The benchmark c omputation This step finds the obstacle free straight line path between the sta rt and end point. Segmentation I n 3 dimensional space segmentation would involve the computation of a set of planes, rather than lines. This increases the com putation time of the algorithm and can be avoided by segmenting only the benchmark path instea d of the entire 3D space. Doing so would later require a projection step for the node selection process. The segmentation step in the 3D case involves dividing the benchmark path into equidistant parts. Local time assignment Ea ch segment is assigned a local target time If the final target time is then the segment of the benchmark path is assigned a time of 3.5 Local Goal Selection It involves the random selection of a point from the configuration space. This step is unmodified from the original RDT algorithm. Node Selection A n additional step is required in the node selection procedure for the 3D temporal RDT algorithm. As discussed before, the 3D RDT algorithm uses a modified Euclidian distance metric to select the node. For the Temporal RDT algorithm, PAGE 42 42 the Euclidian distance path between the local goal and each already existing node is first proje cted onto the benchmark path. The distance of the projection is used to find out the segment in which the new branch lies. The time error metric is then chosen according to the local time assigned to the chosen segment in step 3. Figure 3 7 shows the bench mark path, the local goal and a node in consideration (the start point itself) the branch between the node and the local goal and the projection of the branch. Figure 3 7 Projection for the node selection step in 3D RDT Node Expansion This step con nects the node obtained from the previous step to the local goal by using a 3 element trajectory primitive described in Section 2.2.2. The primitive is then checked for obstacle collision and is pruned accordingly. The pruned branch is added to the tree of existing nodes and branches. PAGE 43 43 Evaluation T he newly added local goal is evaluated for connectivity to the goal configuration using 4 element trajectory primitives described in 2.2.2. A final time error tolerance will be defined in this step. The path tha t connects to the goal without colliding with any obstacles, while satisfying the time error tolerance will be found. The resulting path will satisfy the end configuration requirement and the target time constrain t. Figure 3 8 shows a path generated by th e 3D RDT algorithm. In this example, the vehicle has an initial position of and an initial vector of motion as The final position requirement is The desired final vector of motion is The target time is The parame ters used in the 3D RDT planner are similar to those used in the 2D algorithm. The number of segments into which the benchmark path is divided is chosen as 3.6 The error tolerance in the node selecti on step is defined as 3.7 An accuracy of is achievable even in the 3D case. This is possible because the computation time is reduced by using a Euclidian distance parameter instead of using trajectory primitives. Although this result is not optimal, it satisfies the temporal criterion and is hence satisfactory. The actual path distance obtained for the path in Figure 3 8 is The path was computed in A trade off study between the accuracy and the computation time resulted in Table 3 2. It can be seen that an accuracy of 2.0s to 2.5s requires almost the same computation time. The chosen PAGE 44 44 accuracy of 1.5s requires an acceptable computation time of 54.45s, while a higher accuracy of 1s requires almost twice as much computation time. T able 3 2 Accuracy vs. Average Computation time in the 3D case Error Tolerance/ Accuracy (s) Average Computation Time (s) 2.5 44.23 2.0 45.52 1.5 54.45 1.0 113.10 Figure 3 8 3D Temporal RDT path that takes 40s PAGE 45 45 CHAPTER 4 TEMPORAL SENSING MIS SIONS Chapter 4 introduces the concept of path planning for best sensing effectiveness. The quality of a sens is n 4.1 takes into consideration such parameters that primarily determine the sensing quality and presents a method to compute the best path around the target known as the sensing primitive Section 4.2 provides a method to combine the sensing primitive wit h the paths generated by the Temporal RDT algorithm. The resulting path will enable the vehicle to sense a target effectively at a user specified time. This type of mission known as a Temporal Sensing Mission is particularly advantageous when the target i s shape shifting or moving. 4.1 Sensing Primitives sensor output is not guaranteed just by reaching a point in front of the target. Depending on the target and the sensor, the re might be a particular orientation or position at which all the sensor effectiveness is at its best. Thus, sensing is considered as another path planning problem around the target that will guarantee best sensing effectiveness at any point along that pa th [10]. Small, agile UAVs often carry sensors that use Remote Sensing technologies. Such sensors are no contact sensors that make use of the energy reflected by the target to sense it. Video cameras, RADARs, SONARs and LIDARs are common examples of such s ensors. Video cameras project a 3D scene onto a 2D image plane. Thus, additional on board computations will be required to obtain data about the target. RADARS, SONARs and LIDARs are affected by vehicle motion, as the relative position PAGE 46 46 and orientation betw negate this, an on board Inertial Navigation System must be used. In most of these sensors, the quality of the sensor output depends on the distance between the sensor and the target, the angle in the Field of View of the camera at which the target is and th e relative velocity between the sensor and the target. The se parameters will be considered in this study for computing the sensor effectiveness. Together, they constitute a four dimensional v isibility space [16 17 ]. For the target, the visibility space is spanned by: Range : This parameter is defined as the norm of the vector between the sensor and the target. If a maximum range is exceeded, the intensity and the resolution of the output become poo r. 4.1 Incidence angle : It is the angle between the Line of Sight (LOS) and the target surface normal. A high angle of incidence results in image distortion and hence is not desirable in sensing missions is usually constrained such that the maximum permissible incidence angle is never greater than That is, 4.2 Field of View Angle, : The FOV angle is measured between the LOS and the central line of the FOV ( ). It denotes the position of the target in the field of view of the sensor. High FOV angles might be a concern due to lens distortions. Thus, a good sensing primitive will constrain the FOV angle to an acceptable 4.3 Image plane velocity, : It is the velocity with which the target appears to move in the projected image p are both contributing factors to the image plane velocity. The two components o f the velocity are given in Equation 4.4 PAGE 47 47 4.4 a 4.4 b A large image plane velocity might lead to image distortion and poor resolution data. It is t herefore constrained to a maximum value for a good sensing mission. The magnitude of the image plane velocity is given by 4.5 The four visibility parameters are illustrated in Figure 4 1. The target is represented by The sensor is denoted by Figure 4 1 Visibility parameters of a sensor Using the se parameters, a visibility set is defined over the configuration space of the sensor. The visibility set is given by Equation 4 6. 4.6 In E quation 4.6 represents the position of the target relative to the sensor, is the angular orientation of the sensor and defines its angular rates. If a point in the sensor configuration space satisfies all the conditions to belong to then it is said n be represented by a binary function PAGE 48 48 4.7 In addition to being visible to the target, a point can also be evaluated for its sensi ng effectiveness in terms of the four parameters described previously. This procedure enables the path with best sensing effectiveness to be chosen from a set of paths that are visible to the target. For each visibility parameter, an e fficiency function is defined ranges from 0 to 1 on the real axis. The efficiency functions for range, incidence angle, FOV angle and image plane velocity are given in E quations 4.8 a to 4.8 d [18] 4.8 a 4.8 b 4.8 c 4.8 d PAGE 49 49 For any point in the configuration space, the instantaneous sensing quality is defined as 4.9 It should be noted that becomes zero when the target is not visible to the sensor. When the target is visible, represents the sensing efficiency. In order to primitives are generated. These will have the maximum sensing efficiency in the space defined around the target. The target space is randomly sampled for start an d end points. 3D 2 element turn straight primitives are calculated between each random start and point. The primitive is sampled and the sensor effectiveness is calculated for each point. If all points on the turn straight primitive satisfy a tolerance on the efficiency, that turn straight primitive is chosen to be the sensing primitive for that target. A sensing mission can be broken down into the fo llowing steps: Compute a sensing primitive around the target. Find a path between the mission start point and the sensing primitive start point. Perform the sensing primitive Find a path from the sensing primitive end point to the end point of the mission Figure 4 2 shows the s ampling of the target space and the resulting sensing primitive that was chosen. Figure 4 2 A) Sampling of target space; B) Chosen sensing primitive PAGE 50 50 4.2 Temporal Path planning for sensing missions Section 4.1 described a metho d to obtain sensing primitives that guarantee the best sensor performance. In Section 4.2 the sensing primitives will be integrated with the t emporal p ath planning algorithm described in Chapter 3. Together, they form the solution to a complete sensing mi ssion The first step in solving a temporal sensing mission is to obtain the following inputs from the user: 1. The initial configuration 2. The final configuration 3. The number of targets to be sensed 4. Coordinates of each target 5. Path Time requiremen ts The path time requirements decide the order of sensing and the time at which each target must be sensed. Three different types of missions can be formulated using these parameters. The first mission called the to execute. The order of sensing is input by the user The time taken to travel from one target to the next is also user specified. The second and third missions decide the order of sensing based on the time input from the user. The second mission known as t he "Temporally Order ed Sensing Mission" lets the user specify the time from the start of the mission at which each target must be sensed Using t his information the order of sensing is computed by the algorithm The third type of mission known as the "Or der variable temporal sensing mission" satisfies only a final goal time requirement. The algorithm first uses the shortest time path to each target to figure out the order of sensing such that the goal configuration is reached at the target time. In this m ission, there are no time constraints on each individual target. It is different from the first two missions in this regard. The only constraint on the path is that the vehicle should PAGE 51 51 complete all the sensing missions and reach the end configuration at the user specified time. Some common i nitial computations required for the three mission s are described here The first step is to calculate the sensing primitives for each target, as described in 4.1. Each sensing primitive will have a start point where the subscript points out that it is the initial point and the superscript identifies the target. The end point of each sensing primitive is then denoted by the symbol All the elements of the following matrix are col lected in this step. 4.1 0 In E quation 4.10 denotes the total number of targets. The next steps in the procedure are mission specific and will be described using three different examples. 4 .2.1. Order Fixed Sensing Mission The order fixed sensing mission is straight forward. The order of sensing each target in the obstacle field is given by the user. For each target in the field, the time taken to reach that target from the previous target i s also specified by the user. Thus, each target sensing is considered to be an individual mission with an exclusive temporal time constraint. An example mission with the resulting path and the computation times is given below. The mission statement reads a s follows : following user inputs 1. The initial configuration : 2. The final configuration : 3. The number of targets to be sensed : PAGE 52 52 4. Coordinates of e ach target : 5. Path Time requirements : Table 4 1 Path Time Requirements for the Order fixed sensing mission Order of Sensing Mission Time (s) Start 2 19 2 3 18 3 1 15 1 En d 16 Find a suitable path to complete the sensing mission for the planning environment given in Figure 4 3 The solution to this mission requires the temporal RDT algorithm to be solved four times, one for each mission in Table 4 1. Figure 4 3 shows the planning environment with the targets and the sensing pr imitives found in the first step Figure s 4 4 to 4 5 show the each segment of the planned path. Figure 4 6 shows the complete path in two different angles for clarity. The actual time taken for each mission is summarized in Table 4 2. Table 4 2 Summary of results of the Order Fixed sensing mission Order of Sensing Mission Time (s) Actual Time Taken (s) Start 2 19 20.14 2 3 18 18.06 3 1 15 14.07 1 End 16 16.40 T he computation time taken for the entire mission simulation was 13.94 seconds. An average computation time of 34.64 was obtained by taking into consideration 10 repetitions of the mission. PAGE 53 53 Figure 4 3 Planning Environment, Targets and Sensing Primitives Figure 4 4 Order fi xed sensing mission simulation. A) Path from Start to Target 2; B) Path from Target 2 to Target 3 PAGE 54 54 Figure 4 5 Order fixed sensing mission simulation. A) Path from Target 3 to Target 1 ; B) Path from Target 1 to end point Figure 4 6 Order fixed sensin g mission simulation. A) Top view of complete path; B) Side view of complete path This mission is simple as it obtains the order of sensing from the user. The next two missions provide a means to compute the order of sensing from t he time inputs that the user gives. PAGE 55 55 4.2.2 Temporally Ordered Sensing Mission Let the user specified time for the target be denoted by The generic mission statement for a temporally ordered sensing mission is : Given the initial configu ration the final configuration and the targets to be sensed fin d a path that senses the target at seconds from the start of the mission reach es the end configuration in the shortest time The target time assigned to targets are then sorted in ascending order according to the time weights. The order of sensing is then simply the order in which the targets are sorted. This method of choosing the order ensures that t h e target with the lowest time is sensed first and the one with the highest time requirement is sensed at last. It should be noted that the time is an absolute time quantity. That is, it refers to the time that should be taken by the vehicle from the start of the mission. Thus, a transformation is performed to calculate the relative time, or the time that should be taken by the vehicle fr om each target to the next one. Let the transformed temporal requirement on each target be denoted by The following steps are involved in completing the sensing mission: Find the temporal path that takes seconds to travel f rom the initial configuration to the first target Compute a path that takes seconds to travel from the final configuration of the sensing primitive, to the initial configuration of the sensing primitive where Compute the shortest time path from the end point of the last sensing primitive to the final goal configuration. In this mission, since there are no temporal requirements on the final go al configuration, it suffices to find the shortest time path. T he simulation PAGE 56 56 results of a temporally ordered sensing mission with the following parameters are presented here. 1. The initial configuration : 2. The final con figuration : 3. The number of targets to be sensed : 4. Target Coordinates : 5. Path Time requirements : Table 4 3 Path Time Requ irements for Temporally ordered sensing mission Target Mission Time (s) 1 20 2 60 3 40 Based on the mission time given for each target, the order of sensing is decided as Taking into account the time taken for each individual between each mission is calculated as follows: Table 4 4 Computed Time Requirements for the Temporally ordered sensing mission Order of Sensing Mission Time (s) Start 1 20 1 3 19.01 3 2 13.10 2 End Shortest time The Temporal RDT algorithm is then executed three times, once for each of the first three missions specified in Table 4 4 The RDT algorithm to find the shortest time is then used to find the path fr om target to the end point. The results of the mission simulation are shown is Figure s 4 7 to 4 8 PAGE 57 57 Figure 4 7 Temporally ordered mission simulation. A) Path from Start to Target 1; B) Path from Target 1 to Target 3. Figure 4 8 Temporally ordered mission simulation. A) Path from Target 3 to Target 2; B) Path from Target 2 to End. Figure 4 9 shows the complete path for the Temporally ordered sensing mission in top view and in a side view. PAGE 58 58 Figure 4 9 Temporally ordered sensing mission simulation A) Top view of complete path; B) Side view of complete path This sensing mission uses a combination of the Temporal RDT algorithm and the shortest time path RDT algorithm. As a result, the mission computation time is high. For an accuracy of the average computation time required was 137s. Thus, the accuracy is reduced to This resulted in an acceptable average computation time of The actual computation time for the mission in the example was 36s. The actual time taken by taken by the ve hicle to reach each target is shown in Table 4 5 Table 4 5 Summary of results of the Temporally ordered sensing mission Target Mission Time (s) Actual Time (s) 1 20 20.30 2 60 62.98 3 40 42.22 The shortest path between Target and the end point wa s found to take Thus, the total path distance including the trajectory and the sensing primitives was PAGE 59 59 4.2.3. Order Variable Temporal Sensing Mission The order variable temporal sensing mission is named so because it does not need the user to specify the order, directly or indirectly. It is different from the previous two missions in this respect. The user input to this mission is the time at which the vehicle should reach the final configuration after all the sensing missions. Consider an order variable t emporal sensing mission with three targets. The mission is to sense all the targets and to return to the start point at a user specified time. Each target will have a sensing primitive, with its own start and end points. These points will be regarded as se parate missions to be reached. That is, for each target, there are two points that are added to the mission For a total of 3 targets, there are 6 points in the mission and a start point. The shortest time between every two points in the set is calculated and stored in a distance matrix called Then, for each possible sensing order, the shortest mission time is calculated. Then, the sensing order whose time requirement is then equally split shortest time. The time so obtained is fed to the Temporal sensing algorithm to obtain a path that reaches the start point at the right time, after having sensed all the targets. The example below will illustrate each step numerically. Given the starting configuration find a path that will sense three targets located at and and return to the starting configuration at The first step of computing the sensing primitives according to Section 4.1 r esults in the following points in the configuration space. PAGE 60 60 Table 4 6 Start point and Sensing Primitives for Order Variable sensing mission Points 1 2 3 4 5 6 7 The first point in Table 4 6 is the st art and the end point for the entire mission. Points 2, 4 and 6 are the starting primitives for each target. Points 3, 5 and 7 are the ending primitives ]. The shortest distance between every pair of points in Ta ble 4 6 is calculated. The resultant distance matrix is shown below. 4.11 In the distance matrix, the points that have to be selected in a pre defined order are given a very low cost of This ensures that the ending sensing primitives are chosen immediately after the starting sensing primitives. Also, the points that should never be chosen next to each other ar e given a cost of This ensures that the PAGE 61 61 Based on all the path constraints, the possible paths from the points in Table 4 6 are: 4.12 Out of these paths, the path is chose n as the order of s shortest time distance is which is nearest to the required time of The cost difference of is divided equally among the four temporal missions The resultant path is shown in Figures 4 10 to 4 1 2 The actual path time was The error tolerance for each mission was increased to in order to decrease the computation time. Even after doing so, the resultant path is only greater than the ideal path, which is acceptable. The computation time for this mission was Figure 4 10 Order variable sensing mission simulation. A) Path from Start to Target 3; B) Path from Target 3 to Target 2 PAGE 62 62 Figure 4 11 Order variable sensing mission simulation. A) Path from Target 2 Target 1; B) Path fr om Target 1 to Start Figure 4 1 2 Order variable sensing mission simulatio n. A) Complete Mission Top View; B) Complete mission side view PAGE 63 63 CHAPTER 5 COOPERATIVE PLANNING EXAMPLE Chapter 5 provides an example of the Temporal RDT algorithm being applied to co operative path planning. It shows the breadth of applications that result from applying temporal constraints. In the past, cooperative sensing missions have been considered as task assignment problems where a time related cost is minimized [22 27 ]. Cooperative path planning has also been done by assuming a leader follower architecture, where a leader vehicle assigns mission areas to each of its followers. Each follower then searches its own mission area for the shortest time path [28]. Since each fol In this thesis an example of a cooperative sensing mission using the Temporal RDT algorithm is illustrated. The mission is to sense a target located at from tw o different angles at the same time. Two vehicles are used for this purpose. The first vehicle starts from position with an initial vector of motion The end configuration for the first vehicle is and The second vehicle starts from with an initial vector of motion Its end configuration is at Using the algorithm described in 4.1, the calculated sensing primitive starts at The sensing primitive ends at Vehicle 1 performs this sensing primitive. Vehicle 2 is made to perfo rm the inverse of this primitive, that is, travel from to This ensures that the target is sensed from two completely different angles and that the vehicles do not collide while PAGE 64 64 sensing the target. In order to sense the target at the same time, Temporal RDT is applied to both the vehicles so that they reach the start of the sensing primitives ( in case of vehicle 1 and in case of vehicle 2) at from the start. The final step in the cooperative path planning mission is to apply the shortest time RDT algorithm to both the vehicles to compute the path from the end of the sensing primitive 1 shows the planning en vironment with both the sensing primitives and the start and end points of each vehicle. Figure 5 1 Top view of Obstacle field, sensing primitive, start and end points PAGE 65 65 is done sequentially. That is, the path for vehicle 1 is first computed. A set of obstacles are then defined along the path planned for vehicle 1 the obstacle collision algorithm also takes into consideration, the obstacl es along path 1. A path that is free from collision with all the obstacles in the obstacle field and all the obstacles defined on path 1 is found for the 2 nd vehicle. Figure 5 2 shows the path of the first vehicle. Figure 5 2 Top view and side view of Figure 5 3 Obstacles along path 1 and planning environment obstacles for Path 2 PAGE 66 66 Figure 5 3 shows the obstacles along path 1 that were considered while computing path 2. Using these obstacles, the path computed for vehicle 2 is shown in Figure 5 4. The combined paths are shown in Figure 5 5. Figure 5 4 Figure 5 5 Top and Side view of vehicle paths in a cooperative mission Vehicles 1 and 2 reached their sensing primitives at 9.76s and 10.01 s respectively. The computation time for the entire mission was 39.34s. PAGE 67 67 CHAPTER 6 CONCLUSION This thesis began with a brief motivation to design temporal path planning algorithms. The research statement was clearly specified in Chapter 1. Chapter 2 introdu ced the Dubin's kinematic model and the probabilistic Random Dense Tree algorithm used for path planning in this thesis. The concepts were explained for a 2D vehicle first and were later extended to be applied to miniature UAVs. Chapter 3 detailed a step b y step procedure to add temporal constraints to the RDT algorithm. The algorithm was shown in action for a Dubin's car and a Dubin's airplane. The obstacle free case was demonstrated first to visualize the functioning of the algorithm. The parameters neede d for the Temporal RDT were discussed and a trade off between the path time accuracy and the computation time was arrived at. Chapter 4 introduced efficiency functions to calculate the quality of sensing and to choose the best trajectories during a sensing mission. Examples of three sensing missions were provided, where each sensing mission had a different algorithm to calculate the order of sensing. Chapter 5 concluded the research with an example of how the temporal algorithm could be applied to cooperati ve target sensing missions. Future work in this research could take many directions. The Temporal RDT algorithm could be modified to reduce the computation time for better path accuracy. be done to variable temporal mission now requires that the input time must be large enough such that all targets can be sensed once. This could be bettered by first finding out the number of target s that could be sensed and then ordering the targets for the sensing mission. This PAGE 68 68 modification guarantees that no matter what the time input is, the vehicle would sense as many targets as it can before returning to the start point. Another area for develo pment of this research would be taking into consideration practical issues such as sensor noise and vehicle disturbances. These factors would prevent the vehicle from following the planned path, and hence might lead to the need for an online path correctiv e algorithm. PAGE 69 69 L IST OF REFERENCES [1] "Growth Opportunity in Global UAV Market," in Lucintel Brief ed. Las Colinas, TX: Lucintel, 2011 http://www.lucintel.com/LucintelBrief/UAVMarketOpportunity.pdf [2] T.H. Cox, C.J. Nagy, M.A. Skoog, I.A. Somers, "Civil UAV Capability Assessment, Draft Version," NASA Aeronautics Research Mission Directorate, NASA Science Mission Directorate December 2004. [3] S. Bouabdallah M. Becker, R. Siegwart, "Autonomous miniature flying robots: coming soon! Research, Development and Results," Robotics & Automation Magazine, IEEE vol.14, no.3, pp.88 98, Sept. 2007 [4] P. Mika., Emergency Service use of UAS 2009/2010 UAS Yearbook UAS: The Global Perspective, pp. 1 39/ 224. June 2009. [5] in (COUNTER) project reaches important Air Vehicles News and Accomplishments January 2008, http://www.wpafb.af.mil/shared/media/document/AFD 090205 039.pdf [6] L. E. Dubins, "On Curves of Minimal Length with a Constraint on Average Curvature, and with Prescribed Initial and Terminal Positions and Tangents," American Journal of Mathematics, vol. 79, no.3, pp. 497 516, July 1957. [7] H. Chitsaz S. M. LaValle, "Time optimal paths for a Dubins airplane," 46th IEEE Conference on Decisio n and Control, pp.2379 2384, 12 14 Dec. 2007 [8] Three Dimensional Trajectory Generation for Flight Within an Obstacle Rich Environment University of Florida, May 2009. [9] S. Bhattacharya, M. Likhachev V. Kumar, "Multi age nt path planning with multiple tasks and distance constraints," 2010 IEEE International Conference on Robotics and Automation (ICRA), pp.953 959, 3 7 May 2010 [10] Trajectory planning for effective close proximity sensing with agile vehicles Ph.D. dissertation, University of Florida, 2011 [11] S. Lavalle Planning Algorithms Cambridge University Press, 2006. [12] T. Schouwenaars B. Mettler, E. Feron, J.P. How, "Robust motion planning using a maneuver automation with built in uncertaintie s," Proceedings of the 2003 American Control Conference, vol.3, pp. 2211 2216, 4 6 June 2003 [13] J.J. K uffner Jr., S.M. LaValle "RRT connect: An efficient approach to single query path planning," Robotics and Automation, 2000. Proceedings of IEEE Intern ational Conference on ICRA '00, vol.2, pp.995 1001 vol.2, 2000 PAGE 70 70 [14] J.J. Kuffner Jr., S.M. LaValle, "Randomized kinodynamic planning," Proceedings of the 1999 IEEE International Conference on Robotics and Automation, vol.1, pp.473 479 vol.1, 1999 [15] A. M Shkel and V. Lumelsky, "Classification of the Dubins set," Robotics and Autonomous Systems, vol. 34, pp. 179 202, 2001 [16] S.Y. Chen Y. F. Li, "Automatic sensor placement for model based robot vision," IEEE Transactions on Systems, Man, and Cybernetics Part B: Cybernetics vol.34, no.1, pp.393 408, Feb. 2004 [17] C.K. Cowan, P.D. Kovesi "Automatic sensor placement from vision task requirements," IEEE Transactions on Pattern Analysis and Machine Intelligence vol.10, no.3, pp.407 416, May 1988 [18] J. J. Kehoe, "Trajectory generation for effective sensing o f a close proximity environment Ph.D. dissertation, University of Florida, 2007. [19] D. Hsu, R. Kindel, J. C. Latombe, S. Rock. Randomized kinodynamic motion planning with moving obstacles Int Journal of Robotics Research vol. 21 no. 3 pp. 233 255, 2002 [20] B. Johnson, R. Lind, "Three Dimensional Tree Based Trajectory Planning with Highly Maneuverable Vehicles ," 49th AIAA Aerospace Sciences Meeting, Orlando, FL, January 4 7, 2011. [21] A.J. Pachikara, J.J. Kehoe and R. Lind, "A Path Parametrization Approach using Trajectory Primitives for 3 Dimensional Motion Planning," Journal of Aerospace Engineering accepted for publication, July 2011 [22] Zhijun Tang; U Ozguner "Motion planning for mul titarget surveillance with mobile sensor agents," IEEE Transactions on Robotics vol.21, no.5, pp. 898 908, Oct. 2005 [23] J. A. Fernandez et al. "Mobile robot path planning: a multicriteria approach," Engineering Applications of Artificial Intelligence vol. 12, pp. 543 554, 1999. [24] R. Robotin, G. Lazea, C. Marcu, "Graph search techniques for mobile robot path planning," in Engineering the Future L. Dudas, Ed., ed: Sciyo, 2010. [25] T.C. Hu A.B. Kahng, G. Robins, "Optimal robust path planning in ge neral environments," IEEE Transactions on Robotics and Automation vol.9, no.6, pp.775 784, Dec 1993 [26] D. Rathbun, S. Kragelund, A. Pongpunwattana, B. Capozzi, "An evolution based path planning algorithm for autonomous motion of a UAV through uncertain environments," Proceedings of the 21st Digital Avionics Systems Conference, vol.2, pp. 8D2 1 8D2 12 2002 PAGE 71 71 [27] P.B. Su jit, D. Ghose "Search using multiple UAVs with flight time constraints," IEEE Transactions on A erospace and Electronic Systems vol.40, no.2, pp. 491 509, April 2004 [28] E. Adamey, U. Ozguner "Cooperative multitarget tracking and surveillance with mobile sensing agents: A decentralized approach," 14th International IEEE Conference on Intelligent Transportation Systems (ITSC) pp.1916 1 922, 5 7 Oct. 2011 [29] R. Dechter et al. "Temporal constraint networks," Artif. Intell., vol. 49, pp. 61 95, 1991. [30] C.C. Han, K.J. Lin "Scheduling distance constrained real time tasks," Real Time Systems Symposium, 1992 pp.300 308, 2 4 Dec 1992 PAGE 72 72 BIOGRAPHICAL SKETCH Preethi Kumar is a graduate student at the University of Florida and currently works as a researcher i n the Flight Controls Lab at the university. She received her B. Tech in e lectronics and c ommunication e ngineering in 2010 from A mrita University in India, where she worked on t elecommand and t elemetry of u nmanned a erial v ehicles and concurrently served as the general secretary of the cultural club of the university. She moved to the University of Florida in 2010 and pursued an MS i n a erospace e ngineering with a minor in e lectrical e ngineering. She also works as a student assistant at the Department of Psychology at University of Florida. Preethi presented her research findings at the AIAA Regional Student Conference at Alaba ma in April 2011 and has a publication in the conference proceedings of PIERS 2010 (Progress in Electromagnetics Research Symposium), Cambridge, USA. 