Search-based Planning Library SBPL. Maxim Likhachev Robotics Institute Carnegie Mellon University

Similar documents
Search-based Planning with Motion Primitives. Maxim Likhachev Carnegie Mellon University

Planning, Execution and Learning Application: Examples of Planning for Mobile Manipulation and Articulated Robots

3D Collision Avoidance for Navigation in Unstructured Environments

Planning & Decision-making in Robotics Case Study: Planning for Autonomous Driving

Sub-optimal Heuristic Search and its Application to Planning for Manipulation

Sub-Optimal Heuristic Search ARA* and Experience Graphs

CSE-571. Deterministic Path Planning in Robotics. Maxim Likhachev 1. Motion/Path Planning. Courtesy of Maxim Likhachev University of Pennsylvania

Humanoid Robotics. Path Planning and Walking. Maren Bennewitz

Navigation in Three-Dimensional Cluttered Environments for Mobile Manipulation

Cognitive Robotics Robot Motion Planning Matteo Matteucci

Navigation in Three-Dimensional Cluttered Environments for Mobile Manipulation

Planning, Execution and Learning Heuristics and Multi-Heuristic A*

Robot Motion Control Matteo Matteucci

Visual Navigation for Flying Robots. Motion Planning

Discrete Motion Planning

Trajectory Optimization

Autonomous Navigation of Humanoid Using Kinect. Harshad Sawhney Samyak Daga 11633

Task-Oriented Planning for Manipulating Articulated Mechanisms under Model Uncertainty. Venkatraman Narayanan and Maxim Likhachev

Computer Game Programming Basic Path Finding

ECE276B: Planning & Learning in Robotics Lecture 5: Configuration Space

Anytime Incremental Planning with E-Graphs

Planning with Experience Graphs

Search-Based Planning with Provable Suboptimality Bounds for Continuous State Spaces

Jane Li. Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute

Motion Planning for Robotic Manipulators with Independent Wrist Joints

Path Planning for Non-Circular Micro Aerial Vehicles in Constrained Environments

Autonomous and Mobile Robotics. Whole-body motion planning for humanoid robots (Slides prepared by Marco Cognetti) Prof.

ANA*: Anytime Nonparametric A*

Learning to Guide Random Tree Planners in High Dimensional Spaces

Master s Thesis: Real-Time Object Shape Perception via Force/Torque Sensor

A Single Planner for a Composite Task of Approaching, Opening and Navigating through Non-spring and Spring-loaded Doors

Robot Motion Planning

Planning & Decision-making in Robotics Planning Representations/Search Algorithms: RRT, RRT-Connect, RRT*

Applications of Experience Graphs in Humanoid Motion Planning

Lecture: Autonomous micro aerial vehicles

Computational Geometry csci3250. Laura Toma. Bowdoin College

Efficient Extensible Path Planning on 3D Terrain Using Behavior Modules

Sung-Eui Yoon ( 윤성의 )

Motion Planning for Smooth Pickup of Moving Objects

Spring 2010: Lecture 9. Ashutosh Saxena. Ashutosh Saxena

James Kuffner. The Robotics Institute Carnegie Mellon University. Digital Human Research Center (AIST) James Kuffner (CMU/Google)

Humanoid Robotics. Inverse Kinematics and Whole-Body Motion Planning. Maren Bennewitz

Efficient Cost Computation in Cost Map Planning for Non-Circular Robots

Anytime Path Planning and Replanning in Dynamic Environments

Basic Motion Planning Algorithms

Humanoid Robotics. Inverse Kinematics and Whole-Body Motion Planning. Maren Bennewitz

R* Search. Anthony Stentz The Robotics Institute Carnegie Mellon University Pittsburgh, PA

Dynamic Multi-Heuristic A*

CMU Amazon Picking Challenge

Configuration Space of a Robot

Search-based Planning for Dual-arm Manipulation with Upright Orientation Constraints

Non-holonomic Planning

Mobile Manipulator Design

Angelic Hierarchical Planning. Bhaskara Marthi Stuart Russell Jason Wolfe Willow Garage UC Berkeley UC Berkeley

Planning Long Dynamically-Feasible Maneuvers for Autonomous Vehicles

Boundary Layer Heuristic for Search-Based Nonholonomic Path Planning in Maze-Like Environments

Approximate path planning. Computational Geometry csci3250 Laura Toma Bowdoin College

