Algorithms for Sensor-Based Robotics: Potential Functions

Similar documents
MEM380 Applied Autonomous Robots I Fall BUG Algorithms Potential Fields

Programming Robots in ROS Slides adapted from CMU, Harvard and TU Stuttgart

MAE 598: Multi-Robot Systems Fall 2016

12.1 The Extrema of a Function

Robotics 1 Inverse kinematics

Robotics. Path Planning. University of Stuttgart Winter 2018/19

Robotics 1 Inverse kinematics

Robotics. Path Planning. Marc Toussaint U Stuttgart

Lecture 8: Kinematics: Path and Trajectory Planning

Robotics 1 Inverse kinematics

Functions of Several Variables

Example: RR Robot. Illustrate the column vector of the Jacobian in the space at the end-effector point.

= F ( x; µ) (1) where x is a 2-dimensional vector, µ is a parameter, and F :

8 Eigenvectors and the Anisotropic Multivariate Gaussian Distribution

3.3.1 Linear functions yet again and dot product In 2D, a homogenous linear scalar function takes the general form:

3. Fundamentals of Lyapunov Theory

LESSON #42 - INVERSES OF FUNCTIONS AND FUNCTION NOTATION PART 2 COMMON CORE ALGEBRA II

Metric-based classifiers. Nuno Vasconcelos UCSD

(1) 1 We stick subsets of R n to avoid topological considerations.

Potential Field Methods

MOL 410/510: Introduction to Biological Dynamics Fall 2012 Problem Set #4, Nonlinear Dynamical Systems (due 10/19/2012) 6 MUST DO Questions, 1

CS 542G: Robustifying Newton, Constraints, Nonlinear Least Squares

Topic 9 Potential fields: Follow your potential

3.3 Limits and Infinity

STATIC LECTURE 4: CONSTRAINED OPTIMIZATION II - KUHN TUCKER THEORY

Secondary Math 2 Honors Unit 4 Graphing Quadratic Functions

Computational Optimization. Constrained Optimization Part 2

AP Calculus AB Summer Assignment

too, of course, but is perhaps overkill here.

Physics 272: Electricity and Magnetism. Mark Palenik Wednesday June 13 th

Sun, Moon, and Stars. The Stars

Please read this introductory material carefully; it covers topics you might not yet have seen in class.

Gross Motion Planning

Functions of Several Variables

Economics 205 Exercises

Capacitors II. Physics 2415 Lecture 9. Michael Fowler, UVa

Navigation Functions on Cross Product Spaces

Flat Geometry. Spherical Geometry

CLASS NOTES Computational Methods for Engineering Applications I Spring 2015

( ) 7 ( 5x 5 + 3) 9 b) y = x x

Graph Search Howie Choset

18.01 Single Variable Calculus Fall 2006

[Limits at infinity examples] Example. The graph of a function y = f(x) is shown below. Compute lim f(x) and lim f(x).

Computer Problems for Taylor Series and Series Convergence

Math 119 Main Points of Discussion

Topic 3 Notes Jeremy Orloff

UNCONSTRAINED OPTIMIZATION PAUL SCHRIMPF OCTOBER 24, 2013

LECTURE # - NEURAL COMPUTATION, Feb 04, Linear Regression. x 1 θ 1 output... θ M x M. Assumes a functional form

Speed (km/h) How can you determine the inverse of a function?

Dynamics of Machines. Prof. Amitabha Ghosh. Department of Mechanical Engineering. Indian Institute of Technology, Kanpur. Module No.

Topic 8c Multi Variable Optimization

Summer Review Packet for Students Entering AP Calculus BC. Complex Fractions

Activity 3.2: What holds the atoms of a molecule together?

End-of-Chapter Exercises

DIFFERENTIATION. 3.1 Approximate Value and Error (page 151)

Statistical Geometry Processing Winter Semester 2011/2012

Introduction to gradient descent

Robotics I June 11, 2018

Announcements. CS 188: Artificial Intelligence Spring Classification. Today. Classification overview. Case-Based Reasoning

Intro to Nonlinear Optimization

One Solution Two Solutions Three Solutions Four Solutions. Since both equations equal y we can set them equal Combine like terms Factor Solve for x

Topological complexity of motion planning algorithms

Take the Anxiety Out of Word Problems

Gradient Descent. Dr. Xiaowei Huang

LAB 2 - ONE DIMENSIONAL MOTION

Troy High School AP Calculus Summer Packet

Bindel, Fall 2011 Intro to Scientific Computing (CS 3220) Week 6: Monday, Mar 7. e k+1 = 1 f (ξ k ) 2 f (x k ) e2 k.

Review. Spring Semester /21/14. Physics for Scientists & Engineers 2 1

Lecture 20. March 22/24 th, Capacitance (Part I) Chapter , Pages

