Lecture 3: Motion Planning 2

Similar documents
Lecture 3: Motion Planning (cont.)

Spring 2010: Lecture 9. Ashutosh Saxena. Ashutosh Saxena

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

Robot Motion Planning

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

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

Planning in Mobile Robotics

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

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

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

Sung-Eui Yoon ( 윤성의 )

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

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

CS 188: Artificial Intelligence Fall Announcements

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

Motion Planning 2D. Corso di Robotica Prof. Davide Brugali Università degli Studi di Bergamo

Computational Geometry csci3250. Laura Toma. Bowdoin College

Configuration Space of a Robot

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

Advanced Robotics Path Planning & Navigation

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

Robot Motion Planning

for Motion Planning RSS Lecture 10 Prof. Seth Teller

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

Computer Game Programming Basic Path Finding

Visual Navigation for Flying Robots. Motion Planning

Path Planning for Point Robots. NUS CS 5247 David Hsu

Lecture 11 Combinatorial Planning: In the Plane

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

Cognitive Robotics Robot Motion Planning Matteo Matteucci

Assignment 1 is out! Due: 9 Sep 23:59! Can work in a group of 2-3 students.! NO cheating!!!! Submit in turnitin! Code + report!

Sampling-based Planning 2

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

Euclidean Shortest Paths in Simple Cube Curves at a Glance

Road Map Methods. Including material from Howie Choset / G.D. Hager S. Leonard

Configuration Space. Ioannis Rekleitis

Robot Motion Control Matteo Matteucci

Specialized PRM Trajectory Planning For Hyper-Redundant Robot Manipulators

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

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

ROBOT MOTION USING DELAUNAY TRIANGULATION

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

CS 4649/7649 Robot Intelligence: Planning

Manipula0on Algorithms Mo0on Planning. Mo#on Planning I. Katharina Muelling (NREC, Carnegie Mellon University) 1

Trajectory Optimization

Lesson 1 Introduction to Path Planning Graph Searches: BFS and DFS

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

Probabilistic Methods for Kinodynamic Path Planning

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

Advanced Robotics Path Planning & Navigation

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

The Art Gallery Problem: An Overview and Extension to Chromatic Coloring and Mobile Guards

Sub-Optimal Heuristic Search ARA* and Experience Graphs

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

Spring Localization II. Roland Siegwart, Margarita Chli, Juan Nieto, Nick Lawrance. ASL Autonomous Systems Lab. Autonomous Mobile Robots

Mobile Robot Path Planning in Static Environments using Particle Swarm Optimization

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

Introduction to robot algorithms CSE 410/510

Navigation and Metric Path Planning

1 Trajectories. Class Notes, Trajectory Planning, COMS4733. Figure 1: Robot control system.

Efficient Optimal Search of Euclidean-Cost Grids and Lattices. James J. Kuffner

7 3-Sep Localization and Navigation (GPS, INS, & SLAM) 8 10-Sep State-space modelling & Controller Design 9 17-Sep Vision-based control

Geometric Path Planning McGill COMP 765 Oct 12 th, 2017

Introduction to Mobile Robotics Path Planning and Collision Avoidance

ME512: Mobile Robotics Path Planning Algorithms. Atul Thakur, Assistant Professor Mechanical Engineering Department IIT Patna

CS 460/560 Introduction to Computational Robotics Fall 2017, Rutgers University. Course Logistics. Instructor: Jingjin Yu

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

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

Notes for Lecture 24

Shorter, Smaller, Tighter Old and New Challenges

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

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

Spring Localization II. Roland Siegwart, Margarita Chli, Martin Rufli. ASL Autonomous Systems Lab. Autonomous Mobile Robots

Approximate path planning. Computational Geometry csci3250 Laura Toma Bowdoin College

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

Stable Trajectory Design for Highly Constrained Environments using Receding Horizon Control

Motion Planning. Jana Kosecka Department of Computer Science

f-v v-f f-e e-f f-f e-e-cross e-v v-e degenerate PCs e-e-touch v-v

Manipulator trajectory planning

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

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

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

Last update: May 6, Robotics. CMSC 421: Chapter 25. CMSC 421: Chapter 25 1

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

ON THE DUALITY OF ROBOT AND SENSOR PATH PLANNING. Ashleigh Swingler and Silvia Ferrari Mechanical Engineering and Materials Science Duke University

Agent Based Intersection Traffic Simulation

