Probabilistic Methods for Kinodynamic Path Planning

Similar documents
Configuration Space of a Robot

Sampling-based Planning 2

Algorithms for Sensor-Based Robotics: Sampling-Based Motion Planning

Introduction to State-of-the-art Motion Planning Algorithms. Presented by Konstantinos Tsianos

Robot Motion Planning

Non-holonomic Planning

Robot Motion Control Matteo Matteucci

Lecture Schedule Week Date Lecture (W: 3:05p-4:50, 7-222)

Spring 2010: Lecture 9. Ashutosh Saxena. Ashutosh Saxena

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

Path Planning. Jacky Baltes Dept. of Computer Science University of Manitoba 11/21/10

Algorithms for Sensor-Based Robotics: Sampling-Based Motion Planning

CS Path Planning

6.141: Robotics systems and science Lecture 10: Implementing Motion Planning

Sung-Eui Yoon ( 윤성의 )

6.141: Robotics systems and science Lecture 10: Motion Planning III

Autonomous Mobile Robots, Chapter 6 Planning and Navigation Where am I going? How do I get there? Localization. Cognition. Real World Environment

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

Robotics Tasks. CS 188: Artificial Intelligence Spring Manipulator Robots. Mobile Robots. Degrees of Freedom. Sensors and Effectors

6.141: Robotics systems and science Lecture 9: Configuration Space and Motion Planning

CS 4649/7649 Robot Intelligence: Planning

Local Search Methods. CS 188: Artificial Intelligence Fall Announcements. Hill Climbing. Hill Climbing Diagram. Today

Cognitive Robotics Robot Motion Planning Matteo Matteucci

Geometric Path Planning McGill COMP 765 Oct 12 th, 2017

Visual Navigation for Flying Robots. Motion Planning

Advanced Robotics Path Planning & Navigation

Planning in Mobile Robotics

Robot Motion Planning

Announcements. CS 188: Artificial Intelligence Fall Robot motion planning! Today. Robotics Tasks. Mobile Robots

CS 188: Artificial Intelligence Fall Announcements

Visibility Graph. How does a Mobile Robot get from A to B?

Autonomous and Mobile Robotics Prof. Giuseppe Oriolo. Motion Planning 1 Retraction and Cell Decomposition

Approximate path planning. Computational Geometry csci3250 Laura Toma Bowdoin College

Vehicle Motion Planning with Time-Varying Constraints

Final Report: Dynamic Dubins-curve based RRT Motion Planning for Differential Constrain Robot

10/11/07 1. Motion Control (wheeled robots) Representing Robot Position ( ) ( ) [ ] T

Sampling-Based Motion Planning

A Reduced-Order Analytical Solution to Mobile Robot Trajectory Generation in the Presence of Moving Obstacles

Mobile Robot Path Planning in Static Environments using Particle Swarm Optimization

SPATIAL GUIDANCE TO RRT PLANNER USING CELL-DECOMPOSITION ALGORITHM

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

Nonholonomic motion planning for car-like robots

Introduction to Intelligent System ( , Fall 2017) Instruction for Assignment 2 for Term Project. Rapidly-exploring Random Tree and Path Planning

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

Motion Planning: Probabilistic Roadmaps. Corso di Robotica Prof. Davide Brugali Università degli Studi di Bergamo

Motion Planning. COMP3431 Robot Software Architectures

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

15-494/694: Cognitive Robotics

Lecture 3: Motion Planning (cont.)

Chapter 12. Path Planning. Beard & McLain, Small Unmanned Aircraft, Princeton University Press, 2012,

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

6.141: Robotics systems and science Lecture 9: Configuration Space and Motion Planning

Advanced Robotics Path Planning & Navigation

Motion Planning. Howie CHoset

MEV 442: Introduction to Robotics - Module 3 INTRODUCTION TO ROBOT PATH PLANNING

PATH PLANNING IMPLEMENTATION USING MATLAB

Introduction to Mobile Robotics Path and Motion Planning. Wolfram Burgard, Cyrill Stachniss, Maren Bennewitz, Diego Tipaldi, Luciano Spinello

Robot Motion Planning and (a little) Computational Geometry

FACOLTÀ DI INGEGNERIA DELL INFORMAZIONE ELECTIVE IN ROBOTICS. Quadrotor. Motion Planning Algorithms. Academic Year

Trajectory Optimization

EE631 Cooperating Autonomous Mobile Robots

Approaches for Heuristically Biasing RRT Growth

University of Nevada, Reno. Dynamic Path Planning and Replanning for Mobile Robot Team Using RRT*

Discrete search algorithms

Planning: Part 1 Classical Planning

Stable Trajectory Design for Highly Constrained Environments using Receding Horizon Control

Motion Planning with Dynamics, Physics based Simulations, and Linear Temporal Objectives. Erion Plaku

