9/30/20161 Path Planning 15-494 Cognitive Robotics David S. Touretzky & Ethan Tira-Thompson Carnegie Mellon Spring 2012.

Slides:



Advertisements
Similar presentations
Rapidly Exploring Random Trees Data structure/algorithm to facilitate path planning Developed by Steven M. La Valle (1998) Originally designed to handle.
Advertisements

Probabilistic Roadmaps. The complexity of the robot’s free space is overwhelming.
HIGH-LEVEL ROBOT ARM MANIPULATION PRIMITIVES Thesis Proposal for the Master of Science Degree in Computer Science Presented by Glenn Nickens Advised by.
By Lydia E. Kavraki, Petr Svestka, Jean-Claude Latombe, Mark H. Overmars Emre Dirican
CSE 380 – Computer Game Programming Pathfinding AI
Motion Planning CS 6160, Spring 2010 By Gene Peterson 5/4/2010.
Dave Lattanzi’s RRT Algorithm. General Concept Use dictionaries for trees Create a randomized stack of nodes Iterate through stack “Extend” each tree.
LaValle, Steven M. "Rapidly-Exploring Random Trees A Цew Tool for Path Planning." (1998) RRT Navigation.
Kinodynamic Path Planning Aisha Walcott, Nathan Ickes, Stanislav Funiak October 31, 2001.
Iterative Relaxation of Constraints (IRC) Can’t solve originalCan solve relaxed PRMs sample randomly but… start goal C-obst difficult to sample points.
1Notes  Handing assignment 0 back (at the front of the room)  Read the newsgroup!  Planning to put 16mm films on the web soon (possibly tomorrow)
Presented by David Stavens. Manipulation Planning Before: Want to move the robot from one configuration to another, around obstacles. Now: Want to robot.
Cognitive Robotics 03/30/09 1 Manipulation By Pushing Cognitive Robotics David S. Touretzky & Ethan Tira-Thompson Carnegie Mellon Spring.
Rapidly Expanding Random Trees
Self-Collision Detection and Prevention for Humonoid Robots Paper by James Kuffner et al. Presented by David Camarillo.
Self-Collision Detection and Prevention for Humonoid Robots Paper by James Kuffner et al. Jinwhan Kim.
Providing Haptic ‘Hints’ to Automatic Motion Planners Providing Haptic ‘Hints’ to Automatic Motion Planners Burchan Bayazit Joint Work With Nancy Amato.
Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces Kavraki, Svestka, Latombe, Overmars 1996 Presented by Dongkyu, Choi.
Rising from Various Lying Postures Wen-Chieh Lin and Yi-Jheng Huang Department of Computer Science National Chiao Tung University, Taiwan.
Kinodynamic Planning Using Probabalistic Road Maps Steven M. LaValle James J. Kuffner, Jr. Presented by Petter Frykman.
Planning for Humanoid Robots Presented by Irena Pashchenko CS326a, Winter 2004.
1 Path Planning in Expansive C-Spaces D. HsuJ. –C. LatombeR. Motwani Prepared for CS326A, Spring 2003 By Xiaoshan (Shan) Pan.
Presented By: Huy Nguyen Kevin Hufford
RRT-Connect path solving J.J. Kuffner and S.M. LaValle.
CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Collision Detection and Distance Computation.
Behavior Planning for Character Animation Manfred Lau and James Kuffner Carnegie Mellon University.
Path Planning in Expansive C-Spaces D. HsuJ.-C. LatombeR. Motwani CS Dept., Stanford University, 1997.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2004 O’Rourke Chapter 8 Motion Planning.
CS 326 A: Motion Planning Collision Detection and Distance Computation.
Integrated Grasp and Motion Planning For grasping an object in a cluttered environment several tasks need to take place: 1.Finding a collision free path.
Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces Kavraki, Svestka, Latombe, Overmars 1996 Presented by Chris Allocco.
Providing Haptic ‘Hints’ to Automatic Motion Planners Providing Haptic ‘Hints’ to Automatic Motion Planners Burchan Bayazit Joint Work With Nancy Amato.
Providing Haptic ‘Hints’ to Automatic Motion Planners Providing Haptic ‘Hints’ to Automatic Motion Planners by Burchan Bayazit Department of Computer Science.
CS 326A: Motion Planning ai.stanford.edu/~latombe/cs326/2007/index.htm Collision Detection and Distance Computation.
Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces Lydia E. Kavraki Petr Švetka Jean-Claude Latombe Mark H. Overmars Presented.
NUS CS5247 Motion Planning for Humanoid Robots Presented by: Li Yunzhen.
Cognitive Robotics 03/31/08 1 Manipulation By Pushing Cognitive Robotics David S. Touretzky & Ethan Tira-Thompson Carnegie Mellon Spring.
World space = physical space, contains robots and obstacles Configuration = set of independent parameters that characterizes the position of every point.
1 CO Games Development 1 Week 6 Introduction To Pathfinding + Crash and Turn + Breadth-first Search Gareth Bellaby.
Automated human motion in constrained environments Maciej Kalisiak
Rapidly Exploring Random Trees for Path Planning: RRT-Connect
Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces (1996) L. Kavraki, P. Švestka, J.-C. Latombe, M. Overmars.
Motion Planning in Games Mark Overmars Utrecht University.
1cs426-winter-2008 Notes  Will add references to splines on web page.
Tree-Growing Sample-Based Motion Planning
School of Systems, Engineering, University of Reading rkala.99k.org April, 2013 Motion Planning for Multiple Autonomous Vehicles Rahul Kala Rapidly-exploring.
Randomized Kinodynamics Planning Steven M. LaVelle and James J
RRT-Blossom RRT with local flood-fill behavior Maciej Kalisiak DGP Laboratory University of Toronto Michiel van de Panne Imager Laboratory.
Department of Computer Science Columbia University rax Dynamically-Stable Motion Planning for Humanoid Robots Paper Presentation James J. Kuffner,
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 1 Chapter 12 Path Planning.
Randomized KinoDynamic Planning Steven LaValle James Kuffner.
Toward humanoid manipulation in human-centered environments T. Asfour, P. Azad, N. Vahrenkamp, K. Regenstein, A. Bierbaum, K. Welke, J. Schroder, R. Dillmann.
Cognitive Robotics 03/30/09 1 Manipulation and Path Planning Cognitive Robotics David S. Touretzky & Ethan Tira-Thompson Carnegie Mellon.
Chapter 3 Solving problems by searching. Search We will consider the problem of designing goal-based agents in observable, deterministic, discrete, known.
Rapidly-Exploring Random Trees
Instructor Prof. Shih-Chung Kang 2008 Spring
CS 326A: Motion Planning Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces (1996) L. Kavraki, P. Švestka, J.-C. Latombe,
Distance Computation “Efficient Distance Computation Between Non-Convex Objects” Sean Quinlan Stanford, 1994 Presentation by Julie Letchner.
On Multi-Arm Manipulation Planning
Local Search Algorithms
Search-Based Footstep Planning
Robust Belief-based Execution of Manipulation Programs
Probabilistic Roadmap Motion Planners
Sampling and Connection Strategies for Probabilistic Roadmaps
Exact Nearest Neighbor Algorithms
Configuration Space of an Articulated Robot
Local Search Algorithms
Humanoid Motion Planning for Dual-Arm Manipulation and Re-Grasping Tasks Nikolaus Vahrenkamp, Dmitry Berenson, Tamim Asfour, James Kuffner, Rudiger Dillmann.
Chapter 4 . Trajectory planning and Inverse kinematics
Separating Axis Theorem (SAT)
Presentation transcript:

