robot motion planning and obstacle avoidance algorithms

34
Robot Motion Planning and Obstacle Avoidance Algorithms 2012-13 1: Introduction Some of the most significant challenges confronting autonomous robotics lie in the area of motion planning. The prototypical task is to find a path for a robot, whether it is a robot arm, a mobile robot, or a magically free-flying piano, from one configuration to another while avoiding obstacles. From the early piano mover's problem, motion planning has evolved to address a huge number of variations on the problem, allowing applications in areas such as animation of digital characters, surgical planning, automatic verification of factory layouts, mapping of unexplored environments, navigation of changing environments, assembly sequencing, and drug design. 1.1 Piano Mover's Problem The classic path planning problem is the piano mover's problem. Given a three-dimensional rigid body, for example a polyhedron, and a known set of obstacles, the problem is to find a collision-free path for the omnidirectional free- flying body from a start configuration to a goal configuration. The obstacles are assumed to be stationary and perfectly known, and the execution of the planned path is exact. This is called offline planning, because planning is finished in advance of execution. Department of ECE, DSCE Page 1

Upload: meeshu-agnihotri

Post on 13-Apr-2015

115 views

Category:

Documents


2 download

DESCRIPTION

a brief look into some of the motion planning and obstacle avoidance algorithms

TRANSCRIPT

Page 1: robot motion planning and obstacle avoidance algorithms

Robot Motion Planning and Obstacle Avoidance Algorithms 2012-13

1: Introduction

Some of the most significant challenges confronting autonomous robotics lie in the area

of motion planning. The prototypical task is to find a path for a robot, whether it is a robot

arm, a mobile robot, or a magically free-flying piano, from one configuration to another

while avoiding obstacles.

From the early piano mover's problem, motion planning has evolved to address a huge

number of variations on the problem, allowing applications in areas such as animation of

digital characters, surgical planning, automatic verification of factory layouts, mapping of

unexplored environments, navigation of changing environments, assembly sequencing,

and drug design.

1.1 Piano Mover's Problem

The classic path planning problem is the piano mover's problem. Given a three-

dimensional rigid body, for example a polyhedron, and a known set of obstacles, the

problem is to find a collision-free path for the omnidirectional free-flying body from a

start configuration to a goal configuration. The obstacles are assumed to be stationary and

perfectly known, and the execution of the planned path is exact. This is called offline

planning, because planning is finished in advance of execution.

The key problem is to make sure no point on the robot hits an obstacle, so we need to

represent the location of all the points on the robot. This representation is the

configuration of the robot, and the configuration space is the space of all configurations

the robot can achieve. The configuration space is generally non-Euclidean, meaning that

it does not look like an n-dimensional Euclidean space Rn. The dimension of the

configuration space is equal to the number of independent variables in the representation

of the configuration, also known as the degrees of freedom (DOF). The problem is to find

a curve in the configuration space that connects the start and goal points and avoids all

configuration space obstacles that arise due to obstacles in the space.

Department of ECE, DSCE Page 1

Page 2: robot motion planning and obstacle avoidance algorithms

Robot Motion Planning and Obstacle Avoidance Algorithms 2012-13

1.2 APPLICATIONS OF MOTION PLANNING

Mini AERCam

NASA's Johnson Space Center is developing the Mini AERCam, or Autonomous

Extravehicular Robotic Camera, for visual inspection tasks in space (figure 1.1). It is a

free-flying robot which when operating in autonomous mode, must be able to navigate in

a potentially complex three-dimensional environment.

Figure 1.1: NASA's Mini AERCam free-flying video inspection robot.

Planetary Exploration

One of the most exciting successes in robot deployment was a mobile robot, called

Sojourner, which landed on Mars on July 4, 1997. Sojourner provided up-close images of

Martian terrain surrounding the lander. Sojourner did not move very far from the lander

and was able to rely on motion plans generated offline on Earth and uploaded.

Demining