Mathematics 309 Conic sections and their applicationsn. Chapter 2. Quadric figures. ai,j x i x j + b i x i + c =0. 1. Coordinate changes

MATH 116, LECTURES 10 & 11: Limits

Improved Action Selection and Path Synthesis using Gradient Sampling

Eigenvectors and Eigenvalues 1

Exponential and Logarithmic Functions

k is a product of elementary matrices.

A CURL-FREE VECTOR FIELD THAT IS NOT A GRADIENT. Robert L. Foote. Math 225

Notes 3.2: Properties of Limits

Welcome. to Electrostatics

Solutions to Math 41 Final Exam December 9, 2013

VARIATIONAL PRINCIPLES

C. Finding roots of trinomials: 1st Example: x 2 5x = 14 x 2 5x 14 = 0 (x 7)(x + 2) = 0 Answer: x = 7 or x = -2

Definition: Quadratic equation: A quadratic equation is an equation that could be written in the form ax 2 + bx + c = 0 where a is not zero.

Section Handout 5 Solutions

2.) Find an equation for the line on the point (3, 2) and perpendicular to the line 6x - 3y = 1.

Learning Targets: Standard Form: Quadratic Function. Parabola. Vertex Max/Min. x-coordinate of vertex Axis of symmetry. y-intercept.

Quadratic Functions: Global Analysis

Handlebody Decomposition of a Manifold

Physics Exam 2 October 11, 2007

Dealing with Rotating Coordinate Systems Physics 321. (Eq.1)

Math (P)refresher Lecture 8: Unconstrained Optimization

Robot Dynamics II: Trajectories & Motion

STA 414/2104, Spring 2014, Practice Problem Set #1

Unconstrained Optimization

4. Functions of one variable

1 Newton s Method. Suppose we want to solve: x R. At x = x, f (x) can be approximated by:

Figure 1: Doing work on a block by pushing it across the floor.

A Basic Course in Real Analysis Prof. P. D. Srivastava Department of Mathematics Indian Institute of Technology, Kharagpur

( ) 9 b) y = x x c) y = (sin x) 7 x d) y = ( x ) cos x

AP Calculus AB Summer Assignment

Math 2 Variable Manipulation Part 7 Absolute Value & Inequalities

Transcription:

Algorithms for Sensor-Based Robotics: Potential Functions Computer Science 336 http://www.cs.jhu.edu/~hager/teaching/cs336 Professor Hager http://www.cs.jhu.edu/~hager

The Basic Idea A really simple idea: Suppose the goal is a point q start Suppose the robot is a point q goal 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 : m 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 toward the goal U rep is the repulsive potential --- move away from obstacles

Artificial Potential Field Methods: Attractive Potential Conical Potential Quadratic Potential

Artificial Potential Field Methods: Attractive 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? Combined Potential

The Repulsive Potential

Distance to the i th object is the shortest distance between q and any point c on the object Repulsive Field: Single Conve Object

Repulsive Field: Multiple Conve Object

Total Potential Function U ( q) = Uatt ( q) + Urep ( q) F( q) = -ÑU ( q) + =

Potential Fields

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).

Gradient Descent A simple way to get to the bottom of a potential A critical point is a point s.t. U() = 0 Equation is stationary at a critical point Ma, min, saddle Stability? CS 336/436, GD Hager with slides fnrom Ji Yeong Lee, Howie Choset and Z. Dodds

