Robotic Motion Planning: Review C-Space and Start Potential Functions

Similar documents
Motion Planning. Howie CHoset

Potential Function. Homework #3. Part I: Star Algorithm

Motion Planning. Howie CHoset

CS Path Planning

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

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

Roadmaps. Vertex Visibility Graph. Reduced visibility graph, i.e., not including segments that extend into obstacles on either side.

Sung-Eui Yoon ( 윤성의 )

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

Motion Planning. O Rourke, Chapter 8

Path Planning for Point Robots. NUS CS 5247 David Hsu

CS 378: Computer Game Technology

Unit 5: Part 1 Planning

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

Robotic Motion Planning: Configuration Space

Motion Planning, Part IV Graph Search Part II. Howie Choset

Planning: Part 1 Classical Planning

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

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

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

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

Robot Motion Planning

Cost Functions in Machine Learning

Robot Motion Planning and (a little) Computational Geometry

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

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

CS 188: Artificial Intelligence Fall Announcements

Robotics. Chapter 25-b. Chapter 25-b 1

Geometric Path Planning McGill COMP 765 Oct 12 th, 2017

5 Machine Learning Abstractions and Numerical Optimization

Exam in DD2426 Robotics and Autonomous Systems

Robotic Motion Planning: A* and D* Search

Artificial Intelligence for Robotics: A Brief Summary

Navigation and Metric Path Planning

Basics of Computational Geometry

Theory of Robotics and Mechatronics

3.3 Optimizing Functions of Several Variables 3.4 Lagrange Multipliers

2 Second Derivatives. As we have seen, a function f (x, y) of two variables has four different partial derivatives: f xx. f yx. f x y.

CS 188: Artificial Intelligence Spring Today

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

Robotic Motion Planning: Cell Decompositions (with some discussion on coverage and pursuer/evader)

Lecture 25 Nonlinear Programming. November 9, 2009

Geodesics in heat: A new approach to computing distance

MOBILE ROBOTS NAVIGATION, MAPPING & LOCALIZATION: PART I

Velocity: A Bat s Eye View of Velocity

Planning in Mobile Robotics

A Brief Look at Optimization

x 6 + λ 2 x 6 = for the curve y = 1 2 x3 gives f(1, 1 2 ) = λ actually has another solution besides λ = 1 2 = However, the equation λ

Robots are built to accomplish complex and difficult tasks that require highly non-linear motions.

(1) Given the following system of linear equations, which depends on a parameter a R, 3x y + 5z = 2 4x + y + (a 2 14)z = a + 2

Probabilistic Methods for Kinodynamic Path Planning

Edge and local feature detection - 2. Importance of edge detection in computer vision

EE631 Cooperating Autonomous Mobile Robots

Minima, Maxima, Saddle points

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

A* and 3D Configuration Space

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

Introduction to Optimization Problems and Methods

for Motion Planning RSS Lecture 10 Prof. Seth Teller

Combining Deep Reinforcement Learning and Safety Based Control for Autonomous Driving

Introduction to Mobile Robotics Path Planning and Collision Avoidance

Mobile Robot Path Planning in Static Environments using Particle Swarm Optimization

2D vector fields 3. Contents. Line Integral Convolution (LIC) Image based flow visualization Vector field topology. Fast LIC Oriented LIC

Trajectory Optimization

Inverse and Implicit functions

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

Path Planning. Ioannis Rekleitis

Math 5320, 3/28/18 Worksheet 26: Ruler and compass constructions. 1. Use your ruler and compass to construct a line perpendicular to the line below:

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

Robot motion planning using exact cell decomposition and potential field methods

Lecture 12 Level Sets & Parametric Transforms. sec & ch. 11 of Machine Vision by Wesley E. Snyder & Hairong Qi

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