Mine fields stifle economic development and result in tragic injuries and deaths each

year. Robots can play a key role in quickly and safely demining an area. The crucial first

step is finding the mines. In demining, a robot must pass a mine-detecting sensor over all

points in the region that might conceal a mine.

Department of ECE, DSCE Page 2

Page 3: robot motion planning and obstacle avoidance algorithms

Robot Motion Planning and Obstacle Avoidance Algorithms 2012-13

Snake Robots for Urban Search and Rescue

When a robot has many extra degrees of freedom, then it is called hyper-redundant. They

can use their extra degrees of freedom to thread through tightly packed volumes to reach

locations inaccessible to humans and conventional machines. These robots may be

particularly well-suited to urban search and rescue, where it is of paramount importance

to locate survivors in densely packed rubble as quickly and safely as possible.

Digital Actors

Algorithms developed for motion planning or sensor interpretation are not just for robots

anymore. In the entertainment industry, motion planning has found a wide variety of

applications in the generation of motion for digital actors, opening the way to exciting

scenarios in video games, animation, and virtual environments.

Museum Tour Guides

In 1997, a mobile robot named RHINO (figure 1.2) served as a fully autonomous tour-

guide at the Deutsches Museum Bonn. RHINO was able to lead museum visitors from

one exhibit to the next by calculating a path using a stored map of the museum. To deal

with uncertainty and changes in the environment, RHINO employed a sensor-based

planning approach, interleaving sensing, planning, and action.

Figure 1.2: RHINO, the interactive mobile tour-guide robot

Department of ECE, DSCE Page 3

Page 4: robot motion planning and obstacle avoidance algorithms

Robot Motion Planning and Obstacle Avoidance Algorithms 2012-13

2: Concepts in Motion Planning

The characterization of a motion planner is according to the task it addresses, properties

of the robot solving the task, and properties of the algorithm. Table 2.1 discusses some of

these motion planners.

Table 2.1: Various Characterization of Motion Planner

Task Robot Algorithm

Navigate

Map

Cover

Localize

Configuration space, degree of freedom

Kinematic/dynamic

Omnidirectional or motion constraints

Optimal/non optimal motions

Computational complexity

Completeness (resolution, probabilistic)

Online/offline

Sensor-based/world model

2.1 Task

The most important characterization of a motion planner is according to the problem it

solves. Four of the tasks considered are: navigation, coverage, localization, and mapping.

Navigation is the problem of finding a collision-free motion for the robot system from

one configuration (or state) to another. Coverage is the problem of passing a sensor or

tool over all points in a space, such as in demining or painting. Localization is the

problem of using a map to interpret sensor data to determine the configuration of the

robot. Mapping is the problem of exploring and sensing an unknown environment to

construct a representation that is useful for navigation, coverage, or localization.

Localization and mapping can be combined, as in Simultaneous Localization and

Mapping (SLAM).

Department of ECE, DSCE Page 4

Page 5: robot motion planning and obstacle avoidance algorithms

Robot Motion Planning and Obstacle Avoidance Algorithms 2012-13

2.2 Properties of the Robot

The form of an effective motion planner depends heavily on properties of the robot

solving the task. For example, the robot and the environment determine the number of

degrees of freedom of the system and the shape of the configuration space. Once we

understand the robot's configuration space, we can ask if the robot is free to move

instantaneously in any direction in its configuration space (in the absence of obstacles). If

so, we call the robot omnidirectional. If the robot is subject to velocity constraints, such

as a car that cannot translate sideways, both the constraint and the robot are called

nonholonomic. Finally, the robot could be modeled using kinematic equations, with

velocities as controls, or using dynamic equations of motion, with forces as controls.

2.3 Properties of the Algorithm

Once the task and the robot system are defined, we can choose between algorithms based

on how they solve the problem. For example, does the planner find motions that are

optimal in some way, such as in length, execution time, or energy consumption? Or does