9/30/20161 Path Planning Cognitive Robotics David S. Touretzky & Ethan Tira-Thompson Carnegie Mellon Spring 2012

9/30/20162 Outline ● Path planning as state space search ● RRTs: Rapidly-exploring Random Trees ● The RRT-Connect algorithm ● Collision detection ● Smoothing ● Path planning with constraints ● Path planning in Tekkotsu

9/30/20163 Path Planning in Robotics 1. Navigation path planning – How to get from the robot's current location to a goal. – Avoid obstacles. – Provide for localization. 2. Manipulation path planning – Move an arm to grasp and manipulate an object. – Avoid obstacles. – Obey constraints (e.g., don't spill the coffee).

9/30/20164 Navigation Planning ● 2D state space: (x,y) coordinates of the robot – Treat the robot as a point or a circle. ● 3D state space: (x,y,q) pose of the robot – Heading matters when the robot is asymmetric – Heading matters when the robot's motion is constrained Obstacle inflation

9/30/20165 Cspace Transform ● The area around an obstacle that would cause a collision with the robot. Robot Obstacle Cspace Figure Mason, Mechanics Of Robotic Manipulation

9/30/20166 Arm Path Planning ● Cspace transform blocks out regions of joint space Figure Mason, Mechanics Of Robotic Manipulation

9/30/20167 State Space Search The path planning problem: given an n-dimensional state space and ● a start state S=[s 1,s 2,...,s n ] ● a goal state G=[g 1,g 2,...,g n ] ● an admissibility predicate P (collision test + constraints) find a path from S to G such that every state on the path satisfies P.

9/30/20168 Best First Search ● Can get trapped in a cul de sac for a long time. ● Random search might be faster. SG