Announcements. CS 188: Artificial Intelligence Fall 2010

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

CS 763 F16. Moving objects in space with obstacles/constraints.

CS 188: Artificial Intelligence Fall 2011

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

Principles of Robot Motion

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

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

Motion Planning. Chapter Motion Planning Concepts. by Lydia E. Kavraki and Steven M. LaValle Configuration Space

Probabilistic Motion Planning: Algorithms and Applications

CS4733 Class Notes. 1 2-D Robot Motion Planning Algorithm Using Grown Obstacles

Navigation methods and systems

INCREASING THE CONNECTIVITY OF PROBABILISTIC ROADMAPS VIA GENETIC POST-PROCESSING. Giuseppe Oriolo Stefano Panzieri Andrea Turli

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

Transcription:

CS 294-115 Algorithmic Human-Robot Interaction Fall 2017 Lecture 3: Motion Planning 2 Scribes: David Chan and Liting Sun - Adapted from F2016 Notes by Molly Nicholas and Chelsea Zhang 3.1 Previously Recall that we defined configuration spaces. Take the below example, where we have the robot in the World space (W = R 2 or R 3 ) on the left, and the Configuration space on the right. Note that C-space (C) may not have the same dimension as the World space, but it does allow us to represent the robot as a single point. Recall that we defined an obstacle in the world as a set O W (In many cases, this is a set of world-space points which we would like to avoid when motion planning). We defined C obs C to be the set of all configurations q C such that when the robot s configuration is represented in the world space (with the kinematics function R : C P(W)) the robot does not conflict with the obstacle O. In other words, we defined C obs as: C obs = {q C R(q) O = } Additionally, we defined C f ree as the configurations not in C obs (that is, C f ree = C c obs = C \ C obs). 3.2 The Motion Planning Problem 3.2.1 Problem Statement Motion Planning Problem Statement: How you get from A (a particular configuration) to another configuration (B) without intercepting C obs. Also known as the Piano Movers Problem. (Side note: This was named because moving a piano is actually quite difficult, taking into account obstacles and so on). 3-1

3-2 Lecture 3: Motion Planning 2 The problem is stated as follows: Given: 1. World Space W (R 2 or R 3 ) 2. Obstacle Region O W 3. Robot, C-Space C and Kinematics R : C P(W) 4. Starting Configuration q s C 5. Goal Configuration q g C Task: Compute a continuous path τ : [0, 1] C f ree such that τ(0) = q s and τ(1) = q g. Notice in the above that τ is a function that maps from the interval [0, 1] to the legal configuration space given O. It s only a path, not a timed path (such a timed path is called a trajectory) and focuses on the geometry of the space. The path is unitless, and may not necessarily be optimal by any metric. A solution to the motion planning problem for any give W, O, C, R, q s, q g may not exist. Notice in the figure below that there are a large number of solutions, each optimizing a different metric. They are all valid solutions. On the other hand, in the figure below, there is no solution at all, which means that this motion planning problem is not feasible.