it simply find a solution satisfying the constraints? In addition to the quality of the output

of the planner, we can ask questions about the computational complexity of the planner.

Are the memory requirements and running time of the algorithm constant, polynomial, or

exponential in the "size" of the problem description?

Some planners are complete, meaning that they will always find a solution to the motion

planning problem when one exists or indicate failure in finite time. For the motion

planning problem, as the number of degrees of freedom increases, complete solutions

may become computationally intractable. Therefore, we can seek weaker forms of

completeness. One such form is resolution completeness. It means that if a solution exists

at a given resolution of discretization, the planner will find it. Another weaker form of

completeness is probabilistic completeness. It means that the probability of finding a

solution (if one exists) converges to 1 as time goes to infinity.

We say a planner is offline if it constructs the plan in advance, based on a known model

of the environment, and then hands the plan off to an executor. The planner is online if it

incrementally constructs the plan while the robot is executing. In this case, the planner

can be sensor-based, meaning that it interleaves sensing, computation, and action.

Department of ECE, DSCE Page 5

Page 6: robot motion planning and obstacle avoidance algorithms

Robot Motion Planning and Obstacle Avoidance Algorithms 2012-13

2.4 Mathematics in Motion Planning

Throughout this report, robots are assumed to operate in a planar ( 2) or three-

dimensional ( 3) ambient space, sometimes called the workspace ( ). This workspace

will often contain obstacles; let be the ith obstacle. The free workspace is the set of

points where the \ is a subtraction operator and Ui is the union or

summation of all obstacles.

Motion planning, however, does not usually occur in the workspace. Instead, it occurs in

the configuration space (also called C-space), the set of all robot configurations. We

will use the notation R(q) to denote the set of points of the ambient space occupied by the

robot at configuration q. An obstacle in the configuration space corresponds to

configurations of the robot that intersect an obstacle in the workspace, i.e.

. Now we can define the free configuration space as

.

3: Bug Algorithms

The Bug1 and Bug2 algorithms are among the earliest and simplest sensor-based planners

with provable guarantees. These algorithms assume the robot is a point operating in the

Department of ECE, DSCE Page 6

Page 7: robot motion planning and obstacle avoidance algorithms

Robot Motion Planning and Obstacle Avoidance Algorithms 2012-13

plane with a contact sensor or a zero range sensor to detect obstacles. When the robot has

a finite range (nonzero range) sensor, then the Tangent Bug algorithm is a Bug derivative

that can use that sensor information to find shorter paths to the goal. The Bug and Bug-

like algorithms are straightforward to implement; moreover, a simple analysis shows that

their success is guaranteed, when possible.

3.1 Bug1 Algorithm

Perhaps the most straight forward path planning approach is to move toward the goal,

unless an obstacle is encountered, in which case, circumnavigate the obstacle until motion

toward the goal is once again allowable. Essentially, the Bug1 algorithm formalizes the

"common sense" idea of moving toward the goal and going around obstacles. The robot is

assumed to be a point with perfect positioning (no positioning error) with a contact sensor

that can detect an obstacle boundary if the point robot "touches" it. The robot can also

measure the distance d(x, y) between any two points x and y. Finally, assume that the

workspace is bounded. Let Br (x) denote a ball of radius r centered on x, i.e.

. The fact that the workspace is bounded implies that for

all , there exists an r < ∞ such that .

The start and goal are labeled qstart and qgoal, respectively. Let qLO = qstart and the m-line be

the line segment that connects qLi to qgoal. Initially, i = 0. The Bug1 algorithm exhibits two

behaviors: motion-to-goal and boundary-following. During motion-to-goal, the robot

moves along the m-line toward qgoal until it either encounters the goal or an obstacle. If the

robot encounters an obstacle, let qH1 be the point where the robot first encounters an

obstacle and call this point a hit point. The robot then circumnavigates the obstacle until it

returns to qH1. Then, the robot determines the closest point to the goal on the perimeter of

