Table of Contents
Potential Field Navigation with Harmonic Functions
—————————————————————————————————————————–
Author: Tristan Brodeur Email: brodeurtristan@gmail.com Date: Last modified on 09/11/17 Keywords: Navigation, Path, Planning
—————————————————————————————————————————–
Overview
This tutorial covers the use of harmonic functions to navigate a robot through an obstacle course. Harmonic potential fields overcomes many of the shortcomings of ordinary potential fields path planning algorithms, as it utilizes harmonic functions that rid of local minima within a plane.
—————————————————————————————————————————–
Motivation and Audience
This tutorial's motivation is to first give an overview of properties of harmonic functions, and then demonstrate the ability of harmonic functions to alleviate some of the shortcomings typical potential fields path planning algorithms face. I will then explain and demonstrate the multi-panel approach for complex obstacle representation.
The rest of this tutorial is presented as follows:
This work is presented in more detail in this paper .
—————————————————————————————————————————–
Harmonic Functions
- Harmonic functions are multi-variable functions defined in terms of the laplacian.
- A laplacian is a special way to extend the second-derivative into multiple dimensions.
- Harmonic functions are functions where the laplacian is equal to zero (Δf = 0).
—————————————————————————————————————————–
Properties of Harmonic Functions
- Mean-Value Property
- For a 2-dim potential function φ, the mean-value property states that value of harmonic function φ at a point (x,y) is equal to average value at φ over any circle around (x,y)
- Maximum Principle
- Maximum of a non-constant harmonic function occurs on the boundary
- Minimum Principle
- Minimum of a non-constant harmonic function occurs on the boundary
- These properties are useful for obstacle avoidance as harmonic function completely eliminates local minima, a major shortcoming of conventional potential field path planning algorithms.
- The figure above and to the left represents an artificial potential field using harmonic functions, whereas the right represents that of an artificial potential field using non-harmonic function. There exists a local minima at (0,0) for the non-harmonic function but not so for the harmonic.
- You can also observe the minimum and maximum principles displayed in the figure. All maximum and minimums occur on the boundary of the potential field.
—————————————————————————————————————————–
Uniform Flow
- Harmonic Function useful for building artificial potential fields.
- In n=2 dimensions, if flow flows in directions which makes an angle α with x-axis, the potential function for uniform flow is:
- U = magnitude (strength of uniform flow)
- With uniform flow, potential around a point is determined by strength of: uniform flow + strength of panel source.
—————————————————————————————————————————–
Panel Method for Potential Fields
- The panel method is used to solve potential flow of a fluid around bodies of arbitrary shape.
- In this method, the surface of a body is covered by a finite number of small areas called panels.
- Each panel contains source or sink singularities which have a uniform density.
- In the picture below, a single panel is distributed with uniform sources with strength per unit length of λ.
- Differentiation w.r.t. x and y gives the following expressions for the velocity components:
—————————————————————————————————————————–
Multi-Panel Method for Complex Obstacles
- Used to represent complex obstacles and cluttered environments.
- Obstacles approximated by set of panels numbered in clockwise direction.
- Each panel has own center point with a desired outward normal velocity as input variable.
- Boundary points are intersections of neighboring panels.
- where Rj is the euclidean distance between point (x,y) and the point (xj, yj) at panel j.
Goal Points
- We need an attractive potential at our goal point, where the potential has only one global minimum.
- where Rg is the euclidean distance between point (x,y) and the goal point (xg, yg).