Lecture 3: Motion Planning 2 3-3 Complexity: In 1985, Reif and Sharir showed that motion planning was NP-Hard. In 1988, Canny showed it to be NP-Complete 1. 3.2.2 Alt-Motion Planning There are a number of possible extensions to the motion planning problem. You might consider: Maximizing a utility function u over τ Changing τ to be a function of time instead of over the interval [0, 1 Replacing q g C with a goal state in W Having a set of possible goals instead of a single one Moving obstacles or goals Multi-Step planning The addition of constraints (in W or in C The addition of uncertainty This is by no means a complete list, however it does provide some insight into extensions and reformulations of the base motion planning problem. 3.3 Algorithms We will examine three types of algorithms for solving the Motion Planning Problem: 1. Analytic / Geometric 2. Grid search 3. Sampling-based We will cover the first two motion planning algorithms today. Both try to find not just any path τ, but a τ that minimizes Euclidean distance (more or less). Its worth noting that Euclidean distance in configuration space may not be the best metric to optimize perhaps moving the robot wrist is preferable to moving the shoulder, since the shoulder carries all the arm weight. 1 For more information on NP-Hard and NP-Complete consult chapter 34 of Cormen, Thomas H. Introduction to algorithms. MIT press, 2009.

3-4 Lecture 3: Motion Planning 2 3.3.1 Visibility Graphs 3.3.1.1 Algorithm Statement The simplest motion planning algorithm we cover uses a visibility graph (Nilsson, 1969). This algorithm assumes polygonal obstacles in C-space. Intuitively, it connects all vertices that can see each other, i.e. all vertices for which the straight line connecting them lies in C f ree. Then it runs a graph search algorithm to find the shortest path. See below for an example. A path is found from q s to q g by connecting mutually visible polygonal vertices and running graph search More formally, we first assume that C obs is made up of polygonal connected sets in C-Space. Let V obs C be the set of vertices of the polygons making up C obs, and let V = {q s, q g } V obs. We construct a graph G = (V, E) on the vertex set V with the rule that an edge e = (v 1, v 2 ), v 1, v 2 V is in E if and only if the line from v 1 to v 2 does not intersect C obs o. In other words: E = {(u, v) V V t [0, 1], (1 t)u + (t)v C f ree } We then run a graph search algorithm (DFS, BFS, A, etc.) to compute a path between q s and q g if such a path exists. 3.3.1.2 Pros & Cons Pros: + The Visibility Graph algorithm is complete 2. + The Visibility Graph algorithm is Optimal (under the shortest euclidean path metric). Cons: - It solves a subset of the motion planning problem; the assumption of polygonal obstacles is quite restrictive. Note that robot arms, and rotation-capable robots in general, break the assumption of polygonal obstacles. For arms, a point obstacle in the world becomes a curve in C-space. - You need explicit access to the polygonal obstacles in C-Space (that is, you need an explicit definition of C obs which is hard to construct from O and these obstacles need to be polygonal). 2 An algorithm is complete iff the algorithm terminates in finite time with a solution should such a solution exists, or will terminate in finite time with an answer of No Solution

Lecture 3: Motion Planning 2 3-5 3.3.2 Grid Search Grid search overcomes both of these limitations, at the cost of sacrificing optimality and completeness. This approach discretizes C-space into a grid, and performs graph search on the grid vertices, discarding them if they are in collision with obstacles. While it initially seems like such an algorithm does not resolve either issue we had with visibility graphs, we will introduce an implicit method of determining intersection with C obs which does not require constructing each of the obstacles in C-Space which significantly reduces the time to solution for the algorithm. 3.3.2.1 Algorithm Statement The Grid Search algorithm relies on two essential components - a discritization of C-Space, and a collision checker γ : C {0, 1}. The boolean function γ has the role of determining if a point in C is in collision with C obs, that is: { 0 if q C γ(q) = f ree 1 otherwise In grid search, the first step is to discretize C-Space (The traditional algorithm uses a grid formed by segmenting each dimension in C-Space). Then, for each discretized cell, a point inside that cell is selected to be the representative point of the cell (this is often the center of the cell, but it is up to the person who is implementing the algorithm). We then form a graph G by connecting the representative point from each cell to the representative points from each neighboring cell (In R 2, this can create either a 4 or 8 connected grid, depending on the choices made my the algorithm designer). Then, for each cell D with representative point p, if γ(p) = 0, then D is considered a free cell, and remains in the graph G. On the other hand, if γ(p) = 1, then D is considered occupied, and removed from G. One example is given below. Finally, graph search is run on the graph G, and if a path is found it is presented as a solution. Otherwise, the algorithm returns that no solution can be found.

3-6 Lecture 3: Motion Planning 2 3.3.2.2 Pros & Cons Pros: + Only need to check the vertices of G for a collision, which uses an implicit representation of C obs. + Solvable by BFS, DFS, A and other traditional graph search algorithms + Resolution Complete. This means that if a solution exists that falls within the resolution of our discritization, it will be presented in finite time, otherwise the algorithm will terminate in finite time. + Resolution Optimal (Exactly what you think it means) Cons: - The algorithm may not find paths that are too fine for the level of discritization chosen by the algorithm designer. - Discritization is expensive (curse of dimension), which means that the number of grids increases exponentially as the increase of the number of DOFs. (Side note: this can now be solved using some advanced search algorithms for high DOFs robots.) 3.4 Next Time Next lecture we will discuss sampling-based motion planning algorithms, which are what the vast majority of robots run nowadays. These algorithms build a graph on the fly, collecting samples until a point is found that can be added to the path without collisions. Probabilistic roadmaps (PRMs), introduced in 1996, enabled planning for robot arms in high dimensions. The rapidly exploring random tree (RRT), invented for kinodynamic planning, is the tree version of the PRM.