the obstacle and traverses to this point. This point is called a leave point and is labeled

qL1. From qL

1, the robot heads straight toward the goal again, i.e., it reinvokes the motion-

to-goal behavior. If the line that connects qL1 and the goal intersects the current obstacle,

then there is no path to the goal; note that this intersection would occur immediately

"after" leaving qL1.

Otherwise, the index i is incremented and this procedure is then repeated for qLi and qH

i

until the goal is reached or the planner determines that the robot cannot reach the goal

Department of ECE, DSCE Page 7

Page 8: robot motion planning and obstacle avoidance algorithms

Robot Motion Planning and Obstacle Avoidance Algorithms 2012-13

(figures 3.1, 3.2). Finally, if the line to the goal "grazes" an obstacle, the robot need not

invoke a boundary following behavior, but rather continues onward toward the goal.

Figure 3.1: The Bug1 algorithm successfully finds the goal.

Figure 3.2: The Bug1 algorithm reports the goal is unreachable.

3.2 BUG2 ALGORITHM

Like its Bug1 sibling, the Bug2 algorithm exhibits two behaviors: motion-to-goal and

boundary-following. During motion-to-goal, the robot moves toward the goal on the m-

line; however, in Bug2 the m-line connects qstart and qgoal, and thus remains fixed. The

boundary-following behavior is invoked if the robot encounters an obstacle, but this

Department of ECE, DSCE Page 8

Page 9: robot motion planning and obstacle avoidance algorithms

Robot Motion Planning and Obstacle Avoidance Algorithms 2012-13

behavior is different from that of Bug1. For Bug2, the robot circumnavigates the obstacle

until it reaches a new point on the m-line closer to the goal than the initial point of contact

with the obstacle. At this time, the robot proceeds toward the goal, repeating this process

if it encounters an object. If the robot re-encounters the original departure point from the

m-line, then there is no path to the goal (figures 3.3, 3.4). Let be the

current position of the robot, i = 1, and qLO be the start location.

Figure 3.3: (Top) The Bug2 algorithm finds a path to the goal. (Bottom) The Bug2 algorithm reports failure.

Department of ECE, DSCE Page 9

Page 10: robot motion planning and obstacle avoidance algorithms

Robot Motion Planning and Obstacle Avoidance Algorithms 2012-13

Figure 3.4: Bug2 Algorithm.

At first glance, it seems that Bug2 is a more effective algorithm than Bug1 because the

robot does not have to entirely circumnavigate the obstacles; however, this is not always

the case. This can be seen by comparing the lengths of the paths found by the two

algorithms. For Bug1, when the ith obstacle is encountered, the robot completely

circumnavigates the boundary, and then returns to the leave point. In the worst case, the

robot must traverse half the perimeter, pi, of the obstacle to reach this leave point.

For Bug2, the path length is a bit more complicated. Suppose that the line through qstart

and qgoal intersects the ith obstacle ni times. Then, there are at most ni leave points for this

obstacle, since the robot may only leave the obstacle when it returns to a point on this

line. It is easy to see that half of these intersection points are not valid leave points

because they lie on the "wrong side" of the obstacle, i.e., moving toward the goal would

cause a collision. In the worst case, the robot will traverse nearly the entire perimeter of

the obstacle for each leave point. For each obstacle that it encounters, Bug1 performs an

exhaustive search to find the optimal leave point. In contrast, Bug2 uses an opportunistic

approach. When Bug2 finds a leave point that is better than any it has seen before, it

commits to that leave point. Such an algorithm is also called greedy, since it opts for the

first promising option that is found. When the obstacles are simple, the greedy approach

of Bug2 gives a quick payoff, but when the obstacles are complex, the more conservative

approach of Bug1 often yields better performance.

Department of ECE, DSCE Page 10

Page 11: robot motion planning and obstacle avoidance algorithms