Geometric Path Planning McGill COMP 765 Oct 12 th, 2017

Introduction to Mobile Robotics Path Planning and Collision Avoidance

Planning and Control: Markov Decision Processes

15-494/694: Cognitive Robotics

Introduction to Information Science and Technology (IST) Part IV: Intelligent Machines and Robotics Planning

Written exams of Robotics 2

Motion Planning for a Point Robot (2/2) Point Robot on a Grid. Planning requires models. Point Robot on a Grid 1/18/2012.

Planning in Domains with Cost Function Dependent Actions

Learning to Plan for Constrained Manipulation from Demonstrations

ANA*: Anytime Nonparametric A*

Depth Space Collision Detection for Motion Planning

Introduction to Robotics

Real-Time Footstep Planning in 3D Environments

Experience Graphs: Leveraging Experience in Planning

Whole-Body Motion Planning for Manipulation of Articulated Objects

Advanced Robotics Path Planning & Navigation

Lecture 3: Motion Planning 2

Path Planning in Dynamic Environments with Adaptive Dimensionality

Integrated Perception, Mapping, and Footstep Planning for Humanoid Navigation Among 3D Obstacles

Planning, Execution and Learning Application: Examples of Planning in Perception

Combining Global and Local Planning with Guarantees on Completeness

Algorithmic Robotics and Motion Planning

PATH PLANNING IMPLEMENTATION USING MATLAB

Path Planning With Adaptive Dimensionality

Using Previous Experience for Humanoid Navigation Planning

Dependency Tracking for Fast Marching. Dynamic Replanning for Ground Vehicles

A Constraint-Aware Motion Planning Algorithm for Robotic Folding of Clothes

Anytime search in dynamic graphs

Path Planning. Marcello Restelli. Dipartimento di Elettronica e Informazione Politecnico di Milano tel:

Motion Planning for Humanoid Robots

SPATIAL GUIDANCE TO RRT PLANNER USING CELL-DECOMPOSITION ALGORITHM

Comparative Study of Potential Field and Sampling Algorithms for Manipulator Obstacle Avoidance

Introduction to Mobile Robotics Path Planning and Collision Avoidance. Wolfram Burgard, Maren Bennewitz, Diego Tipaldi, Luciano Spinello

Anytime Tree-Restoring Weighted A* Graph Search

E-Graphs: Bootstrapping Planning with Experience Graphs

Workspace-Guided Rapidly-Exploring Random Tree Method for a Robot Arm

Hierarchical Optimization-based Planning for High-DOF Robots

Path Planning for Point Robots. NUS CS 5247 David Hsu

MEAM 620 Part II Introduction to Motion Planning. Peng Cheng. Levine 403,GRASP Lab

Planning Techniques for Robotics Planning Representations: Skeletonization- and Grid-based Graphs

Sampling-Based Robot Motion Planning. Lydia Kavraki Department of Computer Science Rice University Houston, TX USA

16-662: Robot Autonomy Project Bi-Manual Manipulation Final Report

A Multi-Heuristic framework for Humanoid Planning

Transcription:

Search-based Planning Library SBPL Maxim Likhachev Robotics Institute Carnegie Mellon University

Outline Overview Few SBPL-based planners in details - 3D (x,y,θ) lattice-based planning for navigation (available as ROS node or standalone within SBPL) - single and dual 7DOF arm motion planning using manipulation lattice (available as ROS node) Pros/Cons Maxim Likhachev 2

Outline Overview Few SBPL-based planners in details - 3D (x,y,θ) lattice-based planning for navigation (available as ROS node or standalone within SBPL) - single and dual 7DOF arm motion planning using manipulation lattice (available as ROS node) Pros/Cons Maxim Likhachev 3

Search-based Planning Library (SBPL) A library for planning with heuristic search (e.g., A* search and its variants) Standalone library and integrated into ROS Compiles under linux and windows http://www.sbpl.net/software or http://www.ros.org/wiki/sbpl Maxim Likhachev 4

Planning with Heuristic Search generate a systematic graph representation of the planning problem search the graph for a solution with a heuristic search typically the construction of the graph is interleaved with the search (i.e., only create the states/edges that search explores) 2D grid-based graph representation for 2D (x,y) search-based planning: discretize: construct the graph: search the graph for solution: lattice-based graph representation for 3D (x,y,θ) planning: construct the graph: search the graph for solution: motion primitives Maxim Likhachev 5