Path Planning for Point Robots. NUS CS 5247 David Hsu

Unit 5: Part 1 Planning

Robotics. Chapter 25. Chapter 25 1

Agent Based Intersection Traffic Simulation

Human-Oriented Robotics. Robot Motion Planning. Kai Arras Social Robotics Lab, University of Freiburg

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

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

Part I Part 1 Sampling-based Motion Planning

Path Planning Algorithms and Multi Agent Path Planning

Part I Part 1 Sampling-based Motion Planning

Motion Planning. Jana Kosecka Department of Computer Science

Introduction to Robotics

Motion Planning, Part III Graph Search, Part I. Howie Choset

Motion Planning. Howie CHoset

CMU-Q Lecture 4: Path Planning. Teacher: Gianni A. Di Caro

CHAPTER SIX. the RRM creates small covering roadmaps for all tested environments.

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

Autonomous Robotics 6905

Motion planning is a branch of computer science concentrating upon the computation of

Lecture 3: Motion Planning 2

Sub-Optimal Heuristic Search ARA* and Experience Graphs

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

Final Exam Practice Fall Semester, 2012

Off-Line and On-Line Trajectory Planning

Collided Path Replanning in Dynamic Environments Using RRT and Cell Decomposition Algorithms

Func%on Approxima%on. Pieter Abbeel UC Berkeley EECS

COS Lecture 13 Autonomous Robot Navigation

Can work in a group of at most 3 students.! Can work individually! If you work in a group of 2 or 3 students,!

for Motion Planning RSS Lecture 10 Prof. Seth Teller

COMPLETE AND SCALABLE MULTI-ROBOT PLANNING IN TUNNEL ENVIRONMENTS. Mike Peasgood John McPhee Christopher Clark

Elastic Bands: Connecting Path Planning and Control

Multipartite RRTs for Rapid Replanning in Dynamic Environments

Motion Planning of Multiple Mobile Robots for Cooperative Manipulation and Transportation

Transcription:

16.412/6.834J Cognitive Robotics February 7 th, 2005 Probabilistic Methods for Kinodynamic Path Planning Based on Past Student Lectures by: Paul Elliott, Aisha Walcott, Nathan Ickes and Stanislav Funiak Lecturer: Prof. Brian C. Williams

How do we maneuver or manipulate? courtesy NASA JSC courtesy NASA Ames

Outline Roadmap path planning Probabilistic roadmaps Planning in the real world Planning amidst moving obstacles RRT-based planners Conclusions

Outline Roadmap path planning Probabilistic roadmaps Planning in the real world Planning amidst moving obstacles RRT-based planners Conclusions Brian Williams, Fall 03

Path Planning through Obstacles Start position Brian Williams, Fall 03 Goal position

1. Create Configuration Space Assume: Vehicle translates, but no rotation Start position Idea: Transform to equivalent problem of navigating a point. Brian Williams, Fall 03 Goal position

2. Map From Continuous Problem to a Roadmap: Create Visibility Graph Start position Brian Williams, Fall 03 Goal position

2. Map From Continuous Problem to a Roadmap: Create Visibility Graph Start position Brian Williams, Fall 03 Goal position

3. Plan Shortest Path Start position Brian Williams, Fall 03 Goal position

Resulting Solution Start position Brian Williams, Fall 03 Goal position

A Visibility Graph is One Kind of Roadmap Start position What are some other types of roadmaps? Brian Williams, Fall 03 Goal position

Roadmaps: Voronoi Diagrams Lines equidistant from CSpace obstacles Brian Williams, Fall 03

Roadmaps: Approximate Fixed Cell Brian Williams, Fall 03

Roadmaps: Approximate Fixed Cell Brian Williams, Fall 03

Roadmaps: Exact Cell Decomposition Brian Williams, Fall 03

Potential Functions Khatib 1986 Latombe 1991 Koditschek 1998 Attractive Potential Repulsive Potential Combined Potential for goals for obstacles Field Move along force: F(x) = U att (x)-u rep (x) Brian Williams, Fall 03

Exploring Roadmaps Shortest path Dijkstra s algorithm Bellman-Ford algorithm Floyd-Warshall algorithm Johnson s algorithm Informed search Uniform cost search Greedy search A* search Beam search Hill climbing Brian Williams, Fall 03

Robonaut Teamwork: Tele-robotic High dimensional state space Controllability and dynamics Safety and compliance Brian Williams, Fall 03

Outline Roadmap path planning Probabilistic roadmaps Planning in the real world Planning amidst moving obstacles RRT-based planners Conclusions

Applicability of Lazy Probabilistic Road Maps to Portable Satellite Assistant By Paul Elliott

courtesy NASA Ames

Zvezda Service Module Idea: Probabilistic Roadmaps Search randomly generated roadmap Probabilistically complete Trim infeasible edges and nodes lazily