Robot Motion Planning and Obstacle Avoidance Algorithms 2012-13

4: Potential Functions

We have seen that the Bug algorithms maneuver through free space without constructing

the configuration space, but the Bug algorithms are limited to simple two-dimensional

configuration spaces. Potential Functions introduces navigation planners that apply to a

richer class of robots and produce a greater variety of paths than the Bug methods, i.e.,

they apply to a more general class of configuration spaces, including those that are

multidimensional and non-Euclidean.

A potential function is a differentiable real-valued function . The value of a

potential function can be viewed as energy and hence the gradient of the potential is

force. The gradient is a vector

which points in the direction that locally maximally increases U. We use the gradient to

define a vector field, which assigns a vector to each point on a manifold. A gradient

vector field, as its name suggests, assigns the gradient of some function to each point.

When U is energy, the gradient vector field has the property that work done along any

closed path is zero.The potential function approach directs a robot as if it were a particle

moving in a gradient vector field. Gradients can be intuitively viewed as forces acting on

a positively charged particle robot which is attracted to the negatively charged goal.

Obstacles also have a positive charge which forms a repulsive force directing the robot

away from obstacles. The combination of repulsive and attractive forces hopefully directs

the robot from the start location to the goal location while avoiding obstacles (figure 4.1).

Figure 4.1: The negative charge attracts the robot and the positive charge repels it,

resulting in a path, denoted by the dashed line, around the obstacle and to the goal.

Department of ECE, DSCE Page 11

Page 12: robot motion planning and obstacle avoidance algorithms

Robot Motion Planning and Obstacle Avoidance Algorithms 2012-13

Potential functions can be viewed as a landscape where the robots move from a "high-

value" state to a "low-value" state. The robot follows a path "downhill" by following the

negated gradient of the potential function. Following such a path is called gradient

descent, i.e.

The robot terminates motion when it reaches a point where the gradient vanishes, i.e., it

has reached a q* where ∇U (q*) = 0. Such a point q* is called a critical point of U. The

point q* is either a maximum or a minimum, or a saddle point (figure 4.2). One can look

at the second derivative to determine the type of critical point. For real-valued functions,

this second derivative is the Hessian matrix.

Figure 4.2: Different types of critical points: (Top) Graphs of functions. (Bottom)

Gradients of functions.

For gradient descent methods, we do not have to compute the Hessian because the robot

generically terminates its motion at a local minimum, not at a local maximum or a saddle

point. Since gradient descent decreases U, the robot cannot arrive at a local maximum,

unless of course the robot starts at a maximum. Since we assume that the function is

Department of ECE, DSCE Page 12

Page 13: robot motion planning and obstacle avoidance algorithms

Robot Motion Planning and Obstacle Avoidance Algorithms 2012-13

never flat, the set of maxima contains just isolated points, and the likelihood of starting at

one is practically zero. However, even if the robot starts at a maximum, any perturbation

of the robot position frees the robot, allowing the gradient vector field to induce motion

onto the robot. Arriving at a saddle point is also unlikely, because they are unstable as

well. Local minima, on the other hand, are stable because after any perturbation from a

minimum, gradient descent returns the robot to the minimum. Therefore, the only critical

point where the robot can generically terminate is a local minimum. Hopefully this is

where the goal is located. See figure 4.3 for an example of a configuration space with its

corresponding potential function, along with its energy surface landscape and gradient

vector field.

Figure 4.3: (a) A configuration space with three circular obstacles bounded by a circle. (b) Potential function energy surface. (c) Contour plot for energy surface. (d) Gradient vectors for potential function.

There are many potential functions other than the attractive/repulsive potential. Many of

these potential functions are efficient to compute and can be computed online.

Unfortunately, they all suffer one problem—the existence of local minima not

corresponding to the goal. This problem means that potential functions may lead the robot

to a point which is not the goal; in other words, many potential functions do not lead to

complete path planners. Two classes of approaches address this problem: the first class

