Introduction to Mobile Robots Motion Planning Prof.: S. Shiry Pooyan Fazli M.Sc Computer Science Department of Computer Eng. and IT Amirkabir Univ. of.

Slides:



Advertisements
Similar presentations
Reactive and Potential Field Planners
Advertisements

Motion Planning for Point Robots CS 659 Kris Hauser.
Label Placement and graph drawing Imo Lieberwerth.
Probabilistic Path Planner by Someshwar Marepalli Pratik Desai Ashutosh Sahu Gaurav jain.
By Lydia E. Kavraki, Petr Svestka, Jean-Claude Latombe, Mark H. Overmars Emre Dirican
Slide 1 Robot Lab: Robot Path Planning William Regli Department of Computer Science (and Departments of ECE and MEM) Drexel University.
Breadth-First Search David Johnson. Today Look at one version of Breadth-first search on a grid Develop Matlab version of BFS.
Sampling From the Medial Axis Presented by Rahul Biswas April 23, 2003 CS326A: Motion Planning.
The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.
Presented By: Aninoy Mahapatra
Kinodynamic Path Planning Aisha Walcott, Nathan Ickes, Stanislav Funiak October 31, 2001.
DESIGN OF A GENERIC PATH PATH PLANNING SYSTEM AILAB Path Planning Workgroup.
Randomized Motion Planning for Car-like Robots with C-PRM Guang Song and Nancy M. Amato Department of Computer Science Texas A&M University College Station,
1 Last lecture  Configuration Space Free-Space and C-Space Obstacles Minkowski Sums.
NUS CS5247 A Visibility-Based Pursuit-Evasion Problem Leonidas J.Guibas, Jean-Claude Latombe, Steven M. LaValle, David Lin, Rajeev Motwani. Computer Science.
Deadlock-Free and Collision- Free Coordination of Two Robot Manipulators Patrick A. O’Donnell and Tomás Lozano- Pérez by Guha Jayachandran Guha Jayachandran.
Motion Planning & Robot Planning
Motion Planning. Basic Topology Definitions  Open set / closed set  Boundary point / interior point / closure  Continuous function  Parametric curve.
Randomized Planning for Short Inspection Paths Tim Danner and Lydia E. Kavraki 2000 Presented by David Camarillo CS326a: Motion Planning, Spring
1 Single Robot Motion Planning - II Liang-Jun Zhang COMP Sep 24, 2008.
1 Last lecture  Path planning for a moving Visibility graph Cell decomposition Potential field  Geometric preliminaries Implementing geometric primitives.
Randomized Planning for Short Inspection Paths Tim Danner Lydia E. Kavraki Department of Computer Science Rice University.
Navigation and Motion Planning for Robots Speaker: Praveen Guddeti CSE 976, April 24, 2002.
Randomized Motion Planning for Car-like Robots with C-PRM Guang Song, Nancy M. Amato Department of Computer Science Texas A&M University College Station,
City College of New York 1 Dr. John (Jizhong) Xiao Department of Electrical Engineering City College of New York Robot Motion Planning.
CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2003/index.htm Configuration Space – Basic Path-Planning Methods.
Robot Motion Planning Bug 2 Probabilistic Roadmaps Bug 2 Probabilistic Roadmaps.
CS 326A: Motion Planning Basic Motion Planning for a Point Robot.
Chapter 5: Path Planning Hadi Moradi. Motivation Need to choose a path for the end effector that avoids collisions and singularities Collisions are easy.
Randomized Planning for Short Inspection Paths Tim Danner and Lydia E. Kavraki 2000 Presented by Dongkyu, Choi On the day of 28 th May 2003 CS326a: Motion.
Introduction to Robot Motion Planning. Example A robot arm is to build an assembly from a set of parts. Tasks for the robot: Grasping: position gripper.
1 Single Robot Motion Planning Liang-Jun Zhang COMP Sep 22, 2008.
Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces Lydia E. Kavraki Petr Švetka Jean-Claude Latombe Mark H. Overmars Presented.
Robot Motion Planning Computational Geometry Lecture by Stephen A. Ehmann.
Motion Planning Howie CHoset.
Visibility Graphs and Cell Decomposition By David Johnson.
Constraints-based Motion Planning for an Automatic, Flexible Laser Scanning Robotized Platform Th. Borangiu, A. Dogar, A. Dumitrache University Politehnica.
World space = physical space, contains robots and obstacles Configuration = set of independent parameters that characterizes the position of every point.
© Manfred Huber Autonomous Robots Robot Path Planning.
B659: Principles of Intelligent Robot Motion Kris Hauser.
Robotics Chapter 5 – Path and Trajectory Planning
Computational Geometry Piyush Kumar (Lecture 10: Robot Motion Planning) Welcome to CIS5930.
Path Planning for a Point Robot
Introduction to Robot Motion Planning Robotics meet Computer Science.
How are things going? Core AI Problem Mobile robot path planning: identifying a trajectory that, when executed, will enable the robot to reach the goal.
Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces (1996) L. Kavraki, P. Švestka, J.-C. Latombe, M. Overmars.
yG7s#t=15 yG7s#t=15.
COMP322/S2000/L281 Task Planning Three types of planning: l Gross Motion Planning concerns objects being moved from point A to point B without problems,
Introduction to Motion Planning
UNC Chapel Hill M. C. Lin Introduction to Motion Planning Applications Overview of the Problem Basics – Planning for Point Robot –Visibility Graphs –Roadmap.
Administration Feedback on assignment Late Policy
Real Time Motion Planning and Safe Navigation in Dynamic Environments* Kadir F. Uyanik CENG585 Fundamentals of Autonomous Robotics * Based on:
Graphs David Johnson. Describing the Environment How do you tell a person/robot how to get somewhere? –Tell me how to get to the student services building…
Laboratory of mechatronics and robotics Institute of solid mechanics, mechatronics and biomechanics, BUT & Institute of Thermomechanics, CAS Mechatronics,
Robotics Chapter 5 – Path and Trajectory Planning
Randomized Kinodynamics Planning Steven M. LaVelle and James J
Motion Planning Howie CHoset. Assign HW Algorithms –Start-Goal Methods –Map-Based Approaches –Cellular Decompositions.
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 1 Chapter 12 Path Planning.
Planning and Navigation. 6 Competencies for Navigation Navigation is composed of localization, mapping and motion planning – Different forms of motion.
Robot Motion Planning Robotics meet Computer Science.
Randomized KinoDynamic Planning Steven LaValle James Kuffner.
Autonomous Robots Robot Path Planning (2) © Manfred Huber 2008.
How do I get there? Roadmap Methods Visibility Graph Voronoid Diagram.
Schedule for next 2 weeks
Mathematics & Path Planning for Autonomous Mobile Robots
Last lecture Configuration Space Free-Space and C-Space Obstacles
Planning and Navigation
Robotics meet Computer Science
Planning.
Classic Motion Planning Methods
Presentation transcript:

