140 likes | 289 Views
Nearest Neighborhood Search in Motion Planning. Lakshmi Reddy B Advisor: Nancy M. Amato Parasol lab Department of Computer Science Texas A&M University http://parasol.tamu.edu/. Motion Planning. Motion Planning Problem:.
E N D
Nearest Neighborhood Search in Motion Planning Lakshmi Reddy B Advisor: Nancy M. Amato Parasol lab Department of Computer Science Texas A&M University http://parasol.tamu.edu/
Motion Planning Motion Planning Problem: Motion planning problem can be defined as finding a collision free path between a start and goal configurations of a robot in a given C-space with obstacles lying in the C-space. Major steps in Motion Planning: 1. Node generation: Node-generator randomly generates the nodes throughout the C -space wherein each node represents the possible position of the Robot that might be attained while in motion. 2. Collision Detection: Collision detection test will filter out the collision free configurations from all the above nodes generated by node generator, and store in the road-map. e.g.: RAPID 3. Nearest neighborhood search: Neighborhood finders using various algorithms will search for possible nearest neighbors for all nodes stored in the road-map. e.g.: Brute-Force, CGAL, and MPNN 4. Connecting nodes: Nodes stored in the Road-map are connected using Local-planner. e.g.: Straight line, Rotate_AT_S. 5.Query processing: Queries are processed by connecting the initial and goal configurations to the Road-map and then finding the path in the road-map between these two connection points.
Definitions and Background K: K denotes the maximum number of nodes that to be connected by a query node to it’s neighborhood. N: N denotes the maximum number of collision-free configurations that can be generated randomly throughout the C-space by a Node-generator. ε:ε uses to extend the proximity of the query node in order to search nearest neighbors by query node. Neighborhood Finder(NF): Neighborhood finder in Motion Planning is used to find nearest neighbors using various search algorithms. Brute-Force, CGAL and MPNN are examples of NFs ;Brute-Force searches exact neighbors using sorting Algorithms while CGAL and MPNN searches approximate neighbors using Kd-tree algorithm.
Motivation PROBLEMS: 1. No consistent method exit to choose appropriate values for K, N and ε 2. Reliability and quality of the road-map is highly sensitive to the values of K, N and ε SOLUTION: After serious investigation of various environments using Brute-Force, CGAL and MPNN neighborhood finders, came up with suitable values for K, N and Epsilon in order to optimize total time taken to find nearest neighbors in a given C-space with out loosing reliability and quality of the Road-map
Choosing K and N Reasons for choosing Hook and Maze The Node generator for Hook generates approximately 1.5 times the nodes that are stored in the Road-map and is relatively simple; on the other hand Maze is a complex environment as Node-generator generates approximately 5 times the nodes stored in the Road-map. Hook and its Environment Start and Goal Configurations of the Hook Maze and its Environment Start and Goal Configuratons
Hook Parameters used for Hook: Dimensions of the Hook environment:Min X= -100 and Max X=100 Min Y= -100 and Max Y=100 Min Z= -400 and Max Z=200 Start configuration:(0,0,120, 0,0,0) Goal position:(0,0,-280, 0,0,0) Node generation method: BasicPRM Neighborhood Finder: Brute-Force, CGAL, MPNN Local Planner: Straight Line and Rotate AT S. Distance Metric: scaledEuclidean Collision Detection: RAPID Position resolution= 5.5 Orientation resolution= 0.05 Epsilon= 0.0 Nodes: 1000, 2000, 5000, 10000, 15000 and 20000 K closest: 1, 2, 4, 8, 16, 32, 64 and 128
Maze Parameters used for Maze: Dimensions of the Maze environment: Min X= -8 and Max X=7 Min Y= -16.5 and Max Y=16.5 Min Z= -9 and Max Z=11 Start position:(0,0,15, 0,0,0) Goal position:(0,0,-15, 0,0,0) Node generation method: BasicPRM Neighborhood Finder: Brute-Force, CGAL, MPNN Local Planner: Straight Line and Rotate AT S Distance Metric: scaledEuclidean Collision Detection: RAPID Position resolution= 0.12 Orientation resolution= 0.05 Epsilon= 0.0 Nodes(N ): 1000, 2000, 5000, 10000, 15000 and 20000 K closest: 1, 2, 4, 8, 16, 32, 64 and 128
Choosing N -Value – Since the dimensions of the environment are constant, for higher values of N , the environment may become congested and it will not yield expected results in some of the cases. This results in a waste of time and memory. – For lower values of N, nodes might not be deployed well throughout the C –space; if nodes are not deployed well then the Road-map will not be electively connected; The quality of the Road-map degrades and it is unable to process complex queries. – In case of MPNN, N should be greater than K at all Kd-trees, otherwise it will return an error without processing the query. – From the graphs we can say that, for higher values of N , a graph looks dynamic and for lower values of N, graph looks almost static in behaviour. – From above, feasible value for N should be neither high nor low. So, feasible value for N is 10000. Choosing K-Value – For higher values of K, MPNN may not work properly if K greater than the nodes is present in that Kd-tree. – For lower values of K, Road-map may not be efficient and might not be able to process complicated queries. – Since the dimensions of the environment are constant, for higher value of K, environment become congested and processing time increases. –A feasible value for K is 8 as it works for all values of N and for all NFs.
Choosing ε Choosing ε requires more attention and investigation. As the range of ε value itself is very small (0 to 3), the reliability and quality of the road-map is highly sensitive to the value of ε and hence it is important to chose an appropriate ε value. So we need to investigate more environments resembling real-world domain like Clutter. Least Cluttered Medium Cluttered Most Cluttered Parameters used for Clutter environment: Dimensions of the Clutter environment: Min X= -5 and Max X=5 Node generation method: BasicPRM Min Y= -4.5 and Max Y=5 Neighborhood Finder:Brute-Force, CGAL, MPNN Min Z= -10 and Max Z=10 Local Planner: Straight_Line and Rotate_AT_S Start position:(0,0,9, 0,0,0), Goal position:(0,0,-9, 0,0,0) Distance Metric: scaledEuclidean Position resolution= 0.0139705, 0.12828, and 0.113559 for least Cluttered, Collision Detection: RAPID medium Cluttered, and most Cluttered environments respectively. Nodes: 10000, K closest: 8 Orientation resolution= 0.05 for all three types of Cluttered environments. Epsilon: 0.0, 0.1, 0.2, 0.4, 0.8, 1.6 and 3.2.
Choosing ε: • ε doesn't affect Brute-Force at all and Total-time will decrease for CGAL and MPNN as we increase ε. • For higher values of ε, total-time tends to be constant for both CGAL and MPNN. • For CGAL, if ε > 0.8, the decrease in total-time is too low and graph looks almost constant. • For MPNN, if ε > 1.6, the decrease in total-time is too low and negligible.
Speed-up Speed-up: The term speed-up implies, how faster the neighborhood finders CGAL and MPNN calculate its neighborhoods than the Base neighborhood Brute-Force and mathematically it is defined as Speed-up factor = (Base Total-time/NF Total-time) The adjacent figure shows the higher speed of the CGAL and MPNN searches nearest neighbors when compared to the Brute-Force NF. So CGAL is the fastest NF followed by MPNN and then Brute-Force. Since Brute-Force is exact NF, it is more reliable than other NFs. Speed-up plot for CGAL and MPNN
Results • Using Brute-Force, N=10000 and K=8 will optimize Total-time taken to find nearest neighbors, reliability and quality of Road-map. ε will not effect Brute-Force at all. • Using CGAL, N=10000, K=8 and ε=0.8 will optimize Total-time taken to find nearest neighbors, reliability and quality of Road-map • Using MPNN, N=10000, K=8 and ε=1.6 will optimize Total-time taken to find nearest neighbors, reliability and quality of Road-map. • CGAL is the fastest NF followed by MPNN and then followed by • Brute-Force. Since CGAL is exact NF it is more reliable than the others. • CGAL is the fastest NF followed by MPNN and then followed by • Brute-Force. Since Brute-Force is exact NF it is more reliable than others
Conclusions • After serious investigation of various environments using Brute-Force, CGAL and MPNN nearest neighborhood finders suitable values for K, N and ε were determined in order to optimize total time taken to find • nearest neighbors in a given C-space with out loosing reliability and quality of the Road-map. • A comparative study and analysis of different environments has been carried out and Implemented on a single system (run on the same test environments and on the same Computer). • 1. Operating System: Linux • 2. Compiler: Emacs • 3. System name: Big-Spring, consists of 96 CPUs which subdivided • into 24 components where each single component called as • COMPUTE. • Configuration of each COMPUTE: • • Hardware: CPUs: 4 × 2.34 Ghz, Memory(RAM): 3.96 GB • • Software: Os(x86)