You are on page 1of 13

Obstacle Avoidance (Local Path Planning)

• The goal of the obstacle avoidance algorithms is to avoid collisions


with obstacles
• It is usually based on local map
• Often implemented as a more or less independent task
• However, efficient obstacle avoidance
should be optimal with respect to

know
¾ overall goal

n obs
¾ actual speed and kinematics of the robot

v(t),

tacle
¾ on-board sensors rved

ω(t)
bs e

s (ma
o
¾ actual and future risk of collision obst
acle

Plan

p)
ed p
• Example: Alice

ath
Obstacle Avoidance: Bug1
• Following along the obstacle to avoid it
• Each encountered obstacle is once fully circled before it is left at the
point closest to the goal
Obstacle Avoidance: Bug2
¾ Following the obstacle always on the left or right side
¾ Leaving the obstacle if the direct connection between
start and goal is crossed
¾ Robot’s behavior really depends on its most recent
sensor readings, what if noise of sensor readings?
Obstacle Avoidance: Vector Field Histogram (VFH)
Borenstein et al.
• Environment represented in a grid (2 DOF)
¾ cell values equivalent to the probability that there is an obstacle
• Reduction in different steps to a 1 DOF histogram
¾ calculation of steering direction
¾ all openings for the robot to pass are found
¾ the one with lowest cost function G is selected
Obstacle Avoidance: Vector Field Histogram + (VFH+)
Borenstein et al.

• Accounts also in a very simplified way


for the moving trajectories (dynamics)
¾ robot moving on arcs due to the
kinematic limitation
¾ obstacles blocking a given
direction also blocks all the
trajectories (arcs) going through
this direction
¾ Local minimum might not be
avoided
¾ Reaching of the goal can not be
guaranteed
¾ Dynamics of the robot not really
considered
Obstacle Avoidance: The Bubble Band Concept
Khatib and Chatila
• Bubble = maximum local subset of the free space around a given
configuration of the robot which can be traveled in any direction
without any risk of collision
¾ generated using the distance to the object and a simplified model of the
robot
¾ bubbles are used to form a band of bubbles which connects the start
point with the goal point
¾ The environment configuration has to be known
Obstacle Avoidance: Basic Curvature Velocity Methods (CVM)
Simmons et al.
• Adding physical constraints from the robot and the environment on the
velocity space (v, ω) of the robot
¾ Assumed that robot is traveling on arcs (c= ω / v)
¾ Acceleration constraints:
¾ Obstacle constraints: Obstacles are transformed in velocity space
¾ Objective function to select the optimal speed
Obstacle Avoidance: Lane Curvature Velocity Methods (CVM)
Simmons et al.
• The basic CVM had difficulty guiding the robot through intersections
of corridors
• Improvement of basic CVM
¾ Not only arcs are considered
¾ lanes are calculated trading off lane length and width to the closest
obstacles
¾ Lane with best properties is chosen using an objective function

• Note:
¾ Better performance to pass narrow areas (e.g. doors)
¾ Problem with local minima persists
Obstacle Avoidance: Dynamic Window Approach
Fox and Burgard, Brock and Khatib
• The kinematics of the robot is considered by searching a well chosen velocity space
¾ velocity space -> some sort of configuration space
¾ robot is assumed to move on arcs
¾ ensures that the robot comes to stop before hitting an obstacle
¾ objective function is chosen to select the optimal velocity
Obstacle Avoidance: Global Dynamic Window Approach
• Global approach:
¾ This is done by adding a minima-free function named NF1 (wave-
propagation) to the objective function O presented above.
¾ Occupancy grid is updated from range measurements
¾ The width of the region is enlarged and recalculated if the goal cannot
be reached within the constraints of this chosen region
Obstacle Avoidance: The Schlegel Approach
• Some sort of a variation of the dynamic window approach
¾ takes into account the shape of the robot
¾ Cartesian grid and motion of circular arcs
¾ NF1 planner
¾ real time performance achieved
by use of precalculated table
Obstacle Avoidance: The EPFL-ASL approach
• Dynamic window approach with global path planing
¾ Global path generated in advance
¾ Path adapted if obstacles are encountered
¾ dynamic window considering also the shape of the robot
¾ real-time because only max speed is calculated
• Selection (Objective) Function:
Max (a ⋅ speed + b ⋅ dist + c ⋅ goal _ heading )

¾ speed = v / vmax
¾ dist = L / Lmax
¾ goal_heading = 1- (α - ωT) / π
α
Intermediate goal
Obstacle Avoidance: Other approaches

• Behavior based
¾ difficult to introduce a precise task
¾ reachability of goal not provable

• Fuzzy, Neuro-Fuzzy
¾ learning required
¾ difficult to generalize

You might also like