Linear algebra deals with matrixes: two-dimensional arrays of values. Here s a matrix: [ x + 5y + 7z 9x + 3y + 11z

A Vision System for Automatic State Determination of Grid Based Board Games

Final Exam Practice Fall Semester, 2012

Differential Geometry: Circle Patterns (Part 1) [Discrete Conformal Mappinngs via Circle Patterns. Kharevych, Springborn and Schröder]

Trajectory Modification Using Elastic Force for Collision Avoidance of a Mobile Manipulator

Algebraic Geometry of Segmentation and Tracking

Practice problems. 1. Given a = 3i 2j and b = 2i + j. Write c = i + j in terms of a and b.

1.5 Equations of Lines and Planes in 3-D

Discrete Motion Planning

Robotics: Science and Systems I Lab 6: Motion Planning and Global Navigation Begins: 3/5/2014, 3pm Due: 3/12/2014, 3pm

Final Exam : Introduction to Robotics. Last Updated: 9 May You will have 1 hour and 15 minutes to complete this exam

Advanced Robotics Path Planning & Navigation

MCS 118 Quiz 1. Fall (5pts) Solve the following equations for x. 7x 2 = 4x x 2 5x = 2

Spring 2010: Lecture 9. Ashutosh Saxena. Ashutosh Saxena

As a consequence of the operation, there are new incidences between edges and triangles that did not exist in K; see Figure II.9.

Elastic Bands: Connecting Path Planning and Control

Chapter Multidimensional Gradient Method

Advanced Robotics Path Planning & Navigation

Introduction to Robotics

2.1 Transforming Linear Functions

Lecture 2: August 29, 2018

HOUGH TRANSFORM CS 6350 C V

Winter 2012 Math 255 Section 006. Problem Set 7

Neural Network and Deep Learning. Donglin Zeng, Department of Biostatistics, University of North Carolina

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

REGRESSION ANALYSIS : LINEAR BY MAUAJAMA FIRDAUS & TULIKA SAHA

Robotic Motion Planning: Bug Algorithms (with some discussion on curve tracing and sensors)

Transcription:

Robotic Motion Planning: Review C-Space and Start Potential Functions Robotics Institute 16-735 http://www.cs.cmu.edu/~motionplanning Howie Choset http://www.cs.cmu.edu/~choset

What if the robot is not a point? The Scout should probably not be modeled as a point... β α Nor should robots with extended linkages that may contact obstacles...

What is the position of the robot? Expand obstacle(s) Reduce robot not quite right...

Trace Boundary of Workspace Really the origin of a reference configuration Pick a reference point

Polygonal robot translating & rotating in 2-D workspace θ y x Reference configuration

Mapping from the workspace to the configuration space Reference configuration is horizontal configuration workspace configuration space The free space is generally an open set A free path is a mapping c:[0,1]æ Qfree A semifree path is a mapping c:[0,1]æ cl(qfree)

Minkowski sum The Minkowski sum of two sets P and Q, denoted by P Q, is defined as P+Q = { p+q p P, q Q } q Similarly, the Minkowski difference is defined as P Q = { p q p P, q Q } p

Minkowski sum of convex polygons The Minkowski sum of two convex polygons P and Q of m and n vertices respectively is a convex polygon P + Q of m + n vertices. The vertices of P + Q are the sums of vertices of P and Q.

Observation If P is an obstacle in the workspace and M is a moving object. Then the C-space obstacle corresponding to P is P M. M P O

Star Algorithm: Polygonal Obstacles e1 r1 r3 r2 e4 e2 e1 e3 r2 r3 e4 e2 e3 r1

Potential Functions Additive/Repulsive Local minima Navigation Functions

The Basic Idea A really simple idea: Suppose the goal is a point g R 2 Suppose the robot is a point r R 2 Think of a spring drawing the robot toward the goal and away from obstacles: Can also think of like and opposite charges

Another Idea Think of the goal as the bottom of a bowl The robot is at the rim of the bowl What will happen?

The General Idea Both the bowl and the spring analogies are ways of storing potential energy The robot moves to a lower energy configuration A potential function is a function U : R m R Energy is minimized by following the negative gradient of the potential energy function: We can now think of a vector field over the space of all q s... at every point in time, the robot looks at the vector at the point and goes in that direction

Attractive/Repulsive Potential Field U att is the attractive potential --- move to the goal U rep is the repulsive potential --- avoid obstacles

Conical Potential Artificial Potential Field Methods: Attractive Potential Quadratic Potential F att ( q) = U = k δ att goal ( q) ( q)

Artificial Potential Field Methods: Attractive Potential Combined Potential In some cases, it may be desirable to have distance functions that grow more slowly to avoid huge velocities far from the goal one idea is to use the quadratic potential near the goal (< d*) and the conic farther away One minor issue: what?

The Repulsive Potential

Repulsive Potential

Total Potential Function U ( q) = U att ( q) + U rep ( q) F( q) = U ( q) + =

Potential Fields

Gradient Descent A simple way to get to the bottom of a potential A critical point is a point x s.t. U(x) = 0 Equation is stationary at a critical point Max, min, saddle Stability?

The Hessian For a 1-d function, how do we know we are at a unique minimum (or maximum)? The Hessian is the m m matrix of second derivatives If the Hessian is nonsingular (Det(H) 0), the critical point is a unique point if H is positive definite (x^t H x > 0), a minimum if H is negative definite, a maximum if H is indefinite, a saddle point

Gradient Descent: q(0)=q start i = 0 while U(q(i)) 0 do q(i+1) = q(i) - α(i) U(q(i)) i=i+1 Gradient Descent

Gradient Descent: q(0)=q start i = 0 while U(q(i)) > ε do q(i+1) = q(i) - α(i) U(q(i)) i=i+1 Gradient Descent

Numerically Smoother Path

Single Object Distance

Compute Distance: Sensor Information

Computing Distance: Use a Grid use a discrete version of space and work from there The Brushfire algorithm is one way to do this need to define a grid on space need to define connectivity (4/8) obstacles start with a 1 in grid; free space is zero 4 8

Brushfire Algorithm Initially: create a queue L of pixels on the boundary of all obstacles While L pop the top element t of L if d(t) = 0, set d(t) to 1+min t N(t),d(t) 0 d(t ) Add all t N(t) with d(t)=0 to L (at the end) The result is a distance map d where each cell holds the minimum distance to an obstacle. The gradient of distance is easily found by taking differences with all neighboring cells.

Brushfire example

Potential Functions Question How do we know that we have only a single (global) minimum We have two choices: not guaranteed to be a global minimum: do something other than gradient descent (what?) make sure only one global minimum (a navigation function, which we ll see later).

Ming Lin s Voronoi Region Distance Explained this on the white board.. Then talked with Potential function guys