CS 188: Artificial Intelligence Fall 2007 Lecture 6: Robot Motion Planning 9/13/2007 Dan Klein – UC Berkeley Many slides over the course adapted from either.

Slides:



Advertisements
Similar presentations
Reactive and Potential Field Planners
Advertisements

Configuration Space. Recap Represent environments as graphs –Paths are connected vertices –Make assumption that robot is a point Need to be able to use.
Motion Planning for Point Robots CS 659 Kris Hauser.
By Lydia E. Kavraki, Petr Svestka, Jean-Claude Latombe, Mark H. Overmars Emre Dirican
University of Amsterdam Search, Navigate, and Actuate - Quantitative Navigation Arnoud Visser 1 Search, Navigate, and Actuate Quantative Navigation.
DESIGN OF A GENERIC PATH PATH PLANNING SYSTEM AILAB Path Planning Workgroup.
Planning under Uncertainty
1 Last lecture  Configuration Space Free-Space and C-Space Obstacles Minkowski Sums.
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)
Nonholonomic Multibody Mobile Robots: Controllability and Motion Planning in the Presence of Obstacles (1991) Jerome Barraquand Jean-Claude Latombe.
Introduction to Robotics
Robotics CSPP Artificial Intelligence March 10, 2004.
Optimization via Search CPSC 315 – Programming Studio Spring 2009 Project 2, Lecture 4 Adapted from slides of Yoonsuck Choe.
Robotics R&N: ch 25 based on material from Jean- Claude Latombe, Daphne Koller, Stuart Russell.
CS 188: Artificial Intelligence Fall 2009
Chapter 25: Robotics April 27, The Week Ahead … Wednesday: Dmitrii Zagorodnov Thursday: Jeff Elser’s presentation, general discussion Friday: Rafal.
Chapter 5: Path Planning Hadi Moradi. Motivation Need to choose a path for the end effector that avoids collisions and singularities Collisions are easy.
CS 188: Artificial Intelligence Spring 2006 Lecture 2: Queue-Based Search 8/31/2006 Dan Klein – UC Berkeley Many slides over the course adapted from either.
CS 188: Artificial Intelligence Fall 2009 Lecture 19: Hidden Markov Models 11/3/2009 Dan Klein – UC Berkeley.
1 Single Robot Motion Planning Liang-Jun Zhang COMP Sep 22, 2008.
Optimization via Search CPSC 315 – Programming Studio Spring 2008 Project 2, Lecture 4 Adapted from slides of Yoonsuck Choe.
CS 188: Artificial Intelligence Fall 2006 Lecture 5: Robot Motion Planning 9/14/2006 Dan Klein – UC Berkeley Many slides over the course adapted from either.
Lab 3 How’d it go?.
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.
Slide 1 Robot Motion Planning Andrew W. Moore Professor School of Computer Science Carnegie Mellon University
Robotics Chapter 5 – Path and Trajectory Planning
An Introduction to Artificial Life Lecture 4b: Informed Search and Exploration Ramin Halavati In which we see how information.
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.
Local Search Algorithms
Local Search Pat Riddle 2012 Semester 2 Patricia J Riddle Adapted from slides by Stuart Russell,
CHAPTER 4, Part II Oliver Schulte Summer 2011 Local Search.
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,
UNC Chapel Hill M. C. Lin Introduction to Motion Planning Applications Overview of the Problem Basics – Planning for Point Robot –Visibility Graphs –Roadmap.
Lecture 5: Solving CSPs Fast! 1/30/2012 Robert Pless – Wash U. Multiple slides over the course adapted from Kilian Weinberger, Dan Klein (or Stuart Russell.
Robotics Club: 5:30 this evening
1cs426-winter-2008 Notes  Will add references to splines on web page.
Robotics Chapter 5 – Path and Trajectory Planning
Randomized Kinodynamics Planning Steven M. LaVelle and James J
Autonomous Robots Robot Path Planning (3) © Manfred Huber 2008.
CHAPTER 2 SEARCH HEURISTIC. QUESTION ???? What is Artificial Intelligence? The study of systems that act rationally What does rational mean? Given its.
CS 188: Artificial Intelligence Spring 2006 Lecture 7: CSPs II 2/7/2006 Dan Klein – UC Berkeley Many slides from either Stuart Russell or Andrew Moore.
CS 188: Artificial Intelligence Fall 2006 Lecture 5: CSPs II 9/12/2006 Dan Klein – UC Berkeley Many slides over the course adapted from either Stuart Russell.
CS 188: Artificial Intelligence Fall 2006 Lecture 7: Adversarial Search 9/19/2006 Dan Klein – UC Berkeley Many slides over the course adapted from either.
CS 188: Artificial Intelligence Fall 2008 Lecture 6: Adversarial Search 9/16/2008 Dan Klein – UC Berkeley Many slides over the course adapted from either.
CS 188: Artificial Intelligence Spring 2006 Lecture 5: Robot Motion Planning 1/31/2006 Dan Klein – UC Berkeley Many slides from either Stuart Russell or.
Local Search Algorithms CMPT 463. When: Tuesday, April 5 3:30PM Where: RLC 105 Team based: one, two or three people per team Languages: Python, C++ and.
Autonomous Robots Robot Path Planning (2) © Manfred Huber 2008.
1 Intro to AI Local Search. 2 Intro to AI Local search and optimization Local search: –use single current state & move to neighboring states Idea: –start.
CSPP Artificial Intelligence March 10, 2004
CMSC Artificial Intelligence March 11, 2008
CSCI 4310 Lecture 10: Local Search Algorithms
CS b659: Intelligent Robotics
Schedule for next 2 weeks
Local Search Algorithms
CS 188: Artificial Intelligence Fall 2007
CS 188: Artificial Intelligence Spring 2007
Last lecture Configuration Space Free-Space and C-Space Obstacles
CS 188: Artificial Intelligence Fall 2008
CS 188: Artificial Intelligence Spring 2006
CHAPTER 14 ROBOTICS.
More on Search: A* and Optimization
CS 188: Artificial Intelligence Fall 2008
CS 188: Artificial Intelligence Spring 2006
CS 188: Artificial Intelligence Fall 2007
Robotics meet Computer Science
Planning.
Classic Motion Planning Methods
Presentation transcript:

CS 188: Artificial Intelligence Fall 2007 Lecture 6: Robot Motion Planning 9/13/2007 Dan Klein – UC Berkeley Many slides over the course adapted from either Stuart Russell or Andrew Moore

Announcements  Project 1 due (yesterday)!  Project 2 (Pacman with ghosts) up in a few days  Reminder: you are allowed to work with a partner!  If you need a partner, come up to the front after class  Mini-Homeworks

Today  Robot motion planning  Local search

Robot motion planning!

Robotics Tasks  Motion planning (today)  How to move from A to B  Known obstacles  Offline planning  Localization (later)  Where exactly am I?  Known map  Ongoing localization (why?)  Mapping (much later)  What’s the world like?  Exploration / discovery  SLAM: simultaneous localization and mapping

Mobile Robots  High-level objectives: move around obstacles, etc  Low-level: fine motor control to achieve motion  Why is motion planning hard? Start Configuration Immovable Obstacles Goal Configuration

Manipulator Robots  High-level goals: reconfigure environment  Low-level: move from configuration A to B (point-to-point motion)  Why is this already hard?  Also: compliant motion

Sensors and Effectors  Sensors vs. Percepts  Agent programs receive percepts  Agent bodies have sensors  Includes proprioceptive sensors  Real world: sensors break, give noisy answers, miscalibrate, etc.  Effectors vs. Actuators  Agent programs have actuators (control lines)  Agent bodies have effectors (gears and motors)  Real-world: wheels slip, motors fail, etc.

Degrees of Freedom 2 DOFs 3 DOFs Question: How many DOFs for a polyhedron free-flying in 3D space?  The degrees of freedom are the numbers required to specify a robot’s configuration – the “dimensionality”  Positional DOFs:  (x, y, z) of free-flying robot  direction robot is facing  Effector DOFs  Arm angle  Wing position  Static state: robot shape and position  Dynamic state: derivatives of static DOFs (why have these?)

Example  How many DOFs?  What are the natural coordinates for specifying the robot’s configuration?  These are the configuration space coordinates  What are the natural coordinates for specifying the effector tip’s position?  These are the work space coordinates

Example  How many DOFs?  How does this compare to your arm?  How many are required for arbitrary positioning of end-effector?

Holonomicity  Holonomic robots control all their DOFs (e.g. manipulator arms)  Easier to control  Harder to build  Non-holonomic robots do not directly control all DOFs (e.g. a car)

Coordinate Systems  Workspace:  The world’s (x, y) system  Obstacles specified here  Configuration space  The robot’s state  Planning happens here  Obstacles can be projected to here

Kinematics  Kinematics  The mapping from configurations to workspace coordinates  Generally involves some trigonometry  Usually pretty easy  Inverse Kinematics  The inverse: effector positions to configurations  Usually non-unique (why?) Forward kinematics

Configuration Space  Configuration space  Just a coordinate system  Not all points are reachable / legal  Legal configurations:  No collisions  No self-intersection

Obstacles in C-Space  What / where are the obstacles?  Remaining space is free space

More Obstacles

Topology  You very quickly get into tricky issues of topology:  Point robot in 3D: R 3  Directional robot with fixed position in 3D: SO(3)  Two rotational-jointed robot in 2D: S 1 xS 1  For the present purposes, we’ll just ignore these issues  In practice, you have to deal with it properly

Example: 2D Polygons WorkspaceConfiguration Space

Example: Rotation

Example: A Less Simple Arm [DEMO]

Summary  Degrees of freedom  Legal robot configurations form configuration space  Even simple obstacles have complex images in c-space

Motion as Search  Motion planning as path-finding problem  Problem: configuration space is continuous  Problem: under-constrained motion  Problem: configuration space can be complex Why are there two paths from 1 to 2?

Decomposition Methods  Break c-space into discrete regions  Solve as a discrete problem

Exact Decomposition?  With polygon obstacles: decompose exactly  Problems?  Doesn’t scale at all  Doesn’t work with complex, curved obstacles

Approximate Decomposition  Break c-space into a grid  Search (A*, etc)  What can go wrong?  If no path found, can subdivide and repeat  Problems?  Still scales poorly  Incomplete*  Wiggly paths G S

Hierarchical Decomposition  But:  Not optimal  Not complete  Still hopeless above a small number of dimensions  Actually used in some real systems

Skeletonization Methods  Decomposition methods turn configuration space into a grid  Skeletonization methods turn it into a set of points, with preset linear paths between them

Visibility Graphs  Shortest paths:  No obstacles: straight line  Otherwise: will go from vertex to vertex  Fairly obvious, but somewhat awkward to prove  Visibility methods:  All free vertex-to-vertex lines (visibility graph)  Search using, e.g. A*  Can be done in O(n 3 ) easily, O(n 2 log(n)) less easily  Problems?  Bang, screech!  Not robust to control errors  Wrong kind of optimality? q start q goal q start

Voronoi Decomposition  Voronoi regions: points colored by closest obstacle  Voronoi diagram: borders between regions  Can be calculated efficiently for points (and polygons) in 2D  In higher dimensions, some approximation methods R G B Y

Voronoi Decomposition  Algorithm:  Compute the Voronoi diagram of the configuration space  Compute shortest path (line) from start to closest point on Voronoi diagram  Compute shortest path (line) from goal to closest point on Voronoi diagram.  Compute shortest path from start to goal along Voronoi diagram  Problems:  Hard over 2D, hard with complex obstacles  Can do weird things:

Probabilistic Roadmaps  Idea: just pick random points as nodes in a visibility graph  This gives probabilistic roadmaps  Very successful in practice  Lets you add points where you need them  If insufficient points, incomplete, or weird paths

Roadmap Example

Potential Field Methods  So far: implicit preference for short paths  Rational agent should balance distance with risk!  Idea: introduce cost for being close to an obstacle  Can do this with discrete methods (how?)  Usually most natural with continuous methods

Potential Fields  Cost for:  Being far from goal  Being near an obstacle  Go downhill  What could go wrong?

Local Search  Queue-based algorithms keep fallback options (backtracking)  Local search: improve what you have until you can’t make it better  Generally much more efficient (but incomplete)

Hill Climbing  Simple, general idea:  Start wherever  Always choose the best neighbor  If no neighbors have better scores than current, quit  Why can this be a terrible idea?  Complete?  Optimal?  What’s good about it?

Hill Climbing Diagram  Random restarts?  Random sideways steps?

Simulated Annealing  Idea: Escape local maxima by allowing downhill moves  But make them rarer as time goes on

Simulated Annealing  Theoretical guarantee:  Stationary distribution:  If T decreased slowly enough, will converge to optimal state!  Is this an interesting guarantee?  Sounds like magic, but reality is reality:  The more downhill steps you need to escape, the less likely you are to every make them all in a row  People think hard about ridge operators which let you jump around the space in better ways

Beam Search  Like hill-climbing search, but keep K states at all times:  Variables: beam size, encourage diversity?  The best choice in MANY practical settings  Complete? Optimal?  Why do we still need optimal methods? Greedy SearchBeam Search

Genetic Algorithms  Genetic algorithms use a natural selection metaphor  Like beam search (selection), but also have pairwise crossover operators, with optional mutation  Probably the most misunderstood, misapplied (and even maligned) technique around!

Example: N-Queens  Why does crossover make sense here?  When wouldn’t it make sense?  What would mutation be?  What would a good fitness function be?

Continuous Problems  Placing airports in Romania  States: (x 1,y 1,x 2,y 2,x 3,y 3 )  Cost: sum of squared distances to closest city

Gradient Methods  How to deal with continous (therefore infinite) state spaces?  Discretization: bucket ranges of values  E.g. force integral coordinates  Continuous optimization  E.g. gradient ascent Image from vias.org