870 likes | 1.03k Views
Randomized Motion Planning: From Intelligent CAD to Digital Actors to Protein Folding . Nancy M. Amato Department of Computer Science Texas A&M University http://www.cs.tamu.edu/faculty/amato/. (Basic) Motion Planning (in a nutshell):
E N D
Randomized Motion Planning: From Intelligent CAD to Digital Actors to Protein Folding Nancy M. Amato Department of Computer Science Texas A&M University http://www.cs.tamu.edu/faculty/amato/
(Basic) Motion Planning (in a nutshell): Given a movableobject, find a sequence of valid configurations that moves the object from the start to the goal. The Alpha Puzzle: A MP Benchmark Objective: Separate the two tubes, one is the ‘robot’ the other is an ‘obstacle’. start goal obstacles Motion Planning
A (Dis)Assembly Problem: The Pentamino Puzzle Maintainability Problems: Mechanical Designs from GE find part removal path Hard Motion Planning Problems:Intelligent CAD Applications Using Motion Planning to Test Design Requirements: Requirements, such as accessibility for servicing or assembly, were tested with physical “mock ups”. Digital testing saves time and costs, is more accurate, and enables more extensive testing.
Hard Motion Planning Problems - Highly Articulated (Constrained) Systems Paper Folding Polyhedron: 25 dof Soccer Ball: 31 dof • Digital Actors • Closed chain constraint
Hard Motion Planning Problems:Deformable Objects Given a deformable object, find a path for the object that can be transformed into a collision free path by deforming the object.
Hard Motion Planning Problems:Flocking: Covering, Homing, Shepherding
Hard Motion Planning Problems- computational biology & chemistry • Drug Design • molecule docking Protein Folding - find folding pathways
Outline • C-space, Planning in C-space (basic definitions) • Probabilistic Roadmap Methods (PRMs) • PRM variants (OBPRM, MAPRM) • User-Input: Haptically Enhanced PRMs • PRMs for more `complex’ robots • deformable objects • flocking behaviors • Computational Biology: protein folding & ligand binding • Other Projects & Future Work • Neuron PRM - using PRM framework to construct cortical networks! • Mobile Robot Navigation and Localization – more PRMs
C-obst C-obst C-obst C-obst C-obst g b a 3D C-space (a,b,g) Configuration Space (C-Space) C-Space • “robot” maps to a point in higher • dimensional space • parameter for each degree of freedom • (dof) of robot • C-space = set of all robot placements • C-obstacle = infeasible robot placements 3D C-space (x,y,z) 6D C-space (x,y,z,pitch,roll,yaw) 2n-D C-space (f1,y1, f2, y2, . . . , f n, y n)
Path is swept volume Path is 1D curve Motion Planning in C-space Simple workspace obstacle transformed Into complicated C-obstacle!! C-space Workspace C-obst C-obst obst obst C-obst C-obst obst obst y x robot robot
The Complexity of Motion Planning Most motion planning problems of interest are PSPACE-hard[Reif 79, Hopcroft et al. 84 & 86] • The best deterministic algorithm known has running time that is exponential in the dimension of the robot’s C-space [Canny 86] • C-space has high dimension - 6D for rigid body in 3-space • simple obstacles have complex C-obstacles impractical to compute explicit representation of freespace for more than 4 or 5 dof • So … attention has turned to randomized algorithms which • trade full completeness of the planner • for probabilistic completeness and a major gain in efficiency
goal 1. Randomly generate robot configurations (nodes) - discard nodes that are invalid 2. Connect pairs of nodes to form roadmap - simple, deterministic local planner (e.g., straightline) - discard paths that are invalid Query processing start 1. Connect start and goal to roadmap 2. Find path in roadmap between start and goal - regenerate plans for edges in roadmap Probabilistic Roadmap Methods (PRMs)[Kavraki, Svestka, Latombe,Overmars 1996] C-space Roadmap Construction (Pre-processing) C-obst C-obst C-obst C-obst C-obst
goal PRMs: The Good News C-obst 1. PRMs are probabilistically complete 2. PRMs apply easily to high-dimensional C-space 3. PRMs support fast queries w/ enough preprocessing Many success stories where PRMs solve previously unsolved problems C-obst C-obst C-obst C-obst start goal PRMs: The Bad News C-obst C-obst • 1. PRMs don’t work as well for some problems: • unlikely to sample nodes in narrow passages • hard to sample/connect nodes on constraint surfaces • Our work concentrates on improving PRM performance for such problems. C-obst C-obst start PRMs: Pros & Cons
Related Work • Probabilistic Roadmap Methods • Uniform Sampling (original) [Kavraki, Latombe, Overmars, Svestka, 92, 94, 96] • Analysis of Basic PRM [Kavraki/Latombe/Motwani/Raghavan 98] • PRM Roadmaps in Dilated Free space [Hsu et al, 98] • Gaussian Sampling PRMs [Boor/Overmars/van der Steppen 99] • PRM for Closed Chain Systems [Lavalle/Yakey/Kavraki 99] • PRM for Flexible Objects [Kavraki/Lamireaux/Holleman 98] • Visibility Roadmaps [Laumond et al 99] • Using Medial Axis of Workspace [Kavraki et al 99, Lin/Manocha et al 00] • Generating Contact Configurations [Xiao et al 99] • Related Methods • Ariadnes Clew Algorithm [Ahuactzin et al, 92] • RRT (Rapidly Exploring Random Trees) [Lavalle/Kuffner 99]
Smarter Sampling Methods • Goal: Sample nodes in Narrow Passages • OBPRM: Obstacle-Based PRM • MAPRM: Medial-Axis PRM
goal goal OBPRM Roadmap C-obst C-obst C-obst C-obst C-obst C-obst C-obst C-obst start start • Idea: Can we sample nodes near C-obstacle surfaces? • we cannot explicitly construct the C-obstacles... • we do have models of the (workspace) obstacles... OBPRM: An Obstacle-Based PRM[IEEE ICRA’96, IEEE ICRA’98, WAFR’98] • To Navigate Narrow Passages we must sample in them • most PRM nodes are where planning is easy (not needed) PRM Roadmap
2 3 4 5 1 OBPRM: Finding Points on C-obstacles Basic Idea (for workspace obstacle S) 1. Find a point in S’s C-obstacle (robot placement colliding with S) 2. Select a random direction in C-space 3. Find a free point in that direction 4. Find boundary point between them using binary search (collision checks) Note: we can use more sophisticated heuristics to try to cover C-obstacle C-obst
OBPRM for Paper FoldingAnimations - some difficult examples Box: 12 => 5 dof Periscope: 11 dof • Roadmap Statistics • 218 nodes, 3 sec • Roadmap Statistics • 450 nodes, 6 sec
Medial axis MAPRM: Medial-Axis PRM[IEEE ICRA’99, ACM SoCG’99] • Key Observation: We can efficiently retract almost any configuration, free or not, onto the medial axis of the free space without computing the medial axis explicitly. • Basic Retraction Approach • sample point c in C-Space • find closest C-obst boundary b • if c in collision, push past b until free • push c away from b until have two closest points (on medial axis now) C-obstacle
Probability PRM node in corridor PRM (uniform sampling) C-obstacle Probability MAPRM node in corridor • where maps colliding nodes to closest boundary point MAPRM C-obstacle MAPRM: Significance Theorem: Sampling and retracting can increase the #nodes in narrow corridors in a way that is independent of the corridor’s volume (depends on volume that bounds corridor).
MAPRM: Current Status • Approximate method implemented for higher dimensional C-spaces • Methods to compute, approximately: • clearance in C-space • penetration depth in C-space • Now our method of choice for most applications
pushed path generated by planner approximate path generated by user Hybrid Human/Planner System[IEEE ICRA’01, IEEE ICRA’00, PUG’99] Automatic planners are good, but… • Planner creates initial roadmap • User collectsapproximate path P(has collisions) • a haptic device is ideal for this • Planner fixes P (pushes to C-free) • techniques inspired by OBPRM ideal for this • Sometimes can’t find critical configurationsobvious to the user Enhancing PRMs with Haptic Hints C-obstacle C-obstacle
Haptic Interaction: Collecting Paths PHANToM • 1. User attaches haptic device to robot, and moves it around • user feels when robot touches obstacles and adjusts trajectory • 2. Robot configurations sampled and passed to planner • Current Applications • Intelligent CAD Applications • Molecule Docking in drug design • Animation w/ Deformable Models
Haptic Hints: Results 0.85 0.95 1 Flange Problem
Deformable Objects Problem: Given a deformable object, find a path for the object so that it can achieve the goal by deforming on the way. • Our Approach: • Find a path for a rigid version of robot (may have collisions) • Deform the robot to avoid the collisions
Goal Given an object which can deform Find a path taking object from start to goal. The object is allowed to deform to avoid collision. Original Problem Goal Robot Start
Goal Given an object which can deform Find a path taking object from start to goal. The object is allowed to deform to avoid collision. Original Problem
Goal Given an object which can deform Find a path taking object from start to goal. The object is allowed to deform to avoid collision. Original Problem
Goal Given an object which can deform Find a path taking object from start to goal. The object is allowed to deform to avoid collision. Original Problem
Goal Given an object which can deform Find a path taking object from start to goal. The object is allowed to deform to avoid collision. Original Problem
Goal Given an object which can deform Find a path taking object from start to goal. The object is allowed to deform to avoid collision. Original Problem
Goal Given an object which can deform Find a path taking object from start to goal. The object is allowed to deform to avoid collision. Original Problem
Goal Given an object which can deform Find a path taking object from start to goal. The object is allowed to deform to avoid collision. Original Problem
Goal Given an object which can deform Find a path taking object from start to goal. The object is allowed to deform to avoid collision. Original Problem
Goal Given an object which can deform Find a path taking object from start to goal. The object is allowed to deform to avoid collision. Original Problem
Goal Given an object which can deform Find a path taking object from start to goal. The object is allowed to deform to avoid collision. Original Problem
Goal Given an object which can deform Find a path taking object from start to goal. The object is allowed to deform to avoid collision. Original Problem
Goal Given an object which can deform Find a path taking object from start to goal. The object is allowed to deform to avoid collision. Original Problem Deformable Version
Goal Given an object which can deform Find a path taking object from start to goal. The object is allowed to deform to avoid collision. Original Problem Deformable Version
Goal Given an object which can deform Find a path taking object from start to goal. The object is allowed to deform to avoid collision. Original Problem Deformable Version
Goal Given an object which can deform Find a path taking object from start to goal. The object is allowed to deform to avoid collision. Original Problem Deformable Version
Goal Given an object which can deform Find a path taking object from start to goal. The object is allowed to deform to avoid collision. Original Problem Deformable Version
Goal Given an object which can deform Find a path taking object from start to goal. The object is allowed to deform to avoid collision. Original Problem Deformable Version
Goal Given an object which can deform Find a path taking object from start to goal. The object is allowed to deform to avoid collision. Original Problem Deformable Version
Goal Given an object which can deform Find a path taking object from start to goal. The object is allowed to deform to avoid collision. Original Problem Deformable Version
Goal Given an object which can deform Find a path taking object from start to goal. The object is allowed to deform to avoid collision. Original Problem Deformable Version
Goal Given an object which can deform Find a path taking object from start to goal. The object is allowed to deform to avoid collision. Original Problem Deformable Version
Approximate Solution • Build roadmap, relaxing collision free requirement • Enable Penetration • Use approximate C-Space penetration • Use scaled robots • More than one scaled model. • Smaller (Bigger ) model needs more (less) deformation. 2. Extract Approximate Path • may not be feasible for the rigid robot
Approximate Solution The approximate path returned is not the shortest path but the energetically most feasible path (less deformation required) Query
Deformed ChainMail Bounding Box Apply FFD ChainMail Box Obstacle Improving SolutionBounding Box Deformation • Bounding Box Deformation • build a 3D voxel bounding box. • Convert it to ChainMail bounding box (3D grid of springs) • Deform ChainMail Bounding box. • Deform objects using Free Form Deformation based of • deformation of the bounding box.