Introduction to Mobile Robots Motion Planning Prof.: S. Shiry Pooyan Fazli M.Sc Computer Science Department of Computer Eng. and IT Amirkabir Univ. of Technology (Tehran Polytechnic)

What is Motion Planning? Determining where to go

The World consists of... Obstacles Already occupied spaces of the world In other words, robots can’t go there Free Space Unoccupied space within the world Robots “might” be able to go here To determine where a robot can go, we need to discuss what a Configuration Space is

Notion of Configuration Space Main Idea: Represent the robot as a point, called a configuration, in a parameter space, the configuration space (or C-space). Importance: Reduce the problem of planning the motion of a robot in Euclidean Space to planning the motion of a point in C-space.

C-space of Rigid Object

Robot Configurations Can be: 1. Free configurations: robot and obstacles do not overlap 2. Contact configurations: robot and obstacles touch 3. Blocked configurations: robot and obstacles overlap Configuration Space partitioned into free (Cfree), contact, and blocked sets.

Obstacles in C-space Cspace = Cfree + Cobstacle

Example of a World (and Robot) Obstacles Free Space Robot x,y

The Configuration Space How to create it First abstract the robot as a point object. Then, enlarge the obstacles to account for the robot’s footprint and degrees of freedom In our example, the robot was circular, so we simply enlarged our obstacles by the robot’s radius (note the curved vertices)

Configuration Space: Accommodate Robot Size Obstacles Free Space Robot (treat as point object) x,y

Paths in C-Space

Motion Planning General Goal: compute motion commands to achieve a goal arrangement of physical objects from an initial arrangement Basic problem: Collision-free path planning for one rigid or articulated object (the “robot”) among static obstacles. Inputs geometric descriptions of the obstacles and the robot kinematic and dynamic properties of the robot initial and goal positions (configurations) of the robot Output Continuous sequence of collision-free configurations connecting the initial and goal configurations