Planning with Heuristic Search Typical components of a Search-based Planner - Graph construction (given a state what are its successor states) - Cost function (a cost associated with every transition in the graph) - Heuristic function (estimates of cost-to-goal) - Graph search algorithm (for example, A* search) Maxim Likhachev 6

Planning with Heuristic Search Typical components of a Search-based Planner - Graph construction (given a state what are its successor states) - Cost function (a cost associated with every transition in the graph) - Heuristic function (estimates of cost-to-goal) - Graph search algorithm (for example, A* search) domain dependent domain independent Maxim Likhachev 7

Planning with Heuristic Search Typical components of a Search-based Planner - Graph construction (given a state what are its successor states) - Cost function (a cost associated with every transition in the graph) - Heuristic function (estimates of cost-to-goal) - Graph search algorithm (for example, A* search) domain dependent Environment defining the planning problem as a graph SBPL Library domain independent Domain-independent graph search Maxim Likhachev 8

Planning with Heuristic Search Implements: Typical Successors/Predecessors components of a of Search-based a state; Planner Transition cost; State heuristic - Graph construction (given a state what are its successor states) - Cost function (a cost associated with every transition in the graph) - Heuristic function (estimates of cost-to-goal) - Graph search algorithm (for example, A* search) Implements: Graph search (e.g, A*, D*, ARA*, etc.) domain dependent Environment defining the planning problem as a graph SBPL Library domain independent Domain-independent graph search Maxim Likhachev 9

Planning with Heuristic Search Implements: Typical Successors/Predecessors components of a of Search-based a state; Planner Transition cost; State heuristic - Graph construction (given a state what are its successor states) Memory allocated onthe-fly only for states visited by search - Cost function (a cost associated with every transition in the graph) - Heuristic function (estimates of cost-to-goal) - Graph search algorithm (for example, A* search) Environment defining the planning problem as a graph All communications happen via state IDs (no domain information) SBPL Library Implements: Graph search (e.g, A*, D*, ARA*, etc.) domain independent Domain-independent graph search domain dependent Maxim Likhachev 10

Search-based Planning Library (SBPL) Usage of SBPL: - build a planner using existing components to run on a robot - plugin and test your own graph search - develop and plugin an environment for your specific planning problem representable as a graph search problem Planning module - receives map, pose and goal updates - updates environment with new map - calls graph search to re-plan Environment defining the planning problem as a graph SBPL Library Domain-independent graph search Maxim Likhachev 11

Search-based Planning Library (SBPL) Currently implemented graph searches within SBPL: - ARA* - anytime version of A* - ANA* - anytime non-parametric version of A* - Anytime D* - anytime incremental version of A* - R* - a randomized version of A* (hybrid between deterministic searches and samplingbased planning) Currently implemented environments (planning problems) within SBPL: - 2D (x,y) grid-based planning problem - 3D (x,y,θ) lattice-based planning problem - 3D (x,y,θ) lattice-based planning problem with full-body collision checking - N-DOF planar robot arm planning problem ROS packages that use SBPL: - SBPL lattice planner for (x,y,θ) planning for navigation - SBPL lattice planner for (x,y,θ) planning for navigation with full-body collision checking - SBPL cart planner for PR2 navigating with a cart - SBPL motion planner for PR2 single- and dual-arm motions - default move_base invokes SBPL lattice planner as part of escape behavior - SBPL door planning module for PR2 opening and moving through doors - SBPL footstep planner for humanoids (by Armin Hornung at Univ. of Freiburg) Maxim Likhachev 12

Search-based Planning Library (SBPL) Main.cpp shows simple examples for how to use SBPL: EnvironmentNAVXYTHETALAT environment_navxythetalat; if(!environment_navxythetalat.initializeenv(argv[1], perimeterptsv, NULL)) { SBPL_ERROR("ERROR: InitializeEnv failed\n"); throw new SBPL_Exception(); } if(!environment_navxythetalat.initializemdpcfg(&mdpcfg)) { SBPL_ERROR("ERROR: InitializeMDPCfg failed\n"); throw new SBPL_Exception(); } //plan a path vector<int> solution_stateids_v; bool bforwardsearch = false; ADPlanner planner(&environment_navxythetalat, bforwardsearch); if(planner.set_start(mdpcfg.startstateid) == 0) { SBPL_ERROR("ERROR: failed to set start state\n"); throw new SBPL_Exception(); } if(planner.set_goal(mdpcfg.goalstateid) == 0) { SBPL_ERROR("ERROR: failed to set goal state\n"); throw new SBPL_Exception(); } planner.set_initialsolution_eps(3.0); bret = planner.replan(allocated_time_secs, &solution_stateids_v); SBPL_PRINTF("size of solution=%d\n",(unsigned int)solution_stateids_v.size()); Maxim Likhachev 13