augments the potential field with a search-based planner, and the second defines a

potential function with one local minimum, called a navigation function. Although

complete (or resolution complete), both methods require full knowledge of the

configuration space prior to the planning event.

4.1 Local Minima Problem

The problem that plagues all gradient descent algorithms is the possible existence of local

minima in the potential field. There is no guarantee that gradient descent will find a path

to qgoal. In figure 4.4, the robot is initially attracted to the goal as it approaches the

Department of ECE, DSCE Page 13

Page 14: robot motion planning and obstacle avoidance algorithms

Robot Motion Planning and Obstacle Avoidance Algorithms 2012-13

horseshoe-shaped obstacle. The goal continues to attract the robot, but the bottom arm of

the obstacle deflects the robot upward until the top arm of the horseshoe begins to

influence the robot. At this point, the effect of the top and bottom arms keeps the robot

halfway between them and the goal continues to attract the robot. The robot reaches a

point where the effect of the obstacle's base counteracts the attraction of the goal. In other

words, the robot has reached a q* where ∇U (q*) = 0 and q* is not the goal. Note this

problem is not limited to concave obstacles as can be seen in figure 4.5. Local minima

present a significant drawback to the attractive/repulsive approach, and thus the

attractive/repulsive technique is not complete.

Figure 4.4: Local minimum inside the concavity. The robot moves into the concavity until the repulsive gradient balances out the attractive gradient.

Figure 4.5: Local minimum without concave obstacles. The robot moves away from the two convex obstacles until it reaches a point where the gradient vanishes; at this point, the sum of the attractive gradient and the repulsive gradient is zero.

Barraquand and Latombe developed search techniques other than gradient descent to

overcome the problem of local minima present when planning with potential functions.

Department of ECE, DSCE Page 14

Page 15: robot motion planning and obstacle avoidance algorithms

Robot Motion Planning and Obstacle Avoidance Algorithms 2012-13

Their planner, the Randomized Path Planner (RPP), followed the negative gradient of the

specified potential function and when stuck at a local minimum, it initiated a series of

random walks. Often the random walks allowed RPP to escape the local minimum and in

that case, the negative gradient to the goal was followed again.

5: OBSTACLE AVOIDANCE ALGORITHM

Department of ECE, DSCE Page 15

Page 16: robot motion planning and obstacle avoidance algorithms

Robot Motion Planning and Obstacle Avoidance Algorithms 2012-13

5.1 The Vector Field Histogram

The Vector Field Histogram (VFH) method, introduced by Borenstein and Korem, is a

real-time obstacle avoidance method that permits the detection of unknown obstacles and

avoids collisions while simultaneously steering the mobile robot towards the target. The

VFH method uses a two-dimensional Cartesian histogram grid as a world model. This

world model is updated continuously with range data sampled by on-board range sensors.

The VFH method subsequently employs a two-stage data-reduction process in order to

compute the desired control commands for the vehicle. In the first stage, a constant size

subset of the 2D histogram grid considered around the robot’s momentary location is

reduced to a one-dimensional polar histogram. Each sector in the polar histogram

contains a value representing the polar obstacle density in that direction. In the second

stage, the algorithm selects the most suitable sector from among all polar histogram

sectors with a low polar obstacle density, and the steering of the robot is aligned with that

direction.

The three main steps of implementation of the VFH method are as below:

Step 1 of VHF

Step 1 of VHF generates a 2D Cartesian coordinate from each range sensor measurement

and increments that position in a 2D Cartesian histogram grid map C. The construction of

this grid maps does not depend on the specific sensor used for obstacle detection, in

particular ultrasound and laser range sensors may be used.

For ultrasound sensors and for each range reading, the cell that lies on the acoustic axis

and corresponds to the measured distance d is incremented (Figure 5.1) increasing the

certainty value (CV) of the occupancy of that cell. This is the Histogrammic in Motion

Mapping (HIMM) algorithm.