Place Start and Goal Goal Start

Place Nodes Randomly

Select a Set of Neighbors

A* Search 16 18 2 1 18 2

A* Search

A* Search

Check Feasible Nodes

Check Feasible Nodes

Check Feasible Nodes

A* Search

Check Feasible Edges

A* Search

Lazy PRM Algorithm Build Roadmap Start and Goal Nodes Build Roadmap q init, q goal Uniform Dist Nodes Nearest Neighbors Shortest Path (A*) Node Enhancement Remove Colliding node/edge No path found Collision Check Nodes Collision Check Edges

Lazy PRM Algorithm Shortest Path (A*) Heuristic = distance to the goal Path length = distance between nodes Build Roadmap Shortest Path (A*) q init, q goal Node Enhancement Remove Colliding node/edge No path found Collision Check Nodes Collision Check Edges

Lazy PRM Algorithm Check Nodes & Edges Search from Start and End for collisions First check Nodes then Edges Remove Colliding node/edge Collision Build Roadmap Shortest Path (A*) Check Nodes q init, q goal Node Enhancement No path found Collision Check Edges

Lazy PRM Algorithm Remove Node/Edge For Nodes, remove all edges For Edges, just remove the edge Build Roadmap Shortest Path (A*) q init, q goal Node Enhancement Remove Colliding node/edge No path found Collision Check Nodes Collision Check Edges

Lazy PRM Algorithm Node Enhancement Add ½ uniformly Add ½ clustered around midpoints of removed edges Build Roadmap Shortest Path (A*) q init, q goal Node Enhancement Remove Colliding node/edge No path found Collision Check Nodes Collision Check Edges

PRMs Fall Short For Dynamical Systems Using PRM 1. Construct roadmap 2. A* finds path in roadmap 3. Must derive control inputs from path Cannot always find inputs for an arbitrary path

Outline Roadmap path planning Probabilistic roadmaps Planning in the real world Planning amidst moving obstacles RRT-based planners Conclusions

Path Planning in the Real World Real World Robots Have inertia Have limited controllability Have limited sensors Face a dynamic environment Face an unreliable environment Static planners (e.g. PRM) are not sufficient

Two Approaches to Path Planning Kinematic: only concerned with motion, without regard to the forces that cause it Works well: when position controlled directly. Works poorly: for systems with significant inertia. Kinodynamic: incorporates dynamic constraints Plans velocity as well as position

Representing Static State Configuration space represents the position and orientation of a robot Sufficient for static planners like PRM Example: Steerable car Configuration space (x, y, T) y T x

Representing Dynamic State State space incorporates robot dynamic state Allows expression of dynamic constraints Doubles dimensionality Example: Steerable car State space... X = (x, y, T, x, y, T) Constraints max velocity, min turn car dynamics y T x

Incorporating Dynamic Constraints For some states, collision is unavoidable Robot actuators can apply limited force Imminent collision region Obstacle Path planner should avoid these states

Regions in State Space Collision regions: X coll Clearly illegal Region of Imminent Collision: X ric Where robot s actuators cannot prevent a collision Free Space: X free = X (X coll + X ric ) Xfree Xric Xcoll Collision-free planning involves finding paths that lie entirely in X free

Constraints on Maneuvering Nonholonomic: Fewer controllable degrees of freedom then total degrees of freedom Example: steerable car 3 dof (x, y, T), but only 1 controllable dof (steering angle) Equation. of Motion: G( s, s ) = 0 Constraint is a function of state and time derivative of state.

Outline Roadmap path planning Probabilistic roadmaps Planning in the real world Planning amidst moving obstacles RRT-based planners Conclusions

Problem Kinodynamic motion planning amidst moving obstacles with known trajectories Example: Asteroid avoidance problem Moving Obstacle Planner (MOP) Extension to PRM

MOP Overview Similar to PRM, except Does not pre-compute the roadmap Incrementally constructs the roadmap by extending it from existing nodes Roadmap is a directed tree rooted at initial state u time point and oriented along time axis

Building the Roadmap 1. Randomly choose an existing node 2. 3. Randomly select control input u Randomly select integration time interval G[0, G max ] Nodes (state, time) Select control input u at random 4. Integrate equations of motion Randomly choose existing node Collision- free? Integrate equations of motion from an existing node with respect to u for some time interval G

Building the Roadmap (cont.) 5. If edge is collision-free then 6. Store control input with new edge 7. Add new node to roadmap Nodes (state, time) Store control input u with new edge u Collision-free trajectory Add new node Result: Any trajectory along tree satisfies motion constraints and is collision-free!

Solution Trajectory 1. If goal is reached then 2. Proceed backwards from the goal to the start Goal state and time (s goal, t goal ) Start state and time (s start, t start )