Outline Overview Few SBPL-based planners in details - 3D (x,y,θ) lattice-based planning for navigation (available as ROS node or standalone within SBPL) - single and dual 7DOF arm motion planning using manipulation lattice (available as ROS node) Pros/Cons Maxim Likhachev 14

3D (x,y,θ) Planning for Navigation sbpl_lattice_planner in ROS environment_navxythe talat.cpp/.h SBPL Library Domain-independent graph search Maxim Likhachev 15

3D (x,y,θ) Planning for Navigation Environment: - graph constructed using motion primitives [Pivtoraiko & Kelly, IROS 05] outcome state is the center of the corresponding cell in the underlying (x,y,θ, ) cell each transition is feasible (constructed beforehand) set of motion primitives pre-computed for each robot orientation (action template) replicate it online by translating it Maxim Likhachev 16

3D (x,y,θ) Planning for Navigation Environment: - graph constructed using motion primitives [Pivtoraiko & Kelly, IROS 05] - takes set of motion primitives as input (.mprim files generated within matlab/mprim directory using corresponding matlab scripts): unicycle model or unicycle with sideways motions or Maxim Likhachev 17

3D (x,y,θ) Planning for Navigation Environment: - graph constructed using motion primitives [Pivtoraiko & Kelly, 05] - takes set of motion primitives as input (.mprim files generated within matlab/mprim directory using corresponding matlab scripts) - takes the footprint of the robot defined as a polygon as input Maxim Likhachev 18

3D (x,y,θ) Planning for Navigation Graph search: - typically ARA* (anytime version of A*) or Anytime D* (anytime incremental version of A*) sbpl_lattice_planner in ROS environment_navxythe talat.cpp/.h SBPL Library Domain-independent graph search Maxim Likhachev 19

3D (x,y,θ) Planning for Navigation Planning with full-body collision checking (3d_navigation node in ROS) Hornung et al., ICRA 12 Maxim Likhachev 20

Outline Overview Few SBPL-based planners in details - 3D (x,y,θ) lattice-based planning for navigation (available as ROS node or standalone within SBPL) - single and dual 7DOF arm motion planning using manipulation lattice (available as ROS node) Pros/Cons Maxim Likhachev 21

Single- and Dual-arm Motion Planning Environment: - graph constructed using static & adaptive motion primitives for the arm(s) [Cohen et al., ICRA 11] - heuristic for any state is 3D distance for end-effector accounting for obstacles (computed as 3D BFS) [Cohen et al., ICRA 11] sbpl_arm_planner in ROS environment_robarm3d. cpp SBPL Library Domain-independent graph search Maxim Likhachev 22

Single- and Dual-arm Motion Planning Graph search: - typically ARA* (anytime version of A* search) sbpl_arm_planner in ROS environment_robarm3d. cpp SBPL Library Domain-independent graph search Maxim Likhachev 23

Single- and Dual-arm Motion Planning Planning for PR2 and KUKA arms [Cohen et al., ICRA 12] work led by Cohen & Cowley; joint work with CJ Taylor joint work Stentz, Herman, Galati, Kelly, Meyhofer, etc. at NREC/CMU Maxim Likhachev 24

Outline Overview Few SBPL-based planners in details - 3D (x,y,θ) lattice-based planning for navigation (available as ROS node or standalone within SBPL) - single and dual 7DOF arm motion planning using manipulation lattice (available as ROS node) Pros/Cons Maxim Likhachev 25

Motion Planning with Heuristic Search Pros - typically good cost minimization - consistent motions - handle discrete transitions naturally Cons - can be slow if heuristic function has deep local minima - designing a good but fast-to-compute heuristic function is important - designing and coding up a compact graph representation can be non-trivial Maxim Likhachev 26

http://www.sbpl.net/software or http://www.ros.org/wiki/sbpl Thanks to Willow Garage for their support of SBPL! Collaborators on SBPL: S. Chitta, B. Cohen, M. Phillips Maxim Likhachev 27