Figure 5.1 illustrates the cells certainty value update along the movement of a robot

equipped with ultrasonic sensors. It is clear that, for each range reading, only one cell is

updated. The HIMM provides a histogramic pseudo-probability distribution by

continuous and rapid sampling the sensors while the robot is moving.

Department of ECE, DSCE Page 16

Page 17: robot motion planning and obstacle avoidance algorithms

Robot Motion Planning and Obstacle Avoidance Algorithms 2012-13

Figure 5.1: Construction of the 2D Histogram grid map.

Step 2 of VHF

The next step of VFH, maps the 2D Cartesian histogram grid map C onto a 1D structure.

To preserve and isolate the information about the local obstacle information rather than

using the entire grid map C, the 2D grid used in this step is restricted to a window of C,

called the active window, denoted by C_, with constant dimensions, centered on the

Vehicle Central Point (VCP) and that, consequently, moves with the robot. C_ represents

a local map of the environment around the robot.

Figure 5.2: Mapping of active cells onto the polar histogram.

The active grid C_ is mapped onto a 1D structure known as a polar histogram, H, that

comprises n angular sections each with width _. Figure 5.2 illustrates the cell occupancy

Department of ECE, DSCE Page 17

Page 18: robot motion planning and obstacle avoidance algorithms

Robot Motion Planning and Obstacle Avoidance Algorithms 2012-13

of C_, the active window around the robot, and represents the angular sectors considered

for the evaluation of the 1D polar histograms.

Figure 5.3: a) 1D polar histogram of obstacle occupancy around the robot. b) Polar histogram shown in polar form overlapped with C_.

The x-axis of the polar histogram represents the angular sector where the obstacles were

found and the y-axis represents the probability P that there is really an obstacle in that

direction based on the occupancy grid’s cell values of C_. Figure 5.3-a) represents the 1D

polar histogram with obstacle density for a situation where the robot has three obstacles,

A, B and C in its close vicinity. In Figure 5.3 b) the previously obtained 1D histogram is

shown in polar form overlapped with the referred obstacles.

Step 3 of VHF

The step 3 of VFH evaluates the required steering direction for the robot that corresponds

to a given sector of the 1D histogram and, simultaneously, adapts the robot velocity

according to the obstacle polar density. A typical polar histogram contains “peaks” or

sectors with a high polar density and “valleys”, i.e., sectors with low polar density. To

evaluate the steering direction towards the target goal, all openings, i.e., valleys large

enough for the vehicle to pass through are identified as candidate valleys. Valleys are

classified as wide or narrow according to the number of sectors below the threshold. If the

number of consecutive sectors below the threshold is greater than Smax the valley is wide,

while it is classified as narrow if that number is less than Smax. The parameter Smax is set

according to the robot dimensions and kinematic constraints. From the set of wide

valleys, VHF chooses the one that minimizes a cost function that accounts for:

• The alignment of the robot to the target,

• The difference between the robot current direction and the goal direction,

Department of ECE, DSCE Page 18

Page 19: robot motion planning and obstacle avoidance algorithms

Robot Motion Planning and Obstacle Avoidance Algorithms 2012-13

• The difference between the robots previously selected direction and the new robot

direction.

If the threshold is set too high, the robot may be too close to an obstacle, and moving too

quickly in order to prevent a collision. On the other hand, if set too low, VHF can miss

some valid candidate valleys. The VHF needs a fine-tuned threshold only for the most

challenging applications, for example, travel at high speed and in densely cluttered

environments. Under less demanding conditions the system performs well even with an

imprecisely set threshold. One way to optimize performance is to use an adaptive

threshold. Besides the robot steering direction, the VFH also sets the robot speed

according to the obstacle polar density.

5.2 Advantages and Drawbacks

The Vector Field Histogram overcomes some of the limitations exhibited by the potential

field methods. In fact, the influence of bad sensor measurements is minimized because