The Hessian For a 1-d function, how do we know we are at a unique minimum (or maimum)? The Hessian is the NN matri of second derivatives If the Hessian is nonsingular (det(h) 0), the critical point is a unique point if H is positive definite ( T H > 0), a minimum if H is negative definite, a maimum if H is indefinite, a saddle point A function is Morse if its critical points are all isolated points (Hessian is everywhere nonsingular). 1 1 1 1 1 ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( N N N N N f f f f f f f f f H

Gradient Descent Gradient Descent: q(0)=q start i = 0 while U(q(i)) 0 do q(i+1) = q(i) - a(i) U(q(i)) i=i+1 Does U(q) need to be computed before? What about this?

Potential Fields on Non-Euclidean Spaces Thus far, we ve dealt with points in R n --- what about a robot arm? Recall we can think of the gradient vectors as forces -- the basic idea is to define forces in the workspace (which is or 3 ) Power in configuration space Power is conserved! Power in work space q (,y) y q 1

Potential Fields on Non-Euclidean Spaces Recall we can think of the gradient vectors as forces -- the basic idea is to define forces in the workspace (which is or 3 ) We have J T f = u where f is in coordinate frame W and u is in configuration space Q Thus, we can define forces in W and then map them to Q Eample: our two-link manipulator b (,y) L 1 c a L c a+b = + y L 1 s a L s a+b L 1 y L a

Potential Fields on Non-Euclidean Spaces Eample: our two-link manipulator J = - L 1 s a - L s a+b - L s a+b L 1 c a + L c a+b L c a+b Suppose q goal = (0,0) T and f = [ f f y ] T u = J T f = J T [ f f y ] T u = f (- L 1 s a - L s a+b ) + f y ( L 1 c a + L c a+b ) f (- L s a+b ) + f y L c a+b u L f (,y) L 1 y u 1

In General Pick several points on the manipulator Compute attractive and repulsive potentials for each Transform these into the configuration space and add Use the resulting force to move the robot (in its configuration space) Be careful to use the correct Jacobian! RF 4 RF 3 RF AF 1 (, y ) ( 3, y 3 ) ( 4, y 4 ) RF 1 ( 1, y 1 )

A Simulation Eample Problem: simulate a planar n-link (revolute) manipulator. Kinematics: Let v(q) = [c q,s q ] t Points of revolution: p 0 = [0,0] t a i = i j=1 q i p i = p i-1 + L i v(a i ) Jacobian: w(q) = [-s q,c q ] t J n = L n w(a n ) J n-1 = J n + L n-1 w(a n-1 ) Now, use the revolute points as the control points to generate force vectors (note this could lead to problems in some cases).

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 connectivity 8 connectivity

Brushfire Algorithm Initially: create a queue L of piels 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 eample

Brushfire eample

Brushfire eample

The Wave-front Planner Apply the brushfire algorithm starting from the goal Label all obstacles with a 1, all other cells 0 Label the goal piel and add all zero neighbors to L While L pop the top element of L, t set d(t) to 1+min t N(t),d(t) > 1 d(t ) Add all t N(t) with d(t)=0 to L (at the end) The result is now a distance for every cell gradient descent is again a matter of moving to the neighbor with the lowest distance value

The Wavefront Planner: Setup

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

The Wavefront in Action (Part ) Now repeat with the modified cells This will be repeated until no 0 s are adjacent to cells with values >= 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 eist

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

Navigation Functions A function f: Q free [0,1] is called a navigation function if it is smooth (or at least C ) has a unique minimum at q goal is uniformly maimal on the boundary of free space is Morse A function is Morse if every critical point (a point where the gradient is zero) is isolated. The question: when can we construct such a function?

Sphere World Suppose that the world is a sphere of radius r 0 centered at q 0 containing n obstacles of radius r i centered at q i, i=1.. n b 0 (q) = -d (q,q 0 ) + r 0 b i (q) = d (q,q i ) - r i Define b(q) = b i (q) (Repulsive) note this is zero on any obstacle boundary, positive in free space and negative inside an obstacle Define (Attractive) note this will be zero at the goal, and increasing as we move away k controls the rate of growth

Sphere World Consider now O(q) is only zero at the goal O(q) goes to infinity at the boundary of any obstacle By increasing k, we can make the gradient at any direction point toward the goal It is possible to show that the only stationary point is the goal, with positive definite Hessian because therefore no local minima In short, following the gradient of O(q) is guaranteed to get to the goal (for a large enough value of k)

An Eample: Sphere World One problem: the value of O may be very large A solution: introduce a switch s l () = /(l + ) s l ( ), l > l + 0 Now, define O l (q) = s l (O(q)) this bounds the value of the function however, O may turn out not to be Morse A solution: introduce a sharpening function h k () = 1 For large enough k, this is a navigation function on the sphere world!

obstacles Navigation Function for Sphere World For sufficiently large k, k (q) is a navigation function 4 4 4 0 - -4-4 - 0 4 0 - goal -4-4 - 0 4 Local min k=3 k=4 k=6 0 - -4-4 - 0 4 4 4 4 0 0 0 - - - -4-4 -4-4 - 0 4-4 - 0 4-4 - 0 4 k=7 k=8 k=10

Navigation Function : k (q), varying k k=3 k=4 k=6 k=7 k=8 k=10

From Spheres to Stars and Beyond While it may not seem like it, we have solved a very general problem Suppose we have a diffeomorphism d from some world W to a sphere world S if O k is a navigation function on S then O k (q) = O k (d(q)) is a navigation function on W! note we also need to take the diffeomorphism into account for distances Because d is a diffeomorphism, the Jacobian is full rank Because the Jacobian is full rank, the gradient map cannot have new zeros introduced (which could only happen if the gradient was in the null space of the Jacobian) A star world is one eample where a diffeomorphism is known to eist a star-shaped set is one in which all boundary points can be seen from some single point in the space.

Which of the following are the same?

Construct the Mapping Radius of Circle shaped set Center of Star shaped set Center of Circle shaped set Star shaped set Maps stars to spheres For points on boundary of star shaped set Zero on boundary of obstacles ecept the current one One on the boundary of and Zero on the goal and other obstacle boundaries

Summary Basic potential fields attractive/repulsive forces Gradient following and Hessian Navigation functions Etensions to more comple manipulators