Motion Planning Path planning design of only geometric (kinematic) specifications of the positions and orientations of robots Trajectory = Path + assignment of time to points along the path Trajectory planning path planning + design of linear and angular velocities Motion Planning (MP), a general term, either:  Path planning, or  Trajectory planning Path planning < Trajectory planning

Extensions to the Basic Problem movable obstacles moving obstacles multiple robots incomplete knowledge/uncertainty in geometry, sensing, etc.

Multiple Robots, Moving/Movable Obstacles

Classification of MP algorithms Completeness Exact usually computationally expensive Heuristic aimed at generating a solution in a short time may fail to find solution or find poor one at difficult problems important in engineering applications Probabilistically complete (probabilistic completeness  1)

Classification of MP algorithms Scope Global take into account all environment information plan a motion from start to goal configuration Local avoid obstacles in the vicinity of the robot use information about nearby obstacles only used when start and goal are close together used as component in global planner, or used as safety feature to avoid unexpected obstacles not present in environment model, but sensed during motion

Classification of MP Algorithms Point-to-point Region filling

Point-to-point Path Planning Point-to-point path planning looks for the best route to move an entity from point A to point B while avoiding known obstacles in its path, not leaving the map boundaries, and not violating the entity's mobility constraints. This type of path planning is used in a large number of robotics and gaming applications such as finding routes for autonomous robots, planning the manipulator's movement of a stationary robot, or for moving entities to different locations in a map to accomplish certain goals in a gaming application.

Region Filling Path Planning Tasks such as vacuuming a room, plowing a field, or mowing a lawn require region filling path planning operations that are defined as follows: 1) The mobile robot must move through an entire area, i.e., the overall travel must cover a whole region. 2) Continuous and sequential operation without any repetition of paths is required of the robot. 3) The robot must avoid all obstacles in a region. 4) An "optimal" path is desired under the available conditions.

Motion Planning Statement The Problem: Given an initial position and orientation PO init Given a goal position and orientation PO goal Generate: continuous path t from PO init to PO goal t is a continuous sequence of Pos’

The Wavefront Planner A common algorithm used to determine the shortest paths between two points In essence, a breadth first search of a graph For simplification, we’ll present the world as a two-dimensional grid Setup: Label free space with 0 Label C-Obstacle as 1 Label the destination as 2

Representations: A Grid Distance is reduced to discrete steps For simplicity, we’ll assume distance is uniform Direction is now limited from one adjacent cell to another

Representations: Connectivity 8-Point Connectivity 4-Point Connectivity

The Wavefront Planner: Setup

The Wavefront in Action (Part 1) Starting with the goal, set all adjacent cells with “0” to the current cell Point Connectivity or 8-Point Connectivity? Your Choice. We ’ ll use 8-Point Connectivity in our example

The Wavefront in Action (Part 2) Now repeat with the modified cells This will be repeated until no 0’s are adjacent to cells with values >= 2  0’s will only remain when regions are unreachable

The Wavefront in Action (Part 3) Repeat again...

The Wavefront in Action (Part 4) And again...

The Wavefront in Action (Part 5) And again until...

The Wavefront in Action (Done) You’re done Remember, 0’s should only remain if unreachable regions exist

The Wavefront, Now What? To find the shortest path, according to your metric, simply always move toward a cell with a lower number The numbers generated by the Wavefront planner are roughly proportional to their distance from the goal Two possible shortest paths shown

Map-Based Approaches: Roadmap Theory Idea: capture the connectivity of Cfree with a roadmap (graph or network) of one-dimensional curves

Roadmap Methods

Properties of a roadmap: Accessibility: there exists a collision-free path from the start to the road map Departability: there exists a collision-free path from the roadmap to the goal. Connectivity: there exists a collision- free path from the start to the goal (on the roadmap). Examples of Roadmaps – –Visibility Graph – –Generalized Voronoi Graph (GVG)

Roadmap: Visibility Graph

Visibility Graph of C-Space

The Visibility Graph in Action (Part 1) First, draw lines of sight from the start and goal to all “visible” vertices and corners of the world. start goal

The Visibility Graph in Action (Part 2) Second, draw lines of sight from every vertex of every obstacle like before. Remember lines along edges are also lines of sight. start goal