MOP details: Inputs and Outputs Planning Query: Let (s start, t start ) denote the robot s start point in the state u time space, and (s goal, t goal ) denote the goal tgoal I goal, where I goal is some time interval in which the goal should be reached Solution Trajectory: Finite sequence of fixed control inputs applied over a specified duration of time Avoids moving obstacles by indexing each state with the time when it is attained Obeys the dynamic constraints

MOP details: Roadmap Construction Objective: obtain new node (s, t ) s = the new state in the robot s state space t = t + G, current time plus the integration time Each iteration: 1. Select an existing node (s, t) in the roadmap at random 2. Select control input u at random 3. Select integration time G at random from [0, G max ]

MOP details: Roadmap Construction 3. Integrate control inputs over time interval 4. Edge between (s, t) and (s, t ) is checked for collision with static obstacles and moving obstacles 5. If collision-free, store control input u with the new edge 6. (s, t ) is accepted as new node

MOP details: Uniform Distribution Modify to Ensure Uniform Distribution of Space: Why? If existing roadmap nodes were selected uniformly, the planner would pick a node in an already densely sampled region Avoid oversampling of any region by dividing the stateutime space into bins

Achieving Uniform Node Distribution 1. Equally divide space 2. Denote each section as a bin; number each bin Space bin 1 bin 2 bin 3 bin 4 bin 5 bin 6 bin 7 bin 8 bin 9 bin 10 bin 11 bin 12 bin 13 bin 14...... *bins store roadmap nodes that lie in their region...

Achieving Uniform Node Distribution 3. Create an array of bins Array Equal-sized bins Existing nodes bin 1 bin 2 bin 3.

Achieving Uniform Node Distribution Planner randomly picks a bin with at least one node At that bin, the planner picks a node at random bin 1 bin 2 bin 3.

Achieving Uniform Node Distribution Insert new node into its corresponding bin

Demonstration of MOP Point mass robot moving in a plane x x State s = (x, y, x, y ) (s goal, t goal ) Point-mass robot Moving obstacles (s start, t start ) Static obstacle

Demonstration of MOP

Summary MOP algorithm incrementally builds a roadmap in the stateutime space The roadmap is a directed tree oriented along the time axis By including time the planner is able to generate a solution trajectory that avoids moving and static obstacles obeys the dynamic constraints Bin technique to ensure that the space is explored somewhat uniformly

Outline Roadmap path planning Probabilistic roadmaps Planning in the real world Planning amidst moving obstacles RRT-based planners Conclusions

Planning with RRTs RRTs: Rapidly-exploring Random Trees Similar to MOP Incrementally builds the roadmap tree Integrates the control inputs to ensure that the kinodynamic constraints are satisfied Informed exploration strategy from MOP Extends to more advanced planning techniques

How it Works Build RRT in state space (X), starting at s start Stop when tree gets sufficiently close to s goal Start Goal

Building an RRT To extend an RRT: Pick a random point a in X Find b, the node of the tree closest to a Find control inputs u to steer the robot from b to a u b a

Building an RRT To extend an RRT (cont.) Apply control inputs u for time G, so robot reaches c If no collisions occur in getting from a to c, add c to RRT and record u with new edge u c b a

Executing the Path Once the RRT reaches s goal Backtrack along tree to identify edges that lead from s to s start goal Drive robot using control inputs stored along edges in the tree

Principle Advantage RRT quickly explores the state space: Nodes most likely to be expanded are those with largest Voronoi regions

Advanced RRT Algorithms 1. Single RRT biased towards the goal 2. Bidirectional planners 3. RRT planning in dynamic environments

Example: Simple RRT Planner Problem: ordinary RRT explores X uniformly ĺ slow convergence Solution: bias distribution towards the goal

Goal-biased RRT BIASED_RANDOM_STATE() 1 toss ĸ COIN_TOSS() 2 if toss = heads then 3 Return s goal 4 else 5 Return RANDOM_STATE()

Goal-biased RRT

The world is full of local minima If too much bias, the planner may get trapped in a local minimum A different strategy: Pick RRT point near s goal Based on distance from goal to the nearest v in G Gradual bias towards s goal Rather slow convergence

Bidirectional Planners Build two RRTs, from start and goal state Complication: need to connect two RRTs local planner will not work (dynamic constraints) bias the distribution, so that the trees meet

Bidirectional Planner Algorithm

Bidirectional Planner Example

Bidirectional Planner Example

Conclusions Path planners for real-world robots must account for dynamic constraints Building the roadmap tree incrementally ensures that the kinodynamic constraints are satisfied avoids the need to reconstruct control inputs from the path allows extensions to moving obstacles problem

Conclusions MOP and RRT planners are similar Well-suited for single-query problems RRTs benefit from the ability to steer a robot toward a point RRTs explore the state more uniformly RRTs can be biased towards a goal or to grow into another RRT