sensorial data is averaged out onto an histogram grid that is further processed. Moreover,

instability in travelling down a corridor, present when using the potential field method, is

eliminated because the polar histogram varies only slightly between sonar readings. In the

VFH there are no repulsive or attractive forces and thus the robot cannot be trapped in

local minima, because VFH only tries to drive the robot through the best possible valley,

regardless if it leads away from the target.

Department of ECE, DSCE Page 19

Page 20: robot motion planning and obstacle avoidance algorithms

Robot Motion Planning and Obstacle Avoidance Algorithms 2012-13

6: Conclusion

Today path planning for few degree of freedom (dof) robots is quasi-instantaneous even

in large and complex environments encountered in practical problems. Within a few years

this will also be true for many dof robots including animated figures such as virtual

characters modeled with several dozen dofs or more using randomized planning. This

trend will encompass more complex planning problems like optimal planning with

kinematic and dynamic constraints and planning with deformable robots and obstacles to

which Probability Roadmap Method planning has been shown to extend well.

As several forms of motion planning turn real-time, the role of planning in integrated

systems will change from a costly resource that should be rarely invoked to a cheap

commodity that can be called at will. Randomized planning will make motion planning

less dependent on the number of dofs than on the geometric complexity of the

environment. However progress in enabling technologies like specific hardware to

perform distance computation operations and to maintain dynamic data structures should

make it possible to handle robots and environments described by hundreds of millions of

polygons.

Motion planning applications will grow considerably. CAD-based robot programming

systems will include planners to compute quasi-optimal motions of robots and to optimize

robot layouts. CAD systems will include planners to verify that products or building

facilities can be easily manufactured or built and serviced. In video games character

motions will be recomputed on the fly to adapt to user inputs allowing new forms of

games to be created. More generally, video games, movies, animated webpages and

interfaces will converge with motion planning and motion capture used jointly to produce

rich interactive animation of virtual characters. Motion planners will help surgeons plan

for minimally-invasive operations. Software packages to assist biochemists in the

discovery of new drugs will include motion planners to compute plausible motions of

ligands binding against proteins. Simultaneously new motion planning problems will be

investigated. For instance reconfigurable robots made up of thousands of modules will

require planners to compute their reconfiguration motions; today this problem is mostly

open. Robots equipped with sensors to collect information will need planners to decide

which are the most efficient motions to obtain pertinent information. Minimizing surgical

invasiveness will require planners that reason about the deformations of soft tissues

caused by the motions of surgical tools. It is almost certain that the basic path planning

Department of ECE, DSCE Page 20

Page 21: robot motion planning and obstacle avoidance algorithms

Robot Motion Planning and Obstacle Avoidance Algorithms 2012-13

problem which has been the focus of the research in motion planning for more than two

decades will soon lose this status. No other problem however seems basic enough to play

the same role in the future.

Department of ECE, DSCE Page 21

Page 22: robot motion planning and obstacle avoidance algorithms

Robot Motion Planning and Obstacle Avoidance Algorithms 2012-13

7: References

[1] Principles of Robot Motion-Theory, Algorithms, and Implementation-Howie

Choset, Kevin Lynch, Seth Hutchinson, George Kantor, Wolfram Burgard, Lydia

Kavraki, Sebastian Thrun. © 2005 Massachusetts Institute of Technology

[2] Robot Motion Planning, Latombe J.C., Kluwer Academic Pub, Boston, MA.

[3] Practical Motion Planning in Robotics Current Approaches and Future

Directions, Gupta_ K and del Pobil A. (eds.) 1998, John Wiley, West Sussex, England.

[4] Obstacle Avoidance, Maria Isabel Ribeiro, 3rd November 2005

[5] Motion Planning A Journey of Robots, Molecules, Digital Actors and Other

Artifacts, Jean Claude Latombe, Stanford University, Stanford, CA, USA, July 1, 1999

Department of ECE, DSCE Page 22