The Visibility Graph in Action (Part 3) Second, draw lines of sight from every vertex of every obstacle like before. Remember lines along edges are also lines of sight. start goal

The Visibility Graph in Action (Part 4) Second, draw lines of sight from every vertex of every obstacle like before. Remember lines along edges are also lines of sight. start goal

The Visibility Graph (Done) Repeat until you’re done. start goal

Reduced Visibility Graphs Idea: we don't really need all the edges in the visibility graph (even if we want shortest paths) Definition: Let L be the line passing through an edge (x,y) in the visibility graph G. The segment (x,y) is a tangent segment iff L is tangent to CB at both x and y.

Reduced Visibility Graphs

Roadmaps: the Retraction Approach

Retraction Example: Generalized Voronoi Diagrams A GVG is formed by paths equidistant from the two closest objects This generates a very safe roadmap which avoids obstacles as much as possible

Retraction Example: Generalized Voronoi Diagrams

Generalized Voronoi Diagrams

Cell Decomposition Methods

Exact Cell Decomposition Method

Path Planning with a Convex Polygonal Decomposition

Exact Cell Decompositions: Trapezoidal Decomposition A way to divide the world into smaller regions Assume a polygonal world

Exact Cell Decompositions: Trapezoidal Decomposition

Applications: Coverage By reducing the world to cells, we ’ ve essentially abstracted the world to a graph.

Find a path By reducing the world to cells, we ’ ve essentially abstracted the world to a graph.

Find a path With an adjacency graph, a path from start to goal can be found by simple traversal startgoal

Find a path With an adjacency graph, a path from start to goal can be found by simple traversal startgoal

Find a path With an adjacency graph, a path from start to goal can be found by simple traversal startgoal

Find a path With an adjacency graph, a path from start to goal can be found by simple traversal startgoal

Find a path With an adjacency graph, a path from start to goal can be found by simple traversal startgoal

Find a path With an adjacency graph, a path from start to goal can be found by simple traversal startgoal

Find a path With an adjacency graph, a path from start to goal can be found by simple traversal startgoal

Find a path With an adjacency graph, a path from start to goal can be found by simple traversal startgoal

Find a path With an adjacency graph, a path from start to goal can be found by simple traversal startgoal

Find a path With an adjacency graph, a path from start to goal can be found by simple traversal startgoal

Find a path With an adjacency graph, a path from start to goal can be found by simple traversal startgoal

Approximate Cell Decomposition Idea: construct a collection K of non-overlapping cells such that the union of all the cells approximately covers the free C-space

Approximate Decomposition into Rectangloids A rectangloid decomposition K of C is a finite collection of interior disjoint rectangloids (cells) such that Cells and are adjacent if they share a boundry

Approximate Decomposition into Rectangloids

Channels and Paths in Rectangloid Decomposition

Path Planning with a Rectangloid Decomposition

Hierarchical Path Planning

Potential Field Method

Potential Field Methods

Potential Field

The Field of Artificial Forces

The Attractive Potential

The Repulsive Potential

Local Minimum Problem with the Charge Analogy

Escaping Local Minima - Random Motions

Gradient Descent Planning

RRT Rapidly Exploring Random Tree (LaValle 1998) Explores continuous spaces efficiently Can form the basis for a probabilistically complete path planner Basic RRT Algorithm: (1) Initially, start with the initial configuration as root of tree (2) Pick a random state in the configuration space (3) Find the closest node in the tree (4) Extend that node toward the state if possible (5) Goto (2)

Basic RRT Example

RRT Demo

CMDragon Small Size Team

ERRT: RRT + Waypoint Cache Plain RRT planner has little bias toward plan quality, and replanning is naive (all previous information is thrown out before replanning). Waypoints: Previously successful plans can guide new search Biases can be encoded by modifying the target point distribution Waypoint Cache: When a plan is found, store nodes into a bin with random replacement During target point selection, choose a random item from waypoint cache with probability q

RRT-GoalBias Algorithm (1) Initially, start with the initial configuration as root of tree (2) Pick a target state - goal configuration with probability p - random state from waypoint cache with probability q - random configuration with probability 1 - p - q (3) Find the closest node in the tree (4) Extend that node toward the state if possible (5) Goto (2)

Demos Movie 1 Movie 2 Movie 3

References Seth Hutchinson at the University of Illinois at Urbana- Champaign Leo Joskowicz at Hebrew University, Jean-Claude Latombe at Stanford University, Nancy Amato at Texas A&M University.