0% found this document useful (0 votes)
59 views

Obstacle Avoidance: Local Map Independent Task

The document discusses various obstacle avoidance algorithms for mobile robots. It describes approaches such as Bug1, Bug2, Vector Field Histogram (VFH), Dynamic Window Approach, and the EPFL-ASL approach. Most algorithms represent the environment as a grid and select velocities that avoid collisions while optimizing for goals like speed and heading toward the target location. Global approaches also consider reachability of the goal.

Uploaded by

jack2423
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
59 views

Obstacle Avoidance: Local Map Independent Task

The document discusses various obstacle avoidance algorithms for mobile robots. It describes approaches such as Bug1, Bug2, Vector Field Histogram (VFH), Dynamic Window Approach, and the EPFL-ASL approach. Most algorithms represent the environment as a grid and select velocities that avoid collisions while optimizing for goals like speed and heading toward the target location. Global approaches also consider reachability of the goal.

Uploaded by

jack2423
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 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