Motion Planning Motion Planning. 1.What is the motion planning problem? 2.What is the fundamental question in motion planning problem? 3.What is the basic.

Slides:



Advertisements
Similar presentations
Configuration Space. Recap Represent environments as graphs –Paths are connected vertices –Make assumption that robot is a point Need to be able to use.
Advertisements

Complete Motion Planning
Motion Planning for Point Robots CS 659 Kris Hauser.
Slide 1 Robot Lab: Robot Path Planning William Regli Department of Computer Science (and Departments of ECE and MEM) Drexel University.
Kinematics & Grasping Need to know: Representing mechanism geometry Standard configurations Degrees of freedom Grippers and graspability conditions Goal.
Presented By: Aninoy Mahapatra
1 Last lecture  Configuration Space Free-Space and C-Space Obstacles Minkowski Sums.
EE631 Cooperating Autonomous Mobile Robots Lecture 5: Collision Avoidance in Dynamic Environments Prof. Yi Guo ECE Dept.
Algorithmic Robotics and Motion Planning Dan Halperin Tel Aviv University Fall 2006/7 Introduction abridged version.
Motion Planning. Basic Topology Definitions  Open set / closed set  Boundary point / interior point / closure  Continuous function  Parametric curve.
Configuration Space CS 326 A: Motion Planning
CS 326 A: Motion Planning Probabilistic Roadmaps Sampling and Connection Strategies (2/2)
Motion Planning: A Journey of Robots, Digital Actors, Molecules and Other Artifacts Jean-Claude Latombe Computer Science Department Stanford University.
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.
Planning Paths for Elastic Objects Under Manipulation Constraints Florent Lamiraux Lydia E. Kavraki Rice University Presented by: Michael Adams.
Motion Planning: A Journey of Robots, Digital Actors, Surgical Instruments, Molecules and Other Artifacts Jean-Claude Latombe Computer Science Department.
CS 326A: Motion Planning Jean-Claude Latombe CA: Aditya Mandayam.
Robotics R&N: ch 25 based on material from Jean- Claude Latombe, Daphne Koller, Stuart Russell.
CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2003/index.htm Jean-Claude Latombe Computer Science Department Stanford University.
Randomized Motion Planning
CS 326A: Motion Planning Configuration Space. Motion Planning Framework Continuous representation (configuration space and related spaces + constraints)
CS 326 A: Motion Planning Instructor: Jean-Claude Latombe Teaching Assistant: Itay Lotan Computer Science.
CS 326A: Motion Planning Non-Holonomic Motion Planning.
CS 326 A: Motion Planning 2 Dynamic Constraints and Optimal Planning.
CS 99k: Digital Actors URL: Instructor: Jean-Claude Latombe Computer Science Department Stanford University.
Motion Algorithms: Planning, Simulating, Analyzing Motion of Physical Objects Jean-Claude Latombe Computer Science Department Stanford University.
BINARY MORPHOLOGY and APPLICATIONS IN ROBOTICS. Applications of Minkowski Sum 1.Minkowski addition plays a central role in mathematical morphology 2.It.
CS 326A: Motion Planning Kynodynamic Planning + Dealing with Moving Obstacles + Dealing with Uncertainty + Dealing with Real-Time Issues.
CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2003/index.htm Configuration Space – Basic Path-Planning Methods.
CS 326A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Jean-Claude Latombe Computer Science Department Stanford University.
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.
Spring 2007 Motion Planning in Virtual Environments Dan Halperin Yesha Sivan TA: Alon Shalita Basics of Motion Planning (D.H.)
CS 326 A: Motion Planning Kinodynamic Planning.
CS6370/ME6225 Geometric Computation for Motion Planning Instructor: David Johnson
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.
B659: Principles of Intelligent Robot Motion Kris Hauser TA: Mark Wilson.
Anna Yershova Dept. of Computer Science University of Illinois
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.
9/14/2015CS225B Kurt Konolige Locomotion of Wheeled Robots 3 wheels are sufficient and guarantee stability Differential drive (TurtleBot) Car drive (Ackerman.
© 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.
Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces (1996) L. Kavraki, P. Švestka, J.-C. Latombe, M. Overmars.
CS B659: Principles of Intelligent Robot Motion Configuration Space.
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.
Real-time motion planning for Manipulator based on Configuration Space Chen Keming Cis Peking University.
NUS CS5247 Dynamically-stable Motion Planning for Humanoid Robots Presenter Shen zhong Guan Feng 07/11/2003.
Robotics Chapter 5 – Path and Trajectory Planning
Forward Kinematics and Configurations
Planning Tracking Motions for an Intelligent Virtual Camera Tsai-Yen Li & Tzong-Hann Yu Presented by Chris Varma May 22, 2002.
1 CS26N: Motion Planning for Robots, Digital Actors, and Other Moving Objects Jean-Claude Latombe ai.stanford.edu/~latombe/ Winter.
Randomized KinoDynamic Planning Steven LaValle James Kuffner.
NUS CS 5247 David Hsu Configuration Space. 2 What is a path?
Motion Planning CS121 – Winter Basic Problem Are two given points connected by a path?
Instructor Prof. Shih-Chung Kang 2008 Spring
Locomotion of Wheeled Robots
Last lecture Configuration Space Free-Space and C-Space Obstacles
Robot Lab: Robot Path Planning
Forward Kinematics and Configuration Space
Presented By: Aninoy Mahapatra
Motion Planning CS121 – Winter 2003 Motion Planning.
Chapter 4 . Trajectory planning and Inverse kinematics
Presentation transcript:

Motion Planning Motion Planning

1.What is the motion planning problem? 2.What is the fundamental question in motion planning problem? 3.What is the basic problem formulation? 4.Configuration Space. 5.Formalism for Configuration Space. 6.What is a Path? 7.Extensions to the Basic Motion Planning Probem 8.Examples of Applications of Motion Planning 9.Examples of Practical Algorithms: Bug Examples : Probabilistic Roadmaps. 154 slides

What is the motion planning problem?

Motion Planning for a robotic arm

Motion Planning for a mobile robot

Motion planning in a real world

Motion Planning for a Humanoid Robot with Many Degrees of Freedom in real world environment

Motion Planning for unusual robots, reconfigurable robots

Motion Planning in Medical and Chemical Applications

Is It Easy?

What is the fundamental question in motion planning?

Goal of Motion Planning Compute motion strategies, e.g.: –geometric paths –time-parameterized trajectories –sequence of sensor-based motion commands To achieve high-level goals, e.g.: –go to A without colliding with obstacles –assemble product P –build map of environment E –find object O

Fundamental Question Are two given points connected by a path? Valid region Forbidden region

Fundamental Question Are two given points connected by a path? Valid region Forbidden region E.g.: ▪Collision with obstacle ▪Lack of visibility of an object ▪Lack of stability

What is the formulation of the basic problem of path finding ?

Basic Problem of Path planning Statement: Compute a collision-free path for a rigid or articulated object (the robot) among static obstacles Inputs: –Geometry of robot and obstacles –Kinematics of robot (degrees of freedom) –Initial and goal robot configurations (placements) Output: –Continuous sequence of collision-free robot configurations connecting the initial and goal configurations

Examples with Rigid Object  Ladder problem Piano-mover problem 

Example with Articulated Object

Configuration Space

Tool: Configuration Space

Compare! Valid region Forbidden region

Tool: Configuration Space Problems: Geometric complexity Space dimensionality

Formalism for Configuration Space

Notation for Configuration Space

Point Robot in Configuration space

Point robot in Three-Dimensional Configuration space

Translation and rotation of a robot

Example of simple configuration space for a robot with 2DOF in planar space

Representation of points in configuration space

In presence of obstacles, where the robot can actually move?

Free Space

Think of R as a robot and P as an obstacle

Robot that can translate and rotate in 2D space gives another dimension to the problem

C-obstacle in Three-Dimensional Space This is twisted

Can we stay in 2D? x

x

But is it good?

Too conservative

What is a Path?

Path is a very general concept considered from the point of view of computational geometry, time and search

Tool: Configuration Space (C-Space C)

q=(q 1,…,q n ) Configuration Space q1q1q1q1 q2q2q2q2 q3q3q3q3 qnqnqnqn In real problems configuration space is highly dimensional

Definition of Robot Configuration configuration fixed A robot configuration is a specification of the positions of all robot points relative to a fixed coordinate system “vector” Usually a configuration is expressed as a “vector” of position/orientation parameters

reference point Rigid Robot Example 3-parameter representation: q = (x,y,  ) In a 3-D workspace q would be of the form (x,y,z,  ) x y  robot reference direction workspace Like you need six-dimensional space to describe the airplane in the air

Articulated Robot Example q1q1q1q1 q2q2q2q2 q = (q 1,q 2,…,q 10 )

Protein example

What is the Configuration Space of a Robot? Space of all its possible configurations topology Cartesian But the topology of this space is usually not that of a Cartesian space C = S 1 x S 1

Configuration Space of a Robot Space of all its possible configurations But the topology of this space is usually not that of a Cartesian space C = S 1 x S 1

Configuration Space of a Robot Space of all its possible configurations But the topology of this space is usually not that of a Cartesian space C = S 1 x S 1 But here looks like a cartesian space Like a torus

What is a Topology of the Configuration Space? q1q1q1q1 q2q2q2q2 (S1) 7 xR 3 R R R S1 S1 is rotation R is linear motion

Structure of Configuration Space Structure of Configuration Space is a manifold For each point q, there is a 1-to-1 map between a neighborhood of q and a Cartesian space R n, where n is the dimension of C This map is a local coordinate system called a chart. C can always be covered by a finite number of charts. Such a set is called an atlas

Example Every point of a sphere but one can be mapped to a plane

reference point Case of a Planar Rigid Robot 3-parameter representation: q = (x,y,  ) with   [0,2  ). Two charts are needed Other representation: q = (x,y,cos ,sin  )  c-space is a 3-D cylinder R 2 x S 1 embedded in a 4-D space x y  robot reference direction workspace

Rigid Robot in 3-D Workspace q = (x,y,z,  ) Other representation: q = (x,y,z,r 11,r 12,…,r 33 ) where r 11, r 12, …, r 33 are the elements of rotation matrix R: r 11 r 12 r 13 r 21 r 22 r 23 r 31 r 32 r 33 with: –r i1 2 +r i2 2 +r i3 2 = 1 –r i1 r j1 + r i2 r 2j + r i3 r j3 = 0 –det(R) = +1 The c-space is a 6-D space (manifold) embedded in a 12-D Cartesian space. It is denoted by R 3 xSO(3)

Parameterization of SO(3) EulerEuler angles: (  quaternionUnit quaternion: (cos  /2, n 1 sin  /2, n 2 sin  /2, n 3 sin  /2) x yz x yz x y z  x yz 1  2  3  4

Metric in Configuration Space map A metric or distance function d in C is a map d: (q 1,q 2 )  C 2  d(q 1,q 2 ) > 0 such that: –d(q 1,q 2 ) = 0 if and only if q 1 = q 2 –d(q 1,q 2 ) = d (q 2,q 1 ) –d(q 1,q 2 ) < d(q 1,q 3 ) + d(q 3,q 2 ) The general concept of metric or “distance” in some kind of space

Metric in Configuration Space Example: Robot A and point x of A –x(q): location of x in the workspace when A is at configuration q –A distance d in C is defined by: d(q,q’) = max x  A ||x(q)-x(q’)|| where ||a - b|| denotes the Euclidean distance between points a and b in the workspace

Specific Examples in R 2 x S 1 q = (x,y,  ), q ’ = (x ’,y ’,  ’ ) with   ’  [0,2  )  = min{ |  ’ |, 2  |  ’ | } d(q,q ’ ) = sqrt[(x-x ’ ) 2 + (y-y ’ ) 2 +  2 ]  d(q,q ’ ) = sqrt[(x-x ’ ) 2 + (y-y ’ ) 2 + (  ) 2 ] where  is the maximal distance between the reference point and a robot point ’’’’  

What is a Path?  A path in C is a piece of continuous curve connecting two configurations q and q’:  : s  [0,1]   (s)  C  s’  s  d(  (s),  (s’))  0 q 1 q 3 q 0 q n q 4 q 2  (s)

Other Possible Constraints on Path  Finite length, smoothness, curvature, etc…  A trajectory is a path parameterized by time:  : t  [0,T]   (t)  C q 1 q 3 q 0 q n q 4 q 2  (s)

Obstacles in C-Space

q qnull intersection A configuration q is collision-free, or free, if the robot placed at q has null intersection with the obstacles in the workspace The free space F is the set of free configurations robot collides A C-obstacle is the set of configurations where the robot collides with a given workspace obstacle without overlap A configuration is semi-free if the robot at this configuration touches obstacles without overlap

Disc Robot in 2-D Workspace Touches obstacle without overlap B CB

Rigid Robot Translating in 2-D CB = B A = {b-a | a  A, b  B} a1 b1 b1-a1

Rigid Robot Translating in 2-D CB = B A = {b-a | a  A, b  B} a1 b1 b1-a1

Linear-Time Computation of C-Obstacle in 2-D (convex polygons) O(n+m)

Rigid Robot Translating and Rotating in 2-D   =  /2  =0 Now configuration space has 3 dimensions

C-Obstacle for Articulated Robot Two degrees of freedom

DEFINITIONS OF : Free and Semi-Free Paths  A free path lies entirely in the free space F  A semi-free path lies entirely in the semi-free space

Remark on Free-Space Topology 1.The robot and the obstacles are modeled as closed subsets, meaning that they contain their boundaries 2.One can show that the C-obstacles are closed subsets of the configuration space C as well 3.Consequently, the free space F is an open subset of C. 1.Hence, each free configuration is the center of a ball of non- zero radius entirely contained in F 4.The semi-free space is a closed subset of C. 1.Its boundary is a superset of the boundary of F

The semi-free space is a closed subset of C. Its boundary is a superset of the boundary of F obstacle Free space semi-free space

Notion of Homotopic Paths Two paths with the same endpoints are homotopic if one can be continuously deformed into the other R x S 1 example:  1 and  2 are homotopic  1 and  3 are not homotopic In this example, infinity of homotopy classes q q’   

Connectedness of C-Space 1.C is connected if every two configurations can be connected by a path 2.C is simply-connected if any two paths connecting the same endpoints are homotopic Examples: R 2 or R 3 3.Otherwise C is multiply-connected Examples: S 1 and SO(3) are multiply- connected: - In S 1, infinity of homotopy classes - In SO(3), only two homotopy classes

Extensions to Basic Motion Planning Problem

Some Extensions of Basic Problem 1.Moving obstacles 2.Multiple robots 3.Movable objects 4.Assembly planning 5.Goal is to acquire information by sensing 1.Model building 2.Object finding/tracking 3.Inspection 6.Nonholonomic constraints 7.Dynamic constraints 8.Stability constraints 1.Optimal planning 2.Uncertainty in model, control and sensing 3.Exploiting task mechanics (sensorless motions, under- actualted systems) 4.Physical models and deformable objects 5.Integration of planning and control 6.Integration with higher-level planning

Aerospace Robotics Lab Robot air bearing gas tank air thrusters obstacles robot

Total duration : 40 sec Two concurrent planning goals: Reach the goal Reach a safe region

Autonomous Helicopter [Feron] (MIT)

Assembly Planning

Map Building Where to move next?

Target Finding The guard guards the building attacked by terrorists. What he sees is colored yellow

Target Tracking

Planning for Nonholonomic Robots

Under-Actuated Systems video [Lynch] (Northwestern)

Planning with Uncertainty in Sensing and Control I G W1W1W1W1 W2W2W2W2

I G W1W1W1W1 W2W2W2W2

I G W1W1W1W1 W2W2W2W2

Motion Planning for Deformable Objects [Kavraki] (Rice)

Examples of Applications of Motion Planning

Examples of Applications 1.Manufacturing: 1.Robot programming 2.Robot placement 3.Design of part feeders 2.Design for manufacturing and servicing 3.Design of pipe layouts and cable harnesses 4.Autonomous mobile robots planetary exploration, surveillance, military scouting 1.Graphic animation of “digital actors” for video games, movies, and webpages 2.Virtual walkthru 3.Medical surgery planning 4.Generation of plausible molecule motions, e.g., docking and folding motions 5.Building code verification

Robot Programming

Robot Placement

Design for Manufacturing/Servicing General Electric General Motors

Assembly Planning and Design of Manufacturing Systems

Part Feeding

Cable Harness/ Pipe design

Humanoid Robot [Kuffner and Inoue, 2000] (U. Tokyo)

Modular Reconfigurable Robots Xerox, Parc Casal and Yim, 1999

Military Scouting and Planet Exploration [CMU, NASA]

Digital Actors A Bug’s Life (Pixar/Disney) Toy Story (Pixar/Disney) Tomb Raider 3 (Eidos Interactive)Final Fantasy VIII (SquareOne)The Legend of Zelda (Nintendo) Antz (Dreamworks)

Motion Planning for Digital Actors Manipulation Sensory-based locomotion

Navigation Through Virtual Environments [Cheng-Chin U., UNC, Utrecht U.] video

Building Code Verification

Radiosurgical Planning Cross-firing at a tumor while sparing healthy critical tissue

Study of the Motion of Bio-Molecules Protein folding Ligand binding

Practical Applications in Projects  Present a coherent framework for motion planning problems  Emphasis of “practical” algorithms with some guarantees of performance over “theoretical” or purely “heuristic” algorithms

Framework Continuous representation (configuration space and related spaces + constraints) Discretization (random sampling, criticality-based decomposition) Graph searching (blind, best-first, A*)

Practical Algorithms (1/2) A complete motion planner always returns a solution plan when one exists and indicates that no such plan exists otherwise. Most motion planning problems are hard, meaning that complete planners take exponential time in # of degrees of freedom, objects, etc.

Practical Algorithms (2/2) Theoretical algorithms strive for completeness and minimal worst-case complexity. Difficult to implement and not robust. Heuristic algorithms strive for efficiency in commonly encountered situations. Usually no performance guarantee.  Weaker completeness  Simplifying assumptions  Exponential algorithms that work in practice

Programming Project Navigate in virtual environment Simulate legged robot Inspection of structures Search and escape

Sources Davi Geiger Jean-Claude Latombe