9/30/20169 Rapidly-exploring Random Trees ● Described in LaValle (1998), Kuffner & LaValle (2000) ● Create a tree with start state S as the root. ● Repeat up to K times: – Pick a point q in configuration space: ● Sometimes q should be a random point ● Sometimes q should be the goal state G – Find n, the closest tree node to q – Add a new node n' some distance D toward q; make it a child of n – If n' is close enough to the goal state G, return.

9/30/ RRT Algorithm ● Rapidly samples the state space. ● Cannot get trapped in local minima. ● Works well in high-dimensional spaces. ● Does not generate smooth paths. ● Can't tell when no solution exists; only quits when it exceeds the iteration limit K.

9/30/ RRTs for Arm Path Planning ● Each node encodes an arm configuration. ● Only add nodes that don't cause collisions (with self or obstacles). ● Alternately extend the tree in random directions and move toward the goal. Slide courtesy of Glenn Nickens

9/30/ Implementation Notes ● Finding n, the nearest node in the tree to q, is the most expensive part of the algorithm. – Use K-D trees to efficiently find n? – In practice, K-D trees are slower unless you have a huge number of nodes (several thousand). ● Why only go a distance D toward the goal state G? Why not go as far as we can, in steps of D? – With no obstacles, this reaches the goal very quickly, but random search will get there nearly as quickly as we keep extending the nearest node to the goal. – But when obstacles are present, this can waste time filling out branches that will ultimately fail. – Generating lots of extra nodes bloats the tree, which slows down the algorithm.

9/30/ RRT-Connect Algorithm ● Variant of RRT that grows two trees: – one from the start state toward the goal – one from the goal state toward the start ● When the two trees connect, a solution has been found. ● Not guaranteed to be better than RRT, but often helps.

9/30/ RRTs in the VeeTags World

9/30/ RRT-Connect For Arms Slide courtesy of Glenn Nickens

9/30/ Collision Detection ● Represent the robot and the obstacles as convex polygons. ● In 2D, use the Separating Axis Theorem to check for collisions. – Easy to code – Fast to compute ● In 3D, things get more complex. – Tekkotsu uses the GJK (Gilbert-Johnson-Keerthi) algorithm, used in many physics engines for video games.

9/30/ Separating Axis Theorem “If two convex polygons don't overlap, then there exists a line, parallel to one of their edges that separates them.”

9/30/ Separating Axis Theorem

9/30/ Algorithm to Apply the SAT ● For every edge of polygon A and of polygon B: – Project all the vertices onto the line normal to that edge. – Calculate the min and max coordinates for each polygon – If minA minB OR if minB minA then the polygons collide. ● If no range overlap is found for any projection, then the polygons do not collide.

9/30/ Arm Collision Detection ● Represent each link as a separate polygon. ● Check for: – Self-collisions other than link n with link n+1 – Collisions of a link with an obstacle

9/30/ Path Smoothing ● The random component of RRT-Connect search often results in a jerky and meandering solution. ● Solution: apply a path smoothing algorithm. ● Repeat N times: – Pick two points on the path at random – See if we can linearly interpolate between those points without collisions. – If so, then snip out that segment of the path.

9/30/ Smoothing An Arm Trajectory Slide courtesy of Glenn Nickens ● Start state ● Intermed. states ● End state Smoothed version Original

9/30/ Path Planning With Constraints ● With no closeable fingers, arm motion is constrained to be within about 60 o of finger direction or we'll lose the object. (video) a

9/30/ Implementing Constraints ● Each time we generate a new state n': – Check to see if n' obeys the constraint – For finger motion constraint, check if the direction of motion from parent state n to new state n' is within 60 o of the finger direction. ● What if n' doesn't obey the constraint? – Reject it and generate a new random q. – Or try to “fix” it by perturbing its value slightly so as to satisfy the constraint.

9/30/ RRTs in Tekkotsu ● Tekkotsu/Planners/RRT/GenericRRT.h ● Works for any state space ● class RRTNodeBase – Subclass this to create a NodeValue_t to describe q – Define a CollisionChecker class ● class GenericRRT – Instantiate this template to create an RRT planner – NODE must be a subclass of RRTNodeBase – Define an AdmissibilityPredicate class – Define the extend(...) method to extend the tree

9/30/ Planners in Tekkotsu ● Navigation/ShapeSpacePlannerXY – 2D navigation planner ● Navigation/ShapeSpacePlannerXYTheta – 2D + heading navigation planner ● Manipulation/ShapeSpacePlanner2DR – 2D planner for N-joint planar arm with revolute joints ● Manipulation/ShapeSpacePlanner3DR – 3D planner for N-joint planar arm with revolute joints

9/30/ The Grasper ● Does arm path planning – Currently only for planar arms – 3D arm path planning coming soon ● Does manipulation planning – How to grasp an object – How to move an object without losing it – How to release an object ● Many other manipulation operations are possible.